Tuesday, April 10, 2012

Scala - Memory Management

Since Scala runs on Java Virtual Machine, JVM’s garbage collect is responsible of clearing up Scala program’s memory when it becomes obsolete. At this note, we can say that Scala’s memory management schema is relatively the same as Java. Every time an object is instantiated at run-time, Scala reserves some memory to hold the objects states; which includes its variables. Memory leak is also being prevented from JVM’s run-time environment.
However, on a side note, since Scala comes with many powerful built-in functions (such as filter, mapping), developer might be using more memory that they needed. These functions often generates new objects which many costing additional memory usage. 

Monday, April 9, 2012

Scala - Objects

Now that we know something about Scala’s built-in type, let’s look at its objects. Objects in Scala are created in classes. Classes are like the skeleton to objects. As a companion to classes, singleton objects can be declared using the keyword ‘objects’. When a class and an object share the same name, they are companions to each other. In addition, they are able share each other’s member, including private members. Objects can be declared as ‘Traits’ in Scala as an alternative. ‘Traits’ is very similar to Java’s interface, however ‘traits’ can be implements solely.

Different from Java’s interface, traits can be ‘mix-in’ with other traits and classes when constructing methods. 

Sunday, April 8, 2012

Amazon Lockers - On site!

So, finally we drove down to Seattle, and arrived at the locker last Friday.

This is the screen in the middle of the lockers, where you input your pick-up code indicated in the pick-up confirmation email.

After the code is validated, locker number will be displayed in screen and that locker will pop open automatically. 

Yay, nice and smooth!

I would say it was definitely a great experience shipping to purchases to an Amazon locker. I am very glad that the timing worked out perfectly as it was my biggest concern at the beginning. 

Thursday, April 5, 2012

Poster Design - Final

Our idea is to promote a newly opened skateboard park in the city since project topic is Community. (Completely fictional!)
So after hours photoshopping, we had the final product!

After presentation, we had feedbacks on the figure not being 'rough' enough. Which I agree in my opinion. 
I love the typography and the hierarchy relationship among them. 
After all, it was a great experience in the process of making this project. 

Wednesday, April 4, 2012

Amazon Lockers - Delivery

Good news! my package is already delivered to the locker this morning!
I have been tracking my shipment, and as soon as its delivered, I received an email regarding the pick up information.
In the email there are:
  • Locker address and hours
  • Locker location details (mine is indicated to be in a packade, on level P2)
  • My locker pickup code 
  • A deadline before the package gets returned

The deadline was my biggest concern, I am glad that I have 5 days to pick up my package before it gets returned to Amazon.

Here are some time stamps so far:
Order placed on: March 29 (Thursday) around 2pm
Order shipped on:  April 2 (Monday) around 9am
Estimated delivery: April 4 (Wednesday)
Package delivered on: April 4 (Wednesday) around 11am
Last date to pick-up: April 9 (Monday) till location closes

Great! Can't wait to drive down to the states this weekend!

Read my previous posts about Amazon Lockers:

Tuesday, April 3, 2012

Scala - Type System

Scala inherited all built-in types from Java, such as String, Int, Char, Boolean. 
In fact, only a few new built-in data types are introduced. For instance, Scala’s Boolean type corresponds to Java’s Boolean type class. 
One interesting data type is ‘unit’. ‘Unit’ basically means nothing specially. If a function has a return value in type ‘unit’, it indicates that it is returning nothing, like the ‘void’ type in Java. Scala’s compiler is able to convert any return type to be a ‘unit’, to avoid this from happening, an equal sign ‘=’ should always be inserted after the function is declared. When any data type is converted to a ‘unit’ by the complier, its value will be lost. 
In the book Programming Scala, Dean Wampler states that “Scala allows you to decide whether a variable is immutable (read-only) or not (read-write) when you declare it.” 
Therefore, types do not need to be declared for neither immuatables nor mutables data; Scala is able to figure out which type in run- time. 

Monday, April 2, 2012

Amazon Lockers - Ordering

Ordering process is pretty much the same as how you would order item to your house.

During check out, just select the desire locker in the "Alternative Delivery Addresses"area:
 It should be listed right below your own Address Book.

There are 3 shipping options:

  1. Standard Locker Delivery
    • Free
    • 3-5 Business Days
  2. Two-Day Locker Delivery
    • Shipping Fee required depending on the number of items. 
  3. One-Day Locker Delivery
    • Shipping Fee required depending on the number of items

I went with the Standard Locker Delivery since I won't be down to the states till this Friday. 

Out of curiosity, I switched my shipping method to the Two-day and the shipping fee went from free to  ~$11, for two camera lens that worth ~$200. 

Mystery solved, then I switched back to the Standard.   I really hope Amazon can be more clear on the shipping cost, maybe displaying the cost when showing the different shipping options. 

Here are some time stamps so far:
Order placed on: March 29 (Thursday) around 2pm
Order shipped on:  April 2 (Monday) around 9am

It took them 2 days to ship my package out, which was completely acceptable and accurate since it clearly indicated that one of my item will need 1-2 days to process before I placed order. 

Hopefully my package will be there this weekend! Fingers crossed! 

Saturday, March 31, 2012

Amazon Lockers! - Selecting Lockers

Me and my boyfriend planned a trip to US next week, since we have some items we want to get from Amazon.com, we decided to try out the new Amazon Locker Delivery service.

The basic idea is that Amazon will delivery to one of listed the lockers available in your area and keep the items there and provide you with a passcode to the locker for pick up.

First of all, you need to add a locker to your address book.
These are the steps provided by Amazon:   

Add an Amazon Locker location through Your Account:

  1. Go to Manage Address Book in Your Account
  2. Click the Search for a Locker location button
  3. Search by zip code, address, or landmark when prompted to select an address
  4. Click Select to add the location to your Address Book

Frankly, I tried to navigate to "Manage Adress Book" and can not locate the "Search for a Locker" option.  But using the link  Search for a Locker it bring me to the right place. 

You should be able to see this: 

After entering some criteria, a list of nearby lockers are shown.

All you have to do is to select the locker(s) you want, and they will be added to your address book.

Now you should be all set and ready to check out the items!

However there questions came immediately in my mind is how long can the item be kept there for? or since we are only going to be staying in the states over the weekend, it is possible that the item fail to be delivered between the time frame for us.

I will go over my check out experience in the next post.

Friday, March 30, 2012

Saul Bass Inspired Fonts

For my final graphic design project, we need to choose a famous graphic designer and 'remake' their design elements in their work. 
My group chose Saul Bass from the New York School. Saul Bass created many notable posters from the 50's till 90's. He is famous for the bold colors and playful fonts. 

As a study, I went over the free font libraries (like dafont.com) and found some potential fonts that we could use for the Saul Bass poster. 

Thursday, March 15, 2012

Poster Design

For the final project, we are asked to create an 'inspired' poster design from a list of designers. 
With a team of three, we chose Saul Bass as our source of inspiration. 
Above is the first draft individual work, I basically recreated Saul Bass's Bunny Lake poster:

My design was not adopted into the final design, since we dont want to replicate a certain design but to recreate it. 

Saturday, March 10, 2012

Window 7 Phone UI

Windows phone's UI design is fresh, remarkable and sure got a big leap from its previous windows mobile design.

If you have forgotten, here is the UI of a Windows system mobile phone back in 2007. 
It was slow, poor UX design. Therefore, it did not turn into something big.

So here is the new completely redesigned Windows phone.

clean and modern.

Thursday, March 8, 2012

2-Spread Magazine Design

For the past week, I have been working on a magazine spread project.
This is the first time for me to use InDesign and I fall in love with this software already.
Adobe did a very good job on understanding the needs in the magazine/publishing industry and as the same time making InDesign user friendly.

Things I like about my design:
  • The left and right symmetry creates stronge composition.
  • White space on the second spread creates gaps and made the design less clutter.
  • Consistance in color between text and photo
Thing I would like to improve on:
  • Paragraphs/sections are not clarity defined.
  • Photo in the middle of the second spread runs into the center margin.

Tuesday, March 6, 2012

Random Thoughts: Why I like SWISS

This is an small research assignment I did for my Graphic Design course.
I made a brief summarization on why I like Swiss Graphic Design/Designers:

Why I like SWISS:

Swiss style gets the message across using simple graphics and typographies in clarity. The asymmetrical composition creates strong and dynamic visualization. Out of all things, I like Swiss’s emphasis on typography over photography. Photographs are usually transparent or symbolic in Swiss Designs, which I found aesthetic.

In particular, my favourite Swiss Designers are Max Huber, and Massimo Vignelli.

Monday, March 5, 2012

Grid System

Grid is a great aid in graphic design. It creates guidelines for contents. Max Bill which is mentioned in my last post is one of the early graphic designer from Swiss School influenced the idea of Grid.

Grid divides a page into columns and rows. Using left or right alignments on text block, designer apply contents on to the grids to create well structured layout.

The image is an example of poster design with grid system applied. (5 columns and 7 rows, source: wikipedia)

Sunday, March 4, 2012

Swiss School Designer - Max Bill

Swiss Style as know as the International Typography Style developed in the 1950's in Swiss has great impact to modern graphic designs.

Max Bill as one of the Swiss Style designer has many groundbreaking graphic designs in his days.

Swiss is known for its use of grid, San Serif fonts and bold colors.

Friday, March 2, 2012

BlackBerry Playbook 2

Research in Motion has recently announced their second generation of Playbook tablet.

This device is reported to be more robust with the new OS, more sociable with the new emailing function on top of BlackBerry Bridge, and more entertaining with the enhanced multitasking handler.

Sunday, February 26, 2012

How to Take Great Panoramas Using Your iPhone

1. Get the 360 panorama app. link

or Photosynth by Microsoft. link (this one gives true 360 control, but harder for to make horizontal panoramas in my experiences)

2. Find a Scene. look for some breathtaking landscapes around you.
I often like taking panoramas from these elements: sunset, crowds (ie. beach, concerts, campus...), oceans/lakes, architectures...

3. Compositions
Dont forget about the rules like the rule of thirds, balances...
If you forgot about all that from your first year design course or never heard about them.. here is the wiki page on composition techniques: link
or just go with your instincts!

4. Steady hands! and be quick!
Especially if people or animal are in the shot, you need to act fast before those objects move away.
Here is a tip on how to hold your iphone: Think of yourself as the center of a clock, and your arms joint together like one of the clock hands which rotates. Try not to shift your body from moving left or right, rotate your body and follow your arms instead.
Steady hands comes from experience and confidence!! practice and practice!

5. Natural Lighting
iPhone's might not be the best in class for taking low-light photos, therefore it making shooting panoramas at night extramly hard, or sometimes, impossible.
The light you will get on your left side is not always be the same on your right side. Since iphone is too smart to adjust the camera brightness accordingly, it often screws up your panoramas.
Plus, the more light you get, the faster the shot will process. Hooray, un-steady hands can be excused! :)

6. Crop and edit.
Last but not least, take your panorama to a photo editing app for the final touches.
my all time favourite is got to be: Camera+ link
Trust me, it makes huge difference!
Here is a 'before & after' of my beautiful campus. :)

Hope some of you out there will find this helpful.
For more panoramas taken by me, even from all the way back when I was just new to this. Check here: link

Thursday, February 23, 2012

Scala - Scalability

The name Scala comes from the word scalable, as the name suggests, Scala is meant to have great scalabilities. 
Scala is able to construct very simple codes/functions that has powerful functionality. The codes are very usable, due to its strict typing system (I will be expanding on the typing system in the next section). It is also very easy to adopt existing components and libraries. 

Sunday, February 19, 2012


Helvetica has been popular for almost 50 years. It is everyday, and in fact it is something we take it for granted.

Why there is so much love about Helvetica? Why is it 'the font' when it comes to graphic design? Who started all this?

The film 'Helvetica' had all these questions answered.

Tuesday, February 14, 2012

steps to a better CSS stylist

When styling a web page, CSS file will always end up like a mess. things get out of control pretty fast.

There is ways to improve your CSS!

The most simple way is to adopt a framework, like the blueprint framework.
It provides library like grids and forms that comes in handy. It shortens the time as well!

Also, we can continue the best practices in coding onto styling CSS. Comment lines and maintain consistence in naming in your HTML elements. Try sharing properties with elements as much as you can to avoid writing duplications that will lead to potential conflicts in the future.

Sunday, February 12, 2012

Scala - The Programming Language

Object-oriented programming language treats every value as an object in a program. Scala allows developer to implement objects and classes just as Java. In Scala, semi-columns are always optional. This alternation of the semi- column made OO language cleaner and more concise. However, if statements are presented in a single line, semi-columns are required to separate them.

One interesting feature in Scala’s object-oriented paradigm is the trait, which I will cover briefly later.

As mentioned previously, Scala is not only object-oriented, but also functional. Being functional, it provides developers the option of both immutable and mutable data types. Scala leaves the decision to the developers to declare. Scala comes with a shell interpreter just like other functional languages like Haskell. An interpreter made testing small functions and quick evaluation easy. All the foundation of functional program is preserved in Scala, such as First- Class values. This means we can pass functions as an argument to other functions. Functions can be defined inside a function just like Haskell.

Wednesday, February 8, 2012


Sunset Downtown Vancouver
iPhone 4S
app used: Camera+

Nowadays, smart phones have made taking photos easy. Almost all smart phones are equipped with high-resolution cameras. Better yet, applications that makes your photos more breath-taking.

iphoneography is the new emerging trend in photography. It proved that we don't need an expensive DSLR to take amazing photos.

Snow at SFU
iPhone 4S
app used: instagram

Monday, February 6, 2012

Logo - PART II

In my last blog, I have briefly talked about what is the first step for a logo design.

Once I selected a handful of typefaces that I think are suitable for my company, I would go into brainstorming about combining icons, symbols and company's identity with the typefaces.

In this step, it is important to think about that are the denotations and more importantly the connotations that you would like your design to convey. Choice of colours are very powerful in revealing connotations. Different color scheme provides different connotation.

Wikipedia has a very good description on Color Scheme.
Adobe Kuler is a cool website that rates user submitted color combinations.

Monday, January 23, 2012

Logo - PART I

Logo is the best medium for companies, organizations to state their identity.
We can denotate and connotate a company's style, history, industry, or even its mission by its logo.

Like most of the graphic designs, there are rules people suggest, there are crimes people commit when designing logos.
One rule of the thumb when designing logos is definitely SIMPLICITY.
Logos are used in many different locations, on the banner of a website, letterheads, business cards or product packages. Therefore, logo should be simple as possible.

Picking the right font can be a good starting point, this exercise is call creating a logotype. The goal is to decide on a font that represent your company's identity.
Here is an example of a logotype on the left.

We will continue this topic on logo in my next blog.

Saturday, January 14, 2012

Figure and ground

In graphic design, finding the balance between the figure and the ground is very important.
The figure is the main subject of the design and the ground is the background or the whitespace surrounding the figure.
Having minimum or no ground in the design will create chaos, letting the ground taking over the figure will defeat the purpose of the subject.

Thus, graphic designer should seek for a balance tension between those two.

The following designs are created to illustrate this idea.

Monday, January 9, 2012

Mirror-less Cameras

2011 is no doubt a big year for mirror-less cameras (also know as Micro Four Third cameras). Companies like Sony, Panasonic and Olympus have released a handful models of mirror-less cameras in the past year.
These cameras are light weighted with DSLR comparable sensors and image quality in a stylish package. Therefore they are very easy to travel with and perfect for casual or street photography.
In addition, most of their built-in firmware includes numbers of art filters and scene modes that adds extra fun while photo shooting.
It will be exciting to see more models releasing with more features and improvements and more companies merge into this new technology in digital photography in 2012.

Here are some sample photos I have taken with my Olympus E-P3.

ISO 1600

ISO 200

ISO 1600