The Developer’s Dystopian Future by Ed FinklerEd Finkler (the-pastry-box-project.net)

I think about how I used to fill my time with coding. So much coding. I was willing to dive so deep into a library or framework or technology to learn it.

My tolerance for learning curves grows smaller every day. New technologies, once exciting for the sake of newness, now seem like hassles. I’m less and less tolerant of hokey marketing filled with superlatives. I value stability and clarity.

…..

I’m scared that either the job “web developer” is outpacing me, or my skills are atrophying.

Marco Arment links to developer Ed Finkler who is ageing and finding that keeping up with every flashy shiny new language and development framework is just exhausting and no longer interesting.

I’m almost 48 — Marco and Ed are most likely much younger — and as a former1 web developer I’m already living into my own dystopian future. I haven’t a clue about Ruby on Rails or Scala.  I dislike the formatting cage of Python and I barely know (or used) Objective C and Java.  I absolutely hate C.

But.   I’m going to try to learn the Swift language and the Node.js framework. I’m going to leverage my other language skills in Perl, PHP and JavaScript.

Then I’m going to learn how to break code.

Because the application layer is where the black hackers and criminals have gone.   The future will be filled with (more) data piracy and breaches, and cyber attacks.  So I’m learning how to break the code and start a new future.

I still call myself a web developer but the technologies have rapidly outpaced my motivation. But I have a plan.

Posted via Desktop Publishing Machine


  1. I still code.  I just don’t get paid to do it. 

I’ve recently started using Ghost.org, an open-source blogging platform that it’s developer, John O’Nolan, hopes will bring back the art of “just blogging1“. Ghost, unlike established players like WordPress or Joomla, has no interest in being a content-management system. It’s meant to be simple to setup and use. I liked the promise of Ghost. Unlike most blogging platforms today which are based on PHP, Ghost is built on top of the popular server-side2 JavaScript engine, Node.js.

Today it’s no longer about media outlets broadcasting, and instead, users now participate as publishers on the platforms of their choosing as content creators as well. Ghost stands on the shoulders of those that have come before, thereby having an extremely unfair advantage. Further still, we enable both companies and individuals to retain complete ownership of their content.John O’Nolan

Getting setup on Ghost is easy or challenging depending on if you want to build your own setup from scratch or want a turn-key solution. Very few hosting providers have an environment that supports Ghost and Node.js and the online documentation doesn’t explain this clearly. It took me a while to realize that my shared hosting provider’s environment was unsuitable to the task3.

Fortunately hosting provider Digital Ocean has embraced early adopters and provided both a one-click installation for Ghost as well as very detailed instructions if you want to do it all yourself.

"Ghost.org Editor Screenshot"

Once you have a working Ghost install, you can start blogging right away. Ghost has a straightforward text editor that uses the Markdown language to insert objects such as images and links. This is not a what you see is what you get (WYSIWYG) editor. However, you can see the output of the Markdown editor on the right hand pane of the editor. The Markdown is parsed and converted to HTML tags in real-time. It works but it can be a little disconcerting when the preview pane jumps as you insert images. I do a lot of photo blogging.

Despite the dogmatism of some people on the Ghost forums, Ghost could benefit from providing WYSIWYG options via plugins. Nothing is more frustrating than trying to enter Markdown text on a mobile device keyboard. I love my iPad but for blogging on my iPad I use Poster. The GUI makes it easy to insert images and Markdown-formatted text and links into my articles. Perhaps this feature will be addressed by a plug-in in the future.

Here’s and example of some Markdown.

This is a [link to my blog](http://islandinthenet.com/) will produce.

This is a link to my blog.

Here’s the Markdown for inserting this image.

![Ghost.org Preview Screenshot](http://islandinthenet.com////wp-content/uploads/Ghost.org-Preview-960x586.jpg)

Ghost.org Preview Screenshot

The Ghost Editor has no spell checker, and you can’t add one via plugins at this time. For a lot of my blogging on the WordPress platform I use now, I use an OS X Markdown text editor, Byword, and a small utility called Quick Cursor4. The app, Byword, has a spell checker, and QuickCursor allows me to automate the process of copying/pasting text between Byword and any text input field — whether in a browser or another app. Unfortunately, the Ghost text editor is written completely in JavaScript so that browser-based spell checkers won’t work, and integrated editors like Byword won’t work either. Hopefully, once the plugin architecture is complete, third parties will write a spell checker.

Once you are done creating/editing your post you can click the “Save Draft” button or click the little down arrow to publish your entry. This is simple and straight forward publishing. However, there is a down side. The current alpha version of Ghost does not support setting a post date into the future. You’ll have to publish your content in real-time. This is a temporary problem as a “future post date” feature is planned for the next release of Ghost.

However, this makes things difficult for people like me, who often get a burst of creativity at hours when most people are still sleeping or watching TV. This means that I can’t schedule my posts to be live and be posted to social media at the times when people are most likely to be in front of a computer screen. This is the number one thing holding me back from embracing Ghost as my main blogging platform. To embrace Ghost fully now, I would either have to save all my posts as drafts and remember to come back later and make them go live at the right times or I would have to change my blogging habits and blog live. I’ll wait for the update.

Ghost.org User Profile Screenshot

The settings page is where you can adjust the user profile and change blog settings such as themes. Most of the Ghost themes I’ve seen appear very similar, but I can say that about WordPress themes as well. There is a small but growing market for premium themes, but I may take it upon myself to learn enough CSS to build my own.

I’m not sure about the purpose of the user profile, and it’s big Google+ like banner.

I’m not going into every feature currently available (or planned) for Ghost but the roadmap is lengthy. Someday soon, I may have a blog post announcing my switch to Ghost. In the meantime, the lack of a spell checker, plugin architecture and post scheduling makes me hesitant to move way from the tried and true, WordPress.


  1. I’m not sure what that means really. For some blogging might be just text, for others like me, it’s text and images. I think defining this too narrowly could limit the feature set of the platform too much. 
  2. Yes, server-side JavaScript is making a comeback long after the death of Netscape. 
  3. Media Temple’s shared environment uses nginx to server user content and Apache for the administrative console. That means I had no way too install or configure nginx as a reverse proxy. 
  4. QuickCursor is no longer in active development but you can download source code on Github. 

That process, the act of programming, is something that I need to do. Whether to make a living or to be fooling around with some idea, the bug is in my system and I highly doubt that it will ever leave me permanently. I can see myself taking a break, but I can’t see myself ever stopping. All I’ll end up doing then is to change my mode from work to play and eventually that will lead back to some form of work.

I didn’t ever stop programming when I transitioned to doing more IT management. I just don’t do it as much. The occasional departmental web project had kept the itch suitably scratched. But recently the itch is beginning to bug me. Software development is now fully outsourced.