Hiring for
@orbstack
!
Looking for a founding engineer who can't get enough of systems and unfamiliar problems
Containers should be a joy to use, not something you have to put up with. Let's build the future of dev envs.
If and
The xz backdoor is, well, setting a fire under the entire Linux ecosystem... but I'm also so impressed with how it was set up: 2-yr maintainership, oss-fuzz, etc.
...and who knows how long it would've stayed undetected if the injected sshd code ran faster (<600ms)
Highlights:
Only activating on deb/rpm package builds
* also, patching sshd in memory only on these distros due to an indirect dependency on liblzma (via libsystemd)
Open questions:
- why ifunc? maybe less likely to be detected at runtime than PLT hooking, but more disruptive
- why is the RSA_public_decrypt code so slow?
- what else is the payload doing? in programs other than sshd?
- what else is hidden in Jia Tan's 449 commits?
Early preview of my simplified Linux VM app for Pixel 6 and newer is now on Patreon:
- No root needed on Pixel 7
- Shared folders
- Easy to use, everything is set up behind the scenes
- Terminal based on Termux, w/ UX improvements
I've managed to get the new wallpaper-based theming system, Monet, working on Android 12 DP1. Here are some examples of predominantly purple and orange wallpapers:
🚀 Introducing OrbStack
A new way to run Docker & Linux on macOS
⚡️ Fast: Starts instantly, fast network, Rosetta
💨 Light: 0.1% CPU, native Mac app
🍰 Simple: Seamless integration, easy UI
🔨 Powerful: Supercharged WSL + Docker Desktop
Try it out 👇
Last week,
@Wander1236
and I teased "something incredible" we found in Android 12. We were being vague on purpose because it takes advantage of a flaw we found in an undocumented API. Now, we're ready to share details on this finding, as well as an app that takes advantage of it!
Here's my implementation of dynamic colors for UI themes, similar to Google's Pixel-exclusive implementation in Android 12.
It's not perfect, but I think the results have surpassed Google's (as of Beta 2) by now :)
Been a few days since I've had time to work on Pixel 7 VMs, but I'm trying to get the app done today. Added container creation, list, tabs, terminal, and settings
Android 12 design experiment: light QS in light mode (normally always black) and dark QS in dark mode (dark, but not pure black, otherwise there's no visible wallpaper hue)
Here is Android 12 Beta 2's ongoing call chip in action, along with the new call notification style. It's enabled by default; Google Dialer just doesn't support it yet.
In the next version of OrbStack: native Finder & terminal access to container files
Makes it easy to edit and copy files in containers with the same tools you use on macOS
No clunky Electron files UI
Worked on performance a bit and the Windows VM is actually really usable now, though there's still no graphics acceleration. CPU, I/O, and memory pressure are much better now.
Repainter 2.0: biggest release yet!
• Now free to use, unlock all features with a free trial
• Shareable theme profiles: save & share themes with the world
• Search by color: find themes with your favorite color
Explore 300+ themes here:
Soon in OrbStack: debug any container (even distroless) with your favorite tools
Comes with common tools + nice zsh setup; install any package on top
No more:
- "docker exec -it /bin/sh"
- busybox
- missing package manager / shell
- missing vim, curl, ip, etc.
Answers for common questions:
- It's Windows on ARM, not x86
- Nested virtualization isn't supported, so no WSA
- I'll probably write about how I did this and/or release tools in the future. Root needed as of DP1
- No GPU or 3D acceleration on Windows. Linux? Maybe in the future
As far as I can tell, we can pretty much get full EL2 on production devices now. Protected KVM is optional and can be enabled on a per-VM basis, but for non-protected VMs, it looks like full KVM functionality is available.
I know Android's new taskbar is only intended for tablets and other large screen devices, but I kind of wish I could use it on phones as well. I know you can use it (see the screenshot), but I'd rather not have to lower the density or root my phone to do so.
Android 12's under-display fingerprint enrollment and unlock flows have gotten more developed in Beta 3.
Again, I tested it with Google's under-display fingerprint simulator, not a Pixel 6.
Quick demo: run a local Supabase + Next.js stack with
@OrbStack
, get clean local domain names and (soon) HTTPS for free
Thanks for the pressure to build a POC for HTTPS
@_buildspace
@_nightsweekends
ProtonAOSP 12.3.0 brings stable Android 12L to the Pixel 6 and 6 Pro, before the official delayed release:
This includes all changes from older versions of ProtonAOSP 12.
CPU architecture names are such a mess
arm64, aarch64, armv8
amd64, x86_64, (colloquially) x86
i386, i686, (pedantically) x86
To make it worse, Go uses arm64 and amd64. Two letters apart. Mixed them up countless times
I've switched to a new color model for my dynamic theme engine, which improves theme quality overall and provides a higher dynamic range in terms of colorfulness.
Unpopular opinion: I don't want an OLED laptop. Text isn't as crisp or smooth as LCDs because of the Pentile subpixels
There's color fringing around the edges
Kubernetes on Pixel 7 with Nestbox
Had to enable a bunch of kernel features and add some hacks to make kubelet and flannel happy, but k3s works out-of-the-box now
Want to leak your password through a mispredicted ASM routine?
Run this on a Zen 2 Processor:
vcvtsi2s{s,d} xmm, xmm, r64
vmovdqa ymm, ymm
jcc overzero
vzeroupper
overzero:
nop
Tavis Ormandy uncovered a flaw "Zenbleed" (CVE-2023-20593) in
A major quick settings redesign is in the works. QS tiles are now large rounded rectangles, and the QS panel covers most of the screen. There's also a shortcut to the power menu at the bottom.
Repainter 1.2.0 is out!
Highlights:
• Quick, guided one-time setup for unrooted Pixel and 12L devices (much easier; no need for Shizuku)
• New theme styles for unrooted Android 13 DP2, Samsung (One UI 4.x), and all rooted devices
Kubernetes up and running in OrbStack, with NodePorts working on macOS localhost
Pretty decent power savings too (tweaks and measurements soon)
Honestly I could just release this as-is and it wouldn't be any worse than competitors, but I'll go a bit beyond that
Android 12 DP2 has a new privacy indicator UI, as seen in the mockups that leaked in early February. It's much more polished than the hidden implementation in Android 11 and it matches the mockups surprisingly well.
When people ask how I learned dev in general or language/tech XYZ, I don't really have good advice to give because I jump in and learn by doing, Googling as I go
This is what it really looks like when I'm using something for the first time
The xz backdoor is, well, setting a fire under the entire Linux ecosystem... but I'm also so impressed with how it was set up: 2-yr maintainership, oss-fuzz, etc.
...and who knows how long it would've stayed undetected if the injected sshd code ran faster (<600ms)
Highlights:
Finished JetBrains Fleet support for Hueflake, so all themes can now be exported for
@JetBrains_Fleet
. I think that makes Hueflake the first Fleet theme(s) ever!
Mainline Linux v5.8-rc4 kernel running on a Pixel Visual Core image coprocessor, built with Clang 11 + LTO + CFI + SCS for kicks.
It runs Linux, so why not put it to good use?
My theme engine also generates themes 34x faster than Google's (0.05 ms per theme), making it practical to change the UI theme every frame at 60 or 90 FPS.
Of course, I wouldn't actually recommend doing that, but here's a Jetpack Compose sample app modified for it on Android 11.
Here's my implementation of dynamic colors for UI themes, similar to Google's Pixel-exclusive implementation in Android 12.
It's not perfect, but I think the results have surpassed Google's (as of Beta 2) by now :)
In the next version of OrbStack: Cloud-init for machines
Use the same user data (YAML or script) as EC2 and other cloud providers to replicate & test environments locally
Pixel 6 Pro display power usage at different brightness levels, tested at 60 and 120 Hz (with 10 Hz idle) under low and high ambient light on the February 2022 security patch.
Repainter 1.0.1 beta:
Mostly a bug fix and compatibility release (especially for Samsung devices), but I've also switched to using more Material You-esque dialogs from Jetpack Compose for errors and progress.
Finally ditched SwiftUI List. Crashes were the last straw
Wrote my own wrapper for AppKit's NSOutlineView:
- No random crashes, empty rows, stale selections, black bars
- Programmatically expandable groups + sections
- Could also do tables & animations
- Feels faster
~700 LOC
Built a new UI with fluid animations for separate main (accent) / background color selection in Repainter.
Jetpack Compose definitely made adding and tweaking the animations easier, though it was a bit hard to optimize for 120 Hz.
Repainter 1.3.0 release:
Several improvements across the board. More features coming soon...
What's new:
• Easy built-in wireless debugging mode for One UI and Pixel 3
• Style updates from Android 13 Beta 3