This weekend I will release Warp, the start of a new MIDI sequencer project. (If you find this interesting, you follow @warpseq on twitter for updates).
There are currently two leading methods for composing music with computers in 2020 — GRID based “Digital Audio Workstations” (DAWs) and ones that are more linear. The grid based tools are more focused around live performance, but are also great for compositional use. These include one of the inspirations for this project — Ableton Live.
Despite offering the suggestions for years, Ableton didn’t natively support the concept of musical scales. Rather, you are presented with a piano roll interface where you can put in notes, but to play in a different scale, you have to add a “MIDI effect” to the track which uses a X/Y grid to remap certain notes. …
Marketing on webpages for technical products is often notoriously bad. The cringe-reflex of reading many software web pages makes me often wonder how sales departments can be efficient when they are unknowingly offending the intelligence of their buyer audiences. Startup web pages are often similarly as opaque as possible.
The following post can be treated as advice for technical marketing groups everywhere, so that they can learn to communicate with their target audiences.
I don’t mean to be remotely disparaging to marketing groups in what I’m about to say, but they are frequently home to many people who haven’t tried to learn their products or their audience, and this is something we want to correct. …
It’s no secret that working in corporate software development can be an inefficient, sometimes Kafka-seque, sometimes soul-sucking place. It can be better. When it is good, there is nothing more fun than sharing ideas for algorithms and architectures over whiteboards. These are places where people can get enthusiastic about building. The culture of software has changed a lot as it has gotten more “common” over the last 15 years, and I think to make it rewarding — and also efficient — we need to keep evaluating whether or management and leadership strategies are optimal.
As software is an incredibly new industry in comparison with most (way less than a century!), the art of corporate software structure is not optimized. Many “experts” in this space are in fact consultants who can actually worsen the problem — without personal consequence — vs improve it. Most of our beliefs about how software organizations are run are not scientifically developed, but clones of previous companies we have heard of, and a mix of things that are currently in vogue. …
Let’s assume you want to understand the software patterns in a development organization, a software project course, or the open source community as a whole. Why you ask? I’ve never bothered about this before, right? Why should I be concerned about the data lurking in version control metadata? Answer: lots of reasons.
Maybe you are developer in a company of 400 projects, and want to know the best person to talk to about the user interface components of FooApp? Maybe you have been at a company for 5 years and need objective help making the case for getting a promotion. …
A quick list of VST plugins I like and find fun for computer music things. These are what I have marked as “favorites” in Ableton.
AudioThing’s “Outer Space” is a old Boss Tape Echo clone.
AudioThing’s “Springs” is a Spring Reverb with a Baxendall Filter added onto it.
AudioThing’s “Speaker” has a really cool lo-fi speaker effect. I also don’t use this a lot, but it’s great.
Arturia’s “Rev Plate” is a really cool sounding Plate Reverb
Psychic Modulation’s “Echo Melt” is sort of like a tape effects thing, but not cliched like the others or just trying to be a tape effect. It’s sort of like the effect version of Phonec (below). I don’t use it a lot (and usually dial the mix knob down a lot), but it is awesome. …
The documentation for this new project of mine is fairly self-explanatory so this is going to be a short post.
Python is generally great at being a rapid development language, though I’ve always felt the object system left something to be desired. It should be more expressive — the code more readable. Django mostly gets it right, but you’re not *always* using the Django ORM, an in fact, most of the time you are not.
The boilerplate and “best practices” required for manageable Python objects becomes something you get used to. More seasoned developers know about things like __SLOTS__, but why should they even have to exist? How much validation should you do? How many objects are type checked? Is python code creating member variables outside the constructor? …
The year was 2001 and the original “rock chisel” was a old printer in the Daniels operating systems lab of NC State University. I did not use rock chisel much, my prefered printer being “paperjam”, the similarly old printer in the ACM/AITP club officers office, not much more than a small closet just inside the doors of Withers Hall. I had the door code or a key or whatever, and I believe it did not charge you for printer quota. I could be mistaken.
Fast forward to 2012. I’m starting the Ansible project as a night-time side project, and as I think I remember it, Tim Bielawa, a former Red Hat colleague (I no longer work there), introduced me to Sphinx. Sphinx is a documenation tool written in Python that produces HTML webpages from various files written in reStructured Text format. …
I want as few extra computers and IoT things as possible in my life. I avoid internet connected thermostats. I do this because I computer for my “real job”, and I want things that just work.
For a long time, I was a customer of the Phillips Hue system, which worked well enough when I had a small townhouse. I had two buttons triggering some (annoying programmed) scenes for a small handful of light fixtures, and, for a while, had them integrated with Amazon Alexa so I could talk to them to control dimming levels.
There are numerous problems with Hue. Foremost, it has range issues, and when there are too many devices to talk to, frequently control commands are not 100% effective. The result of this is that, when using timers, some of your lights are going to be left on all night long. Another problem is that each bulb must be programmed separately, so replacing a (somewhat expensive) bulb because it burns out becomes a frustrating experience. Further, Hue requires proprietary bulbs, so that you can’t use it with specialty fixtures, such as old floor lamps or Edison bulbs. Finally, using any sort of device with a physical dimmer is instantly unsafe. …
This is not a blog post, but I am not wanting to be post spoilers to twitter.
Here are my spoiler-laden questions about plot holes and writing issues in Rise of Skywalker:
In light of Docker just giving up and rolling over, I think it was as a good time as any to talk about some assumptions we have about software deployment in the IT operations space.
In short, I believe we don’t need containers or configuration management systems at all…and I have an idea for a tool I’d like to see if anyone is interested in. It would be incredibly simple…but let’s start with some background to show why I believe this is true — particularly now.
We believe in immutableness not because images are better or faster. By contrast, building images requires waiting, and the process of constructing a new revision of an image reduces “flow”. For a developer, getting a new image right via a complex automation system can actually take all day. …