Barbarian Meets Codingbarbarianmeetscoding

WebDev, UX & a Pinch of Fantasy

Barbaric Tip of the Week: Improve Your Code Typing Skills with Typing.io

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.

A couple of years ago I started using vim and I realized that my typing skills did not cut it - I did not practice touch typing but my own deformed version of typing born of using the computer from an early age mainly to play video games and chat on IRC.

I didn’t despair, not yet at least. I decided to switch keyboard layout, nothing drastic, just from a QWERTY Swedish keyboard layout to a US layout (noticing that it was much easier to type parens, semicolon and other programming keys). I also started learning proper touch typing with the typingweb - great web app for typing btw. For the next four weeks I practiced touch typing 2 hours before going to work and 2 hours before going to sleep. The first two days were horrible, I was writing like 10 WPM and thinking to myself all the time: “Come on Jaime! You can do better than this!”. It got better afterwards but that wasn’t the worst, after a couple of weeks I had sooo much pain in my wrists for the excessive typing (before, during and after work) that I couldn’t lift weights at the gym. For the next 6 months or so I wouldn’t do any curl exercise.

Today, almost two years after, I am pretty decent at touch typing and at vim-ming. I am still not as fast as I used to be but I can do 70-80 WPM relaxed when typing text. However, touch typing text is not the same as typing code. And that’s why typing.io is so awesome:

Imagine practicing typing code by using the source code of your favorite open source projects (or any other source code for that matter). Read and learn cool stuff from open source, and at the same time improve your typing skills with pesky characters such as ], }, ), *, =, etc. That’s what typing.io is all about. Cool right?

Typing some code

100 Things Every Developer Should Know About People

With Barbaric Book Reviews I bring you interesting reviews and useful insights from awesome books that I have read. I also bring myself the magic of everlasting memory so that I don’t forget these tidbits of knowledge as I grow old and wither.

Some months ago my good friend and UX sorcerer Erik Claesson recommended me yet another UX-related book titled 100 Things Every Designer Should Know About People by Susan Weinschenk. I finished it a couple of days ago as I was flying back to Stockholm from the frozen confines of the north of Sweden (Luleå).

The world is frozen brrrrr

I thought it would be interesting to write a short article to summarize the things that I have learned from it. Some of them I already knew, since there are some recurring topics in UX and psychology literature, but some repetition never did no harm to anyone.

Read on →

Goodbye 2014, Hello 2015!!

Following the now tradition of the yearly reflective summary, it is time for the wrap-up blog post on what I achieved on 2014, which were my biggest #fails and what I am planning to do in 2015. Here it goes!

In 2014 I:

  • Had a beyond awesome year with my beloved Malin filled with awesome moments like our trip to Japan and moving from Linköping to Stockholm.
  • Started my own company and built a website as a company hub.
  • Had a great year working as a software developer at Medius where I got to continue developing my skills as a software developer and working with great colleagues.
  • Got a new job in Stockholm at an awesome company, Active Solution, and I am looking forward to get started in January.
  • Wrote 32 blog posts this year, and also recorded my first video ever.
  • Created several new presentations this year on RavenDB, Knockout.js components, developer productivity, LESS, Ionic and REST, and gave two talks in our local .NET user group in Linköping.
  • Read 50 books on programming, business, fantasy, sci-fi and self-improvement, almost a book per week of the year.
  • Went to a hackathon and built pendel panda, an awesome experience both for the chance of working with a great team with very diverse skills and for being able to work with Ionic and dip my toes into the hybrid mobile development scene.
  • Did lots of learning, this year focusing on:
    • JavaScript and its more functional flavors
    • Angular
    • Ionic, PhoneGap, Cordova and hybrid mobile development
    • REST and Hypermedia
  • This is my third year since I quit smoking and I am still going strong.
  • Led a healthy lifestyle with a great work-life balance, lots of training (running and weightlifting) and healthy eating. It got a little screwed towards the end of the year when I got a shoulder injury but I’m back now biatches! :)

Some of my biggest #fails, things that I really wanted to achieve but I didn’t were:

  • I did not write a book
  • Even though I started a company, built a website for it, and started developing a couple of new features for quiz4couples I never got anything finished, nor built any new product at all, which sucks. This was a BIG fail for me.
  • Didn’t invest almost any time in improving my design/art skills

If I had to summarize 2014 I would call it a year of big changes with moving to Stockholm after living the last 4 years in Linköping and starting a new job at the center. I think I spent a lot of energy and time in both of these milestones, but in spite of this all I still got a lot of things done.

In 2015 I want to:

  • continue investing in my great relationship with Malin :)
  • develop at least one product with my company
  • write a short book
  • become an even more awesome software developer and specialize more in front-end development
  • blog smarter, being more consistent developing a writing habit instead of doing one-time-writing-marathons as I do know almost a 80% of the time.
  • invest more time in my drawing/design/art skills
  • continue investing in a healthy lifestyle

but above all I want to become a finisher, I want to spend this year focusing on strengthening the habit of finishing the things that I start.

Hope that you also had a great 2014 and that an even more awesome 2015 awaits you! Let’s get started kicking some ass!… and finishing the goddamn stuff :)

Some Thoughts on the Awesomeness of Function and Object Composition in JavaScript After Reading JavaScript Allonge

Update 25-05-2015: Reginald Braithwaite has released his “sixth” version of JavaScript Allongé. The book has been greatly updated to include new ES6 (ES2015) constructs that make this book even more awesome. Go read it! or buy it

The place is Luleå, a place in the farthest reaches of the north of Sweden. The time is late, and it is cold outside, cold as it gets, -25°C. The world this far north is covered in snow, even the rivers, and the seas are frozen. A hard environment to live in, yet the perfect environment and time to read cozy in bed! :)

Last night I finished reading JavaScript Allongé on my beloved Kindle and I wanted to share with you some of the awesome things I learned, specially regarding function composition, functional programming and how to write beautiful, idiomatic, expressive and intentional JavaScript by taking advantage of its functional character.

JavaScript Allongé
Read on →

The Best of Barbarian Meets Coding 2014

And as 2014 winds down to an end I thought it would be cool to take a look at the best articles I wrote this year (with you as a judge of greatness with your visits). And the winners… are!!!…

Top 10 Articles 2014

The most visited articles I wrote in 2014

  1. Barbarian Meets Knockout: Introduction to Knockout.js Observables Arrays
  2. Object Oriented JavaScript for C# Developers
  3. Write 30% Less Test Code With AutoFixture
  4. Thoughts on Unit Testing and TDD: Test Behavior Not Implementation
  5. Barbarian Book Review: The Art Of Unit Testing 2nd Edition
  6. Barbaric Development Toolbox: Elevate Your Front-end Workflow with Yeoman
  7. 5 Things That I Like About Codealike and 2 That I Don’t
  8. Boost Your Productivity with Codealike Insights. Barbaric Development Toolbox
  9. Dev Talk Monday: Architecting Large Scale JavaScript Applications With Knockout.js
  10. 3 Things I Learned From Seductive Interaction Design, Creating Playful, Fun and Effective User Experiences - a Barbaric Book Review

Top 10 Most Visited Articles 2014

The most visited articles

  1. Barbarian Meets Knockout: Knockout.js Computed Observables
  2. Barbarian Meets Knockout: Introduction to Knockout.js Observables Arrays
  3. Object Oriented JavaScript for C# Developers
  4. Barbarian Meets Knockout: Knockout.js Observables
  5. Write 30% Less Test Code With AutoFixture
  6. Knockout Wiki
  7. Awesome Resources To Become a Software Developer Wizard

1 Learn TypeScript to Improve Your JavaScript

  1. Thoughts on Unit Testing and TDD: Test Behavior Not Implementation
  2. Barbarian Book Review: The Art Of Unit Testing 2nd Edition
  3. What is New in Knockout.js 3.0 Lightning Round

And to you, thank you for reading! :)