Barbarian Meets Coding Titlebarbarianmeetscoding

WebDev, UX & a Pinch of Fantasy

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!

Barbaric Tip of the Week: Listen to JavaScript Jabber

Barbaric Tip of the Week is a weekly series whose main purpose is to share tiny bits of knowledge that I find specially useful and interesting.

Dozens of studies have demonstrated that multitasking is detrimental to your productivity, can be a source of stress and has adverse effects in your life expectancy [1][2]. I have found, however, with arduous experimentation that I can do multitasking with negligible effects in one of these two cases: I can juggle two oranges at the same time with two hands, and, less impressive yet worthy of notice, I can listen to podcasts or audio books while commuting to work, training at the gym or performing boring, repetitive tasks such as clothe laundering, dish washing and the like.

I tell you this because, just two week ago I started listening to an awesome podcast that I think you should start listening too, if you like JavaScript that is. This week’s Barbaric Tip is JavaScript Jabber a surprisingly awesome podcast about everything JavaScript, with great topics and greater guests.

JavaScript Jabber logo

Browsing a little bit over the episode list is enough to water your mouth. Don’t hesitate! Go and start multitasking! Add more value to your laundry! Yey!

Six Months Into Vim And Yet a Padawan

Taking advantage of a presentation I did at work last week , I thought it was the perfect time to write a catch-up or lessons-learned blog post on my experience with vim.

I cannot believe it has already been 6 months since my first experience with vim. Today, vim has become an integral part of my development tools and I could not image working without it*. It marries perfectly with ReSharper in Visual Studio, it works quite well in vintage mode in sublime, and it rocks both in Windows and Mac when using vanilla vim.

So, here are the highlights of what I have learned over this period:

  • Touch typing is important (thank you for stating the obvious Jaime). Practice touch typing deliberately and intentionally. Don’t look at the keyboard, don’t move the hands away from the home row. Touch typing is the biggest barrier to start learning vim, once you get over that, you are hooked.
  • If you are a .NET developer, you can get great productivity improvements by using the most basic commands and motions. Also, the vsvim-ReSharper combo is awesome, you can use vim for micro editing and still enjoy of all ReSharper solution-aware macro refactorings.
  • Learn how to read the documentation (and read it - use :h in vim). The Getting Started, Editing Effectively and Tuning Vim sections make for great starting points.
  • If you are going the path of vanilla vim, I strongly advise against using a ready-packaged distribution like maximum awesome. Vim is huge, to learn how to use vim effectively, you need to take things slow and go step by step, patiently growing and cultivating your vimrc and plugins to suit your needs. If you use a ready packaged distribution you kind of miss the point - the journey -, and end up with a bloated vim with a bunch of plugins and customizations you have no use for.
  • Don’t panic. Pick one new thing to add to your vim toolbelt every week and practice.
  • Find other vim users. It is awesome to share tips, tricks and the love for vim with other like-minded individuals :).

Here is the presentation in all its glory: The Path To Jedi Text Editing With VIM

That’s all for now. I have been thinking about starting a series of vim from-zero-to-hero blog posts for .NET developers. I think it would be great for me and you both. :)

*Actually I do, when I work on my iOS game side project I do it on XCode and it is a pain in the buttocks

Barbaric Tip of the Week: REST happily with Postman

Barbaric Tip of the Week is a weekly series whose main purpose is to share tiny bits of knowledge that I find specially useful and interesting.

Hi hi! This week’s Barbaric Tip is about a great HTTP client I just found out about (thanks good folk of Experion). Postman will let you easily test any HTTP based API directly from you Chrome browser and:

  • Build HTTP request to your heart’s content
  • Save and categorize requests for later use
  • Setup different environments
  • Setup different types of authentication
A screenshot testing postman with the NASA APIs

My very favorite tool for working with HTTP requests is fiddler, but I really miss it when I am working on my mac, so I will definitely add this to my arsenal going forward.