Software Engineering In the cloud "Why do I need to SSH into a CI runner to debug some test failure that I can't repro locally?"
Software Engineering Testing: The functions you wish existed "Write your test code with the functions/methods/classes you wish existed, not the ones you've been given."
Software Engineering Senior developer's perspective "It's considered good form to demand that regular expressions be considered verboten, totally off limits for processing HTML, but I think that's just as wrongheaded as demanding every trivial HTML processing task be handled by a full-blown parsing engine."
Software Engineering Teach programming! "There’s a lot of value in having people on the team who’ve yet to develop the same biases. People who’ll force you to think through and articulate why you do the things you’ve come to take for granted. The reflection may help you spot a better way."
Software Engineering Coding team: Important latency numbers "We design systems around the size of delays that are expected."
Software Engineering Deploy to Linode from GitHub This action will take an artifact, scp it to a linode, untar it, and execute the deploy command. If the linode does not exist, it will be created and provisioned with the stackscript found in this repo. If the app has any subdomains, an
Software Engineering Keeping software up-to-date The collective desire to avoid downtime makes everyone less likely to perform software upgrades."
Software Engineering nbdev With nbdev, developers simply write notebooks with lightweight markup and get high-quality documentation, tests, continuous integration, and packaging for free!
Software Engineering Terraform: Parallel builds with Packer With Packer, you can build a software appliance for every supported platform all in parallel, and configured from a single template.
LaTeX LaTeX: Performance tune-up needed On Overleaf, typesetting LaTeX documents is pretty fast, but the time required grows quite quickly when your document reaches about 70 pages. For my master thesis, I needed to start a premium subscription trial to be able to typeset my thesis in full for
Design Design: User interfaces "I strongly believe that you can “begin anywhere” and don’t need to learn technologies in any particular order. But I also place great value in gaining expertise. Personally I’ve mostly been interested in creating user interfaces." says Dan Abramov
Software Engineering Software engineering: Complex code Measuring your skill by the number of lines of code you have written.
Software Engineering Pretty good developer Let's say you are really a 10x engineer. How much more effective are you if you could improve the efficiency of 350 developers by 10%?
Software Engineering Using Python for research - course notes Instructor: Jukka-Pekka Onnela Unlike for “consumer software”, changes are often induced not by customer’s requirements, but rather by outcomes of the process along the way. For this reason, it is extremely valuable to design it in ways, which will not require a “total
Software Engineering Celebrate tiny learning milestones By Julia Evans: https://jvns.ca/blog/2022/03/13/celebrate-tiny-learning-milestones/
Software Engineering Software Engineering Stories: The Missing Driver Once upon a time I updated the Armbian OS on my computer using the Apt package manager, as I regularly do. The next time I booted the computer, Wi-Fi that worked fine for months disappeared.
Software Engineering Origin of the Shell Louis Pouzin: "I felt that commands should be usable as building blocks for writing more commands, just like subroutine libraries. Hence, I wrote "RUNCOM", a sort of shell driving the execution of command scripts, with argument substitution".
Software Engineering The practice of writing clean code How do you write well-structured programs that read like stories? Uncle Bob has an idea.
Software Engineering Containers and virtual machines Containers are lightweight, but in terms of maturity of the technology, and security, they are considerably behind VMs. To get the best of both worlds, use containers inside virtual machines. More often it would be more expensive to redesign the application for containerization than
Software Engineering Fast functional sorting There is an optimized method to sort a list of items. The method is known in Lisp circles as "decorate-sort-undecorate". Wikipedia notes that this method is notable for not employing temporary arrays. It shines where items need to be sorted by a
Software Engineering Understanding Lisp Stepan Parunashvili writes: Every lisp hacker I ever met, myself included, thought that all those brackets in Lisp were off-putting and weird. At first, of course. Soon after we all came to the same epiphany: lisp’s power lies in those brackets! Stepan invites
Software Engineering The Practice of TDD Test-Driven Development is a discipline - highlights Robert C. Martin. He compares it to the discipline of medical practitioners washing hands between procedures, or the discipline of handling a gun at the shooting range, or the rules at a martial arts dojo. The practice
Software Engineering Read-Eval-Synth Loop: Synthesizing software A frequent programming pattern for small tasks, especially expressions, is to repeatedly evaluate the programon an input as its editing progresses. The Read-Eval-Print Loop (REPL) interaction model has been a successful model for this programming pattern. We present the new notion of Read-Eval-Synth Loop
Clean Code Clean Code: Cost of TDD When code rots, it becomes rigid, fragile, and immobile. Each time you touch it, you risk breaking it in another place. TDD eliminates the fear of change. But can you afford it?
Software Engineering Clean Code: Separating abstractions from concretions Uncle Bob reminds that source code dependencies should cross the boundaries between the abstract and the concrete pointing from the concrete side towards the abstract side. Concrete -> Abstract As in: Application and Domain Objects ^ | DB Interface Layer | v Database Source: Clean Code