ProgFu

programming tips & tricks

Jan 24

Enough abstraction, it’s time for Arduino

update: this article was originaly posted on my wordpress blog on 10th November, but since I’m unable to set a publish date on tumblr, and I felt it would be a shame to just leave it there, I’m republishing it here.

Over the past few years, I’ve been moving up in the levels of abstractions in programming languages, from AVR Assembler all the way up to enterprise Java and Ruby on Rails. Right now I’m at the point where I can work with a database without even knowing whether it’s MySQL, Postgre or SQLite.

At first I thought this is great, because it makes a lot of things simpler, but it also has some drawbacks.

It’s been a couple of years since I’ve worked with MS SQL Server and wrote some pretty decent SQL and it looks like I’ve lost it all. Just this month I had to move two not-so-small databases from one database server to another. First one from SQLite to MySQL, and second from MySQL to Postgres.

That made me thinking – if I didn’t have all those ORM tools, would I still be able to program the same things? Did my brain degenerate by using super-high level libraries? Working with Rails is sometimes really dumb easy. Gems can solve so many problems without even having to think for 5 seconds. For example, today I needed to add some static pages to my Rails application.

It took me about 20 seconds to google the amazing Thoughtbot’s High Voltage gem which solves this problem almost instantly. All you have to do is add it to your Gemfile … and yea, nothing more, you’re finished … the hardest part is to put the view file in a correct directory and optionally set up routing to have nicer URLs.

Things like this can really save time, but I feel that they make me really dumb at the same time. I can work much faster than I did 5 years ago when I was doing raw ugly PHP, but it doesn’t feel like programming. All I’m doing is copy & pasting little bits of code.

And that’s why I decided to challenge myself. I’ve always wanted to do some low level programming and since Pragmatic Programmers released a great book on Arduino, I decided to buy one.

Unfortunately I wasn’t able to find a reliable vendor in my country, which means I’m going to have to wait for a delivery from US, which is going to take some time. At least I have time to prepare and get all of the necessary components. The next article about Arduino will be an intro and first impressions.


Page 1 of 1
Bloggers - Meet Millions of Bloggers
Web Analytics