Code or Die Welcome to my kitchen

Yak shaving tips, Infosec, Astronomy, Gardening

This is my blog. Proud guardian of three cats and two dogs, I currently reside in San Antonio, Texas.

I'm interested in gardening, astronomy, infosec among other pursuits. About this site.

Past and current projects.. You can also browse the blog archive if you like.

Message of the Day: Under construction

The Best Advice for Computer Science Students

So I’ve been back in academia for a while, (feeling like Rodney Dangerfield,) and I have noticed at least one super important aspect of writing code that seems to be overlooked by my classmates.

Spoiler: Use Git For All The Things

The missing ingredient is a version control system and since it is 2018 I mean Git. Git is used in the real-world, (“in the wild” as my old instructors would say,) and has become the version control system de rigueur. This means if you are a computer science student1 then you should definitely learn how to use it, and not just for the software engineering project management courses.

Git makes a kind of “save point” in my assignments and projects to which I can always fall back to the last known good configuration of a given program. This liberates me to go ahead and spike out with crazy ideas and randomness that may or may not yield a favorable result.

I use Git for homework, Git for solo projects, and Git for group projects. Admittedly this last one has a higher bar since it requires all group members to use git, however as a true believer you should have no trouble convincing them of its usefulness. If not, then you can still use Git personally and benefit from it, but you would be missing out on the whole point of version control with distributed teams.

Git along lil’ doggies

Luckily there are loads of resources to learn Git.

  1. Even if you’re not in the field of computer science, you may still reap the ample benefits of using Git. Any creative working collaboratively (or solo) can benefit from version control, but in practice most will simply use Dropbox or MS Office to handle multiple versions of the same document edited by different authors. 

Updating Ye Olde Jekyll

I have not experienced the dreaded slow build times reported by other Jekyll users perhaps because I have not yet surpassed “critical mass” on posts.

However with so many shiny new static site generators (SSGs) out in the wild, it never hurts to take a another look.

Alternatives to Jekyll

Gatsby.js

  • Written in React and uses shiny new GraphQL API.
  • Able to migrate existing posts from Jekyll, WordPress and more.
  • Comes with the usual learning curve caveats.
  • Resolves slow build time issue for large sites.
  • Great documentation.
  • Loads of plugins.

Hugo

  • Written in Go, aka Golang.
  • Billed as “the fastest tool of its kind.”
  • Publish in Markdown, using Go templates.
  • Ships with Disqus, but can be modified to use other commenting systems.

Pelican

  • Written in Python.
  • Publish in Markdown or reStructuredText.
  • Templates (themes) via Jinja2.
  • Import content from WordPress, RSS.
  • Also ships with Disqus and able to be customized.

Hexo

  • Written in nodeJS.
  • Publish in Markdown.
  • Fast build time.
  • Powerful CLI.

Middleman

  • SSG “using all the shortcuts and tools in modern web development.”
  • Ruby gem uses Rails middleware as a standalone framework.
  • Highly customizable.
  • Publish in ERb & Haml for dynamic content.
  • More for Web marketing and documentation than blogging.

Finally I must mention for historical fact:

Octopress

  • A collection of plugins and features built into Jekyll.
  • Excellent for inspiration in tinkering with your own Jekyll sites.
  • No longer maintained. 💀

If and when my day of build time reckoning comes, I will take the opportunity to plunge into Hugo just to learn a bit of Go!

There are tons of blog posts out there regarding this topic, including:

12 Or So Must-Read Newsletters For Web Developers

If one wishes to stay abreast of the changing tech landscape in this age of decreased attention times and information overload, then a regular curated list of articles, links, or blog posts is invaluable.

In my humble opinion these are the top newsletters out today that concern web development and software/hardware tech. This list is a mix of development and design, software and hardware, news articles, tutorials, and blog posts.

The usual caveat that the Web is in a constant state of partial failure and is scattered with many defunct newsletters. Natural law states that this list of links will quickly become out of date. Let me know any suggestions via email or Twitter.

  • Hacker Newsletter Hacker News, condensed. Essential information and monthly job boards too.
  • CSS Animation Weekly All about CSS Animation.
  • Webdesigner Depot: Does what it says on the tin. Professional web designer newsletter, with articles on UI/UX, optimization, tooling, design trends, and free stuff.
  • CSS Tricks: E’nuff said.
  • React Status: Get your React on.
  • JavaScript Weekly: Can be a very interesting and educative time-sink.
  • FrontEnd Focus: What morphed out of the HTML5 Weekly newsletter.
  • Ruby Weekly: Maybe you are seeing a pattern here?
  • Web Tools Weekly: “Front-end development and web design newsletter with a focus on tools. Each issue features a brief tip or tutorial, followed by a weekly round-up of various apps, scripts, plugins, and other resources to help front-end developers solve problems and be more productive.”
  • MIT Technology Review - The Download (weekday newsletter): “The mission of MIT Technology Review is to bring about better-informed and more conscious decisions about technology through authoritative, influential, and trustworthy journalism.” Robotics, AI, blockchain, self-driving vehicles, ethics in tech, cybersecurity and much more. Also offer other weekly newsletters on specialized topics.
  • Web Design Weekly: R.I.P.