work brag 

programming shoptalk 

video conferencing tip: you can map mic mute/unmute to a global hotkey! pactl list-sources to find out the index of your mic. then

pactl set-source-mute <idx> toggle

food 

dear 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

youtube.com/channel/UCIRI4Hfmt

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 drewdevault.com/2019/12/30/dot 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.

github.com/datagrok/home

Also separated out all the files intended for system-level configuration into a new repo:

github.com/datagrok/system

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!

Save .ORG

Help stop the sale of Public Interest Registry to a Private Equity Firm

savedotorg.org/

#SaveDotOrg
#internet
#domain
#dns

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 (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.

rich filmmaker debacle
cliché filmmaker beard
firmed clickable harem
clarified member chalk
childlike farm embrace
backfield mile marcher
half remember acid lick
crab milk remedial chef
cerebral milkmaid chef
bleached farm limerick
flaccid hiker embalmer

anagrams of my full name

Feeling smart because I implemented a Ring List Zipper in to help me solve a programming puzzle 🤓👍

github.com/datagrok/adventofco

It's similar to the List Zipper from the "Zippy" library, but includes some unique functionality.
github.com/tchoutri/Zippy

Show thread

Newbie adventures in trying to lazily tokenize an input stream with

gist.github.com/datagrok/1d13c

With a link to someone's massive blog post on the same subject with a more thorough walkthrough: poeticoding.com/elixir-stream-

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! 🎉 github.com/qmk/qmk_firmware/pu

Does this mean I can now put "C-language embedded driver development" on my resume? 😲

(no, my changes were tiny)

Show thread

I've been adding very important features to my #aquarium monitoring setup tonight.

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 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 , with a speaker and this OLED display attached.

:thaenkin: python zip(*rows) is matrix transpose

>>> [(1, 2, 3), (4, 5, 6)]
[(1, 2, 3), (4, 5, 6)]
>>> list(zip(*_))
[(1, 4), (2, 5), (3, 6)]
>>> list(zip(*_))
[(1, 2, 3), (4, 5, 6)]

>>> [[1, 2, 3], [4, 5, 6]]
[[1, 2, 3], [4, 5, 6]]
>>> numpy.transpose(_).tolist()
[[1, 4], [2, 5], [3, 6]]
>>> numpy.transpose(_).tolist()
[[1, 2, 3], [4, 5, 6]]

:thaenkin: hey it rhymes too

‘HTML, CSS and our vanishing industry entry points’
rachelandrew.co.uk/archives/20

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"
datagrok.org/gpl/shun/

- Some revision to my "exec the arguments" draft, including implementation in bash, c, python, rust, and scheme
datagrok.org/src/exec-args/

@datagrok warning: afaik bitstream vera also has worse coverage of international scripts.

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.

github.com/eosrei/twemoji-colo

Show more
Cybrespace

cybrespace: the social hub of the information superhighway jack in to the mastodon fediverse today and surf the dataflow through our cybrepunk, slightly glitchy web portal support us on patreon or liberapay!