1. 17

It’s Monday, and we missed the last one, and we need something to talk about other than April 1, so let’s have a quick go around the table and ask what everyone is working on. As usual, requests for help and self-promotion are fine.


  2. 8

    I’m taking it a bit easier on outside-of-work stuff this week as I leave for 2-3 weeks of travel on Sunday.

    That said, I’m fixing a bug with Open Dylan that only happens on 64 bit OS X. This is because we were calling the old (32 bit) versions of readdir and friends, but our code was expecting the 64 bit versions of the struct dirent. Good fun. (Discussed here).

    I merged a great pull request for the new build tool today that makes our new project templating better. Pretty happy with how this is coming along and it is already improving my day to day development experience.

    For work, it is still some emscripten stuff.

    1. 7

      At work, I’m working on some SSL stuff, some TPM-related stuff, and thinking about RNGs. I’m fortunate to be part of a talented team of people that bring a lot of energy and experience to the projects, and looking forward to the point when we can open source the things I’m working on (which we plan to do).

      Outside work, I’ve been working on a Go keybase.io client. I’m currently working through the go.crypto openpgp package.

      1. 2

        are you using the pkcs11 engine? :o) i’ve done some work on this (and integrating it with openssh). i hope you have a nice pkcs11 library to work with. wrapping some random set of crypto functions so that an openssl engine can call them is no fun!

        1. 3

          Eventually, we’ll have a PKCS11 component but it’s not needed yet; fortunately I’m not dealing with OpenSSL – this is all in Go.

          1. 2

            interesting. so there’s a decent SSL library written in Go? or it wraps something else?

            actually, i can answer that myself with google. it seems that there is both http://golang.org/pkg/crypto/tls/ (which is presumably nicer) and https://github.com/shanemhansen/gossl (no doubt more complete).

            so how complete is the go tls?

            1. 3

              There is (crypto/tls), but I’m doing more CA-related work right now.

      2. 7

        I’m working on defiance, github.com/ianopolous/Defiance Warning: it is in a very early stage of development, and there is nothing to see but code and ideas.

        1. 4

          Just a note: next time you can use markdown to make it a clickable link (if you can’t edit it now, just let me know and I can edit it for you) – for example


          1. 1

            This could be build probably on top of Cryptosphere.

          2. 7

            Putting together a book of my own compositions (short fiddle tunes in the style of eighteenth century Scotland). It’s been very disorienting to be using vim and a compiler (an ASCII format -> postscript) without actually programming, but it’s still enormously satisfying to see the book take form.

            I should be releasing it on Gumroad in a week or two.

            1. 2

              I run an interactive sheet music site called Soundslice (http://www.soundslice.com/), and we let artists sell notation for their tunes. If you’re interested in using us to sell your stuff, let me know!

              1. 1

                That’d be awesome! I saw the Soundslice post here a few weeks ago and thought it looked really cool (and impressive programming), but thought it was too guitar-centric. I’m excited to hear you think there’s a place for violinists!

                My email address is my username plus “acdonald@gmail.com”.

                (And nice to see a fellow Chicagoan!)

            2. 7

              Trying to learn coq by following Software Foundations

              1. 3

                good luck! i tried that once, but didn’t get very far. i think i have some answers somewhere, but only to the very early problems. i never really got past http://stackoverflow.com/questions/7966193/what-does-true-false-mean-in-coq

                1. 2

                  Thanks. I hit a wall with the inversion tactic, and now exercises' solutions look so long that I find myself in the middle of an exercise and asking myself “am I doing this the right way? am I heading to a no-end?”.

              2. 6

                I’ve gotten my libgdx game up and running on IOS App Store, as I talked about in one of these threads a while back, so now I’m looking at making another game, but a bit more polished. If you want to try the released game on IOS, see here https://itunes.apple.com/us/app/jumpr/id838364189?ls=1&mt=8, only paid version though.

                To do this I used RoboVM and fixed a bug in a gradle plugin which was fun since I haven’t used any of those before.

                1. 2

                  I still play that game on Android once in a while. For some reason, though, I always get stuck at level 18. Something about these two bricks…

                  1. 1

                    That’s nice to hear, totally made my day!

                    Yes, something about them makes it really hard. I showed it to a couple of friends this weekend, and almost everyone had trouble with that level 18. Which is kid of funny because level 14 (Last one in the gif on the project page) has the same blocks, just with more blocks so to say. It seems like it is easier to jump a contiguous block, then the ones with “air” in them. (Which is why I designed the later levels to use that kind more frequently).

                    I can give you some reassuring words: It’s not impossible, just very hard :) And just that construct will make a reappearance if you make it through, but more evil of course.

                    1. 2

                      Yes, I noticed that about level 14.. I even took a couple of screenshots and counted the pixels to make sure it was really the same dimensions :) I did beat the game exactly once, though, so there’s hope. Also, and you probably already know this, but I feel like the game would be much more appealing if it was somehow procedurally generated to be infinite. A similar game for inspiration is Linebound, but there are of course tons of others.

                      1. 1

                        Hehe, awesome :)

                        Yes, I want to make it a bit more appealing. But I think I’m going to go the other way in the next game.

                        My idea about the next game is to have larger levels, with the possibility to run on different heights. So there can be an element with finding the correct path, as well as timing the jumps. The camera follows player and the player is able to run on all floor surfaces. So one level could be that the player must jump up on a “floor” to avoid lava or something. It should also have a level selector á la Angry Birds (and thousand other games), with stars ranking how many deaths it took you to complete the game. So you can select that one level you barely completed and try to do better.

                        Also, I’m going try to crowd source some levels. We will see how that goes, but if I can get the word out, it feels like people will think it’s fun to have their levels in the final game (and also get a free copy).

                2. 6

                  I finally got Pushover for Desktop to the point where I was comfortable opening it up to anyone that wanted to beta test it, though I got a bit overwhelmed with hundreds of signups for the beta and had to stop taking them.

                  I’ve gotten some good feedback from a handful of users (80/20 rule), fixed a few bugs, and implemented a few new features. Hopefully by the end of the week or early next week it will be ready to open up to everyone, although there is still a lot of work to do on the static site updating the support documentation, screenshots, etc.

                  1. 5

                    at work i’m building a large test system for a client. we had a design approved and started going into implementation. and then it turns out that their infrastructure people want to get involved. so all my work trying to get docker working has come to nothing because they want to use the support they already have for vms (qemu/kvm). still, i got to play with some interesting new tech for a time. now it’s integration between jenkins and jira.

                    at home i’m writing a very fast (i hope) and very general (for sure) library for calculating checksums in julia. julia is pretty much the perfect language for this because it’s like c + template library in a single language. so you can write (slow but called only on setup) code that does the logic of deciding what types to use and then compile an inner loop that is for exactly those types, and so is extremely fast. that means you can tailor things like accumulator and table size for different polynomials.

                    1. 3

                      I am learning RoR, studying Pharmacognosy and writing my thesis on Bioinformatics. The RoR application is a simple application for a medical office but not github push yet :-)

                      1. 3

                        Improving my fork of the abandoned DetectIndent plugin for Vim.

                        I created it because was updating my Vim config recently, and after I added that plugin (using Vundle), I noticed that :DetectIndent gave incorrect results on some files. I found that some other forks had already improved the algorithm, but while I was looking through the plugin code, I noticed many small opportunities for improvement. So I’m trying to make my fork the best version of the only indentation-detection plugin for Vim.

                        1. 3

                          At work, I built a Naive Bayes classifier using Elasticsearch aggregations. Fun proof-of-concept project, largely as an activity to flex the aggregation framework. Working on a similar project where random forest production models are served out of the percolator system (e.g. each branch in the tree is represented as an registered percolator query).

                          Later this week, plan to start investigating stochastic gradient descent as a means to perform regression over data in aggregations.

                          For fun: going to start (re-)learning Rust and try to implement a few algorithms.

                          1. 3

                            Last week I finished up GLISP and started working on a simple HTML5 canvas drawing app in Clojurescript. I intend for it to be used on tablets with a stylus. I realized at some point that debugging mobile JS apps is kind of hard, since mobile browsers don’t have developer consoles, so I wrote a remote debugging tool for client-side applications. This week I’m going to be doing more work on Palimpsest to get all the functionality I want in there.

                            1. 3

                              Hi all, this is my first time posting! (Loving the community so far)

                              This week I’m working on releasing the changes I’ve made to the ‘ufront’ web framework for Haxe. The original version was modelled after the MVC.net framework, but the lead developer didn’t have much time for maintenance over the last year or so. I loved it, but have done a bunch of contributions to take it in a bit of a different, more Haxe-like direction.

                              I’ve used my modified version on 3 projects so far, looking forward to packaging up the goodness so others can look at it and use it. Hopefully will be able to post links next week once there’s a bit more to see!

                              1. 2

                                Last week I released linux and windows binaries for Fire★ version 0.2. This week I am going to release the mac version.

                                1. 2

                                  In my free time, I am trying to port my Android puzzle game Tileswap to iOS. I am currently trying to use PhoneGap Build, but the debugging experience when something doesn’t work is pushing me towards borrowing a Mac from a generous friend for a few days .

                                  If you want to try it out, you can play in your browser or get it from Google Play.

                                  (previous lobste.rs submission)

                                  1. 2

                                    Updating a little DSL to support a few new features; the DSL is getting to the point where it might need to break up with Scala’s RegexParsers, but I’m trying to avoid that as long as I can. In my free time, I’m thinking about implementing the same DSL in Haskell as a non-trivial but still small project to finally make myself use Haskell for something more than toys.

                                    I have inchoate opinions about the suitability of Scala for large systems, and I think that it is possible that the way I decide to grope my way out of the seemingly inevitable GIANT PILE OF STATE mess is to implement my particular section of the mess-to-be in something much stricter than Scala.

                                    1. 2

                                      I’ve released rubygem quvi, a wrapper over libquvi to extract info from media sites like YouTube


                                      1. 1

                                        I’m working on improving monitoring for TokuMX and TokuDB. Both have different metrics that should be tracked than stock MongoDB or MySQL. Most of this is already available, just sometimes hard to get to. This effort is two-fold:

                                        1. Document what most users should really be watching and what they mean (and which spikes should make your phone ring at 2AM).
                                        2. Document and enhance integration with monitoring tools and services.

                                        I’m just starting to get my head around the tools and services people use to monitor databases, so if anyone has favorites, please let me know what you like and why, and maybe I will work with that one next.

                                        1. 1

                                          I’m (slowly) working through Understanding Computation, currently working on a Python implementation of the SIMPLE language described in the book.

                                          I’m also reviewing some code for the next Architecture of Open Source Applications book.