Live data from Hacker News

Ask HN: What are some tools / libraries you built yourself?

news.ycombinator.com

521–530 of 617 posts

Re: Ask HN: What are some tools / libraries you built yourself?

#521
> What are some tools, libraries or services you built

I made a website builder and CMS, because the world really needed another one of those :)

> are they open-source

Not currently, but I keep wondering whether that might be a route to go down and how that may impact the ability to ever earn money with the thing. I know they are not mutually exclusive, but my main worry is that I am terrible at marketing what is (imo) a good product and I wouldn't want someone whow does know how to do marketing to take it away yet. Once I have a certain number of users I'll probably open source it. Or if no users show up, actually.

> why weren't you satisfied using what already existed

So many things.

- Most website builders rely on drag & drop blocks. Everyone loves using these, but in my experience it just leads to a jumble of blocks and components that behave erratically when asked to respond to different screen sizes. I went with 'modules' instead. Little, self-contained, (mostly) full width components that you stack on top of one another to compose a website structure out of it, this way we can control how components react to screen sizes much more tightly, making it much harder to mess up the design

- Most website builders also aren't running 60fps on my shitty Android (I'm not saying mine does at all times, but it probably does more often)

- Back in the day I just wanted to throw a quick static blog onto Netlify using the Netlify CMS, with quick, near-realtime previews of what I was doing. You could either get a sort of hacky realtime preview by injecting stylesheets into React components specifically configured for that purpose (which looked mighty impressive when it worked), or you had to wait for your git deploy to be picked up and shown as a preview, which took ages (or which feels like ages when you are iterating quickly)

- I don't like themes. They feel more restrictive than anything. I find that making large structural changes to a site is hard to do with Squarespace, Wix, Wordpress and the like. I think Wix even locks you into a theme once you've chosen one

- Hidden costs everywhere. Squarespace, Wordpress and the like are very good at making their services appear cheap and then very quickly trapping you into paying for all sorts of features. Netlify and Heroku felt similar. Like the amount Netlify charge for form handling suprised me.

- I wanted to see what my website looks like almost in realtime, and I wanted that preview to be easily shareable, so I built that

- I didn't want to think about hosting, DDoSes or anything like that, so I just deploy static sites to Cloudflare. Done.

- Documentation that covers the entire system, back to front, in both video and text. Try doing that with Squarespace or Wordpress.

- Lastly, I wanted something stupidly easy to use. Easier than any of the incumbents. It has to be so simple that complete computer illiterates would be able to develop an intuition for it in minutes. User testing I've conducted so far is telling me it's working, but I want to get more data on this

In the end I think my sites are just a little bit less pretty than the elaborate themes you can get with other providers, but they perform better, are faster, much easier to use and we try to not break the bank either. So it depends on what your needs are. I am under no illusion that I could ever rival Wordpress' or Squarespace's offerings, so I try to compete where they can't.

I must admit that pricing is something I still haven't figured out at all. My cheapest tier is (GBP) 7.99 a month. Is anyone willing to pay that nowadays? Tempted to add a free signup, with payments only coming into play once you hit 'publish' on your site.

Anyway, the thing is called the Pink Pigeon Website Builder & CMS[0]

0: https://pinkpigeon.co.uk

Re: Ask HN: What are some tools / libraries you built yourself?

#522
I recently wrote a single-file library in C for Wave Function Collapse: https://github.com/krychu/wfc

It’s a procgen algorithm that takes small image as input and generates a larger one with similar local features. I hope to add tiled method to the library some time.

Re: Ask HN: What are some tools / libraries you built yourself?

#523
post #459

I built https://www.dreamlist.com for my family. I had to make it simple, so my grandparents can use it; and private + completely ads-free, so it’s safe for our kids. It started as a collaborative shopping cart and wish list, but I’m growing it into a shared searchable brain bridge across generations. Grandparents can share and collect stories and memories, kids can share and collect things they want to do next, pare…

Sounds very interesting. I am particularly fond of anyone trying to reach less technologically inclined users (been working in that space for a couple of years now. You quickly learn that software devs do not reason about websites / apps and their UX in any way like a software dev would).

Do you have a pricing page anywhere? I am finding it hard to figure out where you make this project sustainable financially :)

Re: Ask HN: What are some tools / libraries you built yourself?

#525
Last year I built Leapp: a Cross-Platform Cloud access App, built on top of Electron.

As a consultant, I was looking for an excellent way to access the cloud in a standard way programmatically, so I build up an app that manages short-lived credentials, credentials rotation, and access to many Cloud providers: AWS and Azure now.

I built it for an internal need first, then I open-source it to help as many DevOps as possible in accessing the cloud and add more cloud strategies as possible.

https://github.com/Noovolari/leapp

Re: Ask HN: What are some tools / libraries you built yourself?

#526

I’m working on a tool that lets you build a website out of Google Docs: https://docstosite.com/

I have added myself to your waiting list. Any indication of when you will let new users in?

Some feedback: I think it would be good to know that new users have to add their email address and are then added to a waiting list. I was really excited to start using it and now I have to wait.

OTOH, well done, you got me excited about your product!

I am working on a way to build websites that is also supposed to be as accessible as possible (think older / less tech savvy folks) and doing this via Google Docs would be a fantastic avenue IMO.

Be interesting to know more about what challenges you ran into building this.

Re: Ask HN: What are some tools / libraries you built yourself?

#527
A macOS GUI tool to test iOS push notification - https://pushever.app , I find many other tools out there dont have a simple UI/UX I want, and most of them are web app (which means my push certificate and credentials might be exposed)

Same principle above for PDF file that you dont want to expose online : GUI to add page number to PDF: https://pdfpagenumber.com

GUI to reverse PDF page number order: https://apps.apple.com/us/app/reverser/id1440371872?mt=12

And most recently a ping checker on mac menu bar (so that I can know if connection problem happens during Zoom meeting while WFH) : https://simpleping.fluffy.es

Re: Ask HN: What are some tools / libraries you built yourself?

#528

Earlier quoted context omitted.

Similar, yes, but Ion repeats a number of mistakes from the past: * The text format doesn't have a version specifier, so any future changes to the text format will break existing codecs and documents. * Uses ISO 8601, which has bad defaults (local timezone) and doesn't support real time zones (only offsets). ISO 8601 is also too big for what it does and non-free, resulting in inconsistent implementations (and thus se…

I think your format is closer to ideal than a few others I have seen. Like json, you don't have to prefix size of lists or objects, which is a plus (or in some cases needed) for streaming. Strings can be chunked, which can serve the same purpose for huge strings. The power of json is in its simplicity though. And a binary format should retain that a much as possible. The big advantage of binary formats is not the 'co…

Yes, that is exactly the aim of the binary format. It has a few basic concepts like being byte-oriented, 1-byte headers for most things, ULEB128 encoding for large values, same chunking mechanism for all arrays and string-likes, same "open/close" mechanism for all container types, etc.

The binary codec is VERY simple, and can be trivially implemented for an async-safe or otherwise constrained environment. In fact, I expect that many implementations will only build the binary codec, since you could just pass any recorded binary data through enctool [1] or whatever to see or manipulate its contents as a human. Most systems would have no need to process the text format.

[1]https://github.com/kstenerud/enctool

Re: Ask HN: What are some tools / libraries you built yourself?

#529

I created https://microapis.io to make it easier to launch API mock servers in the cloud with one click, no signup or login required. The problem I found with most existing providers is they require you to create an account and often subscribe before you can use their services. For a quick test that's excessive overhead. Until recently I was using prism[1] to run the mock server locally, but it's very limited when it…

Nice, will certainly check your project out. I created HttPlaceholder[1] some time ago. It is an open source mock server, which right now only has an on-prem version. I also have ideas to make a hosted version. [1]: https://github.com/dukeofharen/httplaceholder Edit: after looking through the comments, I found some 5 other HTTP mock server implementations XD Not that it's bad, just seems to be a problem that is tackl…

haha true, I guess there's a general feeling of dissatisfaction with the existing tools and frameworks, they're clearly not serving our needs so we have to create our own tooling. Thanks for linking your project, it looks awesome and very mature - gave you a star in GitHub!

Re: Ask HN: What are some tools / libraries you built yourself?

#530

Earlier quoted context omitted.

The pitch sounds a lot like that for Amazon Ion: https://amzn.github.io/ion-docs/

Similar, yes, but Ion repeats a number of mistakes from the past: * The text format doesn't have a version specifier, so any future changes to the text format will break existing codecs and documents. * Uses ISO 8601, which has bad defaults (local timezone) and doesn't support real time zones (only offsets). ISO 8601 is also too big for what it does and non-free, resulting in inconsistent implementations (and thus se…

> Uses ISO 8601, which has bad defaults (local timezone) and doesn't support real time zones (only offsets). ISO 8601 is also too big for what it does and non-free, resulting in inconsistent implementations (and thus security problems).

Ion doesn’t use ISO8601; it has its own timestamp specification, which is free, and much smaller than ISO8601; its effectively a subprofile of a profile specified in a W3C note of ISO8601, but that relationship is mostly of historical interest, since it isn’t specified an a (sub)profile, but independently. It also has a UTC default.

> Lists must be prefixed with their length, so you must know the length before you start encoding.

True.

> Converting a list from the text format to binary format would require loading the entire list into memory first.

You’d have to process the entire list before starting to write it to the final format, because the format is optimized for read efficiency not write efficiency. But you don’t need to read the whole list into memory; you can use a state machine with a very small window to count items in this lost, write the total, and then start copying items from text to to binary, or you could just counts as you arr processing items to a scratch file, then write the length and copy the scratch file contents.

Length prefixing variable length data values is kind of important though; I’d consider it a major strike against a binary format if it didn’t do that. (Though Ion does have the problem that its length records are also variable length.)

> Only supports "struct" encoding, so you can't have real maps (for example using integers or dates as keys).

You can, since it supports type annotations and has formats that can with annotations communicate that. (List would probably be the normal choice.)

> Doesn't support arbitrarily long scalar values.

Yes, it does, which is why the length fields for most values, including most scalars, in the binary format use VarUInt.

> Doesn't support NaN or infinity.

Yes, it does. (It doesn’t, in text format or data model, distinguish different NaNs, but it supports NaN, +Inf, and -Inf.)

> Integer, date, and decimal float encodings are inefficient.

Ion has arbitary precision exact decimals, not decimal floating point, so, no, it doesn’t have an inefficient encoding for decimal floating point.

Post reply on HN