Thanks for the kind words! I'm still a bit hesitant to make a "Show HN" at this time, but there are indeed potentially interesting implemented and planned features, like:
- full text search across all blogs (implemented) and across blogs user subscribed to (planned)
- subscribing to users to see the blogs they follow in your "friendfeed" (implemented)
- favorites, with contents saved to permanent storage (implemented)
I'm so sorry, I've been doing some digging and I think there's a bug in the way the libraries for this particular board implement a WiFi server! It seems to crash quickly with even minimal code. I'm going to go back to the drawing board and see if I can set up an Ethernet-based server on an Raspberry Pi Pico - they're a bit more battle-tested. I'll let you know in a week or two when Solar Witch is back online!
Email hn@ycombinator.com and ask for a second chance when you're ready. If it actually is a bug in the Arduino wifi stack and you can prove it, then I'd love to read a blog post about it. Especially if you manage to patch it upstream. It'd be a great story. Very newsworthy.
Not as far as I can tell! Absolutely ashamed to say I did it because it looked cool. I did manage to get the dithered GIF down to 7KB, but I think I could have done the same with a limited palette and no dithering.
That's a really interesting point and one I hadn't considered! I'm reverse proxying it through a larger server on the home network which is public-facing, and that server automatically slaps HTTPS on whatever it sends out.
There's no better stress test than Show HN, and unsurprisingly, that's revealed that Solar Witch has a buffer overrun bug somewhere which I'm investigating! If Solar Witch is currently offline, here's a screenshot of what it might look like: https://ttm.sh/ix3.png
We really did that when we discovered a memory leak that manifested itself over some days, and that we couldn't find the root cause of. We just did a rolling reboot daily when the visitor count was bottoming out.
HN may be a good stress test for Arduinos and WordPress, but it's really not that much load. I've recently had my site high on the front page and the page specifically recommended reloading if you didn't see the effect the first time. This is hosted on a ten year old laptop and a home Internet connection. The load average didn't budge.
People hugely overestimate the amount of firepower you need when you "go viral", presumably because more people read HN than post on HN so most will just never have tried, and even fewer people try without some preparation (you don't know for sure that it was unnecessary if nothing went wrong).
If one's pages don't require a lot of (pre)computation and you're not a huge destination on the web, things like load balancers, server clusters, etc. are a waste of time and money. But not using fancy tech is not what people here like to geek out on so...
That's because people are so accustomed to leveraging mountains of free candy that they've forgotten that a web page can be served with less than 1000ms of cpu time. I got a job once when I told a story about a web app I wrote was going viral getting a million visitors a day while I was strolling in the park. The web servers I write only need a single system call (writev) to serve gzip encoded assets so wrk says they can do a million requests per second on one pc. So it's not like it was any kind of big technical achievement even though it was a technical job. My point is that we're drowning in so much software that sometimes being a master class engineer all it takes is not using it.
I really think we need a major shift in how we handle static content. This stuff should be near zero-cost by now.
Ideally so cheap that your ISP has a CDN and publishers pay nothing to get them to cache it, it's just included in your internet service. For some people things could even be cached temporarily at the building level.
SSDs are very fast and hardware acceleration exists. Why so we need such massive servers in a data center?
A movie is only 90 minutes. A single disk and some ASICs should be able to serve tens of thousands of people, if you could make dedicated hardware without all the stuff that's irrelevant for streams, just a bunch of cores with DMA going straight into crypto and out a bunch of Ethernet ports.
If we can make a tiny 10 gigabit swith with tons of ports in one rack, why can we not add some sticks of ram and do CDNs in hardware?
Do you have the source code published somewhere? I'd be very curious. My current implementation uses mmap and send(), so id love to get it faster than that.
Well, granted, no doubt, but my poor little server routinely crashes after a few dozen connections, and exposing it to HN was the first time it experienced that many. Something is clearly amiss!
Sure, I didn't mean to dismiss that it's a good test for custom software on embedded hardware :). More of a general remark that it seems most people's perception is that HN does some good "hugging" and that I think this is a misconception - unless, of course, you run ultra low power. Kudos for doing exactly that!
You're right - this was my impression too! You read a few dramatic posts about being hugged and you get this idea that HN is a behemoth that DDoSes everything it loves. Thanks for the context!
Sure, but - and I say this with considerable respect because it in no way detracts from the impressiveness of the work - that's clearly a bug, and I would hope most production web servers don't fall over quite that easily.
I'm OP, and this was in fact my response to my question! Everyone else is suggesting these wonderful grandiose economic and social changes, and I just want a strongly typed (or, hell, even a little bit typed) Internet...
For a while now, I've been working my way through the reasons why I don't like the current state of social networking with a series of little social coding projects. Pond is the latest one - it's sort of like a newsletter, sort of like a patently simple social network.
A lot of my trouble with social networking comes from the anxiety of the 'feed', and with Pond I'm trying to find a balance between the constant stream of information and, uh, absolute silence.
You send Pond your posts (Markdown-equipped), and once a week you get back two digests: one digest with every post sent that week, and one digest with the posts of the people you've chosen to follow. That's it!
I've been thinking through similar disenchantment with social networks and content distribution. Going back to simplicity with something like this is a great idea.
Also, nice use of "lo-fi"! Thinking of recent projects as lo-fi has really helped me keep to the simple path.
It's just a very little Node thing I made in a serious bout of procrastination, but I'm surprised I've not seen anything like it around before - general, quick to use, easy to share, doesn't try to snoop on you. I'm sure it already exists in lots of forms, and I'd love comments and criticisms because it's one of the first things I've really coded (which is mildly exhilarating).