FW @fi_tracking! Prev: @verilylifesci, @googleai (TF.js v1), @square ($100B+ physical terminals), VITA @playstation, 10y video games. chop wood, carry water.

Boston Burbs
Joined September 2010
Restaurant popovers tweet: Heat oven and tins to 450F. Blend low 30s: 4 eggs, 2c warm milk. Add + blend high 60s: 2c flour, 2tsp salt, 2Tbsp melted butter. At 450F, remove tins: .5tsp veg oil + batter to top-1cm to each. Return to oven: 400F for 40m. Tins: amzn.to/3x3wvl0
1
5
30
669
20
9,366
217,847
Nanoprintf v0.8.0 has been out for a while but I didn't tweet it! github.com/charlesnicholson/… %e, %g, %a are fully supported, and there's a fancy new way to avoid float->double promotion for small systems. Also ~20% smaller across the board!
Nanoprintf v0.6.0 release! The smallest conforming [v]snprintf, minus %[eg] / locale. github.com/charlesnicholson/… %a/%A support, and a new optimized single-precision mode that uses no doubles. Smaller + faster. 1 user reported 8x speedup over newlib-nano %f!
1
123
Darkwatch | PS2 (2005)
29
222
52
2,396
110,559
78
210
29
2,005
81,529
The PS2 era had a different kind of magic. You could walk into a store with $20 and leave with some random game you’d never heard of… …and somehow it became one of your favorite games ever.
155
340
77
4,216
508,788
Nanoprintf v0.6.0 release! The smallest conforming [v]snprintf, minus %[eg] / locale. github.com/charlesnicholson/… %a/%A support, and a new optimized single-precision mode that uses no doubles. Smaller + faster. 1 user reported 8x speedup over newlib-nano %f!
1
1
237
Downloading from Powershell is slow because.... it updates the progress bar for every downloaded byte? stackoverflow.com/questions/… cc @cmuratori who might "enjoy" this.
85
Fi wants to hire the best person you've ever worked with. Any location. NYC if you like offices with dogs 🐶 tryfi.com/jobs Senior Software Engineer Product Design Lead Visual & Motion Designer Director of Strategic Finance FP&A Manager Senior Accountant Senior Embedded Software Engineer Staff Electrical Engineer Email Marketing Manager Social Media Lead Senior Product Manager
1
2
4
809
float i,e,g,R,s;vec3 q,p,d=vec3((FC.xy*2.-r)/r+vec2(0,1),1);for(q.zy--;i++<99.;){e+=i/9e9;o.rgb+=hsv(e,sin(g),min(e*i,.02));s=3.;p=q+=d*e*R*.35+1e-5;g+=p.y/s;p=vec3(log2(R=length(p))+t*.2,exp(mod(-p.z,s)/R-.4),p);for(e=--p.y;s<6e3;s+=s)e+=-abs(dot(sin(p.xz*s),cos(p.zy*s))/s*.4);}
9
57
6
444
21,528
BREAKING: MIT just completed the first brain scan study of ChatGPT users & the results are terrifying. Turns out, AI isn't making us more productive. It's making us cognitively bankrupt. Here's what 4 months of data revealed: (hint: we've been measuring productivity all wrong)
2,974
36,797
8,684
164,528
23,720,179
float i,e,R,s;vec3 q,p,d=vec3((FC.xy*2.-r)/r*.2+vec2(.05,.9),1);for(q.zy--;i++<85.;){o+=.024-min(e*s-q.z,R+.2)/14.;s=7.;p=q+=d*e*R*.1;p=vec3(log2(R=length(p*.8))-t*.3,exp2(R-p.z/R),atan(p.x,p.y)-t*.3);for(e=--p.y;s<5e2;s+=s)e+=dot(cos(p*s+6.),sin(p.zyz*s+5.3))/s*.9;}#つぶやきGLSL
8
66
3
491
21,754
#つぶやきGLSL float i,e,R,s;vec3 q,p,d=vec3((FC.xy*2.-r)/r.y*1.5+vec2(0,1),1);for(q.zy--;i++<77.;){o+=.011-exp(-e*2e3)*.016;s=1.;p=q+=d*e*R*.2;p=vec3(log2(R=length(p))-t*.4,exp(-p.z/R),atan(p.x,p.y)+t*.2);for(e=--p.y;s<1e3;s+=s)e+=abs(dot(sin(p.xxz*s),cos(p*s)))/s*.17;}o=tanh(o);
10
110
5
989
26,202
float i,e,g,R,s;vec3 q,p,d=vec3((FC.xy*2.-r)/r.x*.3+vec2(0,1),1);for(q.zy--;i++<99.;){e+=i/9e9;o.rgb+=hsv(.1,q.y,min(e*i,.01));s=3.;p=q+=d*e*R*.25;g+=p.y/s;p=vec3(log2(R=length(p))+t*.2,exp2(mod(-p.z,s)/R)-.3,p);for(e=--p.y;s<6e3;s+=s)e+=-abs(dot(sin(p.xz*s),cos(p.zy*s))/s*.4);}
Replying to @YoheiNishitsuji
I would love to see the whirls emphasized
34
236
19
2,274
107,064
Black Hole Superette has been out for 1 week! Thank you for all the love ❤️
19
49
5
523
21,812
I read this article about software development, which I knew about because I saw Prime reacting to it: notashelf.dev/posts/curse-of… For the most part I think it is fine: a relatively young programmer is doing the healthy work of introspecting on what he should really be doing. But there's one part of the article that I think is a deep mistake, and the author doesn't know it's so wrong because he has never experienced the alternative: "Software doesn’t stay solved. Every solution you write starts to rot the moment it exists. Not now, not later, but eventually. Libraries deprecate. APIs change. Performance regressions creep in. Your once-perfect tool breaks silently because libfoo.so is now libfoo.so.2. 2 I have had scripts silently fail because a website changed its HTML layout. I have had configuration formats break because of upstream version bumps. I have had Docker containers die because Alpine Linux rotated a mirror URL. In each case, the immediate emotional response was not just inconvenience but something that moreso resembles guilt." Yes, this is true in much of the programming world. But there is another world in which people build things that last much longer. I have done it many times. I shipped a binary for this game Braid in 2009 that you can still download and play on Steam 16 years later. If you are pretty young (like 35), you can run binaries on Windows that were compiled before you were even born, which is amazing given how hard they have been trying to f up Windows lately. On an emulator like MAME, you can play arcade games programmed in 1979. If today's software "technology" is so much better, why does it fall apart like tissue paper? The author is not wrong about the cited decay. But this decay is not inherent to the practice of software. It's due to choices made, usually foolishly, by the people designing the systems being interacted with. And, it's due to a lack of knowing better, non-exposure to the sector of programmers who are very concerned with their code lasting a long time, actually. The way you make code last a long time is you minimize dependencies that are likely to change and, to the extent you must take such dependencies, you minimize the contact surface between your program and those dependencies. The actual algorithms you program, the actual functioning machinery you build, is a mathematical object defined by the semantics of your programming language, and mathematical objects are eternal, they will last far longer than your human life. The goal then is to avoid introducing decay into the system. You must build an oasis of peace that is insulated from this constant bombardment of horrible decisions, and only hesitantly interface into the outside world. This means, for example: If you are shipping on iOS, you only reluctantly use any functions iOS gives you, because when you use them, Tim Apple will come along and break your program next year for arbitrary pointless reasons, because Tim Apple does not respect you or anyone you know. This means a program cannot last forever on iOS, because Tim Apple likes breaking your things and watching you submissively clean them up. But the core of your program, which could be 95% of the code, is fine, and you can deploy it elsewhere. This means you have to insulate from Linux userspace, because of all the jackass decision making that introduces constant incompatibilities while somehow never making the system better. Using a library dependency to do font rendering or sparse matrix math? That dependency gets checked into your source tree, a copy of exactly the version you use. Ten years later you can pull down that source and recompile, and it works, because your program is a mathematical object. If you want to upgrade to something newer that has bug fixes and so forth, you are free to do so, but you are also free not to do so, and your program still works. (And how many of these bug fixes do you really need? Your program worked correctly when you shipped it to the greatest extent you could measure, because you are a skillful software engineer who wants to ship things of a high quality). Everyone who got into programming for the joy of it knows, at some level, that the magic of programs is that they represent complexity that is replicable over time (and thus they exist outside of time). But the trashy programmer culture of the past 20 years stopped aspiring to this, and now has forgotten it is even possible. And so long as people have forgotten, decisions will continue to be made that make the problem worse. There are programmers who only write glue code, and who think that's what programming is; to these people what I have written above will not make sense. But the good news for that contingent is, they can always just stop writing glue code and start doing something else! If today's software "technology" is so good, why do you think it needs so much glue? Maybe there is a stylistic problem. So if you are looking for what to do in the world of software that can represent a lasting contribution, maybe this is food for thought. @NotAShelf @ThePrimeagen
124
551
102
3,831
457,214
Charles retweeted
Most interesting SIMD article you've ever read: "just use the `rfjklasdfhg` instruction along with `fjaskdfs` (requires your CPU to have `gjeixhdofh`-support)"
11
48
4
492
17,666
This is probably one of the best speeches in committee I have EVER heard. We often hear passionate emotional speeches and I applaud that, but this is a forensic dismantling of a woman who arrogantly thinks she and the administration she belongs to are above the law. THEY ARE NOT. Kristi Noem attended the hearing intent on being obstructive and dismissive and Chris Murphy gave her a masterclass in the constitutional responsibilities of government. I salute you sir. 🎥 TikTok - vm.tiktok.com/ZNd6nAsuy/
1,793
15,805
1,195
50,369
1,840,552