1. 18

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

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

  1.  

  2. 10

    I haven’t reported in in like, 3 weeks or something, so I suppose it’s time.

    $work: Our IT department imploded, only a few folks remain (thankfully, they’re the good ones). That means your friendly neighborhood ops/automation guy is now one of the de facto Sysadmins for the whole company. (Hint, I’m the friendly neighborhood ops/automation guy). After a few minor explosions and a few major ones, we’re finding that the existing infrastructure is pretty… organic, and in need of a liberal application of infrastructural herbicide to fix. We’ve been sloughing off legacy products on the mothercompany like it was our job, and we’re still knee-deep in a backlog of bad practices. It’s pretty miserable, and the 80 hour weeks aren’t even the worst bit. That said, there is light at the end of the tunnel, we’ve successfully demonstrated to the management that not only can we handle the firehose, but that now we’re the only people standing between them and having no infrastructure at all, we’re basically carte blanche on what we want to change. So I guess I’ve got that going for me.

    $!work: Sleeping, mostly. I’ve been burning the candle at both ends, racking up comp time and goodwill. When I do have time to work on stuff, I’ve been working on gandalf – which is my ‘relax’ project. No complicated things to implement, no hard problems to solve; just mucking around with my dotfiles and making them all orderly. Shell is so relaxing to write. I’ve also been planning a remote-presence robot, basically a RC car that can be controlled from anywhere, with a couple cameras on a Pan/Tilt/Periscope apparatus, a mic/speaker combo, and the ability to tool around the office. The idea being that I can leave it at the office stationary most of the time and use it to see who is there, but also when the HVAC in the server room dies at 11pm on a saturday (like it did this last saturday) it could potentially drive over and take a look at the thermometer to make sure it really is 127F before I wake someone up to go fix it.

    1. 1

      I really like your euphemisms :)

    2. 9

      Hopefully I will be able to wrap up the PureScript core libs documentation this week, and then get onto some more interesting things. Hopefully, I will be able to start thinking about generalizing rewrite rules in the optimizer.

      I also hope to find some time to write my LambdaConf talks.

      1. 7

        I’m battling other tasks in hopes of working on my Ocaml Raft implementation again.

        1. 7

          What I’m not working on this week… for the first time in almost 2 years, I’m not working on Storm Applied as we finished the last small bit of work on it over the weekend and its off to be printed.

          Now, time to sleep.

          A lot.

          1. 2

            whoah, congrats!

            1. 1

              Thanks Steve. Way to not pay attention to the flurry of delirious tweets about it on Saturday. ;)

              1. 2

                I know you’re not going to believe me, but I took Saturday off…

          2. 6

            I didn’t do anything I wanted to for Fire★ last week. Have you ever had that happen? Well I did finish my prototype for work. Train rides do wonders for productivity.

            So last week I saw RMS talk and he really inspired me. What kind of p2p work has GNU done? So I re-discovered GNUnet and am inspired to have Fire★ run on top of GNUnet.

            I want to start working on that this week.

            Is anyone interested in helping me see what is feasible here? Anyone want to learn P2P programming and whether GNUnet makes sense for Fire★? I would love the help to make something great here. If Fire★ ran on GNUnet, then it can help the GNU project out and vice versa. If you are interested, respond here or send me a PM.

            1. 2

              So something that a couple of my fellow GNU maintainers have been asking about, now that Gitorious and Google Code have fallen, is some sort of P2P DVCS. Not merely federated, but truly P2P.

              I don’t really see how to make this happen. Do you?

              1. 2

                many version control systems are actually p2p. For example, with darcs you can email a patch to a peer and they can apply it. In fact, patch files over email is a type of p2p protocol. Because email is actually p2p (assuming you run your own web server).

                But I am guessing this is not what you are talking about. You are probably talking about a distributed filesystem over a p2p network where you can run a gitorious/gitlab type application on top of.

                EDIT: Fire★ is a really poor DVCS because version information is not kept. Another interesting project for Fire★ would be to store all app history in a git repo underneath. So when an app is used in a conversation, you get the whole repo which you can clone and modify and in the future merge and send changes.

                1. 2

                  Git has all of these properties, too.

                  1. 3

                    Can you give me the magnet hash of your git repo, which will survive the death of gitorious, Google Code, Github and your personal hosting?

                    I know mempko meant something else with p2p, but I meant something like Joey Hess’s git over xmpp.

                    1. 2

                      Sorry, I meant you can email patches through git. If I wasnt on my phone, I would have quoted. :(

                      But, I see now that the comment was really quite irrelevant…

                      1. 2

                        you mentioned magnet hash. I guess you can use bit torrent as a distributed store. The problem is keeping track of these hashes because git repos are constantly changing. I guess that is a problem waiting for a solution!

              2. 6

                Have been working on a tool internally for collecting feedback on people/company data. It’s a challenge as I need to allow employees from all different departments annotate (and fix) bad data, then notify my team for more thorough analysis (which might lead us to altering algorithms, but the problem needs to be fixed immediately).

                I’m normally a very backend/performance guy, but I’ve had a blast working on frontend pieces of this tool as well. We’re a JVM shop, so I chose Play/Scala and it’s been fairly good to me so far. I’ve felt a little anxiety over wondering if choosing HTML/jQuery will limit future development vs. biting the bullet and using a JS application framework.

                This week I’m adding features from other incomplete tools littered throughout the company to bring it up to parity (so it can kill the others) and also ensuring that this feedback data actually is applied to documents before serving them elsewhere.

                1. 6

                  Just released the ebook I’m working on, which is currently sitting at the top of lobster. http://www.designingwithopenscad.com Was stuck on the book cover, and decided to go with an older look with a nod to Diamond Age, given the topic of the book. If you guys have feedback, as to whether it’s interesting to you or not, by all means, lemme know.

                  I’ve run a couple experiments on a better ignition system for a model rocket launcher, but they all mostly failed. So it’s back to the drawing board. Apparently, matches don’t work very well as fuses.

                  1. 6

                    School: Making up for my apathy over spring break. Not really, actually. Most of my time is going towards training a 2-class SVM classifier to decide whether a given frame of video is of Hearthstone or not.

                    Work: Dealing with the hodgepodge of python data processing scripts I’ve written to collect images from Flickr, resize them, label them (using the Places network) and download associated aerial images. I want to go back and make things better, but don’t have time because of school :( (and if I update things to use actually dependency management shit, things could break – which would screw us for the next paper deadline).

                    1. 5

                      Adding some more patterns to my comment blocker plugin for Chrome: https://chrome.google.com/webstore/detail/anti-social-hide-all-the/ngmpaodhbmmkamjlgdajipkanidojngm (source on GitHub) :-)

                      1. 4

                        I’ve got a Java version of TweetNaCl working in Peergos, now I’m trying to get the Javascript version working on the JVM in nashorn (purely for easy testing purposes, as it will be run in the browser during actual operation) and ensure that the two implementations are compatible with each other. So far I just had to fake a window object in nashorn and fake a window.crypto.getRandomBytes that backs onto a Java Random.

                        1. 4

                          I have been working on my crossplatform game-engine written in C++.

                          During the last weekend I managed to remove the last globals that caused crashes when running multiple instances. I had two instances running, but new entities were inserted into one instance, while processed in another. This is now fixed.

                          Blogged about it: http://devblog.laurimakinen.net/2015/03/globals-removed-from-the-propellerengine/

                          I may look a bit into audio side this week or add some graphics features.

                          1. 4

                            I need to finish some old backburner projects at work. They’re nothing very exciting, but they have to be done.

                            I managed to get a bit more written about the medcouple (people of the future, this link is unstable, and should some day just live in Wikipedia). Still haven’t gotten to the real purpose I have in writing this article, talking about the fast algorithm so the pystatsmodels people will implement it. (I can’t implement it for them because I read GPL'ed R code, and thus my Python version ought to be derived work of the R code.) I hope to be able to describe the fast algorithm by the end of this week.

                            I got sucked yesterday into translating some of my Python code into Haskell. It’s still hard work for me to express my thoughts in Haskell, and I am hoping to be able to get better. I’m not enjoying the process very much, and I’m skeptical that I will see a big benefit from becoming proficient in Haskell, but I have decided to try to believe all the people who say that Haskell changes your mind. So far it’s only annoyed mine. I’ll keep trying.

                            I am also looking for a new job! Here is my vague CV, with a more detailed one upon request. I’d rather work in Canada, hopefully something mathematical, and the job I accept most not contribute to the proliferation of non-free software. Of these conditions, I am only immutable about the last one. Seriously, no non-free software.

                            1. 4

                              self.work: Squashing the last bugs from releasing version 2 of our product. It was a complete rewrite, but launched with no major issues. Then playing the PM role and defining requirements for the next round of features.

                              self.home: Getting back into working out, last few weeks have been a disappointment health wise. Hopefully working on my ember/django side project that I have been ignoring for a long period of time. Seeing projects launch that are similar but lack the killer features I have planned (in my mind) motivate and discourage me.

                              1. 4

                                Last week I managed to:

                                • Finish up chapter 2 of Prose for Programmers (still need to push it to GitHub)
                                • Started negotiating dropping IE9 support at work
                                • Refactor a fair bit of JS into TypeScript to reduce the number of type errors the compiler complains about

                                This week I plan to:

                                • Write next week’s A Drip of JavaScript newsletter, probably on unit testing
                                • Nag people into doing technical presentations at work :-)
                                1. 3

                                  Last full week before Rust beta! I cannot wait until Tuesday. Stabilization is going to be wonderful.

                                  I tossed together a little project yesterday, implement wc in Rust: https://github.com/steveklabnik/rwc . I have two versions, the current one, which does a single loop, and https://github.com/steveklabnik/rwc/blob/39a64ed0a70ab644106689d11cb71c6104814996/src/main.rs, which is more functional, but does four. I still have a few things to do with it, but it’s a nice easy example of a small utility.

                                  Last week, we managed to launch https://rubytogether.org/ as well, which we had a thread about, so I won’t say more than that.

                                  1. 3

                                    chugging along with my z-machine implementation. the opcode table is surprisingly unhelpful in places (“Opcode numbers 32 to 127: other forms of 2OP with different types.”. really?), but the disassembler source from ztools and this implentation in golang are useful references.

                                    1. 3

                                      Trading Pokemon over the internet http://pepijndevos.nl/TCPoke/