Pretty self explanatory. Here’s a long list of some of the coolest places online. I really wish I’d known about a lot of these earlier. I’ve tried to focus on sites that might be a bit more obscure, leaving out the really obvious ones that we all use often. It’s a bit of an eclectic, self-indulgent set, but I think all these sites are worth knowing about so… in no particular order:
Advent of Code
Advent of Code is an advent calendar with a new coding challenge for each day. After all, what embodies the holiday spirit more than debugging for the vast majority of Christmas day.
Eric Wastl, year after year, produces a series of 25 high-quality problems, with a unique story to follow. They increase in difficulty each day, so the first should be achievable for complete beginners, but I’ve never really made a dent in the 20s.
If that wasn’t attractive enough, the community around it is very active, especially in December. There’s a sub-reddit where you can find interesting solutions, hints, and cool visualisations, and a leaderboard on the site, with an option to maintain a private one for your friends.
If you’re interested you can take a look at my solutions for 2022 (other years are available in repos with similar names), and a work-in-progress terminal client that I’ve been adding to sporadically.
xkcd
xkcd is far and away my favourite webcomic. The content ranges from nerdy-funny (see tsp vs tbsp) to nerdy-cool (see movie character interaction diagram) and back again. I’ve found out about so many new concepts in STEM just as a result of finding this site.
Explain xkcd is an equally cool site dedicated to ruining every joke Randall Munroe makes by picking it apart and deconstructing the thought process behind every scene.
There is also a blog, and several different books, none of which, admittedly, I have read, so I can’t vouch for them but I’m willing to bet they’re pretty good.
Some comics are related to projects that are much more than just an image, like the xkcd colour survey, or geohashing.
The best idea, if you want to stay up-to-date, is to subscribe to the RSS feed, or mailing list.
There’s also the matplotlib xkcd mode.
10minutemail
A bit of a departure from the last one, this one is very practical, but has saved me so much time. I’m sure almost everybody knows about disposable email services like this, and Guerrilla Mail (which also lets you send email, in case that’s something you need), but just in case: 10minutemail gives you a personal email address for just (you guessed it) 10 minutes. This can be very handy for throwaway accounts that require email verification, or…… well, that’s really the only use case I can think of, but it’s very good at it and there are bound to be others.
ArchWiki
It’s hard to overstate how valuable of a resource the ArchWiki is for any Linux user, even if you don’t use Arch, although, honestly, the wiki is reason enough to install it. I can’t think of another website that has taught me as much as this one about software. Every article is specific, well laid out, and thorough. It’s rare that you have a question that the site can’t answer. I wish that I had developed the instinct to check it first sooner, it would have saved me hours of aimless searching.
The forums are also an honourable mention here. Obviously, they have a bit of a bad reputation, and while users aren’t always overly friendly or polite to new users, they are, in my experience, always helpful.
Wolfram Alpha
Wolfram Alpha is single-handedly doing my degree for me. Hand it pretty much any mathematical, scientific, technological, or general trivia question (in natural language, by the way), and it’ll hand you an answer.
It’s particularly good at maths, and especially useful for calculating integrals, solving systems of equations, inverting matrices, etc.. Basically, tasks that you don’t want to do by hand, and can’t be bothered to read documentation for.
VimGolf
If you’re completely new to vim, I’d recommend vimtutor
, but if you have been
using vim for a bit and are just looking to improve, VimGolf is a lot of fun.
The site gives you a start and end file. The goal is to get from one to the other in the fewest keystrokes.
I’ve seen arguments elsewhere online that golfing like this is not a good way to improve your productivity. A lot of the very small solutions utilise tricks that you’d never probably use day-to-day, but progressing up the grades normally involves learning new keys or modes that you actually might find useful.
There’s even a command line tool to make downloading, recording, and submitting challenges a breeze. My only criticism is that the site only allows authentication with Twitter. If you’re like me, that will mean making an account in order to use it, which is a bit annoying.
A couple tips that might boost you a spot on the leaderboard:
- Never
:wq
, alwaysZZ
. {
and}
move the cursor by paragraph.Q
enters ex mode, which allows you to run a series of commands without the leading:
s.- Read up on registers, especially the special ones.
- Macros are essential, both in golf, and everywhere else.
Project Euler
Another set of coding challenges, this time with a mathematical slant. Again, the difficulty ranges from very easy to stupidly difficult so there’s something for everybody. There are also, as of writing this, a huge library of 837 problems to try.
regex101
This site changed my life. Before I knew about it, I lived, like most people do, in constant terror that I would ever have to construct a regex. Just the sight of a string calling out for validation made me quiver in fear. The ability to debug and access a reference makes it, honestly, pretty fun to write patterns. These days, I’m a changed man; I happily write regex when it’s needed, instead of constructing long, unreadable sequences of conditionals to validate text.
The other great thing is that this site will make you better at regex even when
you’re not using it. The more you enjoy writing it, the more you write, and the
more you write, the better you get. My new skills with grep, and vim’s /
and
:s
mean I can produce more efficient (and general) code, faster.
keyserver.ubuntu.com
So this is a webpage, but not really in the same sense as the ones above. However it is still technically on the web, so I’m including it.
I’m sure most people are aware of OpenPGP keyservers, but when I started using GnuPG I wasn’t, and was pretty confused about how software like that could really be practical when you had to manually exchange keys with anyone you were communicating with.
For the uninitiated, a keyserver is just an open repository of public PGP keys linked to UIDs like emails and names. Their existence means that if Alice wants to message Bob, who is someone that she’s had no contact with before, she doesn’t need to ask him for a public key, or find it herself, she can simply import it directly from a keyserver. This can also be really useful for verification; if Bob has signed something Alice wants to verify, again, she can just grab the key from the keyserver to check the signature.
Now you might be thinking, “Well, if there are lots of keyservers, how will I know where to find Bob’s key?”. This is the neat part, keyservers will propagate information in a similar way to DNS, which means that no matter where you publish your key it will be available everywhere (eventually).
This server does actually have an HTTP front end, but not all of them do. The most common way to use these servers is directly from the command-line. Personally, I find it easiest to set:
keyserver hkp://keyserver.ubuntu.com
keyserver-options auto-key-retrieve
in my ~/.gnupg/gpg.conf
which will mean that keys are, as you can imagine,
automatically retrieved when you ask to encrypt or verify with a key that you
don’t have locally.
If you want to publish a key, just do:
gpg --keyserver keyserver.ubuntu.com --send-keys yourkeyID
F-Droid
Again, technically on the web, but maybe not something you’d use on your PC.
F-Droid is a repository of free and open-source android apps, a kind of FOSS
Google Play store. You can visit the link above to download the F-Droid .apk
,
from which you can download other apps directly.
A repository like this, along with a ROM like LineageOS opens up the possibility of completely removing Google from your Android phone, although I haven’t been brave enough to go all the way myself.
Nerd Fonts
Nerd Fonts aggregates all your favourite developer fonts, patches them with a stupid number (9014+) of glyphs and just hands them to you for free. I use their fonts all over my system, it virtually guarantees that you’ll be able to display any icon you come across.
The site itself also comes with a super handy cheat sheet, which lets you search for the icon you want. It’s especially handy when, for example, ricing your status bar or notifications.
And that’s it, those are some of my favourite places on the internet. There will be plenty I’ve forgotten about, or just haven’t mentioned. But anyway, I hope you find some use in them.
Back to the other posts?