erewok's Avatar

erewok

@erewok.bsky.social

tidepooler, software developer, and remaining in close proximity to the ocean. I cohost a podcast called Picture Me Coding: https://www.picturemecoding.com/

26 Followers  |  32 Following  |  112 Posts  |  Joined: 24.05.2023  |  2.7103

Latest posts by erewok.bsky.social on Bluesky

I kind of felt like it was the 90s again and I was seeing these weird "andre the giant has a posse" stickers in random places.

that's probably why I made this bad art and got all nostalgiay about how weird thigns used to be as a procrastination tactic

10.11.2025 04:29 β€” πŸ‘ 2    πŸ” 0    πŸ’¬ 0    πŸ“Œ 0
Preview
deadock the dinosaur sticker Accessories Sticker | picturemecoding's Shop Shop deadock the dinosaur sticker – available on Accessories Sticker

I made this sticker design today when I was trying to debug some gnarly bug adn I have no idea why: picturemecoding.threadless.com/designs/dead...

I'm also terrible at designing stuff so it probably looks awful printed. nevertheless, I feel like printing some and graffitiing them around my town...

10.11.2025 04:27 β€” πŸ‘ 2    πŸ” 1    πŸ’¬ 1    πŸ“Œ 0
Post image

Huh, that's a new one. Fake Cloudflare captcha asking you to please run the osascript from http://185.93 . 89.62/d/xxx33312 to collect and uplaod all your passwords and cookies.

20.10.2025 18:30 β€” πŸ‘ 8    πŸ” 5    πŸ’¬ 1    πŸ“Œ 0
Preview
Ubiquitous Computing - Picture Me Coding In 1988 Mark Weiser of Xerox PARC coined the term "ubiquitous computing", and in 1991 he spelled out the particulars of this concept in a Scientific American article called "The Computer for the 21st ...

In the latest episode we discuss the late Mark Weiser's ideas about "ubiquitous computing". Did we achieve it, did we forget about it, or did it morph into something less friendly? www.picturemecoding.com/2222783/epis...

17.10.2025 17:09 β€” πŸ‘ 2    πŸ” 2    πŸ’¬ 0    πŸ“Œ 0

Following that line, if we didn't need to *preserve* the code, we'd inevitably leave behind all of the tooling we have for the task, such as git, code editors, linting, formatting, etc. Viewing code in the future could be less common, like viewing hexdumps today.

18.10.2025 15:42 β€” πŸ‘ 0    πŸ” 0    πŸ’¬ 0    πŸ“Œ 0

I made a prediction to my friend @mikemull.bsky.social years ago that if LLMs get really good at writing code rapidly, we may see a time where we no longer work so hard to *preserve* code, because we can spontaneously generate it at the drop of it.

18.10.2025 15:41 β€” πŸ‘ 1    πŸ” 0    πŸ’¬ 1    πŸ“Œ 0

Hello friends, we made a Discord server since the demise of the other site and the horrors of FB have made it tough to just chat about books. Comment or DM if you'd like an invite link!

28.09.2025 15:17 β€” πŸ‘ 9    πŸ” 2    πŸ’¬ 2    πŸ“Œ 1
Preview
The History of Unix, Part 2: Unix not Eunuchs - Picture Me Coding A continuation of our discussion about the history of Unix and its development at Bell Labs.  Erik wonders why Unix became successful and which features were novel and important. Mike just wants ...

We're talking about Unix again, especially about what made it successful. Turns out it might be because the developers didn't start off with any particular objective in mind, they just wanted to make it easier to write programs: www.picturemecoding.com/2222783/epis...

17.09.2025 16:16 β€” πŸ‘ 4    πŸ” 3    πŸ’¬ 0    πŸ“Œ 0

I should have said the thing that's different - guest hosts! Thanks to @rudie54.bsky.social, @erewok.bsky.social (co-host of @picturemecoding.bsky.social), and Stephen (favorite brother of @hugeiftrue.bsky.social - is he on here??) for giving us the month off!

03.09.2025 03:02 β€” πŸ‘ 8    πŸ” 3    πŸ’¬ 0    πŸ“Œ 0

Cassian Andor prison escapee

23.08.2025 23:16 β€” πŸ‘ 0    πŸ” 0    πŸ’¬ 1    πŸ“Œ 0
Video thumbnail

Who is Oxide Built For? FAQ Friday #15

22.08.2025 15:06 β€” πŸ‘ 40    πŸ” 8    πŸ’¬ 0    πŸ“Œ 1
Preview
Space, Time, and Squishy Pebbles - Picture Me Coding This week we dip our toes into the river of theoretical computer science and immediately drown.  We discuss the amazing and surprising result of researcher Ryan Williams about how space is a more...

For this episode we delve into computational complexity, attempting to build up to Ryan Williams's remarkable recent result regarding space complexity vs time complexity. We are undeterred by not knowing what the hell we're talking about: www.picturemecoding.com/2222783/epis...

21.08.2025 16:36 β€” πŸ‘ 3    πŸ” 3    πŸ’¬ 0    πŸ“Œ 0

I read a bunch of Michener when I was around middle school age (my grandmother had loads of Michener books, Hawaii, Texas, the one about the hippy kids) and completely forgot about them until one day deep into adulthood when I suddenly realized I hadn't heard anyone refer to Michener for decades.

08.08.2025 17:49 β€” πŸ‘ 0    πŸ” 0    πŸ’¬ 1    πŸ“Œ 0
Preview
HTTP is not simple I often hear or see people claim that _HTTP is a simple protocol_. Primarily of course from people without much experience or familiarity with actual implementations. I think I personally also had thoughts in that style back when I started working with the protocol. After personally having devoted soon three decades on writing client-side code doing HTTP and having been involved in the IETF on all the HTTP specs produced since 2008 or so, I think I am in a decent position to give a more expanded view on it. _HTTP is not a simple protocol._ Far from it. Even if we presume that people actually mean HTTP/1 when they say that. HTTP/1 may appear simple because of several reasons: it is readable text, the most simple use case is not overly complicated and existing tools like curl and browsers help making HTTP easy to play with. The HTTP _idea_ and _concept_ can perhaps still be considered simple and even somewhat ingenious, but the actual machinery is not. But yes, you _can_ telnet to a HTTP/1 server and enter a GET / command manually and see a response. However I don’t think that is enough to qualify the entire thing as simple. I don’t believe anyone has tried to claim that HTTP/2 or HTTP/3 are simple. In order to properly implement version two or three, you pretty much have to also implement version one so in that regard they are accumulating complexity and bring quite a lot of extra challenges in their own respective specifications. Let me elaborate on some aspects of the HTTP/1 protocol that make me say it is not simple. ## newlines HTTP is not only text-based, it is also _line-based_ ; the header parts of the protocol that is. A line can be arbitrarily long as there is no limit in the specs – but they need to have a limit in implementations to prevent DoS etc. How long can they be before a server rejects them? Each line ends with a carriage-return and linefeed. But in some circumstances only a linefeed is enough. Also, headers are not UTF-8, they are octets and you must not assume that you can just arbitrarily pass through anything you like. ## whitespace Text based protocols easily gets this problem. Between fields there can be one or more whitespace characters. Some of these are mandatory, some are optional. In many cases HTTP also does _tokens_ that can either be a sequence of characters without any whitespace, or it can be text within double quotes (β€œ). In some cases they are _always_ within quotes. ## end of body There is not one single way to determine the end of a HTTP/1 download – the β€œbody” as we say in protocol lingo. In fact, there are not even two. There are at least three (Content-Length, chunked encoding and Connection: close). Two of them require that the HTTP client parses content size provided in text format. These many end-of-body options have resulted in countless security related problems involving HTTP/1 over the years. ## parsing numbers Numbers provided as text are slow to parse and sometimes error-prone. Special care needs to be taken to avoid integer overflows, handle whitespace, +/- prefixes, leading zeroes and more. While easy to read for humans, less ideal for machines. ## folding headers As if the arbitrary length headers with unclear line endings are not enough, they can also be β€œfolded” – in two ways. First: a proxy can _merge_ multiple headers into a single one, comma-separated – except some headers (like cookies) that cannot. Then, a server can send a header as a _continuation_ of the previous header by adding leading whitespace. This is rarely used (and discouraged in recent spec versions), but a protocol detail that an implementation needs to care about because it _is_ used. ## never-implemented HTTP/1.1 ambitiously added features that at the time were not used or deployed onto the wide Internet so while the spec describes how for example HTTP Pipelining works, trying to use it in the wild is asking for a series of problems and is nothing but a road to sadness. Later HTTP versions added features that better fulfilled the criteria that Pipelining failed to: mostly in the way of _multiplexing_. The 100 response code is in similar territory: specified, but rarely actually used. It complicates life for new implementations. The fact that there is a discussion _this week_ about particulars in the 100 response state handling, twenty-eight years since it was first published in a spec I think tells something. ## so many headers The HTTP/1 spec details a lot of headers and their functionality, but that is not enough for a normal current HTTP implementation to support. This, because things like cookies, authentication, new response codes and much more that an implementation may want to support today are features outside of the main spec and are described in additional separate documents. Some details, like NTLM, are not even found in RFC documents. Thus, a modern HTTP/1 client needs to implement and support and a whole range of additional things and headers to work fine across the web. β€œHTTP/1.1” is mentioned in _at least_ 40 separate RFC documents. Some of them quite complex by themselves. ## not all methods are alike While the syntax should ideally be possible to work exactly the same independently of which _method_ that is used (sometimes referred to as _verb_), that is not how the reality works. For example, if the method is GET we can also indeed send a body in the request similar to how we typically do with POST and PUT, but due to how it was never properly spelled out in the past, that is not interoperable today to the extend that doing it is just recipe for failure in a high enough share of attempts across the web. This is one of the reasons why there is now work on a new HTTP method called QUERY which is basically what GET + request body should have been. But that does not simplify the protocol. ## not all headers are alike Because of the organic way several headers were created, deployed and evolved, a proxy for example cannot blindly just combine two headers into one, as the generic rules say it could. Because there are headers that specifically don’t follow there rules and need to be treated differently. Like for example cookies. ## spineless browsers Remember how browser implementations of protocols always tend to prefer to show the user something and _guess_ what the intention rather than showing an error because if they would be stringent and strict they risk that users would switch to another browsers that is not. This impacts how the rest of the world get to deal with HTTP, as users then come to expect that what works with the browsers should surely also work with non-browsers and their HTTP implementations. This makes interpreting and understanding the spec secondary compared to just following what the major browsers have decided to do in particular circumstances. They may even change their stances over time and they may at times contradict explicit guidance in the specs. ## size of the specs The first HTTP/1.1 RFC 2068 from January 1997 was 52,165 words in its plain text version – which almost tripled the size from the HTTP/1.0 document RFC1945 at merely 18,615. A clear indication how the _perhaps_ simple HTTP 1.0 was no longer simple anymore in 1.1. In June 1999, the updated RFC 2616 added several hundred lines and clocked in at 57,897 words. Almost 6K more words. A huge work was then undertaken within the IETF and in the fifteen years following the single document HTTP/1.1 spec was instead converted into _six_ separate documents. RFC7230 to RFC7235 were published in June 2014 and they hold a total of 90,358 words. It had grown another 56%. It is comparable to an average sized novel in number of words. The whole spec was subsequently rearranged and reorganized again to better cater for the new HTTP versions, and the latest update was published in June 2022. The HTTP/1.1 parts had then been compacted into three documents RFC 9110 to RFC9112, with a total of 95,740 words. For the argument sake, let’s say we can read two hundred words per minute when plowing this. It is probably a little slower than average reading speed, but I imagine we read standard specs a little slower than we read novels for example. Let’s say that 10% of the words are cruft we don’t need to read. If we read only the three latest HTTP/1.1 related RFC documents non-stop, it would still take more than seven hours. ## Must die? In a recent conference talk with this click bait title, it was suggested that HTTP/1 is so hard to get implemented right that we should all stop using it. ## Necessarily so? All this, and yet there are few other Internet protocols that can compete with HTTP/1 in terms of use, adoption and popularity. HTTP is a big shot on the internet. Maybe this level of complication has been necessary to reach this success? Comparing with other popular protocols still in use like DNS or SMTP I think we can see similar patterns: started out as something simple a long time ago. Decades later: not so simple anymore. Perhaps this is just life happening? ## Conclusion HTTP is not a simple protocol. The future is likely just going to be even more complicated as more things are added to HTTP over time – for all versions.

HTTP is not simple

https://daniel.haxx.se/blog/2025/08/08/http-is-not-simple/

08.08.2025 09:27 β€” πŸ‘ 11    πŸ” 18    πŸ’¬ 5    πŸ“Œ 0
Preview
Hugo, Girl!: Episode 81 - Double Star: Barely Science Fiction This month we read Double Star by Robert Heinlein. Of all Heinlein's books, it was one of Connie Willis's three favorites! DM: Amy Music by   Links:

It's time for Double Star!

hugogirl.libsyn.com/episode-81-d...

04.06.2025 11:34 β€” πŸ‘ 8    πŸ” 3    πŸ’¬ 0    πŸ“Œ 2

Given the production lead time, how many of those products will be cancelled before the show airs?

05.05.2025 16:31 β€” πŸ‘ 39    πŸ” 4    πŸ’¬ 6    πŸ“Œ 1
REVEIL 12

soundtent.org/reveil/index...

Sun's up

03.05.2025 19:58 β€” πŸ‘ 1    πŸ” 0    πŸ’¬ 0    πŸ“Œ 0
Preview
Predicting the Future: Law, Software, and Attorneys Using AI - Picture Me Coding Today Mike and Erik are joined by John Benson, an attorney with a background in digital forensics who has been at the forefront of integrating LLMs into legal practice. The conversation ranges over th...

"The first thing we do is, let’s unplug all the lawyers". This week we talk to John Benson, a lawyer and hacker, about his use of LLMs and other technology in the legal profession. www.picturemecoding.com/2222783/epis...

30.04.2025 15:38 β€” πŸ‘ 2    πŸ” 2    πŸ’¬ 0    πŸ“Œ 0

Saw a dead dolphin at Torrey Pines Beach this morning. Not sure if it's the toxic algae but that's a first in almost 40 years of running that section of beach.

20.04.2025 18:17 β€” πŸ‘ 2    πŸ” 1    πŸ’¬ 0    πŸ“Œ 0

Last night on Netflix, I heard a reality tv show character say, "The taco of success is always accompanied by the salsa of failure."

16.04.2025 19:38 β€” πŸ‘ 1    πŸ” 0    πŸ’¬ 0    πŸ“Œ 0

One weird thing about all of these awesome federal programs getting gutted out of existence is that I now know they used to exist. That’s sort of nice, I guess. It’s like learning about an animal that went extinct last Tuesday.

12.04.2025 03:33 β€” πŸ‘ 1624    πŸ” 238    πŸ’¬ 30    πŸ“Œ 17

This is good one, friends. It's a wide-ranging and hilarious adventure.

09.04.2025 19:40 β€” πŸ‘ 0    πŸ” 0    πŸ’¬ 0    πŸ“Œ 0
Preview
Programming for Fun with David Beazley - Picture Me Coding We have an entertaining and wide-ranging discussion with prominent computer scientist and educator David Beazley, known for his many contributions to the Python community.  We talk about why prog...

This week we talk to the one and only @dabeaz.com about why programming is fun. We talk about music, theater, async Python, Raft, open source, and conference talks as performance art. www.picturemecoding.com/2222783/epis...

09.04.2025 13:35 β€” πŸ‘ 4    πŸ” 4    πŸ’¬ 1    πŸ“Œ 1
Screenshot of a Rust code snippet:
fn main() {
    for n in 1..=15 {
        let mut out = 0;
        Fib(&mut out, n);
        println!("Fibonacci for n={n}: {out}");
    }
}

Screenshot of a Rust code snippet: fn main() { for n in 1..=15 { let mut out = 0; Fib(&mut out, n); println!("Fibonacci for n={n}: {out}"); } }

committing #rustlang drop crimes
yes, `Fib` is a struct here, not a function call

Playground: play.rust-lang.org?version=stab...

03.04.2025 18:30 β€” πŸ‘ 36    πŸ” 4    πŸ’¬ 6    πŸ“Œ 3

I was surprised to find out no arbitrary strings for values in labels when I tried stuffing email addresses into them. My dumb idea was, "the infra team may want to email the devs responsible for this pod when it breaks..." For selfish reasons: they were first always asking me, "who owns this thing"

30.03.2025 17:38 β€” πŸ‘ 1    πŸ” 1    πŸ’¬ 0    πŸ“Œ 0

Our son begged us to play DnD with him, so we made characters and he DMd. At one point, I joked, "roll 1d20 for sleeping proficiency" and I rolled at 20 and my wife rolled a 5 and we both laughed because this was true to life.

29.03.2025 20:35 β€” πŸ‘ 1    πŸ” 0    πŸ’¬ 1    πŸ“Œ 0

let's go Rangers, but also Ban Dolan #NYR #NHL

27.03.2025 03:42 β€” πŸ‘ 3    πŸ” 1    πŸ’¬ 0    πŸ“Œ 0

holy wow sheesh

27.03.2025 00:06 β€” πŸ‘ 0    πŸ” 0    πŸ’¬ 0    πŸ“Œ 0
Preview
Mike and Erik Go to Pasadena! - Picture Me Coding This week we are on location in the city of Pasadena, CA for Scale 22x, the Socal Linux Expo. We talked to people and went to talks and drank a lot of coffee. We do a debrief of some of the amazing wo...

This week we talk about our first two days at #Scale22x. We cover earthquakes, AI, open source licenses, eBPF, research engineering, robots, coffee, donuts, Van Halen, and America's Got Talent: www.picturemecoding.com/2222783/epis...

19.03.2025 15:55 β€” πŸ‘ 5    πŸ” 4    πŸ’¬ 0    πŸ“Œ 0

@erewok is following 20 prominent accounts