Writers write

Thats one of the shortest pieces of wisdom I found online somewhere, and it’s profound in its simplicity.

If you want to become someone – do what the job requires. If you want to be a writer – write. If you want to be a coder – code. Teachers teach. Doing is everything.

I strive to write at least every other day. I don’t even want to be a writer. What I’d love to become is a better communicator and storyteller.

As Mike puts it:

… By learning to string words together well, you are actually learning to observe well. Language enables thinking, and by extension better language enables better thinking. Better language comes from practice and story telling, so try narrating your own life in an attempt at objective self-reflection

Here are some great posts on why everyone needs to write and how to do it better, to serve as inspiration/kick in the butt (for you and for me):

Jeff Atwood: Fear of writing and Always be shipping, always be jabbing
James Altucher: Tips for becoming a better writer (including some you’ve never heard)

Fixing encoding issues on WordPress (comments display as question marks)

One of my dear friends in Russia subscribes and reads my blog :) how cool is that?

Well, we also discovered that her comments that she posts in Russian (using Cyrillic characters) don’t get saved properly into the database, and are displayed as a bunch of question marks ‘??????’

As I suspected, the character encoding was not set right. Older version of WordPress had latin1-swedish collation as default (weirdly enough). Latest version had this corrected, and the default is utf8, and you can also specify it in settings in wp-config.php file (as described in this Codex article):

define('DB_COLLATE', 'utf8_general_ci');

To fix this issue on existing installations, open your MySQL console (command line, MySQL Admin or PhpMyAdmin), backup your database (just in case), and follow these steps:

  1. Starting from the top, the database level, let’s make sure that the database encoding is correct:

    ALTER DATABASE my_wp_database CHARACTER SET utf8;
  2. While this applies to all the new tables within this database, it does not change encoding of the existing tables. So that’s why, we’ll need to go a bit deeper to the table level.

  3. Table level: make sure your table collation is set correctly:

    ALTER TABLE wp_comments CHARACTER SET utf8;

  4. Again – this change will be effective for all new columns within this table. For existing columns, we’ll need to go down one more level.

  5. Column level: set collaction on individual columns within your table.

    alter table wp_comments change comment_content comment_content LONGTEXT CHARACTER SET utf8;

    alter table wp_comments change comment_author comment_author LONGTEXT CHARACTER SET utf8;

  6. This will not change your existing data, but going forward, your comments will be saved and displayed with correct encoding.

Source: Codex article on converting database character sets

Free MongoDB online courses – developer and DBA tracks

I tweeted about the new MongoDB online education portal when it was announced, and signed up for both DBA and developer tracks (because I’m curious, mostly, even if I don’t become a Mongo DBA it’s still free knowlegde!).

The courses are available online and you can still sign up:

As a reminder, your friends can still join the course. We will be dropping the lowest week’s homework grade in the calculation of your score so students who join can still receive a certificate of completion.

I hope that my NYC peeps are all safe and sound after the Sandy hit, and those still with power and internet can take this chance and learn something new.

Learn to code for free AND score a cool job in LA

A few days ago I learned about a very cool and unique way to get yourself a job as a coder at GOOD – an innovative digital media company based in Los Angeles. And the best part – you donâ??t even need a CS degree or know how to code, you can learn!

GOOD partnered with Apollo Group and created â??Coding for Goodâ? – a hybrid between online learning and job application. The steps are simple:

  1. Learn how to code with experts from Twitter, GrooveShark, HUGE and SoundCloud. How awesome is that?!
  2. Complete your final project by the end of November
  3. Selected finalists are flown to LA to compete in the final round

Start learning to code now, so you can submit your project by December and start a new year with a new cool job. Ahh, now that Iâ??m writing this, Iâ??m actually tempted to try out, to have a reason to move and combine my two passions – work with technology and surf!

Even if you donâ??t end up as a finalist, the lessons are really informative, related to modern, in-demand technology (HTML5, JavaScript, working with APIs) and even include video tutorials. I just watched the HTML5 canvas lesson by Dan from Electronic Arts, and itâ??s such great quality content that is available online, for free – so take advantage!

If you need more information, check out the Coding for Good website

Startup infrastructure talk by Paul Hammond

Earlier this week Etsy hosted an excellent talk by Paul Hammond on scaling Typekit.

If you don’t know – Typekit is a service that lets you use beautiful fonts on our website. They provide fonts and hosting, and were acquired by Adobe in late 2011.

Here’s a summary of the main points from the talk:

Running a startup looks like this – Wallace trying to lay tracks in front of the moving train. Things change quickly, and you a task at hand – make sure your site is up and running.

*I love Wallace and Gromit so I had to borrow and include this pic as well :) Hope Paul doesn’t mind

The life of startup has 3 types of endings:
– Become profitable
– Get acquired (for technology, talent or product)
– Fail

Scaling HGH startup HGH can be summed in 3 simple steps:
– Find your biggest problem
– Fix it
– Repeat

There’s one main rule when you’re running a startup: don’t run out of money.
And one thing that requires the most money is human talent and time – don’t waste it. Outsource/buy everything that saves you time.

In the beginning, it doesn’t really matter what you use, as long as you get the job done. Paul calls this the “minimum viable infrastructure”.

Minimum viable infrastructure looks like this:
– Source countrol = Git
– Configuration management = Rsync and bash
– Servers = EC2
– Backups = via command line with S3cmd
– Monitoring = Pingdom

If you get a chance – definitely go see Paul’s presentation in person, he’s great. Full deck of his talk is available on his site.

Manage or code: pick your own adventure

I was presented with this question the other day: can you NOT code? The answer is: I canâ??t. Iâ??m certainly not the best developer out there, and my current role does not really require coding. But I really love and enjoy it, and whenever I get a chance, I like to get my hands dirty on some quick-win or hobby projects (that’s why I like Javascript and Python that let me get the job done quickly with minimal dependency overhead)

The next question that comes to mind then: do you prefer being a developer or a manager? This is a very interesting one, and I think I could go either way. Being a developer is fun. Developersâ?? lives allow for a delicate balance of logic and creativity. And because the nature of development is so focused, they can truly become masters, experts of their domains. Developers are like alchemists with some special secret knowledge, who can turn clay into gold with their magic touch. And of course, that earns them lots of respect (and monetary rewards too).

A great technical manager is ideally a former developer, so he/she understands how other fellow developers think and work. This manager knows how to make developers happy and get great results: give them uninterrupted environment, challenging and well-defined tasks, reasonable schedules and timely and clear feedback. Managers interact with other roles in the company, so they get the visibility to everything related to a project, from different people and angles. A managerâ??s world is not binary: there are complex human interactions, lots of details to weigh and decisions to make. Great managers are like orchestra conductors: they know how to get everyone play their instrument in harmony with others and produce a beautiful tune.

So if both sets of skills are so valuable, can one person be a programmer and a manager at the same time? The answer to this: probably not. You could have a technical manager who spends a small percentage of time on quick one-off coding tasks. Or, you could have a great developer who plays more of a lead role, but stays very close to the code. If you start demanding of someone to be a great developer AND manage the whole process, it is bound to fail at some point. These roles demand different dynamics: development requires a lot of focus, while managers constantly interact with various people and thus get interrupted quite a lot.

So I think these scenarios work well:

– Youâ??re a technical manager who no longer codes or who codes occasionally and on a small scale
– You’re a developer who takes a lead role within the tech team, but not heavily involved in larger project management

Should a CTO code? Be able to – absolutely. Do it as a daily routine task – no. Hire 2 people – a great manager/leader and an awesome developer, and you will win in the long term.

Which Macbook is the best? The one that you bought

The rumor on MacRumors says that there’s a 13″ Retina Macbook pro coming out soon.

Which is gonna be pretty frigging cool. It also inspired some funny comments and responses, including one from Jesus himself:

Which MacBook is the best? Marco says it’s the 15″ Retina Macbook Pro. While Jeff thinks the line of Pro’s is near dead. And a whole lot of people are fans of Air.

I think all of them are pretty damn good. My mom who got her first Macbook .

I think all of them are pretty damn good. My mom who got her first Macbook earlier this year (thanks to us :) is in love. I switched a few years ago and never looked back. The coolest companies put the option of getting your own Mac setup as a perk. Our tech department started with just a few Mac users, and is now about 90% Apple.

So the debate which one is “the best of the best” is really a simple personal decision – pick one suits your needs (portability vs screen/performance) and join the ranks of the happy ones.