I’ve decided to start recording what I’ve done during the month and summarize it here on my blog. In classic Jahziel fashion, I’m publishing May’s updates well into June, but better late than never! I’ll be recording mostly computing stuff I’ve been up to, but you’ll also see stuff from other areas in my life (books I’ve read, interesting non-computing articles, etc.) Anywho, here’s what I’ve been up to in May 2020!
Stuff I’ve Learned
- React Native
- I’m working on a mobile app for the Technique, where I’m the Technology Editor. We’re hoping to grow our engagement with students by providing a better mobile platform for our content. RN has been intuitive to pick up, coming from a relatively advanced React background. We’re using the managed Expo workflow with our app and have had a great experience so far!
- React Hooks
- The template Expo app we used for our app used Hooks, so I had to learn on the fly. It’s been fun so far! I’m also using Hooks at my new job.
- Redux (this is more of a re-learn, but I shipped stuff to prod with Redux for the first time this month so I’ll count it)
- Wowza did I really miss out by not trying TypeScript sooner. I heard the hype and refused to buy into it… but it was all true. TypeScript is awesome! I thought that it would feel like the type system was just duct-taped onto JS, but it’s felt very natural to work with. I love that you can use the type system as much or as little as you want, from just JS all the way up to very tightly defined interfaces and custom types. It’s like Go and JS had an amazing super baby. If you want more hard guarantees from your language, something like Go is probably a better move, but TypeScript is great for leveling up scripts.
- So I learned TypeScript because I wanted to play around with Deno, which released its 1.0 in May. Almost immediately the Web community blew it way out of proportion, something that was sad to see but at the same time not completely unexpected. If you’re not sure about this: Deno will not be replacing Node anytime soon! It’s an interesting tool with several advantages over Node, but it’s also in its infancy (as opposed to Node, which is a battle hardened and proven piece of software at this point). I do really like their approach to packages. All the npm drama that the JS community has gone through makes me want alternatives, and Deno makes it easy to use modules from literally anywhere on the Web. I think that an interesting direction for the project would be to somehow produce standalone executables, but that’s probably a long ways off.
Stuff I’ve Done
- Started a new job! I’m a contractor developer at https://www.hirescholars.com/, a startup focusing on getting students and new grads into the workforce. I’m helping build out new features for the Scholars web app. Working in React, with Hooks and Redux.
- Worked on the new CS 3210 projects! Georgia Tech revamped CS 3210 to follow Stanford’s Rust and Raspberry Pi based curriculum instead of MIT’s xv6 curriculum. I was stoked to see that a major CS program was adopting Rust as a language to teach students, and I saw a great opportunity to finally learn the language. Like I mentioned above, I learn computing concepts best when I’m implementing a project. The projects for CS 3210 have enough structure to guide my learning while still allowing for me to look stuff up on my own and use plenty of trial and error. Also, I’ve been looking for more systems stuff to work on. These projects are just what the doctor ordered! This month I’ve been working on Project 1, specifically the vector data structure. Find the code here: https://github.com/jahzielv/cs3210v2
- Added thoughts to my website! Maren Beam started the thoughts project earlier this year, and I found it via lobste.rs. thoughts is like a personal Twitter, but without the character limit and completely based on POSIX tools (and git). You type in
thoughtsat your terminal, type your thoughts into the vim buffer that is opened, and thoughts puts the HTML together and pushes to a remote git repo. Getting it deployed on the Web is up to you, but it’s painless to add to an existing GitHub Pages site. I’ve been posting pretty frequently on my thoughts page, which you can find at thoughts.jahz.co.
- Deno libraries
Stuff I’ve Read
- The Bronze Bow, by Elizabeth George Speare. This is a re-read, a revisit of one of my top 10 favorite books of all time. The writing is strong, staying fresh even as an adult reading a children’s book. It’s one of those children’s books that takes children seriously, not shying away from advanced words and complex topics. It also has one of the greatest depictions of the change that the Gospel brings that I have ever read outside the Bible. As always, the ending brought tears to my eyes. If you know me well, you know what a rare feat that is!
- An interesting dive into how ELF executables are structured: https://fasterthanli.me/blog/2020/whats-in-a-linux-executable/
- The PCA (my church’s denomination) Interim Committee on Sexuality’s report. The committee summarized their thoughts in a very nuanced and graceful way.
Stuff I’ve Found
- I’ve been looking for soloing guitar lessons that weren’t super music theory heavy, and I found some here that are engaging and fun. I like the play along sections that have you apply what you learn in the lesson sections.