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

Yesterday I finally completed writing the documentation, and published my own reinvented wheel: Pyng.

Pyng is a daemon which runs checks and sends alerts on certain events. It is written in Python and uses Twisted event-driven networking engine for scheduling and retries, but uses existing command line tools for the dirty work.

I started on the project last year, primarily due to NodePing's DNS check limitations, and have been happily using Pyng ever since. I hope that others might find Pyng useful.

I consider Pyng finished software, i.e. it now has all the features I wanted from it.


I made initial version some 12 years ago.

The goal was to have easier discussions about SLA uptime requirements during negotiations for a client of mine. I also wanted an ability to make easy links to calculations when commenting on documents (under different domain initially).

The current stack is rather boring: OpenBSD, httpd, slowcgi and newLISP. httpd replaced Apache some years ago.

I kept adding small features here and there, most recently adding an ability to encode monitoring duration for complex and reverse calculations in the URL as a sequence of 7 letters (a=0, b=1 etc) to make URLs shorter and nicer.

Public API powered by Cloudflare Workers will be announced soon-ish. It wont’t use newLISP, but will be my very first JavaScript program.

EDIT: add info about the technical stack.


Writing C might be challenging for some, but as others have mentioned, one can use some other language which gives a statically linked binary to place in the httpd chroot. It won’t be BCHS then.

For uptime.is I’ve used a stack which I’ve started calling BLAH because of LISP instead of C.


Depends on what you want it to do. Do you want to learn LISP or do you want newLISP to do a particular task? As a scripting language it does it's job very nice. I first started to use it when I needed a small, but flexible language that worked well on Windows. newLISP does the job just right.

A nice feature is the ability to compile a newLISP script to a standalone executable that does not require a newLISP interpreter. I hacked together a quick and dirsty script that my colleages at work like a lot - a script that cleans up crap in their windows profile directory. :-)

I have no experience with other LISPs though, and thus am not competent to say whether newLISP is a "true" LISP. To me that really does not matter - as long as the tool does the job.

Good luck.


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

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

Search: