In the very long run, I believe that Intel’s stock has not much value. The reason is simple - innovation costs money, and Intel doesn’t have a lot of it. It’s already lost a lot of key staff over the past few years, and whispers say that most of their talent has already left. The one guy they brought back to fix things, Pat Gelsinger, didn’t have enough runway to fix…
Zoekt is a full text search engine that lets you run arbitrary substring or regular expression searches on a large set of files. I think the technology is highly underrated, and I spent some time spelunking in the Zoekt codebase, so here’s how it works. Note: I’m not a Zoekt core contributor, just someone who uses Zoekt. Zoekt is written by Han-Wen Nienhuys and maintained by…
Basic summary of my backup strategy I backup my files to Azure blob storage I have 3 backups following the 3-2-1 backup strategy . For my primary storage location I have a Onedrive backup which backs up photos from my phone. I consider this the primary, and my files are kept here For my secondary backup, I have a 2TB Seagate Backup Plus external HDD that I use rclone to mirror my Onedrive to. But…
I’ve been working on a Telegram bot that summarizes articles in 5 bullet points. Why? Ideal for breaking news, saving time compared to reading the entire article Helps you in deciding whether to read the full article Acts as a Table of Contents for longer articles to guide you as you read Here’s a video demonstration of the bot in action: Your browser does not support the video tag.…
Part 1 here: Link to part 1 Let’s decompress a gzip file by hand, just like we did last time in part 1 , but this time let’s decode the decompressed huffman codes too. Start by writing some data to disk: $ echo "hector the frantic father on an anchor or a rare fat cat sat on the ranch" > test-huff.txt $ xxd test-huff.txt 00000000: 6865 6374 6f72 2074 6865 2066 7261 6e74 hector the…
Summary Kellogg (KLG) is a recent spinoff of the North American cereal business from the larger parent Kellanova (K). I believe that Kellogg has great investment potential as a classic Greenblatt spinoff play. It experienced indiscriminate selling, is trading close to dividend value, and has a potential for 30% returns. Introduction On Oct 2 2023 [1], Kellogg separated into its own company. This…
I’ve moved from ttay.me to thomastay.dev, my new domain! I accidentally let the old one expire and now they’re charging me $70 to recover it… for a hobby domain that’s too much, man. Hopefully this one will be better, anyway, as it has my name in it.
I don’t understand why the Wheel trading strategy is so popular on Reddit. Am I missing something? This post is a semi coherent ramble where I try and figure out why, oh why, is the wheel so heavily promoted on Reddit. What is the Wheel? Put simply, the Wheel is a covered call strategy . That’s all it is. Really. Nothing more. A strategy so simple that, by the way, it is literally…
I recently made a web app that helps you play Wordle, everyone’s favorite word game. In case you haven’t heard of it, Wordle is a game where you try and guess a 5 letter word in 6 tries (just Google it!) Click here to go to my website and try it out . I thought it might be worth sharing the engineering of how I designed, wrote and published this app. Plenty of people have written much…
I work on a front end project which has two Git repositories, three completely different build systems, five languages, over 10,000 files and 10 million lines of code. It’s been built over six years, with the effort over at least a thousand engineers. At this scale, IDE’s just can’t work effectively. For instance, Jump to Definition (F12 in vscode) mostly works, except when…
TODO: this intro sounds bad I started this blog last year, and though I’ve written a few pieces, I’ve ensured that they all score a 100% on Lighthouse. While there isn’t any particularly fancy trick I use to make the page small (I literally just don’t do a lot of stuff), I figure it is at least worth writing down. At the very least, it’ll help me restart everything…
A Computer’s No A computer’s No is the most powerful answer for code quality that has ever existed. Unlike the human No, it cannot be bought, bargained, or bullied into submission. If a computer says No, that is the end of it; we as the soft pliable humans simply have to work around it. Memory The original Apollo guidance computer fit into x bytes. The hard work of many dozens of…
This is going to be a tiny blog post to say that I’ve made a tiny site (microsite?) that’s all about x86 flags. I’m learning about x86 assembly, SIMD, and microarch these few weeks. The eflags register is really confusing, so i made a tiny simulator to help me remember which flag is which. Particularly the carry and overflow flags, cos f**k whoever thought that was a good way to…
2024 Update: Part 2 is out! Let’s make a gzipped file and see what’s in it. We’ll keep it simple: just write 8 ‘a’s to a file. $ echo "aaaaaaaa" > test.out $ xxd test.out 00000000: 6161 6161 6161 6161 0a aaaaaaaa. As we can see, our file is 9 bytes long. We have 8 ‘a’ bytes written, plus a Line Feed (LF) character written at the end. Let’s make the…
Warning: snark Blub framework is hacked together in a weekend. It is lean and mean, and solves all the problems of Blub domain. Pre-Blub users look at Blub, think it’s really cool but doesn’t have any libraries, so they pass. Blub framework is noticed by smart people, who begin building cool, interesting solutions with it. Blub now has its own website and learning guides.…
The following email is written by Brian Harry and published by Brad Abrams (brada), written in 2000. It’s about the .NET runtime (C#, F#, VB), and why they decided to go with Garbage collection instead of sticking with reference counting. Worth a read if you’re interested in the debate between GC systems vs Ref Counted systems. The question is all the more relevant these days (2020),…
When people first build a distributed system, they normally think of FIFO messaging, or maybe they build their system to be linearizable. But there’s an in-betweener, and that’s causal messaging. Instead of giving you the definition, which is pretty mathematical, I’ll let you read it on your own, and I’ll give a real life example that you can hopefully grok. Causal…
In this short article I’m going to talk about how Pony gets away with not storing a stack for each of its actors. I was pretty surprised to find this out, given that in most actor model languages actors have their own stacks. For instance, in Go, Goroutines have a stack size of 2KB. Elixir/Erlang processes have a 1.2KB combined stack and heap. But surprisingly, Pony’s actors…
In this article I’m going to share how I optimized a graph algorithms interview question down from 58s down to 1.2s , nearly a 50x improvement! TLDR : Use the right data structures, exploit cache efficiency, and do less work . For those unaware, F# is a functional-first language that runs on the .NET platform (think C#) . Despite the title of the article, very little of the optimization…