11
votes
What programming/technical projects have you been working on?
This is a recurring post to discuss programming or other technical projects that we've been working on. Tell us about one of your recent projects, either at work or personal projects. What's interesting about it? Are you having trouble with anything?
I have been working on a mobile app called Percent Done, which combines habit tracking and time tracking. You can:
It's taking much longer than I hoped, mainly because I moved to a new country recently, and settling took time. It is almost finished though, I'm hoping to release it soon.
It is open-source, and written in React Native. You can check out the repo here: https://github.com/evrimfeyyaz/percent-done.
Sounds interesting. How are you planning on releasing it?
I’ll release it on both App Store and Play Store. I really love how easy React Native made it to develop cross-platform mobile apps.
A few months back some co-workers and I were joking about how simple the lyrics to modern country songs are. I had the idea to see if a computer can generate convincingly real country song lyrics. I started off by just playing with a Markov generator.
I picked the project up again this week. Now I'm using GPT-2. I just got done with about 20 hours of model training on an 8 core 32gb AWS server. It's been a fun little side project.
At work I'm finalizing some of our build pipelines. We're using bitbucket and use bitbucket pipelines for building and deploying to AWS. It's a decent setup; easy to get into, easy to configure, relatively fast, relatively inexpensive. We're also finalizing our server setup, and I've got almost all of our infrastructure as code, which is nice. That's what I'm working on this week, along with all the code review. So much code review. I went on vacation the week before last and things just keep piling up.
I've also been playing with Go and Lambdas. Go isn't one of those programming languages that fills you with joy, but it does get stuff done, and it's fast.
I'm still fiddling around with the ISA for my 16-bit virtual machine. I think I've got the design mostly nailed down now.
Still Intergrid. Solved the hotkey problem via trial, error, a lot of observation against other libraries. It's not finished, but 80% done does what I need it to do while it's still in development.
Starting to enjoy the code I'm writing again. The first iteration of the codebase grew into a monstrosity due to lack of planning and insight into what it means to write good code. Now it's clever (a bit too clever at times, but I'm too full of myself to change it right now) and, dare I say, mildly professional-looking.
Some of the aspects still need tweaking – having to add a
data-
attribute through applying an empty string to it in what is otherwise a neat piece of code feels asinine – but overall, I like how the codebase looks, and I enjoy filling it.Also: it is a surprising weight off your shoulders when you no longer fear the comments. I used to worry far too much about the fact that I have so many grey comments in the code. Grey comments, in my head, symbolize foul code: not because of the "commenting the code" part, but because of the stuff I had to comment out because it was wrong or out of place.
Since then, I had a theme where comments are mild-red (which is beautiful, as far as I'm concerned), and an extension that colors comments based on their prefix.
// TODO
gets orange// !
gets intense red// *
gets lively calm green// ?
gets blueThis reminds me of the idea Joel expressed in Making Wrong Code Look Wrong. It's easy to find things that need doing without the extra work of searching for the specific string. These small things – like having the notes obvious vs. having to search for them manually – make all the different in any craft.
I’m creating an open source autonomous off road robot. It’s almost entirely 3D printed and uses large format 3D printing and has almost entirely 3D printed dual stage planetary gearboxes in each wheel. It’s got four powerful brushless motors, big grippy tires and lots of suspension travel. It uses a raspberry pi for basic remote control operation, and I’ve got an NVIDIA Jetson Xavier for autonomy compute. I’ve just gotten in four 4k cameras with hardware synchronized shutters and the goal is to do full 3D perception using only cameras. I’ve basically built this whole thing so that I can learn machine learning on an actual real problem. I’m learning to use Unity for some reinforcement learning training, and will eventually try to get some sim to real tasks working among other things.
Here’s a recent YouTube video just before I decided to order the four camera array.
https://youtu.be/BSRa2zZ6CtQ
It’s all CC0 open source or BSD licensed code. I really hope I can make something others find useful. Here’s a bonus photo album of the old and new gearbox designs.
https://imgur.com/gallery/GqXD2Zj
Follow me on YouTube if you want to get updates! <3
A proof-of-concept system for integrating source-code linters into the Bazel build system. https://github.com/thundergolfer/bazel-linting-system
My company uses Bazel extensively and lately I've been investing a lot of my time learning it so that I can make our build and deploy processes better.
Been working on a tool that allows end users of a pubnix to perform basic system admin tasks on their own, without my (Or the team's) intervention, in a secure manner.
i have been working on an crate importer for guix. It recursively looks up a package from crate.io and create a guix package for it and it's dependencies.