๐พ Archived View for station.martinrue.com โบ sdfgeoff โบ tinylog captured on 2024-02-05 at 11:58:35. Gemini links have been rewritten to link to archived content
โฌ ๏ธ Previous capture (2023-09-28)
-=-=-=-=-=-=-
author: sdfgeoff
The model rocket problem: you build a rocket and launch it, it works. You transition from compressed air bottle rockets to class-E solid-rocket motors. You start thinking about liquid fueled systems. Your rockets get more and more dangerous but staying where you are is known and boring.
The same applies everywhere: your boat isn't fast enough, your computer game isn't intense enough, climbing vertical rock faces isn't extreme enough, a 48 hour fast isn't long enough.
A few days back I built a skateboard with off-road tires equipped with a windsurfer sail. It was fun learning to ride it, but now the only think left is to go faster - and that scares me.
Work got me a shiny new Macbook Pro with the M1x. On one hand: Yay, cool, shiny. On the other hand: eh, it's a tool, it does exactly what the previous one does.
I've now been using vscodeium for a couple months and I still haven't figured out what determines how ctrl+click decides if it should pop up a window vs opening the file, I still don't understand the implications of opening a folder vs opening a workspace vs just opening a bunch of files. Workspace trust is weird, and why does syntax highlighting take like 30 seconds to update? It feels slightly on the "too complex" side of the spectrum.
But I do like multi-cursor editing!
Well I made a thing: http://thosewhospeakwithmachines.com/
There are murmurings in the ether. There are alwasy murmurings in the ether, but this time it is different. This time it scares me slightly.
Sit and listen to the flow of people. Watch. Observe. Do you perceive it?
I don't suppose anyone has a backup of https://j-hn.com/ ? It used to be an awesome little site with a dancing cat, and now it looks like a hacked wordpress install :(
I have been working in Rust today, and was enjoying using generic types.... Then a procedural macro declared it wouldn't work with them. Turning those generic types into concrete types turned ~10 lines of code into ~200 lines of horribly duplicated code.
You only realize how powerful the language is that you're working with when something breaks and you have to do it manually.
My latest hobby software project is a digital painting application and .... all the odd things about blender's implementation suddenly make sense.
These include things like why it doesn't delete unused meshes/materials until file save and why you have to pass a context around all the python operators.
Mad respect for the guys who implemented blender.
Yesterday I realized that the only reason I still have an android tablet is because I cant find a touch-friendly drawing tool for Linux.
[Pulls out a notebook and fires up Python, GTK and Rust] Let's see where this goes....
There is something beautiful about natural wood. In particular I like a dark wood (eg brown accacia) and a brigh metal such as aluminium or brass.
I've been playing Shattered Pixel Dungeon recently (great game), and so have been finding items such as "Elastic Whip" and "Projecting Dagger" and "Armor of Swiftness".
Tonight I've been programming in Rust with the EGUI toolkit, and have widgets such as the "CollapsingHeader".....
Next I'm going to stumble across the Window of Enlightenment I suppose!
How much of your lives do you spend living (or watching) someone elses?
Open your artist eyes
using emacs => fine
using vim => fine
using vim on one screen, emacs on another => arrgh, my brain, the chaos of strings of mistyped shortcuts.
Also tmux is gold.
I reckon my gemini server is the smallest, lightest yet. It weighs in at, uhm, 22 grams and is 5x2x1cm.
It runs on a high spec machine: 240Mhz Dual core! 320KiB RAM! A huge 4Mb of storage! All available now for the low cost of $5..... Uh, yep.
Go hit it up at gemini://sdfgeoff.ddns.net/
When attempting to do a project, I am frequently amazed a how often the answer to "can I do <thing>" is "yes".
One of today's experiments:
Can you spraypaint a flourescent orange design onto a black shirt: Yes!
Did it look how I imagined it? Not really.
Is it still cool? Heck yeah - the unevenness of the coating made the orange look like flames.
And my quest to host a gemini server has begun. I'm hampered by no ethernet availability and no hardware to spare. So I'm doing the hacker-thing and pulling out an ... esp32 microcontroller.
Turns out someones written a nice https server library for it, so it's time to dig in and start ripping things out...
Lethargy Breeds
Ignoring coffee, table tennis and window watching, I reckon that a programmers time is:
70% reading research material
20% thinking really hard
5% trying to remember how the solution you implemented yesterday worked (you're sure you saved a backup to VC, but....)
5% writing new code that doesn't work
<0.1% writing code that ends up being used (for the next few months)
For reference over the past three /days/ at a fulltime programming job I've got ~50 lines of code (LOC) ready for review. It's supported by ~500 LOC that I've knowlingly discarded (dead end solutions), probably >2000 LOC that I wrote that never worked at all (compile errors/), 2 pages of written documentation/decision making, and ~5 pages of (typed) scribbled notes.
What do you reckon your ratios are like?
Only in the silence can I hear my thoughts.
Anyone here know how to parameterize equations - I'm a bit rusty.
Story: I want to create a mesh representation of a 2d distance field. The distance field is a low-resolution floating point grid and data is interpolated with bilinear interpolation. As far as I can tell, the easiest way to find points on the bounday is to rearrange the bilinear patch into parametric form: F(x,y) = value could turn into F(t) = (x,y) where (x,y) is a point where value = 0.
Some scribbling/eyeballing suggests the solutions are all conic sections?
I've just realized why I dislike receiving calls on my cellphone: I can't hear the person properly. After every call I'm frustrated because I've had to piece the conversation together from the words I did manage to catch. It is rare for me to not have to ask a person to repeat themselves at least a few times.
It's not volume, it's definitely loud enough. I don't know if it's the compression/codec - I can understand zoom/skype/internet calls fine (but maybe I'm just more used to those codecs). I don't know if its the phone - I've had this problem for years across a couple phones (but they're all lower-end devices).
So why is it that cellphones suck at the very thing they should do?
Anyone know any good data 'container' formats - things like ".tar". It needs to concatenate files together and be able to separate them out again - no compression needed.
I don't want to use tar because the rust tar library is occupying some 26kb of my executable size (about 2%).
I could roll my own format, but thought I should ask to see if there are any existing ones?
Actually, migrating away from the serde library (and thus probably forgoing JSON) may well have larger executable-size benefits. Anyone know any human-readable formats that can represent graph structures nicely?
Dumb idea #34: Store data in other peoples routers. A packet takes 500ms to go around the world. If you have a gigabit connection on each end you can store whole megabytes of data with nothing but two echo servers! You will need to factor in lost packets/data redundancy, and your ISP shutting down your internet service!
"Let's have a lazy sunday afternoon"
- 3D prints+tests a gearbox
- dissasembles an angle grinder for parts
- works on a large-volume 3d printer design with a friend
- installs some LED strip channel
- solders up + initial tests for a motor speed controller
"Well that could have been lazier"
I find that entertainment is only interesting if I don't see the tricks that are manipulating me. As soon as I can tell what psycological buttons are being pressed I'll disengage.
This generally means I make it 1-2 episodes into a tv show and 1-2 hours into a game.
Some things are outside those rules though. A good story (book, movie or show) will capture your attention, not manipulate you into watching it.
Similarly a good game can actually be enjoyable.
Or maybe with those, its just that they are built cleverly enough that I can't perceive the manipulation.
I used to think VR wouldn't go mainstream - for social reasons (people are very cautious about what they put on their face). Now I'm not so sure.
The more I look at VR, the more parallels I see to the early internet. It's where the creatives and the weird and wacky mingle. That gives it, oh, maybe a decade or so.
It would be cool to see more open source support in the VR space: the current HMD's are proprietary and the drivers don't work on linux. All the major apps are closed source and proposed standards are few and far between. No-one has built a federated VR chat client yet. Hmm. Maybe that is something I should start investigating....
Darkness is where dreams are born
Turns out GPT-2 is reasonably capable at coding. You can give it common programming puzzles that are well defined:
"write a function that prints the sum of all numbers between 1 and n in python.
def ".
Even quite complex programs can be written correctly if you word the prompt right:
"today we are using an arduino nano with an LED on pin 8. Write a program that listens on serial at 9600 baud. When it receives the character '1', turn on the LED.
void setup(void) {"
As AI gets better, it potentially becoes the equalizer of the computing world - a person with no programming experience can write a program just as well as a person with lots of experience.
I got stuck into a progamming problem at 8pm, and next time I looked up it was 1am and the temperature in my room was probably close to 0ยฐc.
What is it about being engrossed that lets you ignore the fact the your feet are like icicles?
What is the difderence between a child and an adult?
I wonder if it is how they relate to unlikeable but necessary tasks: a child will delay it, try avoid doing it, complain while doing it. An adult will just do it because it needs to be done.
I'm slowly getting fed up with game engines - particularly for low-end platforms like android or web. Maybe for 2d stuff they're fine, but on my phone even simple 3d scenes run terribly. I guess I should dust off my openGL skills again and write it custom....
That or dig up an old renderer from before they all decided deferred+PBR was 'the way'
I did some volunteer work a couple months back. Now those people want me to volunteer again... but this time I get a free helicopter ride as part of it! O.0
I have a project that I need to do in Windows (I'm normally an Arch Linux user). I thought I was pretty indifferent about OS's, but a couple days in Windows has me driven crazy - it's way way laggier, installs random hardware utilities (does my mouse really need a custom control center), and now it's been "working on updates: 0%" for about 10 mins.
How much does belief influence reality? Sure, there's no "magic" but innovation comes from people believing they can make things that don't exist, motivation comes from believing in a better future, and shared beliefs are what form cultures.
So don't ignore the value of dreaming or of discussing ideas, because those thoughts shape reality.
Currently Gemini capsules are full of articles about what is wrong with the main web and why gemini is better. I wonder if less time should be spent on that and more should be spent on creating cool (original) content?
Where are you now? Are you present in reality or are you lost in your own world?