1. 12

What are you doing this week? Feel free to share!

Keep in mind it’s OK to do nothing at all, too.

  1.  

  2. 8

    Work: I have emerged from the seven circles of ASN.1 implementation hell. I am now in the 49 circles of ASN.1 testing hell. I believe I have seen Virgil’s ghost wandering around here but not even he wanted to have anything to do with me.

    Non-work: I’m trying my hand at fuzzing some Modbus implementations. I expect this is going to come up at work at some point, too, but in a pretty different context, and it looks fun enough that I figured trying my hand at it now can’t hurt. Also the COVID-19 cases are ramping up again around here so I guess I have a lot of extra time to spend indoors anyway…

    1. 4

      Work: I have emerged from the seven circles of ASN.1 implementation hell. I am now in the 49 circles of ASN.1 testing hell. I believe I have seen Virgil’s ghost wandering around here but not even he wanted to have anything to do with me.

      You could not pay me enough.

      1. 4

        Well… it’s not that bad. I mean okay yeah it’s an absolutely awful encoding and it wasn’t exactly fun to code but it’s programming. It’s one of those unglamorous things that nobody (myself included) wants to do but all quality software has some of that. No good program consists only of parts that are fun to write.

        Besides… it’s programming! Last year in June I decided to do freelancing/consulting full time, not necessarily because I wanted to but because I was pretty sure that my technical career would otherwise be over within five years. The local job market is heavily skewed towards outsourcing/services and legacy projects, with practically nothing to learn after the initial onboarding and zero career perspectives if you’re not aiming for middle management (which I absolutely don’t). At one point I caved in and got a job in one of those companies, mainly for (temporary) financial reasons, and it’s been exactly as I expected: I spent four years getting a massive paycheck for intern-level work, learning practically nothing, and watching my skills rot and degrade day by day. At one point I counted these things, I went from December to June next year without writing a single loop. None of the code I wrote or fixed in that time was complex enough to warrant that.

        It’s been a whole year already and I’ve had no shortage of projects (in fact I’ve been turning down contracts since the beginning of the year), but even an entire year of pretty cool work is still far from compensating for the last four years of bullshit corporate jobs. I’d take fourty years of ASN.1 over that any time.

        1. 1

          I’m afraid of being the cause of yet another ASN.1 CVE. But, yes, freedom over bullshit ∞

          Where are you?

          1. 2

            I’m afraid of being the cause of yet another ASN.1 CVE.

            Oh, yeah, tell me about it. I’m scared shitless, there are several functions that I’ve reviewed so many times I must have learned them by heart already. Fortunately, the Higher Powers in charge of this project understand the risk very well. There are multiple rounds of code reviews scheduled. The next thing I’ll have to do after all this is done is come up with a way to fuzz this, which will be a part of our CI pipeline. And I expect that, for quite some time in the beginning (1-2 years?), there will be limited-scale deployment of this code, in well-controlled environments.

            But, yes, freedom over bullshit ∞

            I certainly don’t mind the freedom, but not being stuck doing brain-numbing pseudo-programming for 8 hours a day is what I really wanted. I was afraid that doing that for too long would take me past the point of no return, where there was no way I could do serious engineering again.

      2. 3

        You have my deepest and most sincere condolences. What horror sent you on this doomed quest?

        1. 2

          I’m implementing an obscure protocol that uses a subset of ASN.1 for some things, with its own encoding scheme (because being able to use an existing ASN.1 library just wouldn’t be any kind of bloody fun now would it). All I can say is that I expected it to be worse than it turned out to be. Still miserable tho’ :).

          1. 1

            Are you implementing BACnet?

            1. 2

              *blinks twice*

              Edit: I’m not sure if I can say what protocol it is in public but yeah, it’s one of those protocols, devised back in the 20th century when we thought the future of communications was bright and the mere thought of controlling things over HTTP made people chuckle (or cough nervously because they didn’t know what HTTP was, it was still pretty new…).

      3. 5

        Doing a bit of Dwarf Fortress. Going for the console tiles for the retro feel :)

        1. 2

          I’ve gotta give that one another attempt.

          Whenever I’ve tried, I think I’m picking a crappy spot for my settlement, and maybe I’m also not handling all the job assignment mechanics right, because I can get all the above ground workers to do worker bee things, but I can’t get anyone to mine to save my soul :)

          If you’re enjoying DF you might just possibly enjoy Kruggsmash’s Youtube channel where he details the ongoing fate of his fortress with amusing illustrations and decent story telling :)

        2. 4

          I’m experimenting with some zettlekasten. Taking a look at org-roam first I think.

          1. 2

            Incidentally, org support just got merged in neuron.

          2. 4

            !$work: resting/playing FF7 remake. Dreaming of the next game I want to make, probably a side-scroller.

            Big news: I shipped my first Unity game yesterday, a Galaga/Asteroids shmup. Here’s the WebGL build if you want to try it. It could use one or two more mechanics, but I’m about done with it at this time. I wanted to practice gamedev as much as the discipline of shipping.

            1. 3

              Do not under any circumstance click on that link if you want to get any work done for the next couple of hours :).

              It’s really cool, especially for something that “could use one or two more mechanics”! I have a soft spot for vertical shooters, so I’m probably biased here, but this is pretty fun to play, and I think it turned out way better than what first games with a particular tech stack generally turn out to be.

              Edit: btw, I really like the asteroids. Most shooters use those just as an excuse to get you to dodge stuff, but when they block both yours and your enemies’ bullets, it’s a whole other level!

              1. 2

                Thank you for the comments, that makes my day! :)

                IIRC, you can get enemies to shoot each other, too. Only seems fair; I hate arbitrary mechanics that don’t work in favor of the player.

            2. 3

              WORK: currently jobless, filled for unemployment for the first time of my life. Brushing up my CV and going for that job hunt. Finish some results for my previous academic contract.

              HOME: Got a new apartment with my partner. We will be moving there at the middle of the month. Lots of packing going on and reducing screen time.

              1. 3

                Grocery shopping. It’s a while event because we buy for a month now. That involves driving to two different stores, then wiping everything down with disinfectant at home.

                1. 3
                  • Scratching an itch. I’m writing a book using LeanPub/Markura and heck if I can get the LeanPub output translated into something in Google Docs that doesn’t look like crap. So I’ll roll my own little app to do it.

                  • Adding some content to a new site. I’m moving my stuff to locals and I want to set up an editorial calendar and add material to it.

                  • Talking to some beta reviewers. The last chunk of my book is in the hands of my informal beta group. I’d like to hear what they’re thinking about it.

                  1. 2

                    There’s also pandoc to generate ebooks. I use pandoc+xelatex for GitHub style markdown to pdf and use a custom css to generate epub version. I wrote a blog post for the pdf customizations I did (need to update though). The blog post also includes other ebook generation options.

                    1. 2

                      Yup. This is what drove my decision to kick out some code: this isn’t that hard of a problem.

                      I spent two hours yesterday online and trying various transforms, such as PDF->Word->Google->Docs

                      It all looked like crap. Best I can tell, the converters are doing bad OCR on the doc images. Hell, I could probably bash up a quick script that would be good enough to upload and have the beta testers review. This shouldn’t be that hard to do.

                      I’ve been putting off pandoc for a bit. Right now I’m only using a few markdown commands. If I continue to need more functionality, I’ll go to a library. (Of course, then one wonders what one is using LeanPub for)

                      1. 1

                        It was lot of work for me to hunt down and figure out a decent looking pdf output using pandoc (didn’t know latex and still don’t know beyond settings that I copy pasted). Plus some initial environment setting issues. Which is why I wrote the blog post. And the struggle continued when I wanted to create epub version (which wasn’t helped by the fact that I didn’t know anything about css).

                        So, Leanpub does work for those who do not want to fiddle with such things and just want to write their book.

                        1. 2

                          No, I understand what they do and why. The first time I wrote an ebook, I did it all by hand, making the epub using a build script. That got gnarly, so I switched to a vendor that handled all that crap.

                          Now when I need an output format the vendor doesn’t provide, I’m back to mucking around in ebook code. I have better things to do. (In fact, the only reason I’m writing the code is to use some of it as an example)

                          I love the LeanPub guys. I hope to continue being a customer. But having the same three output formats for years at a time is kinda sucky. Heck, even a Word Doc output would solve my problem.

                          You don’t want to use a tool that keeps adding new crap every year just for the sake of it, but if you’re job is outputting ebooks in various formats, that’s probably something you should tweak now-and-then, especially since adding a new output format wouldn’t change the user interface for writers at all.

                          1. 2

                            even a Word Doc output would solve my problem

                            If Leanpub is using pandoc internally, this should be easy to provide for them. May be write an email to them? You could also try pandoc file.epub -o file.docx. I just tried on my book, and it gave a decent output.

                    2. 1

                      I don’t know if this is your use case, but you can translate Markdown to Word (.docx) and get that into Google Docs pretty easily. That’s how I like to write documents at work. Downside is that by default you’re going to get some really hideous fonts (Calibri and Cambria), might wanna change those to something more good-looking.

                      1. 1
                        • Scratching an itch. I’m writing a book using LeanPub/Markura

                        The online editor is not good. Even the github integration is not perfect. It will line-wrap when rendered in pdf :(

                        I emailed their support.

                        1. 1

                          What’s the book about?

                          1. 2

                            Understanding at a detailed level the interaction between people and computers.

                            Not useful for most folks, but if you want to really understand the programming/startup/UX world, irreplaceable. Lots of code and applied philosophy. Many conclusions folks will not expect, including coding and analysis best practices advice. I think it’s pretty easy to read, but who knows. That’s what the betas are for.

                            1. 3

                              I know couple of people who are into world of UX, Programming. May be this book will be good for them. Is it available somewhere to read while Work In Progress?

                              BTW I tried to access your website (from Lobsters profile) and it’s throwing 403 error!

                        2. 3

                          Back to writing this week after a bit of break last week. Hope to update both JS and Ruby regex books based on updates I did for Python regex book by end of this month.

                          I’m also going to explore options to convert these books to interactive courses. I got a request from one website last month and another not-yet-released site contacted me two days back.

                          Though there’s plenty of months left, I’ll probably finish filing tax returns this week.

                          My lunch provider was back today after two weeks of restriction, so that frees up some time. But I guess this will keep fluctuating based on how the virus situation changes.

                          1. 3

                            For personal stuff: I’m playing with static site generators, I need to pick one to migrate both my personal page and blog. I have used Pelican in the past, but at this moment I’m trying Hugo and Zola.

                            1. 3

                              Creating a DiscordRPC client for GZDoom.

                              Currently, it displays the game and level and has icons for DOOM, DOOM II, GZDoom, and Project Brutality (a modification/overhaul).

                              It should support any DOOM version as well as Project Brutality, though I’ve only tested on DOOM and DOOM II.

                              It updates information every 15 seconds.

                              I’m making this for a few reasons:

                              • I could not find any pre-existing DiscordRPC client for GZDoom
                              • It’s something I would actively use, making development that much more enjoyable
                              • I could actually visualize how I would go about it, instead of feeling as blind as a bat like I do in most projects

                              Links: github, codeberg, sourcehut

                              1. 2

                                Love this! So cool to see this old game continue to get more and more love over time :)

                                1. 2

                                  Thanks! Nice to know somebody else likes it. :)

                              2. 3

                                Im implementing a few image-to-image synthesis GANs like Pix2Pix (https://phillipi.github.io/pix2pix/) and pix2pixHD (https://github.com/NVIDIA/pix2pixHD) from scratch in Pytorch with the end goal of working on making a higher-resolution and quality version of the few-shot video-to-video synthesis (https://github.com/NVlabs/few-shot-vid2vid) paper

                                1. 3

                                  Taking it easy after having finished my latest 15 week course, and continuing to work through The Nature of Code

                                  I don’t know if Processing will ever be my favorite programming environment but I love the concepts and it feels really good to step back from pushing really hard forging greater mastery of my existing skills and playing with something a bit lighter, more fanciful, and fun :)

                                  1. 2

                                    Nature of Code looks really cool! Will have to try it.

                                    1. 1

                                      Definitely recommended. I’m really enjoying it. The author also has a Youtube Channel his patter is silly but the tutorials are solid.

                                  2. 2

                                    Begin to implement ActivitySub.

                                    Look into using your own domain with any Mastodon instance.

                                    Apex.

                                    Continuing to recover from whatever mental illness has been put onto me.

                                    1. 1

                                      Look into using your own domain with any Mastodon instance.

                                      Ooh, let me know if you get anywhere interesting with this!

                                    2. 2

                                      Work: Docs, helping handle a new use-case for the software, and helping with getting things deployed.

                                      Other: Working on sorting out some medical stuff for my wife, playing Prey (2017), and (hopefully, depending on how my wife’s health goes this week) taking part in the Game Maker’s Toolkit game jam. I think I’m putting the game arcade idea on hold as my next Phoenix project. I’m not yet sure what it will end up being, but I know I want to do at least one more project before I start work on the e-shop for my wife’s crafts. I may port my blog engine over from Go to Elixir, since that’s the best approximation of the complexity that will be involved (even if it’s less complicated overall)

                                      1. 2

                                        @work In theory I’m testing our product running under Windows in WSL. In practice, at least Thursday and most of today, I’m struggling to get the right versions of Windows, WSL, and our code setup in AWS. Hopefully it’ll go smoothly once I get that all worked out…

                                        @home I finished reading through “The Book of Shaders,” and now I want to use it for something. I might try a graphing/charting library for Common Lisp with OpenGL graphics. Not sure that’d use much from “The Book of Shaders,” but it’s something I’d like to have.

                                        I also started reading the second book of “His Dark Materials” last night, and I’m hoping to finish this week.

                                        1. 2
                                          • Waiting for feedbacks/reviews of h11, an HTTP/1.1 parser for Zig, before making a 0.1.0 release
                                          • Looking for another side project to work on to improve Zig ecosystem
                                          • Run and climb
                                          1. 2

                                            I finished my literate programming system that combines AsciiDoc and Noweb. Used it to work on a simple game, but my motivation for finishing that game is low. So I’m using it now to solve Project Euler problems.

                                            1. 2

                                              At work: finishing up the last week or so of work as a full time employee, then going freelance consulting. Risky economic environment but I have a good cash cushion.

                                              At home: writing a language grammar in tree-sitter, which is a parser/lexer designed for use in editors. It has a focus on parsing error recovery, incremental re-parsing, and speed. It was originally created just for better syntax highlighting but it looks like you can use it as the foundation of a full language server. I’ve never written a parser or compiler or anything like that before, it’s a lot of fun!

                                              1. 2

                                                @work: i’m diving into the prometheus/alertmanager/grafana thing, and i’m finally starting to understand it.

                                                @home: i should implement some kind of gitops workflow for my personal infra, but I’m currently a bit tired to do it, and work stuff takes precedence over this. I have my own gitlab instance, my gitlab-runner, my vault to store keys and i know how to wire them together. I just don’t feel like doing that right now. also, since i’m learning about prometheus/alertmanager, I should switch my monitoring&alerting from zabbix to prometheus+alertmanager+grafana…

                                                1. 2

                                                  Work: revising our order management database schema to fix some minor issues. Also running tests on our shipping label generator, as it’s crashing every weekend and we don’t know why yet.

                                                  Personal: started learning Swift and SwiftUI over the weekend. So far I’ve written a barebones implementation of the virtual machine that my RetroForth runs on and added a simple UI to it. I also started working on implementing a gopher client in Swift.

                                                  1. 2

                                                    I started working on a digital art exhibition website this week. It’s inspired by a former software from over a decade ago that I used to love called Digital Flow.

                                                    1. 2

                                                      Trying to survive the summer heat and the rest of this sprint.

                                                      1. 2

                                                        At work, I’m shipping some GitHub Actions product improvements. At home, I’m in NYC so I’m not doing much of anything 😭 other than watching “I May Destroy You” on HBO and reading my backlog of Increment and Stripe Press books I bought. If I have time, I’m also talking through an approach to a rich text CRDT with some folks that know much more about it than I do 😄