Great read!
14.10.2025 22:05 β π 1 π 0 π¬ 0 π 0@samlanning.com.bsky.social
Software, Security, Music & Lights. https://github.com/s0
Great read!
14.10.2025 22:05 β π 1 π 0 π¬ 0 π 0Then you benefit from react handling the lifecycle and initialization of all the intervals / animation frames when the components render etcβ¦
14.10.2025 21:41 β π 0 π 0 π¬ 1 π 0If you need to model a simulation with a constant interval, then you could have:
- 1 use ref and useEffect & interval to update the simulation at a constant time, storing the result in a ref
- 1 state & useEffect & animation frame to derive the state from the information in the ref
and you can have as many states as you want, but I find for animations, itβs best to only change state once per frame.
Then using the data in state, return JSX with the SVG nodes, and react will diff the changes, only making the required changes to the dom, making rendering pretty seamless.
Something like (from memory, apologies)
const Sim = () => {
const [state, setState] = useState();
useEffect(() => {
let i
const f = () => {
setState(current => ({}))
i = requestAnimationFrame(f)
}
f()
return () => cancelAnimationFrame(i);
}, [])
// β¦
}
π
03.10.2025 15:50 β π 1 π 0 π¬ 1 π 0Oh wait I think I get it, its just sharing one of the pairs of valid values π€¦ββοΈ not trying to be an equivalent expression to the above! Nvm
03.10.2025 11:21 β π 0 π 0 π¬ 1 π 0Right, but isnβt it also possible to be both unsafe and unsound, which isnβt allowed by the last expression, but is allowed by the ones above that?
Using OR would allow every combination except unsafe and sound
Not to be that guy, but shouldnβt the logical operator on the last line be β¨ (or) not β§ (and) π
03.10.2025 05:32 β π 0 π 0 π¬ 1 π 0This is art:
secretgeek.github.io/html_wysiwyg...
Release notes 0.0.78 Drastically improved CodeMirror editor performance Added MySQL block Added dark mode support to HTTP and SQL results Added ability to invite friends and colleagues from the desktop app Disabled automatic update checking on Linux (since it doesnβt work there) Improved runbook scroll position recall Fixed a bug where a runbook wouldnβt load βlatestβ and resulted in a blank editor Fixed Linux installs possibly overwriting atuin CLI package (Linux users: any feedback you have for this fix is very useful) macOS DMG has a snazzy new background :sparkles: Weβve also opened up Organizations to everyone! This set of features is still very much a work in progress, but weβve had a few users in testing for a while and itβs in a usable state. For now, you can create an Organization by visiting your profile page on Atuin Hub and clicking the new βOrganizationsβ tab. Once done, the dropdown at the top of the Runbook list in the Desktop app should show your org; give the app a relaunch if not. Expect a lot of changes and improvements to Orgs in the coming weeks. In particular, soon youβll be able to move Runbooks between workspaces, and move entire workspaces into an Org. As always, feedback is not only welcome, but deeply appreciated! :heart:
Perhaps the biggest Atuin Desktop update yet!
Highlights
1. Orgs! Share runbooks and workspaces with your team
2. MySQL block
3. Invite friends to try the app right away, no waitlist
Changelog: forum.atuin.sh/t/desktop-de...
Rack was Β£140 - www.thomann.co.uk/flyht_pro_ra... UDM ~Β£360, Mac mount Β£200, power ~ Β£200, then whatever additional modules you want. Netcon was Β£280
07.06.2025 11:58 β π 2 π 0 π¬ 0 π 0I donβt have any of my own to hand, but itβs really secure in there: youtu.be/9SFQjIcq-XA?...
07.06.2025 10:38 β π 1 π 0 π¬ 1 π 0Directly below the dream machine. The rack mount has space for 2, but Iβve only used one of them. Unfortunately the latest gen Mac minis donβt fit in 1U any more π₯
07.06.2025 10:18 β π 0 π 0 π¬ 1 π 0π
07.06.2025 10:13 β π 0 π 0 π¬ 1 π 0Nice dream machine! π I donβt have a homelab setup, but I do have
- A custom built NAS running Debian and ZFS (where I run my home services)
- A portable rack in a flight case (for event lighting) with a dream machine, M2 Mac Mini, DMX output, power twist power distribution & 16A Power in π
πππ
05.05.2025 15:14 β π 0 π 0 π¬ 0 π 0Cue complete lack of surpriseβ¦ π€¦
Exactly as we expected, but worse than we thought
TeleMessage, the Israeli company that makes the modified Signal app used by Trump officials, was hacked. βI would say the whole process took about 15-20 minutes,β the hacker said micahflee.com/the-signal-c...
04.05.2025 22:03 β π 275 π 110 π¬ 8 π 15Canβt wait to use this! Going to be perfect for onboarding new devs to a team!
22.04.2025 23:18 β π 1 π 0 π¬ 0 π 0When scholars of authoritarianism and fascism leave U.S. universities because of the deteriorating political situation here, we should really worry.
26.03.2025 00:50 β π 23838 π 8267 π¬ 600 π 675Teen Warned Not To Accept Group Chat Invites From National Security Advisors She Doesnβt Know
Teen Warned Not To Accept Group Chat Invites From National Security Advisors She Doesnβt Know
26.03.2025 15:00 β π 46072 π 10162 π¬ 356 π 520Weβre about to open up some roles for boilerroom.tv, letβs have a chat?
03.03.2025 15:44 β π 1 π 0 π¬ 1 π 0You should know that a big part of 18F's work was to make sure multi-million to multi-*hundreds*-of-millions dollar contracts at fed *and* state level didn't go to shitty enterprise IT consultancies that *repeatedly* delivered tech that didn't work, was late, or didn't even do what it needed to
02.03.2025 18:03 β π 4680 π 1209 π¬ 58 π 82panel 1: your shell has a history of the commands you ran some ways to access history: * press the up arrow * run history * search it with Ctrl-R (in bash/zsh) panel 2: how long does your shell store history for? in bash, the default is 500 commands (not enough!) in fish, the default is 256,000 commands if you're using bash, you might want to configure it to store more history panel 3: when does your shell save history? by default, bash and zsh only save history to a file when you exit the shell fish saves the history continuously panel 4: where is history stored? bash: .bash_history zsh: run echo $HISTFILE fish: mine is in ~/.local/share/fish/fish_history person (thinking): βsometimes I copy over my shell history when setting up a new computer!β panel 5: a useful history tool: atuin atuin lets you: * save unlimited history * search history more easily * save commands as soon as you run them * sync your history (optionally) panel 6: gotcha: history in zsh only shows 15 entries You can run history 0 to see all the history panel 7: commands that start with a space don't go in your history. good for passwords! (might depend on your shell's config)
shell history
(with a shoutout to https://atuin.sh)
If you worked for 18F and got fired, Group together to start a consulting company.
Itβs just a matter of time before DOGE needs you to fix the mess they inevitably create.
They will have to hire your company as a contractor to fix it. But on your terms.
Iβm happy to invest and/or help
I got laid off today, with the rest of 18F.
18F was an elite federal software shop. We made gov't websites work better, more efficiently for the American people. We saved taxpayers from getting screwed over by contractors. And were fired for it.
We made this website to tell our story:
18f.org
Simple as this. foreignpolicy.com/2025/02/11/d...
12.02.2025 00:41 β π 1818 π 628 π¬ 38 π 36Wikipedia is rolling out anonymity features piloted in countries with authoritarian governments in the US & is making a change to not show editor IP addresses in response to a global "increase in threats" from Elon Musk, Heritage Foundation, and governments
www.404media.co/wikipedia-pr...