Inspired by similar Hacker News thread. What have you guys worked on this year? 🎄
At $work, I did lots of stuff too. A big part of this year was spent adding access control to our system. I’m also working on a collaborative graph editing system (think Google Docs but for knowledge graphs) which has a ton of interesting problems in it.
Oooh, I’d love to hear more about this data retrieval library. What formats do you intend to support? Been looking for something more lightweight then lucenne.
Hmmm. I don’t know what you mean by that. It has its own format, just like Lucene has its own format. It isn’t going to support Lucene’s format is that’s what you mean.
The idea it’s to provide a library for creating and querying a single IR index. In Lucene terms, this is at the level of a single segment. It uses fsts for the term index, uses skip lists for the postings and all that. It is mostly just a prototype at this point. I’m struggling with what the API should look like. For example, you invariably need to talk about multiple segments for merging, even though I was trying to avoid that (merging needs knowledge of the format on disk to be fast). This in turn means making assumptions about identifiers. So it is a bit of a knot at the moment.
What I meant was something more lightweight resource wise then running a jvm.
I ended up writing a ClojureScript micro-framework for Node called Macchiato. I primarily work with Clojure, and I found a few cases where the JVM is not the best fit. The two main limitations being relatively high memory requirements and startup time. This makes the JVM a poor fit for things like AWS Lambda. I had a use case for making some lightweight services at work, and wanted to learn a bit about the Node ecosystem, so this was the result.
Very excited about new developments like shadow-cljs and macchiato in the clojurescript world! thanks Yogthos :)
Thanks, 2018 should be a pretty exciting year for ClojureScript. :)
I did not write a single line of code for money all year. It was a good year.
What did you do instead? Management, consulting, bartending?
Got WinWorld, a site for vintage computer software preservation, back online after some drama caused bus factor to drop to 0, and had to rewrite the codebase, this time making it free software, so this shouldn’t happen again.
Wrote a music player because everything else sucked, let’s NIH it. Turns out a friend or two liked it too!
Helped my friend with his IRCd.
My seemingly vain efforts to get Mono working on Haiku, everyone’s favourite BeOS clone. Every time something gets done and we get closer, but never get finished.
Work, moving to a new house, my older son starting kindergarten, my younger son starting preschool, and various classes meant I didn’t have as much time to work on personal projects this year as I would’ve liked to.
At work I completely rewrote the packet capture layer of our product; about 5000 lines of C got us capturing 20Gbps with no packet loss on commodity (though beefy) hardware, and another layer on top of that got stream reassembly and file extraction for all HTTP, HTTP/2, and SMTP streams with less than a minute lag. That was fun.
The only personal project that really got any traction this past year was mtm, a terminal multiplexer in ~1000 lines of C.
I’ve worked on a variety of improvements to Pony. The improvements have ranged from documentation, to CI process, to adding generalized runtime backpressure to Pony’s actor scheduling. That’s my “for fun” work that I do mostly on weekends.
My day job is working on Wallaroo. A stream processing engine (with Python and Go language bindings) that’s written in Pony. This year, we open sourced (under an open core model) Wallaroo.
It’s been a wild and crazy year.
It’s good you open-sourced it since that might benefit Pony developers still trying to learn how to use the language for real-world apps. Tutorials and examples only go so far.
[Comment removed by author]
They were in fact classification problems.
You can rent GPUs from EC2 for minimal upfront capital. It does get expensive pretty quickly, though.
I also commented in the HN thread but here will be a little more personal. The main thing I worked on in 2017 was taking xi editor from being promising to almost something you’d want to use for your daily work. I also took 3 months off to do a batch at Recurse Center, which was great fun (crossword authoring, loading data through the Apple 2 cassette port, and logic). I somehow managed to interleave that with working on the Rust infrastructure for Fuchsia, which might well be the work with the most lasting impact.
For 2018, I’m planning to focus more on xi (I realize that too much multitasking is one of my weaknesses), and think there’s a good chance we (the community and I) can make it something really good and really usable.
My newborn daughter took most of my time as I took my parental leave from June.
I continued rework of structures of my graphical mouse driven text editor werf under a separate project that was supposed to compare performance of different text editor structures on real life editing patterns, taken from the most edited file in Linux kernel git repository - text-vs. I finished the text editing routines, but did not yet integrate it back. It’s C, Xlib, cairo and fontconfig.
I started more projects or experiments:
Some kind of a game with learning of modern OpenGL in mind. Nothing to see here. C, SDL 2, OpenGL 3.3.
2d path tracer - single square hard coded light source and that’s it. Maybe calling it a path tracer is too much of a stretch, but it’s a thing that I wanted to explore for years. C and SDL 1.2. Nothing to see here either.
Tomatoaster a ChromeOS-architecture like Linux distribution. I’m mainly interested in replicating atomic updates using two read only rootfs partitions. I’m using Void Linux packages and build system to make a rootfs image. Along the development I did a few pull requests to the Void Linux project which was a first for me. My script can build an image that is runnable under qemu on modern kernels without root privileges. It’s not a particularly interesting image, but it’s able to just run Firefox in bare X session. Next I want to do a proper image with boot loader.
Dumbenchmark - a benchmark that I wanted to use to check the performance of several VPS providers. Measuring compile time of certain Linux kernel. Also indexing of sources and full text search through built index with SQLite FTS5. The last part was kind of exploratory for my search engine project that will index only pages without ads. Shell and C.
I also did exploration in the web dev sphere. I did those on my Chromebook so I did not manage to push them to any repositories yet. One is a continuous calendar with free form editing. The other is a toy that uses web workers to do a poor man’s version of Unix pipes - it did not work on Firefox, because of some inexplicable reason.
I should probably stick with one and finish it. Maybe getting some kind of help would be useful. Will see how it goes in the new year.
A twitter bot that brings me small amounts of joy in semi-regular intervals: @NYT_first_said
It’s nice having code running that you can interact with every day, lends itself to lots of tiny improvements.
I also made a lot of visual code sketches, and honed my tooling and process for iterating and version controlling them! I hope to expand on these tools and make them useful for outside consumption this year.
https://maxbittker.com/ Built a site, went very slightly overboard, and listed some art and blog posts on it!
Working on an open source product (Sentry) was also really fun! Looking forward to 2018 there.
My SO’s car (as well as her mother’s, her brother’s, her other brother’s, and my coworkers’). It has been an unending source of headaches and busted knuckles. I will be continuing this labour well into he forseeable future. It is a labour that I primarily carry out in anger.
I learned a lot about small engine repair, but only one thing about myself: I will never own an automobile newer than the one I currently own.
I also finally moved from Canada to the U.S., which has been a goal of mine since 2014.
Welcome to America! I hope you’re enjoying what might be your first New Years here. :)
Thanks! I actually fell asleep at 8pm and the San Francisco fireworks scared me awake at midnight.
You’ll get used to it haha
The Art of Procrastination
The Phoenix Project
Purchased the Humble Bundle “Be a Coder” pack,
which I’m going to try to read through and possibly write about during 2018
I wrote a book about working with time and temporal data in PostgreSQL.
Firefox for iOS.
Work on a bunch of side projects, sad to say none of them amount to anything at the moment. New year’s resolution is to change that and actually release a project or two this year.
Got my reading game on, buying a bunch of books in the last quarter of the year and reading a couple. Deep Work, half of Clean Code (almost to the bit where they rewrite stuff “correctly”), The Leprechauns of Software Engineering, and now reading Getting Things Done.
Moved to Switzerland from Amsterdam, after previous year having moved to Amsterdam from Mexico. Plan to stay here a while.
Published a library that transparently handles standard directories for applications (config dir, cache dir, etc.) across Linux, Windows and macOS. Implemented the library in Java and Rust.
Wrote some articles on language design, and lessons learned from mistakes.