News for hackers. Stuff that matters.

GSGBen

Ah yep, I read about the TCP RST problem in one of the RFC docs, then promptly forgot about it and never implemented anything to avoid it. Thankyou for the detailed notes.
Oof, thanks.
Should be back up now with a very temporary workaround in place.
Still seems to have an issue, but no output before the crash. Will have to do some more debugging. Thanks for the test HN!

Source is here btw: https://github.com/GSGBen/unsafehttp/blob/main/src/main.c

Found the issue - a use after free in send_response() if I close the session early due to an error. Was continuing to the next bit. Put a temp fix in place, will push a proper one later.
Whoops, should be back up now. I'll have to check logs later to see why it went down.

Show HN: unsafehttp – tiny web server from scratch in C, running on an orange pi

http://unsafehttp.benren.au

Hey HN, I wanted to get more familiar with C programming, *nix socket programming and C compilation, so I wrote this "web" ""server"". It's running on a tiny SBC in my office, and there's as little as possible between you and it.Happy for you to try and break it, hopefully with something more interesting than a DoS though :) Please let me know if you find any issues.

( Read More... | 52 comments | 11 points | on HN )
(continued)

Other tips: I still had issues going too granular with GOAP actions at the start, so I recommend keeping your actions as coarse as possible. It's still a tool that you use with your AI designer hat on, it doesn't do everything on its own. But the power of being able to throw in a new goal, maybe one new action, and have the existing actions solve all the other prerequisites, is amazing. Defining world properties and states is a muuuuuuch lower mental load than using utilities for actions.

I wrote it all with performance in mind, and it seems to run fine. Basically lots of caching (each world property is only evaluated once per AI per tick then re-used, shared values are cached for all then re-used, etc); eliminating invalid paths early; and searching backwards from the goal instead of forwards from the current world state. I test with 4 AI players on an old i3 laptop processor from ~2016 without issue.

Show HN: The demo of my game that uses GOAP and Utility AI is out

https://store.steampowered.com/app/1813590/Grab_n_Throw/

Hey HN, I'm working on a game where you throw stacks of your own team-mates in first-person, in various gamemodes. I tried a few different approaches for player AI, but ended up settling on Utility for "what to do" and GOAP (Goal Oriented Action Programming) for "how to do it". Each of these (Utility AI and GOAP AI) are worth watching videos on, they're very cool.Utility AI was popularised by...

( Read More... | 1 comment | on HN )
hmailserver is the replacement you want for this.
Re:Show HN: Send me an IRL message and watch it arrive on Sunday November 12, 2023 @12:58AM (#38237718)
Hey thanks, this was a good catch. `--shutter 12000` fixes the screen, and is bright but not too bright.
Re:Show HN: Send me an IRL message and watch it arrive on Saturday November 11, 2023 @08:16PM (#38236307)
Update 2: The servo's gears are absolutely grinding at the moment
Re:Show HN: Send me an IRL message and watch it arrive on Saturday November 11, 2023 @08:14PM (#38236297)
Haha nope!
Re:Show HN: Send me an IRL message and watch it arrive on Saturday November 11, 2023 @08:08PM (#38236257)
Hey, thanks! I was thinking about game ideas while stepping into the shower one day (where all great ideas are born), and "throwing people in a first-person view might be fun?" came across my mind. I mentally fleshed it out a bit, and wrote it down. When the idea I was already working on turned out to not be fun, I shelved that and started working on this instead. When I prototyped the basic throw feel and it already felt fun, I decided to run with it.

Show HN: Send me an IRL message and watch it arrive

https://hi.benren.au/

- This page is running directly on the Pico W in the stream, using microdot (but proxied out via cloudflare tunnel).- There's a buzzer that plays a sound as well but the stream has no audio.- There's a Pi Zero 2 W with a Camera Module 3 streaming the video. Streaming low latency video is painful. I tried mjpeg, Nginx+HLS/DASH, YouTube and Twitch. Twitch is definitely the easiest and...

( Read More... | 20 comments | 2 points | on HN )
I started with The City Watch series, and it felt like a great introduction.
Not sure if this is still true RE: Azure. AFAIK they use Hyper-V (hypervisor) containers which offer kernel isolation like other lightweight-VM-container runtimes.
Even more surprising: it's written in C#

Ask HN: Where are all the stateful posters? Tell us what you're working on

Stateless tech is great fun. If it fails you rebuild it and everything is (mostly) okay again. Frontend and app tier containers, network devices, even compute hosts. There's lots of posts about these.But state (and loss of) can be nightmarish and we mostly want to avoid it. We outsource database hosting to cloud providers, avoid touching SANs, hand-wave away schema change and rollback...

( Read More... | no comments | on HN )
Re:Ask HN: Just got a brand new server, what do I do first? on Wednesday February 01, 2023 @03:58AM (#34608126)
Not sure what the first thing you should do is, but the second is set up and test backups!
Isn't it more likely that this would have unfound vulnerabilities in it, and you'd still need to have this open to the internet to get similar benefits to Tailscale proper?
Damn, and I thought I loved powershell. This is awesome.

Another of the author's projects sits solidly between awesome and terrifying: https://github.com/ShaunLawrie/PwshRayTracer

> A very slow raytracer in PowerShell that has been optimised from ~100 camera rays traced per second to 4000 rays per second on a 4GHz 6 core CPU with a few tricks

> Because I've been learning a bit of serverless stuff I was curious as to how much faster I could run this using PowerShell in a webscale™ setup by distributing the processing over as many concurrently running lambdas as I could get in my AWS account:

> By using Lambda with large memory sizes to get more cores I had >250,000 camera rays per second (~62x my laptop speed) but I managed to rack up a $200 bill over a couple of bad runs

Re:Show HN: Obsidian 1.0 – Personal knowledge base app on Thursday October 13, 2022 @04:25PM (#33196063)
Awesome, I've been waiting for proper tab support.

A tip that people on HN will probably enjoy: add --disable-smooth-scrolling to your shortcut to make scrolling more responsive.

Question for everyone: do you refactor in a separate pull/merge request, or just a separate commit within the same pull/merge request?
Re:My productivity system on Sunday September 18, 2022 @08:37PM (#32892915)
I used to use Trello for my entire personal KB, but the description editor grows unwieldy with large cards and you only get a few levels of nesting. It's still great software.

It took a few times to stick, but I've now fallen in love with Obsidian and am migrating everything except a large project's task-tracking system to it. The WYSIWYG editor, fully nested hierarchy and fast full-text search is fantastic and makes it better for my personal documentation.

I'm extending my Trello backup project to make the migration easier. Take a look if you're considering the same move. https://github.com/GSGBen/t2md

Older »