Ask HN: What did you make during lockdown?
Post your own product or browse through other ones here: https://lockdownshowcase.com/
Post your own product or browse through other ones here: https://lockdownshowcase.com/
Each chess piece has a magnet in the bottom. The board senses your moves by looking at where magnets disappear and appear, and it plays your opponent's moves by dragging them with an electromagnet underneath the board moved by a pair of stepper motors.
The problem I faced was that when I had magnets that were strong enough to be reliably grabbed by the electromagnet, they were strong enough to repel each other if they got too close! I went through quite a large selection of different magnet sizes before I settled on the final one (which is 6mm diameter, 6mm tall, neodymium cylinders). They're strong enough to be grabbed by the electromagnet, and weak enough that 2 pieces can be in the centre of a square and a corner of the square without moving apart, but unfortunately still not weak enough that a piece can slide in a straight line past another piece.
When there is a piece in the way, it works out whether it would be shorter to move a piece out of the way, or to route the long way around, and picks whichever is shorter.
It's in here, but not for the faint-hearted: https://github.com/jes/autopatzer/blob/master/mojo/lib/Autop...
I did try giving it an accurate model of the acceleration curve of the stepper motors, so that it would do the set of moves that actually took the least time, but that led to strange motions where it would deliberately move pieces too far, and then back again at a diagonal, just to minimise the number of corners it needs to turn, so I instead just made it do a simple shortest-path, because it looks more natural to a human observer.
I.e. instead of going 2 squares right, then 2 squares up, then 1 square diagonal up-left, it would prefer to go 4 squares right, then 3 squares diagonal up-left. It takes less time, but looks stupid.
Your pitch could be: "like Regium, except it's not vaporware and actually works."
I mean that company had nothing and they were well on their way to raising 50k, before they were stopped. You have a real product. That $50,000 should've been yours.
https://thehustle.co/03092020-chess-kickstarter-regium/
https://www.reddit.com/r/chess/comments/fcfcpi/the_regium_eb...
https://www.kickstarter.com/projects/soontech/regium-automat...
It's also extremely time-consuming to assemble because of all the wiring required for the magnet sensors, and if you short one of the power connections, there's quite a lot of binary-searching over possible joints before you work out which one needs fixing. I would not like to make another one :).
If you want to buy a commercial one you should check out https://squareoffnow.com/ - it has the advantage that it is actually a product you can buy, but the disadvantages that it has no clock display, no button to confirm your move inputs, doesn't support lichess, and requires use of their smartphone app.
Hacker News has no DM function.
I wanted to build one myself, and it was only a complete lack of mechanical know how that stopped me.
I don't fancy bullet chess on it tho...
I bought one Watterott TMC2208 board and found that it was an easy drop-in replacement, compatible with my microstepping configuration, except the motor connectors needed flipping round else they ran backwards (if you're making a drop-in replacement for another product, and you have the option of making the motors move the same way as the other one, or the opposite way, why would you not just make them move the same way? the mind boggles).
Satisfied with this result, I tried to buy another one for the other axis but could not find another Watterott item on eBay, so ended up buying a no-name one, and it looks basically the same except something is weird about the microstepping modes, and I haven't been able to select a microstepping mode that is suitable, so I've given up on that for now. But at least I've got one quiet axis now, and if I come across a Watterott TMC2208 board, I'll know what to do with it :).
(Before anybody takes any offence on this, I really hope y'all read Johnny Mnemonic).
If the player you want to spectate will set you up an API key, then yes it can do that.
I make the same attempt every year, so this is a record for me.
On a more serious note, I had plans when the lockdown began. I wanted to build some kind of a "robot" as an educational venture. Do some redecorating, learn Unity and figure out how to use the TIG welder I bough one night when I was drunk. In reality what has happened is that my children's school, after school club, their sports clubs and Scout groups have given them so many lockdown "challenges" I haven't had time to do anything because I'm in charge of them because my wife has to lock herself away from 9 to 5 to do teletherapy.
I don't have a particular need for a TIG welder, but I bought it so I suppose I should find something useful to do with it. Problem is, I'm more of a woodworker.
The goal for mig is to hot glue some metal together. My friend does woodworking and loves making legs out of rebar/etc with the mig welder.
Still, I'll give it a go. My son wants to build a "mecha arm" with all sorts of spy features. This might be a good excuse to learn how to use it.
The irony is that he owns about €1000 of Lego bricks. He spent half his first communion money on Lego (€300), we made him put the rest in to the credit union. Since them he has told us he has become atheist as science makes more sense, but he'll still do his confirmation to get more money to buy Lego. Hmm....
On the non-tech side of things, our garden has been a real source of happiness. We planted everything from seeds with the kids and grew pollinator flowers, vegetables, etc. [3]
One of my favorite projects was finally making a sourdough starter and taking my pizza making up a notch. [4]
1: Houdini https://www.instagram.com/p/B_nG_jdpY7F/?igshid=r2pegr6lrr3l
2: art http://gregorywieber.com/insta.html
3: flowers https://www.instagram.com/p/B_-f3h5JWUq/?igshid=rf7jx6vaimgw
4: pizza: https://www.instagram.com/p/CAy8Hf0pF29/?igshid=1gipfxkhd9bh...
This morning I went over there and harvested some of the garlic, and right now our house smells of it. In a week or two it'll be dry enough to eat.
https://www.instagram.com/p/CBdLC6ADy5j/
https://www.instagram.com/p/CBs3Qpjj5Qa/
Not a project, in the sense that this site usually lists, but still something I (we) made.
I'm keeping the site private for now because I can't be bothered to see a lawyer and get my legal policies/checkboxes in place, but on Friday I did host a live event where I read chapter one aloud, had viewers vote for what choice to take, and continued until we hit an ending. It worked well, it was just a facebook event for friends, and eight people showed up out of my 200 friends which is pretty good. I'll probably do it again and open the event up to the Public. I'm hoping I'll attract more interested authors, I can always slowly give them access to the site.
(If anyone here likes the idea of contributing silly creative writing - third person, past tense - feel free to message me.)
> "I'm keeping the site private for now because I can't be bothered to see a lawyer and get my legal policies/checkboxes in place..."
not to belittle what you've built, but i really lament how much legal considerations overhang our collective psyches, especially on the internet, and how much we believe in legalese and lawyers to protect us from potential issues. both the risks and the protections are unduly outsized in our minds.
by default, we each own the copyrights to our own words. posting our words on websites should implicitly give those websites permission to display (perform) those words (or not). we shouldn't need pages of jargon to spell that out, and no amount of expensive precognition is going to ward off even most potential misconstruals (malicious or not).
My wife is doing something along the lines (ba-dum tss) with a friend of her: i am keeping a REALLY old version of "legend of the green dragon" online for them and they write a huge fantasy story together on a daily basis. They should get that printed in a book some day :)
It is really fun to make books - I've also read some lengthy popular fan-fiction works, and when they get popular enough, people pop up to make underground books out of them. My wife printed out the six-book "Harry Potter and the Methods of Rationality" series for me from a github repo for Christmas. Looks nice on my shelf!
https://github.com/ankidroid/Anki-Android
https://github.com/david-allison-1
Knowing that I've actively been impacting students (particularly medical students) from around the world has been really good for the soul.
The android version already seems to work great. Is there a roadmap somewhere? I'm curious what's being worked on.
No official roadmap (such is Open Source), but:
* Rust Conversion (got a proof of concept, need to productionise it) - Anki Desktop has moved to Rust. We can unify all of the platform, and remove most of our backend code and maintenance burden. * Android 11 has made significant changes to how applications store files on the device (Scoped Storage). I expect this will be a nightmare to deal with: https://developer.android.com/preview/privacy/storage * Visual HTML Editor (probably 2.13) - currently editing and adding formatting could do with a ton of love. Typing HTML by hand isn't a great experience for non-technical users. * User onboarding & UX - We get tons of bad reviews: "All my cards have been deleted" - this is because we fail to explain how Anki/Spaced Repetition works and that we take control of scheduling. People download AnkiDroid expecting flashcards, and we can do much better in this area. * Performance improvements with larger collections - we're fast, but there's still lots of low-hanging fruit regarding multithreading. * Background media sync - Medical Students have multi-gigabyte collections (just fixed a bug where some Android systems wouldn't open zips >= 2^31-1 bytes). We're tied to the AnkiWeb protocol for syncing, but it'd be a much better UX if we moved this to the background.
Personal Goals (some point in the future)
* CI/CD improvements - both speeding up build times, adding more styles of testing to the pipeline and adding more auto-linting. * Accessibility - our TTS doesn't play well with Android talkback; this hurts me to type. * Better gamepad support
Thanks!! No official roadmap (such is Open Source), but:
* Rust Conversion (got a proof of concept, need to productionise it) - Anki Desktop has moved to Rust. We can unify all of the platform, and remove most of our backend code and maintenance burden.
* Android 11 has made significant changes to how applications store files on the device (Scoped Storage). I expect this will be a nightmare to deal with: https://developer.android.com/preview/privacy/storage
* Visual HTML Editor (probably 2.13) - currently editing and adding formatting could do with a ton of love. Typing HTML by hand isn't a great experience for non-technical users.
* User onboarding & UX - We get tons of bad reviews: "All my cards have been deleted" - this is because we fail to explain how Anki/Spaced Repetition works and that we take control of scheduling. People download AnkiDroid expecting flashcards, and we can do much better in this area.
* Performance improvements with larger collections - we're fast, but there's still lots of low-hanging fruit regarding multithreading.
* Background media sync - Medical Students have multi-gigabyte collections (just fixed a bug where some Android systems wouldn't open zips >= 2^31-1 bytes). We're tied to the AnkiWeb protocol for syncing, but it'd be a much better UX if we moved this to the background.
Personal Goals (some point in the future)
* CI/CD improvements - both speeding up build times, adding more styles of testing to the pipeline and adding more auto-linting.
* Accessibility - our TTS doesn't play well with Android talkback; this hurts me to type.
* Better gamepad support
>* User onboarding & UX - We get tons of bad reviews: "All my cards have been deleted" - this is because we fail to explain how Anki/Spaced Repetition works and that we take control of scheduling. People download AnkiDroid expecting flashcards, and we can do much better in this area.
Somewhat related, but I would like a way to "cram" cards (ie. temporarily review all cards in a deck, in random order, without affecting anything about their spaced repetition timing). I feel like this must exist but I haven't found it. Do you know how to do this?
Also, how does Anki support the costs of Ankiweb? Is there a way I can contribute? It's not immediately obvious to me from clicking around on Ankiweb.
Finally, is this just a rip-off of Anki or is it legit? https://www.ankiapp.com/
That's a strange one... it exists, (Create Filtered Deck - Long Press - Options - Untick Reschedule) but only works well in the V2 Scheduler. The V1 scheduler doesn't handle cards in the red (learn/relearn) well.
The problem with the V2 scheduler, which makes people hesistant about upgrading is the upgrade process will move all cards in the red queue back to the blue (new)/green (review) queues. https://anki.tenderapp.com/kb/anki-ecosystem/the-anki-21-sch...
> Switching the scheduler will empty all filtered decks, and reset any cards that are in learning. It will also force the next sync to be a full sync.
Manual Entry: https://docs.ankiweb.net/#/filtered-decks
----
No. Damien's opinions on funding: https://faqs.ankiweb.net/why-does-ankimobile-cost-more-than-... . The iOS app is paid ($24.99) and funds AnkiWeb, so offer to buy it for a friend if you can.
Personally, I'm taking donations (caveat: AnkiDroid is a port, I'm one of a few contributors, and the money would go to me, rather than Damien, who runs the rest of the ecosystem (AnkiWeb/AnkiDesktop/AnkiMobile)): https://github.com/sponsors/david-allison-1/
----
AnkiApp isn't part of the ecosystem. It's frustrating telling people that they were mislead, and data extraction isn't easy for non-technical users: https://anki.tenderapp.com/kb/anki-ecosystem/ankiapp-is-not-...
When I am strongly constrained in the time-domain, I've found the older Leitner method to be the most efficient. I also have a lot of difficulty performing this in Anki except by resorting to absurd time controls and manual resets that are difficult to explain to friends.
I'd love to provide Anki with a strict Leitner mode for last-minute cramming. I'm just not sure the Anki project would support this, as I've seen them be fairly dismissive of it in the past.
It's very exciting that this is in Rust.
I hadn't contributed to Open Source before, had never wrote Java professionally, and my Android knowledge was pretty much non-existent, but I was aware of the project and how it operated. The catalyst was encountering a frustrating bug, and downloading the source to fix it.
The best thing about working on an application rather than a library is that you're dogfooding your own changes, and you have a good intuition for what the end result will be. You can always tell yourself: "Even if this isn't accepted, I find it useful and can use it".
I started out with small issues that I wanted improving, gradually moved on to getting access to crash reports, and fixing most of them (I think we're down from around 12 to 0.05 crashes per 1000 users). Confidence with larger issues comes from experience: documentation helps to some extent, but sitting down and reading the source code is always useful, as is looking to the source of the port as a source of truth.
Most projects would benefit from more volunteers (I just helped put out an ad for contributors on Stack Overflow). For confidence: accept that you're going to make mistakes as you start out, but the value that you bring to a project will overwhelmingly be net-positive as long as you stick with it.
- I did some woodworking at the start of lockdown. It was very therapeutic. Built a small table with a flip-top back where charging accessories can be stored: https://imgur.com/ea67ANO
- And some more woodworking to build a shoe rack (never enough room for all our shoes): https://i.imgur.com/ihw12YT.jpg
- A Raspberry Pi using BigGAN to constantly "daydream" weird, artistic photos: https://blog.hmac.io/2020/06/08/a-daydreaming-ai-for-my-desk...
- A new image hashing algorithm that can recognize matching photos even in extreme cases like disparate crops from a parent image. Used it to help my friend dedupe their school's yearbook: https://blog.hmac.io/2020/06/10/writing-new-image-hashing-al...
- Currently building an escape room for my wife's birthday. Poor little 3D printer is working overtime this quarantine :)
Someone posts a side project Ask/Show HN thread every once in a while, but I haven't noticed any regular Show HN threads, either.
I still have that ugly spice rack. Sometimes the best way to learn is to just do.
Many years later I got the bug again and that time I started spending more time on YouTube. I find videos to be an incredible resources, whether I'm browsing for something specific or just watching good content and learning secondarily. Matthias Wandel has a channel with a variety of content that's worth watching just on its own, but you'll learn endless amounts of woodworking skills as well. Steve Ramsey's channel is great, though his videos can definitely be a bit annoying to watch. Really there are too many great channels to name. Best bet is to figure out what kind of thing you _want_ to build and then search for videos on how to build that. I guarantee there will be hundreds of great, simple tutorials.
If you've got a woodworking store nearby (e.g. Rockler) they often have free or cheap classes that can be great even for newcomers. Those are great because you don't need any tools; they provide everything. And they cover a wide range of stuff so you can figure out what kind of woodworking you like. Maybe you like turning wood, or working with a scroll saw to build small decorative pieces. I attend a Father's Day class where we made a wooden bow tie. It was free and introduced me to scroll saws, inlays, and spray varnish. Best of all, I got a great gift to give my father at the end of it.
Maybe it's an idea that will get traction.
I've been programming professionaly for close to 20 years and no matter what I always ended up writing PDF generator for one case or another. This time I've had to write another PDF export again and I've decided to do it right this time.
Having some unexpected extra time I've decided to create WYSIWYG editor in similar fashion to Figma or Zeplin where you set your components and then you just call API endpoint with json data (variables, collections...) and you've got your pdf file
Stack is quite simple: Rails app for all the book keeping, visual editor is written in vanila JS and the generator itself which takes variables and template data (both json) is written in Go.
I am just getting ready to launch it, so if you are interested you can sign up at http://docula.app and I will send first batch of invites in month or so.
Tool to delete items from gmail en masse per sender: https://github.com/poundifdef/gmail-deleter
Open-source website to turn recipe websites into plain-text and printable versions: https://plainoldrecipe.com/
I didn't quite keep up with my normal responsibilities while also not quite managing to keep up with the remote learning my kids were doing.
If both parents are working full time (not furloughed) then you often end up working early mornings and evenings to compensate for lost time during the day.
Same is also true if you have younger kids but either / both parents work jobs that require lots of formal meetings. As understanding as employers have been, there’s only so many times one can have a meeting interrupted because a doll fell over or Duplo piece fell off an impossible structure. So parents will often arrange their day where they essentially tag-team their day, meaning lost hours are made up in the early mornings / late evenings.
Still, I am glad that others have been able to turn a negative into a positive.
Edit: that said, it had been nice spending more time with the kids
Games run on Realtime Firebase DB, so players join with a link and everyone is kept updated with game flow and other player actions etc.
So far had 10000 people play, and has 9 games and still working on more. The focus for now is on social/turn-based kind of games.
Runs on Vue and Firebase. FB helped me to launch it in a month. Wrote about it at https://codeburst.io/how-i-built-a-real-time-games-platform-...
Still, despite having multiple games available, I'm always glad to test out some other options.
It's not that big of an achievement since I'm Brazilian and I already speak Italian, the romance languages are somewhat similar. But I'm happy and I want to keep learning new languages because that proved to be a rewarding experience all steps of the way.
I've used Lingq and Memrise, if anyone is interested :)
So, congrats!
I got to playing around with recurrent neural networks and made a site that generates Crossfit "Workout of the Days (WODs)". It's trained on the workouts from crossfit.com.
My motivation were to learn more about how character-based RNN's work, remember how to host a site on my Digital Ocean VPS with flask, and do some fun frontend work. It posed a few unique challenges, like scraping the crossfit website, experimenting with different network architectures, and finding ways to validate the efficacy of those networks.
It's terribly overfit and will sometimes generate workouts verbatim from the crossfit.com database, but since it's just a fun project, it was more important for me to get consistently good, grammatically correct results and some overfit ones rather than a bunch of nonsense text and a few hidden gems.
My next step is to sum up the key takeaways in a blog post about the full stack of the application and call it finished, or continue to play around with network hyper-parameters and training techniques, since nurturing my neural network knowledge for NLP was a huge goal.
Always looking for feedback and happy to answer any questions!
How do you calculate overfitting for something like this? I know how you would do so with a more traditional supervised learning model with numerical inputs/outputs but NLP still seems a little like black magic to me since I haven't dived into a project using it myself. Is it just a comparison of similarity between generated posts and all posts in the training set? How do you calculate how "close" an output is to an input?
- Workout of the day (WOD)
- 15 Dumbbell Throws
To understand how I calculated loss, I have to describe the whole model, so let's take it from the top.
The model consists of 3 distinct layers. The first layer is a character embedding. We need a unique representation for each character in the entire corpus. Without checking, I believe it was ~80 different characters. This includes all the the uppercase letters, lowercase letters, numbers, little symbols, and even the new line character (`\n`). One way to encode these characters as a state vector is to one-hot encode each character. With one hot encoding, something like 'a' would be (potentially) encoded as `[1,0,0,0,...,0]`. Each character has its own unit vector orthogonal to all the other vectors. With ~80 different characters, a one-hot encoded corpus would span `R^80`. That seemed prohibitively large to me, so I went with the learned embedding route. With an embedding, you reduce the dimensionality of the state vectors from `R^80` to something much smaller by no longer making each vector orthogonal to each other. In this system, `a` could be encoded as `[.34, 0, .01,..., 0]`. In this system, characters do not have their own unique dimension and their cross-products are no longer 0 as they are not independent. But this is actually something we want! We learn different characters are related to each other from the corpus. This may put all the number character vectors closer to each other, since they are used in similar ways in the workouts.
So the benefit of the embedding over the one-hot encoding is two-fold: more compact representation and a vector representation that is able to show similarities between different characters. Note to self, exploring the embedding created by the Crossfit workout corpus would be super interesting .
The next layer (or actually a series of layers) is the LSTM layer. To avoid writing a novel here, here are a of resource that can explain it better than me (https://colah.github.io/posts/2015-08-Understanding-LSTMs/). It's a node that maintains a hidden state that allows it to "remember" previous inputs to the run. These cells are followed by some hidden layers. Look for a blog post soon on my page for a more in depth explanation as I learn to explain it better.
The output from our LSTM cell is fed into a final fully connected layer that is the size of our vocab (~80 characters). A softmax activation is attached to the full connected layer so that our final output is a probability distribution across all the different characters.
So, the way our network works (at predict time) is we feed in a single character, it's converted to a number (a->24). That is embedded as a vector, that vector goes through the LSTM layers (which hold some hidden state that "remember" that `a` passed through). Then a fully connected layer and softmax gives a probability distribution of the characters. I sample from that distribution, which yields the next character.
As an example (and how the site works), when you click "Pump It Up", I prime the network with the text "Workout of the day (WOD)". After priming the network (which gives some state to this LSTM cells), I take the next generated character, print it to the screen, and then feed it back into the network. Without fail, after priming with "Workout of the day (WOD)", the next character generated is "\n". The ")" character that was fed in just before would not be enough to generate "\n", but the LSTM has enough built up state to know it's time for a line break. I find that so cool and is why I went with the character model when a word-based model could likely generate workouts better.
Now that we understand the network, particularly the output as a probability distribution over the characters, we can finally talk about training loss. The naive way to calculate loss would be to feed in a character, produce a character, and then give a +1 if the produced character matched the expected character from the training text. But we can do something much smarter. Instead of comparing by character, we simply compare the output probability distributions! Yes, we can do that using cross entropy loss. This is so much more powerful than simply comparing character outputs. This loss function is both how our model is trained (propagating that loss back through the network) and how we evaluate the network a testing time.
This validation testing that I did relied on the fact that the characters in a workout are dependent on one another, but workout themselves are independent. With this in mind, I was able to randomly split up the whole workouts into a training a testing batches. I trained on a subset of workouts, then tested the efficacy of the models using the testing set. Then I summed an averaged the losses of the run, plotted the results, and ran through the entire corpus of workouts again with a new random selection of workouts. By exploiting the independence across workouts, I was able to perform cross-validation.
Did this work? Honestly, I did not see much of a divergence in the training and testing efficacy, but it was the best thing I could think of to test if my model was overfitting.
---
I hope this stream of consciousness gives you a little overview of how this works and my theory on testing. This will serve as a good rough draft for what I've been meaning to write for a while. I really could not match the model's loss on testing vs training to spot overfitting in the network, so maybe that was flawed. I need to continue to do research into testing on sequence data. I am doing some stock market time series investigation work right now, so I really hope to learn the state-of-the-art techniques are for validation testing on time series data, which in essence, is sequence data like these crossfit workouts.
It was much different from anything I've built previously, and it was a fun learning experience that I plan to keep working on for a few hours a week.
Github repo: https://github.com/jtothebell/fake-08
[1]https://www.lexaloffle.com/pico-8.php [2]https://www.lexaloffle.com/bbs/?cat=7&carts_tab=1#mode=carts...
https://seanwilson.itch.io/wordoid
Let me know what you think and what score you can get! There's intentionally no instructions screen (learn the game as you play) or title screen so you can get straight into playing. It's written in vanilla JavaScript.
I found this story from last month hilarious, which sums up the current mobile game trend I want to avoid:
https://www.bbc.co.uk/news/technology-52633088
> "I don't want jewels, cartoons, or potential dates. I want to play Scrabble against my friends and family. That's it. Nothing else," wrote one signatory.
> "They've turned it into some sparkly Candy Crush abomination," Ian Pym from Fareham, Hampshire, told the BBC. "I defy any adult to play it for longer than 10 minutes and not feel physically sick."
I'm also working on turning a web best practices guide I wrote into an ebook: https://www.checkbot.io/guide/
I built it so I could easily create unique art for printing, framing and putting up in my home.
Some examples: https://www.artbuffer.com/view?a=wslyHCoGjqoA3ZKgsQ_hNAlnshT...
https://www.artbuffer.com/view?a=-9Wr6aLtgF383zsAWxchXJbt8CW...
https://www.artbuffer.com/view?a=OuIs3I6vHAyqV-PoMb6EFiRVAFw...
PJON® (Padded Jittering Operative Network) is an arduino-compatible, multi-master, multi-media network protocol. It proposes a new Open Standard, it is designed as a framework and implements a totally software-defined network protocol stack that can be easily cross-compiled on many MCUs and architectures like ATtiny, ATmega, SAMD, ESP8266, ESP32, STM32, Teensy, Raspberry Pi, Linux, Windows x86, Apple and Android. PJON operates on a wide range of media and protocols like TCP, UDP, MQTT, ESPNOW, USB, Serial, RS485, LoRa, PJDL, PJDLR and PJDLS.
You can see a brief video preview here: https://twitter.com/ussherpress/status/1272638649000030208
I'm still at least 2 months from releasing. :)
Behind the scenes, Debbit is a hand rolled scheduler that runs Selenium automation to navigate Amazon + bill pay websites.
* quarantest[1] - Most CI testing tools focus on automated tests, but sometimes the changes are very visual and you just want to give your team a demo of your pull request to play with. quarantest runs a build for each GitHub PR, generates a URL for the build, then posts a comment on the PR with a link to the build. You can see an example of it in action here[2]. Still in a pretty hacky state. Probably would be better to use the GH status API with a link that goes to a page listing all the past builds from the PR instead of spamming comments, but it's getting the job done.
[0]: https://github.com/anderspitman/stealthcheck
https://github.com/bokwoon95/go-structured-query
It was created to solve one of my pain points about scanning columns into deeply nested structs. You have full control over what columns gets mapped to what struct field, no annotation-based reflection needed. The type safe query building part was inspired by jOOQ (https://www.jooq.org/doc/latest/manual/getting-started/use-c...)
1. Using type-classes to model the expressivity of build systems [3] 2. A Future is a Suspending Scheduler [4]
[1]: https://ninja-build.org/ [2]: https://www.microsoft.com/en-us/research/publication/build-s... [3]: https://nikhilism.com/post/2020/type-classes-build-systems/ [4]: https://nikhilism.com/post/2020/futures-suspending-scheduler...
- Based on Python -- filter, transform, etc. using Python functions.
- Pipe Python values, not strings.
- Database operations from the command line.
- Run commands remotely and combine results.
I was forced to really learn my way around Twilio when everyone on the office went home.
After 3 weeks I ended up with a "React App" where all of my team can pick up the phone, 'whatsapp', SMS, and email. It's pretty cool because it turns the CRM thing around, because you start with the contact already in the system, so it's a native customer centric approach compared to older computer centric ones.
All this matched a migration into a new PWA based on React-Admin - so next to the "Call Center" are all the "admin" actions. I guess this was called an ERP. Only now it has a Call Center build on top of it.
I did inspire myself on Twilio Flex - but at $150/user/month I decided to build it myself and eject from all the plugin complications of building for a platform.
I have learned a lot, and jumped into the crazy world of VOIP. Collaborated with new colleagues and enjoyed myself building something totally new from my head to the screen.
I also completed an electronic art project that I have been making as a gift for a friend. It is a PCB which looks like a linocut of an airport, but with LEDs on it that mimic an airport's lighting at night. Hoping to write the process that went into making it on my blog soon.
What2Cook Today helps you save time by recommending new meals with recipes.
This project came out of sheer frustration trying to think of new things to cook everyday during this lock down. Currently, the website covers primarily Indian meals but I will hopefully cover more cuisines in the future.
What2Cook Today is a side-project that was a week-long one built in my free time.
Appreciate any feedback to improve.
The tool connects to the target email's SMTP server, and parses the response of the "RCPT TO" command. To avoid IP blacklisting, I use Tor.
The code is in Rust, 100% open-source. The core library is here: [link redacted]
Using Tor, I can verify around ~60% of emails. Notably, the exit nodes can connect to Gmail/GSuite servers. So it's not that bad.
If Tor's exit nodes are blocked by a server, I fallback to Heroku, where I have right now 3 fixed-IP instances. And if I see that one of these also gets blacklisted, I would have it self-destruct and relaunch, Heroku assigns a new IP on each new instance.
I used Go on the backend (rewritten from Node) and Vue on the frontend.
How it works: first, you upload a picture of your office layout using the web UI and mark everyone's locations. Then if you send "/map @JohnDoe", the plugin will return a map with the location marked on it. It works for meeting rooms and other locations as well.
Now the plugin has dozens of users and were featured in the Slack's app directory as "New and noteworthy".
If you have any questions, feel free to ping me at contact@slashmap.com :)
It’s getting a lot of use by college students and coders. Pretty fascinating to see what everyone is working on or learning. The social accountability and leaderboard are proving to be strong motivators.
It currently checks BC, Alberta and Canadian National Parks. US parks to come soon. It took a while to get national parks on there because they don't send that data in JSON, it's all html bleh.
Didn't do much marketing but still managed to sell 15+ copies, pretty happy about this attempt, spent 3 weeks writing it after work hours.
I began work on hyperscript[2]: a language designed to embed well in HTML, inspired by HyperTalk (the programming language from HyperCard). I hope to develop it into a general purpose programming language for the Javascript runtime.
[1] - https://htmx.org
[2] - https://hyperscript.org
https://github.com/doersino/aerialbot
I've built this tool because satellite imagery can be extremely beautiful [2], and I was looking for a way of regularly receiving high-resolution satellite views of arbitrary locations such as the center pivot irrigation farms of the American heartland [3] in my timeline. Plus, for obvious reasons, it's nice to see the world without actually having to go outside right now.
Currently, I'm running four Twitter bots based on ærialbot:
* @americasquared, which posts one randomly selected square mile of the United States every 4 hours: https://twitter.com/americasquared
* @placesfromorbit, which analogously posts a 5×5 km square anywhere in the world every 6 hours: https://twitter.com/placesfromorbit
* @baekmanpyeong, which similarly posts a 1.818×1.818 km square (that's a million (i.e. baekman) pyeong, an old-fashioned area measure) somewhere in South Korea every 8 hours: https://twitter.com/baekmanpyeong
* @nihonmusuukei, which posts a square kilometer of Japan every 12 hours: https://twitter.com/nihonmusuukei
---
[1]: https://en.wikipedia.org/wiki/Shapefile
Before Corona hit, I had created a new data set and given a talk about all the stuff that current state of the art AIs for Optical Flow get wrong. I find the topic interesting, because those bugs directly lead to drones like Skydio crashing into thin wires or branches without leaves.
Plus, I needed optical flow to work for a project, but the state of the art didn't work well enough.
Then I thought "ah f* it" and so I built a new architecture that avoids the issues that I had been whining about.
Now, 36 days of training later, it looks like I might have succeeded :)
https://www.dropbox.com/s/3tfrs9sjm9heypk/example_selflow_ha...
Top left and right are the two input images. Bottom center is the "ground truth", meaning the result that a perfect AI would produce. Bottom left is one of the State of the Art, according to the Sintel benchmark. Bottom right is my new architecture.
You can see that the State of the Art tends to blur the two persons together and blur them with the background between them and the frame border. My approach uses monocular depth cues to correctly segment them into multiple movement layers.
Do you have a public dataset that you can share or only a private one? Kinda looks like you built a dataset using Skyrim which ... is brilliant.
3d spatial video chats based on jitsi
Zettelkasten based note taking app. Uses your personal Google Drive as the backend (I'd like to add Dropbox backend at some point too) so no third party storage is needed, built as PWA to provide access from every device with native-like experience. Still some polishing to do but it's getting there.
https://chrome.google.com/webstore/detail/lesstabs/gpdnlknek...
I released the app on the google and apple store for free. To get my investment back (time and running costs) i choosed to bill the fire-stations per vehicle. My goal here was to go as little as possible with the pricing.
The app is written in Flutter, backend a mix of spring and vaadin.
Current market are german fire stations (Most of the fire stations in germany are volunteer based)
https://play.google.com/store/apps/details?id=dev.hvoss.fahr...
https://apps.apple.com/us/app/id1507208896
Landingpage: http://fahrzeugkunde.hvoss.dev/
[1] https://leanpub.com/lovinglisp
[2] https://leanpub.com/hy-lisp-python
I have also been working on physical fitness: bought some weights and also usually go on a brisk 45 minute hike near my house from about 5:30am to 6:15am every morning. I live in the mountains in Central Arizona and early morning is an interesting time to be in nature, predators [3] like coyotes and mountain lions are still out, and the birds are just starting to make their morning sounds.
[3] I usually spot a mountain lion every 2 or 3 years (not too often) and rattlesnakes about one or two a year. Lots of coyotes.
The idea is to simply turn any recurring meeting into a private podcast for all invitees. Any feedback would be appreciated.
I have assigned pin as keyword, so I can use following search terms in address bar
pin grocery!rice
pin todo!pay electricity bill
pin bmark!htttp://news.ycombinator.com
This creates grocery.md, todo.md and bmark.md with their content followed by whatever is after ! in search string.I've lived in several countries, and I wish there was experienced expats telling me the best carrier/area to live/gym/etc... instead of trying too many things and wasting a lot of time
[1] https://travelhustlers.co/cityfaq/
[2] https://docs.google.com/spreadsheets/d/1-Lut4zmeDw9z-ikRJPH1...
Sound is meh but it does operate.
And documenting how I use magic in tech innovation on my podcast at magicseth.com
It's still WIP (need to do some minimal ray-casting to deal with depth ambiguity), but the overall goal is to develop a set of minimal camera perspective matrices that can be easily be extended for other uses (i.e I want to use my cameras to calculate geometric view factors as a way of clustering geometric features for statistical learning). Another application I've tested is to use camera and location parameters from the Google Street View camera to project OSM footprint geometries onto street view images.
We’ve still got shows tonight and next weekend if anyone wants to attend (you can attend from literally anywhere as long as you’ve got a working device) and I wrote it all up in a blog here: https://chrisuehlinger.com/blog/2020/06/16/unshattering-the-...
Current looking for collaborators to add more content and do mobile dev.
https://play.google.com/store/apps/details?id=com.intafel.rh... https://apps.apple.com/us/app/rhetorfit/id1514982376
Strava only for now but uploading GPX/KML files coming shortly.
I finished a PID toaster oven project from a few years ago. I've been using it to dry out filament. I also made a nice filament dry box to battle oozing.
I thought I was having anxiety over the last couple months, but it just turned out to be all the nerves in my heart electrically failing for no reason. Now I have a pacemaker. I ordered some electronics to capture my own ECG traces so I can detect the pacemaker pulses for fun.
Hope you're feeling better; I know how scary heart stuff can be.
After my own scare (luckily a false positive) I also learned that weird anxiety problems can be heart related. Since then I've started mentioning to people that they should discuss things like that with their doctor. I know many people don't like talking about anxiety with their doctors, thinking it's more a therapist thing, but yeah it can be a heart issue and good doctors can smell a heart problem from a mile away. EKGs are quick and easy.
[1]: https://github.com/schollz/heartbpm
[2]: https://schollz.github.io/carp/
[3]: https://op1z.com/
When I work I usually have emails off, so no idea when the pipelines fail.
At the moment functionality is quite basic, but it solves the problem I had.
Also plan to add other CI/CD providers (Travis, Github actions, etc) in the next few versions.
It's my first macOS app, and I've managed to learn Swift + SwiftUI, so time well spent too.
It is currently in beta but I hope to launch in the next two weeks.
Edit:
iOS beta: https://testflight.apple.com/join/4IMtFylH
Android: closed beta - email support@gobudget.io if interested :)
Android is closed, but if interested you can email at support@gobudget.io
I also found the framework itself to have a much lower learning curve than either native platform, with almost all of the APIs being very intuitive (to me anyway). The plugin ecosystem is also very good for a still relatively young framework.
I initially had some concerns with minor issues flutter had with occasionally janky animations and slightly slow android startup times, but in the last 3 months these have been addressed and Go Budget now works better than most native apps on my Pixel 3. iOS testers also report good performance/feel.
I would highly recommend it for any CRUD/data driven app, and honestly think that its capabilities for more hardware-specific apps are maturing nicely.
Some of the other ideas listed here look like interesting ideas too, although I don't always like the implementation. (I suppose that isn't so uncommon; that is why there are many different programs and other projects for similar purposes.)
But, occasionally I have played GURPS using the internet. Before the lockdown I was not doing it on the computer, but now I am sometimes doing. Since I am the only player, I simply used a direct connection; I wrote a shell script containing a command like this one:
ts '%.s>' | tee -a send.log | nc -Clvt 12345 | ts '%.s<' | tee -a recv.log
We then coordinated the times with email, and he sent a bell to my terminal when he was ready. And then, I can just use "cat" and "sort" commands to produce a full log.I didn't like the pre-defined drills of existing shortcut learning software, so I tried hard to make it as seamless and efficient as possible to create personal collections of Keyboard shortcuts and text snippets. They can be imported from a public shortcut database or defined from scratch.
From there, you can practice your shortcut collections with the goal of memorizing them and getting faster and more accurate. It even calculates a confidence value for each keyboard shortcut in your collections based on your training performance.
I am using it myself extensively and have learned a ton of new shortcuts and have eliminated bad habits. Made a blog post (during lockdown) about my complete collection of shortcuts [2].
However, some of my first users seem to struggle with the concept of having to build their own collections. So I am learning a lot about product design and user onboarding right now. This is quite exciting for me as I am working mainly on Java Backends in my regular job.
[2] https://tkainrad.dev/posts/a-collection-of-all-keyboard-shor...
I've also spent a bit of time cleaning and rearranging my workshop, and redoing a bit of my office for better video conferencing and streaming.
1. Chart based commenting system for Chartio https://chartio.com/blog/charts-worth-commenting-on/
2. Helping the https://howwefeel.org team with their data and dashboards https://how-we-feel-chartio.herokuapp.com/the-how-we-feel-pr...
3. A number of hydroponic experiments including with lettuce https://img.chartio.com/nOueDAy2 and even trying corn https://img.chartio.com/NQugK2G0
4. Finishing a book on Data Management that'll have a dead tree edition published later this year https://chartio.com/blog/cloud-data-management-book-launch/
5. A few small wood projects like a planter bed and a projector mount
(Since libraries have been closed, I used it to download my entire reading list. As I read through the books, if I find one I particularly like, I order a hard copy for delivery from my local neighborhood bookstore to support their business.)
I wanted to learn React Native/mobile development while trying to address the fact that for many of us, social distancing and lockdown have isolated us and destroyed our everyday habits.
The most interesting thing I've seen is that people really enjoy writing about and reading each other's mundane updates. The app has a notes feature which automatically sends out updates to everyone you've shared a habit with. But because the update is tied to the habit, people seem more comfortable writing more personal updates; it doesn't feel like bragging, annoying since it's not traditional social media where you're writing for an audience.
Some other observations and learnings I picked up while building it:
- I love React Hooks. IMO, React is a lot more natural to reason about and to learn with hooks compared to class components. The entire app only uses hooks.
- I used Expo and it's been mostly great. They take care of builds and OTA updates are super useful for iteration and moving fast! Cons: Expo updates too slowly; some bundled modules have been stuck on very buggy builds for a while and you can't do anything until Expo updates its modules.
- Sending too many network requests will slow down your app because of React Bridge! I used Firestore which encourages making all requests on device via the client SDK. But React Native handles network requests natively so everything needs to be passed back and forth through the bridge, causing a lot of slowness if you have too many/large requests, so the Firestore way doesn't seem to work well in React Native. Instead, off load requests to a server so that you're making a single (or small number) of network requests.
- Don't use React context for your app data! Changes to the context cause everything that's subscribing to it to re-render. I was using context for each day update, meaning every update caused all the other day-s to re-render. Redux is still a great solution and redux-toolkit has really helped reduce boilerplate and the friction to get set up.
Are you using React Native Firestore, or the JS SDK?
I created Covid Dashboard for Indian states and cities.
I am from a small town in India and I couldn’t find a way to track Covid cases, deaths and recoveries for last 3 weeks. Also, I am scientist and loves to work with Tabular data.
I needed to put this website to show some authorities of my town how the spread of our city is as compared to other cities historically. And it’s been working out pretty well.
We feel like building backend takes a lot of unnecessary work that really isn't coding. It's usually all those different things like setting up your environment, running multiple containers on your machine, figuring out how all different services should communicate together, fetching your production data. So we wanted to simplify that. Ideally, one would love to develop in an environment that is basically a copy of your production environment. The same goes for data.
Our CLI tool gives you an out-of-the-box cloud environment for developing your Firebase apps. You start Foundry on your local machine, we watch your code and every time you save your files we trigger your functions in the cloud environment. We give you feedback right away. So it's kind of like REPL in a sense that you always get feedback on whether your code will work once you deploy it or not.
We also emulate both Firestore and Auth Users and make it really easy to access your production data. In our YAML you specify what you want to have available in your environment and we fetch the data for you.
We don't save any data.
Here are the docs - https://docs.foundryapp.co
GitHub Repo - https://github.com/FoundryApp/foundry-cli
Since then I've released some updates to the library. Things I've been working on include:
- Adding a "polyline" entity (which, I hope, can be used for freehand drawing) and fixing the path animation code so things can be moved along a path at constant speed - https://codepen.io/kaliedarik/pen/MWadEwm
- Tweaking and improving the "phrase" entity (for graphical text) to make it easier to add styling markup to it, plus some stuff to make it look better when animating along a path ... though sadly there's still an (very!) annoying text height bug that needs to be addressed - https://codepen.io/kaliedarik/pen/dyYeOZb
And for the past few weeks I've been investigating/learning about physics engines. Because what's not to love about physics engines? I'm not close to releasing code for this yet, but I did manage to get the library to play nicely with Matter.js as part of my learning experience (the polylines add a nice touch to the net, I think) - https://codepen.io/kaliedarik/pen/zYvbwBy
I've got enough validation to think there's a market for it, especially in the Plex community. So for the MVP, the server acts only as a layer between Plex and the client. This allows me to build a great audiobook player and add features on top that Plex is not capable of.
1) note taking should not require having the book downloaded.
2) notes should be exportable
3) I’m constantly looking things up while I listen to non fiction. I think a visual stream of images tied to pronouns could be amazing. For example, when I listen to the history of ancient Egypt and it mentions Ramses II or all these tombs and tablets, it would be great to see thumbnails based on recently listened to content.
Anyway good luck!
I also want duplex color printing. I'm fairly close; Microsoft Publisher almost does what I want. I may end up writing a PDF generator or something.
I'm using A4 cardstock (for now) and the postcards need to be 6" wide and 4.25" tall. I print the image larger than that, so that I get full edge-to-edge printing.
I bought a paper cutter[0] to get the clean edges I want. Getting the mail merge to work how I want is a struggle.
Do you have suggestions? Any PDF generator I could feed images and restraints to and generate a printable PDF from zsh on my Mac, or WSL2 on a Windows machine, would be awesome.
[0]: https://hardwarefactorystore.com/products/17-heavy-duty-guil...
- online, multiplayer gameplay
- rules are enforced (using a DSL)
- customize the look and feel using WYSIWYG editors
Proof of concept implemented using the system: https://turn-base.com/games/lobby/22/We launched early, since suddenly users were ordering on the beta environment. Product descriptions are not complete yet ( > 900 products)
I had some webshops before ( on woocommerce), but this became pretty big in a short time. It's already sold to my supplier ( who is a good friend off mine), but I'm still shipping new features.
The latest thing I added was E-commerce-filters.
Next one is "suggested products". And we are onboarding 2 breweries that moved their E-commerce from their own to belgian brewed.
I'm also redesigning the backend currently for seperating the backend to a "cloud" one and transforming it all to DDD.
Within a month, I'm planning to start my second shop on the platform, for a totally different use-case, as I'm "picky" on the clients to onboard first.
Since I need them to request totally new features, so I can expand functionality.
It's. Net currently with plans to move to. Net core ( I'm much more productive in .net framework currently, I hope that changes soon)
I've seen many days with at least 100 games played during the lockdown, but I haven't set up proper monitoring for this.
Now, people have been contributing to the project since then. Thanks to one of them, there is support for many languages now.
https://gitlab.com/raphj/trivabble/
(be gentle, this runs on a cheap VPS)
I thought about making a chess and a checkers version. I made an experimental fork for the latter, and Lichess does the job for the former so I don't plan to make it happen for now. But the code would benefit from this work.
Basically, I think of it as a "geowiki" - a wiki where each entry has an address and a lat/lng associated with it. Here's a screenshot: https://i.imgur.com/RiCiuDi.png
I went on the radio on a call-in show, I advertised it on the local city Reddit and their discord server, but it didn't catch on - at all. Except for a couple of vandals who deleted all the entries :)
It was fun, but it would have been a lot more fun if people had actually used it. I still might try to get it off the ground again, but I don't know how off the top of my head.
[1] What does disaster ready mean? It means that the site uses very little resources for the browsing operation. It is all static HTML/JS/CSS and uses cgi-bin (!) for the admin side/adding a new listing.
I've been building an ESP32 LED framework for a couple of years, and thanks to some great advances in AVR emulation, we can now emulate an Arduino in the browser and preview the patterns.
I also made it into a desktop app that can flash a new firmware to a real device over wifi. Super fun.
As a noob coder also using this as a way to learn some stuff, a simulator was high on my list of things I wanted. Sure, I could tweak a program, upload to some little Trinket or Arduino, fire it up and see what happened, but it would make things a lot easier on the "learning basic Arduino code" side if I didn't have to build the whole thing first.
Let me know if you have feedback or if you wanna take a look on what I've worked on so far. :)
I built Fruition to solve exactly that. You can use a custom domain and add pretty URL slugs like https://fruitionsite.com/showcase. You can also add custom font and scripts like Google Analytics. It’s all free and open source.
I shared this on a couple of Notion communities a month ago, and 40000+ people have checked it out since. Hundreds of sites have been built with Notion and Fruition.
I've been meaning to do this for the longest time but couldn't keep my blog super active. In this regard, the lockdown was a blessing for me.
NeumNotes - A Simple Neumorphic Styled Privacy First Notes App: https://neumnotes.com/
And GitRelevant - Search The Latest AND Greatest Github Repos by using multiple filters: https://gitrelevant.netlify.app/
Just before everything got locked down I wrote an implementation of the circuit breaker pattern in python. The new concept I added was the ability to customize how the breaker resets. Rather than simply resetting the breaker as soon as a request succeeds, I provide a way to have the breaker in a fast-fail mode until the net error count (errors - successes) reaches down to 0. https://github.com/etimberg/pycircuitbreaker
I also did some Ham radio stuff, but my apartment doesn't have a balcony so I have no where to safely solder anything.
It runs a machine learning model in your browser to convert the text into points in a high dimensional space, and then it projects those points down to 3D.
Right now you can tell it to visualize post titles or comments from any subreddit or tweets from any Twitter user. I find it especially interesting to explore the news with it since every article is naturally presented alongside other articles that are about similar topics, often giving useful context.
Only works in desktop Chrome right now unfortunately. I was hoping to make it Firefox-first, but I need an API Firefox hasn't implemented yet.
Since the model runs on your machine, the "running model" stage will be slower or faster depending on your local GPU. If you have a decent GPU, I recommend bumping up to 512 points.
Would love any feedback! Here, on Twitter (@gradientassent), or in the Discord channel linked inside.
Cranked it out in a couple weeks and the code made me sad so I haven’t touched it since...ugly UI, bugs, etc
Also started back on an IoT soil sensor project.
Need to finish editing a book but tech provides an excusable distraction !
Then the guys doing the data moved their table and broke my app. Lucky I found a more reliable source. The app still works, I check it every morning. Anyway I found an international api here: https://github.com/ExpDev07/coronavirus-tracker-api - even started making a world map but moved on to other things. Code is on my site - https://www.circusscientist.com/parsing-online-corona-virus-...
The reasoning behind it is twofold: - They are people who (due to their through their startups, side-projects, thesis, hobbies,...) are familiar with interesting datasets. - With a tool that allow them to spot places on Hacker news where data are discussed, they will be incentivized to contribute and experience less friction.
I hope it increases the frequency of arguments linked to data and give more visibility to projects working with interesting datasets.
I am also looking for people who have projects, however small, where they see interesting data. It is for an ongoing interview serie.[1]
But I finally got around to reading up on a topic I've been curious about (causality modelling, causal inference, causal discovery) and started writing a little about it. The couple of interactions I gleaned from doing so have been very refreshing and are a great driver to continue down this path.
https://georg.io/the_causality-driven_company
https://twitter.com/GeorgRWalther/status/1271796549157339136
https://twitter.com/GeorgRWalther/status/1272193903639375872
You may badly want to be one of these people who emerges from lockdown in an amazing new body with all of these projects completed but you shouldn't feel like a failure if you couldn't. This was not a normal time and adding pressure to be productive is not the answer for everyone.
Secondly, I've worked from home for 6 years now and the "turning off" thing is very important. Not only is it unrealistic to have those expectations of yourself, it's irresponsible to do so.
If you feel guilty about not working, just remember that often times the time you spend not working on a problem is just as important as the time you spend working on it. It's actually how you tend to come up with most creative solutions.
Not only that but you deserve time off.
Email is in the profile if you wanna hit me up.
It sounds really counter intuitive but it works.
That's a real panic attack. Drinking cold water can help reset the loop causing it (worked for me maybe once). The only thing that really works for me is GABA (700mg daily for a year, then 250mg daily for life) - but it did come up short in my blood work.
Yes! Recognicing that it is a feedback loop is probably what has helped me the most. This is weird, I love controll systems and I see feedback loops everywhere in all kinds of contexts. Yet spotting this one was very hard.
For me it's the stubbornness/trying to diagnose my hardware approach of:
well I'm either having a heart attack or this is just anxiety - so I can force the condition by doing this bike sprint and that will give me valuable information.
Had a bout with anxiety in the past, and an elevated heart rate from exercise would sometimes trigger it later.
I get a pool of cold water in my hands, lean over the sink, and kind of face-plant in the pool.
(A quick cold shower works even better, but is more involved.)
YMMV, HTH!
I'm thinking you'll reach the end of this dark tunnel here soon - but with a bit of work! The posters here have been thoughtful and there's a lot of good stuff to consider - I may be able to touch on this from another angle.
If you have the funds, I would strongly encourage you to see either a psychologist or psychiatrist. I have suffered with clinical anxiety and regular panic attacks for over a decade. Unfortunately, I was diagnosed with Bipolar 1 and Psychosis about 2 years ago, which are very rough and sometimes "team up" to make my existing anxiety/attacks worse.
Even though this "teaming up" effect has been given me more anxiety than I can handle... trying out a 1 or many medications, reading books on coping skills/etc, and putting in the effort to test out said coping skills are great for many people.
If you don't want to go this route, I would at least spend some time looking into and testing out various coping skills. You can use them as soon as things are headed in the wrong direction. This approach will also help if you have non-clinical anxiety as well.
note: not a doctor... just a "patient" and can relate :) - I think you got this!
Been there, done that! I have about 10 "core" mechanism that have stuck, but some stop being effective because I needed to change them up to make it more suitable to address my suffering.
The psychwards I went to before my Dx/meds taught (DBT) (Dialectical Behavior Therapy) it's more about coping and life skills to execute on. You can also find therapists that practice with this modality. In a nutshell, DBT is all about "mindfulness" and "skills" (basically more involved coping mechanisms). It's more "actionable" than regular CBT in my opinion - but I'm biased.
You can skip the DBT therapy and look up all of the skills and practices on your own too. It's good to have a professional as a therapeutic guide and hold you accountable, however. I won't go too far into that, but you have to track "bad habits" (PG-13) and if you followed through with what you set out to accomplish for you illness.
Also, if you're in the US, you can freely/anonymously join the local DBSA (Depression and Bipolar Support) meeting. The name is misleading though - it's basically for any mental or "advanced" mental illness. My sample size is 1, but their were folks in the meetings that had debilitating anxiety / anxiety disorders soo..
There are a few extensions like this out there already but I didn't like how they worked. With my extension you can quickly see how many children a comment has, easily show/hide them, collapse an entire thread from anywhere in the tree, and toggle whether or not HN remembers that you collapsed a thread.
It's available on Chrome and Firefox:
https://chrome.google.com/webstore/detail/hackollapse/cfinlo...
Today is officially harvest time: https://www.instagram.com/p/CBtMfWKDEoy/. This is my second attempt on building a layered hydroponic. I built an Arduino-based system to automate most of the routine tasks. The only thing I need to take care of is to make sure that there’s enough water/nutrient in the lower tank once a month.
I used firebase cloud messaging to send a notification, and made a tiny app using flutter that just handles the notifications.
Reddit seems to be updating their old posts to rank higher on search engines, so if you search by time frame on Google, it shows a date that is way more recent than when the post was created. I decided to create this extension so that I could see the correct data about Reddit posts to save me unnecessary clicks into old/empty threads.
https://chrome.google.com/webstore/detail/reddit-search-help...
Do you have any plans on putting it up as a Firefox extension as well?
One thing which has been rather fun and successful, is speeding up uutils' implementation of integer factorisation: https://github.com/uutils/coreutils/pulls?q=is%3Apr+author%3... (uutils is a Rust reimplementation of the GNU coreutils and findutils)
I'm not yet satisfied with the performance, and I still have quite a few ideas how to improve it, but it's still more than 44 times faster than it was when I started (measured on factoring everything between 2 and 10⁷; it's a lot more on larger / more-interesting sizes)
Luckily for me the iOS 13.5 mega jailbreak came along with some great timing and mainstream coverage. In the last 30 days (roughly since the jb release) I've made $13k. Not too shabby.
I spent a tremendous amount of time researching and interviewing. It's bizarre how rare practical information is for dealing with ADHD despite the extensive research.
First i created a corona statistic site (in german mostly) that displays the historic data from middle march till now(). It may not be super fancy still it has hourly record of all data i get. http://corona.scriptjungle.de
Than i created a cli tool that is rather simple but usefull (in my pov) "gss" => https://github.com/voodooEntity/gss Short for "go static server". This tool allows you to list directories/contents recursive via http on a defined port.
Rn starting with 2 other projects. - A web ui/devtool for my selfdeveloped DB server(slingshot). - A javascript based 2d game engine (may switch to cpp)
It's built on top of the Pandoc, Graphviz, and MathJax
Thinking to redo our floors next. We pulled out our carpet on the main floor two years ago and painted the subfloor as a temporary solution. Current plan is to buy 1x8 pine boards and go for a sort of rustic wood floor look.
Imgur lets you upload many photos as an album, with comments for each photo if you want. Aside from that I've used WordPress to quickly put up some content. The hosting at WordPress.com has a free tier, I think it puts ads on the site though. After the set up flow you can just create a post with text, images, files. neocities.org is also good if you want to make a more polished site.
The problem I ran into was that I underbought decking boards and now the local Home Depot has been out for the past few weeks. I want to get the same boards so they match so I'm hesitant to shop elsewhere right now. Talked to some folks and it's apparently not any major supply shortage, but rather everyone and their brother having the same idea.
As someone on the Home Depot subreddit put it: "honey, I'll do it when I have time." "Ok, well...now ya got time!"
I work on a few other Esperanto projects in my spare time. If anyone's curious: https://martinrue.com/projects/
https://www.hackster.io/dasdata/corofence-thermal-detector-f...
Then after several hackatons on the subject designed a end-to-end medical remote condition monitoring called MultiSenseCrown with some ai on the edge. https://www.hackster.io/dasdata/multisensecrown-e0daf9
Good thing that I will get soon a NVIDIA Jetson board, more fun for the next Pandemic session
[1] http://sniper.tasuki/ - only works with a Handshake-aware DNS resolver [4]
[4] https://www.namebase.io/blog/how-to-access-handshake-domains...
https://sklum.github.io/2020/06/14/sleep-hygiene-for-softwar...
Game Story: Little Jinping must pass through cities intercepting messages with no human contact. To prevent detection Jin can collect various artefacts to avoid contact. During the mad dash to his house, Jin must intercept as many messages as possible in order to unlock other cities in his quest for world domination.
https://apps.apple.com/app/id1510483891
https://play.google.com/store/apps/details?id=com.eronka.jin...
I started the project in January, so I guess this counts?
Here's a video showing what it looks like:
https://peertube.mastodon.host/videos/watch/4a19ca9e-7ca6-41...
Saying I'm greatfull to the medical staff and the people who stayed home so that the hospital was not flooded and could actually deal with me is an understatement. Also, let's not forget everyone working on the new drugs for MS over the past few decades which is the reason they can even help me today.
So can't wait to get back to coding, but I have to wait for my eye to stabilisea a bit more first.
Of note: the site and its twitter feed (https://twitter.com/remotivocom) are generated by 2 python scripts which run on a Raspberry Pi under my desk. The 'database' is a Google Sheet and the 'host' is an S3 bucket, both of which are read from and updated every few hours by the Pi.
At the moment scraping is very basic but I’d like to automate that more. Part of the appeal at the moment (I think) is that I check the jobs to ensure they’re not scams, are actually remote, etc.
https://github.com/JamesDunne/alttp-multiplayer/blob/master/...
There are loads of businesses in this same boat; I think there's a big opportunity and sense of fulfillment in helping them keep their lights on.
The idea was to pick the best features of Gradle (parallelization, incremental build, dependencies between tasks, clean, watch...) without being tied to the JVM. It is built in Rust with the goal to be an order of magnitude faster than Gradle.
The core features are already functional, and I'm now porting the engine from a thread-based model to an event loop (using Actix).
I am looking for feedback about the project description, documentation, and ergonomy. Feel free to add Github issues or comment existing ones.
It doesn't need a streaming server, but clients upload encrypted blocks of video directly to cloud storage instead. So that should make it scale rather easily.
Unfortunately, concerns from students (some of which valid) about the privacy implication of such systems, and a lot of negative press about this, killed the momentum. So it hasn't been used for actual exams (yet).
Feel free to poke around: https://toetshub.nl/
More recently I've been working on a visual React prototyping tool, which has led to a few smaller libraries. The most recent of which is recoil-undo, which is an addon that adds undo support for the Recoil state management library. https://github.com/SawyerHood/recoil-undo
A little bit of by-musicians-for-musicians crossed with more general podcast content.
By episode 4 I think we started to hit our stride, as we move towards a more creative-editing system than an unedited live stream format.
We have 3 more coming soon.
https://m.youtube.com/watch?v=GxIDY9XvvaA
I’ve been learning a lot about working on dealing with speaking naturally and clearly, asking the right questions, etc. Its been eye opening.
Sadly my client gave me a lot of work last week, little time to work on this side project.
It took me a while to get it working as there is a bug with Xilinx Vivado when synthesising my VHDL, where the synthesizer crashes, unless I use a work around which I was told about recently.
I understand you can use MCUs to drive these lighting strips, but was a good excuse to learn more VHDL.
I need to work on an SPI driver now for the FPGA, as I plan to shovel pixel data to it, from a Pi via SPI.
[0]: https://twitter.com/Ethan_Heilman/status/1274763015129313280
[1] https://book.famicom.party/
[0]: https://github.com/Bearcatter/bearcatter [1]: https://uniden.com/products/sds100-true-i-q-x2122-digital-ha...
The new one is built with Django. It’s been a delight doing web work again.
I like to think that this (well, deduplicating version conrol in general, not my crufty project) will be the future of version control and we'll leave the ugliness of git-lfs behind us. For now at least it's a fun project.
Edit: There is an existing project called Boar that does the same thing, though it appears to have been abandoned and is stuck in Python 2
Here’s a sneak peak: https://youtu.be/b5XN5GMmc6I
To be honest and upfront, this won’t be a freeware. I’m planning to charge a reasonable one time fee that’ll help pay rent. :)
A lot of guides on the Internets concerning HTTP status codes are regurgitations or outright ripoffs of RFCs (2616 or 7231). Or light on details.
I want(ed) to go one step further and explain when each code is appropriate (from the website operator's perspective), how to work around some of the errors (mostly for 4xx and 5xx), and some context around HTTP headers/methods.
I also wrote a blog post on how to install it: https://medium.com/@zedr/how-to-send-mail-on-namecheap-share...
https://github.com/nsr-py/Teleporter
I know this a basic project but I also finally started learning web development in this lockdown and target to come back here to talk about a better project than this. Till then, Peace.
I got frustrated with the existing options for running automated QA tests (they are all super expensive) and decided to build my own for a fraction of the cost. It was super interesting as I am not really a developer so it taught me a lot about various programming languages (the frontend is written in Node and the backend is in Go), and so much about infrastructure. It was super rewarding as this is the first side-project that I didn't stop half way through :D
The goal is to enable everyone to have their own high-quality, accessible, and shareable chat page on the internet, with features we expect in enterprise chat apps like slack, but geared towards general discussion.
As an example I just created a post with this HN url and we can all talk in live right now, discussing this thread, by joining at the link:
I’m aiming for it to be the “ios” of chat on the web.
Here is the Youtube channel: https://www.youtube.com/channel/UCHkgOonAQd5haT8HHJhpg6g/
So far I've talked about:
- Challenges in Hiring Programmers
- The Disproportionate Joy of Getting Paid Users
- Thinking about Competitors
It automatically generates checksums in various formats. It keeps an audit trail of who uploads/downloads what. Enforces a couple of company specific rules. Scheduled expiration of uploads. Nothing too fancy, but it's been a fun distraction.
I'll be trying to open source it once I take out all the company specific stuff.
A lot of our customers came to us to help them address a growing problem they had coordinating operator assisted conference calls (we offer high touch 24x7 support, that industry does not). We had already put a lot of time into designing a solution but COVID cleared our plate to focus entirely on it. We are ready to go and aim to launch our pilot imminently.
We’ll see how things go. Still amazes me how easy it is start a business (In our case a completely new business line) in America.
Here is the link: https://whats-spinning.life Here are the most recent issues if you want to check it out: https://whats-spinning.life/recent/
Ask HN: What's your quarantine side project?
Still quite a work-in-progress.. but currently designing a stateful React library so that you can drop sign-in, sign-up, forgot-password, session-management, etc. into your app with ~10 lines of code. Plus it comes with a nice admin dashboard for user-management built in!
https://honestyisbest.com/today-in-indian-history/
I also launched a podcast about Computer Science research called Segfault.
Quickly I reaized the existing solutions are limited. So I started developing my own Email Platform, which is in early stage currently and can only send dynamic mails for now but I plan to grow it into a single blogging cum newsletter platform going forward. The project isn't online yet but my newsletter is: https://linktr.ee/Knowledgeday
I wanted to play with my friends the way we used to in real life. It ended up being a very interesting and rewarding project.
Here is a blog post about developing the game: https://pwmarcz.pl/blog/autotable/
I launched a Twitch stream: https://www.twitch.tv/travis_the_maker
I also refactored/updated my engineering and photography portfolios.
During the lockdown, I created a simple English syntax to control the animation and ability to export in Gif and WebM format.
Here is one with Michael Sielbel of YC https://toonclip.com/player?key1=802d8d51ec
Also a pi4 running a MineTest and Mumble server. Basically tought me the ins and outs of adminning a linux box.
My adventures in computing are on my blog: https://www.pxtl.ca - haven't blogged my retrogaming stuff yet, but have blogged the server stuff.
Also made my first CV in 20 years because I need a second job to pay back all the money I'm losing - I previously made my living mainly from entertainment at large events...
XgeneCloud instantly generates REST/GraphQL APIs on any SQL Database. The APIs scaffolded is a secure node.js backend application. XgeneCloud currently supports generating REST/GraphQL APIs over MySQL, PostgreSQL, SQL Server, SQLite, MariaDB and Aurora.
Please do check us out - we've been getting amazing feedback.
Mostly have yoga instructors on the platform currently and am thinking about other product enhancements geared towards online instructors and classes.
Check it out here: http://classup.io/
Some teachers like Zoom to facilitate Q&A, chat etc., but there might be enough that simply want the all-in solution to make the jump.
Thanks again!
https://git.sr.ht/~sforman/Yengapult Knock down a tower with a catapult.
https://git.sr.ht/~sforman/SpaceGame Fly a spaceship around an asteroid belt.
Godot engine is lots of fun (and so much easier than e.g. Unity.)
I'm more of a backend/data engineer so this was my first attempt at front end dev with react native. Was pretty fun to build and see whole app come together to an MVP, but I don't know whether I'll launch it for real. Shipping costs from lender to borrower and back drive the price too high to make it feasible I think.
Lesson here is fully assess costs and price points before you start to build!
Close enough to the fastest to not matter.
https://github.com/qwickly-org/Qwickly
https://blog.keithkim.org/opensource/making-the-qwickest-key...
And started designing and implementing my own pure-functional, JavaScript-targeted language with features like built-in partial-application of arguments, and every function being able to be called in a prefix, infix, or pipeline style
It's an educational application to teach the basics of coding syntax to beginners. I'm not quite finished with all the parsed explanations, but I try to get a little bit done every day.
Hopefully in the future I can add more languages and explain 'sentences' instead of just 'words'.
I made a website for friends and family to play poker online. https://playcards.live. No cards or chips required. Works on any devices.
I parsed en.wikipedia using AI and extracted events, time and location: https://whataday.info. Given an event, it shows you what was happening closeby, in spacetime.
You sign up with your phone number, add some details about your car and purchase a membership. We send you a high quality windshield decal that people can scan to contact you if you need to move your car, or if your car has been broken into, etc.
https://github.com/bogdan-largeanu/zing
I kinda have become a bit discouraged now since most of my colleagues are not into GO so it is hard to find people to learn and talk about it.
https://www.3am.engineering/2020/05/metalens-for-hacker-news...
Got into woodworking, it really helps with anxiety. Built some outdoor/patio furniture, got a few more tools and started doing some more advanced indoor stuff.
I'm creating a coding language for UI designers. It's kind of like pseudo code in that it's not tied to any one implementation (platform). The basic idea is that designers will have a platform-agnostic language to describe the visual behavior of applications using the same terminology and mental models that they're familiar with.
I'm in the process of releasing the first publications to discuss the fundraising process as well as how to find, contact and handle oneself with such organizations.
Feel free to get updates upon release here: https://familycapital.ck.page/1838069523
- Created a dashboard for people who lost their jobs due to COVID -> https://app.remoteleaf.com/covid
- Working on an initiative to help Black tech people to land jobs.
ShowHN briefly made it to top #8 on front page.
It’s all powered by an ESP32 on a custom PCB that I designed and built with a web based UI that is hosted on the device.
It's super cool and I recommend it to everyone. I feel like I'm treasure hunting every time I go for a walk now :)
I got a bunch of great feedback from another HN thread, so I'll leave my new lockdown company here as well (I also submitted it on your site) - https://coopersdogtreats.com/, where we make healthy, meat-based frozen dog treat mix.
It started as a simple e2ee todo list and kind of spiraled from there, now I've incorporated, am planning Gantt charts, thinking of quitting my job...
Add a repository and select the branch you want to read from and it will grab the markdown files, store them and provide a table of contents and reader view.
Still in heavy beta, and currently supports github and azure devops repos.
An online version of the dominoes-based game, Mexican Train. It's a big hit with retirees (and our family). We're up to 100 games/day and daily I get emails from older people in quarantine thanking me for it. It's been really rewarding.
https://github.com/smudge/nightlight
Now I'm working on cross-system compatibility with equivalent features on Windows and Linux.
Made a pond.
Made a Japanese-style bridge for the pond.
Made a water wheel for the pond.
Made a garden gate.
Marked up my CV (resume) and weirdly that led to a new job.
https://play.google.com/store/apps/details?id=com.LuckyLoser...
I made a portable shell program for making short text posts from vim.
The code's not perfect, but it does what I want from such a thing, and I'm enjoying using it and seeing others use it too!
The project is fully FOSS and licensed with GPLv3 ( inherited from the original author ).
Feel free to checkout it here: [redacted]
Add layluh.com before any YouTube, Vimeo, or Twitch URL (layluh.com/URL).
Here's a vid: https://www.layluh.com/watch?v=izxXGuVL21o
[1] https://emvi.com/blog/product-update-june-2020-0DdK57ngZ2
The nice side effect is that developing a fitness game is a fitness exercise in and of itself, and a lot cheaper than the monthly $20 Supernatural plan
I had lots of un-used domains and wanted to make use of them without having to maintain them. So I decided to make a tool that turns un-used domains into a content-aggregator like Reddit, except, it runs itself. :)
Can't imagine there are too many civil engineers here specializing in water modelling, it's a pretty niche field!
HopUpon is a Cheap Multi-City Flight Generator that allows you to explore new cities as you "hop" along to your destination. Our algorithm creates itineraries that are often cheaper than a direct flight.
So I built one myself, meet Wakingg; https://wakingg.com
I tested it with a few different communities and realized people aren't interested. It was a good experiment.
Let me know what you think!
I always felt it was missing and I also wanted to learn a bit again about frontend/backend dev.
It has a clean UI just like Medium and in fact we opened up all our Medium content for free on this blog.
I wrote 1/3 of a novel called "Distanced" - you can read it at https://1drv.ms/w/s!AhRJSX2EIeTqmohIQPPIaNr6TXMnnw?e=rwfXfE.
We kicked off a blog during lockdown to share what we've learned over the years. Hope you enjoy it!
Basically for generating affiliate URLs and redirecting to the relevant store based on IP Geo location. It's very basic and has only a CLI interface for now but was a good learning with some terraform, ansible, and PHP.
The code is more-or-less functioning at the moment, now I'm finding ways to index more images faster to increase its coverage.
https://jackmcgeary.com/how-an-mlb-season-affects-sleep-part...
Check it out! http://www.sharedmic.com/
It’s simply Wikipedia’s current events each day, emailed to your inbox. I prefer email more than RSS, but also it was nice to do a small, discrete project
Send picture, with GPS enabled, to (+1) 408-471-5200.
I just made a starlink coverage map: https://droid.cafe/starlink
I started working at a job.
I've made quite a bit of progress on a game, but it's on pause for now.
Any feedback is welcome :)
It's not updated at all. This site could be MUCH better but a great idea overalll
A sort of live reddit-like app with RSS syncing support. In its very early stages (I don't even have a name yet)
It's free for now.
But work picked up sooner than expected.
Its fine for personal use atm but missing lots of features
Its a lot of fun going through the whole process. She is learning practical skills that may be useful in this day and age.
Would have been nice to have a boring lockdown. Maybe during round 2.
This gave me a big opportunity to improve my bioinformatic skills.
Holopod.com
Still not certain where it's going, but it has but fun getting this far with it
Has a decent little following right now.
Feedback welcome!
It's fairly complicated because Tyre's are made of rubber, so you either use finite element analysis which is slow, or some kind of (FD) approximation which can be fairly crap. Modelling the transient properties properly is doable, modelling the thermal properties efficiently is genuine "If we told you we'd have to kill you" black magic
Receiptrunner.com
You wouldn’t believe how much material there’s in internet about that :)
https://bingotronic.io/~abewinter2
WIP, signup here https://bingotronic.io/auth/join
no ddos pls
Https://mailapicture.com
Made it with laravel hosted on aws lightsail.
I made that!
Also, experimented with 3d printing visors and changing the designs.
I am so close to it being blog-ready though!
A little data-driven magazine for skateboarding.
Superfluous? Yes. Fun? Also yes
t.me/wordsbyroots to help them improve their vocab
preetamnath.com/blog
Anyways I built a quick bot to connect Calendly to Slack[1] as people in my sales team where requesting "native" integration (plus we didn't want to pay for multi-user access on Zapier)
Unfortunately it works only with Calendly Pro and Premium accounts, but looking into workarounds for free users (leveraging gCal)