Programming Leftovers
-
Accelerate Python code 100x by import taichi as ti | Taichi Docs
-
You Can Build Portable Binaries of Python Applications
-
Pycharm Extends Support for Python 3.11 with Improved HTTP Client and UX Enhancements
JetBrains’ Pycharm has released a new update 2022.2 with a range of features like providing code insight for Python 3.11, run-environment selection in HTTP client, new UI for setting up remote interpreters and support for PyScript framework.
The Python version 3.11 has code insight for exception groups, for marking individual TypedDict items and initial support for variadic generics. In the new version, with a click of an icon in the gutter, developers may select a “run environment” before “run”.
-
This is not your grandfather’s Perl
All of this meant that for almost twenty years, Perl had no next version number to use. And this has, unsurprisingly, led to a large part of the industry assuming that Perl hasn’t changed much over that time. This is unfortunate as Perl has undergone massive changes in the new millennium. The Perl 5 team have developed an annual release cycle, where a new version is released in about May of every year. Version 5.36 was released in May 2022 and is very different to version 5.6.0, which was current back in the summer of 2000. In this article, we’ll look at some of the new Perl features that you might have missed.
-
Do we need an office?
Apple first announced their return-to-office policy, which resulted in their Director of ML leaving, then retracted it, then re-introduced it, resulting in a petition against the change.
[...]
When thinking about the most efficient work setup, it’s necessary to first define the parameters which we are optimizing our setup for. In general, knowledge work in software consists of using our cognitive and logical capabilities to produce solutions to problems. The nature of these problems can vary greatly - how to implement a feature using a certain programming language, how to structure & resource a project to fulfill customer’s schedule requirements, how to solve interpersonal issues in a team, how to improve the flow of important information within a company, the list goes on and on.
-
Good Interviewer/Bad Interviewer
This post outlines what separates good and bad interviewers, inspired by Ben Horowitz’s timeless post about what distinguishes good product managers from those that are bad.
-
Visually impaired, blind children benefit from new coding project
-
Materializing Results
Cache invalidation is hard. Even if it's not really "cache invalidation." The problem is that you often want denormalized data from your relational databases. But complex joins and large amounts of data can make those queries expensive (in terms of both time and dollar cost).
The answer is often an incremental approach. A materialized view provides an up-to-date cached table of the denormalized data. They've been around in some form since 1998 (Oracle 8). You can manually implement them with triggers and state functions, but those solutions aren't generalizable.
-
Git - How to prevent a branch to be pushed
I was looking for a simple way to prevent pushing a specific git branch. A few searches on the Internet didn't give me good results, so let me share a solution.
-
101 software engineering realities you must be aware of (especially as a junior engineer)
I have been writing code in some form for more than 20 years now. I have been a software engineer by trade since 2007. Repeatedly, I find myself discussing the same points with multiple people interested in software engineering and web development, mostly junior engineers. So, in this post, I am going to list 101 software engineering realities (experiences moreover) that you can read and possibly learn from, here it goes.
-
Scala isn't fun anymore
Many Scala libraries are really well maintained and stable (e.g., Cats), and we’ve got the tools to do it, such as sbt being awesome at conditional/cross compilation, checking versioning schemes, or the availability of Mima, a plugin meant to check for breakages of binary compatibility. It’s a useful case study in communities adapting to their sins. But being the user, and having to deal with all the breakage, is still painful as hell, and I feel that in general many libraries have no respect for downstream users suffering from breakage.
-
All Hail the Tech Magicians and their Cantrips
My fear here is that we have built a world in which nobody understands how anything actually works. That applies to both the economic priests that we have been serving along with the tech priests that we will inevitably end up serving instead. This idea scares me because it means that on the day things really begin to break, nobody will be in a position to fix it. Right now the end users bet on me being able to fix broken things and I'm betting on the proprietary application / cloud service developers (e.g. Microsoft) being able to fix them.