1. 19

This is the weekly thread to discuss what you have done recently and are working on this week.

Please be descriptive and don’t hesitate to champion your accomplishments or ask for help, advice or other guidance.


  2. 11

    Some stuff I’m doing for Amethyst Game Engine

    • Help finish refactoring Transforms to be parameterized over concrete number types
    • Improve documentation infra to support more simple navigation across api & book documentation per version
    • Toying with my own collision detection system, reading Christer Ericson’s “Real-Time Collision Detection” as a reference
    1. 3

      I’m curious how did you go about finding your sponsors for this project? I wouldn’t think of DO or Netlify be interested in a Rust game engine :)

      1. 3

        There’s a few methods we use:

        1. Just e-mail a company and ask. They often have some sort of “we’ll give you some free resources if you give us advertising” option. You’d be surprised what you can get from just asking.

        2. Look for companies with a non-profit (we are a 501(c)(3)) or Open Source program. Companies that have those generally aren’t concerned with what it is, just that it is a non-profit and/or OSS.

        3. Look for companies that are built on OSS. Sentry.io is one such example. They like to give back to the OSS community.

    2. 7

      Working through the Zig tutorial. I love that this language makes it a point to prioritize programmer productivity.

      If anyone has any additional resources on Zig, I’d love to know more!

      1. 5

        I’m going to try some writing: yesterday afternoon I managed to rewrite the entire interpreter for my toy language in about 150 lines of Scheme, so I think I’ll try to turn it into some kind of walkthrough article as an exercise.

        The current interpreter is around 5K-8K lines of Rust written over several months, not counting the half-decade of previous failed attempts. Ah well.

        1. 3

          not counting the half-decade of previous failed attempts – I can’t tell tell you how comforting this is as I try to squeeze writing a language into my lunch breaks, and it feels like it’s been going on for a long, long time.

        2. 3
          1. Trying to statically build the musl-based variant of my haproxy Docker image.

          2. Writing a post about popular misconceptions about containers for my blog.

          3. Waiting for a response on my application for a paid summer internship position at the Barcelona Supercomputing Center.

          1. 3

            As for Rust things, I’m going to continue with fixing various Clippy bugs to make code suggestions more reliable. There are some rough plans to make cargo fix work together with Clippy so that it can auto-fix all auto-fixable lints. The first step of that is to make the Clippy suggestions more precise.

            Apart from that I’m also improving my Italian skills using LingQ and then by trying to read my first Italian book ‘In altre parole’ (amazon link).

            1. 3
              1. 3

                Kicking the tires and finding bugs in https://ucg.marzhillstudios.com by fleshing out the built-in std library.

                I’m still not completely happy with the error messages. The syntax feels pretty stable now though.

                1. 1

                  Looks neat! In a related space, I just ran across google’s cue, any thoughts on it?

                  1. 1

                    I haven’t looked at it yet. Looks like somewhat similar goals but very different implementation.

                2. 3

                  Whiny rant: Disappointed at work. Starting a new job in June. I resigned about two months ago, but I have a three months notice period. I was hoping to be able to get some more time off to work on side projects, since I am aching for a longer period off for years now. Two years ago my master thesis absorbed both the summer break before it and after it, and I started working immediately after that. I asked for some extra time off, but apparently the one week that is planned for handover has to be the last one before I can use my annual leave of 1 week.

                  1. 3

                    Studying for a final for a Modeling course I’m taking through Georgia Tech’s online degree program.

                    Looking forward to next week when I’ve wrapped up.

                    1. 2

                      This week we open a beta for schools of our videogame to learn programming. It’s been a long journey and we still have a long way ahead but this week will be crucial.

                      I will be finishing some testing and setting up some metrics trackers for our servers and apps so we know if everything is going fine.


                      In the future we will open it for competitive AI programming too, in case any of you want to try :D

                      1. 2

                        Learning SIP like the back of my hand, which incidentally, I don’t actually know all that well… And, rewriting done Python stuff in Nim.

                        1. 2

                          Well after the efforts of last week (https://lobste.rs/s/z7lfsc/what_are_you_working_on_this_week#c_vyzqnr) and some last-minute gopher-work (more fucking TLS tunnels using stunnel, because who knew user land TLS handling in Redis libraries would be buggy) the Qless queue system is now in place for our production environment.

                          So this week will consist of a few followup tweaks to configuration, and then some combination of working on other (currently cron based) parts of the application to make them queue based, and/or working on the 3rd party integration that finally prompted the implementation of a proper queue.

                          Besides the above for $CLIENT I’d also like to finish off the next release of my company’s Shell Script Library, so I can update our other tools to make use of the new utility to download and install tools (i.e. a standardised/configurable helper to do curl ... && tar -x... && configure && make && sudo make install but with error handling, existence (i.e. is it installed already) and version handling) rather than having a bunch of repeated shell scripts for handling dependencies.

                          1. 2

                            An article for beginners about the jungle that is the project tooling in python.

                            1. 2

                              On my main job, I’ve been doing everything from cutting up PSDs, laying out windows and buttons, coding animations, logic and analytics for a new feature in our game’s April’s update. It’s a basic monetisation feature that we’ve seen in similar free2play games which, hopefully, will increase our ARPPU enough before the big marketing push our publisher is getting ready for in June. Owning a thing like that, which can mean a lot for a whole company really feels good.

                              In my free time, finally got around to learn Haskell. Going through the amazing cis194 and can’t wait to code up a small Telegram bot right afterwards, so I can finally find out if all this shiny things I enjoy in homework excersises really translate to “real world” stuff.

                              1. 2

                                last week: https://lobste.rs/s/z7lfsc/what_are_you_working_on_this_week#c_otkqbb

                                got that admin stuff working, now onto adding any kind of source (any custom scrapper mainly), adding email as accounts, and sending to email, maybe add some kind of credit system if I have time

                                1. 2

                                  Work: Yesterday I wrote another metadata importer for our document management system. I will spend most of this week running manual tests for one of our DMS admin tools. If I finish this task, I will continue working on the metadata importer I started writing last week.

                                  Personal: I have enrolled in the Functional Programming in Scala specialization. The course was written in 2011 and hasn’t been updated since. I’m not familiar enough with Scala to know how much it has changed in that time.

                                  1. 2

                                    I might finally get enough free time to setup a PiHole device.

                                    1. 3

                                      It’s worth it, really.

                                    2. 2

                                      Upgrading my personal laptop to Kubuntu 19.04 (Disco Dingo!) and doing some digging to try to understand why all the big players are choosing Gnome over KDE.

                                      I very badly want to contribute to the Linux desktop in some way, and maybe even eventually with a view towards enabling some kind of application scripting interface (like Powershell or Applescript or ARexx) on the Linux desktop.

                                      Also continuing to play with PICO-8 because it’s something I can do in tiny bite sized morsels of spare time :)

                                      Most of my daylight hours are spend expanding my evil overlord employer’s empire :) (I don’t ACTUALLY think I work for evil overlords, but that’s my way of donning emotional armor given all the HOW CAN YOU WORK FOR THEM?!?!? crap I get :)

                                      1. 2

                                        I’m continuing work on my decentralized forum system.

                                        This week, I plan to focus on the interface being more accessible to new users.

                                        1. 2

                                          My boss quit yesterday so I’ve inherited a Rails back end, an Electron app, and assorted other code - all of which isn’t in the best state. Company runway is two months or thereabouts, so there’s also that. I am at a crossroads.

                                          1. 2

                                            Wrapping up the implementation of dependency parsing in my sticker sequence labeler [1]. This year’s NAACL had a nice paper (Strzyz et al. 2019) on dependency parsing as sequence labeling. Since I have a sequence labeler in Rust and Tensorflow, this was easy to add. The performance is great, both in terms of accuracy and speed, currently ~700 sentences per second on my MacBook, with a labeled attachments score of 94.41% on German (still doing some hyperparameter exploration).

                                            We are also preparing the next release of finalfrontier, which besides skip-gram and structured skip-gram embeddings, will also support dependency embeddings [2].

                                            [1] https://github.com/danieldk/sticker https://git.sr.ht/~danieldk/sticker

                                            [2] https://github.com/finalfusion/finalfrontier

                                            1. 2

                                              Working some on ggez, a lightweight 2D game framework for Rust. Mainly by chopping the scope down to what I can handle regardless of the consequences, it seems.

                                              1. 2

                                                We’re finishing up CFP review for Abstractions software conference. This is our first time using our new internally-built CFP system (this is the third CFP system to which I’ve been a party to the development, I have opinions) so it’s been interesting finding all of the gaps: problems we’ve solved previously in other iterations with other organizations with different review processes.

                                                Shameless plug: ticket sales are open and I’m always looking for sponsors!

                                                At work, I’m working on a code quality project. My team uses Scala but hasn’t really used any code quality automation, such as ScalaStyle, Scalafmt, or Scalafix. I’m working integrating Scalafmt and building out an internal plugin we can drop into any of our several projects and just get the config, sbt tasks, CI config, etc. It’s been a while since I worked on the developer experience end of projects. I’m enjoying making others’ lives easier!

                                                1. 1

                                                  I’m finishing my packing for my move to Montreal (just packed up my desk today).

                                                  I have also gotten little-endian WebAssembly binaries working on big-endian ppc/64. This means that I have done what Mozilla could not. I want to see if I can use this to ship things like clang to ppc64 via webassembly, or even more of the core of the system.

                                                  I want to boot a linux kernel to busybox compiled to wasm. Why is this a bad idea?

                                                  Thanks all.

                                                  1. 1

                                                    Fixing an unstable Redis. Coordinating with a client about streaming events to a Kafka cluster.

                                                    1. 1
                                                      1. Catching up after the Easter break (I work in Denmark, which means Thursday, Good Friday and the Monday following are national holidays, plus I took Monday-Wednesday off as well).

                                                      2. Implementing semi-automatic credit card / direct debit dispute handling for our platform. Technically it’s fairly straightforward (using Stripe), but the business/human side of it is tricky. Our customers use our platform to charge their customers, so there’s questions on who handles the back-and-forth with the end-customer, who pays the extra fees (and what is specified in our ToS), etc. Luckily we’re slowly enabling payments for customers, so it’s manageable to handle for now.

                                                      3. All the interviews! Have to create a technical devops challenge for an interview next week, then two actual interviews this week based on technical challenges already sent. We’re using a simple “use 1-2 hours max” test with some straightforward problems to base our interview on (more of a discussion than an exam, as I tell my interviewees). Open to good suggestions on DevOps challenges, bit more tricky than a straight programming challenge. One thing I’ve learned: Interview prep time is just as hard to estimate as software tasks, and I always underestimate the time required.

                                                      1. 1

                                                        Migrating to the new workstation, which is beefy enough to double as build server. Abandoning 2x27” setup for one 49” 5K. The thing is humongous!

                                                        Starting a new iteration of a speaker design for the product. And of course a bunch of meetings to catch up after Easter holidays.

                                                        1. 3

                                                          Abandoning 2x27” setup for one 49” 5K. The thing is humongous!

                                                          Wow, that’s a quite big display!

                                                          Are you comfortable with a 49” monitor? I have a 30” 1600p display and sometimes I feel it’s too big for me, too much head movement.

                                                          1. 2

                                                            It ain’t bad, same surface area as 2x27” setup was, with r=3m curvature. Real productivity enabler, too!