1. 22

This is 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. 11

    It’s the last week of my microcontroller kickstarter project. We’re fully funded (in fact over 400% funded), so it’s definitely happening. Feels a bit unreal though.

    The 1.0 test boards arrived today. They’re white so I can easily see what happens when they’re touched with a soldering iron and it looks like I have some rewiring to do to avoid possible bridging risks if people slip while soldering. I also have to do all the necessary continuity tests on the board before we go for the final production run (which will be white on black). This is good though, because it totally justifies doing the test run of 1.0 before we order tons of the things.

    I’m also working on our documentation, last week I got to write up a cool project teaching people how to find secret government messages embedded in colombian pop songs, and some investigations into the sinking of the Titanic using the radio chatter from the time.

    This week I’m finishing up a Morse messenger project to teach some programming concepts then starting on what we’re calling a programmer passport, which is basically a way of generating art through keyboard automation. I was thinking of opening the project up with one of my favourite examples, the music video for Jed’s other poem (Beautiful ground).

    1. 3

      Congratulations on your successful Kickstarter. Was it your first one? What did you learn about the process?

      1. 3

        Yeah it’s the first kickstarter and it’s the first product (I’ve worked in services pretty much all my life). I’ve learned a fair amount about the process. Perhaps the weirdest thing was that we were pretty much ignored by all of the mainstream maker media, which I partly put down to not getting our message right from the start in the kickstarter. I have a lot of media contacts in the information security industry, but none of them bit either (which is understandable, it’s hard to pitch teaching kids electronics to wizened cynical security journos).

        I always knew we’d be able to ship, we were at 0.9 before we started with minor cleanup needed on the hardware and our supply chain is pretty much 99% sorted (although we did have to change PCB fab partway through). I did massively underestimate just how much hard work was involved.

        I think anyone looking to do a kickstarter needs to think about what they want to get out of it and why before they start. We thought we’d get some interesting coverage and exposure, where in reality it’s more about opening up new areas in existing relationships. Also I’d say for anyone doing a kickstarter they pretty much need to have a finished working product before they start.

        If I was to do it again, I’d have waited longer to launch to finish the documentation, sort the add-ons and get the marketing message sorted. I’d have done some more smaller trial sales (we only did one in the Netherlands and an earlier freebie run in the UK that skewed our view of what people want).

        One thing I never expected was the sheer volume of crappy spam you get on Kickstarter. The amount of people offering everything from likes to prayers (yes, someone offered to cast a magic spell for money) is insane.

    2. 6

      Setting up my new home office in my new home. Just finished moving, so there’s a lot of unpacking going on right now. Aside from that, I’m gonna go ahead and try to hack my own brain to build up healthy habits; I’ve been taking on a bit of flab, and I realized I’ve stopped learning outside of work, or being motivated to build things that used to be very interesting for me. I think building up good habits will help, I predict myself having a hard time of doing that, but yeah.

      1. 5

        Mentionable within the last few days:

        • edited my wmstatus to run a coprocess for more info and written a Perl script to grab the weather; discovered numerous bugs in my projects along the way

        Still working on:

        • a trivial scripting language because there’s never enough of those
        • a sane typesetter for my invoices (just made pango/cairo measure text and output PDF files)

        I’ve just managed to stop being too lazy to even live, now where was I with those wheels…

        1. 3

          I’ve found the only way I can get myself to do things regularly is to have multiple “things/projects” going on at once, so when I’m bored or unmotivated with one, I can switch to another without feeling the time has been wasted. Means I do have a lot of things partly-done at any one point in time though, which apparently works for me.

          1. 3

            I actually have too many things going on (for a few lifetimes of work, and I’m not very fast). I can’t even pinpoint what changed, just that last week I lost any and all sorts of direction, got upset and somehow managed to force myself back on a track, managing to throw away a few time wasting habits like realtime chat and oversleeping. Mind tricks. So far it works.

        2. 4

          Still my Elixir OStatus server. It’s now properly federating with Gnu Social and Mastodon, still lots of small problems, though.

          1. 4

            I just recently published the first part of my ongoing MIPS work, you may have seen it here :


            This week I am working on polishing up the second part for release, which is to do with emulating a MIPS 4Kc processor.

            I recently managed to get the prototype of my C-based MIPS emulator to boot linux to the prompt, after a lot of blood sweat and tears, so it is time to step back and refine it.

            The work this week involves neatening up parts of the prototype for release, and extending mipsgen to generate the core of the emulator for both Javascript and C.

            I am currently writing a very basic transpiler that will hopefully do the job.

            1. 2

              Back when I was playing with this, I toyed with the idea of writing the mips opcode descriptions in a DSL I could compile to many languages. My goal was to port to lua and run it inside computer games that use lua as a scripting engine.

              In the end I wrote luamips, though never finished it completely.

              1. 2

                Luamips looks interesting. Which games were you targeting?

                With my mips stuff, I am traveling down a similar path. My goal is to be able to host ‘real’ C code in weird environments like the browser.

                My current plan for the DSL for the opcode descriptions will be a subset of C, or as much as I can be bothered to parse and transpile.

                My target languages for the emulator are currently C, javascript and ruby. I aim to keep the amount of language specific code down to around 500 lines, and autogen the rest.

                1. 1

                  My goal is to be able to host ‘real’ C code in weird environments like the browser.

                  Funny, my original goal was to run openssh inside the browser.

                  Which games were you targeting?

                  At the time it was garry’s mod + wiremod which is a sandbox electronics game.

            2. 4

              Editing Farisa’s Courage. Down to 120,713 words. Should easily get to my goal of 115,000. This pass, I’m focusing on grammar and character motivation. It’s probably the second-to-last before I’m ready to submit it to agents. [1]

              Still waiting on a start date for my next gig (which’ll take me back to the East Coast). There are some macro events that influence when I can start and that might (~5% chance) shut it down, alas. So I have this weird game-theoretic job search going on that would take too long to explain in intricate detail.

              Blog is back up and running but I refuse to do tech blogging, because I already got one round of death threats from people associated with Y Combinator and I don’t need another one.

              [1] Publishing is a mess. You literally can’t submit directly to publishers without an agent. Now, I would get an agent regardless of that requirement. The problem is that, because publishers refuse to accept direct submissions, every yahoo is submitting to agents. That means that even getting an agent is competitive (much harder than getting published once you have one). In essence, publishers have made agents the HR Wall that bounces the unqualified masses. I’m sure that I’ll get through it, but it takes a long-ass time (12+ months). Literary agents don’t even read most manuscripts anymore; they delegate that to interns, so you have second-order agents.

              In the long term, trade publishing is doomed to contract as the entrepreneurial publishing (or self-publishing) ecosystem grows up. As for right now, though, there are still enough benefits if you win the trade-publishing lottery that it’s worth it to try.

              1. 3

                Blog is back up and running but I refuse to do tech blogging, because I already got one round of death threats from people associated with Y Combinator and I don’t need another one.

                Wat? Did I miss some kind of tech blog/forum drama? I wouldn’t figure on tech incubator people sending a lot of internet death threats.

                1. 1

                  Did I miss some kind of tech blog/forum drama?

                  You didn’t miss much. I wrote a blog post in 2013 that Paul Graham thought was about him (it wasn’t) and then a couple of junior YC people attacked me in 2015 and got me banned from Hacker News and Quora on false pretenses. I don’t know if PG was involved but I blame him for not stopping it.

                  I highly doubt that Paul Graham or Sam Altman (who actually seems to be a decent guy) had any specific knowledge of the death threats. Usually, when you get harassed in the Valley, it’s not the bigwigs who do it (they don’t have time for petty vendettas) but people trying to ingratiate themselves to the bigwigs.

              2. 4


                • css reworking
                • anxiety


                • working on my homelab.
                  • got a faster cable modem in the mail, gotta install/register it
                  • waiting patiently for my gateway pfsense machine to come in (a pcengines apu2).
                  • booting openwrt on my ubnt ap
                • building a Let’s Split v2
                  • I’m around 1/4 of the way done harvesting matias quiet click switches from an old broken board
                  • I have some apple extended keyboard ii keycaps I harvested that I need to put through a bath, etc
                  • Waiting patiently for my diodes and other hardware to come in the mail, so I could start soldering on the board
                  • maybe prepping some stickers to decorate the acrylic plate with before I install switches on it
                • also I’m working on a custom usb mini cable for my ps4 controller (i play rocket league with it quite a bit) but I got the wrong connector in my kit on accident ?… so I’ve gotta order a new one of those.
                1. 2

                  booting openwrt on my ubnt ap

                  Out of interest, why? ? Just not having to run the Ubiquiti Controller software to configure it, or are there other benefits?

                  (I had a quick read of the wiki page, but that fails to list benefits, or I missed it.)

                  1. 1
                    • fun
                    • open source

                    that’s plenty for me…. except a third “benefit” which would be if it doesn’t blow up all the time (not that ubnt’s software does) but only booting it and using it for extended time will tell us that ?

                    Also yeah, I do not want to install their software on my computer for configuration. I already have openssh and screen/a serial cable… is that not good enough

                2. 4

                  I just finished my 1-week sprint of a plug-n-play comment engine for websites and especially static blogs.

                  Now time for some rest :-)

                  1. 1

                    Hey I thought about something similar, sounds pretty cool :) what I would personally like is a system that works without Javascript but I am not sure if that is possible at all in a static blog setting.

                    1. 1

                      What’s cool? The sprint part or the commenting part? Answering you on your other post.

                  2. 4

                    Working on the next big update to Learn TLA+. A lot of small changes, but the main one is that I’m ripping out the current reference section (“here’s the set of all automorphic functions over a set!” is cool but not very useful) and replacing it with a ton of example specs (“here’s how to simulate a client-server architecture!” / “here’s how to find bugs in MongoDB!”) and techniques (“here’s how to add cronjobs!” / “here’s how properly use model values!”). I think that will make it much more useful to people who know the basics but aren’t sure how to apply it.

                    1. 2

                      Is the “HEY” the part you’ll be getting to soon ;)? https://www.learntla.com/introduction/

                      1. 1

                        That part is 1000% perfect and nothing will ever change my mind

                    2. 3

                      Ripped the old thermostat out of #ProjectBMW and tested it on the stove - worked fine. Still going to replace it, but not so sure that was the root cause of the overheating. I’ll have to wait and see (my favourite kind of car debugging… not.)

                      Prometheus is happily instrumenting things on my local network, also picked up a ram upgrade for the microserver (from 6GB -> 8GB) by buying some Mac Pro ram sticks on ebay cheaper than I could buy sticks advertised for the microserver. Recognised perfectly fine.

                      This week I need to do some webserver maintenance, couple of sites I run have been a bit unstable recently. Also looking at moving from my puppetmaster-over-ssh thing (back) to puppet apply, because that looks like less work than trying to upgrade the puppetmaster-over-ssh work to puppet 4. Also discovered you can have “masterless puppet” nodes use puppetdb over the weekend, so you can get exported resources & reports to work without a puppetmaster. Which makes puppet apply much more interesting.

                      1. 3

                        Outside of work I’ll continue to work on kurly, which launched last week to a very satisfying reception.

                        It has already received a handful of PRs from a couple of people, a few issues reported, and other feedback that has been positive.

                        Happy times.

                        1. 3

                          i’ve recently joined the pytype team, and have been really enjoying getting up to speed on it - it’s probably the most fun i’ve ever had at work. i’m currently working on python 3.5 and 3.6 support, which should hopefully close out a lot of open bugs.

                          1. 3

                            At work, I’m getting ready to build a report emailing service, which has involved taking a look at how cron schedules tasks (for a basis), and investigating the Dispatcher class which seems like a nice way to take the smallest bare basics from the Actor Model and use it in C#. I realize this missed out on the supervision trees, but it allows me to use an event queue as a poor man’s message passing w/o having to bring in a dependency on Akka.NET for a project that won’t be a distributed system.

                            For fun, I’ve finally started investigating irc bots in PISC. I’m going to have to start looking into how I’m going to do timers and the like since PISC has been single-threaded so far. I’d like to be able to build an evented bot under the hood. I also recently took part in Ludum Dare 38, and I’ve been polishing it a bit here and there.

                            I’ve recently mostly graduated, so I’m switching to a different schedule of avoiding computer screens when I’m at home (for the moment, my Kindle is an exception for it’s ability to display documents so I can save on printing). I’ll be working on establishing a diet and exercise routine over the next 40 days or so, in order to try and keep my body from deteriorating like it’d be apt to do if I continued my college practices. I’ll also be working on a small school project to connect an Android phone to an Arduino Nano via Bluetooth over the next few days.

                            We’ll see where I am in a week!

                            1. 2

                              Trying to to see if a Windows video capture library will be easier than maintaining our current video capture code. My boss is all gung ho on it, but if the past is any predictor of the future, it will be more trouble than it is worth. Not only do I have shoehorn their paradigm into ours, when anything breaks I have to hope they can fix it in a timely manner. These black boxes have almost never proven to be worth the grief in the end.

                              1. 2

                                Got booked in last weekend at jsday italy for a 50 minute slot (which is this Wed), so preparing a talk on how to write both a server and client framework from scratch. Thought it’d be fun to talk about the requirements frameworks have to deal with so, and show how to write it using just libraries so that people better understand what core browser / node APIs provide & they can better evaluate frameworks. Yay yay.

                                1. 2

                                  My ereader broke so I cant read much right now… I’m thinking of trying my hand at the Rust Libz Blitz while I wait for a new ereader.

                                  At work I’m doing some testing and bug fixing of work done last week, which mostly consisted of writing functions to overhaul the document upload and viewing process in our app. (And then replacing every call to copy with those functions)

                                  1. 2

                                    This is my last week of my “sabbatical” and knowing that it’s coming to an end I’ve been being a lot better about spending my time on projects.

                                    Right now I’m working on writing a note-taking app. It’s mostly an excuse to learn how to use GTK+ with rust. It’s my first non-completely-trivial thing I’ve done with GTK, so it’s been quite a learning experience. However, I’m hoping to also end up with a useful app at the end.

                                    Screenshot of what I’ve got so far: http://tinyimg.io/i/pvIpNm9.png and the super messy code: https://gitlab.com/azdle/onefold Still have a long way to go.

                                    1. 2
                                      1. 1

                                        merp. Was set to private, public now.

                                        1. 2

                                          Don’t worry. I can relate. I’ve a lot of projects on gitlab but only a few are public :-)

                                    2. 2

                                      Working on getting my first private beta release ready for my Electron-based remote Linux server admin tool (http://www.serverwrangler.com/).

                                      1. 1

                                        Interesting. I subscribed even though I managed all my servers via ssh cli

                                      2. 1


                                        Docs, lots of docs.


                                        I’m thinking about writing a fuse filesystem that mounts consul key value store. If a key exists with a value of true, then the directory/file exist, otherwise the don’t.

                                        I’m thinking this could be cool to enable feature switches where software just need to check if a file exists to enable the switch. No fancy api or language integration. most programming languages have an easy way to check if a file exists. Maybe such a project already exists?

                                        1. 1
                                          1. put bells and whistles on the containerized DNA analysis workflow system
                                          2. stand up separate test system for $partner because they have real customers now and production is really production
                                          3. start cycling again?
                                          1. 1

                                            Started writing an interactive blog post about dot products.


                                            It’s still in progress, but it’s mostly up. Let me know if you have any feedback, or if you have other topics you want to learn about.

                                            1. 1

                                              I’ve been creating a tabletop RPG - we’ve had our first play tests and now I’m fixing some of the issues that turned up in it. Aim is to launch around the end of the year.