By paying attention, understanding and tuning things where I can, and without the drastic whole-system rewrites I irresponsibly dream of embarking upon, I've successfully cut my employer's technology bill in half 💸
Including cutting our AWS bill 66% -- the lowest it's been since 2013 -- and our Heroku bill 80% -- lower than it's ever been. While running the same or more services 😎
TIL AWS Lambda's Python3 configures a handler in the root level logger
so your call to logger.basicConfig(level=INFO) that works just fine in local dev no longer has any effect
and their handler keeps the default level (WARNING)
and all your calls to logger.info() evaporate in production
dear #boston friends and mufos
the founder of your vegetarian-for-meat-lovers restaurant Clover Food Lab is doing a live cooking show on youtube while the restaurants are closed for coronavirusmas
i am entirely biased but i have been very much enjoying it
I've been keeping my dotfiles under version control for ages. It started out as a CVS repo. Remember those? Then Subversion, then Git.
After I made $HOME a Git repo, I eventually ran "git clean -fdx" from the wrong place, and Git helpfully walked up the tree and deleted almost my entire home directory. 😭
So I wrote a script to help me manage a collection of dotfile symlinks into a repo of un-dotted files instead, for safety, and didn't look back for 10+ years.
Somebody recently tooted a link to https://drewdevault.com/2019/12/30/dotfiles.html and, well I sortof knew it was possible, but seeing a working example was enough to inspire me to give it another shot.
I abandoned my script and reorganized my dotfiles repo. $HOME is now a git clone, it works fine, with less cognitive overhead, few symlinks, and no unintentional "walking up the tree to the wrong repo" problems.
Also separated out all the files intended for system-level configuration into a new repo:
Please join us in the signing of this petition and consider adding years to your .org registration today.
5541 letters have currently been sent to stop the sale - add your name now!
Help stop the sale of Public Interest Registry to a Private Equity Firm
With the news of the .org TLD being sold to a private equity firm, I've been thinking that maybe it's time to abandon the datagrok.org domain that I've held for 19 years.
There's a campaign to stop the sale (https://savedotorg.org/) but I've always felt like the centralized domain name registry implements artificial scarcity and rent-seeking.
So maybe instead of just choosing a different one, now is a good time for me to reexamine the value of keeping a domain name "forever" and explore alternatives.
Oh hey, keybase.io has native support for many Mastodon instances now.
Feeling smart because I implemented a Ring List Zipper in #elixir to help me solve a programming puzzle 🤓👍
It's similar to the List Zipper from the "Zippy" library, but includes some unique functionality.
Newbie adventures in trying to lazily tokenize an input stream with #elixir
With a link to someone's massive blog post on the same subject with a more thorough walkthrough: https://www.poeticoding.com/elixir-stream-and-large-http-responses-processing-text/
Well, that took a while but my changes to add support for the SH1106 OLED display driver IC are now merged upstream into QMK master! 🎉 https://github.com/qmk/qmk_firmware/pull/5787
Does this mean I can now put "C-language embedded driver development" on my resume? 😲
(no, my changes were tiny)
I got a little 128x64 I2C OLED display for $2.50. It said in the product listing that it used an SSD1306 driver IC, which made me think it would work with #QMK firmware.
I hooked it up but it only showed static.
So I read some datasheets and learned some stuff and did some hacking and now (or very soon) QMK will support this OLED display too! (Turns out it actually uses an SH1106.)
Pictured: the wireless receiver for my Mitosis #mechanicalkeyboards, with a speaker and this OLED display attached.
python zip(*rows) is matrix transpose
>>> [(1, 2, 3), (4, 5, 6)]
[(1, 2, 3), (4, 5, 6)]
[(1, 4), (2, 5), (3, 6)]
[(1, 2, 3), (4, 5, 6)]
>>> [[1, 2, 3], [4, 5, 6]]
[[1, 2, 3], [4, 5, 6]]
[[1, 4], [2, 5], [3, 6]]
[[1, 2, 3], [4, 5, 6]]
hey it rhymes too
‘HTML, CSS and our vanishing industry entry points’
this says so many things i agree with, i hardly know where to begin pulling quotes. web design and dev used to be something you could organically transition toward from a variety of other roles or hobbies. there was a broad, porous space between laypeople and ultra nerds. this zone created a culture i was able to grow and succeed within. it is now nearly gone.
🛎️ Website update:
- Still a bunch of CSS cleanup to do, but I've got marginalia working! 😍 Soon I want to get a "light theme" toggle going.
- Lots of revision to my article re: "purist free software systems shouldn't shun non-free programs"
- Some revision to my "exec the arguments" draft, including implementation in bash, c, python, rust, and scheme
Do you find that on some sites, emojis show up as outlines instead of color images? If so, try uninstalling DejaVu fonts and installing Bitstream Vera fonts instead.
I make software, usually with Python and GNU/Linux.
I like free software and copyleft licenses.
he/him | 38 | southern california | https://datagrok.org