Welcome to Cykod. We are a fully-integrated, self-funded web-development startup located in Boston, MA.

Cykod Blog

Lazy Conventioneering

With any codebase there are set of conventions that should be followed For example, CONTANTS_SHOULD_BE_UPPER_CASE, functionsShouldBeCamelCase, _private_variables_should_be_underscored, spaces not tabs, etc. Making the decision early on as to what conventions to follow will give you a consistent codebase. The big benefit, though it's more than just aesthetic appeal. There are real, solid benefits to having consistent conventions in a project.

By giving your entire codebase a constant structure, your giving you're brain a distinct advantage in understanding what's going on in the code in front of you

Reading, as a mental process is really hard for your eyes - the human eye can only focus on a very small portion of it's entire field of view to actually read the individual words in a line of text, however we are able to pick up a lot more information than just the small piece we're focusing on. By giving your entire codebase a constant structure, your giving you're brain a distinct advantage in understanding what's going on in the code in front of you. Similar to syntax highlighting (find me one programmer who isn't a fan) giving your overworked brain additional cues can lead to significant advantages in scanning over code to find bugs and make changes. Two of my favorite languages take this one step further. Ruby (and Rails specifically) pretty much defines one standard set of conventions to use through out your code - classes are UpperCase, methods_are_underscored, etc. Python makes indentation (one of the oldest visual cues programmer use to structure code) a feature of the language - ensuring a consistent usage across all python code.

The flip side is also true: code that has no consistent structure or conventions is much harder to grok at a higher level. One of the major differences between novices and masters, the ability to quickly scan and understand code, flies out the window if the code isn't structured consistently and readable. Being lazy about coding conventions does more than just look unprofessional, it makes it more difficult to understand what's going on and leads to more bugs in the codebase.

This doesn't mean you have to recode your entire codebase in hungarian notation and implement a 100 page style guide for every project - but make sure you pick conventions early on and stick with them. It's more than just an aesthetic advantage but will lead to better software in the long run.

Posted Sunday, Jun 27 2010 10:49 AM by Pascal Rettig | Development, FNEO

Apple's Eden

Apple passed Microsoft last week in market capitalization. This is big news, something that would be absolutely unthinkable even a few years ago pre-iPhone.

Apple was a niche product. It was for designers and the Starbucks crowd and that was it. Now, if I go to a Ruby meeting - everyone is running on a Macbook. It's ubiquitous. Everyone has an iPhone.

The question is, do we welcome our new sleek, futuristic-dancing-silhouetted overlords with open arms or do we need to be a little careful lest we lose something as Apple becomes the market leader?

We are being tempted to take a bite of their succulent technology, but the danger is not that we are going to be thrown out of paradise, rather that we'll be let back in.

Well, I think the name Apple is incredibly fitting if we reverse the myth of the Garden of Eden (Heck, the Apple Logo even has a bite out of it) We are being tempted to take a bite of their succulent technology, but the danger is not that we are going to be thrown out of paradise, rather that we'll be let back in. Back in to a walled garden where we no longer have the free will to use bad technology (Flash) but also will have a gatekeeper that controls what gets let in and what doesn't.

I believe Linux users and users of free software should be afraid (Yes, I'm liberally sowing FUD right now, but I think a little caution is in order) I never liked liked Microsoft, but I was never scared they would be dominant to a point where they would be able to affect my personal freedom. Why? Because people used Microsoft products, but they were never really happy about it. Even the MS Fanboys were pretty tame, sort of like they accepted their position as evangelizers of the platform, but secretly plugged black headphones into their iPods so no one would know.

Apple users are different. They believe.

To use a Firefly reference, who scares you more:

On the left you have a sociopathic killer who will electrocute and flay you upside down if a job goes wrong
(in this example, that would be Microsoft)

      

On the right you have the idealistic operative who wholly believes they are guiding you to a better world
(Apple).

 

I'd take the sociopath every time over the idealist who is willing to destroy every right you have along the way just to get you to a better world. [ This is a just a metaphor, I don't really think either company has killed anyone - Chen's still alive, isn't he? ]

Steve Jobs thinks he's building a better world. They are refusing political satire Apps into the app store to protect the children. They are wiping years of developer hours off the face of the earth because they don't want apps that create "Desktops" in the app store (See MyFrame story). But he wholly believes: "We always saw ourselves as building the best computers we could build for people"

A future of the Web that has a gatekeeper scares the hell out of me.

Do you think Steve would think twice about enabling objective-c scripting in the iPad browser because of Web standards if he thought it would be better for iPad users or Apple? I don't think so. A future of the Web that has a gatekeeper scares the hell out of me (I'm a web-developer, so clearly I have a selfish vested interest). Update: See this great example of how Apple treats the "open" web.

Now don't get me wrong, I love apple products. In fact after I poured wine over my Macbook and got angry that they wouldn't fix it for me at any price (once a unit is water damaged they won't touch it - even though everything works on the machine except the backlight), I'm going back with my tail between my legs today to get another Macbook. It's the best laptop out there.

But I'm holding off on the iPad as long as I possibly can because I don't want to fade away into the walled paradise just yet.

Posted Thursday, Jun 03 2010 11:01 AM by Pascal Rettig | FUD, Rant, Troll

You're a dork

At least I hope you are. If you aren't you're going to be at an undeniable disadvantage to those who are.

My wife and I recently went to see Josh Ritter at the Orpheum. When he came out on the stage it was odd because he was smiling. I mean really smiling. I had assumed that he was of the angsty alt-country mold I was used to (along the lines of Ryan Adams pre-marital bliss) so it was unexpected that the guy on the stage belting out soulful, intricately-worded Midwestern gems was grinning ear-to-ear.

"Oh wow," I thought "Josh Ritter is a real dork."

After being startled by this fact for a few songs, it sank in that this wasn't an act and he was genuinely excited to be there on stage singing. His excitement and enthusiasm overwhelmed the audience and we quickly became dorks right along with him. When the lights turned off and he sang a song, minus microphone or any amplification, just him with an acoustic guitar strumming and belting out to the hushed crowd, we ate it up. When mid-concert one of his bandmates mothers came out and recited the poem 'Annabelle Lee' on stage, none of us jaded Boston yuppies in the crowd batted an eye.

Passion is intoxicating. Watching someone do something well that they are passionate about is an enthralling experience.

And passion is Dorkiness. It's the kid back in high school who was a little too excited about model trains and took a lot of abuse for that fact. But no matter how many times he got made fun of for responding seriously to a question asked in jest he continued to answer in earnest when someone asked him about his newest locomotive.

While that passion might get you a wedgie in high school, it's a recipe for success in real life.

Jesse Schell has a section in his "The Art of Game Design" called "The Secret of the Gifted" that speaks to this:

Well, here is a little secret about gifts. There are two kinds. First, there is the innate gift of a given skill. This the minor gift. If you have this gift, a skill such as game design, mathematics, or playing the piano comes naturally to you. You can do it easily, almost without thinking. But you don't necessarily enjoy doing it. There are millions of people with minor gifts of all kinds, who, though skilled, never do anything great with their gifted skill, and this is because they lack the major gift.

The major gift is love of the work.[ Pg.6 ]

Love will keep you working at that skill, keep you growing at it. As Schell writes: "And your love for the work will shine though, infusing your work with an indescribable glow that only comes from the love of doing it."


Being across the table actually interviewing people, I finally understand why interviewers always say they look for candidates with passion.

Being across the table actually interviewing people, I finally understand why interviewers always say they look for candidates with passion. When I first heard this, I called shenanigans. Passion above IQ, Resume and Schooling?  But now speaking from personal experience, passion is really is what you look for as a prospective employer. Most important is whether the candidate would be overall be a good fit in the office. The next most important thing by far is what gets them fired up, what makes their pre-interview nerves melt away as they go-off on slightly too long of a tangent regarding something work-related they love. Someone with a limited skillset but a passion to learn your business beats a learned automaton every time.

Me, I'm a Web dork. If you want to get into an uncomfortably animated discussion, ask me about anything related to current web technologies (I'll get extra excited if you mention the word "Rails") and you'll be in for at least a 1/2 hour discussion for how HTML5 is going to cure cancer and bring about world peace. Make the mistake of asking our designer (and my wife) Martha about typography, you'll learn far more than you ever wanted to about Kerning and Serifs.

So like "Nerd" and "Geek" have morphed themselves from insults to badges of pride, we're reclaiming "Dork" too. In fact I wouldn't ever imagine hiring someone who didn't give me a "Wow, they are a dork" moment.

Oh, and go buy Josh Ritter's Albums. We need more dorks like him in the music business.

Posted Tuesday, Jun 01 2010 02:11 PM by Pascal Rettig | Rant, Troll