Jahz's Thoughts 💭
OMG HEMINGWAY GOT A FORK AHHHHHH
After trying out Leetcode, I found their UI to be very confusing and hard to follow. I decided to check out Hackerrank and loved their UI! Now I don't have an excuse to not be working on my interviewing skills.
I just acquired an Apple Magic Trackpad. It's not the latest version so it doesn't have Force Touch, but other than that it's a great stand in for the MBP's incredible trackpad. The main downside I find so far is that clicking is far less satisfying than on the actual trackpad, and takes more effort than with my trackball. I switched to tap-to-press tho, so that makes it easier on the hand. I'm going to daily drive it for a week or so and see how it works out!
A happy day of refactoring and bug hunting. Hemingway is now at 0.6.0!
I highly recommend listening back to old playlists... I've found some bops listening back to my previous main playlist that I'd forgotten about.
Onivim 2 is looking really good! I'm excited for it to become more mature. I installed the latest updates and it starts up wayyy faster than VSCode. I probably won't be switching away from VSCode and normal vim until some of the crashes are under control, but as soon as they are I'll definitely try onivim as my daily driver.
It's fascinating to me that the Web is is default software platform in many people's minds, particularly in the minds of many people that are new to the field.
Why oh why is it so dang hard to write a sentence that doesn't have a comma joining two related thoughts????
O boi o boi I might the chance to use Workers and I'm excited because I've wanted to learn how to use them for a while
I found another thoughts
page today! https://evy.garden/thoughts/#1590678997
This thought gave me an idea for an RSS reader/aggregator, but for thoughts
pages. Technically it wouldn't be too hard, and it would be cool to add onto Hemingway. Evy's last bullet in that thought though makes me think that maybe having a "feed" would kind of defeat the purpose of the whole thoughts
experiment. I may just implement it and then see how it feels using it.
Holy crap my mechanical keyboard is just so much better than my MBP's keyboard. For intermittent typing the MBP hasn't been that bad, but for extended typing sessions there's just no beating a mech.
Nothing like the smell of a brand new baseball glove!
I wish more websites that publish articles had RSS feeds so that I could track them with Hemingway.
It really is astonishing how many resources Chrome eats up. I think I'm going to start learning to use Lynx for lightweight browsing. I just tried surfing around and it wasn't too awful!
I left my keyboard at church (it was needed to help set up a new computer we got to run our A/V equipment), so I get to try out having my MacBook out this week. It usually sits closed underneath my monitor stand. Pros: I get to use the trackpad, which is one of the greatest things about this machine. Cons: I have to use the keyboard, which is one of the worst things about this machine. I don't hate it, but it really can't hold a candle to my mechanical keyboard and its 67g
Hey hey it works!! Full disclosure tho: I published to crates.io and then discovered I had a really silly bug (I was writing to the config file before I actually changed the data that was going in, so I couldn't add any feeds). This attempt at installing the app was my second, after fixing that bug and re-publishing. Anyway, check the code out at https://github.com/jahzielv/hemingway
and install it with
cargo install hemingway
Anywho, let's see if my Rust app works! (I've been working on this week's project, an RSS reader for the terminal written in Rust. It's mostly a learning tool pour moi). Rust apps really do take a hot minute to compile tho!
My MacBook's screen is so much better than my monitor's that it makes me want to cry. I'm at my desk right now but I'm resisting plugging the laptop in because its screen is just so much better
Rename your primary Git branches folks! It takes about 2 seconds:
git branch -m main
git push origin -u main
I'm using main, but use whatever floats your boat (that isn't master)!
Also, Rust has a cool blocks-are-expressions feature, so you can wrap chunks of code in curly bois and assign that block to a variable. Just make sure that the last line evaluates to the type you want to store, and that it has no semicolon!
Oh btw, today's project is an RSS reader in Rust. I was looking around at some blogs and realized that I don't have an RSS, so I set out to build my own and try to keep on the Rust learning path. There has been some definite struggling with the borrow checker, but more because I didn't know an idiomatic way to resolve the problem and less because I didn't know what was going on. Tip: it helps if you think of lifetimes as scopes!
I also I so often start writing as if I were writing an essay... idk how to stop 😫
I'm watching Julia Evans' keynote for RustConf 2016... she's my new hero! I relate a lot to her journey of discovering systems programming and wigging out about how cool it is! I'd love to help other people to learn about systems and discover this really cool aspect of computing.
Life hack: get the Bluejeans app for your phone, and you can go for a walk while still listening to class!
Mastodon install update: Emails from my server were still being marked as suspicious by Gmail. I discovered that Gmail uses several ways of verifying that emails aren't spoofed, including something called Sender Policy Framework (SPF). I found out more about SPF here: https://pepipost.com/tutorials/setup-spf-and-dkim-with-postfix-on-ubuntu/
The solution was to add a TXT record via my DNS service. I hadn't used Namecheap before for domain name services, but they've been good so far! Also my domain name was less than $2, so that's great 💯
Mastodon install update: Figured out how to undo the single user mode! Set
SINGLE_USER_MODE=false in your .env.production, then run
bundle exec rake restart.
Mastodon install update: I'm having trouble finding a way to turn off single user mode (I'd like a few friends to be able to join my instance). I'm going to adk on the #mastodon IRC channel and report back.
Mastodon install update: It's done!! https://thecabal.xyz is live! The 301 redirect loop was caused by some duplicate nginx config blocks. http://nginx.org/en/docs/http/request_processing.html#:~:text=In%20the%20configuration%20above%2C%20the,.net%3B%20...%20%7D and https://serversforhackers.com/c/redirect-http-to-https-nginx helped me out a lot in terms of actually understanding the nginx config file. Otherwise, I stuck pretty closely to the Mastodon setup guide here: https://computingforgeeks.com/install-mastodon-on-ubuntu-with-letsencrypt-ssl-certificate/
Mastodon install update: ARGH I've managed to start up nginx, and I've gotten a Let'sEncrypt cert, but now my server is generating an infinite 301 Redirected loop.
Mastodon install update: don't forget to add your
mastodon Linux user to the sudo group like so:
usermod -aG sudo mastodon
Mastodon install update: make sure that you have granted your
mastodon PostGres user the createdb privilege, otherwise the wizard will fail! Also make sure that you don't create the
mastodon_production db right from psql. You can give the create db permission like so:
ALTER USER mastodon CREATEDB;
Mastodon install update: MAKE SURE that you create a PostGres user actually named
mastodon. Also make sure that you give this user full access to your
mastodon_production db, and that it has a password. Otherwise the Mastodon config wizard will fail.
Mastodon updates: I have
- Installed Postfix (https://www.arubacloud.com/tutorial/how-to-configure-a-smtp-mail-server-with-postfix-on-ubuntu-18-04.aspx) and successfully sent email from my server
- Installed Ruby on a mastodon user on my server
- Installed Postgres on my server
ufw is a program for modifying Linux firewalls.
I've been looking at Mastodon a good bit recently. I really think that it can provide a good middle ground between the convenience of social media and the old-fashioned way of socializing (having several different communities that you interacted with in different ways). I love the idea of Mastodon instances acting as villages of sorts on the Web. I'm going to try and set up an instance myself! It's a pretty involved process, but it'll give me a chance to do some cool stuff like set up
my own SMTP server.
Holy mother if I get ONE MORE FREAKING MATTRESS AD ON YOUTUBE I'M GONNA LOSE IT
makes me wonder... did we create The Modern Web™️ just to make stuff look prettier?
I mean there are a lot of things that The Modern Web gives us, but honestly I agree with this person.
Ok but like why is overflow EVEN AN OPTION in spreadsheet text wrapping???
Might mess around and type total gibberish into the Bluejeans chat by accident...
I think I might make a thin mobile client for thoughts, so I can post on the road.
I cannot believe that there are so few audio UIs for React. Most of the projects I've found are either 5 years old or wrappers around audio libraries that don't provide a UI. There's modern UIs available for most things, why not audio players??
Just ordered Capital, The Wealth of Nations, The Federalist Papers, and So You Want to Talk About Race. Gonna start my increased involvement with some reading! The first 3 I've wanted to read for a while; I think they'll give some good context for the underlying ideas of the current culture. The last one I got from a great Notion BLM database full of resources to get educated on the issue of racism in America. Looking forward to digging in!
You ever make a cup of coffee and just like.... 😩
I automatically don't trust anyone who has the word polyglot in their Twitter bio 🙄
I wonder: how has (in some cases extreme) support of the military and police become such a central part of conservative/Republican ideology? The military and law enforcement represent the long arm of the government that folks on the right are supposed to fear and dislike. It seems to me to be very inconsistent and I think that those who see this support and draw the conclusion that conservatives only support small government if it agrees with them are justified in their conclusions.
I really think that if I hadn't been a software engineer I would have been a journalist. It's been so much fun to be part of The Technique and to get to work on important stories like the one I'm writing now.
I've got a Chrome GPU rendering process suddenly running that is using 450 MB of real memory... I wonder which tab spawned it?
Holy cannoli if there's something I hate, it's one word tweets. Which is why I've said from the get-go that Twitter is an absolutely horrible way to transact ideas. I've had a policy for quite a while now that I will not tweet unless the entirety of the idea that I'm trying to convey can be contained in the tweet. Now more than ever we are killing ourselves with the huge footgun that is social media. We have the ability to communicate with great speed and scale, but we lack the
ability to be judicious about what we say and how we say it.
Sound really does have the ability to take you back in a very clear way. I wish I could incorporate the audio of protesters chanting "No justice, no peace". Also big shoutout to my phone's microphone for being good enough to pick up so much audio with such high quality. I can make out conversations and snippets of what people were saying around me, and it's taking me back to being there.
I guess I hadn't mentioned that. I went down to downtown Atlanta on Friday to cover the protest for The Technique, where I'm an editor. There has been so much happen these past few days... It's been hard to process. There is so much pain, so much suffering. I'm glad that I'm in a position to write about what happened, to be able to do something rather than nothing. Writing an accurate and faithful report of the events of the peaceful protest against police brutality is a
privilige and an honor. I'm going to try to do my best to present the facts and hopefully shed some light on what the situation was like up until about 6pm that day.
Ick listening to yourself on tape is the worst... and I have to listen to a lot of tape from the protests on friday.
I think that I'm going to try to play kendama while I'm listening to live lectures. Sitting at my computer enables too much distraction from the internet.
I started working on Scratch projects with my girlfriend this past week and she's having so much fun and it's making me so happy
We added custom firmware to her 3DS so that she could trick out her Animal Crossing New Leaf setup, and she got super interested in doing more computer stuff! She's made some cute stories and games on Scratch and it just warms my heart 💗
Really fascinating article and thread about software and capitalism: https://lobste.rs/s/8mroaa/where_did_software_go_wrong
I've been doing a lot of thinking about these topics recently. Perhaps the biggest realization that I've had is that capital is an abstraction. It is an abstraction for work and for value. I think that I'd understood this logically before, but desribing it in terms of an abstraction helped me internalize it as a computer person. And as a computer person, abstractions are my bread and butter. We know that abstractions help us reach heights that we can't achieve without them. We also
know that abstractions have costs. One of these costs is the loss of awareness of the abstractions beneath you, of the layers that are supporting you in reaching for new heights. And in any system related to humans, whether a computer system or an economic/political one, HUMANS are the bottom layer. Humans are the turtle at the bottom of the stack, and we lose awareness of them the more we abstract away our inconvenieces. America has perfected the art and science of creating
and harnessing abstractions. We have made incredible advances in many areas of society. These advances would not have been possible without our dedication to abstraction, to removing inefficiencies and pursuing perfection. Yet these abstractions, these improvements, have cost us. They have left us disengaged from that fundamental, bottom turtle: the human being.
I hope to fight to engage with the human behind everything I do. It is the call that I have as a fellow human, and it is the call that my God has given me. I think that this is where Jesus really provides the only framework for a restored humanity: He is the God of plenty, and He also knows each individual more deeply than anyone else. He calls us to be "be concerned about the whole man", as Reverend Martin Luther King put it. I want to be a person concerned with the whole man.
We now return to your regularly scheduled programming.
09:31 PM | 2020-05-27
Ahhh nothing like the satisfaction of squashing a tricky bug. Found out that you can't see pre-flight OPTIONS requests in Chrome, so I installed HTTP Toolkit and my life changed. This will be one of my main tools for building and debugging web apps! First day as a software contractor has come to a very nice conclusion! Time for dinner now 😋
05:34 PM | 2020-05-27
bwahahaha they said I couldn't get a collapsible header to work in our app... they were WRONG 😤
01:37 PM | 2020-05-27
Case in point for clunky interactions: break-out rooms that turn into a group text chat. Folks in my classes almost always stay muted and carry out the conversation (if they participate at all!) via the built-in chat. Leads to just a couple of people talking, and basically no conversation happening. No one wants to unmute and talk if others don't.
12:50 PM | 2020-05-27
Is it just me, or are classes that rely heavily on interactive learning suffering big time by being online? My ethics class feels super clunky when having student interactions with each other or with instructors.
10:44 AM | 2020-05-27
If there's anything I'm proud of accomplishing during lockdown, it's finally being able to touch type (pretty much). Practice makes perfect, and I've been practicing a lot. I typed this whole thought without looking at my keyboard!
09:47 AM | 2020-05-27
Jahz's Big Pet Peeve #1138: Blogs that don't have a link to home in their posts' header 😡
06:21 PM | 2020-05-26
Lol they really recruiting for MBA programs on LinkedIn... Sorry but I'm gonna pass Northwestern
02:38 PM | 2020-05-26
Also, I'm starting a new job today! I picked up a contractor job this past week with a start-up out of Nashville. Will be working on a React project, building out their website and adding new features. Should be fun! Glad I learned Hook earlier for the Technique's mobile app that I've been working on.
01:13 PM | 2020-05-26
Realizing how much work I have to do this week... wahoo for ignoring work over a long weekend
08:28 PM | 2020-05-24
Hey hey it works! I tried adding MD support but was hitting a lot of walls so I switched over to adding link support.
sed is a really cool program! It's one of those things that I've been scared to try to use for some reason (I think because the syntax is super different), but I found a great guide here: https://www.grymoire.com/Unix/Sed.html that really demystified it!
08:24 PM | 2020-05-24
this is a cool website I found! https://www.example.com/hello/goodbye?a=one&b=two
There's some really neat stuff posted there.
I don't know if it's as cool as this other one though...https://www.exmple.com/hello/goodbye?a=three&b=four
08:21 PM | 2020-05-24
04:05 PM | 2020-05-24
Trying out a modified .head.html... let's see how it looks!
09:35 AM | 2020-05-24
I found a markdown parser written in shell that only uses Unix tools: https://github.com/chadbraunduin/markdown.bash
Might be something to look into adding to thoughts! I'll play around with it this afternoon and if it works I'll send in a PR.
03:37 PM | 2020-05-23
Hello thoughts! I like that this is in between Twitter (which can be intimidating) and a blog post (which requires much more effort). Might try posting here as I'm working on code!