1. 16

It’s monday again, feel free to post what you’re working on this week.

  1.  

  2. 11

    Hi Lobsters users !

    I will continue my android client lobsters app, simple UX & UI friendly but especially providing offline support (better with locations without network coverage like the subway) in order to read articles/comments… through a daily morning and automatic download of the recents and bests articles.

    I found it very exciting and useful personally. I hope every android user found that interesting. I will post something when it will be available :)

    1. 10

      Parental leave. :)

      1. 2

        congrats!

        1. 1

          Thanks!

      2. 6

        At home: continuing work on my regex to JVM bytecode compiler. Since I posted that, a lot of my work was bug fixes, but I did implement Hopcroft Minimization, and got some performance measurements started but not published.

        If anyone has “interesting” regexes I can use for testing/performance measurements, please do share.

        At work: it’s release week, which means the work could crowd out my own projects. Beyond release week, last week we decided that a major component of our system needs a serious overhaul, and I’m going to be the one to do it. Right now, I’m working to multi-thread a sub-component that was previously sequential. It’s embarassingly parallel code that just happened to be written using shared-mutable state. In some ways it’s just cleanup work, but I kinda enjoy fixing legacy code.

        After doing the cleanup work, the next step is to start pulling out/refactoring/rewriting this component into a separate service, with much more ambitious performance goals than the existing system (10x improvement or better).

        I’m potentially counting my chickens before they hatch, as second/third level management hasn’t yet confirmed that we should follow this plan (gotta check this morning). But I think we have agreement: there’s a clear customer problem, solving it would improve our competitive posture, and the technical team hates this component.

        1. 3

          If anyone has “interesting” regexes I can use for testing/performance measurements, please do share.

          I’m not sure whether or not these are useful as test cases for you, but Stack Exchange’s Code Golf section is a consistent source of completely OTT regexes, if it helps.

          Example from the sidebar today: https://codegolf.stackexchange.com/questions/78210/regex-golf-verify-a-sudoku-solution

          Edit: https://codegolf.stackexchange.com/questions/tagged/regular-expression

          1. 2

            Thanks. Some of the examples in that section use backreferences, which I’ll probably never implement (following the RE2 playbook), and there are some that rely on features I haven’t implemented yet. But there’s also some good stress tests in there.

            In addition to extremely large or complex examples, one of the other things I’m looking for are just regexes that you might use in real-world code. I should probably instrument some real world code and find out which regexes it frequently uses.

        2. 6

          Working on Learn Anything.

          We had an awesome designer join us recently who made new mockups for how the new version of the website should look like. Now it’s on us to implement it and iron out all the UX details. It’s pretty exciting. ✨

          1. 5
            • A period prediction tool using standard linux utilities
            • Investigating two bugs on Alpine Linux
            • Regular maintenance work as usual

            IRL i got socialist literature from my grandparents a while ago, and now hope to find time to read some of the books.

            1. 2

              hello, I am a beginner in os dev. and i wanted to contribute to alpine linux. should i start by trying to fix bugs or should i install it and playground with it initially.

              1. 2

                My involvement with alpine boils down that i’m using it as desktop system and for production servers, and if i find bugs or things that annoy me, i try to work out fixes. Also writing documentation. Rather boring work actually, but afterwards people are glad somebody did it.

              2. 2

                IRL i got socialist literature from my grandparents a while ago, and now hope to find time to read some of the books.

                That’s not something you see on a regular basis.

                1. 2

                  Yeah, one would usually use AFK. IRL makes it sound like the Internet is outside of reality or something.

                  I hope to find some time to read a little as well. Young Marx is quite fun.

              3. 5

                I went to Strange Loop last week, so I’m going to spend some time telling my team about all the cool new things we should try to integrate into our workflows and services. Especially Rosie Pattern Language.

                1. 2

                  What were some of your highlights from Strange Loop?

                  1. 2

                    In terms of talks, Categories for the Working Hacker and the Rosie one we’re best. It’s the first time I’d been to Strange Loop, and St Louis, so I had a great time. The poverty of parts of the city was striking though.

                2. 4

                  I am in week 3 of the OCaml MOOC: https://bit.ly/2y2V989 Very interesting course, I currently find OCaml interesting because it influenced F# & Rust. I tried F# but find the CLR slow and the language tools are not a good fit when you are in a Unix-like system and and prefer a plain editor rather than IDEs. I still find Rust very interesting, but less so for business type software. Also with OCaml you can easily apply the patterns described in https://pragprog.com/book/swdddf/domain-modeling-made-functional

                  1. 1

                    Hello @eterps -

                    very intersting statement: * “I still find Rust very interesting, but less so for business type software.”* I am curious why this is the case? Is it the state of the library ecosystem, or the fact that it is too much overkill to use Rust’s version of memory management for business software?

                    1. 2

                      The second one, for most business type software I doubt that memory management is the foremost concern. I do like Rust’s library ecosystem, its package management and its modern tooling in general. Rust’s type system is also flexible enough to describe business problems in a similar way as: https://fsharpforfunandprofit.com/posts/no-uml-diagrams/ , if there was something like Rust with garbage collection I would be very interested. For low-level programming Rust is perfect as it is. Maybe something like http://gluon-lang.org can fulfill that role in the future, however currently its type marshalling is a productivity killer.

                      1. 1

                        Thank you for clarifying your comment. Pity that these is not equivalent to garbage collected Rust that has all the bells and whistles you would like to have, and not the baggage of the JVM/Mono juggernaut.

                  2. 4

                    I’m working on an implementation of https://ac1235.github.io/f.html. I saw it posted on Reddit and found it pretty interesting. I like languages with a small implementation that can be used to build a much larger language.

                    1. 3

                      I launched my first side project at the weekend. It’s a job board for PHP developers and companies looking for PHP developers => PHP at work

                      1. 3

                        I am heading over to devopsdays Detroit 2018 on Wednesday at $too_damn_early to volunteer and then take part in the panels and festivities.

                        1. 3

                          At work I’m continuing to triage and fix incoming cases from our test team.

                          Outside of work I’m still getting used to using “Get Things Done” and org mode. I feel like I’m more productive when I stick to using it, but I still need to remind myself to use it.

                          I got a tiny bit of work done on my book scanning project last week. I had to make cl-tesseract export a few more API functions, and I can now pass an OpenCV image into Tesseract, but it crashes with no error message or backtrace when I try it with an image from a webcam. I suspect it’s due to the image format, so I’ll look at that this week. Using Tesseract is the last big unknown part of the project, so once I get that figured out I should be able to finish up the coding part of the project fairly quickly, and then I just have to start scanning books into the database.

                          1. 3

                            Making a group coordination app with PostGIS and python, writing it ‘conversation’ first. (Looking for hints on writing good conversational/chat interfaces!)

                            1. 3

                              I’ve been spending some time exploring web crawlers and building a custom search index. It’s been a good opportunity to learn some Go by building something more than a hello world app. I’ve also been transplanting learnings from the crawler into the Go static files server running my static files blog (the content on which I hope to work on this week too).

                              Both of these have also been integrated with Prometheus with Grafana for graphing. I integrated Sentry today which is also useful for discovering significant errors during crawl without having to trawl through logs. So that’s been great, just building on all these different products to run a service and know what it’s doing at all times.

                              1. 2
                                • Pushing my VocableTrainer App UI & functionality rework forward, so it hopefully looks more appealing, native and intuitive for people that don’t “think code”.
                                • If I have time I’ll try to finally figure out using raw TCP sockets in rust. To do async IO in a client worker thread, after working around that issue for weeks.
                                1. 2

                                  I will be working on an alpha version of a Python3 API for Wallaroo, a scale independent, distributed data processing system. The project got started by a 3rd party contributor (kudos @caj-larsson!) a couple of months ago, but we were in the middle of a big project and couldn’t offer as much as assistance as we would have liked. Now that big project is complete, so we’re going to dedicate some serious time to getting this up and running.

                                  1. 2

                                    I’m helping out at AnsibleFest in Austin. Come by and say hello.

                                    1. 2

                                      I decided that it’s so easy to write my own static blog engine these days that I can do it in about the time it would take me to get setup with one of the many off-the-shelf options (and deciding which one to use would take half the time!). It’s more fun and educational, too.

                                      It’s running Node 10, and using React, with Markdown for the actual content. In the old days I would have written it in Python, but after spending a year with React there’s no way I can go back to Jinja, or really anything where the template and template language is separate from the programming language.

                                      I’m going to have some downtime later this week, so I’m hoping to wrap it up and get some actual posts up.

                                      1. 2

                                        Still taking time off of writing code to try to get some marketing/buzz going about what we have been working on. Got around to writing a blog post attempting to explain everything in simple terms.

                                        https://medium.com/appdoctor/what-is-appdoctor-5cceaedf7a05

                                        1. 1

                                          $work continues at a sustainable pace. (Remembering you can push back on customer deadlines is a useful thing.)

                                          At home I spent a good chunk of the weekend trying to sort the garage out and get it in some semblance of order. Managed to get my comms cabinet mounted on the wall and everything wired into it successfully. (Also remembered not to mount it where I want to cut a doorway in the wall in future. Well done me.) I now have a pile of things to sell/give away as they’re too good to bin, and work out where I can mount my bikes on the wall. (Also made the decision I need to halve my bike collection. I only need/use 2 bikes, there’s no point in storing 4 of them.)

                                          If I manage to get all that sorted, then the garden still requires some attention. It’s not quite gone wild, but the lawn is definitely getting to the stage it needs shearing, and the hedge is a bit raggedy in places too.