Coping with MacOS Mojave for Web Development
For pretty much every Mac I’ve ever owned, I’ve copied my configuration from machine to machine. But when one does so, a lot of unused cruft builds up over the years. So I’ve decided to wipe everything and start totally (well, okay, mostly) from scratch. This is a rare learning opportunity and so I’m documenting my setup here, for my reference and for yours.
This post is intended to be a living document. I’ll be updating it as I discover improved settings. Comments and suggestions are welcome!
Be warned: I am an Apple skeptic. I don’t like the direction recent MacOS versions have gone, and many of my settings represent an attempt to get back to “the good old days”. If you’re one of those fans who think Apple can do no wrong, and you want to make use of all the latest MacOS features, you may want to find another configuration guide. Now get off my lawn!Read more...
Setting Up New Google Accounts for Developers
I don’t like many of the default settings in GMail and other Google accounts. And sadly, there is no settings import, so new accounts have to be set up manually. I just switched employers, so I find myself having to set up a new account from scratch. I’m recording my settings changes here in the hopes it will help others out.Read more...
How to Hunt for a Development Job
Update 2019-07-02: I’ve taken an offer! Huge thanks to everyone who got in touch and/or shared that I was looking!
I was laid off from my job a week ago, along with many of my colleagues. Luckily for us, the friendly Twitter developer community has turned out in droves to help us. It’s generated a lot of leads.
I’ve noticed that my communications with contacts at these companies tend to fall into certain patterns. I ask many of the same questions of each. But I also find that I sometimes forget to ask certain details. Or worse, I ask questions in the wrong order, getting a bunch of details about the tech stack but then discovering the position isn’t remote-friendly, for example.
So I’m writing this post to help other job hunters avoid the same pitfalls. I mean for this to be a living document. If you have comments or suggestions, please get in touch!Read more...
Backend web development tutorial on YouTube
Treehouse asked me to write up an overview of back end web development to publish on their YouTube channel. Yeah, there’s a little sales pitch at the end, but if you want to know what web developers do, it’s a great summary. Our motion graphics team’s work is amazing, as always!Read more...
Motivating examples for beginning coders
One thing I learned from the authors in the Head First series who came before me is the importance of good “motivating examples” - a task that the reader can easily understand but requires learning a whole suite of skills to actually implement (coinciding as closely as possible with the skills you want to teach). Motivating examples are valuable because they give a reader a sense of progress as they work toward a goal.
Rosetta Code is basically a wiki-based collection of motivating examples for beginning developers. There are tons and tons of tasks on there, each showing solutions in a wide variety of programming languages. But a large portion of them aren’t ideal for beginners:
- Many involve advanced math problems, slowing programming learning down with high extraneous cognitive load (if the reader can even understand the problem in the first place).
- Many involve a premise that is not only silly, it takes too long to explain.
- Many focus on details that aren’t important to a beginning programmer.
But there are a lot of great beginner-friendly examples too. I’ve collected promising-looking ones here, for people to mine for inspiration.
- Align columns
- Character codes
- Chat server
- Check that file exists
- Comma quibbling
- Command-line arguments
- Compare a list of strings
- Count occurrences of a substring
- Create an HTML table
- CSV data manipulation
- Echo server
- Even or odd
- File input/output
- File size
- Greatest element of a list
- Guess the number/With feedback
- Hash from two arrays
- I before E except after C
- Input loop
- Leap year
- Letter frequency
- Longest string challenge
- Mad Libs
- Morse code
- Named parameters
- Number names
- Object serialization
- One-dimensional cellular automata
- Palindrome detection
- Pangram checker
- Password generator
- Percentage difference between images
- Phrase reversals
- Pick random element
- Pig the dice game
- Playing cards
- Plot coordinate pairs
- Rate counter
- Read a configuration file
- Read a file line by line
- Read a specific line from a file
- Read entire file
- Remove duplicate elements
- Remove lines from a file
- Roman numerals/Encode
- Search a list
- Secure temporary file
- Take notes on the command line
- Temperature conversion
- Text processing/2
- Text processing/Max licenses in use
- The Twelve Days of Christmas
- Tokenize a string
- Top rank per group
- Update a configuration file
- URL parser
- Web scraping
- Word wrap