Learning new tech

Over the last few years, I have been mainly involved with back end work. And I liked it.

I love designing user interfaces and experiences, but always felt implementing them a chore. Absolute placement sucks. It requires you to spend inordinate amounts of time on getting everything pixel perfect. Don’t get me wrong, I understand the value of pixel perfection. It just sucks from here to eternity to have to change source code (albeit form sources) and rebuild your app just to move some control two pixels.

Yes, I know, get it right from the beginning and you won’t have to move them. True, but that requires me to pay attention to layout details when I am working on content (functionality). The two just don’t gel well.

I remember the first web applications and frameworks that were built. They tried their hardest to force relative rendering to do their absolute bidding. So glad they lost the battle. Or gave up. Whichever it was. I guess it took the “separate content and layout” mantra to be facilitated by data binding frameworks for the web before we let go of absolute placement. The advance of mobile apps and responsive design probably was the final nail in the coffin.

Why am I boring you with this bit of history? Because I am learning new tech. And I found myself doing stuff against my better judgement just to get things of the ground. Like mixing content and layout. Which made me realize how easy it is to fall back into bad practices if you only focus on getting something to work.

Anyways.

Back to the topic of this post. Learning new tech.

Couple of weeks ago I started teaching myself JavaScript.

Why? Well… Lots of reasons, but mainly because it is fun – I like learning. It wouldn’t go astray on my resume either. Being able to read JavaScript and maybe even make some minor changes, is not exactly the same as developing with JavaScript.

Learning new skills is best done by doing.

Now, I could have gone and found myself some tutorial, and learn by following it. That would have been boring. Not to mention the fact that I would easily fall into the trap of just reading and not actually doing.

When friends have asked me over the years what the best way was to learn programming, I have always answered

“Build something that interests you. Start small and learn along the way. Be prepared to ditch all of it and start again if you program yourself into a corner.”

If that sounds like MVP (Minimal Viable Product, not Model View Presenter), evolutionary programming, prototyping, or whatever other buzz words you care about, fine. It is. Sort of. To me it is just a natural way of learning and staying interested while banging my head against a wall every five minutes.

So, to learn JavaScript, or more generally web front end development, I needed a pet project.

As a scanner I have many projects going on at the same time. When I am working on one, I don’t want to be distracted by the others. So I have multiple Trello boards 1. They all follow a simple GTD inspired template.

Trouble is that when I go through my “backlog” every Sunday night to decide what to do next week, I have to go through these boards one by one. Which usually means that I overload my week’s overall “to do” list. When I have time to spend on my projects, I don’t have easy access to what’s in the “Up now” lists (my version of GTD’s to do list) on all my boards, nor can I prioritize “Up now” stuff across boards.

A quick search and a couple of trials told me that the Trello dashboards I could find, were all about Scrum and Kanban and metrics for teams. Utterly beside the point for me.

Project selected. Build a Trello/GTD dashboard that does what I need it to do.

Thanks to Trello’s API and OAuth authentication, anybody can use it on their own Trello account and boards. For now anyway. When I start implementing options (instead of – ouch – hard coding them), I will need a place to store them. Cookies might do, they might not. We’ll see.

If you do want to follow along, you would need a Trello 1 account and you would need to set up at least one board with the lists that my so far very unsophisticated app expects to be there: “Up Now”, “Calendarized” and “Waiting for response on”. You also need to “favorite” that board, at least until I make board selection customizable (if ever). And then you navigate to the apps page. (Trello’s authentication is done through a popup, so you should tell your browser to allow them for this page).

Enjoy!
Please tell me in the comments, if you had a look at it. Would love to hear about that.

1 Disclosure: I get some Trello Gold credits if you sign up after using that link, if you don’t want me to enjoy that, use this link.

Posted in Learning
Tags: , ,

Leave a Reply

Your email address will not be published. Required fields are marked *

*

Show Buttons
Hide Buttons