Great advice from Michael Wade to remember to do the small things.

Nicholas Bate and his daily investments. Still a favourite blog of mine.

For those interested, I’m still working on a startup screen and Heroku deploy button for Commonmarks. I’ll post an update when I’ve finished these additions.

DuckDuckGo map related searches are now powered by Apple’s MapKit JS framework.

Nice to see DuckDuckGo and Apple unite on privacy and improve searches. I switched to DuckDuckGo years ago and I haven’t looked back since.

Signal v Noise leaves Medium

It’s great to see the Signal v Noise blog running under Basecamp’s own control again.

Beyond that, though, we’ve grown ever more aware of the problems with centralizing the internet. Traditional blogs might have swung out of favor, as we all discovered the benefits of social media and aggregating platforms, but we think they’re about to swing back in style, as we all discover the real costs and problems brought by such centralization.

Signal v Noise exits Medium by David Heinemeier Hansson

I’m not sure what to make of the new status feature on GitHub. I barely use the status feature on Slack, so why would I set my status on GitHub?

More screen time for kids?

According to philosophy professor Jordan Shapiro, parents should embrace the technology that their kids are using and not worry so much about the time they are spending on it.

“Your job as a parent is not to stop unfamiliar tools from disrupting your nostalgic image of the ideal childhood, nor to preserve the impeccable tidiness of the Victorian era’s home/work split. Instead, it’s to prepare your kids to live in an ethical, meaningful and fulfilled life in an ever-changing world,” he writes. To do this, he argues, families and schools must embrace technology, including gaming, to prepare kids for an uncertain but determinedly digital future.

A philosophy professor argues kids should use more technology, not less by Jenny Anderson for Quartz

As a tech-loving parent of two boys I know full well the impact of technology on our family. We do have a few ground rules when it comes to technology. No devices at the dinner table, no devices during movie nights and at least one night a week spent reading instead of gaming. Sure there are times when even I think that the boys have spent too much time on their games consoles and so we’ll huckle them off, and we’ll do something else.

Mostly it’s all about balance in our house, but I definitely lean towards allowing them to spend a bit more time on their games consoles. I remember spending whole weekends playing my games consoles and computers as a kid, so I’m in the camp that video games are not a bad thing. We also have more creative and educational games available. Minecraft anyone?

Maybe I’m a bit more forgiving in this respect because my oldest and I have started gaming together online recently. It certainly helps in the competitive matches in Overwatch to have a player you know to communicate with. We just need to get Drew to practice a bit more, and we’ll have a solid trio to play as online!

Considering Commonmarks as a SAAS product

Over the last few days there has been some interest in my bookmarking web app that I’ve been working on.

Why another bookmarking solution though?

I used Pinboard and Pocket for a while, but I was never comfortable with either of them. Pinboard hasn’t seen much change in the last two years and Pocket is more akin to Instapaper (which I already use) than it is to Pinboard. I also wanted to work on something that I could pin to my GitHub repo as an example of work.

Features are light at the moment, with just the ability to add, edit and delete bookmarks as well as the ability to group tags into bundles. A basic web application, but it works. I’m using it on a subdomain of my own site .

I’ve had replies from people who are interested in a hosted solution rather than having to roll their own. I initially pushed back against the idea of starting a SAAS product. There’s a lot to do to make this happen as the open source version is for a single account only. There’s also all the other parts of a SAAS product to consider such as billing and privacy now that GDPR is a requirement. Also, my first attempt at a SAAS product is still ticking over but hardly a success in terms of revenue.

However, with growing interest, I am going to entertain the idea of making Commonmarks into a SAAS product. I won’t be abandoning the open source version, but the way ahead might lie in using the same model as Feedbin. They are an RSS reader service, but the source code is open source. I’m wondering if this would work for Commonmarks as a product as well?

There is a lot of other things to consider as well for this such as hosting, pricing and support. I won’t be entirely excluding the idea though until I can at least gauge some interest in the product.

The next step looks like it might be to set up a page to allow people to register their interest.

A number of packages that I used to use in Sublime Text have disappeared over the last few months including the DA UI package. Is this the VS Code effect?

What would you do with an empty day?

What did you learn in 2018?

The new world order of JavaScript

There’s no denying that JavaScript is an excellent language for the web, especially the front-end of any web application. Without it, we can’t enjoy a user experience that challenges native applications.

However, I am not convinced that JavaScript is a language that is suitable for all parts of an application’s stack, all the time. There are benefits to using JavaScript depending on the requirements, but it feels like JavaScript is becoming the go-to language for everything.

Heydon Pickering’s post is an excellent read about this issue and full stack development and how this role is changing with the larger set of JavaScript tools and frameworks available, but it’s his point about separation of concerns that resonated with me:

We need to revisit the separation of concerns principle. We simple can’t afford for people to have to know everything just to do something. It’s good that we conceptualize designs in terms of self-contained components now, but that can be a mental model without being a technology-specific land-grab.

Reluctant Gatekeeping: The Problem With Full Stack by Heydon Pickering

It wasn’t that long ago when front-end developers and designers worked with back-end developers on applications. There was a separation of the two roles and their focus, and each side had the knowledge to carry out their role. Front-end developers would work on HTML, CSS and JavaScript, crafting functional yet beautiful user-interfaces. Back-end developers would work on business logic and background processing.

With the rise of JavaScript though, we’re seeing a convergence of tooling onto a single language, and the roles of front-end, back-end and full stack developers becoming less about knowing the respective field and more about knowing JavaScript.

The new world of web applications is moving to JavaScript, and that’s great for the web as a platform. We can now build applications that rival that of native apps using a single language.

However, when faced with programming language choices in the stack, should developers be quick to default to JavaScript?

I probably need to start thinking about imports now for Commonmarks. Pinboard and Pocket are probably the two exports that I need to focus on.

Private repos for developers on GitHub’s free plan is a great move by Microsoft to match the likes of GitLab. I’ll need to check to see if I need that $7 Pro plan now.

8 years using Ruby on Rails and today I just used the after_find callback for the first time. Every day is a school day.

I must admit, I do miss freelancing. Skipping the commute into the office this morning would have been a good start to the day.

I am hoping to add RSS feeds to Commonmarks today so that I can hook up my bookmarks to Micro.blog. The plan is to have a public feed that the owner can control as well as a private feed that the owner can use themselves.

Just finished watching Bird Box on Netflix. Fantastic to watch but closing the blinds now. 😱

Back to work

It’s my first day back at work after an extended period of time off.

I’m going to be catching up on various communication channels and trying to find where I left off before the break for the holidays.

As always on days like this, I know it’s going to take time before I get back into my regular flow again.

First round of the year with Ethan. Pleased to say we’re both hitting the ball well but my game dipped on the last few holes.

Say hi to Commonmarks

My own bookmarking app is up and running.

It’s nothing fancy in terms of how bookmarking apps usually work, but I wanted this to look and act more like a blog than a collection of bookmarks. I opted for paginating results on the right with a sidebar on the left. In time the sidebar will include more filtering options.

I’ve had a couple of stabs at my own bookmarking apps over the years, but this one feels more right than wrong. The code is still rough around the edges, but I’m happy to open source it now on Github.

And the name? Well, think of it as a commonplace book for your bookmarks.

A few scrappy thoughts on buying online instead of locally

As I picked up our New Year’s Day order from the butchers this morning, I was reminded of how little I have used my local butchers and other local stores since I started working in an office.

When I worked from home, I shopped locally every week. Very rarely did we have to do our grocery shopping online. I was able to pick up most things from local stores during my lunch break. It was a good time to get away from my desk and get some air. Now that I commute to an office though, I don’t have the time in the day to continue to shop locally, and the stores where I work aren’t convenient too within my lunch break.

My thoughts on this are still a bit incoherent despite having tried to write this for close to an hour now, but here’s what I have in raw form.

  1. More people should be allowed to work remotely. Working from home gives you more time to run a few errands as well as shop locally and support local businesses.
  2. More people should be allowed to work fewer hours. Is a 40 hour work week really necessary anymore? Working fewer hours would allow us the time shop locally as opposed to just feeding more and more orders into the Internet retail giants.

I’m not an economist, and I’m sure there are holes in these thoughts, but if I could have seen the damage that internet shopping has caused to my local town, then I would have been a bit more selective about my spending habits over the years.

I’m usually the first person to defend the march of technology, but it’s come to a point where even I’m not sure that the change has been for good.

Plugging the web development knowledge gaps

Dan Abromov’s Things I don’t know as of 2018, is a refreshing take on the knowledge gaps of software developers. Even though Dan is the creator and maintainer of a widely used package used with React, his list of knowledge gaps in web development is quite an eye-opener. And he made them public too!

I’ve worked alongside a lot of great developers, and I’ve been amazed at both their spread of knowledge on web development but also their gaps. I rarely pay attention to the knowledge gaps though. It’s easy to be amazed at the breadth of one person’s knowledge and not focus on a person’s knowledge gaps. Perhaps they just didn’t get round to that gap, and focusing on their knowledge gaps feels wrong, but should that be the case?

As I’m approaching 20 years working in software development, I’m starting to know the excellent job descriptions from the bad ones. Merely listing a long list of tech experience that you would like in a candidate is a poor way of getting the right one. In my view, the best candidate can come in and use their soft skills to learn and get up to speed in a few months regardless of their experience. I think it comes down to the fact that more organisations want their candidates to hit the ground running from day one. No training or onboarding, just another cog in the big development machine.

Given the number of languages, frameworks and other techs in web development, it’s a near impossible task to keep up with everything, but I’m taking two things away from Dan’s post.

  1. There’s no harm in not being up to speed with everything that a full stack web developer should do. Sure, I can deploy an app using Cloud66, Heroku and Dokku, but I can’t say the same for Docker and Kubernetes. I can deploy web applications, but only on the technology that I have chosen to learn.
  2. I’m considering changing my job description to be more specific. Sure I can be a jack of all trades, and know a bit of everything in the web development stack, but I’m sure I would be better off describing myself as a backend web developer instead and focusing on the technologies around that.

With these points in mind, I’m renewing my focus on Ruby on Rails as well as adding to this the knowledge that I need for the gaps around it.

It’s good to know though that I am not alone in not understanding a few topics that have been popular in the last couple of years.

Trying to keep pace with most of the topics in the web development world is a task in itself, but there’s enough work to keep me marketable as a backend web developer even if I do focus on a single core skill.

Great afternoon exploring the Gleniffer Braes with Jennifer and Drew. Drew even came prepared with his own walking stick!

I’m clearing the desk, sorting out notebooks, reviewing app subscriptions, getting a list of books to read and considering what to focus on for 2019. I’ve been all over the place the last few years, time for some deep focusing.