It's the last day of the month and I realized I haven't written anything. Normally I don't like forcing myself to do something but if I want something to be a habit then a little force is good. This should be short but nevertheless, here are a few things currently on my mind.

Starbucks WiFi

A few years ago when I primarily used GNU/Linux as my desktop OS I wrote a shell script that would allow me to authenticate to Starbuck's WiFi networking bypassing their captive portal. Pull up a shell, type starbucksconnect, and never see a browser once. This was nice because I could still get work done that needed a Internet connection without ever opening a browser. Great for those who live in the terminal.

Unfortunately, they, I guess Google, decided to change the process of authentication. Now details such as your name, email address, and zip code are required in order to connect. Surprisingly that is not the only step. There is quite a bit going on behind the scenes. A few redirects and a hidden form containing user name and password fields, which I believe are generated based on your MAC address, are also now required. I plan to write in more detail about this later in a dedicated post. The new 2.0 version is still a work in progress but it's very close to being finished.


According to the timestamps on the files in my ~/src/rust directory I first attempted to learn rust sometime in 2016. There were a few hello_world and variables directories so it seems I didn't get very far. Last night I picked up The Rust Programming Language book again. And by "picked up" I mean go to the web site. Looking at the Firefox tab I have open I stopped right before Understanding Ownership which seems to be one of rust's most important features. I'm eager to pick it back up and learn more about memory safety concepts.

With my limited exposure to the syntax I haven't met many keywords that would seem out of place in other languages. match is really the only one to come to mind at the moment. At cursory glance it looks akin to a switch statement with the arms being similar to a case. The match name certainly makes more sense to me at least.

Cargo seems pretty neat too but once again I haven't had much exposure. I'd like to finish up the book over the weekend and maybe write a small CLI application soon.

Meaningful Work

While I enjoy writing various smaller CLI utilities because I love the Unix philosophy I still feel as though I haven't accomplished much as a programmer. Suppose it feels more hobby than career or life. Sometimes I'm not even sure if I can call myself a programmer. Imposter Syndrome hits me hard.

The one thing I can say is that I've learned quite a bit over the last 3 or 4 years. Things I wish I started learning 10 years ago. Concrete compsci fundamentals like data structures and big-oh notation. It's definitely helped me to feel more like I know what I'm doing but I still feel incompetent.

Probably the biggest reason for this is what I mentioned before, not engaging in social activities with like-minded people on the Internet or in real life. Not having deep technical discussions with my peers and keeping it all internal doesn't help me to feel like I know what I'm doing. Finding a new job where I can surround myself with such peers is going to be the biggest step.