1. 18

It’s Monday, so it is time for our weekly “What are you working on?” thread. Please share links and tell us about your current project. Do you need feedback, proofreading, collaborators?

Posted on behalf of @zhemao


  2. 7

    This week in Open Dylan land, I’ll be working on learning more about some of our compiler internals and seeing if I can get an interpreter for the compiler IR working again. I’m also continuing to work on our LLDB integration to provide support for additional data types.

    Last week, I wrote about the start of our LLDB integration: http://dylanfoundry.org/2014/06/25/integrating-with-lldb/

    I also published a blog post last week that I’d written in May: http://dylanfoundry.org/2014/06/24/reducing-dispatch-overhead/

    Since last week, I also got commit access to LLDB for commit-after-approval on changes. I’m looking at how to fix some of the issues that I ran into while working on Dylan support. In the meantime, I’m working on a patch that fixes a couple hundred spelling errors as I read through sources and learn how things work.

    1. 4

      I working on a Go port of SDL. Rewriting as much of SDL’s source in Go as I can so that we can have a Go package for graphics without (much) other dependencies.

      1. 4

        As you can all see, I’ve finished the basic functionality for Lobsterbot. This week, I’m continuing work on my Javascript lessons for Seattle Coder Dojo and exploring my options for baremetal ARM development in Rust.

        1. 9

          I don’t like this automated posting functionality (nor your testing on the public site), especially when it’s controlled just by users sending messages to the bot. Part of the reason I liked users manually posting “what are you working on this week” posts is that once nobody cares enough to create them, they just stop getting created.

          1. 1

            Yeah, in retrospect I probably shouldn’t have been testing on the public site. I was intending to delete every test story as soon as it was posted, but I missed a few in the beginning because I didn’t realize that posting was working.

            The reason I decided to automate in this way is that I usually would like to post the thread but I am uncertain whether or not someone else is planning to. I think this is also what stopped a lot of other people from posting it those few weeks when it was not being posted at all. By delegating responsibility for posting it to a bot, we remove the bystander effect.

            If you are uncomfortable with the bot being controlled by messages, I can disable that piece of functionality or limit it to a whitelist of users.

        2. 4

          Last week I got all of the scaffolding for my database implementation up and running. It supports a very trivial line oriented protocol and a memory backend. I also created an opam repository for installing it, so it’s easy to share. this week I am working on the backend for allowing multiple machines to replicate data between each other. I will implement Raft in Ocaml. I expect the whole process to takes 2 - 3 weeks (Raft + Kaiju backend). So far I have an interface defined for the minimal Raft implementation and working on implementing the underlying algorithm.

          https://github.com/orbitz/opam-kaiju https://github.com/orbitz/kaiju

          1. 4

            So we have a messaging framework…. Multi threaded, threads suck on event queues.

            The first implementation was very awkward.

            The second version is quite nice. Messages are just functions that return void… and the parameters get packaged into a struct in the queue, and get unpacked into a function invocation when it reaches the front of the queue.

            Now I need to distribute these messages across devices….

            So I have been studying every damn RPC'ish, serialization protocol on the planet… and there are very very very many.

            My current number one candidate is Capn'Proto … but I’m wondering whether it isn’t suffering from The Second System Effect

            1. 3

              Rewriting a MATLAB cell detection program so I can more easily mess with the segmentation method (among other things). Making a new personal website with Hakyll. Reading “Types and Programming Languages” by Benjamin Pierce.

              1. 3

                Among other things, I’m hacking on the Ubuntu OpenStack Installer, which should make getting an OpenStack cloud up and ready to play with much easier. In fact, if you have a beefy enough machine, there’s a mode to bring up a cloud on a bunch of virtual machines and containers on a single physical machine.

                My coworker Adam Stokes posted about it here: http://astokes.org/ubuntu-openstack-installer/

                1. 3

                  I’m building a RESTful JSON webservice using Haskell and Yesod.

                  1. 3

                    Still hacking around with Tranquil APIs trying to get the Django implementation finished so I can demonstrate the idea to people. Might do a Node.js implementation after that. Feedback needed!

                    1. 3

                      I’ve been working on JSONator, a web service for creating random JSON data. It’s heavily inspired by this JSON Generator but with the twist that JSONator creates a (semi-) permanent HTTP endpoint that can be called programatically.

                      It think I have it working, but I definitely have some ideas for enhancements and new features. I also really want to design a better web interface - I’m no designer!

                      I’d love any feedback, here or as a GitHub issue.

                      1. 3

                        Adding transparent LZ4 and Deflate compression to akka-kryo-serialization and along the way adding tests and improving the performance for maps and sets.

                        Already done: my pull request to fix the recent LZ4 vulnerability was merged today in lz4-java.

                        Links: https://github.com/luben/akka-kryo-serialization https://github.com/jpountz/lz4-java

                        1. 2

                          Working on a parser written in Erlang for the Garmin FIT protocol. Pattern matching on binary data is soo nice in Erlang.

                          1. 2

                            This week I am working on the second iteration of my managed WordPress hosting benchmarks series (http://reviewsignal.com/blog/2014/03/26/managed-wordpress-hosting-showdown-performance-benchmarks/) and hopefully getting to continue working on my WordPressVPS project (https://github.com/kevinohashi/WordPressVPS) which is a template for hosting your own high performance WordPress install.

                            1. 2

                              In my attempts to learn ClojureScript, I’ve been working on a very simple (and very incomplete) generator of L-systems.

                              Motivated by my visit to EuroClojure 2014 in Krakow, I’ve recently refactored it to use Om, and I’m hoping to make it more useful by implementing a few additional rules, as well as trying to center the generated image because right now it has a tendency to slip off the canvas depending on the exact rule set.

                              There are also plans to make certain parts more idiomatic (rather than idiotic) Clojure & Om. :)

                              1. 1

                                I’m working on finally learning how to be a designer. I’ve always shunted the responsibility to others, but now I’m buckling down and learning myself some D3.js.

                                1. 1

                                  A bit late. Working on adding microphone and speaker support to Fire★. I got basic support now and you can build a p2p voice chat app with it!

                                  1. 1

                                    I’ve got a pro-bono basic e-commerce site I’ve pledged to do for a wet shave soap maker. His soaps are excellent - Ballenclaugh Soaps on Facebook - and he’s trying to expand his business.

                                    Basic django backend + Bootstrap 3 frontend. No fancy build systems, just a bunch of templates and static assets.