I'm looking for employment again.
I'm good at Python, Git, Linux, and Django.
I have experience with CI/CD and AWS.
I'd be very excited to work for a nonprofit or to grow skills in Rust, Haskell, or embedded development.
I'm looking for part-time work but I'd consider a full time position that's flexible enough. I'm good at remote work; I cannot relocate.
To obtain a position that meets my needs I can in turn be flexible about compensation.
Available: October 1.
‘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.
XKCD on the dishonesty implicit in the sharing options in social media
Cascading style sheets -/+ Show more
So I recently looked into how to get margin notes on my webpages again. In the time since my last attempt:
- Edward Tufte himself has published a pure-CSS open source mechanism for implementing them,
- Someone published a plug-in to make Pandoc (the best markdown processor) (that I was already using to build my pages) take advantage of it,
- That tool has been packaged for Debian so getting it running was dead simple!
Cascading style sheets -/+ Show more
Through an accretion of heinous hacks the web has been turned into an application delivery platform. But ostensibly it's still about documents, right? So, it shouldn't be too hard to get some pretty Tufte-style marginalia on my web site.
… Is what I said the first time I attempted it, years ago, before rage quitting in disgust with CSS after burning days of my time.
(I was in good company: I later saw famous smart guy Gary Bernhardt tweet that he had the same experience! Ha.) 1/3
a do-while loop in shell script Show more
I've got a shell script with
But I want the body to always run at least once. So I want something like a do-while. But shell has no do-while.
But! The block after while can be a list of commands; only the last exit status determines its truth value.
So to transform the above into a do/while it's (non-intuitively):
TIL Two popular textbooks on mathematics for data science (one for math experts and one for everybody else) both offer complete downloadable PDFs at no cost!
An Introduction to Statistical Learning
The Elements of Statistical Learning
(Grumble grumble I wish they were epub though)
👀 Updated draft: "The 'run the arguments trick,'" up to 3k words now on this ode to these four little characters: "$@"
Added new Rust and Guile Scheme examples, plus lots of revision.
Just a few more improvements then I can rip the "draft" warning label off.
My first working attempt used eval with quasiquoting and it looked very messy. Second attempt:
(let ((args (cdr (program-arguments))))
(apply execlp (car args) args))
It works, but is it idiomatic? Is this how you'd write that? Can it be shorter or clearer?
👀 Unfinished draft article about one of my favorite pieces of shell script:
"The 'run the arguments' trick":
Making plans to visit and explore around one of the least-used train stations on the entire Nankai line the next time I visit Japan, and I am vibrating with excitement!
There's something about reliable public transit being available in the beautiful middle of nowhere that just thrills me.
(Get this: despite having fewer than 20 passengers per day, trains depart from this station at least hourly from 5am to 9pm 😍)
🛎️ Website update: finally revised a short article that critiques Richard Stallman and the Free Software Foundation (that I am a member of) for their strategy of shunning proprietary software:
So I wrote this little unknown Python utility in 2016 to make it easier to use custom exceptions to abort a script instead of littering sys.exit() around. https://github.com/datagrok/python-userexit
One little feature I just added: if I don't specify an exit status with the message, pick one I haven't used, automatically.
What a rabbit-hole! Since exceptions are classes and I didn't want to use a class decorator, I needed a metaclass to make this happen!
Longer-form blog post coming eventually.
Eighteen years(!) of Python and only today have I finally taken on a problem that required the implementation of a custom metaclass to solve.
I don't know if that says more about the niche usefulness of Python's metaclass feature or the lack of heady challenges in my career so far.
I even had to learn the difference between __new__() and __init__().
And it works great!
Feels pretty good to learn new stuff.
Details, maybe a blog post forthcoming after some finishing touches on the code.
I make software, usually with Python and GNU/Linux.
I like free software and copyleft licenses.
he/him | 38 | southern california | https://datagrok.org
ｃｙｂｒｅｓｐａｃｅ: 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