1. 29

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

Please be descriptive and don’t hesitate to champion your accomplishments or ask for help, advice or other guidance.

    1. 8

      At work, I’m continuing to chip away at some Active Merchant improvements.

      At home, I’m working on my other hobby, my DeLorean, which needs a new window regulator. Two of the bolts are borderline impossible to get in, so I’m making a custom tool for the purpose, which will be the first thing I’ll have 3D printed that isn’t, like, a soap tray.

      I will also try to hack on Factor a bit, but that’s honestly been rare these days. The older I get, the harder it is to follow up a day of coding with…more coding.

      1. 3

        any rumblings on what happened to Factors creator, Slava Pestov? I’ve used jEdit a ton in the past and heard alot about Factor … i heard he moved onto Google at one point, but I’m shocked to have not heard any news regarding him in the recent past…

        I can relate to the “it’s hard to follow up a day of coding with … more coding” … i don’t even get how I have friends that can do hours of WoW after a day of coding. I need to separate myself from the PC in the evening daily :D

        1. 3

          any rumblings on what happened to Factors creator, Slava Pestov?

          He works on Swift at Apple. You can follow his Twitter feed if you’re curious.

      2. 1

        so I’m making a custom tool for the purpose, which will be the first thing I’ll have 3D printed that isn’t, like, a soap tray.

        I always think of stuff that is 3D printed as being – for lack of a better word – fragile. You are going to make a tool with it – that is awesome and interesting. Can you give us some details after the fact about the 3D printer, tool and if it all worked?

        1. 3

          Sure. That said, I think you’re overestimating what a tool means in this case.

          John DeLorean and Steve Jobs have a lot in common, personality-wise, and the DMC-12 is kind of a Macintosh of cars: it’s super-stylish and has tons of things that were novel for the time, but also made tons of compromises in the process. The doors, which are a) gull-wing doors, b) before people figured out how to actually do that sanely, c) and also have some of the earliest power windows, are a complete shit-show. In this case, to put the lower half of the door back on, you have to get two bolts (or screws, if you’re the first one in the door and haven’t replaced them, which is worse) into two holes. You would normally want to hand-thread something like this, but these holes are obscured, and also about 3-4 inches down in the door, accessible only through two holes, each only about 1”x1.5”. And no, you can’t do the bolts first. And, oh yes, if you miss, and the bolt falls into the door, you have to disassemble all of the door you’ve assembled up to that point.

          So, the tool I’m making literally just needs to help me get the bolts threaded in the tiniest, littlest amount, after which its job is done and I can sanely use a ratchet wrench. It’s serving the role my fingers would play…if my fingers were 8” long and as thin as a pencil. If you imagine two joined chopsticks that are bent 90 degrees for the last 2cm or so, that’s literally all I’m making.

          So yeah, I’ll post back, but unless I really fuck up, then while it might not actually work, it at least shouldn’t snap or anything.

          1. 1

            fingers were 8” long and as thin as a pencil

            That image is now etched into my mind. :)

          2. 1

            I’m just a little mad the DMC-12 stole the thunder from the Bricklin SV-1, the local automobile from here. It even had gull-wing doors too!

            1. 1

              That’s true, but didn’t the SV-1 stop production like half a decade before the first DMC-12 rolled off the assembly line? It’s been awhile, but I remember it having a shorter run and massive quality control issues.

              1. 1

                Very much true - but the DMC-12 also has the advantage of becoming a pop culture icon ex post facto as well.

    2. 8

      I’m on vacation, so nothing!

      I did bring my laptop for emails, but am resolved to not write a line of code for the next three weeks. I’m thinking about going through the Emacs tutorial though, to see if I can be converted away from vim. I’m told Magit alone is worth it.

      1. 1

        Magit is very much worth it. There are tutorials around, but really you can just start with M-x magit-status, press ?, and see what it prompts you for. You can move around with arrows, and hit tab to expand/collapse sections.

      2. 1

        Maaaaaaan, 3 weeks is a long time. I don’t think I’ve gone 3 weeks without writing any code since I was 7.

        Edit: no, 11. There was about 9 months when I didn’t have access to a computer at all when I was 10.

    3. 8

      FreeBSD support in the Zig language. Also playing with Ansible and Buildbot, trying to set up some cross-platform CI…

    4. 8

      At work:

      • got in 30mins early to run a task before others arrived.
      • today at around 10am PST https://www.presidency.ucsb.edu should be live to the world on an updated Drupal7 platform, migrated from a custom php application. This has been a massive 3+ year project.
      • babysit project launches today and hope everything goes well.

      At home:

      • cook some dinner maybe goto class in the evening. REST :D
      1. 3

        https://www.presidency.ucsb.edu

        When I click on the first link How Different is Trump’s Press Secretary Sarah Sanders?, I get a 404. But if I remove the beta subdomain from the link then it works.

        1. 3

          Hi – thanks. I think you’re seeing DNS in transition! :D

          if you clear your browser cache it should be resolving fine now, SSL was just provisioned via LetsEncrypt like 10 mins ago so the dust is still settling.

          Thanks for the feedback!

      2. 1

        I remember how it looked before. This is a big improvement!

        It would be kinda cool if speeches and things were made available as raw data, especially if it had metadata and all the “other stuff” isolated / decomposed (crowd reactions, gestures, titles and greetings, etc).

    5. 8

      I plan to do a few things this week:

      1. Comb through some of the ports that fail to build in HardenedBSD’s ports tree due to the ports’ dislike for certain llvm compiler toolchain components (llvm-ar, llvm-nm, llvm-objdump, etc.).
      2. Fix an issue in FreeBSD’s new bectl application.
      3. Help OPNsense fully adopt HardenedBSD as its upstream. Right now, this means investigate a regression on i386.
      4. Perhaps take a nap.
    6. 7

      Last week we wrapped up our scheduled maintenance window. We do customer-impacting work on evenings and weekends when folk are less likely to be using their servers. That’s meant a lot of late nights–I’m exhausted.

      This week I’ve got decommissioned systems to derack and other messes from that work to clean up. We don’t power off equipment until it’s ready to come out of the rack–powered down equipment will power back up in the event of power loss, and if you put new equipment in between an (accidental or otherwise) power off and rack removal you could wind up over capacity. Certainly one could physically unplug the host or turn the outlet off, but if you’re going to be in the rack or making configuration changes it’s safer and easier to do it all when you’re removing equipment.

      I’m delighted to say that my week includes meeting @pushcx in person for the time. I’ve been working with Peter and hosting lobste.rs for a year this month, entirely remotely / online. We happen to both be in California at the same time. I’m looking forward to it.

      1. 3

        “I’m delighted to say that my week includes meeting @pushcx in person for the time.”

        That’s great yall get to meet. Reminds me that I’ve always wanted a Lobsters event where we can get together for fun, coding, and business. Maybe attach it to another venue that’s popular like FOSDEM.

    7. 7

      Trying to make meaningful contributions to some open source projects that I know and use, under the guise of Hacktoberfest, by implementing features or fixing tricky bugs.

      Sadly (or perhaps just disappointingly?), it seems like most people contributing to projects for Hacktoberfest are simply making pull requests for minor or almost irrelevant changes to things like README files.

      1. 3

        ’tis what happens when you gamify something.

        I’d say, if someone does this seriously, from a cold start, they’d need to pick a small bug for the whole month and get pointers from experienced coders on the project. At that point it would not benefit the project so much (because of the time it took away from the experienced coders).

        A useful way would be for experienced coders to pick an open source project they regularly use and have some familiarity with and use the month as an excuse to do bug-fixes or documentation improvements.

        But you know open source, community driven development: ’tis a miracle anything gets done at all.

        1. 3

          A useful way would be for experienced coders to pick an open source project they regularly use and have some familiarity with and use the month as an excuse to do bug-fixes or documentation improvements.

          This is essentially what I have done, and it’s been nice to make some OSS contributions again. I used to be quite involved in a few OSS communities, but life happened and I had to scale back my involvement for the past few years.

          I mostly feel bad for the maintainers that have to deal with all the somewhat irrelevant/bothersome pull requests that are fixing spacing or adding punctuation. Don’t get me wrong, I’m not against those fixes in general, but many are PRs for the sake of being a PR at this point.

          I know what it’s like to maintain an open source project, and you’ve only got a fixed amount of mental capacity to handle things, and clogging that up with a dozen or so trivial pull requests is a great way to burn out a maintainer.

          Oh well. Hopefully there are more people attempting to be truly helpful than not!

    8. 6

      I’ve just made my MPD client a lot more useful, but I’m still missing a few minor features and most importantly documentation before I can do a proper release with some peace of mind and leave it to rot, though I’ve been using it exclusively since around the end of 2016.

      I’ve found it really useful to just describe subproblems and write ideas down as they come, and not just keep them in my head. And if I don’t want to do something, to just look at the code and note where things probably need to change. It has a tendency to become too irresistible not to pursue, even though I might not be in the mood. Rather a rediscovery.

      Now I’m either going to be tidying one project up for inclusion in the master branch at work, or further improve my directory navigator, be it design or implementation.

      I guess I should be working on Go/X11 things but bringing past projects to some sort of closure is also nice. I’ve got a long, long backlog. Some of it I can now finish more efficiently due to experience, or scrap stupid ideas like learning Rust on things where it doesn’t belong at all and multiplies work and complexity by an order of magnitude. Or C, if you found that inflammatory.

      1. 1

        You’re the author of ncmpcpp? That’s amazing, I used it as my primary music player for almost 5 years!

        1. 5

          No, not ncmpcpp, that one has a long history, but nncmpp. At least I have confirmation that it’s unparseable.

    9. 6

      Work: Amongst my normal duties I’m going to sneak in writing an interpreter for the Common Workflow Language. My excuse is that I need to write an interpreter to understand the specification better, so I can help make changes to it.

      Hobby: Reading the PDF spec and modifying this code from John Dumas to make it do bezier splines amongst other things. Why? Because I’ve always wanted nice PDF plots of spacecraft journeys.

      1. 2

        You may or may not be interested in SILE. It’s a project which takes a few core parts of LaTeX, butchers them out mercilessly… umm, I mean reuses them, and glues together again with Lua.

        1. 1

          @akavel Very interesting, thanks! So if this a full replacement for LaTeX? I recall several projects that were to replace LaTeX - I recall XeTeX and ConTeXt - but I didn’t follow up.

          As far as I can see, for my use case, I’ll just be adding to John Dumas’ code to draw Beziers and then the bulk of the work will be in projecting the 3D data to 2D (basically camera matrices ) and gluing the segments together for smoothness. I found a cool paper for this gluing here.

          1. 2

            It’s kinda “total mod”, or remodeling, in that it completely ditches away the whole TeX language layer (and hence LaTeX too). AFAIK, both XeTeX and ConTeXt were actually built on TeX, i.e. only replacing the LaTeX layer. A kinda simplified LaTeX-like parser is then added, but reduced to the level of a Markdown-like language (i.e. no macros, no Turing-completeness, just a simple markup allowing 80% of what a “common user” would want from LaTeX). Anything more advanced is delegated to Lua, which is a much more… sane language.

            That said, as it is with such ambitious projects, it’s obviously not on feature-parity level with LaTeX. The most glaring missing part is math/equations support… and, umm, I am… kinda working on that myself, actually… from time to time… not that much to finish… but, that’s how it is with hobby projects… somewhat stuck now on some bounding boxes issues… and got distracted by up and other stuff…

    10. 6

      Recently started contributing to sr.ht so looking forward to adding some features. The project is in early stages so there’s a lot of low hanging fruit if anyone wants to jump in.

    11. 5

      Working on a blogging system in Racket.

      I’ve previously been extending the Hacker News code base, but it’s just too slow at parsing file uploads, so I’ve taken the jump at started building something from scratch. For the back end I’m planning to use logic programming instead of a database.

    12. 5

      I plan to finish the signup flow for my Telegram bot that notifies you of new flats for rent in your chosen neighborhoods.

      I’m also working on a Raspberry Pi kiosk that implements a simple chat for visitors and residents in a particular NGO venue. This is making me feel acutely how tedious it is to deal with software and operating systems. Such a simple task brings up so many questions with no satisfactory answers.

      Then I’m also learning Latvian!

      1. 2

        “Then I’m also learning Latvian!”

        Rare I hear that. What inspired you to learn it?

        1. 1

          After living in Riga for two and a half years, I figured it’s time! I’ve been picking up words and grammar out of sheer curiosity, but now I’m finally enrolled in a course.

          1. 1

            That makes sense!

    13. 5

      I’m working on some new features for Equinox, my service for software updates. Specifically on a build service for any Go package that is available via go get. Also work on supporting new distribution mechanisms such as Chocolatey and Snap.

      I’m also working on fleshing out archive, a Go project to parse personal data archives from a variety of services. I have initial support for Twitter and Instagram with Facebook coming next. The next step is write a guide for users to export their data and make sure that my parsers are correct. My hope is that people can take my work to build out better tools for these archives.

    14. 4

      I have this weird issue at work when we spin up a new EC2 instance with a Mageno 2 build artifact in which the admin section of the application throws us for an infinite redirect loop. So probably that.

      If anybody has some knowledge in Magento2 deployments please feel free to shoot me a message for more details. We’re almost at wit’s ends over here.

    15. 4

      Going to be releasing PoG3 for Merit. Main work is testing and building binaries. I’ll then switch over to more future looking stuff.

    16. 4

      I’ve started writing a post called “The case for linearly bootstrapping compilers”. I don’t quite know where I’ll go with it, but hopefully I can argue the need for compilers which are not 100-percent circularly bootstrapped.

      1. 2

        Three come to mind against 100% circular:

        1. You get the compiler done faster if you use a language better suited for building compilers/interpreters. Many argue for LISP, ML’s, and rewriting/meta languages. Intended language might not be among them.

        2. Your compiler will run fastest if you use a language easy to translate to GCC, LLVM or C. It doesn’t have to be normally but maybe one has reasons for the speed. Some are much easier to translate than others, esp if keeping advantages of high-level form.

        3. If wanting formal verification now or later on (“verifiable” compiler) with low effort, then you’re limited in building blocks to what languages, algorithms, and data structures people already verified. You don’t even have to use the verified versions: just using unverified pieces with same functionality lets someone swap them out for real thing later.

        Interested to see what yours says when you’re done with it. So far, I think circularly bootstrapped just hits a button in people’s heads that says, “Wow, what’s wild to think about.” Field evidence shows other options are probably more practical depending on what goal you’re optimizing for. Except for static Scheme’s closer to the machine (eg PreScheme) where doing 1-3 simultaneously might be feasible in same language. Especially if you bypass C’s ecosystem with profile-guided superoptimization on fast paths. I don’t know if that exists but it probably should. ;)

        1. 2

          I want to talk about auditability in a trusting trust scenario, formal verification, and something I’m calling the “verified implementation graph” for lack of a better term. Basically I want to bootstrap the world from a small core language and build production compilers from there.

          1. 3

            That makes sense. It’s what quite a few on this page were doing. My favorite is still nineties’ project. For more mainstream support, my concept was a C-like, While language with metaprogramming support. An interpreter written in assembly to start with. Tcl or LISP-like syntax to make hand-made parsing a breeze. Build up a few primitives and module support for programming in the large. Hand or tool-assisted conversion of something like TCC to it. Bootstrap. Then, TCC to early version of GCC. Various GCC’s from there.

            Designing the solution at a high-level was fun. Implementation looked like a lot of tedium for me. So, I moved on once a solid plan was visible.

            1. 2

              Yeah, I’ve seen miraheze.org. I’m trying to make this kind of bootstrapping plan more accessible to people who would like to join the effort. Perhaps part of that encourages people to write small runtimes with large libraries – like a mini Python that’s mostly written in itself. Just enough Python to bootstrap another programming language. That way there is more than one way into the graph – multiple edges can be made, and then it’s possible to compare the results of two seemingly equivalent compiler implementations compiling themselves…

              1. 2

                Sound interesting. Especially an accessible project that allows comparisons. Look forward to seeing what comes of it.

            2. 1

              Do you know what are the limitations of the nineties’ project? (In other words, what it’s notably missing compared to “mainstream languages/ecosystems”?)

              1. 1

                It’s specifically designed to build his language. He probably didnt work to make it faster, more portable, have a great FFI, etc. The part I like is his staging and mix of native/interpreted to get benefits of each. He goes from ASM to bit better language to bit better and powerful VM. Then, it’s so much easier to express the tooling for his actual, intended language.

                1. 2

                  I’d love to have it in a printed book form, to be able to easily study and annotate… ideally with some reasonable comments, like the ones in the slides… This kind of bootstrapping is totally an idea that zaps through my head from time to time, and from the slides, his approach looks like it might be approachable enough to just take and read, and certainly immensely educative…

                  1. 1

                    That would be pretty awesome. I think we can get some docs and source at best. The rest could be a nice project for someone else. The project links are here.

                    1. 2

                      Right, just browsed the github. The lexer for rowl0 seems superbly annotated; the [compile.s] file looks much more difficult at a first glance… :/

        2. 1

          So far, I think circularly bootstrapped just hits a button in people’s heads that says, “Wow, what’s wild to think about.”

          I suspect one other major motivation here is that you impose on your fledgling language a BigRealWorldish endeavour that will leave you no choice but to continuously validate, refine, evolve and/or revamp most of its initial design choices as well as its stdlib (this latter facet again feeding back into the former along the way), which will also finally need to grow to approximately the minimal size and scope that the potential target audience might judge “barely-sufficient to justify playing with it instead of discarding outright”.

          1. 1

            That’s what they say. Many often write a non-optimizing, simple interpreter or compiler for the circular part, though. It doesn’t really stress the language in a lot of directions. It just says it’s good at expressing an over-simplified interpreter or compiler.

            I think a better target for that goal would be porting a set of libraries that were really different in purpose and how their solution is best expressed. One might do some string manipulation, number crunching, complex structures, layers of control flow, high-error situations, concurrency, parallel processing, low-level interfacing, and so on. You prove it can handle multiple types of apps by implementing multiple types of apps. Each can be as small as needed for proof of concept.

    17. 4

      I was laid off last week[1], so I should be applying for jobs but instead I’m taking a moment to collect myself.

      [1]: Company wide lay offs, unfortunately.

      1. 2

        What kind of gig will you be looking for?

        1. 1

          Not really sure, so that’s why I’m also not rushing into anything.

          Heck, I might even get a minimum wage job for the time being. It’s nice not having to code or meet hard deadlines.

          1. 2

            Yeah it’s probably a good time to take some time off if you’ve gotten a decent severance.

            1. 1

              if you’ve gotten a decent severance

              I got three weeks of severance, so probably will need to figure out something money-wise fairly soon.

    18. 3

      Work work work work work. Product improvements so it’s useful rather than just pretty for users. Also get to build some servers and go see my lovely coworkers in person at the end of the week which will be nice.

      After seeing a talk at NWRUG last week on ruby & HomeKit, I’m planning on trying to get RubyHome up and running as a bridge to expose my temperature/humidity sensors initially. Nice simple project, might actually manage to get it going. Also looking forward to our monthly D&D night tomorrow, always a good laugh.

    19. 3

      I’ve started back on my social network API, working on the payments system to allow folks to chip in with different providers. Currently managed by Stripe.

      And I was able to start taking myself both more and less seriously again, with a personal website built like I used to make in high school, by hand, no dependencies, and very personal content rewritten until I like it, despite its inaccessibility. Hoping to cover more of the topics I like to think about on it.

    20. 3

      It’s rare that I have a programming project in my hobby time but I’m working on an expense tracker. I have been making a surprising amount of progress on it considering that I’m not really much of a developer and web development in particular is not at all my in my wheelhouse.

      1. 2

        Sounds interesting. I’m preparing for a talk this week on plain text accounting so I’m always curious for work happening in this domain. Do you have any details to share at this point?

        1. 2

          Oh, this isn’t a plain-text project, I’m implementing it mainly in the traditional HTML/CSS/Javascript stack. This will be so that my wife and I can track our expenses better. I’ve looked at a LOT of existing solutions but none of them quite fit because they either try to do too much, do too little, or are written in a technology stack that I have no hope of being able to maintain myself (e.g. Java) or that my wife isn’t technical enough to use (e.g. ledger).

          I haven’t decided yet what the backend will be yet so I might be able to leverage some plain text accounting tools there but it’s too early to say.

    21. 3

      A lot of different things:

      Work:

      • finishing some Jenkins jobs that help another department test stuff without our help
      • giving an internal course, the first of a couple probably
      • still lots of things to do in our backlog, I hope to pick up a few

      Home:

      • I did most of my planned weekend things, but not all. I still have some ansible/lxd things to do
      • looking at things on how to loose weight, I’m not into sports at all and have an old knee injury so it’s going to be mainly food related things
      • I might need to travel to Sweden next month, so I’m looking at possible travel routes and accomodations
    22. 3

      Last Friday, a friend and I started to do 2 sigma’s Halite challenge. I will continue working on that this week on my spare time. I did it in Rust so learning the language too.

    23. 3

      At work I volunteered to be on the triage team for another 10 weeks, so I’m still doing that.

      Outside of work I need to get to work on the programming assignment for a job application. Original plan was to do it over the weekend, but then Arapahoe Basin opened Friday and I had to go skiing… I got a bit done on Sunday, though, so hopefully I’ll be able to wrap it up in the next couple days.

      Other than that I need to catch up on some chores, research and buy new skis, and tune up my bike.

    24. 3

      Working on generative art, using quil, a Clojure wrapper around processing. My main problem right now is that I’m not taking the time to come up with interesting ideas; I’m sharpening the axe (recently got a PR into quil, yay!). That’s great, but it’s not exactly making good art.

      Also, as usual, random Emacs stuff. I recently started using org agenda again, so I’m investigating using it for non-scheduled things, like “what books am I in the middle of reading?”

      And, offline, trying to start up a new improv group with just one other person. I want to do some slower styles that don’t work in my main group.

    25. 3

      I set up a new Pleroma instance: d20hero.club and a small instance information website to help table top game players migrate away from G+ and into the fediverse.

      The 5000 character limit means its better suited to their use than Mastodon, plus Pleroma will run happily on very cheap hardware so it’s very affordable for me to run.

    26. 2

      Rewriting an API and making some updates as well as adding new features, this runs on the yggdrasil Network

      Maybe clean up a server and remove a site from it.

    27. 2

      This week we’re working on a real estate application that connects to an authority on listings api, brings in listings, lets you augment blog posts with the listings, and much more. It’s a fairly advanced website, I’m pretty stoked.

      In my free time, I’m still playing with Go. I’m currently messing with a Discord bot in it

    28. 2

      Finishing some slides. I’m going to be giving a talk about PHP performance at SymfonyLive Berlin on Friday. Other than that testing the ML product from elastic, looks very promising for our specific needs. A bit of Go, I’m starting to write a downsampling proxy for InfluxDB, that will allow us to have the same data with different granularity.

    29. 2

      The first round of Abstractions conference sponsorship pitch emails are going out later this week after getting a verbal commitment from what may be our top sponsor late last week!

      The thing I’ve been building for work for the last 16 months is going into customer hands later this week! There are still some bugs to work out, though.

      I counted up my hard drives and I’ve got nearly 30 drives with nearly 36 TB of storage, but only 16 TB of that is powered with only about 8 TB of 12 TB in RAID6 actually occupied. All of the drives are out of warranty now as in the NAS I’ve used for nearly 10 years so I need to figure out something to do with these drives that totally still work while also gearing up for buying a new NAS and populating it.

    30. 2

      I’m working on Swagger UI’s Docker image - we want to expose more configuration options through environment variables, so I’m dropping the current approach of using sed in favor of a Node.js script that generates a JavaScript fragment for the image to serve up.

    31. 2

      Work

      I currently work for an attorney service company. We have the largest court system in the US coming online in a couple of weeks so finishing up a few loose tickets & prepping for the wave of madness of the release.

      Personal

      I just found out that my VPS provider had an entire raid array failure which slagged my personal machine, soooo probably that.
      On a related note: Anyone have a recommendation for a VPS?

    32. 2

      Work:

      Automatically migrating dependencies from ant projects into Gradle files This is proving to be not that simple. Anyone have a better idea than parsing the Gradle file and adding dependency expressions into the AST ?

      Personal: Road cycling season is more or less over until next March just in time for me to start a off season training plan

    33. 2

      Work:

      • Implementing payments and making sure the proper users are notified via in-app notifications/email. Thank god for Stripe. Having both Customer Success and Marketing double-check my scribblingcopywriting to make sure it’s on point.
      • Upgrading our self-managed kubernetes cluster (3 major versions behind…) - lots of new features, lots of tiny (but breaking) changes, should be fun. Still really like kubernetes though.
      • Learning about all the terrible ways AWS and RDS can fail

      Home:

      • Taking care of my 5-week old daughter (together with my girlfriend) and making sure everything is taken care of.
      • When everyone else is napping, playing a bit of Pathfinder: Kingmaker. I haven’t been this addicted since Neverwinter Nights 1 or Baldur’s Gate 1 came out, it’s dangerous!
    34. 1

      Work:

      Automatically migrating dependencies from ant projects into Gradle files This is proving to be not that simple. Anyone have a better idea than parsing the Gradle file and adding dependency expressions into the AST ?

      Personal: Road cycling season is more or less over until next March just in time for me to start a off season training plan