barbarian meets coding

WebDev, UX & a Pinch of Fantasy

Master the Arcane Art of JavaScript-mancy on Video! Waaaat!?

| Comments

Last week it was swetugg and I kind of promised everyone listening to my talk that I would prepare a video version so they could enjoy all the cool content that I had prepared and which I never got the chance to show (because I am the worst, like the very worst, at keeping things short).

And so, after much sleepless nights, early mornings, experimentation, errors, more errors I got the first video ready! Yey! Hope you like it!

My plan is to release very short focused videos, so expect more videos coming soon.

Speaking (and Being) at Swetugg 2016 Was a Blast!!

| Comments

I have spoken a couple of times at user groups, many times at a company but I never ever had spoken at a conference before until this week at Swetugg 2016. It was awesome!! Cecilia, Anders and all the organizers did a great job! Thank you very much to them, the sponsors and all the participants that made it such a cool experience. Thank you!!

Swetugg 2016

Here is a photo of me in the middle of the fray (hehe). There was a tooon of people there but luckily the 10000000 Watt spotlight strategically directed right into my face made me feel as comfortable as sitting in my living room’s couch.

Jaime Gonzalez Garcia speaking at Swetugg 2016

And here are my carefully crafted slides:

The talk was recorded so I’ll give you a shout whenever the recording is released. I’ll also record a three-part director’s cut with a slower pace and probably slight more content and put it up in the upcoming days.

The conference was super fun (when is talking code with other nerds not fun?), there were a lot of very interesting talks and inspiring speakers. I enjoyed very much Chris talking on front-end build pipeline, Peter talking on making your applications Cloud ready and moving to azure, Tobbe talking about Lean, Roger teaching how to scale with Akka.net, and Tess showing off ASP.NET Core 1. I really would’ve loved to listen to more talks (to all talks), there was UX/UI, react, angular 2, meteor.js, cordova, no estimates, IoT, more azure… but hopefully I’ll be able to watch to the recorded sessions and those not recorded at another conference.

And my lessons learned? When you feel like you are done with your talk, cut it in half, and then cut it in half again. :)

Have a great day!

Use Data Structures and Algorithms Problems as TDD Katas!

| Comments

I was doing some code katas last week and it suddenly dawned up on me how awesome data structures and algorithms problems are to practice TDD. They provide such a well defined problem space and expected API that you can fully concentrate in the red-green-refactor flow until it becomes second nature. One pass and you focus on the red-green-refactor, another pass and you can improve your knowledge of jasmine, another and you focus on sinon, another and you try to improve your abstractions, another and you concentrate on writing the most readable of tests, and so on until eternity :)

I have created a new repository to harbor my algorithms and data structures TDD katas in JavaScript that you are welcome to use if you like. There’s only some simple linked lists exercises right now with a basic ES6 setup but I expect it to grow over time.

Not interested in practicing TDD? Don’t panic! You can use any of these exercises to practice other stuff, becoming more proficient and productive using your favorite IDE or text editor, learn new ReSharper shortcuts, new vim commands, functional programming, other languages, etc. Just decide what you want to practice in each session and be awesome.

And here are some other places where you can find lots of different exercises and katas:

Lean UX, Atomic Design and Angular - a Flexible Front-End Architecture for Developing Web Applications: Part III

| Comments

In the last two articles part of this series I discussed the need for a flexible front-end architecture that lets us adapt to changing UX requirements and how Lean UX techniques play well with modern agile software development practices and can drive this changing requirements through experiments and learning. The next step is to implement such an architecture in Angular.

Lean UX, Atomic Design and Angular - a Flexible Front-end Architecture for Developing Web Applications: Part I

| Comments

Many of you may find the following situation familiar:

UX Designer: Could you improve this view so that when you make a selection here both of these charts are updated?

Software Developer: Hmm… No, I can’t.

or:

UX Designer: Could you make change X (which looks like it would be pretty straightforward) that would improve the UX of this view enormously?

Software Developer: That’s completely impossible because we didn’t design our framework to acommodate that use case. I could do it but we would need to make a major re-architecture and re-design of our application that would affect all these other views. There are also these 300 things with higher priority right now.

Well, I know I do. Particularly on the developer side of things.

Ultra Flexible JavaScript Object Oriented Programming With Stamps

| Comments

The Mastering the Arcane Art of JavaScript-mancy series are my humble attempt at bringing my love for JavaScript to all other C# developers that haven’t yet discovered how awesome this language and its whole ecosystem are. These articles are excerpts of the super duper awesome JavaScript-Mancy book a compendium of all things JavaScript for C# developers.

In the last two articles of the series you learned about two great alternatives to classical object oriented programming: mixins and traits. Both techniques embrace the dynamic nature of JavaScript. Both encourage creating small reusable components that you can either mix with your existing objects or compose together to create new objects from scratch.

Object and functional mixins are the simplest approach to object composition. In conjunction with Object.assign they make it very easy to create small units of reusable behavior and augment your domain objects with them.

Traits continue the tradition of composability of mixins adding an extra layer of expressiveness, flexibility and safety. They let you define required properties, resolve naming conflicts and they warn you whenever you’ve failed to compose your traits properly.

In this article you’ll learn a new technique to achieve class-free inheritance through object composition. This particular technique not only embraces the dynamic nature of JavaScript but also its many ways to achieve code reuse: prototypes, mixins and closures. Behold! Stamps!

Dev Talk Monday: Stop Hating Your Tests With Justin Searls

| Comments

Dev Talk Monday is the series that brings you awesome dev talks every Monday… or Thursday XD

As you might know I love unit testing and TDD. I have been a little bit worse than usual at it in the last months though. Hence I said to myself, let’s look at a dev talk and get my test inspiration back up. And so, here it is, this awesome talk about how to stop hating your tests by the very charismatic justin searls.

2015 in Books: Miscellaneous

| Comments

And finally this is the last article on the books I read last year. There’s books of every size, color and topic in this one. From financial advice, to sales teachings, to biographies, mindfulness and getting things done. Take a look, you may find something you like.