venerdì 27 febbraio 2015

15 Essential Werner Herzog Films You Need To Watch



German director, writer, producer Werner Herzog is one of the most revered, versatile and influential filmmakers working today. A master of New German Cinema, along with filmmakers such as Wim Wenders, Rainer Werner and Fassbinder, Herzog’s work is a fascinating and poetic mix of captivating documentaries and epic fictional dramas. Despite the great diversity of Herzog’s films and their subjects, all have received popularity and critical acclaim, especially within art-house circles.

Heavily driven by cinematic authenticity, Herzog’s interests go far beyond cinema into history, philosophy, politics, psychology and sociology. Herzog is fascinated by the natural world and, the ‘nature’ of human kind. Many of his films feature tales of triumph and explore human behavior to the extreme. Whether seasoned actors performing a role, or non-actors telling their life stories, Herzog’s characters are all fascinating individuals with big ambitions and dreams. His collaborations with the Klaus Kinski are some of the most volatile but fruitful in recent cinema.

At the age of 71, this visionary filmmaker and daring documentarian is still making captivating films. As a lover of nature, Herzog’s filmmaking has taken him to every continent. Herzog’s films span numerous genres and he combines his skills in both feature-film and documentary making to bring us films which are beautiful, enigmatic and thought-provoking. With his larger-than-life attitude and thirst for knowledge, not only is he willing to go to unprecedented lengths in order to achieve his own desired results, but he is willing to push others to their limits in a search for truth and authenticity.

1. Even Dwarves Started Small (1970)

Even Dwarves Started Small (1970)

This black and white film is one of Herzog’s most bizarre and surreal works. Set in a mental institution for dwarves and midgets, these marginalized residents become fed up with being exploited by ‘normal people’. They stage a coup, taking over the asylum and upsetting the status quo. These little people violently rebel against the asylum’s director and guards.

Similar in its surrealistic style to Harmony Korine’s recent Trash Humpers (2009), Even Dwarves Started Small is virtually devoid of plot, is very experimental, shocking and unsettling to watch. In this peculiar study of human nature, Herzog makes the viewer question their own views on society, power and the alienation of man.

2. Land of Silence and Darkness (1971)

Land of Silence and Darkness (1971)

In this moving documentary, Herzog investigates the nature of human communication by engaging with a group of deaf-blind people of varying ages and backgrounds, following them in their everyday lives. The film’s protagonist, Fini Strabinger is a deaf-blind woman who has made it her life’s work to help others suffering from the same affliction as her. She teaches others sign language and takes them on wondrous trips to gardens and zoos to touch and experience the natural world around them.

The film is both sobering and heart wrenching; watching these people undertakes even the simplest tasks, for which there is overwhelming sense of achievement. With minimal narration, this film takes a cold but unobtrusive look into the alienating yet captivating world of these marginalized individuals. It explores their struggle to live in the modern world with their disabilities. It is amazing that despite their profound incapacities, these individuals are living their lives with such fulfillment and a sense of dignity.

3. Aguirre, the Wrath of God (1972)

Aguirre, the Wrath of God (1972)

Aguirre, the Wrath of God is an epic historical drama which explores the doomed expedition of conquistador Gonzalo Pizarro (Alejandro Repullés) in the 1560s, as he leads his army through the Amazon on a suicidal mission to find the legendary Inca city of El Dorado. After running out of supplies, Pizarro appoints Pedro de Ursúa (Ruy Guerra) to scout ahead down the Amazon River. However, Ursúa’s second in command, Lope de Aguirre (Klaus Kinksi), mutinies and this mission takes a turn for the worst ending in disaster.

The striking visual imagery of the Peruvian jungle is counterpointed by the madness and greed of Aguirre, who will stop at nothing to complete his search for gold. Made on a tiny budget with a stolen camera from the Munich film school and with the spirit of guerilla filmmaking at its heart, Aguirre, the Wrath of God’s production process is as fascinating as the story itself. This film is the first and best-known of the explosive collaborations between Herzog and the tyrannical Klaus Kinski, who’s portrayal of Aguirre’s greed and lust for power is compelling.

4. The Great Ecstasy of Woodcarver Steiner (1974)


This short yet captivating documentary follows the life and sporting triumphs of two-time world ski-jumping champion Walter Steiner. Using slow motion footage of Steiner in action at the 1972 and 1977 Winter Olympics, accompanied by a captivating score by Popol Vuh, Herzog paints a fascinating picture of a sportsman at the height of his greatness where the sky is literally the limit.

Walter Steiner is the archetypal Herzog hero – a man obsessed with greatness and dedicated to his craft yet terrified by failure. Steiner is an acclaimed figure in his own field. He is man so confident in his own abilities that he seems to transcend the human condition.

5. Stroszek (1977)


Stroszek follows the life of the title character, Bruno Schleinstein, a German, alcoholic ex-prisoner and ex-mental patient, who dreams of a better life for himself in the United States. After some violent altercations and being fed up being trapped in a bleak existence, Bruno along with his elderly friend Scheitz (Clemens Scheitz) and prostitute Eva (Eva Mattes) head to Wisconsin to live the ‘American Dream’. Things are good at the beginning as the land of opportunity is a new and exciting place. However, faced with the same financial struggles, alienation and purposelessness as in Europe, the trio soon comes to the realization that their lives in America are just as melancholic as in Berlin.

The three title characters in Stroszek are all played by non-actors, the most interesting of them being Bruno Schleinstein, a Berlin street musician who also played the title role in Herzog’s The Enigma of Kasper Hauser (1974). This film is loosely based on the trials of Bruno’s own life as a vagabond. These non-actors give amazing performances and help to bring a surreal and poetic realism to the film.

6. Nosferatu the Vampyre (1979)

Nosferatu the Vampyre

Nosferatu the Vampyre is Werner Herzog’s homage to F.W. Murnau’s 1922 silent horror classic, featuring an unrecognizable yet terrifying Klaus Kinski in the title role. Keeping closely to the original Bram Stoker’s version of the story, the film follows Jonathan Harker (Bruno Ganz) a successful real estate agent in Wismar, who lives with his beautiful wife Lucy (Isabelle Adjani).

Jonathan’s boss learns of a nobleman named Count Dracula who is interested in buying property in Wismar, and sends Jonathan on an arduous month-long journey to Dracula’s castle in Transylvania to close this lucrative deal. Papers are signed and Count Dracula prepares himself for the long journey to Wismar by boat, bringing along his possessions in coffins. Upon reaching Wismar, the Count is captivated by Lucy’s beauty, and his plans soon turn sinister as his arrival in this quaint German town brings a wave of disease and death.

Staying fairly true to the original gothic visual style and feel, Herzog’s modern retelling of a classic takes a much more introspective look at Count Dracula and his melancholic and lonely immortality. In Herzog’s Nosferatu, Count Dracula himself is an allegory to the Black Plague – both being destructive forces, which sweeps over the town of Wismar and bring death with it.

7. Fitzcarraldo (1982)

Fitzcarraldo (1982)

Inspired by the real-life 19th century Peruvian rubber baron Carlos Fermín Fitzcarraldo, this film is the epic story of wealthy rubber baron, Brian Sweeney Fitzgerald or Fizcarraldo as he is known, an Irish man living in Peru. He is a lover of opera and a great admirer of internationally known Italian tenor Enrico Caruso. Fizcarraldo’s dream is to build an opera house in Iquitos. Fitzcarraldo mans a huge steamboat and sets sail for the Amazon jungle in search of rubber to fund his dream. But problems arise when they run into some hostile natives and are forced to use pulleys to physically haul the 300 ton ship over land, through unforgiving jungle terrain.

This epic story has many similarities to Herzog’s Aguirre. Both films feature obsessive men (played by Klaus Kinski) who are driven to seemingly impossibly goals, guided by their own desires, battling with nature. Both stories were filmed in the harsh Amazonian jungle and included many obstacles with production. In both cases, Herzog proved to be as driven as his protagonist to bring these epic stories to the big screen.


8. Lessons of Darkness (1992)

Lessons of Darkness (1992)

This poetic and haunting documentary follows the devastating environmental and social impact of the 1990s Persian Gulf War. Filmed in the burning oil fields of Kuwait in the aftermath of the war, ethereal images are taken of the alien, war-ravaged landscape from helicopters and set to the music of a sombre yet powerful classical score.

Almost devoid of dialogue and commentary, this film is a visual narrative which highlights the atrocities of war and shows us what a toll it takes socially, economically and environmentally. With little historical context for this war, Lessons of Darkness’ cinematography demonstrates the physical and natural destruction of the surrounding barren landscapes, which now look even more alien. Heartbreaking interviews with civilian survivors paint a horrific picture of the brutality of war.

9. My Best Fiend Klaus Kinski (1999)

My Best Fiend Klaus Kinski (1999)

This aptly named documentary is a retrospective exploration of the volatile yet industrious relationship between Werner Herzog and German actor Klaus Kinski. Regaling us with stories both professional and personal, Herzog shares his frustrating, dangerous and wondrous collaborative experiences with this deeply complex man. Despite their ups and downs, Herzog says of Kinski: “we complemented one another. I needed him and he needed me”.

Using footage from Herzog’s films, interviews with Kinski himself, his family and other actors, the film portrays Kinski as tyrannical, tenacious and egotistical. The relationship between these two men is built on extremes. Herzog and Kinski’s shared determination, stubbornness and passion for filmmaking and for life have made their cinematic collaborations one of the most renowned and successful in filmic history.

10. The White Diamond (2004)


The White Diamond is a documentary which at its core explores the history of aviation. On a more personal level, it follows the life of British aeronautical engineer Dr. Graham Dorrington, who has designed and built his own human-powered airship that he plans to fly over the forests of Guyana. As many of Herzog’s documentaries, The White Diamond is a mixture of exploring the personal trials and tribulations of Dr. Dorrington during his engagement with nature. Dr. Dorrington is determined to fulfill his dreams of flight, even after being haunted by the death, in an airship accident years before, of his close friend Dieter Plage.

This documentary is a balanced mix of beautiful scenery from nature and exploring the human condition. The immense guilt that Dr. Dorrington experiences over his friend’s death does not stop him from reaching for his life’s goal. Like most of Herzog’s documentaries, this film is an exploration not only of nature as beautiful and unforgiving but also of humankind triumphing over personal adversities to achieve greatness.

11. Grizzly Man (2005)

Grizzly Man (2005)

Grizzly Man follows the life of naturalist and filmmaker, Timothy Treadwell, who dedicated his life to becoming a ‘nature man’ and bear enthusiast; living amongst a community of wild grizzlys in the Alaskan wilderness. Treadwell’s loony idealism and desperation to have this community of bears accept him, ultimately led to his own death and the death of his girlfriend, Amie Huguenard who were both killed and eaten by bears in 2003.

The is a retrospective, pieced together from Treadwell’s own documentary footage of his life in the wilderness and his interactions with bears, as well as interviews with people who knew him, and animal experts. The film not only explores the beauty and mystery of the wilderness, but also asks questions about ‘human nature’ and the relationship between man and beast. Herzog paints a compelling portrait of the complex Treadwell whose passion and dedication to these majestic, yet deadly creatures cost him his own life and the life of his partner.

12. Rescue Dawn (2006)


Rescue Dawn is a Vietnam War docu-drama based on the exploits of German-born US Navy pilot Dieter Dengler (Christian Bale), who is shot down, captured and tortured by the Laotian equivalent of the Vietcong in 1966. The film follows his triumphant escape from their prison camp and subsequent rescue by American soldiers after spending weeks surviving in the harsh Laos jungle.

Wanting as much realism as possible, Herzog made his actors undergo severe weight loss for their filmic roles as prisoners of war. Rescue Dawn was shot in the jungles of Thailand in only 44 days. Fascinated by the cruelty of war and wanting to tell this real life story, Herzog made the documentary Little Dieter Needs to Fly back in 1997 featuring interviews with the real Dieter Dengler. A decade later his story was turned into the Hollywood feature film Rescue Dawn, a more commercialized version of the events.

13. Encounters at the End of the World (2007)

Encounters at the End of the World (2007)

This film examines the lives of those living on the McMurdo Research Station base in Antarctica. Located on the southern tip of Ross Island and serving as the United States Antarctic science facility, this station is the largest community in Antarctica, capable of supporting over 1000 residents. This fascinating documentary follows the everyday lives of the inhabitants – undergoing survival training, engaging in scientific research, and braving the sub-zero temperatures of this beautiful yet unforgiving land.

This poetic documentary explores the enigma of nature and the fragility of the human condition through interviews with the station’s residents. Herzog offers viewers an opportunity to see up close the inhabitants, the wildlife and the awe-inspiring beauty of one of the most inaccessible landscapes on Earth.

14. Into the Abyss (2010)

Into the Abyss (2010)

Into the Abyss is a powerful documentary which follows the lives of two young men convicted of a triple homicide in Conroe, Texas in 2001. One of the accused men, 28-year old Michael Perry is scheduled to die on death row within eight days of filming. Heart-wrenching interviews are conducted in the prison with Perry in his last days. As the title suggests, this documentary, based on a real-life tragedy, gazes into the ‘abyss’ of the human soul.

Herzog employs uncompromising interviews with the perpetrators of the crime, families and friends of the perpetrators and victims, witnesses of the crime and state officials. The gives different perspectives on the nature of this complex crime, while probing the human psyche and exploring why people kill. The film question the validity of the death penalty and capital punishment. Herzog points out the absurdity that convicted murderers in the state of Texas face a much harsher fate than in other jurisdictions.

15. Cave of Forgotten Dreams (2010)

Cave of Forgotten Dreams (2010)

Cave of Forgotten Dreams is a fascinating study of the evolution of early man. Its subject is a series of 32,000 year old cave paintings in a remote location in the Chauvet Cave in southern France. The paintings themselves are beautiful and sophisticated images of animals and humans. Herzog speaks with a range of scientific and historical experts, who speculate what life was like for these Paleolithic humans tens of thousands of years ago. Through the use of 3D cinematography, these cave drawings come to life on screen; they are marvels within an ‘ancient art gallery’ and we as an audience are totally emerged within the magic.

Herzog notes that these important paintings indicate the beginnings of the modern human soul”, and likens them to an early proto-cinema. These glorious works of art within these dark caves are allegorical to the story of Plato’s Cave and early cinema; as viewers sit in darkness and gaze at the projected images before us.


Author Bio: Sophie completed her Masters Degree in Creative Arts at Monash Univeristy, Melbourne. She loves everything about film but her passion is for extreme horror films, foreign and independent cinema and art film/avant garde films.


VIA: Taste Of Cinema


martedì 24 febbraio 2015

The next language to dig into after learned Html/CSS

Given a demonstrable interest in Web UI Development using HTML, and CSS I agree that JavaScript is the next sensible step, and probably one that you came to already. I would focus on jQuery quite a bit, because it is so heavily utilized, and also quite useful, as you will soon find out. However, I would not approach learning JavaScript as learning jQuery. jQuery is a JavaScript library with a lot of great features for DOM manipulation, AJAX requests, etc, but I am a firm believer in understand what libraries are doing for us. So, get into raw JavaScript before really looking at jQuery. Some important concepts to tackle in JavaScript are:

  • Objects and their Prototypes
  • Functions and Constructor Functions
  • Understanding Functions as Objects
  • Inheritence (OOP)
  • Applicative Functional Programming
  • Asynchronous Processing / Flow
Then of course getting into how to really use it in the browser dealing with the DOM, AJAX. I would really look at the DOM API, and the XMLHttpRequest object. Before I would deal with learning server side programming like PHP, or whatever, I would look into using third party REST API's that you can use directly from client-side JavaScript applications to learn how to request data in the background, and update data in the DOM without refreshing the page. It's a basic Single Page Application type feature that you'll need to know how to do every day for the rest of your life if you become a Web Developer.
Once you have a grasp on what kind of heavy lifting might be necessary for all of this pretty basic work then I would look into making your life easier with libraries like jQuery, because then you'll understand what they do for you, and why you need them. jQuery isn't the only thing I would look into either. There are other more advanced concepts like MV* frameworks, and the like. Here is a non exhaustive list of some libraries that I have used heavily, and seem to be in great demand, (as well as being pretty cool IMO) are:
  • RequireJS (Modular development / Asynchronous Module Definition (AMD))
  • Backbone (MV*)
  • Angular (MVC; This one is really picking up in demand lately it seems.)
  • Underscore/Lodash (Functional utilities/templating) (Lodash is a superset of Underscore)
  • Handlebars (Templating)
  • Knockout
  • Ember
  • jQuery UI (Widgets)
  • jQuery Mobile
  • Sencha Touch
  • ExtJS
  • Dojo
There are honestly so many with various benefits, and weaknesses but that's a great place to start. I frequently leverage, Require, Backbone, jQuery, and Underscore, with Handlebars, and can accomplish quite a bit with those.
I think understanding server side development to be crucial too, but they are different domains with different expertise. For my money, Application Servers are for Services, and the Client Side is for UI. They play different roles in an overall Web Application. What to look into on ther Server Side is a different question, and topic all together.

Categories: ,

mercoledì 18 febbraio 2015

7 Useful Tricks for Mastering a New Programming Language

Programming is hard. The only folks who say otherwise are the ones who have years of coding experience under their belts. It’s okay to be overwhelmed! There’s a lot to learn and you’ll probably forget things as quickly as you learn them. Trust me: that’s normal.

But just because it’s normal doesn’t mean that it isn’t frustrating. Truth be told, learning how to code can be extremely stressful if you don’t approach it with the right mindset and attitude.

You want to learn that new language or library or framework as soon as possible, right? That’s understandable. Fortunately, there are a handful of tips that can help you to better retain all of that heavy programming information that keeps flying in one ear and right out the other.

No More Cram Sessions

Nobody wants to hear it, but cramming is the worst way to learn how to program. If you’re anything like me, cramming was your modus operandi all throughout school and university. It’s the only way you know how to study.

But learn from my mistakes: the more you try to cram, the less you’re going to remember. That’s pretty much true for any knowledge-based subject, but it’s especially true when it comes to programming.

The basis of this claim comes from a 2008 study by the University of California, San Diego:

Students perform better when they space their study sessions rather than when they try to cram everything into their noggins during one sitting.

Why? Most likely due to the serial position effect:

Serial position effect is the tendency of a person to recall the first and last items in a series best, and the middle items worst.

In other words: in any given study session, you’re more likely to retain the information that you learned near the beginning and the end of the session and more likely to forget the information from the middle of the session.

You want to maximize the number of beginnings and ends. That’s why it’s better to have multiple short sessions instead of a few long sessions when it comes to learning and absorbing new material.

The next time you sit down to learn code, take it one topic at a time and take a short break between each topic. (Just make sure to prevent your breaks from turning into procrastination!)

Review, Review, Review

Another reason, why cramming is antithetical to long-term knowledge retention is because memory fades over time. This isn’t always true — I’m sure we all have a few childhood memories that will never disappear — but it seems to be the general case for memories that aren’t tied to emotion.

There is some debate whether memory itself decays due to time (decay theory) or simply gets pushed out and replaced by new memories over time (interference theory). Whichever theory you subscribe to, the result is that older memories are more likely to fade away.


This is where review comes into play.

Think of it like walking through a forest of memories. Every time you want to access a memory, you have to trace the neural pathway in order to find it. Each time you trace that memory, the pathway gets etched in a little more — just like how a dirt pathway naturally forms when people walk the same path over and over. If you stop walking the pathway, it can fade away and the memory ends up lost somewhere in the forest.

Setting aside all of the pop psychology, here’s the takeaway: when it comes to programming, it’s not enough to learn a topic just once or twice. You have to revisit it dozens or even hundreds of times. Each review etches that topic into your brain a little bit deeper.

I know how hard this can be if you’re a natural crammer, but you’ll be surprised how fast you start retaining material once you make an effort to review it regularly.

Use Several Different Resources

The toughest aspect of programming — at least for brand new coders — is the sheer breadth of details and nuances that need to be internalized. Until that internalization happens, you’re going to be in a perpetual state of head-scratching.

Depending on the language, you’ll need to memorize hundreds of syntax rules (e.g. keywords, semicolons, whitespace). Some languages are stricter, others are less so, and still others have their own unique approaches to syntax that aren’t used anywhere else. All of this can be confusing if you have no prior coding experience.


Not to mention all of the conceptual information that transcends individual languages. Topics like object-oriented programming, entity-component systems, and observer patterns can really make your head spin the first time you try learning them.

I’ve shared this illustration before, but it’s so poignant that it bears repeating:

Suppose someone showed you a photograph of a statue. It might provide enough of an image for you to get an adequate sense of the statue, but you wouldn’t get the whole picture. A zoomed-out photo would lose intricate details while a zoomed-in photo would lose a sense of perspective.

However, with each additional photograph, you can really start to see the fullness of the statue in texture, in size, in detail, from front-to-back, side-to-side, and top-to-bottom.

Learning to program can be surprisingly arbitrary. Everyone might praise Resource A as being the best way to learn Language X, but maybe it makes no sense to you. Maybe everyone hates Resource B but you take one glance and it makes perfect sense! As for someone else, maybe they zone out when studying Resources A and B but benefit greatly from Resource C.

That’s why it’s so important for you to be willing to consume all kinds of resources out there. Everyone learns in a different way. If you’re having trouble with a particular topic, search around for another resource. Maybe that one will be more suitable for you. Maybe not.

Even if you think you understand certain topics, it’s possible that there’s more to learn about it. It’s also possible for someone else’s explanation to solidify the concept in your mind for good. You never know, so why not consume as many resources as you can?

Teach Concepts as You Learn Them

There’s a beautiful concept in programming called rubber duck debugging, which describes the technique of explaining one’s code, line by line, to an inanimate rubber duck. It’s used when a particular segment of code is broken, but there’s no obvious reason for it.

Strangely enough, most programmers have a “Eureka!” moment in the middle of explaining the code as they suddenly see where the error in coding logic occurs. Verbalization triggers a different area of the brain, forcing you to see the problem from a new angle.

This concept can also be used to help you learn new material. You may have come across this popular quote that’s often attributed to Albert Einstein:

If you can’t explain it simply, you don’t understand it well enough.

With the exception of some fields that deal with advanced theoretical knowledge, this saying holds true. The more you understand a topic, the better equipped you are to explain it in such a way that someone who has no knowledge of said topic can still come to understand it.


The opposite of this is true as well. As you try to teach a topic, you’ll come across certain concepts that you can’t seem to explain in a clear manner. Not only is this an awesome way to diagnose weaknesses in your knowledge, the actual process of finding the proper explanation can help solidify the concept in your mind.

It’s called learning by teaching and it’s basically a twist on rubber duck debugging.

Now, I’m not saying that you should actually teach others; rather, every new programming topic that you learn, try teaching it to a rubber duck (or an invisible friend). It may feel silly at first, but you may find it incredibly fruitful when it comes to memory retention.

Deliberate Practice Makes Perfect

The notion of talent is complete rubbish. Nobody exits the womb as a world-class violinist, wrestler, or programmer. Sure, some people might be more inclined towards certain disciplines, but talent without experience is useless. Similarly, hard work is always more valuable than talent.

That being said, not all forms of hard work are equal. Malcolm Gladwell coined the infamous 10,000 Hour Rule, which says that you must invest at least 10,000 hours into a subject in order to become a master at it. While the sentiment may be true, many people misinterpret what he was trying to say.


Long story short, a 10,000 hour commitment doesn’t actually guarantee mastery. You know the saying: “Practice doesn’t make perfect. Perfect practice makes perfect.” In order for it to be meaningful, practice must be intentional. Mastery can only be attained through 10,000 hours of deliberate practice.

How you practice matters far more than how much time you spend practicing.

Reading is passive. Watching YouTube lessons is passive. Listening to podcasts is passive. As a newbie coder you might be tempted to flutter from tutorial to tutorial, tackling subject after subject without actually applying any of that knowledge in a practical way. Resist this temptation.

It’s one thing to understand an example before you, but it’s another to synthesize a solution from scratch. If you want to speed up the learning process, you must be willing to be active instead of passive. Active practice is the only kind that matters in the end.

Experiment With Personal Projects

For me, homework was the worst part of school. It just seemed like an elaborate ploy to kill fun and keep students busy — which, to be fair, was sometimes true. But now that I look back, the importance of homework finally makes sense. It forced me to apply newly acquired knowledge in an active way.

If you’re enrolled in a programming class, don’t underestimate the efficacy of homework. Take it seriously, always treating it as a chance to further cement what you’ve learned into long-term memory.

But many times, homework still isn’t enough. (And if you’re learning how to program on your own without an actual instructor, you probably don’t have any homework to begin with.)


What’s the solution? Create a couple of throwaway side projects!

Think of a few project ideas that you’d like to implement. For absolute newbies, you might consider a game of Tic-Tac-Toe or Hangman. For seasoned programmers trying to learn a new framework, try coding a simple mobile app or web game. As long as it interests you on a personal level, go for it!

The beauty of this approach is two-fold.

First, it’s more likely to hold your attention. Studies have shown that students learn better when they can pursue topics that interest them. That’s exactly what a personal project offers. You have an end goal that you actually want to achieve, thus you’re more likely to retain the information that’ll get you there.

Second, there’s no pressure for you to succeed. While success would be nice, the lack of formality allows you to be experimental and creative. You’re inevitably going to run into issues, but it’s more like playing with Lego than it is homework. It’s more fun and not as stressful.

Relax & Bookmark Everything

The truth is that no programmer remembers everything they’ve learned. Even after you’ve been working with a particular library or framework for a while, it’s not uncommon if you can’t recall every function or variable off the top of your head.

In fact, trying to memorize everything might just end up being a huge waste of time and effort. Reference sheets exist for a reason. Why commit an entire encyclopedia to memory when you can just flip it open whenever you need it? The same is true for programming APIs.


So, when to memorize and when to reference?

When it comes to conceptual material, always internalize it to the best of your ability. By that I mean understanding the theory even if you can’t convert it into actual code (and theory should be clear enough to you for you to teach it clearly).

For everything else — such as specific function names, parameter lists, or even language quirks — I wouldn’t worry about committing to memory. Feel free to defer to a reference sheet. Sometimes you’ll reference something so often that you end up memorizing it. If that happens, fine. If not, that’s fine too.

Personally, I have hundreds of Internet bookmarks to various APIs, guides, and tutorials. If I need to implement some kind of pathfinding algorithm, I might reference a guide to help me get it coded before forgetting about it again. It helps to understand the underlying concepts, but I try not to fret about implementation details.

Final Thoughts

I’ll repeat it a million times if I have to: programming is hard and it’s okay if you struggle with it. I’ve been programming as a hobby for over a decade and I still find myself intimidated when I have new concepts to learn.

Don’t beat yourself up if you can’t remember everything right away. The above tips will hopefully prove helpful to you, and even if they don’t, you can always rely on bookmarked references as a last resort.

Do you find programming difficult? What kind of tricks and tips do you know that might be helpful to newbie coders? Share your wisdom with us in the comments below!

Image Credits: Binary Programmer Via Shutterstock, Memory Eraser Via Shutterstock, Obfuscated Code Via Shutterstock, Rubber Ducky Via Shutterstock, Keyboard Typist Via Shutterstock, PHP Source Code Via Shutterstock, File Folders Via Shutterstock


VIA: MakeUseOf

Categories: ,

Cut Through Procrastination With These Pomodoro Technique Apps & Software

Procrastination is a malady that pervades students and workers in all corners of the world and it infects amateurs and professionals alike. As a writer, I suffer from procrastination on a daily basis. Some people call it “writer’s block”.

From my own experiences, I’ve learned that one of the striking differences between the successful and the unsuccessful lies in how you handle and react to procrastination tendencies. If you can find a way to quell your desire to procrastinate, then you’ll drive towards success. If not, you’ll never get anything done.

One technique that has been proven to be effective for many people is the Pomodoro Technique. MakeUseOf has covered this topic in the past, but over the last few years, a number of apps and software tools have popped up making the Pomodoro Technique easier than ever.

The Pomodoro Technique: An Overview

pomodoro technique

What exactly is the Pomodoro Technique? If you’ve never heard of this method, then keep reading. If you already know about it, feel free to skip on to the next section.

According to the inventor of the technique itself:

The Pomodoro Technique® is a way to get the most out of time management. Turn time into a valuable ally to accomplish what we want to do and chart continuous improvement in the way we do it.

Basically, all you have to do is the following:

  • Choose a task to be accomplished. In this case, writing.
  • Set a timer for 25 minutes.
  • Work on the task until the timer rings.
  • When the timer rings, make a tally mark and take a short 5-minute break.
  • The 25 minutes of work and 5 minutes of rest is 1 Pomodoro. Every 4 Pomodoros, take a 15-minute break.

That’s it. That’s the whole method.

Of course, you can alter the technique to suit your personal needs. If you’d rather work for 60 minutes and take 15-minute breaks, do that. If you’d rather work for 15 minutes and take 10-minute breaks, go ahead. The method is meant to help you, so feel free to tweak it to maximize your efficiency.

So what sort of apps and software tools can you use to make this easy on yourself? Here are a few that cover numerous devices and operating systems – and best of all, they’re free.

PomLife Lite [Android]

the pomodoro technique

If you’re looking for a free Pomodoro app for your Android device, PomLife Lite is as good as it gets for now. There aren’t a whole lot of choices available, so when it comes to free Pomodoro apps for Android, it’s all about the least of all evils. However, PomLife Lite does have a number of features that can aid you well.

As for PomLife Lite’s feature set, it’s a basic timer app with a built-in to-do list. You can customize it based on your Pomodoro preferences (work length, short break length, long break length). In addition, it tracks your individual Pomodoros for you.

For $2.99, you can upgrade to PomLife Pro. With it, you’ll get new features like activity sorting and increased list sizes.

iTomato [iPhone]

the pomodoro technique

Unfortunately for the iPhone, there are very few Pomodoro apps that are free. In fact, iTomato is the only free one I could find. Even more unfortunately, the feature set for iTomato is rather barebones. If you’re looking for a quality Pomodoro timer, you’ll have to fork over some cash.

With iTomato, you’re basically relegated to setting an egg timer. It’ll tick down until it reaches zero, then it’ll ring.

Pomodairo [Windows, Mac, Linux]

the pomodoro technique

Pomodairo is a standalone program that operates as a sleek desktop Pomodoro timer. However, it runs on the Adobe Air platform, which is good because it means that Pomodairo is cross-platform. However, it also means that the skin of the program won’t mesh with whatever operating system you’re using. If that bothers you, then you’ll need to look elsewhere.

With Pomodairo, you can set up various tasks and each task tracks statistics as you complete them – and that’s the selling point of this piece of software. It logs statistics related to your work progress and you can review your performance.

Tomighty [Windows, Mac, Linux]

overcoming procrastination

If you’re looking for a very minimalistic, no-distractions type of Pomodoro program, then Tomighty is the one for you. It sits quietly in your system tray as it tracks your time. The options are also minimalistic. You can set how much time to allot to each Pomodoro and each break.

Tomighty can run as a portable program on Windows, or it can be installed onto any machine that is capable of running the Java runtime.

Focus Booster [Windows, Mac]

pomodoro technique

For maximum availability, look to Focus Booster. It’s not riddled with an overload of settings and options. Instead, it’s very sleek and minimal and its standalone desktop version can be run on Windows and Mac. However, if you don’t care for installations or if you’re on Linux, you can use their free browser version.

Do you use the Pomodoro technique?  If so, has it helped you get better?  What apps do you use?  Let us know in the comments.

Image Credit: Headache Image Via Shutterstock


VIA: MakeUseOf


What’s the Best Programming Language to Learn in 2015?

By Craig Buckler

I’ve been following programming language statistics for several years. There are a number of data sources including code repositories, Q&A discussions, job advertisements, social media mentions, tutorial page visits, learning video views, developer surveys and more. Data is published at different times, none can be considered accurate and all have flaws — but they can be useful for spotting industry trends.


GitHut is a relatively new resource which analyzes 2.2 million active repositories on GitHub. The top ten:

  1. JavaScript
  2. Java
  3. Python
  4. CSS
  5. PHP
  6. Ruby
  7. C++
  8. C
  9. Shell
  10. C#

Source: GitHut

Source: GitHut


RedMonk’s language ranking for 2015 determines popularity by analyzing activity on both GitHub and StackOverflow. Their results:

  1. JavaScript
  2. Java
  3. PHP
  4. Python
  5. C#
  6. C++
  7. Ruby
  8. CSS
  9. C
  10. Objective-C

Credit: RedMonk

Credit: RedMonk

Jobs Tractor

Jobs Tractor language trends analyzes many thousands of job postings on Twitter. The latest figures from September 2014:

  1. Java
  2. Objective-C
  3. PHP
  4. SQL
  5. Java (Android)
  6. C#
  7. JavaScript
  8. Python
  9. Ruby
  10. C++


The TIOBE Index rates languages on the number of skilled engineers, courses and search engine rankings.

  1. C
  2. Java
  3. C++
  4. Objective-C
  5. C#
  6. JavaScript
  7. PHP
  8. Python
  9. VisualBasic.NET
  10. Visual Basic

Completely Unscientific Meta-Survey Ranking

If we combine these four surveys, we arrive at this result:

  1. Java (all)
  2. JavaScript
  3. PHP
  4. Python
  5. C / C++
  6. C#
  7. Objective-C
  8. Ruby
  9. Visual Basic

I combined C and C++ and ignored CSS and shell scripting. CSS isn’t a programming language as such although preprocessors come close. Shell scripts are useful regardless of whatever technologies you adopt but you won’t find jobs where it’s the only language you need.

Observations and Caveats

GitHut and RedMonk are similar but that’s to be expected since they use GitHub as a primary source of data. Both analyze public rather than private repositories which could sway results toward open source technologies.

TIOBE is influenced by search engine resources. This is possibly why C tops their chart — the language was developed in 1969 and many historical documents are available. Newer languages such as Ruby and Go inevitably appear further down the chart.

Educational resources are likely to affect results. For example, Python is commonly used to learn programming in schools and colleges. Many thousands of students are asking questions and completing projects but, in my experience, Python jobs are rare compared to PHP or Ruby despite it being higher in several charts. Java has a similar advantage since it has a variety of uses in education, web, desktop and mobile development.

Demand for native app developers remains high especially in the job-related surveys. RedMonk reports that Swift jumped 46 places to number 22 in less than six months. However, app development is a young discipline. There are far more job vacancies in web and desktop programming but they are easier to fill so adverts are possibly removed sooner.

Finally, language use has an impact.

  1. A single web site or application requires a myriad of technologies which possibly raises them above desktop languages.
  2. You can create quick and dirty code examples in a few lines of CSS, JavaScript, PHP, Ruby, Python or shell script. That’s not necessarily the case for languages such as C, C#, Objective-C and Java which tend to be used for fewer larger projects.


Comparing today’s charts against historical 2014 data from RedMonk and Jobs Tractor, surprisingly little has changed. A few languages have gone up or down a place but there are no new entrants or large leaps into the top ten.

What Surveys Won’t Tell You

There is no “best” language.

Few developers have the luxury (or tedium?) of working with a single technology.

If you’re considering client-side JavaScript, you won’t get far without a solid understanding of HTML, CSS, image formats, tools and browser quirks. Server-side NodeJS, PHP, Ruby, .NET and Java developers normally require an understanding of web servers, HTTP, SQL/NoSQL databases and data-exchange formats such as XML and JSON. Even those writing a basic native mobile or desktop app on a single platform require web connectivity, data store, IDE and build tool experience.

The more technologies you know, the more you need to know.

OK, But What Should I Learn?

Surveys are interesting but don’t bet your career on them. If you take nothing else from this article, remember:

those who pick a language based on survey data or monetary prospects will fail

There’s one secret to becoming a great developer:

just build stuff

First, find a problem — especially one which has a personal interest or benefit to you. Perhaps that’s creating a résumé website, organizing your finances, automating your home or sending random tweets to your followers. Ensure the goals are achievable; even the best developers would shudder at the thought of creating a WordPress or Call of Duty clone.

Now choose an appropriate set of technologies. There may be several options but don’t attempt to force a language on the solution. You may be able to create a native mobile app in Perl but resources are rare and it’ll be a frustrating exercise.

Then create your solution. Google, code examples and fellow developers are helpful but don’t expect them to provide all the answers. Your project is (or should be) unique and only one person can teach you to program: you.

Finally, don’t expect to become a coding ninja overnight. Some people have a natural aptitude but they also spent many, many hours honing their skills and are continually learning new technologies and techniques. Even the most junior roles presume several years development experience. If you find you need a hand along the way, there are plenty of online resources that can help.

In summary, choosing a language to learn for the sake of it is a boring academic exercise: few people succeed. It’s better to learn a language which helps you solve a real problem. Don’t worry if that technology is obsolete or outside the top ten — all languages are conceptually similar and your skills are transferable.

Don’t worry about your choices: just build something.


VIA: SitePoint

Categories: , , , , ,

lunedì 16 febbraio 2015

The best resources (sites, books or tutorials) for learning programming

I've been spending 6-8 hours/day teaching myself to program for the past month or so and have basically scoured the Internet for every free or semi-free tutorial out there.
Here's the good stuff I've used and recommend:

  1. CodeHS -- Personally graded, video-then-program format problems, starting with a toy language called Karel and moving up to Javascript, culminating in you making the game Breakout in your browser. Founded by two ex-CS106a TAs at Stanford from which the curriculum was largely adapted. They have probably 40 hours of really good content and, most importantly, provide you friendly, one-on-one help with like ~3 hours turnaround when you need it. Check out my version of Breakout I made after doing all of the content: EpicBreakout. (1)
  2. Google's Python Class -- Unlike above, requires some set-up on your machine (i.e. you're not coding in-browser), but still good. About two days worth of lectures on Python with a handful of good problems, culminating in regular expressions (like a custom CRTL + F in a Word document) and a problem where you descramble an encoded image from a website.
  3. CodingBat -- Python and Java problems. No frills, just the exercises -- probably better for someone with a little bit of background (meaning you know what a function/parameter is and can use The Google to figure out/find syntax/functions you need). The site was made by the same guy who taught the Google Python Class.
  4. Khan Academy -- A few intro tutorials (mostly graphics/animation-focused) in JS using a well-regarded library (Processing.js) and then a wide-open project space for you to see programs other people have made (i.e. the end result and the code) and to make your own, potentially forking off of their work. Here's a game that some guy made that served as inspiration for my version of Breakout: Mercury Subspace. Pretty great, right?
  5. Codecademy -- Solid read-then-write-code format of small problems broken into different subpieces. I used their HTML/CSS tutorials to get a basic background before making my personal website ( and am going to use their stuff on more advanced JS and jQuery when I get to it. Still, their grader is a bit buggy and there's a large variance in course quality/overlap in material, since everything is written by different people.
  6. Learn Python The Hard Way -- Read-then-implement exercises, starting from no assumed knowledge. Good, but still not as good as interactive problems; I gave up after doing ~20% or so of it because it's unapologetically repetitive, but have read lots of good reviews of it.

Other good stuff I want to check out:
  1. Stanford iPhone course (all slides and assignments: -- an iPhone app seems like such a good early project, because it's so easy to show your friends what you've made, but have to figure out how completeable it would be for me. Also, you can't get your problem sets graded if you're just working on your own from the material online.
  2. K&R ( -- Highly regarded intro book on C and implementations of the most canonical algorithms. (If you know of a website that tries to do something like this, would love to get it from you.)
  3. The many CS courses on Coursera and Udacity. However, I think it's really important that you have someone grading your work so that you can get feedback (and that you actually do the problems rather than just watch the lectures). I'm not sure if this is possible if you take the course "off-cycle" and how good the problems are, but still worth taking a look.

After a month, I've now got a better idea of what I can make and this then informs things that I think would be cool to make. At this point, I'm most excited about continuing with this project-based learning approach as I think it's more effective/lasting/fun than more tutorials/classes, but it's still tough to get this outside of the university/work environment.

  1. Note: it's unwinnable right now -- I need to refactor and expand it, including a bunch more powerups and the final showdown with our hero's final boss, The Brick King. FYI, my high score is like 550 and the game gets buggy at high levels. Switching to bullets helps and actually adds some unexpected difficulty. Would love to get your feedback/ideas.

Categories: ,

domenica 15 febbraio 2015

What are some good ways to earn money online?

WARNING! There isn't an easy way to do this.
But there is a simple way.
The simple was is this.

A) Goal
Your goal is to make $10k per month in 6 months so you can be free from your job.
Which can be broken down to a simpler make $350 per day, every day. So in 30 days you will make $10k.
Which can be further broken down to selling something that will net you a profit of $350 per day.
Let's call this 'thing' the product.
Let say we'll sell the product for $697. Which means we will have $347 to make the product, to advertise the product, to find someone to buy the product, and to pay for the merchant account processing fees.
The best thing for us to do is that we reduce the costs of producing the product as much as possible. So we have the most amount of money to finding the customer and selling to the customer.

B) The Plan
Now that we know the price and the advertising budget available to use, we can go ahead and talk about the product.
The best products that fit our requirements are information products. Products that are created using intellectual property.
The business plan is as follows.

1. Find something you are good at doing, that you can regularly do, that you don't even consider a problem doing. (it helps if what you are good at is related to 'health', 'money', 'relationships', 'hobbies' or 'sports'.
So for health, if in your life ever you've been over weight and lost weight and kept it off. This is an expertise. Or
If you've even been able to find a girlfriend for yourself while your friends struggled to find one, than you've got an expertise. Or
If you've discovered a quick way of making more gold in World of Warcraft, than you've got an expertise, etc.

2. Find a group of people who are having a problem, that your expertise can solve. These people are all probably like you, or belong to an association that you belong to.
So if you are a real estate agent, then the association of real estate agents can be a group of people who could benefit from your expertise of losing weight fast. Or
If you are a welder, than there is an association of welders or mechanics who you might be able to serve by helping them find a girlfriend, etc.

3. You create a a product that solves a problem that they are having.
What this means is that you write a book, create an audio program, record video tutorials solving a problem, or a software program that we can sell for $197.
Depending on your expertise and personal preference you can create each of these products overnight.
For now we'll take the video tutorials because they are the simplest thing to create. You can use your computer camera and speak into the camera to record your tutorials.
Once you create the video tutorials teaching your audience how to do what you have an expertise in, then you can go ahead and sell it to them.

4. Create a Sales Letter
What this sales letter does is share your story with your audince about how you solved the problem for yourself.
You can write this a number of way. But as a start just share you entire story about how you discovered the solution.
Answer the following questions.
1. Who you are and what you are going to share with them?
2. How you tried everything and failed?
3. What were some methods that you tried but did not work for you?
4. How you were finally able to figure out what you were doing wrong and fix it?
5. How you made this into a system?
6. Why you are sharing this system with them?
7. What the system is and what it will do for them, what are the benefits they will get, what problems will they solve?
8. What they will get in this system, what is the product that you are giving them?
9. What is your guarantee? (Make this an unconditional 100% 90 day money back guarantee)
10. How much money would it cost them if they spent the time in their life to figure it out themselves?
11. How much time they can save by investing in your solution?
12. What is the investment that they can get this solution for? (Try one payment of $697 and 4 Payments of $177 per month.
13. Why they should buy immediately?
14. Re-iterate what results they will get, how much they will pay today, and the guarantee that you are providing them.

5. Test The Marketing
Once you've created the sales letter test it out with $100 on Facebook marketing or Google Adwords and test out the marketing.
What testing it out means is that you spend the $100 on marketing and see how many people buy from you.
Then you take the money and re-invest it in marketing and try to;
1. Improve the marketing
2. Show your offer to more people by increasing your advertising budget.
The testing means that you keep improving the marketing. You test out different headlines to improve your conversions and get better results on your marketing.

C) The Timeline
You've got the goal and you've got the plan. Now comes the timeline.
Spend the 1st week to create the product. This product has to be good enough. It should deliver the results that you promise. Don't worry about making this flashy or anything.
This is the basic product. You can make it flashier once you've got the first $10k in your bank. Right now, you want to get it done and get it out to your customers.
This way you can test it out in the real world. The marketing is the most important thing.
Spend the 2nd week creating the sales letter. This is more important than the product itself. If your sales letter sucks, no one will buy your product no matter how good the product actually is.
If your sales letter is good, you can get your customers to at least try the product.
Spend the 3rd week creating the ads. The google ads, the facebook ads or whatever you are using. The ads are what will get the sales letter read. This is more important than the sales letter itself.
But a note of warning. Don't get stuck. Having a bad ad is better than no ad at all. Get it done and test it online.
Spend the 4th week creating better headlines and testing them. The headlines on the ads and on the sales letters will increase your conversions.
Spend the 2nd Month improving your conversions, and increasing your reach. Track everything. Track the number of people who click on your ads, read your sales letter  and buy the products. Track everything and then see whether you are moving up, or down.
Increase your reach by creating a short report, or audio that you can give away for free to your customers. This is where you will start creating a list of people who are interested in the topic that you are teaching them.
Spend the 3rd & 4th Month improving your sales letter, and creating a connection. Use the feedback that you get from the tracking and improve your sales letter.
You can increase your connection with the people who came to your website and got the free download by writing a newsletter to them. This newsletter is an email that you send out to your audience every other day with tips, tricks and other questions that they've asked you in the last few months.
You answer their questions and give them free answers to the questions that they are thinking or asking to you.
Spend the 5th & 6th Month improving your product. By now you will have a number of customers giving you feedback about what you're doing right and what you're doing wrong. Improve your product based on this feedback.

D) The Payment Processing
The first month, or until you have your first 10 customers use PayPal. You can keep using them for as long as you want, but once you have more customers then you might want to think about using ClickBank, e-Junkie, or other payment processors.
You now have a simple 4 step plan that you can print, learn, and implement right now and have an $10k income in the next 6 months.
Is it easy? Probably not, nothing good in life is easy.
But it is simple. Go ahead and do it right now - this is for your freedom.

Categories: , , ,

How to Get a Job as a Developer in Less Than Six Months

Learning to Program

Work your ass off:

This isn’t how to fake your way into a position. It is how I got real results in a short amount of time.

I was, however, in a unique position. I didn’t have a job, I was only taking one class and I had fallen in love with programming.

So, in order to make the kind of strides I made, expect to spend at least 10 hours a day, six days a week dedicated to programming activities.

Read a shit ton:

The Pragmatic Programmers is now your best friend. If you are learning Ruby, get the Ruby 1.9 manual, Learn to Program, and get their Pragmatic studios learning ruby course (It is $200 but worth every cent). Start with the Pragmatic studios video course, and after about five lessons, start step two of my process while continuing to work on the videos.

Join your local ruby group:

This is a must. If you ignore everything else I say, still join your local meetup group.

This is imperative for three main reasons: First, the people you meet may become your employers, or they might introduce you to your future employers. Second, you will be around the people that have the jobs you want. Listen to them, jot down notes about the things they say, and if you don’t understand, then go research it. Last, if you show passion, you will likely find enthusiastic mentors from this group of people. I would not have made it as far as I have without Gavin Stark, Aubrey Goodman and the rest of the Tampa ruby brigade.

Write a ton of code:

Learn git and get a GitHub account. Push code to github EVERYDAY. There is no exception to this rule.

There are no shortcuts, you must write code, and a lot of it. It doesn’t have to be good code, but you must write it. If you look at it and think, “boy, this is shitty,” document the code and explain what you were thinking.

Make everything public:

This is an important aspect of writing a ton of code. If you keep it to yourself, it can be as shitty as you want. I find that if its public, every line of code has to be defendable, even if your reasoning is flawed. It is easier to adjust how you do things if you know why you did it in the first place.

Get a GitHub account, learn git like a boss, make every repo public.

Blog about your challenges:

You will face challenges just like everyone else. Blog about them incessantly. You can’t get any better unless you are asking for help. Also, having a record of your progress will come into handy later when you are trying to get that job.

Make sure you also blog about your successes. When you get something right, especially early on, it feels like the most epic of wins. Tell everyone about how awesome it feels and how you did it.

Getting The Job

So now you know a little programming. Don’t wait to get to a point where you feel skilled enough to get a job, because you will be waiting a long time. There is a desperate need for developers, and you are doing a great disservice to yourself and to the community. By learning on the job, you will give yourself a much more focused learning environment. However, here are a few things that will make the search go a little smoother.

Learn to speak like a programmer:

You’ll get a little of this from your reading and from your meetup groups, but there is more you can do. First, listen to related podcasts, I recommend every episode of Ruby Rogues, next subscribe to Rails Casts and Destroy all Software two great programming screen casts.

Some of what is discussed will go right over your head. That is okay. The point of this is to learn how developers speak. When you interview this will be an important skill.

Cast a wide net:

I got my job by sending out this email to the NYC Ruby community:

Hey NYC.rb!

I am a (relatively new) self-taught programmer moving to NYC from Tampa, FL at the end of July. Tampa’s awesome Ruby community inspired me to learn Ruby as my first language, and I’m excited to get involved with the New York City Ruby community.

I am graduating in a few weeks with a degree in business and entrepreneurship from the University of South Florida but found my passion, programming, while I was hiring a developer for one of my businesses.

I am looking for an internship/apprenticeship/junior programming position open in the area. If anyone has or knows of such a position, I would love to meet in June when I am in town for GoRuCo.

I am getting fairly proficient with Ruby, know the basics of JavaScript, HTML and CSS and am currently working with Rails. I learn quickly and work hard.

You can see where I am with my skills on GitHub, and I blog about my learning at Any feedback or advice is greatly appreciated!

I look forward to meeting some of you and getting involved with the New York City Ruby Community.

Sincerely, Jeff

I got 40+ responses in 18 hours. I also found every NYC ruby shop I could and read about them.

Next, I made a list of my top 10 companies and I worked my ass off to get interviews with all of them. I also stayed open to a few more pending discussions with the people on the team.

Don’t underestimate your value:

When I started this search I thought I would be scrubbing toilets in exchange for nightly code reviews. While that determination was probably a good thing, the market is currently in favor of devs looking for work. You may be a n00b, but don’t underestimate your value.

So to sum up:

Work hard, write a lot of code, be transparent and be enthusiastic.

In February 2012 I had never written a line of code. But, as of July 11, 2012 I am employed as a full-time Ruby Developer. You can do it too :).


VIA: Learn with Jeff

Categories: , , , ,

The Big Web Design Trends for 2015

When thinking about web design, you must consider the full spectrum of possibilities that the internet presents. Done boldly, designers can push the current limits of human interaction and imagination on a global scale – as is often seen with edgier industries, such as creative agency websites.
In this article, we’ll boil down some of the most prominent web design trends emerging in 2015. It is here that we can find true innovation and new opportunities – a few of which may completely change our understanding of a “modern website”.
1. Make it big
Big Experiences
Website via Born
“Make it big” seems to be the single most important principle of web design today. Yet for many people, it’s hardly acceptable that the homepage – specifically above the fold – consists of just a few words overlaid on an image or a video. Sometimes, even the navigation is removed or (at the very least) is hidden as a small icon.
The two flavors of this web design trend can be labeled as “Cinematic” and “Book Cover”. The first has been inspired by movies and TV ads, while the second enhances the classic concept of printed book and catalogue covers.
Void and Form
Book cover. Website via Void and Form.
The reasons for this trend are both visual and pragmatic. You’re able to give users maximum impact as soon as they land on your site and it’s easier to code, so it works well on mobiles and desktop computer monitors (the same layout remains unchanged despite the display device size).
Full screen images came into vogue last year (as we noted in our 2014 web design trends article), but with growing access to high quality images and speedier technology we’re seeing websites take these “Book Cover” layouts to the next level.
Bellroy site -- using falling snow
Inspired by movies and TV. Website via bellroy.
The “Cinematic” trend relies on fullscreen (or almost fullscreen) video with a few words and/or elements overlaid on top of it. We initially referenced this style in our article,”Web design trends for 2013,” when it was seen on a few agency websites.
Now the trend is picking up fast. Only last year Paypal updated its homepage with a fullscreen video background – a landmark move that has helped bring this concept into the mainstream.
2. The multimedia experience
Jack DanielsJack Daniel’s offers an impressive example of the modern “multimedia experience”
The multimedia concept is quite dated. The word itself has been so used and abused that it’s nearly lost its meaning. Nonetheless, armies of designers and programmers are constantly fighting to create increasingly engaging multimedia experiences.
A while back, Flash was the platform for these experiments. Presently it’s the HTML5 <canvas> element that will eventually allow you to create almost any visual effect on the website.
The DNA project by j.viewz
Website via The DNA project by j.viewz
Another noteworthy example of an interface built with HTML Canvas is community-driven DNA project by Brooklyn-based musician Jonathan Dagan (aka j.viewz). Opening with a highly visual background video, j.viewz tells us how he plans to build his new musical album through his personal experiments (which users can download) and other collaborators’ uploaded videos, music and feedback.
Website via Raise the River
Raise the River’s website is yet another fantastic example not only because of its apt visual metaphor, but also its presentation. The pace of animation and inability to scroll almost forces the user to take a breath and adjust to the page timeline.
While designing interfaces, we usually do everything to enable users. This website shows that disabling users for a certain amount of time may sometimes enable a better experience.
3. The Parallax effect mutations
Parallax has evolved into many different mutations that have one thing in common: designers use page scrolling or mouse movement to animate elements or properties of the page. If you look carefully, most of the websites showcased in this article use this logic. Here are some additional examples.
Scroll events and hand drawn animation
Website via Mint Design Company.
It’s easy to appreciate Mint Design Company’s creative use of an old CSS sprite technique. The result is an engaging and unique take on an otherwise straightforward company website.
Innovative scrolling
Innovative scrolling
Website via QUO+
The QUO+ headset page takes you on a wild, maze-like journey through their site with vertical and horizontal scrolling – along with an interesting section where you “scroll” through their product colors too.

4. Animated storybook
Animated Storybook - Boldking
Website via Boldking
In this type of page, similar to the first example, an animation sequence starts when a user reaches a certain scroll position. Often, it is just a few elements that slide into the page or use a fade-in effect to appear.
The Boldking product page (above) uses lightweight SVG and Java Script to present a visual metaphor describing the way their product works. Not only is the idea and animation amazing, but equally notable is the fact that it was achieved within 1.5 MB total page weight. Sometimes a single JS library has this size. One of the animated sequences is even interactive.
Colin and Dewi
Website via Colin and Dewi
Colin and Dewi’s wedding website is a simple yet effective way to keep the user focused while reading a story. You are presented with one fragment of the story at a time. To see the next part, you need to scroll to it.
It sounds like generic scroll functionality, but 3D CSS animation – as well as hiding and revealing text fragments – makes the story much more engaging.

Header and page parallax effect caused by mouse movement
Website via HábitatWeb
This effect is used to create the illusion of a 3-dimensional space and works well when fit into the visual narration of the page, such as Habitat Web (above) or Archéologie de la Grande Guerre.
When used tastefully, this effect can have impressive result – although we predict that it will probably not become too common. If it were to be widely popular, it could just as easily be perceived as cheesy and annoying.

5. Flat design
Flat Design
Website via Colin and Dewi
During the last three years, flat design has been hailed the “king” many times over. It’s still doing great and is going to stay for good – especially in smaller elements such as icons, menus and illustrations.
Not only do these elements look good (way better than those glossy web 2.0 icons covering nearly every website a few years ago), but they are easily scaleable and manageable, thanks to icon font technology. is an example of one online service allowing everyone to create their own icon fonts easily for free.
Lab 21 turns flat design into “origami design”.
It is worth noting, though, that flat design is not always so flat. Designers often incorporate subtle gradients, textures and photos to achieve the “wow” effect. In our opinion, the best part of flat design is not the flatness of the ink, but how it opens us up to creative visual metaphors.
Rather than imitating objects with skeuomorphic techniques (where a notepad icon looks like real life notepad made of paper and bound in leather), flat design tries to convey the idea of a notepad through a synthetic, catchy and fun visual that works well in varied sizes.
We predict that this trend will become more collage-like and mix with other visual styles, similar to the HábitatWeb website featured earlier in this article.
6. No more boxes
Web designers always love to show they can think outside of the box – in more ways than one. One could call this trend “Draw a box and prove you can break it”. A rectangle screen is the frame for every web design (as far aw we know, we don’t have circular monitors yet). Every HTML element of the page is a rectangle too.
But designers, like most people, don’t like to be constrained. There are 3 distinct strategies to prove you are not a slave to the rectangle – and all 3 seem to be on the rise.
Create page layouts as though a rectangle never existed
Menu made of circles
Menu made of circles to navigate DAN’s Instagram photos. Website via DAN Paris.
Allowed are: circles, hexagons, irregular shapes even rhombuses.
Lorenzo Bocchi
Website via Lorenzo Bocchi
Skewed horizon and website layout previews in axonometric view on Lorenzo Bocchi bring the feeling of space and movement.
The Rosa (via Pixelgrade)
Website: The Rosa (via Pixelgrade)
While looking at the Rosa restaurant homepage your senses are deceived – you can almost feel the aroma of the cookies. Use a modern version of the centuries old Trompe-l’œil technique and imitate a real desktop inside a monitor. For example, take a wooden table background and then put all layout objects on it.
Swiss Air AirbusWebsite via Swiss airlines
The ultimate way of defying a rectangle is placing the user inside an infinite space where scrolling means flying, rather than, well… scrolling.
Swiss airlines challenge your understanding of website navigation. Browsing their page, you can feel how conventional our understanding of document space is. Here, instead of scrolling up or down, we dodge our way between the clouds.

7. Tiles
Tiles interface
On the other hand, if you are comfortable with rectangles, a cool way to structure your content is by creating tiles. For some reason tiles in web design sell better than the Windows 8 Metro interface. Tiles work well in responsive layouts and, at the same time, remain a cool way of forming impressive layouts.
If sticking to tiles becomes too boring, the layout may be pushed further with irregular zigzag edges, pushing objects or bringing the text across the edges.
8. Navigation widgets
The Daily Beast
The Daily Beast navigation widget shows the scroll position within the article.
Experimenting with navigation has been web designers’ favorite playground for many years. “Playing” with navigation peaked when websites were designed purely in Flash. The decline of Flash brought us quieter menus, devoid of animation or eccentric interactivity.
But edgier navigations have been on the rise again, thanks in part to new web design potential and the growing inefficiency of existing navigation models in using across multiple devices. This is made easier thanks to the wide use of Java Script through Java’s constant evolution (via frameworks and plugins) and the more consistent interpretation of modern CSS across all important browsers.
Here are a few examples of navigation experiments and trends. Some of these ideas are already widely used, while others are pushing the envelope towards a new kind of “modern” web design.
Sticky menus
This type of menu expands a relevant item’s submenu as you scroll. It works well on one-pagers with lots of content. The LESS manual page is one of the most comfortable to use “manual type” webpages we have ever encountered. Website via Less CC.
A Sticky Menu is a kind of a menu that stays glued to the top or edge of the screen while you scroll. Like it or not, it’s becoming a standard for one-pagers.
Sometimes it’s combined with a scrollspy script to create a widget accurately showing your position on the page. It’s useful, especially with long hierarchical menus.
Sticky navigation attached to all 4 corners of the screen
Website via Hum
Street view type of navigation
Oh Deer Games
Website via Oh Deer Games
Google maps, especially street view, inspired the author of Oh Deer Games to create navigation resembling a walk through Google street view. Time will tell whether this becomes a trend. For sure, this is not the only page exploring either Street View-style of navigation or the axonometric “fly over” views, better known in gaming.
Which brings us to another notable trend…
9. Integrating Google maps
Integrating maps
We mark this as a trend not only because it’s been rising for some time now (and we see it almost everywhere), but also that it’s become more and more visually interesting thanks to the well-used customization options that Google provides.
The most interesting websites following this trend build their functional and visual idea around a map concept. And certainly they use customized Google maps adjusted to the page look and feel.
10. Mashup interfaces
Website via necotrans
The persisting love for one-pagers brings challenges that can be solved in creative, user friendly and visually attractive ways. The challenge is to fit a lot of information and functionality onto one page. The page has to have a clean modern look and be easy to navigate.
The solution may be something that we call a mashup interface: a layout consisting of many “layers” that adjust to the requested functionality or content. Actually it’s not a new concept at all – it’s the very nature of desktop applications – but it has not been very popular in the mainstream Internet so far. Recently, the use of such interfaces has been on the rise, and they are becoming more and more refined and functional.
Necotrans website seems to have little content above the fold, with a singular sentence overlaid on a full-screen photo. But the small, right side menu allows access to all essential functionality within the same screen area to offer users a site search widget (with results appearing as you type), customized Google map, news widget and contact form.
11. Minimize
Website via Maemo
The classic KISS principle (“Keep It Simple, Stupid” or “Keep It Short and Simple”) has been used in the military, business and government since the 1960s. Yet, even though you might work hard to simplify your designs, there is probably some room to push this process further still.
The Maemo restaurant tells its story with irresistible strength, using the simplest language possible, and then the visitor is confronted with a single call to action (“Book a table”), and the restaurant’s name over a background of cold fog swirling over the fjord.
Scrolling down brings a few photos in a casual layout, with horizontal and vertical alignments hard to find. The themes of the photos seem casual, too. Nonetheless, browsing this page offers an intense sensual experience. Ascetic form highlights the quality of the photos, while the minimalism makes you read the few sentences they cared to share carefully, like the words of wisdom.
What can be learned here? You can keep things visually quiet (quiet!) in web design and still achieve a great look! Try minimizing the content, form and color as much as possible while adding interest through big, realistic videos.
12. World Wide Wait
Loading graphics
Examples of graphical preloaders.
You’ve probably heard this old joke. In the ’90s, when 56k modems were the primary way to access the Internet, the “WWW” acronym used to be jokingly translated to “World Wide Wait”. Fast network speed has made us nearly forget that.
Like never before, faster speeds are enabling us to create websites that would have been unthinkable just a short time ago – such as using HD video for a website background. But every step forward comes at a price and, in this case, the price is time. Specifically, the load time.
Hence, we can see a big comeback of visually engaging preloaders. Not as engaging as they used to be in the Flash days when they turned into little games, but still art pieces in their own right.
13. Designer automation
The Grid - unreadable text
A screenshot of the website reveals an error that no human being would be likely to make (unreadable black text on dark background).
This article wouldn’t be complete without taking a moment to mention “The Grid” – a catchy idea presented by “eclectic designers” that made some buzz recently. It’s an attempt to replace the designer and the coder with Artificial Intelligence. Will web designers become redundant? It is yet to be seen.
It’s not possible to test this system yet, so it’s hard to judge its usability. Their website seems to be the only demonstration of its power. Generally it performs well in most resolutions, but attempts to create artificial art seem to be the sign of the times. For instance, The Painting Fool creative software hasn’t yet wiped out paintings from art galleries.
These 13 web design trends have been creeping into popularity over the past year and are likely to heavily influence the way websites will be created in 2015. Nonetheless, if we were to summarize this year in one sentence, the most important thing to think about when designing a website would be “Content First”.
That mantra has always been true. But nowadays, an increasingly aesthetic emphasis on web design can reveal many of the mistakes made in the pre-design phases – concept, navigation flow planning, wire-framing, copy-writing, etc. As you broaden your horizons with new techniques, be sure that you don’t forget the basics.

VIA: SitePoint

Categories: , , , , ,

Copyright © Niente Canzoni d'Amore | Powered by Blogger

Design by Anders Noren | Blogger Theme by |        Up ↑