
PHP | Laravel | JavaScript | Vue.js | Linux https://teapawt.net/t.co/IUp4QTl6Qk Chief Software Architect @_morevang / https://teapawt.net/t.co/5rgLrOm4Yx
Washington, DC
Joined April 2008
- Tweets1.2K
- Following1.1K
- Followers389
- Likes1.1K
Pinned Tweet
Playing around with a new logo for frak.js
What do you guys think? Left is old, right is new.
Drop you preferred in the comments π
New @frakjs/frak docs just dropped. With examples for:
βοΈ Static Site - github.com/frakjs/frak/blob/β¦
βοΈ Laravel - github.com/frakjs/frak/blob/β¦
βοΈ Express.js - github.com/frakjs/frak/blob/β¦
> npx @frajs/frak init
github.com/frakjs/frak/blob/β¦
#BuildInPublic #OpenSource
Can anyone at @googlecloud confirm that IP Options are stripped at the VPC boundary? That's what we're seeing in Wireshark.
We're attempting to put firewall rules in place to drop packets with IP Options in order to mitigate the Linux kernel CVE that dropped today.
On my way to 1,000 followers π
Day 6,786: 351 / 1,000
π©π©π©π¦β¬οΈβ¬οΈβ¬οΈβ¬οΈβ¬οΈβ¬οΈ
If you're into:
π» Tech
π° Donor relations/nonprofits
π¦ Higher Ed. software
π¨ Design (print/digital)
βοΈ DevOps
π¨ JavaScript/TypeScript
Let's #CONNECT!
On my way to 1,000 followers π
Day 6,784: 317 / 1,000 π
π©π©π©β¬β¬β¬β¬β¬β¬β¬
If you're into:
π» Tech
π° Donor relations/nonprofits
π Startups
βοΈ DevOps
π¨ Design (print/digital)
Let's #CONNECT!
This is a good mitigation tactic. However, it will miss critical patches that fix vulnerabilities as well.
Always best to check for updates first thing in the morning, and vet them via changelog or public repo commits.
#CyberSecurity
Today's Claude extension compromise is a good reminder to do this. If you're using VSCode @code, Cursor @cursor_ai, or any other IDE built on VSCode, I would immediately enable extensions.installCooldownHours.
I've set this setting to 72 (hours), which is a much safer delay to install new updates to extensions than the default setting of 0 (immediate updates).
This prevents extension updates from getting installed for 3 days, which would hopefully eliminate most of the risk from compromised updates. It's not foolproof, but it's better than no delay.
Heck, set it to something even higher to be safer, like 336 (2 weeks).
Are people taking servers offline until there's a patched kernel? Or are we just waiting?
π¨ PSA for anyone running a Linux server, node, or relay
CVE-2026-98432 is a critical Linux kernel bug (CVSS 9.8). Someone on the internet can send crafted TCP packets and take over your machine. No login needed.
Ubuntu and Red Hat haven't shipped a fixed kernel yet. Debian, SUSE, Oracle and Amazon have.
What to do today:
1. Check your kernel: uname -r
Fixed versions: 6.1.190+, 6.6.159+, 6.12.113+, 6.18.56+, 7.2.10+ or 7.3+. Below that, you're exposed.
2. If your distro has a fix, update and reboot.
3. If not, block the attack. It needs TCP packets with "IP options," which normal traffic never uses. One nftables rule drops them. Log what gets dropped so you can see if someone's probing you.
4. Turn off MPTCP unless you need it:
sysctl -w net.mptcp.enabled=0
Programs built with Go 1.24+ use MPTCP automatically, and that's how the known exploit gets in.
5. Make it survive a reboot, and check it still works after one.
If you run a Bitcoin node, a Lightning node or a Nostr relay, your machine is on the internet by design. Do this today.
Self-hosting is freedom. Patching is part of the job. π‘οΈ
New @frakjs/frak docs just dropped. With examples for:
βοΈ Static Site - github.com/frakjs/frak/blob/β¦
βοΈ Laravel - github.com/frakjs/frak/blob/β¦
βοΈ Express.js - github.com/frakjs/frak/blob/β¦
> npx @frajs/frak init
github.com/frakjs/frak/blob/β¦
#BuildInPublic #OpenSource
i'm sorry, device-cmyk can WHAT?!
it can turn your web page into a print-ready preview.
all for the cost of a star on GitHub βοΈ
github.com/fstrube/device-cmβ¦
#OpenSource #PrintDesign
GM @X, and happy Friday!
I'm looking to #connect with builders, especially.
- PHP
- Open Source
- JavaScript
- HTML-to-PDF
Currently working on a few projects worth giving a βοΈ on GitHub
github.com/frakjs/frak
github.com/fstrube/device-cmβ¦
π pound it, and follow
Yikes. Glad I make money the old-fashioned way. Ain't nobody hacking my W2...yet...
We've identified & fixed an issue impacting our international platform, Polymarketβ .com. One of our 3rd party providers was compromised, and we have referred this to relevant law enforcement.
Anyone who has been impacted will be made whole.
Out of an abundance of caution, we have temporarily halted trading & are working to bring the platform back online.
More specific details on Claude Code VS Code extension debacle...
The Claude Code VS Code extension distributed through Open VSX was found carrying an SSH backdoor in version 2.1.313.
It could add an attacker-controlled SSH key, establish a reverse tunnel, and maintain persistent access to the machine.
The official VS Code Marketplace compromise remains unconfirmed.
BREAKING: check for SSH backdoor if you have Claude Code for VS Code installed.
This quoted post is unavailable.
PSA: Beware your third-party JavaScript libraries, especially if they poke a hole in your Content-Security-Policy.
I would strongly consider uninstalling any third party js right now if I were you. Especially if it comes from a startup.
Analytics, monitoring, etc are all massive site takeover risks. If you use a tracking script from a third party SaaS, then if they get hacked the hackers have total control over your site too.
This is what took down Polymarket today. They used a tiny script from a SaaS that tracks page load speed. That company got hacked, and the hackers subsequently stole millions from Polymarket users.
If you want to use analytics safely, I would use a product that lets you pin the tracking script and control when it changes. Most of the mature products support this, e.g. Sentry, Amplitude, PostHog, Mixpanel, Heap. If not, you need to trust the company behind it a lot...
Railway got hacked last week. Railway! That's a very competent team, with particularly strong infra chops. The agent swarms are on another level.
A typical analytics company is nowhere near as sophisticated. You should ask yourself: do I trust this company's security more than Railway? I was an analytics CTO in a past life, and I will be the first to admit: we had some great people but we were not on this level.
We (Detail) just uninstalled our session replay, which was a product I loved but is not worth the risk right now.
I hate to write this because I spent a good chunk of my 20s benefitting from product teams taking a chance on a nothing startup and installing our js on their site. But in the past two weeks this risk vector has exploded. It's better for the ecosystem if we move away from third party js as fast as we can.
π π€
Latest device-cmyk version has been released. Fixes a glaring bug with CSS at-rules: github.com/fstrube/device-cmβ¦
This library plays nicely with my work on the HTML-to-PDF generator based on WeasyPrint / Python.
If this work is interesting to you, lets #connect!
Update. I was able to get the WeasyPrint runtime down to 17 min for 5k records.
4min of that is writing the 10-thousand page file to disk.
Still can't believe how much faster JavaScript is at this. 27 seconds is insane.
#BuildInPublic
I just ran some benchmarks and 5k records via WeasyPrint rendered in ~ 40min.
Our PDFKit-based JavaScript engine rendering the exact same layout and record count, took 27sec βΌοΈ
I knew we built something good, but not that good!
Replying to @strube
π On speed, we developed a JavaScript document engine called Banjo at morevang.com, and it's much faster. Takes a couple minutes to generate 10k documents. WeasyPrint, on the other hand, clocks in at 40m for 5k.
Frank Strube πΆ π» π retweeted
π On speed, we developed a JavaScript document engine called Banjo at morevang.com, and it's much faster. Takes a couple minutes to generate 10k documents. WeasyPrint, on the other hand, clocks in at 40m for 5k.
Good morning @X!
New minor version and patch release for frak.js dropped last week
- franklinstrube.com/blog/frakβ¦
- franklinstrube.com/blog/frakβ¦
If you're trying it out, let's #connect and swap notes.
> npx @frakjs/frak init
#DevOps











