Weekly Update, August 17, 2020
Howdy internet friend, and welcome back!
Well hello there internet friend, thank you for taking the time to check out my blog! In this weekly update post I am going to talk about Black Lives Matter, as well as what I got up to personally and professionally and then close with something between person and professional and give a teaser of some articles in the works. Without any further adieu, let’s get on with it!
Black Lives Matter
I try to mention this every week, but Black Lives Matter! These protests are still going on, despite being overshadowded by all the other slow-moving disasters in the United States. From the attempted destruction of the post office so that President Racist Grandpa can steal a second election to the news that the folx appointed to head up the Department of Homeland Security were illegally appointed, to the news that the Senate is going on recess despite the public health crisis worse than ever. All of that is to say that there is so much news happening it’s almost impossible to keep track of, and you’ll notice that I didn’t even mention everything happening with COVID-19!
What does that have to do with Black Lives Matter? It is to show that things seems to be rapidly falling apart in this country, but we still haven’t started to address our problems with racism. Things appear to be getting worse around us, and things never seemed to have improved for people of color in the United States, particularly black people.
I am not going to share any resources to read this week. Instead, I am going to encourage people who believe in the political process to reach out to their elected officials this week. I have doubts about the effectiveness of protests, particularly as the police ratched up their repression and outside agitators (probably from the same police departments) escalate the violence. As I usually encourage the consideration of a diversity in tactics, I think it is also important for people to reach out to politicians. Sometimes we forget that they are elected to serve us and not the other way around. It’s important that government officials realize that they work for us, and if they refuse to work for us, that they can be removed and replaced with people who will. It’s not complicated, don’t mess with the post office! Police departments need to be defunded and replaced with something far less militarized, Judge Dredd was not a how-to guide for future policing.
As with every week, there is more I could say on the subject but I will leave it up for others. In closing this section, please don’t remain silent in the face of injustice. I have spent the last twelve years on Twitter building a platform and I am not going to be silent now. I had a Twitter thread about it last weekend and only lost two followers, but I am glad they are gone. I pinned the Tweet so people who come to my profile and consider following me will realize that I am an entire person and in addition to talking about technology I am also going to talk about my family and issues of social justice. I frequently think about the society my son is going to grow up in and I would much rather he live in a world free from racism and the police than what we have now. A new world is possible if we are willing to fight for it!
Last week was very good for me, personally. DefCON28 meant that I only needed to put in three days at work last week, which was nice! During that time off I slept in, spent a bunch of time with Acetolyne and did some jamming and teaching myself music theory on my electric guitar. My bass amp should arrive either this week or next, and we set up my keyboard (or digital piano) in our living room. I did not expect that my son would be interested in this, but I gave him a basic lesson on what I knew about music theory on the piano (which only took about five minutes) and he was off and jamming! I bought my wife a practice pad (for those who aren’t drummers, an example of a practice pad can be found here but the TL:DR is that a practice pad is something to practice drumming on). I didn’t know about them before I saw someone on Twitter talking about them, and I’ve owned a drum kit for years but never a practice pad. What’s great about the practice pad is that it is quiet but responsive. I am a guitar player who taught myself drums, so I didn’t know any of the fundamentals or rudiments. My wife found a video by Blink182 drummer Travis Barker where he taught some basics on a practice pad, and I’ve been practicing paradiddles and drum rolls - the former I’d never heard of before and the latter I just didn’t physically understand how to do until a few days of goofing around. Between the noticable improvement in hand speed from the practice pad and the fun stuff I’ve been doing on the bass lately, I am really excited for the music my wife and I will be making soon. We’ve got a name for our band and about seven song titles - arguably the hardest part of songwriting - now we the fun part! Jamming and writing songs. I think I’ve mentioned it before, but I played my first show when I was twelve years old, and have been writing songs for about as long. I’m pretty sure I’ve mentioned taking AP Music Theory in high scool, but in case I haven’t, this is the foundation upon which I am building my musical knowledge. I’m learning more theory on the guitar so the songs we write will be cooler and more complicated than just three chords. If you dig funky music, keep an eye out here because once we start recording and releasing stuff I will be sure to mention it and share links here.
I’ve got a longer blog post coming on this subject (as I’ve left Linux for the first time in a decade), but I spent some of my time off last week upgrading my operating system from Fedora 31 to Debian (briefly) then Fedora 32 (briefly) until finally landing on GhostBSD, a distribution of XFCE4 and FreeBSD. This OS was recommended to me by @JoshuaSmith76 and although I’d never heard of it before, it turned out to be exactly what I was looking for!
There are many things that I really like about BSD so far, and that long list starts with, “no systemd”! I read a great article last week about why you should migrate everything from Linux to BSD and I found the article quite persuasive. I’ve been using Linux for a decade now but I have been growing frustrated with the direction of the OS. When I was younger I thought the angry Linus flipping the bird and telling giant corps to F off was awesome. As I grow older I realize that having a “benevolent” dictator is a problematic way for any movement to grow forward, but I still had a desire to use and support free and open software. Moving to BSD seems to be a good solution to a number of the issues I’ve been having lately with Linux, but it isn’t all roses.
While I really like this distribution of BSD, I do have one big problem, and that is with the audio. This will probably come as no great surprise to anyone as audio is frequently a problem in free software circles. As of now, Firefox will only play audio through the laptop itself, while VLC will allow me to select where I want the audio to go. This is probably already as I don’t intend on using Firefox for too much longer, but there are also issues with bluetooth. My Bose NC headphones are also unable to connect via bluetooth, and that is leading me to a new project, which I wil discuss after a brief diversion.
Yesterday I finished reading one of the best books I’ve ever read, Think and Grow Rich by Napoleon Hill. I’ve written about this book a few times here, and I want to mention that it has not aged perfectly since it was published in 1937. However, this book provides a roadmap and blueprint to be successful in life both personally and professionally. I’m going to write a much longer review of this book (because I think it’s important and the book can really help people) on a later date, but the short version is that the best $10 I ever spent was when I bought a copy of this book. Since applying the techniques contained within my wife and I managed to buy a house during the pandemic and accompanying economic turmoil, which for my wife was on her bucket list of life accomplishments and has been on her yearly goals every year that we’ve been married. That is a very hamfisted way of saying that this little book helped me figure out how to achieve my wildest dreams before I had even finished reading it! There is much more that I can (and will) write on the subject of this book in the future, but I wanted to take a little paragraph here to say that I finished reading it and that if you’ve never read it before that it is well worth your time! Napoleon Hill provides an entire philosophy for how to be successful and while I don’t agree with him on his conclusions about the benefits of capitalism, I think the lessons can still be applied to whatever your political or economic outlook. Some of the advice about medicine and the scientific understanding of, say, how the brain works, are very much what you might expect from a book published in the 1930s. However, the advice and guidance for how to be successful from men like Henry Ford who (despite his lack of ethics) came from humble beginnings and minimal education to become one of the most rich and powerful men in the world. Hill spent time with men like Ford, Thomas Edison, and Andrew Carnegie (among others) to learn their secrets to success. He spent roughly two decades studying these men and the common bonds which tied them together, then shares it with anyone willing to drop ten clams and the time to read it. While these men may not have been the most ethical or moral, one cannot argue their success in business. So be on the lookout in the coming days or weeks for a much longer review of the book but the TL:DR is that it’s well worth dropping ten bucks for this book if you have been struggling with how to advance your career or have been feeling in a rut - this book will get you unstuck in no time!
Finally, I spent some time last week looking at new themes for this blog. I have to give more thought to whether I want to find a new Hugo theme or just write custom HTML and CSS to make this site exactly how I want it. I’m leaning in the custom re-write direction because I neither love the layouts nor totally trust the developers who wrote them, and I’ve never liked the custom theme I originally made for this website. However, I know that it’s going to be a pretty big effort to re-write the site and build a template, so once again this will probably go on the backburner for a while. Since it was something I looked at last week, I wanted to mention it here just in the event that you were eagerly anticipating an update to this site, you’ll probably be disappointed for a little while longer.
I’ve got another (somewhat frustrating) programming point to begin this section with. Previously I’ve written about shifting my focus to Rust, but after the dust up with Mozilla last week as well as some needs I’ve had rise up recently with FreeBSD, I’m going to put a pin in Rust right now becuase I have a more pressing and urgent issue.
As mentioned above, I have really nice bluetooth headphones that I have to plug in for it to work with VLC. My old headphones kept getting tangled and pulling my head, which was the biggest motivator in getting a nice set of bluetooth-enabled headphones in the first place. I know that there is a way for my laptop to work with bluetooth, because they worked on Fedora but they aren’t working now. My annoyance with being tethered in is driving me to pause the Rust to learn C. It turns out that the shape of bluetooth on BSD is really bad, and there hasn’t been anything actively maintained in a few years (at least according to my initial research). Rather than just resign myself to not being able to use these headphones without plugging them in, I had a different idea. So I bought a copy of Effective C and am going to go back to teaching myself C so that I can write a driver to make these headphones work.
Fortunately for me, my journey to learn C started almost a decade ago when I got a copy of Hacking, the art of exploitation for Christmas, a book that I have revisited a few times over the years. When I started reading this book, I didn’t realize that the first 120 pages or so were a primer and introduction to C and I was young and impatient. As I’ve grown older I’ve increasingly seen the importance of learning C, but the resources were all so old and antiquated. Everyone always recommends the so-called C bible, better known as K&R but the second edition I have on my shelf is pretty old at this point (as an academically trained historian I have no problem with things that are old, but the problem is that I would have to set the compiler to c89 in the year 2020). People then/next recommend Deep C Secrets but that came out in 1994 and assumes you have a decent foundational understand of C, which I don’t really have. Fortunately the book I mentioned at the start of this paragraph came out this year (2020) and looks great so far.
Once I finish this book and all the examples, I am going to write a driver for these headphones and share them with the BSD community, meaning I am planning to open source the driver I write. Even if I fail at this task, I will learn heaps about bluetooth in the process, and since I want to learn more about cloud security learning about bluetooth will really serve me well in this area. In the past when I’ve tried to mess with bluetooth I’ve been really disappointed in the available tools. My intention is to write some tools so that other hackers can more easily interact with bluetooth in a meaningful way. I’m planning to write these tools on BSD but will try to make sure they are portable to Linux as well!
I’ve had dreams of doing system programming some day, including writing my own kernel and OS for fun and education. Rust is also a good choice for this, but because I want to write things for FreeBSD it makes more sense to learn C for now. There is also the advantage of knowing better how embedded devices work (another area I have interest) and C is frequently on these devices. I also will enjoy the benefit of already having studied C off and on for longer than any other language I currently use. There are additional benefits to C versus Rust I’m starting from scratch. It’s also possible to revisit Rust later once I’ve written more useful utilities in C. Every time I come to a new programming language my experiences from other languages make it easier to jump in, and I can’t imagine this will be any different.
Finally, I started reading The Pragmatic Programmer this morning and will report back on what I think the further in I get. Many have recommended it, and I will let you know what I think next week!
Somewhere between personal and professional
I wanted to create this section today only to talk about one thing from Think and Grow Rich that I started applying recently and immediately found very beneficial. Towards the end of the book in probably the most controversial chapter, the author describes something that I’ve started calling, “My Council Meetings.” Hill describes an imaginary meeting he starting holding every night in his mind. He would imagine a table in a room where he invited nine of the men (and I say men because no women were invited) he thought were the most important and influential from all time and asked them questions. These men included Darwin, Abraham Lincoln, Thomas Edison, Henry Ford, and others.
He would study these men and their lives so that during the meetings they would be more than just pages in a history book. He imagined that Abraham Lincoln developed a habit of being late, so in my imaginary council meetings the order of who arrives when is very important. To each of the men on his council he would ask an important question, and he would draw on their wisdom and use their advice going forward. He mentioned that the meetings started to become so real to him that he stopped doing them. Later he wrote that Abraham Lincoln came to him in a dream and asked him why he stopped the council meeting and that it was so real he unsure at the time of publication whether he was awake or asleep when it happened. Thus he desided to restarted his council meetings the very next night. Hill described telling (I think it was) Thomas Edison (but I don’t remember because I loaned the book to my wife and I don’t know where she moved it, but let’s just say it was Edison to keep the story going) about these council meetings and how real they were, and Edison (again, I’m pretty sure it was Edison) replied that the meetings were more real than he could have imagined.
After telling my wife about these council meetings, she suggested I try it for myself. So I started them a few nights ago and while I will save the attendance list for my longer post on the book, I will say that some of the things that have been revealed during these council meetings my wife has told me are incredibly reflexive. When you are being interrogated by people who are dead and in your own mind, they can figure out the most difficult questions to ask you force reflection and introspection.
If these council meetings sound like they might be something you are interested in, give it a try! Think about who you would want to sit around a table with you and to whom you could ask any question you wanted. One of the people on my council is Paul Goodman and it is great and interested to be able to spend time with someone who died twelve years before I was born. This goes for other members of the council as well, but Goodman is particularly fun to imagine because he was such an interesting person. My uncle shared a documentary with me called, “Paul Goodman Changed My Life” and ever since Goodman has been on my list of important and influential intellectuals. When he shows up to the council meetings he (like Abraham Lincoln) is always the last to arrive, but his eyes twinkle with mischief.
My council has been really helpful to me so far, and while it’s something I intend to write about further in the review of the book, it is a valuable enough concept to justify a section in this weekly update to share. Hopefully you’ve found some value in it, but if you think it’s too far out there for you to have your own imaginary council (which I can totally understand) then don’t! This blog isn’t intended to be an instruction manual for life, but rather to provide some insight in things that work for me. If they work for you, that’s great but if they don’t, consider it like any other scientific experiment and move on to the next hypothesis!
People to follow
As I do every week, here are some tech and non-tech people you might consider following on Twitter.
Martin Luther King III - The son of Dr. Martin Luther King, Jr.
Bernice King - The daughter of Dr. King
@cetolyne - great friend, awesome programmer, super helpful!
@blenster - cool maker, very positive, well worth a follow!
@GWeessies - very smart person doing interesting research!
Marley - first place champ! Marley is one of the best on Twitter!
Null Coder - another awesome person to keep an eye on!
@EvilMog - creator of the DC MUD and an interesting person to follow.