Hacker News new | past | comments | ask | show | jobs | submit | rlonn's comments login

Cool, I didn't see this tool before. I have tried most open source load testing tools out there, as part of writing a couple of review articles on them (https://grafana.com/blog/2020/03/03/open-source-load-testing...) and my gut reaction is this one looks like a Golang alternative to Wrk (https://github.com/wg/wrk) in that its main feature is speed. I'd bet Wrk still blows it out of the water though - in my testing, no other tool got anywhere close to Wrk's level of performance. Still, if you need scale and want to hammer a single URL with a very large number of requests/second and prefer a Go application (Wrk is written in C) it may be a good alternative.


http://lalo.li/lsd/ was really cool. You should make a mobile app out of it


It worked just fine on my phone


I think they were alluding to monetizing it as an app.


Fun topic! These days I build everything for myself, then publish and see if someone else is interested (mostly not :-)

First thing I built, when I started doing full-stack stuff: https://pushdata.io It's a super simple time series data storage. You don't even have to register an account, just do "curl -X POST https://pushdata.io/youremail@yourdomain.com/temperature/47" and you've stored your first value. I use it a lot to log various stats about all the things I've built, like user signups or whatnot.

Then I wanted to create simple crosswords with image clues to help my kids learn to read. That resulted in a crossword generator backend and a simple game: https://puzzlepirate.net

Puzzle pirate is great, but I wanted to print the crosswords on paper also, so I slapped together https://crosswordcomputer.com. The UI is rather ugly (like Pushdata) but you can create pretty cool crosswords for kids with it.

Then I wanted to create more flexible shields.io so I created https://supershields.io - basically a shields.io but with programmable (in Lua) logic for the shields you create. I'm not using it myself anymore though so not maintaining it very well and it seems there is something funny with the Lua execution right now. It is using AWS Lambda servers to run Lua scripts, perhaps they're not firing as they should or something. If someone wants to use it, get in touch and I'll see if I can get the Lua execution operational again :)

I also wanted to backup private photos and videos from household phones to a USB memory on a local storage server (Raspberry Pi) and then have that server automatically back everything to the public cloud but encrypted (as I don't trust public cloud providers to keep my data safe forever). I couldn't find a good solution for this, so I wrote some shell scripts that do the trick: https://github.com/ragnarlonn/savethepictures

My daughter was playing Minecraft too much, on our own server, and I created a small Python program to enforce "screen time" in Minecraft: https://github.com/ragnarlonn/mctimer

I once needed to simulate broken DHCP clients and couldn't find a good tool to do so, so I wrote "dhcptool": https://github.com/ragnarlonn/dhcptool

All of these taught me a lot, especially the later forays into full-stack development after having been pretty much clueless about frontend stuff for a long time (still clueless but at least I can create ugly UIs now).


Nice, with pushdata, do you check if someone uses the same GMail account using GMail's "plus" and "dots" [0] features? (E.g. given bob@gmail.com, then bob+anything@gmail.com, b.ob@gmail.com, bo.b@gmail.com, b.o.b@gmail.com etc are all valid and points to the same address.)

0. https://gmail.googleblog.com/2008/03/2-hidden-ways-to-get-mo...


Nope, there is no restriction for plus addresses. I validate email addresses and specifically allow + and . in the part before the @ sign. myemail+1@mydomain.com and myemail+2@mydomain.com will be considered two different users.

Have to add also that the "plus feature" isn't a Gmail-specific invention but a standardized way of referring to the same mailbox using different addresses. But some email providers don't support this feature, and many input validators out on the Internet don't either.


It’s like they say: bears have predicted all 25 of the last 5 recessions


This is a project I've been involved with lately, that I think is very exciting if you're into Flutter or Dart development. We just released version 1.0 so Serverpod is (hopefully) ready for production now!


The Computer wants you to be happy. If you are not happy, you may be used as reactor shielding. The Computer is crazy. The Computer is happy. The Computer will help you become happy. This will drive you crazy.


Put it on a stone tablet to be on the safe side


I write a little about it in the blog post: https://supershields.io/blog/1

TL;DR is that most Lua engines seem to offer pretty weak support for sandboxing, unfortunately. Gopher-lua, that Supershields is using, makes it hard to adopt a whitelist-approach where you disable more or less everything and then enable just the functionality you want. Blacklisting (where you specify everything you want to disable) is fairly simple though, but not as secure of course.

For Supershields I have used a combination of blacklisting and running the scripts on serverless instances (AWS Lambda), which limits the impact of a breach.


Looking at this docs page[1], it doesn't look like the execution environment gets reset completely between each request. Do you partition free/paying users or public/private repos? It seems like an attacker could gain a foothold for longer than just their request with malicious code.

[1] https://docs.aws.amazon.com/lambda/latest/dg/runtimes-contex...


That's a good observation. I don't currently do any partitioning and I think I have to read up a bit on exactly how Lambda executes Go functions. If they keep the program state between executions there are probably some cleanup I should be doing. If not, I think I'm safe as script code and everything related to a new script execution gets sent as parameters in the Lambda invocation.

Edit: I'm going to add some cleanup regardless.


If you load http://example.com and the HTML there includes an image tag that says '<img src="http://othersite.com/image.jpg">' it means your browser will connect to othersite.com and ask that site for the image. It will not ask example.com.


I'm asking about what happens when, for example, you embed a dynamic SVG badge in your GitHub readme.

Doesn't GitHub cache every image in their own CDN for security and control purposes?


You can't use <object>, <iframe> etc tags to embed pictures in your Github README, so you don't get automatic updates there no matter what (i.e. images would only refresh on page load). I don't know if Github proxies and caches <img> contents, or how long they cache it for but I haven't personally seen any delays when I've updated images used in READMEs.

But to repeat: auto-updating will not work for Github-hosted content AFAIK.


You can't really use the service on a small screen, but I hear you. I have to provide at least a logged-out view that is mobile friendly.


Why can't it be used on a small screen? Also, many phones don't really have small screens...


It involves code editing, which is hard to do on a small screen.


You could fix the mobile site with as little as one line of CSS if you didn’t want to bother with media queries. `max-width: 100%` or `100vw` could be enough!


Funny, I've made lots of stuff responsive but at some point decided I had to have a minimum page width of 1050px.

Now when I remove that and add your "max-width: 100%" I don't see much of a problem. Sure, some content gets slightly misaligned on narrow screens but it looks pretty OK overall.

I just pushed the change now, should be visible within 5 minutes.


You'd be surprised how much code editing I get done on my phone these days - I ship small changes to my projects (including things like adding new badges to my READMEs) through the GitHub web interface quite often.


OK, I surrender!

Being horribly old and needing glasses to see anything small but never having any glasses around, I find that my phone is pretty much useless for work. I guess I'm an outlier here. I'll just see what I can do to improve the mobile UX!


You should just use bootstrap or zurb to avoid re-engineering mobile responsiveness


Join us for AI Startup School this June 16-17 in San Francisco!

Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: