htmx just got me to do some front-end programming again after many years of false starts with Angular, React, Flutter, etc!
Very refreshing and extremely productive! Goland, browser window and Bard for code snippets and from idea to first working flow in less than an hour!
With other frameworks I would first have to struggle for a day or two setting up the tooling and understand all of the new concepts and constructs. Or worse, learn completely new language (Flutter, Typescript)
Ah, another one! On the other hand, if you've already containerized your app and are not using buildpacks, the switch to Kubernetes should be fairly easy. Thanks for the link, will check.
"ifconfig eth0 down" on the production bastion host, instead of on my localhost terminal -- and no hands on in the datacenter which was 160km away. Of course the bastion host was the only one not hooked up to remote power reset services.. and only 2 hours left in the service window.. sinking feeling
For tmux users: put something like this in your .tmux.conf on production servers:
set -g window-style 'fg=red,bg=black'
It will color the text red, hopefully reminding you to be extra careful. Adjust according to your preferences.
One other "defensive scripting" trick I frequently use is starting any `rm` command with `ls`, double checking its output (or triple checking if it's a recursive one), and then replacing `ls` with `rm`. It barely takes any extra time if you're proficient with emacs-style readline hotkeys:
Something like this to obviously distinguish environments is good practice - at one company we implemented scripts for terminal color-coding like this after some downtime caused by a destructive backup restore accidentally being run in the production environment instead of an acceptance testing system, which was in all aspects identical to the production system.
And I've seen a solution for more secure environments where physical separation was used with the operator having separate monitors/keyboards, and the "important" system having a different color keyboard and monitor frame.
Oh, yes, that feeling when you mix up “init 5” and “init 6” on a machine 300 miles away. “Huh, it’s taking longer than usual to reboot...”. 20 years later and I still remember the name of the guy I had to call at two in the morning to go power it back on.
I've done that a couple of times, although in better circumstances; also fun variants like "the new kernel didn't have the right ethernet driver in it".
I think the first one in my career was discovering that "killall" does something very different on Solaris from Linux.
Back in the 1990s, something like that lead to a major local data center having to admit that the “24 hour support” meant 12 hours a day with someone who could answer the phone but didn’t have access to the server room.
Yes! It feels.. very polished. The new notifications and settings area are just awesome. Also the app drawer is pretty great. And the animations... smooth as butter!
If you do OTA (over the air) updates, no, you don't need to ever wipe your device. At the end of the beta they'll just push the retail version and de-enroll your device.
This is my third beta (8 and 8.1) and I never wiped.
Still here! Definitely stay away from preview release on your main phone, but once Google slaps beta on a build stuff is pretty stable (have not tried in car Bluetooth yet -- knock on wood).
As a dev, days like these are the ones where I get my moneys worth buying into Googles hardware :)
Remember getting Linux root and boot diskette images via FTP mail (https://en.wikipedia.org/wiki/FTPmail) and downloading them using UUCP on a "superfast" 9600 baud dialup connection. Thx Linus!
Beware, link-bait! Title should really be "Microservices without non-Amazon Services", which if you remove the double negate really says "Microservices with Amazon Services", which is well.. not that interesting IMO. I'd rather write against CloudFoundry which abstract away AWS.
You get up to 1M requests / month and 400,000 GB-seconds of compute time per month.
A default lambda function uses 128 MB of ram (0.125 GB), which gives you about 3.2 M seconds of compute time (time actually spent executing requests) every month for free.
Thus if you have functions that take 500 ms on average, and use the default amount of RAM, you can process about 6.4 M requests in a month for a total bill of $1.20.
Above the free tier limits you pay $0.20 per million requests, and $0.1667 per million GB-seconds.