I’m a software engineer based in the UK.
Here are some of the things I’ve written about tech:
Neovim is totally worth diving into… there are some fantastic plugins which make editing text a joy. vim editor
Some basic SSH / port forwarding tips ssh unix
It's worth spending time to get to grips with the command line. shell bash tech
"cp -R a/ b/" will do different things on each OS. linux bsd shell
Most of the time, something is better than nothing. Don’t overanalyze. efficiency tech
Ignore the two-pizza rule at your peril! Most people really like pizza… teamwork efficiency
"Soft skills" are majorly undervalued, especially in the tech world communication teamwork documentation writing tips
Take a step back. It’s worth it. perspective efficiency
Keep It Simple, Stupid. tech simplicity perspective
99.999999999% is a lot of nines… aws s3
There are 2^128 different UUIDs. What about UUIDs sharing the same prefix? emacs lisp uuid
GPG is a fantasitc way to encrypt & decrypt key. But transferring private keys can be tricky. gpg security
GTP3 is a scarily-good language model to create human-like text. ai future
Pulseaudio is an amazing piece of software that sits in between the linux driver and applications. It stopped working for me… but an easy fix was to delete its config directory. linux desktop audio
Function composition is kind of important - especially in functional languages. haskell fp
You can add one line to any shell script to force the script to run as root. unix bash
Go modules can be tricky to set up with private repos. Here are two tips that may help it work! golang
Ask ask ask. Keep on asking questions. communication teamwork
Life’s short. Do something fun. It’s not all about money or status. life
Being a software engineer is more about communicating than it is about writing code. What does the code do? How does it do it? Why does it do it? We need to give other people - and our future selves - cheat sheets so they don’t have to spend the 3 hours you jsut spent understanding it all. documentation communication teamwork
I was recently stumped for a while trying to find rows that didn’t exist in my SQL table… sql db
It can be easy to get distracted by shiny new things. To obsess over development flows. But what does that achieve if you never acutally do anything? product tech
Instead of spending hours grooming your .vimrc, perhaps take a while to appreciate the defaults. They’re there for a reason! And once you get used to them, every computer’s going to be easy to use… not just your fabulous unique one. tips unix
Sure, fancy product names are fun… but they can also be confusing. product tech
cron lets you schedule jobs in the future. It’s pretty good at that. unix shell bash
Don’t spend time doing manual stuff. Get computers to do it! automation unix
It’s not for everyone, but if you spend a decent chunk of your life in front of a text editor, it probably makes sense to at least play around with vim… vim editor
Version Control’s a total game-changer. We should use it for everything. No more saving things with unique file names - eg. important-thing-VERSION-4.doc git
jq lets you effortlessly transform JSON on the fly. It’s well worth getting used to it & there are some powerful things you can do with it, like mapping… it’s not just about filtering. bash unix
Folds in Vim allow you to see summaries of code. I don’t use them as much as I should. vim tips editor
git diff –name-only commit1 commit2 git
“Spoiler Alert - :
then Ctrl-P” vim commands
editor
Text objects are powerful & efficient ways of transforming data in vim. vim editor
Ctrl-R inserts text based on your current vim context. Eg. filename, last command, last search, etc… vim tips editor
hjkl are just the tip of the iceberg vim tips editor
git update-index –assume-unchanged
“git log
has loads of funky ways of displaying the
current state of git. –online and –graph are my faves” git tips
These are very random. I do like ggg?G
a lot though! vim tips unix editor
Vim registers are a way to have unique clipboards in different places. vim tips editor
Spoiler Alert - Ctrl-Z and then fg to resume vim shell unix
“Spoiler Alert: !!
can cooerce a non-boolean variable
into a variable.” ruby tips
Heroku’s a site that gives you free servers to make cool stuff on. You can host twitter bots on there to enrich the interwebs. ruby heroku
For all the 733T hackers out there who want to make a twitter bot, I’ve got you covered <3 ruby api
The UNIX philosophy of composing small stuff together is kinda amazingly powerful. It’s worth understanding the basics. shell unix bash
Why chmod +x
? What does it all mean? How does it work?
What are those magic numbers like 777? unix shell bash
Ruby hashes have a gotcha that the uninitiated should be aware of. ruby tips
I don’t know why I wasted my time doing this. cv ruby
DNS can be scary. It can be confusing. But it doesn’t have to be! It’s important. Here’s a primer to get you up and running.. dns heroku ip networking
Getting good at vim involves making every key-stroke as efficient as possible. You need to master keybindings in order to do this. vim editor unix
Jekyll’s a fancy static site generator that’s really easy to use. ruby blog
Networking can be complex. The Internet Protocol is a foundational layer of how the internet works. It’s worth vaguely understanding what’s going on. networking dns ip
Vim has an infamously steep learning curve. It’s worth diving in. Here’s how to start.. vim editor unix
rspec’s the go-to way to test Ruby apps. It’s easy to set up with Rails. ruby rspec tdd
One way to work faster is to have predefined snippets or blocks of code help you with repetitive typing. editor
“Vim has a helpful command to show all your mappings: :map” vim unix editor