Since I didn’t need anything more fancy than a static page, I went with GitHub Pages for hosting, which is free and fast. The initial version of the page looked like this:
I was tempted to go with a database back-end, but ended up just keeping the list of competitions in a JSON file. This meant anyone could propose changes through pull requests on the project’s GitHub repository, and I was surprised that within a few weeks several people had added competitions I didn’t yet know about!
After I got a few visitors I realised a big grid really didn’t work on mobile, so I spent a bit of time trying to improve that. I hadn’t done any real web development in almost a decade, but with a little help (thanks Natasha!) and a bit of trial and error I got it to be much more usable on mobile.
From the start I’d had a form on the page so visitors could join the mailing list. It’s really easy (and free) to set this up through mailchimp, and I feel like it’s worth doing even if you’re not sure you’ll send many emails. So far around 500 people have joined the mailing list, and I’ve sent a handful of updates.
I also added Google Analytics early on, and it’s been nice to see the traffic growth. There was an temporary spike at launch when I posted the site on Reddit and Hacker News, followed by a brief plateau, after which the traffic increase has been slow but steady.
Most of the traffic comes through search, and I’ve found Google Search Console super valuable in trying to see which phrases people are searching for when they end up on my site, and for which phrases I could be ranking higher. It also pointed out a few site usability issues which could have been hurting my ranking.
I used the free Moz Pro trial to figure out which sites I should be trying to get links from in order to rank higher for relevant keywords. This led me to a few Medium posts, and after contacting the authors through LinkedIn they were usually more than happy to include a link to my site in their articles.
I’m hoping to see continued growth to the point where I can monetise the site a bit, but so far it’s been a good learning experience and it hasn’t cost me anything but time.
There’s one link on there advertising Genesis Cloud – a cloud provider I’ve been using for training some machine learning models (their GPUs are very cheap!). I contacted them as a customer looking to promote their service, and they gave me a link I could put on my site. If they get any new paying customers through my link I get some credits to use on their cloud compute service.
I hope my experience is helpful to others trying to set up a simple site.
And here’s my site, listing ongoing machine learning/data science competitions: mlcontests.com. Sign up to the mailing list for occasional (~once/month) updates on new competitions. All the code for the site is here.
For a more detailed guide on how to get set up your own blog with GitHub pages, I’d recommend this fast.ai article.
[Warning: this is quite a technical post. If you don’t plan on running your own blog or have an interest in SEO, you’re probably better off skipping this one! ]
Medium – the good
I love Medium. After using it to find and read great content, I started my own blog there just over two years ago. It’s a great place to find an audience for your content – several of my posts got thousands of reads, and I’m not sure I could’ve got anywhere near that if I’d gone with another platform.
In fact, I’m not sure I would’ve even got started on another platform. The simplicity of Medium’s writing experience – literally as simple as log in and start writing – was what I needed. Everything automatically looked great, and procrastinating by editing themes wasn’t even an option.
But Medium has its issues. I’m not going to do a full comparison of Medium against other platforms as there’s a lot of content that does that out there already, but I’m going to go through the issues I’ve had with the platform and why I’m considering moving my blog elsewhere. You might notice that this is the first post I’ve written on WordPress, and the content is being automatically copied across to my old Medium blog.
The issues I’ll go over apply if you’re trying to find your own space on the web for your writing and as a hub to other projects you’re involved in. They don’t apply if:
You want to start a regular writing habit with no goal other than improving your writing (go with Medium)
You’re a professional writer and you’re trying to get your content noticed by others with the goal of being featured in publications (go with Medium)
Most of your content focuses on writing, and you value a community of other writers to get feedback from (go with Medium – The Writing Cooperative is great for this)
The issues came when I tried to use my Medium presence to promote other projects I was working on.
In other words, my blog was starting to get some credibility with search engines – a rare and valuable commodity on the Web.
What can you do with that commodity? In the field of SEO (Search Engine Optimisation), there are two big benefits you can get from content like that:
A boost for the rest of your content on the same domain – e.g. if that page was on harald.co/workflowy, then other pages on harald.co would get a small boost up in their Google rankings for those keywords
A boost for content you link to from that page – for example, if I put a link to harald.co/projects on that page, then harald.co/projects would also get a small boost in its Google ranking.
Using these benefits to promote a website is referred to as content marketing. Content marketing is a key tool in SEO, which is all about improving search engine rankings. And these rankings are more important than ever, with the shift to mobile and search engines being the primary portal to the Web. (this study says 51% of traffic is driven by search results, far more than social media or other traffic)
The issue with Medium is that it’s difficult to get either of these benefits. The first one is possible, but it’ll cost you. On top of the price for the domain itself, Medium now charges a $75 fee for linking your posts to your own domain – and even then you don’t have much flexibility in how this is used. (a domain can only be linked to a specific publication, not to your own profile)
The second one isn’t possible at all. To understand why, a short tangent on how search engines work.
How search engines work
At a high level, using Google as an example, search engines use a three step process for analysing content and deciding its ranking:
Google keeps a list of pages it knows about on the Web, alongside associated links and keywords. (this list is called its index)
Google’s bots regularly visit all the pages in the index. They look for links from those pages, and follow the links to find new pages. (this is called crawling)
Google adds new pages it finds to its index, and updates keywords and links for pages it already knew about. (this is called indexing)
When someone performs a search for a specific keyword, Google consults its index to find the most relevant pages for that keyword.
I’ve obviously missed out a lot of detail here! If you’re interested in SEO, Moz has a good beginner’s guide.
Back to Medium: why should it be any different from other sites?
The issue is with how Medium tags links. In the second step, where Google’s bots look for links, there’s a way to tell them to ignore a certain link. You can do this by adding a small bit of code to the link saying “rel=nofollow” – often referred to simply as nofollow – which means that Google won’t follow that link and the page being linked to won’t get the SEO benefit of that link.
Medium tags all its outbound links as nofollow. Why? Probably to avoid people abusing it for their own SEO purposes and flooding it with low value content – useless pages full of links which exists only to boost the pages they link to.
The downside is that, from an SEO perspective, outbound links from Medium posts are basically useless!
I initially preferred Medium over WordPress because of the simplicity, and lack of setup required. At this point I think the costs outweigh the benefits, so I’ve set up a new blog on WordPress.com – a hosted version of WordPress, which means you don’t need to worry about writing code or installing anything. It takes a bit longer than setting up a Medium blog and costs £30 per year, but in a few hours you can have a blog set up using your own domain (mine is http://www.harald.co), and have full control over how all your links are tagged.
I still cross-post everything to Medium, with the required SEO modifications, so I can keep getting the benefits of the Medium readership I’d built up and I can always switch back if I want to. It’s worth pointing out – WordPress.com doesn’t support automatic exporting to Medium like self-hosted WordPress does, but I think that’s a small price to pay for the convenience.
One last note: WordPress isn’t the only platform that allows you to do this, but I think it’s the best choice right now. It’s definitely the most popular, by far, and it’s fairly priced. I looked into Ghost and Svbtle as two good alternatives, but settled on WordPress in the end because of its larger user base and better pricing.
Any thoughts/suggestions? Let me know in the comments or on Twitter!
Facebook is incredible. Even just 10 years ago it would have been hard to think that there would be one go-to online identity service.
That instead of giving someone your number when you meet them, just exchanging names could be enough to stay in touch with them for years.
That you don’t lose touch with people when they move. That you could keep up with the lives of people living anywhere in the world. That you could share pictures with all your friends at the click of a button.
But all these benefits come at a cost. Since Facebook is a for-profit company and not a public service, their main goal is to make money. While that’s not necessarily a bad thing, it’s worth keeping in mind how it affects Facebook’s interaction with us, its users.
“If you’re not paying then you’re not the customer; you are the product being sold”
Setting aside issues of privacy and Facebook gathering and selling your information, Facebook makes money by literally charging advertisers for a piece of your attention. One of the main ways in which it does this is through the News Feed.
I recently read the book Deep Work by Cal Newport, in which he advocates deliberate use of social media. In fact, he goes so far as to recommend quitting social media altogether. While I think that’s overkill, his book led me to re-examine how I used Facebook and to come up with a few easy ways to get the most out of it.
Making Facebook your own
Keep what you like, get rid of the rest
By changing the way you access Facebook, you can make it what you want it to be.
Thinking about how I use Facebook, these are the things I value:
One platform to message any of my friends
Being invited to events and inviting others to events
Seeing significant updates for certain close friends
These are the things I catch myself doing which I want to avoid:
Mindlessly opening Facebook on my phone and scrolling through the News Feed any time I go a second without stimulation
Seeing just the good bits of other people’s lives and wondering why I’m not on holiday, why I’m not running a marathon, or why I’m not moving in to a new house
“Oh wow! That girl I met in Thailand in 2012 just dyed her hair! ”
To serve Facebook’s advertising goals, the above are addictive by design and so the best way to avoid them is probably to avoid the News Feed altogether.
It turns out that this isn’t too hard to do. I’m using a combination of tools I found through recommendations from friends (thanks Ed Moyse!), Google, and Quora:
This extension gives you Facebook, minus the News Feed. Once installed, you can go to facebook.com and do absolutely anything you like — look up friends, message people, check your notifications, sign up to events. Except for scrolling through the News Feed.
Bookmark this on your phone. This shows just your notifications, for those times when you’re thinking “I wonder if anything has happened that I should know about” but don’t want to get dragged into anything irrelevant. I use this, together with Messenger, instead of the Facebook app on my phone.
While this might not work for everyone, I’ve found it to be really useful so far. However you feel about this exact solution, you might like to think about what‘s right for you rather than leaving it up to Facebook to decide. And if you come to any interesting conclusions, I’d love to hear about them!
There are two types of companies: those who have been hacked, and those who don’t yet know they have been hacked.
– John Chambers, CEO of CISCO
Corporate hacks, data breaches, and leaked celebrity photos: data security has seen almost non-stop news coverage in recent years.
You can’t do anything about hackers or companies with inadequate security. Fortunately there are some things you can do to reduce the likelihood of hackers gaining access to your accounts, and minimise the impact if they do.
My Spotify account recently got hacked, which prompted me to improve security on my other online accounts. Here are three of the most important things I did, which you should also consider doing today.
How do you find out if your data was leaked in any of these cases? HaveIBeenPwned.com allows you to enter your email address and search for it among over 220 million leaked accounts across all the above (and more) breaches. You can also sign up to receive notifications in case you are ever involved in a future leak.
If your details were leaked and you reused the password somewhere else, then you should consider that password public information and change it as soon as you can. To protect yourself against future hacks, one of the best things you can do is to use a unique, strong password for every account you have.
Set Up Two-Step Verification For Your Email Account
Your email account can be used to gain access to almost all of your other accounts. Two-step verification is an extra hurdle that makes it much harder for a hacker to gain unauthorised access to your account, by requesting an extra code when you log on from a new device. Here’s how to do this for Google/Microsoft/Apple accounts.
If that seems like too much hassle, this article is worth reading to see the full impact of losing access to your email account. If you think reading the article isn’t worth your time either, then just tweet me your email address and password and I’ll set up two-step verification for you.
Only joking, you should never do that. Please set up two-step verification.
Pay Attention To The Little Padlock Icon In Your Browser
When doing anything online, realise that people can listen in. If you’re using public wifi, it’s possible for people to intercept all the messages going between your device and the website you’re visiting. One way to protect yourself is by making sure that the messages being exchanged are encrypted, which means that anyone listening won’t be able to understand them.
How do you do this? Look out for the padlock icon in your browser, which means that a site is using HTTPS. HTTPS messages are encrypted, so anything sent between you and that site will be protected from prying eyes. Do not send or receive any sensitive information on a webpage without the padlock icon, especially if you are using a public wireless network.
Thanks for reading. If you found this useful, please recommend and share. Leave a comment or response if you have any tips of your own!
The horseless carriage didn’t just cause less horse shit. What will be the impact of a driverless, horseless carriage?
The dangers are obvious… Horseless carriages propelled by gasoline might attain speeds of 14 or even 20 miles per hour. The menace to our people of vehicles of this type hurtling through our streets and along our roads and poisoning the atmosphere would call for prompt legislative action…
– U. S. Congressional Record, 1875
In the late 19th century, as the horseless carriage was just around the corner, observers were skeptical of the possibility, practicality, and safety of such a design. Some of the questions being asked showed that people thought of it not as the thing it would become, the car, but as a novel version of the horse-driven carriage.
These are important issues that will need to be addressed before widespread use is possible, but they hide the more interesting changes that these cars will bring.
A horseless carriage doesn’t just mean less horse shit.
It means highways, long distance commutes, spread out families, suburban sprawl, trucks, far away holidays, and more. The social and environmental changes brought about by the introduction of the car went far beyond the initial fears and speculations.
A driverless car doesn’t just mean less time spent at the wheel.
As I will aim to describe here, it means less parking hassle, a smoother ride, new business models for taxis, fewer road deaths, improved accountability, fewer car owners, specialised car designs, and many more things which we haven’t realised yet.
One person whose writing seems more forward-looking than most of the mainstream media’s short-sighted pieces is software architect and entrepreneur Brad Templeton. As a previous member of Google’s self-driving car team, he has done a lot of research in this space. On his robocars page he shares many of his predictions on what driverless cars will mean for society. Here is an introduction to some of the more interesting ones.
Cities currently need to allocate some of their land to parking spaces. In addition, at certain times a significant proportion of urban traffic is made up of cars looking for parking spaces. Self-driving cars ameliorate both of these by
Being able to park further away — you will be able to step out of your car wherever you need to get off, and tell it to go park itself. Then, when you need it again, you’ll be able to call it and get it to pick you up where you are.
Using non-conventional parking spaces — why can’t we park in front of someone’s driveway? Because that would block them in. But what if a self-driving car was able to realise when the driveway needed to be used, so that it could park there and move out of the way if the owner of the driveway returns or needs to leave? That would create a lot of new parking spaces.
A smoother ride
Current cars have good suspension, but not the best possible. Self-driven cars won’t need to be able to ‘feel’ the road in the way that humans like to, and so suspension can be optimised further. These cars will also have more precise control over acceleration, unlimited patience, and will likely be able to optimise for comfort over speed in scenarios where this is relevant.
Driverless, horseless Uber
The taxi industry is already being disrupted by companies like Uber and Lyft, and it is moving towards a model which almost looks like it was designed for self-driving cars. The next step here will be app-based ‘summoning’ of self-driving cars, wherever you might be in a city.
Uber could buy a fleet of self-driving cars for themselves, but it would be more in line with its current model to allow individuals or other companies to put their cars to ‘work’ for the Uber app when they’re not using them themselves. People might even buy cars especially to have them work for Uber, in the same way that some people now buy apartments to rent out on Airbnb.
Fewer road deaths
Car crashes kill over 1 million people per year globally. Self-driving cars don’t drink, text, fall asleep, or turn around while driving. They have faster response times, and are more aware of their own limitations. Because of the incentives created by increased accountability (as detailed below) and the highly negative impact of the fear following any accidents, there is enormous pressure on manufacturers to make sure that their accident rates are far lower than current human accident rates —Templeton’s estimate is that these cars will need to demonstrate an accident rate 10–50 times better than human drivers before they will even be allowed on the road unsupervised.
A common concern about self-driving cars is about assigning blame. If a car crashes and kills someone, who will be at fault? Self-driving cars will actually make this process easier, for the following reasons:
Fewer crashes. As covered above, there will be fewer crashes. Apart from the obvious direct benefits, this also means fewer cases to investigate.
More data. These cars are covered in sensors, so it will be much easier to tell who was at fault in an accident. Decisions will be based on recorded facts rather than eye witness accounts. If a company’s software is found to be at fault, the company can improve it and send out software updates to all their cars without having to physically service them (Tesla already does this).
More at stake. Right now most drivers assume that they will never be in an accident, and many often take risks which turn out OK 99% of the time. If a company has produced millions of self-driving cars, it won’t be able to afford having them take risks like that because it knows that some of them will result in accidents. Because of this self-driving cars are likely to drive in a much more cautious way than human drivers.
Fewer car owners
As autonomous cars become ubiquitous, car sharing will become more viable. Current schemes such as zipcar are a good start but having to walk around to find a zipcar is an inconvenience. When app-based car summoning (Uber or otherwise) becomes available it will likely be cheaper, more convenient, and safer for a lot of people based in cities or big towns to use a such a service rather than own their own car.
Specialised car designs
What happens when you remove the need for a steering wheel, dashboard, windscreen, pedals, and windows? Just like early cars gradually moved away from the carriage design, these new cars will probably evolve slowly into something that looks very different from current car designs. These are some designs we might see:
Small and light one- or two-person cars. People tend to buy versatile large cars for occasions, however rare, when they need to carry four, five, or seven people at one time— even though many journeys today are made with one person in the car. When car sharing becomes more prevalent, it’s likely that we will see smaller car models as it will be easier to match the demand for these journeys to the right type of car. These will be much lighter — hence cheaper to produce, and less fuel-hungry. They’ll also be able to park more flexibly, and might be able to share lanes with other smaller cars to make better use of road space.
Sleeper cars. For long journeys, there might be cars which are effectively beds on wheels. These would be optimised for smoothness over speed (few people would mind a slightly longer journey if it means they get better sleep) and would allow people to undertake longer journeys by car than they normally would.
Entertainment cars. For medium length journeys, some cars could resemble a modern living room. With a smooth ride, a large screen and a games console/entertainment system/Netflix, your commute could feel just like relaxing at home.
Courier cars. Small, lightweight, autonomous cars designed purely to carry small cargo. These would be more like current motorbikes than cars in size, and might be a more viable option than delivery drones for anything but extremely light packages.
Driving will become recreational
These new cars won’t mean that people-driven cars will disappear (though they might be banned from driving on public roads, as Tesla’s Elon Musk has suggested). People still ride horses for fun. Driving for leisure will probably remain popular, but these autonomous cars will take over where driving is just a means to an end.
If you found the content of this post interesting, please recommend or share so others will read it too. I’d highly recommend checking out Brad Templeton’s Robocars site and blog if you’d like to take a more in-depth look at this subject.
I got a Dell XPS 13 last week. It’s one of the best ultraportable laptops out there right now, it got consistentlygreatreviews, and I’m pleased with it so far (though not so pleased with the sales and service from Dell). When I received it I made a few tweaks to it to make it nicer to use. These are some notes for anyone who wants to do the same, with screenshots. I hope it saves someone a bit of time Googling ☺
The bezel is small. Seriously small.
The speakers are really good.
It boots up extremely quickly.
Battery life is decent.
Everything looks huge, due to the display scaling which is set at 250% by default. Reducing this to 150% allows you to make more out of the great screen without having to squint quite as much as at 100%.
Some bloatware is installed. I immediately uninstalled the Amazon app and McAfee LiveSave. The latter especially slows down startup and can exacerbate this bug in Google Chrome.
The trackpad isn’t very sensitive — luckily this is easy to change.
The function keys are inverted —instead of holding Alt+F4, for example, you need to hold Alt+Fn+F4. Some people prefer this as it means you don’t have to hold down Fn to change brightness/volume, but I don’t. To change this, go into the BIOS (hold F2 on startup) and activate the ‘Lock Mode Enable/Secondary’ radio button.
Clicking items in Windows Explorer checks them. This seems to be the default in Windows 8 for some reason. To disable, just uncheck the option ‘item check boxes’.
Setting the background of your start screen to the same as your desktop background makes the whole start screen experience much less jarring.
If you’re new to Windows 8, watch this video. It’s four minutes long but will save you hours.
For those using Chrome, these are a few useful extensions that I find especially handy on a laptop: