I like programming (web + backend + graphics + systems + network protocols). I am not religious. I like classical music.

I generally avoid lifetimes, because I had a bad experience with them when I was starting out with Rust. Usually, I tell myself that heap allocations are fine to avoid working with lifetimes. For some performance reasons, though, I had to step out of my comfort zone.
0
0
0
Arenas make things so much easier in Rust. Instead of keeping track of a bunch of lifetimes, I just need to keep track of one lifetime—the arena's lifetime. It really helped with zero-copy deserialization, as I can just store the bytes in the arena and the deserialized data will have that lifetime.
1
0
0
Now, I have to wait while wondering if I set things up correctly... or try to find a local store that has stock, even though patch cables aren't really popular SKUs.
0
0
0
I got a new network switch and was excited to set it up. I set up all the VLAN rules and whatnot, was about to retire my old switch (which has dead ports), and my patch cables don't reach my new switch's ports... the soonest I can get cables delivered is some time next week.
1
0
0
After using monospace fonts for everything, it's hard to look at kerned, variable-width fonts. Monospace is so much easier for me to read and reduces my eye strain (not sure why, though).
0
0
0
I think starting out with AI would have given me a good guide where I didn't have one.

At the same time, I can recognize that current AI falls short of my current abilities in a lot of cases. I wonder if learning through AI would have limited how far I've come.
0
0
0
Growing up, I had nobody to teach me programming, so I had to teach it to myself using whatever sources I could find online. It made it really hard to get a grasp on even simple concepts, because I had no frame of reference to look at things from.

I wonder how much better I'd have fared using AI...
1
0
0
My flow control scheme is somewhat suboptimal in the sense that I use per-chunk ack messages to signify the chunk was written to the SFTP file, but at least now I can upload, download, and use the terminal at the same time.
0
0
0
My initial implementation of uploads resulted in flooding the WebSocket which would freeze up the terminal/pty channel, since the terminal input would be queued after the whole file upload. Or downloads would have to wait until an upload finished.
1
0
0
A fun issue I had to solve was managing the back pressure from the File API to the WebSocket to the underlying SSH session.
1
0
0
I just got done implementing an SFTP over WebSocket integration and ended up ruining my sleep schedule doing it.
1
0
0
This is the hardest preventative measure I've worked around.

The most interesting measure was a site that used an atbash cipher font... and making it monospace garbled the text. It wasn't too hard to work around, but very interesting nonetheless.
0
0
0
The reason behind this endeavor was that a webnovel I was reading used images of words to combat piracy. But I use monospace and adjust font colors to prevent eye strain, which didn't end up working.

So, I wrote the OCR thing and a Tampermonkey script to replace the images with their text.
1
0
0
I wrote an OCR (text recognition) server in Rust. Initially, I used the ocrs crate, then I switched to GCP's Vision API... which I had some trouble getting started with auth, but wrote my own JWT signing to get access tokens. There are times when I'll send the same image, so I use Fjall as a cache.
1
0
1
Cancelled Spotify. Now looking for Music streaming that doesn't platform people like Joe Rogan and Andrew Tate.
0
0
0
I'm implementing an SNMP client in Rust and just finished optimizing using GetBulk and polling across the ocean takes half as long as it did before. I also added retry logic for potential packet loss.

It's nice to see.
0
0
2
Reposted by Plunged
jonhoo.eu's profile picture
Quick reminder that this is tomorrow!
1
0
31
Join the crowd! Nearly 2,000 people have already entered the Spring City Trees Lottery. Don’t miss out! Trees bring beauty, connect us to our neighborhood roots, and create lasting memories .

Enter now: www.minneapolismn.gov/government/programs-initiatives/environmental-programs/city-trees/itiatives/environmental-programs/city-trees/
0
0
3
My kitty likes to crawl under blankets:
0
0
1
Paraphrased: Maintainers of core subsystems/APIs can deny Rust code in the API, but can't deny the usage of the APIs. If they want to have a say in the Rust side, then that's their prerogative, but they can't just stop Rust usage if they choose not to contribute to Rust bindings.
0
0
2
Linus provided clarification on the Rust for Linux guidelines in regards to the DMA drama.
1
0
2
By far one of my favorite shows that I've watched to completion. Usually, I either get fatigued by a show, or I simply start disliking the direction (plot lines, character arcs, etc) of a show. I enjoyed the show throughout its entirety.
0
0
1
I set up my home network the other day and used VLANs to make sure all the ports on my Ethernet panel (including Internet port) went to my wireless router. Before, I was scared of VLANs because they seemed complicated. They still do, just a bit less.
0
0
0
It's good for keeping track of things that probably aren't in the key set but might be, since I can avoid locking in a lot of the cases where the key isn't actually in the set.
0
0
0
I wrote a concurrent data structure that stores keys and does filter = filter | key_hash, where filter is an atomic. Then, I check for non-presence of the key by doing (filter & key_hash) != key_hash.

That way, I can avoid locking the underlying hash set containing the keys.
1
0
0
Originally, I was planning on moving to the west coast, but I've grown to like cold weather and Midwest hospitality.
0
0
0
Moving to Minneapolis next week. I've been planning for a couple years now (and regretting not moving earlier). A few months ago, I finally decided to really pull the trigger on the whole idea.
1
0
3
I built a time-series database on top of RocksDB and ran into a bug where looking at one item would have overlapped graphs on the frontend. Turns out I was dropping the lowest-order byte of the key by accident.

In terms of bugs, it's my favorite in terms of the weirdness it causes.
0
0
0