> One of the weirdest things my website does is that it serves everything from a .zip file
whyyyyyyy
why would you do this to yourself
It looks like you're still pushing a bunch of stuff over with git so it's not like you're making it easier to just ftp over one file or something, whyyyyyyy
My website binary builds the static site on every commit to the repo. This putting things in a zipfile strategy is probably a bad idea, but it makes it easy for the preview site to handle: https://xeiaso.net/blog/2024/overengineering-preview-site/
Maybe I missed it, but why are you embedding a zipfile of gzip streams rather than just embedding the static site's files with an `embed.FS` and serving from that?
Aside — the architecture diagrams on https://xeiaso.net/blog/xesite-v4/ are not displaying in-browser for me, but do transfer correctly and are viewable on my computer. Maybe another mime issue, as the network inspector shows them being transferred with type "octet-stream"?
Repro by visiting the URL in latest Firefox, Safari, or Chrome.
This is something I'm aware of and need to fix when I have the time. Just need to figure out how to best write this migration. I know exactly what I need to do, just gotta write code to do it.
I wonder what compression gains, are you serving the gziped version directly based on Accept-Encoding headers to avoid a decompression and compression? If not it would be possible to just use Store[1] to use the zip as a container format but not a compression format.
From the perspective of someone whose site is a 12-year-old Wordpress installation on cheap hosting that she only does anything technical to when it's time to make a custom template for a new multi-year comics project, your website is a shimmering fractal of terrible ideas. Assembling a list of posts can be done with so much less work than this hyper-complicated machine you've made.
But then again a glance at your resume suggests you're probably making at least two orders of magnitude more money off of fooling around with tools for making enormously complicated websites than my broke ass is making off of drawing comics and furry porn, so what do I know? You've probably solved some big problems at work super fast because of dealing with the toy problems you've created for yourself with this Rube Goldberg machine of a website.
Xe's site feels more like a kinetic playground, constantly adding wild new inventions, than a shimmering fractal of bad ideas to me.
This is where the niche excellence is first built which later, almost by accident, drives enormous amounts of business value when put into the right place. I totally get it. There is machine empathy you simply cannot build any other way.
You hit the nail on the head. This is exactly why I do these things, but the only difficult part is figuring out where to apply this experience and how to phrase things without sounding like a crazy person in the process. "Yeah I got bit by this when I was intentionally throwing my body out into the snakes for fun", doesn't really make quite as much of the right impact as I hope.
Ironically, I'm quite bad at product development, and where I really succeed is when I'm mentoring people and helping enable them to succeed. I'm glue professionally, which means that my individual contributions are terrible but in aggregate I help others succeed so much more that it adds up. I always look terrible at review time though, I end up having to bring a brag document and look kinda like a jackass.
This is ironic, as I'm not even sure the authors RSS is setup correctly. My Miniflux instance now has multiple entries for this exact post and in fact the ONLY time I see duplicate posts in there is from the authors site.
I really do need to write that nuance post about why I think we should consider it professional malpractice to develop new projects in C and should make it politically difficult to get them accepted into distro repositories.
31 comments
[ 4.6 ms ] story [ 68.2 ms ] threadOne minor point that should be relevant here: there are files that support `rewind` (`seek` at offset `0`) but no other seeking.
whyyyyyyy
why would you do this to yourself
It looks like you're still pushing a bunch of stuff over with git so it's not like you're making it easier to just ftp over one file or something, whyyyyyyy
Aside — the architecture diagrams on https://xeiaso.net/blog/xesite-v4/ are not displaying in-browser for me, but do transfer correctly and are viewable on my computer. Maybe another mime issue, as the network inspector shows them being transferred with type "octet-stream"?
Repro by visiting the URL in latest Firefox, Safari, or Chrome.
[1]: https://pkg.go.dev/archive/zip#Store
From the perspective of someone whose site is a 12-year-old Wordpress installation on cheap hosting that she only does anything technical to when it's time to make a custom template for a new multi-year comics project, your website is a shimmering fractal of terrible ideas. Assembling a list of posts can be done with so much less work than this hyper-complicated machine you've made.
But then again a glance at your resume suggests you're probably making at least two orders of magnitude more money off of fooling around with tools for making enormously complicated websites than my broke ass is making off of drawing comics and furry porn, so what do I know? You've probably solved some big problems at work super fast because of dealing with the toy problems you've created for yourself with this Rube Goldberg machine of a website.
This is where the niche excellence is first built which later, almost by accident, drives enormous amounts of business value when put into the right place. I totally get it. There is machine empathy you simply cannot build any other way.
nice term, though imho 'experience' is more apt.
Ironically, I'm quite bad at product development, and where I really succeed is when I'm mentoring people and helping enable them to succeed. I'm glue professionally, which means that my individual contributions are terrible but in aggregate I help others succeed so much more that it adds up. I always look terrible at review time though, I end up having to bring a brag document and look kinda like a jackass.
Could this make you feel better?
Why not? It's not that bad of an idea. I mean, of course they should've used SQLite instead of ZIP as the container, but... ;).
There's a turn-key solution for this too: https://redbean.dev/. See also, https://justine.lol/redbean2/.
why create brainfuck?
why encode the matrix movie into an ascii stream?
Interesting comment by Russ Cox about this: https://github.com/golang/go/issues/61791#issuecomment-16719...
https://tttang-com.translate.goog/archive/1880/?_x_tr_sl=aut...
Had that same root of not having the mime.types in the container, leading to server-side sniffing of the mime type for the Content-Type header.
It's just a bit interesting the impact such a file can have
I really do need to write that nuance post about why I think we should consider it professional malpractice to develop new projects in C and should make it politically difficult to get them accepted into distro repositories.