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.


  2. 8

    PureScript Conf and LambdaConf! I’m going to be doing the introduction to PureScript and then I’ll be doing an introduction workshop to Idris.

    1. 2

      I didn’t know about purescript and won’t get to Boulder quick enough thursday, but I’ll definitely be checking the idris stuff out. Your type safe printf video has made me want to learn idris now on top of haskell.

    2. 8

      This week, I’m actually taking off from my regular contract work that involves emscripten. I have guests visiting from the US and I’m playing host. (Just got to spend 2 days by the beach…) One of the guests is Brian Rice who used to work on his Slate language, among other things. It is nice to have someone around to discuss things like safepoint implementation with while relaxing under a sea almond tree!

      In Dylan land, I’ve been keeping busy.

      • I started a plugin for Dylan support in Visual Studio Code.
      • I found that we have a sub-optimal implementation of symbol equality in the Dylan run-time and did some initial work to suss out whether or not this matters.
      • When I was looking into something else, @pkhuong noticed that we could emit more optimal code for stripping an integer of its tag. This lets LLVM and Clang at least produce better machine code.
      • I added support to our compiler’s build system to support building C++ sources. We already had support for building C sources into a library, but this is a useful extension.
      • After being able to build C++ sources, I started work on an LLDB-based debugger backend for our debugging infrastructure. This is just a toy / experiment at the moment as I’m pretty happy with just using LLDB directly with Dylan.
      • I got bored the other night and hacked on our bindings generator, melange where I had a test case for poor performance. I took that from taking 20 seconds to 1.5 or so on my laptop.
      • A bunch of other random stuff here and there.

      I decided about a month ago to step up the pace on my Github streak, so I now try to do 4 GitHub contributions / day. This is pretty useful for me because it encourages me to fix some minor things along with the major tasks that I’m working on.

      I also bought a whole beef tenderloin (about 2.5kg), so I’m looking forward to cooking portions of that. I have no idea what I’ll make though yet.

      1. 2

        A nice break is always welcome!

        Myself, I’ve neglected my side projects for the past week (and likely this week, if today is a sign of how the week is going to go at the 9-5). Headed to the beach next week too, hoping to come back refreshed!

      2. 6

        Write some blog posts, maybe do some work on tolkienIpsum.

        1. 5

          I’ve been dealing with a lot of family issues, so non-work projects are on hiatus for the time being. :-(

          At work:

          • Refactoring spaghetti HTML templates
          • Preparing an intro to ES6 talk
          • Putting together a UI architecture refactoring plan
          1. 7

            I hope things sort themselves out for you in a good way.

            1. 1

              Thank you. I’m hopeful that things will be sorted out soon.

          2. 5

            I finished my finals, so am goofing off. Graduation is in a month or so, so I’m p much carefree as hell.

            Actually I’m about to start writing up my dissertation into a paper, which should be cool. :)

            1. 4

              In my spare time this week, I’m probably going to take some time this week to get protobuf bindings for either Pharo or Factor, depending on my mood, and then write a RethinkDB driver on top of that.

              At work this week, I’m going to learn Scala so that I can grok a legacy code base. So far, my main conclusion is I’m probably going to need to invest in some beer.

              1. 4

                Sleep. :)

                (Not just that, of course. I’ll mostly be focused on trying to help those who are newer to Rust; I plan on paying more attention to IRC, SO, and places, and less towards actually writing code.)

                1. 4

                  We are preparing our application for move to PostgreSQL. Excited!

                  1. 4

                    At work, continuing to work on a specialized http callback server in Go. We have a callback system using a generalized work queue right now, but it is fiddly (retry semantics are poor), tends to occasionally corrupt the queue’s on disk format, and our ops guys constantly complain about it (with good reason). We are moving job queue work to another queue solution (beanstalkd), but the http callback volume is both high and we want to use custom semantics on retries and stoplists. So I have been working on a special purpose service to handle only the http callbacks. So far it has been going well in dev/testing. Hoping for “toe in the water” prod rollout sometime in the next week or maybe week after.

                    For “not-work”, been looking at getting some new hardware to house the family media. Right now I have a “freenas mini” running straight freebsd10+zfs, but want a bit more grunt for plex, without having to resort to running a separate server and mounting via nfs. Maybe doing some hardware consolidation too, and getting rid of some older stuff I have kicking around in the garage. Looking at an abmx build right now.

                    1. 3

                      This week I’m talking at GlueCon about Kafka and Apache Crunch – scary! I’ve never spoken at a conference before.

                      Outside of fretting about my talk, I’m restarting work on Gregor my Kafka clone/playground in Go. It already knows how to read Kafka’s log segment files, but that’s about it. I’m starting to build some CLI tools for poking at / repairing / (gasp) editing / replaying entire log segments to a production cluster re-using some of my unmarshalling/marshalling code I’ve already written. I also have plans for it to speak the protocol too such that I can run a Gregor server in place of a Kafka server in low-resource environments (e.g. my VPS) without changing producers/consumers. There’s value in a multi-consumer indexable log service even on a single machine (I think). I don’t ever plan for it to be productionized though.

                      1. 3

                        Continuing with PCI compliance things at $work, and visiting the office for a few days which is always fun & rewarding.

                        At home I’ve gotten my hands on an Ubiquiti EdgeRouter Lite and finally have a proper firewall between my LAN and the fibre connection to outside. Spent most of the evening playingWconfiguring it but happy with where it is right now. (Future jobs: OpenVPN termination on it for phoning home & IPv6 tunnel).

                        Still being a chicken about rebuilding the home server under FreeBSD, so instead I booted a FreeBSD KVM zone under SmartOS (current OS on it) and put stuff in there using the puppet manifests I’ve been writing instead. Worked first time, which was slightly surprising (I’m still waiting for the broken thing to manifest itself…). Might actually have to rebuild the damn thing properly now.

                        Oh! And I bought some slick tyres for the cyclocross bike. Makes a HUGE difference, feels just like my old road bike on the road now. Went slightly narrower from 35mm down to 32mm too, which helps I think. Totally in love with the thing now, been riding quite a bit compared to normal because it’s so enjoyable. (Changing the tyres took my max recorded speed from 38mph to 42.9mph. Being hit by a large fly in the nose @ ~42mph is painful.)

                        1. 2

                          I’m giving a talk and a workshop at Lambda Conf

                          The Haskell book I’ve been working on is getting released for early access tomorrow.

                          1. 2

                            At work, I’m creating a map renderer using live data. This is my first time using Python for a serious web service, and Flask is going all right.

                            At home, I’m trying to get YATE to speak ISDN. It’s slow going.

                            1. 2

                              I want to present qryp at my final Hack and Tell this week, which I’ve been organizing for 4+ years now. There’s some work for qryp to get it into an interesting, and usable state, so hopefully I find the time between now and then.

                              1. 2

                                Finally getting some free time to start learning Clojure & Datomic in a web-app context. Just started scratching the surface on a new project. Haven’t got anything to show yet–and quite frankly might never have. (It’s intended as a learning tool, but who knows what it will become.)

                                Thinking about setting up a company with my wife and myself as directors, so I can pay myself a regular salary from intermittent contracting. (Wether I’ll be able to get any contracts at all is another matter ;-)

                                Also in the market for a new computer. Torn between the new 12" Macbook and an 11" Macbook Air… The slightly bigger keyboard and battery life on the Macbook seems a plus. More performant CPU on the Air would be nice, but I’m currently making do with wife’s 2011-model Air with 4GB RAM, so the 12" should be OK I think… Recommendations welcome! (I expect to be travelling a bit, which is why I don’t go for a bigger one. I intend to get a bigger screen for home office.)

                                1. 1

                                  Last Week

                                  I have added HTTPS support for the Fire★ website. I have also signed all the 0.9 binaries with my PGP key. I also fixed some annoying bugs and improved the DEB package to install the application properly on linux desktops.

                                  This week

                                  I am looking into adding signing of the handshake message to prevent MITM attacks.