week 1 #opensourcevibe!š
The term āopen sourceā, for me, most immediately evokes a notion of project development more for the sake of bettering the world than purely for creating profit. My understanding of open source is located somewhere between that and sentiments of online community, anti-corporatism, and a vague, intuitive sense of political importance. Vague in a way that makes me want to learn about it to figure out the feeling, and intuitive in a way that makes me think this political importance is real and has been studied. It seems like an odd, surprisingly leftist tech movement that stands out from my jaded perspective on much of the tech world as actively making the world worse.
It does seem to me that that this perspective on open source has been a bit drowned out by the state of the job market. I think that the making of open source contributions into a goal in and of itself and into a method of getting a job for novice developers contradicts the rhetoric I described in my last paragraph and undermines the notion of communal development in that people may want to a work on a project they donāt use or even particularly care about just to be able to put some contributions under their belt. Ideally, it seems like the biggest contributers should also be the biggest users of the project, since they would have an understanding of what the project actually needs.
Bit of a non-sequitur; here are some open source projects I use.
STM32CubeF4
github
From the GitHub page:
STM32Cube is an STMicroelectronics original initiative to ease developersā life by reducing efforts, time and cost.
STM32Cube covers the overall STM32 products portfolio. It includes a comprehensive embedded software platform delivered for each STM32 series.
⦠The STM32CubeF4 MCU Package projects are directly running on the STM32F4 series boards.
The first non-Arduino development board I used was an STM32F411CEU6, which I programmed using STM32CubeIDE and this firmware packageās HAL (Hardware Abstraction Layer) drivers and CMSIS modules. The transition from Arduino to STM32 is not very smooth!!!!!!!!! The existence of this project helped a lot, especially since I started doing STM development while I was still learning computer architecture and C programming instead of afterwards.
Arduino
github
From the GitHub page:
This org contains the official Arduino tools (IDE, CLIā¦), documentation and cores.
Iāve created a decent amount of Arduino-based projects, including a custom MIDI instrument connected to Ableton Live 11 and TouchDesigner, a tapestry with a camshaft motorized to stretch at procedurally generated speeds, and an altar-like sculptural installation with neon red ābloodspatterā and a hanging purple laser pointed into the corner of an acrylic mirror that I used an Arduino to flash on and off in different ways to create different visual effects. I made these without, really, any knowledge of firmware development or systems programming, and the fact that these were one-of-one art projects that didnāt need to be mass-produced made it so that Arduino development boards being more expensive than other, less hobbyist boards didnāt matter as much. I will always appreciate Arduino for getting me into embedded systems engineering, even if I feel that Iāve outgrown it.
Prism Launcher
github
From the GitHub page:
A custom launcher for Minecraft that allows you to easily manage multiple installations of Minecraft at once
I reallyyyyyy like modded minecraftā¦ā¦ā¦like i rlyyyy enjoy it -_-. The most popular custom Minecraft launcher, is CurseForge, which I do not like using because it is not lightweight (which is especially important for modded Minecraft, since it takes up so much RAM), it constantly runs ads while its open, and it is owned by a company that I do not want to support. Curseforge also happens to be the go-to platform for downloading mods and modpacks for Minecraft, not just running them. Luckily, Prism Launcher has a feature that lets the user import modpacks and mods that are hosted on Curseforge without the user needing to have Curseforge installed.
Blender
github
From the GitHub page:
Blender is the free and open source 3D creation suite. It supports the entirety of the 3D pipeline: modeling, rigging, animation, simulation, rendering, compositing and motion tracking, even video editing.
I love Blender!! I started using it in high school, it being the first way I started creating visual art too instead of just music, and I havenāt looked back. The Blender community is, like, insanely active and helpful. My favorite feature is Geometry Nodes, which is a nodes-based visual programming language inside of Blender used for procedural 3D modelling and animation. Recently, Iāve been using it as a tool for rapid prototyping of promo visuals for music Iām planning on releasing soon. The non-destructive, procedural workflow of nodes lets you create tooling for visuals that are similar, but not the same, so you can make content that is consistent but still different. One example is a simple tool I made that lets you iterate through a text file and display it word-by-word as a mesh, so that all you have to do is keyframe when to switch words. It takes longer than AI captioning tools, but it is very flexible as it lets you visually modify the lyrics as 3D models. And, itās much faster than manually inputting each word.