My Coffeescript overview

June 26th 2011

This post will be extremely technical and programming focused. Leave now if you don’t care.

A few weeks ago a news created a bit of a ruckus in the Rails community: the upcoming Rails 3.1 will have out-of-the-box support for Sass and Coffeescript.

Both of them are intermediate tools, super languages that aim to ease respectively CSS and Javascript development. While I was familiar with Sass (and Less before him) I never really cared about Coffeescript, mainly because I was focused on learning Javascript itself.

As I trust the decisions taken by the Rails team, I’ve decided to give Coffeescript a try: I’ve seen a couple of screencasts, bought the PeepCode tutorial, run through the documentation (extensive and really good) on the website.

Here are my thoughts on it…

WWDC and beyond

June 10th 2011

Monitoring the reactions to the WWDC keynote show clearly that the basic reaction is simple: this is too much to process at once.

I won’t go into details about what has been shown: the Apple website pages go into great detail with beatiful pictures, bells and whistles. As you can probably guess, here’s my take on the whole thing…

Being opinionated is good

June 4th 2011

I never thought about “opinionated software” before starting using Rails. Frankly, I never thought the notion could exist.

The idea is a direct consequence of the “convention over configuration” principle: the software strongly encourages a series of conventions that make development faster and easier, but require you to embrace them.

To clear advantage is that you may build a prototype in no-time: having something working is the best option to understand if you’re on the right track, especially when it comes to functionality and flow.

Being opinionated is good: choices are made on your behalf and you can concentrate on building your software instead of trying to make it work from scratch.

Of course there are ways to subvert conventions: speaking about Rails, there are tons of gems, libraries and ways to change its default behaviour. The fact that they need to be applied on the framework acts as a good filter: only those people who have a real need to change the way it works follow that path, and sometimes this results in discovering that the new pattern is smart enough to be adopted by the Rails itself.

After all, every developer starts building his own toolset and it’s highly opinionated. Variations on a certain pattern, libraries we prefer over others, techniques we are more comfortable with. While a good developer always tries some experimentation, he uses his own approach to get stuff done.

My next computer doesn't exist yet

June 2nd 2011

My computer runs fine: there are no major grips or issues that prevent me from doing what I want with it. Despite the fact that it’s a transitional model with some drawbacks, I made some upgrades that really push it to the limit. And for what I do, it’s good enough.

As a geek however, I can’t help but think about my next machine: I’m extremely fascinated by the latest Macbook Air line, particularly by the 11 inches model. The idea of having such a small and fast machine really tickles me.

I’m pretty sure that I’ll switch to a Macbook Air when the time comes, but there are practical reasons why I’m not doing it now: money (they’re not that expensive, but I’m not that rich), the chance that new models may come out soon, the absence of some hardware features that may be important in the future.

There are also some other ones that are related to specific hardware and software topics:

  • A Thunderbolt port: right now it’s missing a Thunderbolt port, which is not a big deal now. I’m imagining that there will be some sort of hub that collect all your cables and connect it to the computer with a single Thunderbolt cable. That would be great to manage external disks, monitor and other USB peripherals.

  • A faster processor: SSD drives are great for general usage, but development may require some time-consuming processes that are faster with a faster CPU. I’m thinking about compiling programs, running tests when programming in Ruby and Rails. It’s not a deal-breaker most of the times, however it adds a bit of overhead that I’d gladly avoid with a new machine. As for actual specs, the maxed-out 13" model is just slightly faster than my current machine (on the same Intel Core 2 Duo architecture). Having at least an I5 would be wonderful.

  • Mac OsX Lion: it’s in beta and many people say it’s usable, fast and quite stable. I don’t know, however, if the tools I use on a daily basis work properly. While I can find some information even now, nothing beats at least a month of public availability to have a detailed list of bugs and possibly solutions.

I’m positive that such a Macbook Air will be available before the end of the year, so it’s just a matter of patience.

I'm vinegar's friend

May 31st 2011
Balsamic Vinegar

Many people don’t like vinegar, probably because it was overused during their childhood. We all tried some salads that would simply taste horrible due to a too generous splash of vinegar.

Time to get over that: there are plenty of dishes that really get a boost when properly seasoned with a good vinegar.

I always keep a bottle of balsamic vinegar at hand: it’s dark, browny and it should be available in most of the shops (in Italy it’s available at the supermarket).

What can you use it for?

I always put half a table spoon in the tomato sauce: a traditional recipe in Italy would require you to use sugar to balance the tomato’s acid taste, but I prefer vinegar. It’s basic, so you can have a similar effect while also adding a small kick to the sauce. I saw Jamie Oliver doing it a few years ago and it definitely works.

Other famous combinations are with strawberries and grilled meat (beef is great). Green beans are also very good when cooked with balsamic vinegar and water.

On salad: my rule of thumb is that vinegar must not create those brown pools inside oil when stirred. It needs to blend and become invisible. A tablespoon at most for a 2 people salad (and it’s a strong flavour).

WP7 Mango, Skype and Microsoft

May 29th 2011

Microsoft has presented a video detailing the major features of their next update to the Windows Phone 7 platform, named Mango.

I’m glad to say I was blown away by the sheer amount of vision: the core concepts, the ideas, all screamed pure creativity.

I don’t want to go into details describing what the software will do, as the video itself is self-explanatory. Moreover, I don’t want to spoiler the surprise if you haven’t seen it. You should watch it now.

The point is, this is something to be glad about: a different take on mobile software, features that make a platform compelling without making a carbon clone of another os.

Many people say that great innovation comes when there’s competition that forces companies to push boundaries and find new solutions. It is true, it is something to hope for.

As a tech entusiast, I’m thrilling seeing that there’s a place in Microsoft where ideas happen: in these days of relentless attacks to Steve Ballmer and pleas for Bill Gates to return this is a sign of an innovation that was lost behind numbers.

Acquisitions and moves must be watched on a higher perspective and personally I can see a reason for buying Skype after seeing Mango in action.

Mango features a tight integration with social messaging, something that probably hints at a future merging with Skype for audio. The basic idea is that you choose a person and communicated with her through a unified interface that automatically bridges all communications protocols (sms, IM if the person is connected to MSN, Facebook messages). Skype could be a direct extension, but moreover it could be en exclusive integration with Mango, available only for Windows Phone 7.

This is probably why they acquired Skype instead of developing a new technology: to leverage the installed base and provide a compelling feature that could shift the balance when choosing what to buy.

It would be a complex move indeed (and admittedly, not so cheap), but that’s the only logic connection I can make.

In any case, I can’t wait to see what Apple will present at the upcoming WWDC. Next months will be fun.

Next articles

May 29th 2011

Here are some topics I want to write about in the future. Writing them down in a post is a way for me to commit to actually write.

Let’s start with some programming ones:

  • An in-depth look at Coffeescript
  • A collection of Rails resources that have been extremely helpful to start digging into it
  • Why I use an editor and not an IDE

And then some food ones:

  • Cool things you can season with balsamic vinegar
  • Don’t be scared by onions
  • Some absolutely cool cooking books

Now back to tech:

  • If Windows Phone 7 Mango rocks, I’ll be happy
  • My next computer doesn’t exist for now
  • I hate email, but some software makes it less annoying
  • A few months with the Magic Trackpad
  • Being opinionated is good

I wanna write more

May 27th 2011

This blog has been silent for a few days and I’ve seen this pattern before. It’s not that I grow tired of writing, it’s simply that sometimes I don’t think I’ve something interesting enough to write about.

Shawn Blanc makes a good argument:

In a way, I have to pretend that I’m the only site out there. That if someone was interested in the things I’m interested in, how then would they find out about those things unless I wrote about them? I can’t pass by something I find exciting or interesting because I see that others are already talking about it. That would be a road to silence.

Let me bend this on myself: if I don’t write, how can you get to know me? That would not be a road out of silence. I trust my judgment on certain stuff: while I don’t even have the slightest idea about sports, I breath technology every day. I also cook for myself every day and don’t write about it. I could, probably.

I’ve always been my own filter and this always brought to an end to every blog I’ve started. Let’s try not to do it this time.

My backup strategy

May 10th 2011

Backups are an evergreen topic and luckily for everyone, it’s becoming much easier to take care of them without much effort. There’s indeed a bit of work involved, but cost-wise, it’s a fair price to pay…

Keeping It Straight

May 6th 2011

Bear with me while I make a brief introduction. I’ll speak about Patrick Rhone’s book, I promise.

On wednesday, from 2pm to 4pm, the cleaning lady comes to take care of the house. I usually get out of the way so she can work better.

I usually plan these two hours out. Most of the time I sit in a local coffee shop, one of the few good things this town has to offer (I’ll be moving in the next months, but that’s another story). Sometimes I work (planning before programming), sometimes I don’t. The golden rule for me is that I need to come home inspired by these two hours.

Last wednesday I worked a bit and then spent the rest of time reading Keeping it Straight. As a consequence I felt inspired and that’s exactly what I wanted.

There’s a work of craft and love in Patrick’s book that revolves around a constant search on how to make the most out of the time you have. It’s one of the most difficult challenges in life.

There are a few tips here and there but as Randy Murray said:

“Fans of David Allen’s ‘Getting Things Done’ will instantly embrace Patrick Rhone’s work. Patrick offers the ‘Why’ to GTD’s ‘How.’”

Patrick makes the questions we’re too lazy to make ourselves. We’re often imprisoned by routines we’ve not chosen but simply accepted. Whether it’s a daily job, a way to approach our tasks or even the attitude towards our life in general, Patrick has some tips to share that come from countless hours of thinking. The great thing is that he manages to shrink them in a few sentences, carefully choosing the best words to express them and make them look tremendously easy.

There’s indeed lot to digest: especially when it comes to making choices and productivity, Patrick has a radical approach that may not be what you need right now. I’d say one step at a time is better.

While there’s a buddhist philosophy background in Patrick’s suggestions, there’s also an apparent US approach to life that is somewhat different to what I’m used to (and that’s probably due to my geographic roots, the always beloved Milan): we’re more detached from our feelings, we tend to express them in a more subtle manner. I always feel a bit uncomfortable when I hear “I’m so excited about this project!”, that seems a bit of exaggeration to me. That’s why I appreciate the chapter on controlling your own emotions, even if it’s not something I can really relate to.

Same goes for the difference between what we are and what we do: as Patrick himself says, this is a typical american trait.

On a global level, you would like to read Patrick’s book because it’s time to make yourself some questions. It’s always time, to be honest. But he’s got a gift: he makes them look feasible, concrete enough to tackle them without feeling they could crush you.

Keeping It Straight is a good way to get up to speed on trying to achieve a simple life: it’s by no means a definitive guide to minimalism, but Patrick knows that and just wants to point in the right direction.

Think about this: you’re walking around the city and you’re not sure where that damn restaurant is. Patrick is the guy you ask information to and points you in the right direction, while also telling you to try out the steak there, because it’s wonderful. At least, that what it felt to me reading it.

Here some links you can check out:

Past entries