WordPress & Markdown

I insist in using markdown in the WordPress editor when I write my posts. Reality is that a WordPress blog is an idea that defeats most of the pros of using markdown.

I like markdown because it helps me keep my focus on what I’m writing more than on how well formatted it is.

I’ve been trying using static sites generators for blogging because I’d love to leverage my coding editor (Sublime Text) to write a post as a markdown file and to be able to publish it with a git command. But WordPress is offering a strong platform for templates and plugins. There are so many options to extend what a blog can do that, I think, I still have to figure out the right workflow to make blogging so easy that I’ll be ready to give up all the bells and whistles of WordPress.

Performance-wise a static pages blog is amazingly fast and does require less SEO smartness ( I confess I’m SEO dumb ). Nevertheless WordPress, in the latest releases, has improved dramatically in terms of speed. To start a new blog with no intense traffic, a 5$ a month droplet on DigitalOcean is more than enough now to have decent page load times.

If you have any idea on a good workflow, to post on a static site generator using markdown from Sublime Text, please let me know in the comments.

I’ve been looking into Sculpin, and few others out of this 1 year old list from mashable, but I’m still not convinced on any one in particular (sorry to see that Scriptogr.am has only few days left before getting discontinued).

I’ll likely give a try to Ghost in the next days and we’ll see, but I’m definitively open to suggestions.

A “Meteor” hitting the web shops: show some “Reaction”!

When in 2012 Andreessen Horowitz invested in Meteor there were very few people around betting on Javascript gaining such a huge momentum as it is doing in these very days.

Now Angular, React, Ember, Vue are all around us.

You probably still know someone that has javascript disabled in their browser. They think is something that makes them safer. They maybe continue using IE8 with Javascript disabled.
I think (Disclaimer: strongly opinionated statement ahead :-) ) they deserve to be left behind and the only redemption they can ask for is if they take a baseball bat and make those that told them to disable Javascript run for shelter.

To be honest I got left behind as well as my current level of understanding of the most recent client technologies has always been a fraction of my attention to the server stuff and, server side, I’ve spent too little time with Node.js.

But I’ll invest some time in looking into some new JS frameworks and some of our laravel apps are already leveraging Angular or Vue.

One platform that I’m definitively going to look into is Reaction.

Being based on Meteor and claiming to have a good “relationship” with Docker and with Segment.io looks like a well-thought e-commerce platform.

I believe that Magento, despite is dominant position, is leaving a door open for newcomers to gain interesting market share quotas. Many companies try to force Magento (and it’s numerous plugins) do things that are dramatically difficult to achieve and that end up delivering poor performances.

Reaction’s list of feature, even if many are still part of the vision, is impressive. Asking more to a platform that will exit Alpha and enter Beta in September is probably too much.

A platform that promises fast prototyping in the e-commerce domain is probably worth some serious level of attention.

No Strategy in Content Marketing

A pretty old but still interesting infographic I got from Similarweb showing that 56% of the interviewed marketers at the beginning of this year did not have a defined strategy.

This, in a such fast growing market, is definitively an interesting business opportunity.

More important. Has forced me to think:

which is my Content Marketing Strategy?

State-of-Content-Marketing-201511

Why a web framework is so important?

Recently I’ve been composing some funny love songs[1] on Laravel.

why I do care so much?

The net is plenty of smart guys that hate frameworks and feel like using one is an unbearable hit against their freedom.

Even the inventor of Ruby, commenting on why Ruby has been such a big thing in the last 10 years, despite the programming language being around from 1995, has recognized the key role Rails has got in this.

It is true that, when you choose a framework, you are basically delegating to the framework creators many choices that you could have made by yourself.

Take laravel, I’m basically saying that the IOC, routing, cashier, ORM, and many other things that compose the framework are OK for me.

Despite the fact that with laravel, if you are not happy with some of the implementations, you can always swap them with your own, this is exactly why I use a framework.

When Laravel Spark will be released it will be even more so.

When my business needs a solution to automate a new process I simply:

# vagrant at homestead in ~/Code on git:master x [13:08:33]
$ laravel new wonderful-process-automating-solution

and I’m ready to work on my business not on which routing implementation to use.

And, as Dries Vints rightly pointed out in his presentation at Laracon EU 2015, if you add this to the picture:

// Zend
$route = Literal::factory([
    'route' => '/foo',
    'defaults' => [
        'controller' => 'foo',
        'action' => 'index',
    ],
]);
$router->addRoute('foo', $route);

// Laravel
Route::get('foo', FooController@index');

you’ll see why a framework is so important to me.


[1]: BTW, I promise this will be the last love song I write for Laravel. At least till next Monday :)

Excel tables in presentations

Working on our Playbook I’ve arrived to the “Presentations” chapter. For a company like ours, the quality of the presentations we use and we send is vital.

Did we do a good job till now? No, definitively not.

I already covered some of this concepts in a recent post on Deckset. But tools is the less important part of the idea.

I hope you can share my same experience.

You show a slide containing an excel table with the P&L of your company (ours is 9 columns by 22 rows, something you can barely read if projected). Based on who you’ll present such slide, you can expect your counterpart to “search” for some numbers in the table and to “ask” some questions on the numbers he/she has or has not found.

Well, I believe this is our job. We should search and we should present the answers not the person we are presenting to. If you force someone to run a scavenger hunt to find the needed info, best case, you’ll create the feeling you’re trying to hiding data more than presenting it.

If you are presenting your P&L to a VC it is likely that he/she will ask about your DSO(1). If yours is (like mine) 22 days this is really good news(2) for the VC. You should not hide such info in an unreadable slide.

If you have some critical figures that you know will not be well received, outlining them will convey the clear message that you know what you are doing and where your problems stand.

(1) DSO is year-end trade receivables net of allowance for doubtful accounts, plus financial receivables, divided by one day of average revenue. A decrease in DSO represents an improvement, an increase a deterioration.
(2) The last time I’ve checked average DSO in Italy was >75 days but even in Germany and in the Scandinavian countries, where companies have a DPO lower than their DSO, the average is around 50 days.

Shrinking the development environment

In my personal experience, when you develop software, there is a high risk of spending too much time trying to find the ideal development environment. As always everybody finds the better simply being the one they feel more comfortable in. There’s anyhow a criteria that I think can apply to most of us: less is more.

Too many tools create a management/maintenance overload that can kill your kanban and make your cards cross the board at turtle speed.

Being in the position of doing so (no app related need for a huge screen) the first thing I’ve cut has been from 2 computers (an iMac27 with and additional video and a MacBook Air) to a single laptop.

Coming from an old world, when the “Hello World!” example was a new thing, I’ve always been a keyboard guy. Not a sophisticated and smart EMACS guy (sorry rms) but a plain vanilla vi guy surrounded by programmers using ken’s ed.

This, after trying and loving PHPStorm, has anyhow ended up in me choosing Sublime Text as the day by day text editor: so fast there’s no way back once you have got used to it.

So I currently run what I think is a pretty common setup:

  • a MacBook Air (not so fast i7 but a joy to carry with no power adapter thanks to the long lasting batteries)
  • Sublime with many plugins to get close to an IDE
  • iTerm as a terminal replacement
  • oh-my-zsh because it simply rocks!
  • VirtualBox and Vagrant to run Laravel Homestead
  • Trello to manage our kanban board
  • alfred to manage my mac mainly with the keyboard (even if the latest spotlight implementations have filled some of the gaps)
  • a GitLab DigitalOcean droplet to git up and down (you can set it up in less than 1 minute)

Sometimes I feel I miss the real estate of the dual video iMac. Learning to move fast across open apps in full-screen has been helping mitigating the negative feeling. On the other side, I’m starting appreciating the augmented focus a single screen, in no-distraction mode, can offer.

Sailing in the DigitalOcean

When I think “Cloud” one of the best definitions I’ve found is:

“on demand delivery of IT resources via the Internet with pay-as-you-go pricing”
J.Lindblom

and if you manage a start-up, you know how important is to be able to move all possible costs from fixed to variable (this will also make your potential investors smile).

While in some development areas (images heavy lifting is one example) is still easier to reach better file transfer speeds using a local server, once you move to production, all the advantages of a cloud solution are pretty clear.

At Sunnyebrand we currently have a dedicated DigitalOcean droplet (basically an SSD VPS you can deploy in less than 1 minute) for each of our key web apps.

Knowing that you can create an image of your droplets and move your server wherever you want, when you want, with no troubles, gives a truly positive feeling. Anyone that has been involved in migrating infrastructures from provider to provider knows it.

Reality is than many companies continue to pay crazy prices for hosting services of very low level, simply because the low level service means moving a server can be a nightmare.

As an example, as at today, Godaddy start offer for a VPS is $24.99 a month if you commit for 1 year. But in Europe you pay in Euros: €24.99 the first year and €29.99 after the first renewal. You get a 1GB RAM/ 40GB Disk / 1TB Transfer VPS.

The starting price for a droplet on DigitalOcean is $5.00 a month for a VPS with 512MB / 1CPU / 20GB SSD Disk and 1TB Transfer. More than enough to run this blog. And you pay by the hour so if you delete your droplet you stop paying.