Blog December 2019

Personal blog for Mr. Rob Muhlestein for the month of December, 2019.

Monday, December 9, 2019, 9:02:00PM

Ugh! Even though I will never use or recommend freeCodeCamp to anyone ever again after this mess, I am still having those who have worked hard over the last few months to complete their first certificates. Tonight, however, someone finished one of the final projects and got a green pass only to submit it to the system for validation and checking off and say they have 80% left on it with no indication of what was still missing.

The lesson learned here is that none of the “free” tools out there are any good, not at all.

Instead, it is always better to get an even slightly outdated book with projects in it and do those projects correcting and learning as you go. That has been the best way to learn from the beginning and continues to be.

And — most of all — get as much technology out of the fucking way. Technology just fucks up the learning experience with frustrations because the tool doesn’t work, not the material. It is bad enough finding solid material and content, it is literally impossible to find up to date content combined in an “edtech” tool that isn’t a piece of shit.

I am so glad to have realized this. I almost put a lot of energy into skilbots that would have been entirely based on the false assumption that challenge technology makes learning more fun and effective.

The absolute best way to engage and learn is do something you are about, without artificial motivation.

Sunday, December 8, 2019, 3:17:47PM

Had someone write on my Medium blog that I definitely need to read YDKJS and I just laughed. Two years ago I thought, “why not?” I even created a PWA out of his book since he makes it nearly impossible to consume his “free” version, hypocrite. I followed him for years, finally I had to block him and add him to my clueless group. I have nothing good to say about that dude other than he has a very nice conversational writing style. Here’s an excerpt after justifying why you would still use IIFEs.

YDKJS Foolishness

Yeah, just no. That statement is factually wrong and practically every best practice book and organization now recommends against var while still teaching it because it is so completely and totally rampant. The let keyword was added because of how badly var fucked up so much code. You know, for similar reasons that strncat() was added to replace strcat().

One-trick-pony programmers like this guy really get on my nerves because they are fucking dangerous — especially when they spew seriously dangerous ideas like this. I would fucking fire a programmer for excessive use of var when let would do. And if they didn’t understand why I would tell them to do the research.

I seriously wish this shit didn’t bother me so much. When challenged on it I spent a full hour reconfirming my research ’cuz that is the kind of obsessed person I am. I have no patience for others unwilling to do the same and write lame, anonymous comments with nothing to back it up.

My problem is that I care too much. Others would be, like, “huh” and look back at the code they are working on. Such obsession is definitely one of my biggest strengths and flaws.

Sunday, December 8, 2019, 5:34:14AM

Watch Out for Unicorn Shit!

Davy Jones

Why so grumpy this early Sunday morning?

Well, because after reading this summary of a “#1 best selling” book about how to transform your lame-ass business into a “Unicorn” I just can’t help it.

Unicorn Project Summarized

Gene: “Let’s see, what buzzwords can I put in the title of my shitty book that will get me the most random Kindle purchases that people will never read. I know, ‘unicorn’, ‘disruption’, ‘thriving’, and of course ‘data’!”

Random referral: “The Unicorn Project clarifies the what and why of digital transformation.”

TLDR: If your company sucks enough that a book like this would actually help you, if you need to actually read this incredibly obvious shit in order to know to do it, well, you deserve to fucking die as a company immediately and get out of the way so people and companies that matter can take your place.

I would bet Mr. Gene has never seen a Linux terminal in his life or wouldn’t know what to do with one, you know, like Terry Colby. But he sure knows how to use emojis on his iPhone and shitty Macbook Pro.

Terry Colby

I’m sure Terry Colby would be first in line to get his book, which, of course, he would buy and never actually read.

Exhibit A - Gene Doesn’t Know Basic Vim

My favorite part is his using IntelliJ (mostly for the world’s most used dead language) or, of course, VSCode that all the kids are using now-a-days just ’cuz even though he admits to having problems doing basic replacements that vim does consistently better without hunting for some fucking GUI widget he continues to use Microsoft’s “cool” editor and put up with learning some shortcut that might change next week.

“Oooo, multiple cursors, 🙏❤️🎉🦄 That is so awesome!! I love it!!! So great!!!”

I mean, does this guy know how fucking stupid anyone looks who types that many exclamation points? Or even one exclamation point?

This emoji/bang freak is apparently an “author” with 42k Twitter followers and an book on WSJ bestsellers list but doesn’t know about VIM relative line numbering, or worse, how to fucking Google his own answers. And why should he with that many followers?

To everyone out there fighting imposter syndrome I will just say, many clueless people out there are successful who should have imposter syndrome but don’t.

I’ve never met Gene. He sounds like a fantastically friendly guy and given his over-use of emojis and poor use of punctuation I imagine his bubbly personality is much like what is on display in this thanks-for-the-money/smile-for-the-pretty-conference-birdy photo.

Hell.

I confess, Gene probably doesn’t deserve to be the target of my angst and frustration, but what the hell. I’m a bad person.

This whole thing flooded me with memories of a phone interview I had with a pompous corporate poser who clearly delineated their company “mission” to me:

“We study the Unicorns carefully and center our research on their successes, then we work with our clients to recreate those successes for them. We follow the Unicorns and help others become Unicorns. We do have groups doing our own research, but mostly we just help others reproduce what has already been successful for the Unicorns.”

Those were his exact words. I shit you not.

I about laughed out loud on the phone. I was very polite, but the interview was fucking over! (#AppropriateBang) They massively failed.

I don’t want to chase Unicorns. I want to be the fucking Unicorn — and so should you.

I see courageous, truly brilliant CTOs and engineers leaving amazing companies to start their own companies they believe in (like Oxide and those behind R-Socket) and am reminded that is what people should shoot for, not following Unicorns so close up their asses they get kicked in the teeth when the Unicorn “pivots”, or step in the unethical rainbow shit they drop as if in some sick Silicon Valley fantasy parade.

Do I sound bitter and a little sour-grape-y?

Maybe it is because Gene’s perception-managing, carefully cultured persona sickens me. It’s not even about Gene. It’s about what he stands for. I know why he is doing it. Hell, I did it for years, which is why I hope for a better future, one where the massive, unchecked power of Silicon Valley gives way to the original brave, adventurous, brilliant spirit that started it all. I don’t hate Gene. I hate that he still has to exist.

Saturday, December 7, 2019, 11:16:04AM

Had one of my younger members work on CodeCombat a bit today while trying to find something wrong with his Macbook. When I went to CC site I noticed two interesting things:

  1. It was crawling it was so slow trying to keep up with the animation.
  2. It does not use the GPU accelerated canvas element.
  3. It prompted to “Install App” (probably from some PWA-ness).

I wanted to record this immediately to remember later what not to do when making such a site. The use of HTML only is a disastrous design decision, almost as bad as their decision to do the entire codebase in CoffeeScript. I absolutely love the team behind CodeCombat and everything about their goals and motivation. But the decision to use the tech they chose was completely and totally stupid. I was just reminded of that.

Friday, December 6, 2019, 7:28:27PM

Just discovering R-Socket and I gotta say it looks really solid so far. Everyone can kind of sense the failure of microservices that are naturally converging and hitting latency issues related to HTTP request/response. The issue is that people aren’t using microservices as they were originally envisioned where one group would maintain it’s own microservice for it’s department and plug into the rest of the enterprise using that interface. Makes me wonder of Bezos just codified his model — from Conway’s Law — into something the whole world is now stuck with. Bezos probably didn’t originally see the collision of microservices with containers. Once containers came on the scene that original, independent, imaginary department maintaining their own microservice stopped being a thing. Suddenly all these independent things were living essentially on the same Kubernetes cluster. Then you see jokes like these (which are hilarious):

Dev Oops

Imma say it. I felt this coming. I even blogged about how DevOps was really overrated.

It’s just the massive centralized <-> decentralized pendulum swinging with its eternal momentum. Except this time, the momentum seems really out of sync. You have companies like Oxide from Brian Cantrill that are moving in the opposite direction creating infrastructure options for those who want nothing to do with the cloud. Then you have initiatives like R-Sockets pushing to speed up the communication between containers in a centralized DevOps cluster. One thing is for sure, DevOps will never be the same after this R-Socket stuff.

Oh my God! I just realized something else. This will make languages that have the strongest TCP/IP stack implementations and easiest, most efficient concurrency dominate even further. I wouldn’t be surprised if the core R-Socket implementation is written in (you guessed it) Go. Seriously, this is all just confirming that the best technologies really do win in the end these days. The old days of accidental Beta-Max losses to the VHSes of the world are dead. The world is far too hyper-connected for such crap to go unnoticed for how bad it is. Go is going to continue to dominate.

Friday, December 6, 2019, 3:53:05PM

Recently had an interesting thread on Twitter about GitLab’s policy changes to make it clearer about how it intends to deal with issues like the one GitHub is facing with ICE.

This has me seriously contemplating the issues related to technology services and frankly businesses in general. Bakeries can refuse to make cakes for gay couples. People can complain that GitHub should banish any code that is (as someone determines) related to ICE in any way. Google and Facebook regularly hands over dissidents to the Chinese government, so much so that Amnesty International needs to make it a big deal — and it is. Would Google have revealed Anne Frank?

My biggest gripe is that people tend to oversimplify the issue and come down hard on one side or the other. This is not an issue with clear cut good and evil.

Friday, December 6, 2019, 3:46:09PM

I love Netlify’s analytics. It’s just enough and doesn’t invade anyone’s privacy. Plus it is a way to give back supporting a service that is absolutely one of the top on so many levels: performance, needs addressing real problems, ease of use, pricing and customer service. I am such a fucking Netlify fanboy at this point. I chuckle a little at my 2014 self for preferring Surge because it has a better logo and command line interface. Netlify has really established itself as the dominant player in the most important Web category going forward. Hell, their team even coined the #JAMstack term. Every single book on web development definitely needs to start listing Netlify prominently in some chapter about hosting (along with GitLab).

Friday, December 6, 2019, 12:17:47PM

While reading and annotating the Head First Go, A Brain-Friendly Guide I am noticing how uncanny the similarities are to how I first taught Python all those years ago to kids as young as eight. I added memes and get the project small, Nyan cat for loops, Badgers, the Bridge-Keeper, all stuff that one student later told me made it incredibly easy to call up later. He specifically mentioned that keeping the projects small meant knowing which one was about what so he didn’t have to sift through a bunch of index content to look for it. This one-memorable-meme-per-concept approach was wildly effective. Turns out it is based on the same neurology findings discussed informally in the Head First series of books.

Too bad the Head First book on JavaScript is so ridiculously out of date and just plain bad. The biggest flaw isn’t that it doesn’t cover ES6, it is the entire approach emphasizing imperative programming in a language that is fundamentally event-driven. The battleship project is just downright misguided specifically for JavaScript. It is so important to teach when-then thinking from the very beginning. I mean, this even encourages while loops which are strongly discouraged in modern JavaScript.

This means I will have to add the Head First mnemonics to Learning JavaScript, which is a rather dry book but very well done covering the important stuff. It is very short on examples and projects but covers the material very well.

Thursday, December 5, 2019, 7:55:19PM

Reading back through my GitPod rant and I think I’m being forced to see a reality that is as dark as Elliot’s dreams. People want everything on the Internet. The fact that more than half the Web is still on WordPress just confirms this. Why? Because people just want convenience. They want to fill in a blank here, change a color there, and get their website up. Hell, that is exactly what Doris does (my wife).

Why, then, should GitPod and in-browser code editors exist?

For the WordPress people. Yes. I found a use case. Those people who have a hard enough time giving up their GUI Wix or WordPress interface, but might possibly try a pretty editor if it is also in the browser and doesn’t trouble such users with installing anything.

Okay. Point taken.

I still think developers that depend on such silliness will always be relegated to wearing helmets and have corks on their forks. BUT for the potential new developer who just doesn’t want to fuck around with setting Git up on their laptop or desktop (let’s be real, that is still way harder than it should be), for these users yes, this has potential. I confess I might even introduce it to some as a backup that is better than using the in-browser editor that comes with either GitHub or GitLab. And God knows it is better than REPL.it because it is closer to the actual graphic editor that would be used. This is also the reason that the VSCode cloud editor from Microsoft makes the most sense.

Thursday, December 5, 2019, 7:31:39PM

Something rather obvious occurred to me just browsing through the list of top hackerone bug bounty winners. Getting big money from collecting bug bounties doesn’t mean shit about your skills. Seriously, you don’t see Santiago (#1) writing his own complicated zero-day exploits or making discoveries like Charlie Miller. Then again, Charlie is often pictured with a Mac (like Santiago) even though he says he “learned hacking on Solaris” (which is incidentally where I got my start as well, not counting all the stuff I did on that Atari 800).

The take-away is rather simple. You can do pentesting on just about anything, but the more cores and RAM the better. Four cores is really the minimum requirement. Advanced pentesting requires broken systems or broken applications to exploit. The easiest (and most efficient) way to analyse these is with virtual machines running the operating system they require. That means VMware Workstation (definitely worth the cost over Virtual Box) running on a system that does well with them. VMs also allow simulating different servers for cross-site scripting attacks from the same computer.

By the way, I was watching the Devoss video again and saw his xsscrape.py script. I couldn’t help but think how much better such a tool will be in Go. I can’t wait to port many of these tools to take better advantage of the 16-core concurrency of modern desktop and laptop systems.

Thursday, December 5, 2019, 6:50:22PM

GitPod announced support for GitLab now.

VSCode has done the same with VSCode “cloud” now.

These fucking brain-dead companies can’t even see what is happening all around them. Brilliant people and companies are moving away from the cloud and centralization for well-researched, objective reasons. #serverless is not #computerless.

When I ask these fucking idiots how they plan on doing development while on a public wifi or even on an airplane they don’t have an answer. When I respectfully ask them, “What is the use case for your product?” They got nothing. How the fuck these people get millions of venture capital that they do is absolutely beyond me. I imagine it is because they put on a good show and most venture capital people are dumber than a lobotomized tuna fish.

The only remote use case for these “products” is a world where everyone has Chromebooks are great Internet access. This is the same stupid architecture so many public school districts have bought into. It is also the only way to do anything with an iPad or other tablet device.

All of it is significantly insecure and just plain stupid.

They all claim it is far more secure than an actual computer with responsibly installed apps on it. But no one cares. Apple continues to make macOS more like iOS. The entire movement in these large corporations is toward more cloud, more loss of privacy, more dependency on extremely fast Internet.

Meanwhile more than half the fucking world doesn’t even have Internet access at all.

Mark my words, this house of fucking cloud cards will come crashing down — harder than the WeWork collapse (which I totally fucking called!).

You will see.

It’s not just me saying that.

It’s not FUD. It’s fact.

Those smart enough to connect the dots and motivated enough to do the research see it as plain as day.

Thursday, December 5, 2019, 5:33:56PM

Sampled the Razer Blade 15.6" and I have to say that there are definitely pros and cons to either the XPS or the Blade. The Blade might come with way more connectors and a 6 CPU processor but costs about $700 more than the XPS. After all, it’s a gaming system first and foremost. I could give a shit about gaming on it. I want it for the 6-core processing power and VM potential. It makes sense that it would then come with a lot of stuff that is simply not needed.

I also had a horrible experience just getting answers to simple questions like, “Will the Blade connect to an old Mac Thunderbolt monitor?” (The answer is no, by the way.)

I feel like the keys on the Blade are much studier (again, being a gaming laptop) but the key that I broke on my XPS happened after a solid year of me typing directly on the laptop keyboard. I fucking hate the XPS butterfly keyboard that copied the Macbook Pro is is aiming to replace, but after putting the chicklet keyboard from my Mac onto the XPS (so I can survive without a k key) I have to say there is simply nothing better. These keyboards are objectively the best keyboards I have ever used at every level. My output has already doubled and — more importantly — typing on this Mac keyboard is such bliss it actually makes me want to produce more and stay in front of the computer.

Also, with the external keyboard my fingertips aren’t baking from all the heat rising up from the laptop keyboard.

Honestly, I’m wondering what the fuck I was thinking for the last year. I should have been using this keyboard the whole time. It’s not black. So what. sigh

But the absolute killer of the Blade for me was that even though it has both a mini display port and thunderbolt 3 they weren’t smart enough to ensure it supported the many old, wonderful Mac Thunderbolt monitors. The XPS looks beautiful. I literally forget that I’m not on a Mac sometimes given how much I use the terminal for everything.

Plus I am reading a lot of shit about Razer as a company. They are everything you would expect from a California company, gobs of wasted money on packaging and marketing, usually shitty products. Razer keyboard and mice are regularly laughed at by pro gamers for being as shitty as they are. The laptop was very solid. I will say that. You can tell it is their flagship. But for the price they are asking it is no wonder that Mark Litchfield uses a Dell XPS for his #1 bug bounty hacking versus the many others that use Lazer Blades.

The true test will be when I try to run three VMware workstation sessions on this XPS running Windows 10. I haven’t put it through that test yet. I’ll report when I do. My feeling is that other than the occasional conference or off-site training (like OSEE) that most exploit writers will have a pretty substantial desktop system from which they do most of their exploit work. That means that the laptop need only be powerful enough to complete the training or demo. I cannot imagine a need for that much remote power (at the expense of battery life) for any hacker working remotely. On the contrary, having a system that can remote into that main desktop system is a more plausible scenario for what is needed to get the job done.

Thursday, December 5, 2019, 1:51:48PM

Switching to plain mono-spaced font with no background color consistent with conventions followed in pretty much every black-and-white O’Reilly book ever published. I noticed that some were trying to click on such text thinking the background color indicated something to be clicked.

I continue to be blow away by all the shitty design decisions accepted as main-stream now. The entire Patagonia printed catalog was in 10 point Helvetica font. This isn’t a generational thing, this is designers not giving shit about the science behind how humans read and process words. So I don’t give a flying fuck what people think of my plain design selection. My priority is on knowledge transfer anywhere in the world and all your shitty syntax color highlighting doesn’t print and makes your content ridiculously hard to read by regular people — not to mention those challenged with color blindness.

Once again, people following the “what can I get away with” mantra instead of “what if everyone did it.”

Thursday, December 5, 2019, 1:10:11PM

I really like that every HTML rendering of any README Repo gets the following by default:

Local URL Description
dex Listed by title with subtitle, summary, icon, and meta data.
categories Grouped by category.
authors Grouped by author.
contributors Grouped by contributor.
tags Grouped by tag.
formats Grouped by format.
published Listed in reverse chronological order when published.
modified Listed in reverse chronological order when revised.
revised Listed in reverse chronological order when modified.

Expired content is never included because the rr tool will fail to build anything while any expired content is still present in the overall README Repo.

Currently no other tool that I know of does this. Now if I could just finish the damn thing. It’s hard to stay patient with myself, but so far taking the time to do it right is really going to pay off in the end even if it is nothing more than a system that I can use that can keep up with my pace and method of content production. If it helps others, all the better.

Ya now what this really is? It’s a git-driven, JAMstack content management system. A very solid alternative to both WordPress and any wikis out there. There are certainly other tools emerging in this space, which is exciting, but there is simply nothing of the simplicity and scale as this README Repos project. No one has even conceived of being able to create aggregates of other content out there. Everything is isolated and self-contained and usually database dependent. This entire fucking thing is driven by the ability to cleanly aggregate content locally and externally.

Thursday, December 5, 2019, 12:29:54PM

Getting sucked down the format and categorization rabbit hole. This is where my pseudo-autistic nature kicks into high gear, but it makes me crazy not having it organized in advance. I’ve talked about categories of content and format of content before. First here’s the latest attempt at capturing the standard README formats:

README Formats
Format Description
article Standard article with title and subtitle and sections much like anything posted on Medium today.
numbered Numbered sections as with the https://graphql.org specification. While this does automatically number everything in the output the aggregate format might be better when combining content from several README nodes.
spoilers Every section but the first is hidden in “spoiler” fashion where it must be clicked to be revealed. This is otherwise identical to article with {.spoiler} added to every section heading but the first.
sheet YAML-heavy data for cheat-sheets as would be made for vim. Triggers creation of a sheet JSON file and a term ANSI terminal file as well as the index.html file.
log Chronological sections only either forward or in reverse all with a consistent date and time format in every section heading but the first (title).
video A single linked or local video resource.
audio A single linked or local audio resource.

Each format has an standard integer associated with it universally allowing other language-agnostic naming in the future.

I also realized there are other aggregation formats, those that pull together individual READMEs both locally and from external sources:

Format Description
aggregate YAML-heavy collection of content from multiple other README sources both local and external. [This is the wiki killer and primary motivation for this project.]
flashcards Output rendered as set of randomized flashcards with the prompt defaulting to the title of the individual README node. YAML-heavy.
slides Output rendered as slides in any number of slide presentation formats supported by Pandoc. YAML-heavy.

The aggregate format is the original impetus for creating this project. It allows bringing together content that is managed much like files or modules or libraries of software into a single consumable product. This problem has plagued content creators for as long as content has existed. Earlier it was addressed on paper with references and (see also) but providing an aggregate allows content creators and consumers to create their own aggregations, to mix in what they want and need rather than taking it all.

For example, many of the books I recently purchased and reviewed have entire sections that I just want to leave out (some rip) out. Had these books been published as README Repos I could use the content to create an aggregate of only the parts that I want. I could even print only my aggregate with full attribution to the original content creators. The selection of such content into my aggregate is my decision so I, as the overall aggregate author, can ensure that the voice, vocabulary, and quality of the aggregated content is consistent with the rest of the content in my aggregate. This is the power a modular, software-like approach to content creation provides and is the antithesis of the shitty, failed wiki approach to the same problem.

Thursday, December 5, 2019, 12:18:52PM

While going through the list of formats and categories for different README.md files I realized that the FMT_SHEET, which is mostly written in the YAML front-matter could be easily output to a sheet JSON file within directory along with the index.html rendering. This would result in URLs like https://skilstak.io/vim/sheet that would fetch the JSON version while https://skilstak/vim would get the HTML. Then I realized for curl users I could even render a term version that would contain standard ASCII escape sequences for color and such inside of it allowing a curl-specific URL https://skilstak.io/vim/term.

Then I’m like, “What the fuck?” Why not allow every single README to potentially activate a term output. That would mean each README node could support things that read three different output formats:

  1. Pandoc Markdown
  2. HTML
  3. Terminals

This is one of those times where following a solid design and architecture just because it feels like the right thing turns out to have unanticipated benefits later.

Thursday, December 5, 2019, 11:30:30AM

The thing driving me beyond anything else to complete the README Repos utility is so that more people with knowledge can share it easily to combat the overflowing jump heap of shitty information out there. Here’s an objective study of just such failure. My tool and content might not be the most popular in the world, but very little content is better researched. The rr utility I’m creating will provide the fastest means possible for me and anyone to share their objective facts and research about their conclusions and opinions rather than spewing them in 140 characters on Twitter or behind a paywall like Medium has put up.

Tuesday, December 3, 2019, 6:31:33PM

Officially add the Senior Engineer diagram. Everything feels so solid lately. It’s certainly a process, but never felt more sure of everyone’s specific direction.

Tuesday, December 3, 2019, 6:27:16PM

OMG! I love this white, chicklet Mac keyboard. It is insane how much faster and more accurate my typing is. Brings back memories from when I used a Mac instead. I’m never going back and cancelled the other keyboard order. Nothing can top this. Mint has a nice setting for swapping the Alt and Super keys that covered me. I don’t even have to look and I have the exact same muscle memory. The only downside is that I have a white keyboard with a white cable on my all black table, but meh. Does that make me grey? Grey is good.

Tuesday, December 3, 2019, 2:47:02PM

Further research reveals that successful pentesters, those making the big buck with bug bounty programs, are still using the Dell XPS (and other computers) that have fewer cores and RAM than the Razer Blade. But these folk aren’t writing zero-day exploits that take advantage of operating systems as much. Mostly they seem to be owning the web servers, apps, and databases they are connected to — particularly WordPress, which reminds me, PHP is mandatory learning for anyone getting serious about bug bounty money.

Tuesday, December 3, 2019, 10:33:30AM

I’m very sorry to have to write that my Dell XPS 9575 has had one key break and the others look like they are ready to break as well. It is still under warranty so I am returning it and getting a new one. I will be researching the Razer Blade 15.5 since it is apparently the preferred laptop for cybersecurity professionals give the 6 CPUs it has providing far more virtual machine potential. VMs are essential for analysis and running Windows for exploit development. I actually read about these baselines from the OCEE requirements. The XPS is the right pick for web development, for sure, but lacks the horsepower of a hacker’s primary laptop.

Also in other news rediscovering the Mac chicklet keyboard is amazing. My typing speed is so much better. I don’t think I realized how much I loathed that keyboard on the XPS until after using the Mac keyboard for a few minutes. Seriously, the XPS tried to be a little bit too much like the Mac Pro, including the shitty keyboard that the new Mac Pros don’t even have anymore.

I really need to update the standard system recommendations on the site. Ugh. I need to update everything on the site. Having this laptop stop working was a major inconvenience.

Monday, December 2, 2019, 2:58:26PM

Everyone needs to endorse the Contract for the Web. Ironically starting with the Essential Web initiative I started with my Pros some five years ago I have been obsessed with little else. The Web is being destroyed by small-minded JS-JS-JS advocates would have no one on Earth producing any content for the Web that they didn’t create an app for first. God it infuriates me.

Monday, December 2, 2019, 1:43:06PM

After a lot of review of requirements for OSEE laptop requirements I’m changing my official pro developer and cybersecurity engineer recommendation to the Razer Blade 15" with 6 Core i7. It’s no surprise that it is also the number one gaming laptop in its class. At $2200 it certainly isn’t cheap, but it is such better buy than any of the $3000 Mac Pros.

Honestly it is the little things:

Sunday, December 1, 2019, 5:30:06PM

Feeling really good about the four best books everyone needs. It has taken a lot to read them enough to make the assessment but I’ve never been more confident in these materials.

Now comes the hard part, writing the annotations for each. First I have to complete the rr tool I’ve been using to build out this site and blog, then I will be reading and annotating for a month of so.

Sunday, December 1, 2019, 12:53:23PM

Categorize this first December post under ranting. I’ve never been more sure of my direction and looking back I now realize how fucking solid it is:

This year has been flying by. Went through some of my old YouTube videos and had to really laugh at myself. I had to cringe at the bad memory of completing an entire web site only to have to trash the whole thing, all the code I used to generate it, and replace it with the one I have now. But I’m so glad I did.

Back then I was still catering to those younger and more casual potential coders and hackers. We had the van for trips and I was still teaching several people at a time. Just before the move I posted a video reducing “class” sizes to three, like before when I started.

Then we got the wonderful news from our shit-head land-lord that he wanted the place for himself despite several verbal promises we could stay over six years and not missing a single rent payment despite having to personally deposit cash into a specific Wells Fargo account under a specific account number, a practice that is now banned by Wells Fargo for how fucking shady it is. Based on a reconfirmation in person, I chose to spend the $10k I had saved for potential moving expenses or down-payment on new computers and desks to keep up with the anticipated demand for game development, something I wish I had never entertained now. The guy was the epitome of conservative, finance-bro, football-moron with ill-gotten money. I am so tired of running into these types of Americans who live by the what-can-i-get-away-with ethic. At one point he actually uttered the words, “I don’t do empathy.” This was after I sent pictures of razor blades and roofing nails pointing straight up surrounding both of our entrances during a Minecraft camp scheduled far in advance. That is not an exaggeration. Seriously, if there is a hell, he will have a spot there for sure.

Honestly, I fucking hate game development. Sure making a small game is fun, and it is certainly fun to watch young people learn to code with it, but there are so many more interesting things to do with technology, so many more important things.

In fact, when a person tells me all they want to do is learn to make games I find myself much less interested in sharing any of my very limited time with them. For many years I have been fighting with that internal conflict. Usually those learning to code web sites and simple games move on to other technical things, but honestly, you know someone who is serious from the very beginning. These days the only people left (and accepted) are those who are serious from the beginning. Ideally, I get people who are only slightly interested in even playing games, like Nir Gaist who was never into games and became one of the greatest white-hat security professionals the world has ever known.

Besides, legitimate hacking is way more entertaining than any game out there at all. It takes actual skills that go far beyond having good spatial awareness and being able to twitch faster than the other guy. While computer gaming certainly does more for your brain than television, it cannot touch what the research and practice it takes to hack.

When I was young I enjoyed Zork more than any of the other computer games. It took real intelligence.

I also remember one Bruce Lee game I copied from someone and I enjoyed randomly deleting different sectors on the disk with a floppy hacking tool far more than actually playing the game after I hacked it. Directly manipulating all that binary data to this day gives me warm, fuzzy memories.

As for those who aren’t into hacking but love building computers and robotics and making devices, well, they are my kindred spirits as well, and frankly, I don’t give a fuck about anyone else. Life is far too short to suffer through forcing anyone to learn anything, or even forcing myself to pretend I’m interested in making little pixels move around the screen, even if there is money in doing it to make engaging ads.

I definitely appreciate the artistry of well-made games. [I’m the guy who stares at objects when Overwatch is queuing up the next game.] In fact, games are art. The coding is just the glue for the art and design.

Despite suggesting hundreds of times that someone use their game development skills to make an educational game worth playing not a single person has ever taken me up on it. Too bad really, educational games are where the money is. If you can make even a half-decent game that will run on the average Chromebook these shitty school districts are buying everyone then you automatically sell it to all of them at the same time.