1. 8

    Peopleware (1987) - The rants against open office plans are worth the price of admission alone. Data-driven conclusions, a bit of disbelief aimed at the gap between what science knows and what business does, with a hefty dose of sarcasm to boot! Developers AND managers alike could all benefit from reading this and following the book’s advice.

    1. 5

      Also, I recently read “Team Geek”, which, despite the strange book title, is actually something akin to a mid-2000s update of “Peopleware”, written from the engineer’s perspective, rather than the manager’s. The authors happened to be Google engineers operating in Google’s smaller Chicago satellite office, working on the “Google Code” project (who were, in a prior life, the maintainers of svn). More information here.

    1. 2

      Got the game I’ve been re-creating (Get Ten) into a playable, though unpolished, slightly buggy state. You can inspect the source (it’s not the work I’m most proud of but it is functional) as well as try it out here: https://ember-twiddle.com/6dff2279c452a782983875c5f676238e .

      It’s a bit of a big deal for me as it’s the first side project I didn’t abandon halfway through. I get big ideas, get really excited for a few weeks to work on them, then lose all motivation to continue. Perhaps like this, the key is smaller scoped projects?

      I think I’ll pick another game to re-write in Ember, as it was fun to do. Suggestions for little number puzzle games welcome.

      1. 4

        I tend to be easily distracted at the computer, so last week I spent some time away from the computer writing game logic, on paper. With a pen. Forced me to think and discard many terrible ideas before they made it to paper, and hopefully by letting it sit a bit, even more bad ideas will be filtered out before they can get into the machine. This week I will tell the computer what I told my notebook, and find out how much less forgiving the computer is. Also re-starting hosting a weekly Ruby meetup for new/intermediate devs after a winter pause.

        Meanwhile at $work, we have newcomer to development. However, she has the right attitude, and is motivated to learn, and asks loads of good questions, so it’s exciting watching her develop into a developer. Teaching someone new about tech is my second favorite thing I could possibly to and get paid to do (the first being: do nothing and get paid for it).

        1. 2
          • Square in the Round.
          • Don’t Be Such a Square!

          or my personal favorite:

          • Why Round Numbers Win
          1. 2


          1. 3

            work: mostly documentation and dependency updates. yay.

            personal: exercism.io Elixir problems. It’s hard since my brain seems unwilling to stop thinking in Ruby.

            1. 2

              exercism.io Elixir problems

              Oh! I missed that they had other languages available. Thanks for the reminder, will have to give them a go. (Also in the same boat trying to get my head out of ruby mode and into elixir mode.)

            1. 6

              This week on Extreme Bug Hunters.

              Given that shells only use the lowest 8 bits of a program’s exit code, it’s obvious why Git could merge this file: the 768 conflicts were being reported as 0 by the shell, because 768 is a multiple of 256!

              This bug was intense.

              I’d really be interested to hear more about how the authors tracked this one down.

              1. 9

                Simple tracing of the process would show an exit(768) call. Or printf.

                I’m more amazed that somebody decided to use exit code as a count of things. Then again, they seem to think exit codes can be negative (not really true, but the shell may humor you). The very first sentence of the Linux man page even explains that the code is masked with 0377.

              1. 2

                Finished building my upstanding desk at the local maker space. Picture

                Embercamp on Thursday in London.

                1. 2

                  Re-learning that sometimes you need hammock time, not screen time, to solve a problem.

                  1. 20

                    This weekendish I started putting together a set of tutorials on embedded development. Some of my friends wanted to get started in embedded and “bare-metal” programming, so I started writing them the guide I’d wished I had. I found a lot of the material that exists either moved to slow because they assumed you didn’t know much about programming or moved too fast because they assumed you knew too much about embedded systems. I picked the Arduino (though programming it with plain C, not the Arduino environment or Processing/Wiring) because they’re fairly low-cost to start with and you get started right away; the AVR architecture is also not so complex that you have to learn a lot of additional stuff while trying to figure out how to write your program.

                    Also, I’m slowly burning out on the tech industry and finding some refuge in building a small rover-like robot.

                    1. 3

                      Thank you already for the tutorials you’ve written so far. Learnt a huge amount from reading them, looking forward to pulling out my Arduino and playing a bit more. Not gone outside the Arduino editor before, but reading the intro guide make a whole bunch of stuff in my head just click. Maybe my ‘duino controller RC car might get finished this year now. (Was previously attempting to control with an RPi, using Go. Never finished it.)

                      1. 2

                        Glad it was useful! If there’s anything in particular you’d like to know about, I’m always looking for ideas. I’ve got analog inputs, I2C, SPI, and maybe threading as planned future posts; once the AVR series is done, I’ll probably start a series on ARM and/or the MSP430. I’d love to hear more about the RC car as you work on it (maybe in future weekly threads?).

                        1. 3

                          Having failed to find my ‘duino, I’ve just picked up a micro on eBay cheaply to play with for this, heh.

                          My adventures with the car so far have been hooking up a RPi through a L298N controller to get the forward/backwards & left/right motors in the car working independently. (It’s a cheap kids remote control car that I think the RC crystal has been busted in. Wasn’t working with any of my remote handsets at least.) I kinda stagnated at that point, needed to get an interface in there somehow to have remote control of it (I was thinking from my phone over wifi at that point, hence having it controlled via a Go program.)

                          I’m now thinking I might try and have the arduino control the motors through the L298N (if required? Not sure, need to look up the voltage specs of the ‘duino), and control it via serial to start with. Possibly piggyback the RPi on there or try hooking a bluetooth or wifi module into the 'duino.

                          Not really done much hardware stuff beyond making plug n play devices work on OS' that don’t have out the box support for them before. Got a bunch of LEDs & buttons to start learning with though, but having the car project progressed me from “I’ll learn this stuff one day” to “how do I get this thing moving forwards”.

                          1. 1

                            I like these small 4800 bps transmitters and receivers when I want something dead simple. You might find those easier to work with for radio control than wifi or bluetooth.

                      2. 3

                        Seconding the slow burnout. This week I’m adding “PDF generation not required” to the list of things that I look for in a job. Also starting to pick up a little Elixir.

                        1. 1

                          Also, I’m slowly burning out on the tech industry and finding some refuge in building a small rover-like robot.

                          Is there anything in particular driving that, or just general constant churn from the industry?

                          1. 1

                            It’s complicated; there are specific things, but I don’t really want to mention them because I don’t think it would be productive.

                            1. 1

                              Fair enough, over the years I’ve wondered about the various drivers behind burn out, looking at ways to dampen their effect. Alternatively, they can become a catalyst for something else. Obviously it is different for every one person.