Live data from Hacker News

What Are You Building? Share Your Projects

news.ycombinator.com

21–30 of 49 posts

Re: What Are You Building? Share Your Projects

#21
I am building a site where people can ask for feedback on how they did in their interviews. I plan to extend it to all sorts of code reviews and/or interview feedback.

https://www.interviewblindspots.com/featured

People will post the question and the code they wrote in interviews. Experienced developers will give feedback.

Contributors/Cofounders welcome

Re: What Are You Building? Share Your Projects

#22
Just released foldMation[0] earlier this year. It's both a virtual step-by-step origami creation and learning app.

- Inspiration - There should be a way to digitally fold origamis online. There really isn't one that works well so maybe I can?

- Challenges - Many. Understanding the math, working with 3.js, how to find points, edges and faces to cut so the user doesn't have to specify them, coming up with logic to deal with layering... The list goes on, almost endless. It's the hardest project I've tackled and one I underestimated the most.

- Motivation - Honestly, sunk cost fallacy. Always wrongly believing how close I am to where it needs to be. There's still many bugs, but at least there is no rush as they aren't showstoppers anymore.

Follow the tutorials in /create if want to know it more and /blog if want to read more on it.

[0] https://foldmation.com

Re: What Are You Building? Share Your Projects

#23

Non-Profit based ACME CA in Europe. We want to establish an alternative to Let’s Encrypt that is taking the core features and values from ISRG. That’s not based on “bad US!1!”, more then a alternative would strengthen the ecosystem. This also means to create an alternative ecosystem like boulder. The current challenges are mostly about incorporating the non-profit and structure it right. So that it’s as open as possi…

Sounds interesting! Do you already have a website for this project?

Re: What Are You Building? Share Your Projects

#24
post #16
post #3

Inspired by Andrej Karpathy's excellent YouTube video on tokenizers, I used Llama3 to analyze all of GPT-4's 100.000 tokens and today I wrote a blog post about it! https://koenvangilst.nl/blog/analyzing-gpt-4-tokens

> are single characters of tokens where the origin cannot be assessed. Is this meant to be "or"? It probably wouldn't change the output very much though

Good catch, glad that LLMs are usually pretty forgiving when it comes to spelling mistakes

Re: What Are You Building? Share Your Projects

#27
I had need for a special purpose lock that solved this problem: There are `N` task sharing a single resource. It is incorrect for the `n`th task to acquire a lock on it until after the `n - 1`th task has released its lock. When the `N - 1`th task releases its lock the `0`th task may acquire the lock again.

I couldn't find any lock off the shelf that solved this, or a clean way to hack it with a fair mutex. So I wrote my own, and I'm pretty sure it's correct (1).

It's like a ticket lock, except the total number of tickets is known up front so every task can get one ticket. To acquire a lock is one CAS, where the lock is acquired iff the "current" value of the lock matches the ticket value of the task, if so we swap in a magic LOCK value. When the writer releases the lock it writes (ticket + 1) % num_tickets back to current so the lock can be acquired by the next task.

There's a deadlock condition though - if one task is cancelled while any other task is outstanding, no other task may acquire the lock, even if the cancelled task didn't acquire it!

To deal with that, the lock is poisoned with a magic POISON value. Then when any other task attempts to acquire the lock, but its value is POISON, then an error is returned and those tasks may be cancelled accordingly.

It's be possible to support adding/removing tasks concurrently by replacing the tickets with a circularly linked list of atomic pointers, so when one task is cancelled the "next" of the "prev" item can be atomically swapped, but I don't have a use case for that and it's annoying enough to write in Rust that I didn't want to bother with it.

(1) The code for this is here: https://github.com/m-hilgendorf/sequex/. I call it "sequex" for sequence-mutex. It could also be called a round-robin lock or something like that.

---

You could do this with just a ticket lock, where you take a ticket up front N times and then give one ticket to each task. When a task's ticket comes up it acquires the lock, but before releasing the lock, it takes another ticket. That's where I started, but I found this implementation cleaner.

Re: What Are You Building? Share Your Projects

#28

Non-Profit based ACME CA in Europe. We want to establish an alternative to Let’s Encrypt that is taking the core features and values from ISRG. That’s not based on “bad US!1!”, more then a alternative would strengthen the ecosystem. This also means to create an alternative ecosystem like boulder. The current challenges are mostly about incorporating the non-profit and structure it right. So that it’s as open as possi…

How do you even become a trusted CA? Like, who controls/governs this stuff? Can also imagine it's pretty expensive to get started

Re: What Are You Building? Share Your Projects

#29
I'm working on a personal hobby project of mine, written in MOO [0] of all things. Its a bridge to homeassistant - it connects to your local instance and lets you observe and control anything you have set up in homeassistant from within the MOO - toggle lights, set thermostats, send tts alerts, etc. It also receives state change events, so you can have objects that act like their real counterparts and display up-to-date information as long as the bridge is online. I run a local house MOO for my roomates and myself, and I thought it would be fun to control my smart home from it. Challenges... The first was reading the web socket rfc and writing my own implementation, in what is probably considered an esoteric language at this point. Next was discovering just how much of home assistant's web socket API is undocumented (read: pretty much all of it). There's a page which mentions a handful of APIs, and this got me started, but I really had to start reading homeassistant's code to see what other commands were available and being used presumably by the front-end to do some of what I wanted (listing users, subscribing to state updates for specific entities, listing areas, devices, etc)

[0] https://en.wikipedia.org/wiki/MOO

Re: What Are You Building? Share Your Projects

#30
A small side project I wrote for my own use:

https://github.com/russellw/chatgpt-unpack

ChatGPT allows you to download an archive of all the conversations you have had with it, so you can do things like search for past conversations with your choice of search tool. The archive is in JSON format, not quite usable directly, so I wrote a program to unpack it to plain text.

Post reply on HN