Was it a simple app that solved a daily annoyance, some fun IoT experiment, or some non-tech hack that made your life easier?
They didn't provide that data, but it turns out with a little bit of grokking and staring at that 10gb text file, you could reverse engineer it so you could extract all the kids of a given school, and aggregate all of their answers. I produced a nice little report for our admins, with the questions of the text next to how we had performed in the aggregate and state averages, as well as averages of our "competitor schools."
The best part, though, is how I remember it being a bit "bullshit" that we, a private school, could afford to do this, but since the data was actually valuable to inform practice, surely the department of education should do that for every school! Whelp, over the weekend, I computed that info for every school in the dataset, and just stored a CSV for every school in an S3 instance (this was my ridiculous caching strategy lol). Spun up a frontend where you could select your school, and nicely visually go through every question, as well as print a pdf summary of the whole thing. On Monday morning tweeted at an ed journalist, and in a few days had a spread of me in the country's top newspaper, and people emailing about jobs "at my company."
This was the most rewarding project I've ever done, and I'm sad to say nothing has come close since. It cost me $0, produced a public good that I could see was being accessed from every state in the whole country, was technically interesting, and I saw it through from start to finish over the weekend!
On Thursday evening we rendezvoused at an equidistant AirBnB to sketch out our second album. It's now Sunday morning, Aelyth's just caught the train home because she's working today, but we have a concept, a title and ten songs for the new album!
There are admittedly another seven song ideas we've not had time to explore, but we've accomplished much more, much more quickly, than either of us thought possible. We've also committed to an overall musical style, plus boundaries on arrangements and instruments with the intention of keeping the production phase as concise as possible.
The whole user interface is a single physical button on her desk :
- ON : indefinitely play all MP3 files randomly
- OFF : stop playing
The longest task was to find her favourite pieces of music from my aunts and uncles.
In 2013 this became important: in Western Australia, we had a very close senate election. There was one critical exclusion in the count where just 14 votes determined the outcome between two candidates. Obviously the accuracy of the counting software was key; it actually crashed when they were doing the count. They restarted it, but that shook the confidence of a couple of people I knew, and so I decided to write my own software to verify the count. I knocked it up in two all-nighters: https://github.com/grahame/dividebatur
Of course, I/we were fortunate that the electoral commission was forward-thinking enough to have published the data required to fully reproduce the count.
Some open government folks later on used the existence of my software to try and get the electoral commission to release their software system under Freedom of Information laws, so that it could be verified. I was quite amused when the commission alleged there was no way I'd done it in two nights. I had; but of course, what I had was a Python implementation of the count, not a fully-fledged electoral management system like they had.
Later on in 2017-18 we had a constitutional crisis[0], as various senators were found to hold foreign citizenship and thus be ineligible to hold office. Those ineligible senators were replaced by running a count-back of the vote, with them excluded. I happened to be the only person who had a system that could work out the results ahead of the electoral commission, so I had quite an exciting few weeks providing the media with predictions on who would take over the various seats that were lost.
Now there are better and more robust systems that have followed mine, but I must say I was quite happy with this two-day hack!
[0] https://en.wikipedia.org/wiki/2017%E2%80%9318_Australian_par...
I think it’s rather hard to finish a project in under one weekend. And we tend to easily say “I did it over the weekend” but mean “I had something working after one weekend”. Especially if the weekend is not one where you spend 48 hours in front of the computer (counting Friday evening in). So, I was quite proud to get it finished in one weekend under normal conditions.
It started as me joking about how something like this would make a cool nerdy valentine gift, which then got both of us excited to work on it together. We posted on reddit during V day, and so far 170k+ stories generated! We haven't monetized it - so far it has been supported by small donation from a few users who use it regularly.
This test data formed the backbone of that company for the better part of a decade as it clearly showed when our product was running the temperature at the ceiling (across the whole room) reduced by 2degC and at the mid point of the room (head when sat in a sofa height) it rose by 2degC.
Our product acted as a destratifier and the test rig to prove it took me from Friday evening to Sunday night to make as I was working elsewhere at the time.
So, if you were in NYC in January and wanted to find out the closest location that was at least 72 degrees, it would spit out locations that met that criteria.
(There was also a companion app, "Take Me Cooler," that did the reverse.)
Required a one-time download of ZIP/coordinate data and daily downloads from a weather API. Figured out how to calculate the distances, and most of the rest was just stitching it all together.
Told her to give me 2 days and ended up making a small app to help us plan our trip; the first version was built over New Years weekend:
Kept working on it and it was good enough to share to Reddit 6 days later [0]. Got a good number of users and still keep it maintained/updated. Also have some videos showing the progress and major features over the last year [1]. It's been fun; my go-to project to tinker on when I feel bored.
Tried to monetize it, but didn't really find a market so just keep it free for the users that are on the platform :) The folks that come back to it tend to be obsessive planners (like my spouse).
[0] https://www.reddit.com/r/TravelHacks/comments/105s90u/i_buil...
In this phase, you had to use cursor keys to move your character, again, a super chunky pixel, from the bottom of the screen, through the maze-like wall, to the top of the screen. If you reached the top, you won the game and were awarded a score equal to the number of blocks placed in the wall, minus your number of steps.
What made the game surprisingly fun was the tension you felt when the wall was being built. If you pressed the spacebar too soon, the wall would be too easy and your score would be low. But if you waited a little too long, the wall will be impassable and you'd lose. No points.
This dynamic was especially fun when multiple people played in sequence against one another, trying to get the high score.
Anyway, I remember that game took a weekend to write when I was a kid.
I also remember that my father, for some reason, really liked that game. He would comment for years after about how much he liked it and would like to play it again. But we no longer had that old TRS-80.
Fast forward to 2023. As a Christmas present for my dad, I recreated the game in a web browser. Again, it took about a weekend's worth of on and off work.
He was surprised and delighted by this gift. Over the next few weeks he'd send me the occasional email proclaiming his new high score.
Anyway, the whole thing runs client side, so if you want to experience 45 year old gaming, here you go:
https://blog.moertel.com/wall_of_denial/
Scores over 3200 are considered pretty good.
P.S. Although the laughably bad on-screen instructions don't say so, you can play the game on a phone. Move your character by clicking the top, left, bottom, or right of the game screen.
It lets you search for parts of British place names, and will plot the places that match on an interactive map, so you can search for places that start with 'great' or end with 'burgh' or contain 'sea' (or you can use regexes for more complex stuff). People have found some cool patterns with it.
So, I recently converted my old phone into a 24/7 live sales dashboard[1] which consolidates the revenue from each service. It resembles a retro device inspired by the pip boy and was finished within a day!
[1] https://twitter.com/kushsolitary/status/1777306909344715158
It shows related discussions for each submission page. Many times, I found myself intrigued by interesting discussions which left me hungry for more and I'd go down a rabbit hole, or maybe it was promising but didn't get enough attention and I'd need to check if there were any related discussions in the past about the same subject.
I found that even though HN is a news aggregator, many discussions on HN are timeless (just like this here).
I'm proud of it and find the experience and flow to be very enjoyable. It also helps me find great stories that I might not have stumbled across.
In short, it's a minimal Heroku clone that started out as ~500 lines of Python run by a custom SSH config.
It has paid for itself several times over, and is still something I use daily (it runs all my little API endpoints, Node-RED instances, Python services, you name it.
Feel free to use and abuse it for your own social icebreaking needs. You can use it to break the ice at work, in a bar, at your church social, on the bus, in jail, wherever.
8 years later my source of data stopped providing data because of data protection concerns and the company introduced their own app/functionality for the same. Never earned me a dime directly but did get me my next job - it was a great sample for the interview
It’s not "finished" because I still have tons of ideas for improvements, and still want to make a blog post explaining how and why I did it, and show the results in an interactive page (and also share the database with everyone).
We use Buildkite, so I changed their agent to run as lambda function, and used their eventbridge integration to trigger the lambdas. We saved about 15% of our CI costs by not using our 32 core build machines to call ecs wait-services, and freed up said machines to be able to run more often.
Logdy is a real-time logs browser that is meant to replace viewing logs in a terminal during development stage. I was tired of browsing and searching through infinite stream of non-searchable json whereas having such a great tool as DataDog on production. I've felt that development process lacks this kind of tool and decided to scratch my own itch.
It was a ton of fun, about 1,000 people tuned in over the course of those ~60 hours. The product was acquired about a year later.
My team runs with: https://sprintcalendar.com/3-week-sprints/start-2020-12-03/r...
I've only tweaked it a bit since then, after sharing it and getting some feedback from others who found it useful.
I ended up building a hacky internal IIS/PHP web app (I guess these days one would call it an SPA) that hooked into the company's Active Directory that showed a nice little page of people in our "business unit", with their names, pictures, employee grade (analyst/consultant/manager etc.) and subteam -- basically any bit of info I could get from a user's Active Directory profile.
It used Datatables (https://datatables.net/) for a simple text-based table view and Isotope (https://isotope.metafizzy.co/) for a card-based grid view that you could quickly toggle between.
I called it the "Book of Faces" and announced it to my team at a team social event, and it took off massively beause it was way more performant, simpler, and just much less painful to use than using the clunky corporate intranet app to check user profiles.
Word spread outside of my team and I started getting requests from various other teams to set up similar pages for them as well, which I was only too happy to oblige. This spurred me on to refactor it to make it as simple as possible to set up new team pages.
This silly thing boosted my profile a ridiculous amount within the company, just because I'd left a small footer "emailto" link that people could use to get in touch with suggestions/bugs.
I maintained it as a side project and surreptitious internal app for about 6 years until I left the org, after which I handed it over to someone else. Last I heard though, internal IT finally caught wind of it, and in what I suppose is a "progressive for its kind" response, spoke to the users of the various pages and built a corporate-ised version of the same thing.
A decade-plus of working in tech and data, and that IIS-PHP-JS monstrosity is still one of the bits of work I'm most proud of!
Ludum Dare was particularly good fun in its early years (early-mid 2000s), when it was a fairly small community, when people were coding from-scratch, before Unity became an option and the event grew into something a lot bigger.
Game jam coding is different to 'real' game dev, as the time pressure encurages you to just hack away freely and creatively, not spend too much time thinking about building reusable systems or tools, and you can discard the codebase at the end of the weekend.
These days, small functional 3D printing projects can be quite satisfying. Going from a sketch to a simple CAD model to a first draft print, iterating the design a couple of times, and ending up with a simple-but-useful physical object, learning a bit more Fusion 360 in the process.
- got ~15k GitHub stars.
- AWS copied it.
- We deprecated it as better stuff came on the market with @playwright/test's codegen.
But I did code the initial version in a weekend. Was called Puppeteer Recorder then.
https://svelte.dev/repl/5a7f676868044bbba2ff3c7a64062066?ver...
On mobile you’ll need to kit the “output” button
It's for controlling DMX colored lights over network. It takes UDP packets (and later Websocket messages) and turns them into DMX protocol packets which get sent over USB serial adapter to the DMX wire. It's a rewrite of a previous node.js version which had bitrotted.
I think I made the MVP in about 7 hours during one saturday afternoon. Finishing it up took a few weeks more of evenings.
The app checks if your vpn is active, and tells you your public ip and geo location on a map (also deployed a small service on fly.io to ping/detect this).
Using copilot/chatgtp it was a doddle.
Of course Apple refused to put it in the App Store because it doesn’t have enough features. Even though adding unnecessary bloat to the app would be against their own design philosophy.
I know it's a common trope among software developers, but working with wood and making something physical just feels immensely satisfying.
Free, unlimited, no registration, no ads.
https://github.com/Shaftway/argparse
Initial implementation took about a weekend. I've tweaked and added features and documentation since then. I've only tested it in Bash and I'd love feature suggestions or a critique of the code from better Rustaceans than me. I've been using it in a couple scripts and have really appreciated the functionality.
My Hello World demo is:
#!/usr/bin/env bash
eval "$(argparse --string name -- "$@")";
echo "Hello $NAME"
Started in quotes because my contribution was combining an existing project that was about to fail due to capacity issues with the infinite botnet of AWS spot instances and the power of Hacker News.
It's more than a decade ago now, but I think it's a good example of a project with a simple goal that enabled people to get involved and feel like they were doing something useful.
1: http://rossduggan.ie/blog/code/archiveteam-yahoo-messages-fo...
That was a Friday and the same evening I had the idea to make it into one of the many derivatives and finished the same night around 3am.
Things went a bit popular from there and it wasn't long before I was contacted by companies that wanted their own branded version. That meant I had a potential product on my hand and started selling subscriptions to managed branded puzzle sites.
Fast-forward a year and I sold the weekend project for a nice sum. :)
I have a Brother printer that has two printer trays, one manual tray (that takes variable sized paper) and a A4 tray. However, when printing from iOS, it doesn't have the full print preset dialog and it is impossible to print from the manual tray, nor is there a way to tell it I want print A6. Of course I insist being able to print A6 whenever, wherever I want with AirPrint and accept no substitute.
So I started with the Bonjour printing spec (https://developer.apple.com/bonjour/printing-specification/b...), and dns-sd on macbook to figure out how AirPrint actually discovers printer and what makes it tick. The entire thing is built on mDNS which is basically DNS instead of using a DNS resolver, it sends the query via multicast DNS. If someone on the network wants to find an AirPrint printer, then it queries via mDNS _ipp._tcp.
e.g. $ dns-sd -Z _ipp._tcp With shows the PTR, SRV and TXT records. The TXT records are based on the Bonjour Printing Spec which list out which fields so it knows the type of the printer and driver to use and it uses the SRV port to find the ipp port so it can contact the printer.
Further investigation using rvictl (iOS packet sniffing) showed the IPP traffic, which is really http API. It is via this API that iOS determines what paper is supported from what tray.
The path is then clear: create my own mDNS service that returns a printer on my own port, this IPP port acts as a reverse proxy to the real printer's IPP port, but it modifies the "media-col-ready" attribute to make iOS think A6 is loaded into the manual try.
It was extremely painful, but it was done.
There were many pitfalls along the way:
* iOS expecting the mDNS to resolve in a certain way, which Hashicorp's library didn't support, this necessitated forking the library and fixing the resolver.
* iOS expecting not only _ipp._tcp but also requiring _universal._sub. (https://support.apple.com/en-us/guide/deployment/dep3b4cf515...) in mDNS, which further complicated the implementation and took time to figure out how it worked. Needed to test with `dns-sd -Z _ipp._tcp,universal`
* iOS detecting the printer via mDNS but when clicking on it, it says it's not available. It is because it insists that ipp has to be on port 631, and refuses to accept (unlike MacOS) ipp on any other port
I decided to write a shell script that does the following: - Parses chat export file and extracts all the Spotify URLs. - Removes duplicates - Authenticates w/ Spotify API - Fetches Ids of tracks already in playlist - Creates a difference list of missing tracks - Adds those to the playlist
And that's that.
I've been diving into the world of Large Language Models (LLMs), particularly the Retrieval Augmented Generation (RAG) approach. As a learning project, I built InkChatGPT, an AI agent that can assist with learning from multiple documents through a chat interface, inspired by projects like ChatPDF.
Under the hood, I used LangChain as the LLM framework to simplify the backend, Streamlit for the front-end UI and deployment, and OpenAI's `gpt-3.5-turbo` model. For generating embeddings for document chunking, I leveraged HuggingFace's `all-MiniLM-L6-v2` model.
Coming from a mobile development background, delving into ML, LLMs, prompt tuning, and various techniques has been an eye-opening experience. While the wealth of information can be overwhelming, building projects like InkChatGPT has been an incredible learning journey.
I'd love to hear your thoughts and experiences with LLMs and RAG systems. Feel free to check out the InkChatGPT repo [1] and share your feedback.
So instead of giving up and buying a new tablet or paying for an unnecessary service, I hacked together a way to open WhatsApp instead.
It was glorious. I could just hold down the button, and watch numbers go brrr. Sure, I could have bought any number of mice to do it for me. But I wanted to do it, and it was fun, and I have something to show for it. Someday, I may even take it apart and add a rheostat so I can adjust the click frequency. It was a simple hardware project that helped jump start my hardware/firmware career.
calc("1 + 3 / 5")
It was a pretty fun project as you get to do some parsing/lexing, work out how to execute it (function ordering etc.) and then have lots of fun little avenues you can go down (brackets for specifying execution order, adding more functions, arbitrary precision maths etc.)
Notiflux (https://github.com/ikornaselur/notiflux): a small WebSocket broadcast server, the idea being that clients connect with WebSocket (such as a website) and then any source can send a POST request to the API to broadcast messages, allowing for real-time functionality from servers that don't support WebSockets, or you might have multiple sources that each might broadcast messages.
Auth is done by Notiflux having a public key and the sources have the corresponding private key, JWT tokens signed with the private key include topics and scope (subscribe or broadcast to the topics). Clients would auth with an API for example, get a JWT with maybe a 10 second expiry, use it to subscribe to the topics that the API would then broadcast to through Notiflux.
It was an excuse as well to play with WebSocket in Rust and learn a little bit about the Actor Pattern.
If I would continue I'd want to explore how well it scales, how much traffic it could handle and look into horizontal scaling, but I feel like it's complete enough as a toy project.
Since I already had a scheduler job running for regular uptime checks, I wrote an SQL query to find jobs that hadn't reported in the expected time.
On the other side, I built a quick endpoint for my public API for cron jobs to curl upon completion.
After that, I just needed to put up a UI, and it was complete (until I decided to productionize it by splitting it into its own, highly replicated service)
One thing I was fairly proud of was how scrappy the script was - I wrote it in typescript for the familiarity with the sqlite driver, but I used find and curl to actually do the crawling and API submission.
Is it hard to do that in pure typescript/node? No, but I was in a "how can I validate if this is even an interesting thing to be doing mode" and execing out to these tools was a way to get there slightly faster.
I've found that this attitude has been a great way to make weekend projects more fun and feel less like work.
Getting to some kind of tangible value sooner has also made easier to not lose interest halfway through and has been yielding me more semi-complete weekend projects (the word semi is doing a lot of work here tbf, but it's all relative)
I wanted to see if I could make a JavaScript-less "remote browser" that essentially worked. Mainly because there was so much JavaScript in the client for my actual, working, remote browser.
I found out: it is possible. But it ain't pretty! Hahaha. Some pretty cool hacks in there tho. I'm especially proud of the CSS code for probing the viewport size, and how is synthesizes a bunch of cool, slightly fringe / retro web platform techniques like: , Motion JPEG, pinging a sizing URL based on CSS @media query.
I also wanted to use puppeteer, as I didn't even use it 1 bit for my actual remote browser, and puppeteer was such a big thing, I wanted to use it! Haha :)
[0]: https://github.com/dosyago/puppetromium/commits/main/src/ind...
I am not sure if I have the code anymore. I do vaguely remember that I have the executable somewhere. It was made with Unity3D and took around 40 hours
I was diagnosing HVAC issues and was frustrated about the visualization of the data with existing tools. I wanted a single screen with all my thermostats, the mode they are operating in, set point, current temp, with synchronized y-axes.
This app is completely stateless which I think is cool from a privacy and ops perspective.
The reason it only gives you one random thing a day is cause I didn’t wanna try “re-roll” the pattern I was gonna practice to give me something easier.
It's a small quality of life improvement but I wonder why this does not exist out of the box.
I could probably make it a bit easier to set up, but it would then require another weekend. :))
But then it took a few months before I managed to write README for it.
While it's not a very interesting project it's my favourite because of what happened after I published it. While I was at work I noticed the plugin was installed on one of our new client's websites. I went to my boss and asked him if he installed the plugin and what he thought about it. He said he did and it was better than
https://github.com/poundifdef/certmaster
I want to turn it into a service but haven’t gotten any feedback that people want it!
Making these full-text and fuzzy searchable with Postgres+pgvector, using reciprocal rank fusion to merge the two rankings. Very rapid query times on a 6 year old intel NUC; a kind of hn.algolia.com search only with added semantic search, not just text search.
Reducing the dimensionality for average per-user and per-submissoon vectors to 3D with UMAP, to see where my posts are located, in "hn discussion space". (expectedly, some users such occupy very specific clusters in discussion-space. There's a "dang telling you to please keep it intellectually stimulating" corner)
I should slap a frontend on the latter, host it somewhere not inside my own house and submit it, honestly.
My one weekend project: while my wife was out of town with the kids for a weekend, I manually converted about 4500 lines of Common Lisp code to MIT Scheme, and it worked after a few hours of debugging.
Another weekend project: I used my company’s time sharing system to write a very simple Chess program in FORTRAN in one weekend. It didn’t quite play a legal game, no en passant capture. Several months later when I purchased serial number 71 Apple II, I ported the code to Apple Basic, which only took a few hours. Apple distributed that little hack with their Apple II demo program cassette tape.
https://github.com/TomatoCo/warren
(It wasn't exactly over a weekend but it only had two or three days of effort put into it, which I think meets the spirit.)
The Pi 1 is now an integral part of my network and sent me down the rabbit hole of personal home servers. I have an Odroid running home assistant, a Pi4 now running services where the data doesn't matter, and a Synology running services where the data does matter.
It's a dead simple web todo list organizer with QR-Code based user auth, list-management, REST API and vanilla JS UI in a single PHP and about 10 css and js files. I wanted something simple with no frameworks that works on mobile and desktop for accessing it basically everywhere.
I chose PHP for backend, because it is simple to host. Intentionally I planned all in one single file, which turned out to be too complex, so I extracted at least the css and js :-)
Ideally it's just a way to tell people "ok, we still use paper sometimes, but paper should been able to work with bits as well, so for instance any printed document should be offered with a way to retrieve and original one like a pdf, and if the document itself is signed the digital original should be digitally signed as well".
So far many countries in the world have started norms and some conventions to bridge the gap but no system is really widespread. Qr are widespread, URLs are well known stuff, vcard as well, so it's just a thing I've made because I have had to write a paper letter, I do like LaTeX and automation and I do dislike wasting time scanning things. Marginally since I bough a set of double windows envelopes well, the template much the envelope to print it quickly, new WE I'll made an envelope template since where I live (France) I discovered that beside send a pdf to local post service to get it printed and mailed I can also send something myself buying a pdf stamp to be printed on paper... As I said not really a project but, might count as a project I think :-)
So I built a simpler version that doesn't have a schedule but runs on an RP2040 and generates brown noise:
https://github.com/bschwind/sleep-machine
Will eventually add some key switches to it so I can start/stop it more easily (currently just plug it into USB when I want sound) adjust volume, low-pass filter params, etc.
[0]: https://en.m.wikipedia.org/wiki/Catalan_language [1]: https://ca.m.wikipedia.org/wiki/Mallorqu%C3%AD (no English entry, use translator)
https://igniuss.github.io/det-cord/
It was fun streaming the work to friends who aren't in the IT sphere, some are now studying to get in the industry
Unfortunately it didn't support mobile browser since it was quickly done and that meant a lot of interested folks couldn't play it then.
You can play it here - (https://pitlane.radx.in/)
this one, took me little time to figure out how to use wireshark, get data, input command with my phone...eventually the voltage regulator died a day after for overcurrent or dead chip. But it was fun. I don't have the motivation to undead the device unfortunatly.
https://emailreputationapi.com/
Learned a lot and I now use the API for my other projects!
One weekend, I wrote a messaging app that used telnet and Twilio to make multi-user, terminal based, communication system with user management and other nice features. It was extremely cool.
He, being kind of a dick, would never use it so I lost it.
With 0 knowledge of Swift and a bit of ML experience I was able to build a Mac app that does a much better job of it than the built-in model.
Planning more features, including upscaling, exposure/contrast fixes and possibly inpainting.
All it does right now is it takes a CV, adds branding and standardises its format. I built it as a sort of sweetener for recruiters with the plan of adding more tools.
I used chatgpt to extract and re-word the candidates experiences though and it does tend to hallucinate, so not practically useful.
-edit seems to be down but will have to wait to fix it
Had posted it here as well: https://news.ycombinator.com/item?id=39098133
Got a lot more GitHub stars than I had anticipated. Still getting stars here and there.
I noticed there are a lot of D&D game in the chatgpt store, so I wanted to bring it to my local machine instead of using the chatgpt website
Took about 4 hours from idea to finish. Source code is in the .goal files
Not very mobile friendly btw (sorry)
Project, design, implementation, copywriting, bought vps, installed, secured, and configured RedHat, apache, tomcat, the website (a Java-based portal system I used to build together with a team of 5), configured DNS, go-live, attend to the press conference.
No errors, no known security issues. Spotless.
Bought some duratex roll on coating (similar to truck bed liner) and recovered it. Then went to the hardware store and bought replacement screws and bolts to reassemble the keyboard.
Can’t believe how much better it plays now. Butter smooth.
Everything in Python flask + Azure OpenAI. I am working on moving AI part to Claude Sonet. Seems that results are bit different since GPT model has more rough approach to merging requirements and also less sensitive to finding gaps.
[1] makes it easy for sellers to collect and showcase genuine customer reviews on Instagram. just shipped the initial version. still working for the launch.
As a habitual puzzle hunter, I found it slow and tiring to decode with existing tools, so I wrote my own and still use it.
I was really surprised how springy LEGO may be :)
It is named https://paperbrief.net
I built a macOS menubar app that just... pings: https://github.com/attheodo/Pingu
rise of the rotars
a "life" simulation that always ends in monoculture
but nice to look at
Clears any compression format headers so that both parties are forced to communicate in the clear. Generally I have a split terminal with client transmissions scrolling down on the left side and server responses scrolling on the right side.
This is something that I find myself using daily, especially when programming embedded devices that talk to a server (esp32, for example). It's nice to be able to switch to a screen and see all the messages scroll by, especially with esp32-type projects where there really is no good way to figure out what the device didn't like about the response (or in what way the request was mangled so that the server program didn't like it).
I use it on web projects as well, because frankly, the three-finger-salute I have configured for switch screens/desktops is much faster than clicking around in devtools.
originally, the answers and gameplay were based on wordle, but i recently changed it to be more open-ended and like a real game of charades
almost all aspects of the game (images, answers) are generated using the openai api
My pastebin with line commenting https://commie.io/ was also a weekend project.
Heck even the first version of DokuWiki was done on a weekend, but that one still isn't done...