1. 21

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!

  1. 9

    Working on the Lobsters migration for this weekend.

    Continuing to study QuickSort and write tests for my solitaire solver.

    1. 7

      I’m wrapping up writing my first Rails app (a fake airline reservation system) in over a decade (yeah, seriously, last one I wrote was for Rails ~0.12) to onboard at my new job, and then I’ll try to use the rest of the week to rewrite the app in Phoenix and Elixir. (I know Erlang. I do not know Elixir, and I don’t know Phoenix. So there’ll be some entertainment.) To the extent I have copious spare time, I’m also going to poke at where we’re having issues scaling PostgreSQL DB at the moment, since I’m currently pretty optimistic that our issues may mostly be around how we’re sharding, rather than anything more fundamental. Postgres 10’s new features in that area may prove uniquely helpful.

      1. 6

        After a lot of time spent grinding my wheels lately I’m going to build a VM implementing a subset of the x86 ISA. Why? I plan to target this VM in a compiler for Mu, retaining the option to later generate native binaries. Running in a VM will hopefully make it easier to write arbitrary kinds of tests for the compiler.

        (I described Mu in one of these threads last year: https://lobste.rs/s/n0d3qo/what_are_you_working_on_this_week#c_rue8pf)

        1. 5

          Learning quickcheck and using it in a servant app. Right now, I’ve set up servant-quickcheck and it’s bringing up problems with the sql. I’m thinking It’s not escaping certain characters correctly. I’m also having problems with my endpoints not only giving json objects? I think it has something to do with it giving a list of json objects, but I’m not sure.

          1. 4

            Basically will do some maintenance work on an open-source project I contribute to ( Hawkpost) and will reserve the remaining of the week to continue improving my rust skills.

            1. 3

              Creating a simple Go appengine service with datastore as a db for future project. Starting from CRUD, than adding integrations to Slack/Github.

              1. 2

                lmk if you have any questions/issues. The product I’m developing right now uses Go appengine with datastore and an Elm frontend.

                I’m a big fan of the dev_appserver

                1. 1


                  yeah, dev_appserver is a beast and works like a charm :)

                  I had an issue with context.Background(), before I’ve found solution appengine.NewContext(r) (r is a http.Requset).

                  And one more: moving away from datastore.Client, ’cause cloud.google.com/go/datastore and google.golang.org/appengine are unequal things.

              2. 3

                Heading to SF for a week! Got a work retreat, so my free time is going to be fairly limited, but I’m almost finished with an essay on J.

                1. 3

                  $WORK: Putting final touches on decommissioning our old hosts after migrating our flagship product to AWS. Wrote (internal) road map for adopting AWS automation (Sceptre & CloudFormation) to an extent where we can drop write access through the console to avoid fat finger errors when updating config variables etc. Look forward to start executing on that soon!

                  At home I’m playing Minecraft with my son, running 3 times a week, and moving forward with home renovation projects. (Having oil tank from old central heating system emptied & removed this week.) Also, after owning various guitars for over 25 years I finally started lessons a few weeks (months?) ago and enjoying it immensely. Kicking myself for not starting sooner, as my skill and enjoyment is going up at record speed.

                  1. 3

                    Backpressure baked into the Pony runtime

                    1. 2

                      Attempting to get my home network running with two WAN connections. Currently they’re running in failover mode quite happily, but I want to get the router wanging traffic down both connections as a matter of course.

                      Off to Kraków, Poland mid-week for a few days. Sightseeing mostly, which I’m looking forward to. Should probably dust off the camera before I go.

                      1. 2

                        Are you wanting to bond the two connections, or share the load between them? I did load sharing with a Ubiquiti Edge Router Lite which worked pretty well.

                        1. 1

                          I’m not a networking person (below layer 3 is mostly a mystery to me) but I need to setup something in this space soon; what does bonding do that load sharing doesn’t?

                          1. 2

                            Bonding let’s a single computer use the combined bandwidth of two connections, while sharing (probably not the right term) let’s multiple computers each use a single connection. Bonding requires something at the “other end” to combine and split sending and receiving traffic. It would be best to do it at your ISP but this is a business feature, but you can also do it via a VPN type service. The best option depends very much what your goals are for having multiple connections: redundancy, max speed for single conn, sending Netflix over a cheaper connection and your work traffic over the fast 4G connection (my scenario).

                            1. 1

                              Thanks :)

                              I have two 4g links (my ISP sells a reasonably good speed-capped 4g plan which includes ~70% of the data transfer I need), but I only run one at a time and switch them over when I’m near the data cap.

                              This works alright, but I’d prefer to have traffic balanced across both and get double the speed (and hopefully better reliability).

                              Sounds like my best bet is to:

                              • Fire up a VPN box somewhere close by ($3/month)
                              • Get a decent wifi router (a couple of hundred dollars), bond the links via the VPN, connect everything to that router

                              Unfortunately the modems I have are locked-down and insist on doing DHCP etc - I guess I’ll have to filter that out somehow on the new router…

                              1. 1

                                I’ve never used them, but http://speedify.com is one option. “vpn bonding” is a good search term to use. I looked at getting a Mushroom, but they were too expensive. I also saw https://github.com/zehome/MLVPN, but have no experience with it.

                      2. 2

                        I’m working on the same project as last week. However, the micropub implementation is mostly complete. (I saved me some headaches by only implementing a subset of microformats2 in JSON, I don’t need the entire complexity of that standard)

                        Currently I’m hammering on the webmention module to get comments working and the email module to make self-registration possible. Also some work to enable foreign keys and indices since SQLite is starting to have trouble with all those entries titled “TEST”

                        My only two roadblocks are a bug in the webmention test suite (doesn’t accept the oauth state variable) and being reduced to a laptop which is severly underspecced as a replacement for my desktop, turning my debug cycle into “compile, debug, run out of memory, hang, force restart” which is quite annoying. I do hope my desktop will be up and running again soon.

                        1. 2

                          Migrating $DAYJOB’s Maven repository to use Deps, and working on the reliability and observability of the repository. Also looking to start bringing more beta users on (have the first user on already!) very soon. Hand-in-hand with that will be improving the on-boarding process.

                          1. 1

                            Working on www.helmspoint.com, a heroku for keras ML models.

                            Finished the kubernetes and docker integration. Couldn’t actually make the docker images too much smaller. Alpine didn’t compile the tensorflow pips that I needed. Found out you can stack docker images instead. You can now upload the weights and model file, and it’ll deploy to minikube.

                            Will be working on making the generated app more user friendly, as well as devising a UI for helmspoint itself. Hopefully, that won’t take too much longer, and I can start working on getting it into production this week.

                            1. 1

                              Work: writing an interface library for Vault to use its encryption service in our node apps. Reading the research on automated advisors. Have enough direction from our product manager to start developing our next product. Oh, and evaluating different feature flag services: we were using LaunchDarkly for a couple of flags but when we decided to scale up we realised that it would cost loads to meet our needs. We’re looking at featureops.com, but if anyone has views on any of those services or rollout.io or others I’d welcome input :).

                              Non-work: I had wanted to write a research library app and had built a simple PDF reader in Qt as a starting point. I’ve started using a prototype (a ring binder with a page of notes on each paper) to refine the idea. I’m also thinking about talk topics for dotSwift in January. Any swift devs have requests?

                              1. 1

                                Trying to understand the Lightning Network for a blog post - the economics implicit is remarkable, and if I have the right idea on this they’re reinventing credit in several ways while in denial that they’re reinventing credit (because credit and fractional reserve is a sin in Bitcoin, therefore can’t exist even when it does). But a lot of the implications follow from (a) little details (b) the intent of the designers, which has been fluid and handwavy when faced with objections.

                                There are two-year-old high-level overviews of their aspirations on https://lightning.network/ and there’s a detailed low-level protocol document on github. There appears to be no public writeup of how this network is expected to behave in a practical sense at a level between - a network being users and use cases, not just a low-level protocol document.

                                I am arguably not the person to write such a mid-level document (I am not a fan of anything to do with Bitcoin), but nobody actually involved seems aware of one, including Rusty Russell. It’ll be a delight, I’m sure. So far it’s one of those Bitcoin technical experiences, i.e. “that can’t be how it works, can it? that’s ridiculous … good Lord, that is how it works. what.”