1. 15

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

Be descriptive, and don’t hesitate to ask for help!


  2. 6

    I started streaming myself working on personal projects.

    I did this partly because I think talking out what I’m doing helps me do better work and avoid spinning my wheels. I also started doing this because I think there’s a dearth of examples of Haskell applications getting fleshed out properly.

    I’m working on:

    Rewriting a Haskell recipe manager to use Persistent/SQLite instead of values serialized and deserialized with Show and Read.

    An ecommerce app in Haskell.

    Porting Bloodhound to Rust.

    I’m planning to stream whenever I work on any of these three.

    1. 1

      I don’t have much time to watch all the streams, but the bits I’ve seen have definitely been helpful in explaining how to think through Haskell problems. So, thanks :) It would be cool if more devs streamed like this. We usually work in such solipsistic atmospheres (especially those of us working from home) streaming could be a kind of simulacrum of a social work atmosphere.

      1. 1

        BloodHound the pentesting tool? I would definitely follow that!

        1. 1
      2. 6

        Been a while since I posted to one of these threads. I’m at the university of Aarhus nowadays working in Iris for the summer so this week I have a lot of writing to do

        • Writing up a case study formalizing some fine-grained concurrent data structures in Iris.
        • Writing up the modifications to the Iris base logic I’ve made for my research.
        • Writing up more of a blog post on syntactic/computational forcing for proving continuity results about functional programs.

        But I actually want to do some additional writing so I figured I’d ask, does anyone have any topics in type theory or just functional programming that they would be interested in seeing a blog post about?

        1. 5

          Still working on Hammer. This weekend I cleared a significant hurdle that had been hindering progress, when I realised I could do the main api as a use macro rather than an OTP genserver.

          1. 5

            I’m gradually assembling a pile of libraries and an overall structure to use in my “web” “app”.

            If anyone has used these and has opinions on them, I’d like to hear them: Quasar; Buddy; Yesql; Joda Money; Liberator; Enlive.

            1. 4

              I released the initial public version of elm-sketch-importer, a tool for exporting your Sketch files into Elm. It’s a work in progress, but I’m pretty happy with how it’s shaping up. I will be converting it to use my elm-html-in-elm AST for Html, which will allow it to be generate straight HTML for free. Check it out if you’re using Elm and Sketch, or even just Sketch :)

              I’ve recently changed jobs to work at a company called Schibsted. I’ve been getting familiar with Ramda and compile-to-JS languages which aren’t Elm. Out of Flow, TypeScript and ReasonML/BuckleScript, I am most fond of Typescript. They’ve really put a lot of love into it, and the tooling is amazing. ReasonML is very immature, and the error messages are sub-par. I found them harder to use than GHC’s errors. Flow required a lot of set up, and I felt tired by the time I had actually got into writing code.

              1. 4

                I’ve been working on a Kafka-like TCP accessible log service. Not distributed. It’s an append-only structured (protobuf) log with monotonically increasing message ids behind HTTP/RPC with a basic id/timestamps index.

                It pushes messages at subscribers rather than forcing them to poll. It also adds a small layer of message filtering to reduce network chattiness for clients that don’t care about all messages.

                It’s not designed for massive scale. It eschews some of the peak performance complexity for a simple model. It’s written in Go so that way my poor VPS isn’t using a lot of resources to run heavier services like Kafka and Zookeeper.

                Why? Because I wanted to and no other reason. Because NIH is fun when it’s your side projects.

                It’ll be the basis of my single node HTTP log analytics system.

                1. 4

                  I’m working on mining dependency activity (dependencies added/modified/removed per commit) from git repositories for https://libraries.io and streaming it all via twitch, code so far is over here: https://github.com/librariesio/repo_miner

                  1. 4

                    Porting my blog from Middleman to Hugo, partly because I fancy learning how hugo works but mostly because I can’t be bothered installing ruby on my workstation VM, whereas hugo is just a single binary (yay, Golang). Also speeds up build times massively, which is nice.

                    Continuing to port workflows from laptop to iPad for personal stuff, I think the only outstanding things currently are talking to my Garmin sports watch and making deploying websites easier (previously I’d just rsync from laptop to server. Need something to act as a build & release server, ideally based on SCM notifications. Lots of prior art here, should be easy enough.)

                    Also decided I should stop procrastinating and start writing proper content for a site idea I’ve had for a while. Turns out writing content is the hard bit of starting a site, which I’d forgotten. ?

                    1. 3

                      We actually released many awesome updates to the search engine we are working on.


                      We soon want to add an easy way to contribute to the maps and start working on authentication and maybe make an official release soon too. We think it’s pretty awesome already though, just need to bring more awareness to it to see it grow even bigger. ?

                      1. 3

                        A couple updates for theft:

                        • Switching to a dynamic blocked bloom filter for its explored state-space detection. This completely eliminates needing any bloom filter size configuration in the API, and reduces the memory theft uses even further. This is very nearly done, I just haven’t updated the docs yet.

                        • Adding optional forking for tests, so it can shrink bugs that cause crashes or timeouts. The main feature is implemented, but it has some subtle interactions with running progress hooks (which may be called on a different process now, and not update user state as expected due to copy-on-write) that I want to think about before merging it.

                        1. 3

                          I’m hoping to be able to dive into Sound Pi. At a meetup, someone highlighted how far it has come and they were doing some pretty cool stuff in it. I recently was introduced to https://fo.am/midimutant/ and I think that I develop a cool hobby making some music.