Barbarian Meets Coding

WebDev, UX & a Pinch of Fantasy


Barbarian Meets Knockout: Introduction to Knockout.js Observable Arrays

The “barbarian meets” series are a collection of articles that intend to introduce and explain useful libraries, frameworks, tools and technologies in simple and straightforward terms. These new series will focus on Knockout.js, the popular JavaScript MVVM library

Hi you! Time for some knockout.js goodness! Today I bring thee Knockout.js observable arrays, if you are a .NETter, all you need to hear to grasp how observable arrays work is ObservableCollection<T>, if you are not, thing of it as a JavaScript array that notifies you when you add of remove elements to/from it. Easy peasy :)

In this article I will introduce knockout.js observable arrays, provide useful code examples and describe important things that you need to consider when using observable arrays in your web applications. In upcoming articles I will focus on new features of observable arrays released in Knockout 3.0 and the different helpers provided by knockout to facilitate operating with arrays.

Read on →

Dev Talk Monday: The Present and Future of the Web Platform

Dev Talk Monday is the series that brings you awesome dev talks every Monday

Brendan Eich did this great presentation about the present and the future of the web platform at QCon last year. In it, Eich makes his case about the awesomeness and unlimited capabilities of the web platform, and goes through different elements that make it so: the improved upcoming versions of JavaScript (ES6, ES7), hardcore gaming in the web with asm.js, real time communications via WebRTC, new web standards and APIs that make the web ideal for mobile development, and much more interesting stuff that’s coming in the near future.

Mindblowing talk. If you are interested in the future of the web, don’t miss it.

Last slide with the conclusion of the present and future of the web platform talk

30 Principles or so That Can Help You Become Even More Awesome

Continuing with last year’s tradition, I wanted to write a blog post with more principles I have added to my how-to-be-awesome list during this year.

Here they are, in no particular order:

  1. When I get sad, I stop being sad, and be awesome instead
  2. Be kind to people, smile, be positive, spread joy around you. At the same time, realize that you don’t have to please everyone
  3. Anything is possible, you make your own reality, you are in control of your life. Don’t ever feel like you don’t have a choice
  4. Sell yourself well, don’t be too humble
  5. Don’t put energy into things you don’t want more of
  6. Make small projects of every endeavour. Define goals and deadlines. Remember Parkinson’s laws, every task extends itself to complete the time you have allocated for it
  7. Enjoy life! It’s a short trip! Don’t take things too seriously! Loosen up!
  8. Don’t forget the 20/80% rule, 20% of the effort provides 80% percent of the results
  9. Be curious. Always find the why of things! Question everything
  10. Always strive to improve things and yourself, don’t shut up, express your opinions
  11. Get outside of your comfort zone. Make it a habit!
  12. Sharpen the saw. Practice smart. Practice Perfect. How you perform daily is a reflection of how you practice
  13. Be diligent, have discipline, a little bit of work every day makes a huge difference in the long term
  14. Believe in people. People are not out to get you, people are just like you with their own needs, wants and insecurities
  15. See obstacles and change as opportunities. Before obstacles other people may just give up. You won’t
  16. Life is short, build stuff that matters
  17. Do something that scares you everyday. Challenge yourself. You learn/develop the most when you do this
  18. Don’t waste time feeling sorry for yourself. Take responsibility for your life
  19. Don’t give away your power. You are in control of your own emotions, you have a choice. No one can make you feel bad unless you let them
  20. Don’t waste energy on things you cannot control. Focus on what you do control
  21. Don’t shy away from change. Change means new opportunities and things to learn
  22. Don’t dwell on the past and wish things were different. Live for the present and plan for the future
  23. Don’t make the same mistakes over and over. Reflect and learn from your mistakes
  24. Don’t resent other people’s success. Recognize real success comes with hard work
  25. Don’t give up after the first failure. Be persistent and determined. Have true grit
  26. Don’t feel the world owes you anything. You are not entitled to anything, it is up to you to go out and take it
  27. Be a leader. Help and inspire other people to be better
  28. Have your own opinions
  29. Don’t expect other people to agree with you. You are a salesman of your ideas
  30. Don’t be arrogant. Think about other people and other people’s proposals beyond your prejudices and preconceptions
  31. Think about the big picture! Don’t get always captured in the detail
  32. Acknowledge people.

And here it is the shortened version:

  1. Be awesome
  2. Be kind
  3. Be a leader (or, help other people be awesome)

Have a great week!


Dev Talk Monday: Programming is terrible, lessons learned from a life wasted

Dev Talk Monday is the series that brings you awesome dev talks every Monday

Thomas Frigg brings this hilarious (and insightful) 40 minute talk about the world of programming . If you are a programmer, you will probably love it :). Don’t forget to take a look at the slides while watching it, they’re great.

I thought I would share a couple of tips on how to be a succesful programmer…

…Don’t write documentation, documentation means that you are replaceable…

… if you fix a bug, make sure it fixes only that case they talked about, so someone else can reopen the bug later..

… the standard library is evil, don’t use things other people understand, the best code is the one that you have written yourself…

Have an awesome week!:)

via maciej and Jan Van Ryswyck


Goodbye 2013, Hello 2014!!

Following the tradition I started last year, I thought it would be a nice idea to write a wrap-up blog post on what I achieved on 2013 and what I am planning to do in 2014. Here it goes:

In 2013 I:

  • had the best year yet with my beloved Malin. This just keeps getting better and better :)
  • have been almost 2 years without smoking
  • started my new job as a software developer at Medius and got to work with much more interesting stuff than in my previous job, mainly building a SPA with knockout and ASP.NET MVC. It feels like I have gone from working with legacy technologies to the latest and greatest (or almost XD)
  • did lots of learning
    • Windows 8 and Windows Phone 8
    • Idiomatic JavaScript and a ton of JavaScript libraries and frameworks: knockout, Durandal, angular, etc
    • Node.js
    • Objective-C, iOS
    • DDD
    • vim
  • wrote 27 blog posts. Less articles than during 2012 but of higher depth and quality
  • read 35 books on the most various topics
  • learnt a lot on personal finance and even took a course on financial accounting
  • went to my first hackathon and built inspirr
  • have improved my Swedish dramatically and use it daily both at work and at home
  • have worked on a small number of personal side projects
  • have improved my weight lifting dramatically without using supplements and just through consistency and smart training

If I were to summarize 2013 with one single sentence I would have to say… it was a year of learning, sharpening the saw and broadening my skillset as a software developer, not so much doing, but a lot of learning indeed.

In 2014 I want to remedy that and find a better balance between learning and doing, specifically I want to:

  • continue investing in my awesome relationship with Malin :)
  • start my own company and build some products
  • write my first book
  • become a more awesome developer
  • invest more in my drawing/design skills
  • continue investing in a healthy lifestyle and get a more herculean body XD

Wish me luck! And to you, I hope you have had a great 2013 and that an even better 2014 awaits you!