Wow, I was wondering if e.g. Ghostty could implement something like this but that's cool it's already proven out.
Does everything still go "through" tmux (so parsing etc. is still done twice), or does iTerm handle most of the rendering and just delegate scrollback storage/session persistence to tmux? The latter seems like the best of both worlds.
So am I identifying the bottlenecks that motivate this design correctly?
1. Go FFI is slow
2. Per-proto generated code specialization is slow, because of icache pressure
I know there's more to the optimization story here, but I guess these are the primary motivations for the VM over just better code generation or implementing a parser in non-Go?
Tried starting a "run every day for a year" initiative last year. Wish it was for me, after 42 days I realized that I actually actively despise running and spend most of my time not running dreading the next one. Easiest habit I've ever dropped :(
Thanks for this! I was quickly able to find some interesting new and niche types of things to read, in contrast to what my normal strolls through news.ycombinator and hckrnews give me.
A couple weeks ago, one of my physical stick of RAM completely stopped working after yet another Linux out-of-memory-force-poweroff situation. No idea if that could be the proper cause, but I do find it a little funny.
I just arrived at this thread after my entire system stalling completely at yet another low memory situation.
Let's just say I'm extrememly grateful to discover some of these userspace early OOM solutions in this thread.
I'm not exactly sure the monoculture argument is valid for Windows vs. Linux though; Linux still dominated server usage while Windows was attacked more often, despite the fact that you could potentially reap a much greater reward infecting a server. Unix-based OSs were just inherently more secure for the most part.
I'm also building a computer and just purchased an i7 9700K for $400. I also wonder what the equivalent-performance AMD processor would be given the performance loss of these patches. Unfortunately it's a bit late to back out without returning the motherboard as well, though.
Mario 64 romhacks are sometimes distributed as patches to the original game instead of the complete modified game as well, and since it's just a diff it's not subject to copyright.
Nice reference! On Linux I have a keybinding which opens a terminal with a fzf listing of my password entries. when I select the name I want, it types the password with xdotool into whatever is focused. I bet it's just as fast if not faster than the browser password managers' autofill.
Interesting, it's the opposite for me. If I'm feeling rotten, unmotivated, unproductive, and guilty about it, I'll tend to stay up later because my "self-discipline for the day" will feel eroded and I'll want to procrastinate the arrival of the next day where I'll be faced with dealing with the thing I put off. I can only usually make myself go to bed early if I feel like I'm already in a "disciplined state" for the day.
Preventing unnecessary deaths of children is not exactly in the same class of severity as preventing a computer from running malicious code in my opinion.
I originally used an Xbox controller as a case, but the hardware was my own. Eventually I ended up putting everything inside a Raspberry Pi case. Inside I put a protoboard with an Arduino and a radio module which communicates with the radio module on the drone. The code for message serialization is custom.
Hi, I'm the creator! Thank you all for your thoughtful comments.
Some of you wanted a photo album of the journey; I quickly collected one here [0]. Apologies for duplicates, no descriptions, and Google.
The full album shows a lot more of the process, but I also linked some quick highlights / milestones at the end of this comment.
Also, to those who were wondering, I am still in the market for a Summer 2019 internship.
I really ought to have a blog post detailing more of this, but here's a little backstory anyway. My best friend from high school and I wanted to experiment with creating our own modular drones, and although we bought a bunch of parts, we ended up leaving for college before we could do anything. A couple years later I had some time on my hands, and I decided that I wanted to see whether or not I could actually build and program a drone myself. For the project, I tried to focus on writing high quality software while still managing to build something flyable with my nearly-nonexistent mechanical skills. Even though much of this project was physical (and electrical), I still largely consider this a software project, actually.
Physically, my prototypes are something you might laugh at. Zip ties, styrofoam, and Gorilla tape were my go-to materials for the most part. I originally started by mounting (read: zip-tying and taping) components to PVC tubes and metal sheets; combined with the pretty large LiPo battery I bought, it should have been no wonder that four motors were no match for the weight of the thing. I later decided to screw together 6 strips of carbon fiber sheet (a "frame") and add two motors to help assure my drone can actually lift greater than two inches off the ground at a time. Reworking the flight controller to work with six motors instead of just two was a fun challenge; I decided to make the flight controller support an unlimited number of motors in a circle while I was at it.
Figuring out the optimal wireless technology for the drone was a bit of a process as well. It was frustrating when I thought I had everything ready for a test flight, but then slowly realized that, perhaps, I wasn't going to be able to get away with using Bluetooth LE over non-trivial distances. Eventually I found a radio module with superb distance and transmission rate; and after some struggle, I got them working. You can see in the video that I could control the drone from quite far away!
It took quite a few days of test "flights" to get the drone to fly as well as it did in the video (if you consider the oscillating nightmare in the video "flying well"). Even getting the drone to launch two feet in the air, instantly lose control and backflip, and crash back down on the ground felt like an AMAZING feat from my perspective; it demonstrated all my systems were at least online and functional. I slowly increased the hover time of each attempt by a couple seconds or so, adjusting my controller tuning and implementation as I went. The flight in the video was nowhere near as primitive as some of my early experiments, even.
I'm sure I skimped on many details, don't hesitate to ask for more information on anything.
Blue light blocking glasses have had such a tremendously positive effect on my sleep habits (earlier bedtime, better sleep quality) that at this point I genuinely feel bad for people who don't use them.
I got a pair that claims to block a very large amount of blue light (at the expense of a distinct orange tint), and just wear them after it gets dark.
It makes sense that they work; your brain uses blue light to time the release of melatonin and such, and our ancestors were only exposed to non-blue light from sitting besides the campfire socializing after the sun went down.
Wearing these allows me to experience much less of a consequence for using a computer at night which I simply cannot get myself to avoid.