Show newer
Csepp 🩸 boosted

1/2

When I was younger (and still a graduate student), I realized that I had many very pretty dresses that I never had occasion to wear. I decided I didn't need an occasion! One day I wore a sleeveless floor-length ballgown (with the elusive POCKETS!!!) to class and then to work. When I got work, I was informed that our 19" rack had arrived 2 weeks early, and I as the lowly student was to assemble it ASAP.

#storytime

Csepp 🩸 boosted

2/2

Also, The Shop that always had someone in there was locked, so I had no tools available to borrow. Never fear, I'm an engineer! I was traveling light, but I still had my Leatherman Micra in my pocket (a bare minimum). I sat on the dusty hallway floor in my ballgown, assembled that rack with my Micra, and hauled it into the adjacent data center by myself.

Ever since, I've put a little more thought into what I wear to work. In my defense, that rack did arrive 2 weeks early!

Show thread
Csepp 🩸 boosted

Went for a late night walk to clear my head and saw a sign which read:

Slow
Elderly
Children
At Play

I feel seen.

#SmallStories
#ClownWisdom

When I arrived on campus today and was locking my bike the person parked next to me was securing a small box on theirs. Turns out they had found a smol and decided to take it home and nourish it until it recovers.

cc

Csepp 🩸 boosted

programming, long 

@cadadr@weirder.earth @operand When it comes to C, it is very platform dependent. E.g. if you're using the GNU toolchain (autotools, pkg-config, and lib-something, I forgot), it's actually fairly straightforward to include dependencies. But the main problem there is, the way C and C++ handle modules of programs is.. well, I don't want to say broken, given the age of languages, but definitely outdated.

IIRC it was also fairly straightforward on Windows as well, but I only coded on windows as a kid back in 2005, so I can't speak to that.

For other languages, package managers actually aren't the newest thing. CPAN for Perl and CTAN for TeX predate stuff like NPM by a decade and change.

IIRC you'd mostly use your distro's packages, or use your IDE on Windows to get libraries, or if you were a serious developer, you'd use the language package manager, say cpan. But the end user or even the beginner coder hardly ever heard of these tools, let alone needing them.

What really changed circa early 2010s was, we went from the package manager / repo as a curated community run place which keeps tabs on what's published to a wild west where shit comes directly from git repos of random coders. In my experience this was driven by node.js and especially npm, which brought in a lot of non-programmers who did not really know the technical implications of the decisions they were making into this packaging space.

This was on the one hand good ofc, democratising programming a bit, but also lead to a cultural shift towards some pretty horrid programming and software distribution practices (e.g. the infamous node_modules, there's a reason you don't have infamous vendor/ for ruby, or infamous ~/perl5 for perl).

In that culture we got used to "reinventing the wheel", "release early release often", "move fast break things"; these were like shibboleths of Node.js "subculture" back then.

We also got the tiny libraries with this development. Like, it was common, say if you were a C++ dev, to use boost or Qt for most of the functions that STD didn't include. Python always had a huge stdlib, and while Perl didn't have it as large, it was still pretty large. Ruby, well, you either did Rails with it or Textmate extensions, so that was okay, and even then the core libs are way much richer than what the 0.x releases of Node.js by Ryan included. If you needed to do something with images, you used ImageMagick, not a bunch of tiny libraries that adhere to a made-up-after-the-fact so-called "unix philosophy".

So people, instead of bothering to come together and create a stdlib and utility libraries for this new programming language (basically, it's JS but it's not really the browser JS), started packaging up little bits of functionality into tiny packages, and because a lot of people using these were amateurs and/or beginners, they didn't have the experience of how to integrate others' code or maintain software. Node.js immediately got corporate attention tho, and this meant that this amateur culture that's constantly "reinventing the wheel" without any engineering skills suddenly become commercialised. Joyent bought node.js, Ryan disappeared, Isaac became the maintainer, and these problematic practices ossified in the node community.

Then this ofc became the way of doing things in the start-up coding culture, which to this day is where mainstream programming culture is created, and inevitably seeped into other programming language communities, and became the default attitude. Move fast and break things, tiny isolated and "opinionated" libraries, version numbers going up like covid cases.

But the thing is this attitude is error prone and tiresome, like physically tiresome. You never know where to start, docs are out of date at the day of release---if they exist at all---, tools that you need to be transparent are fresh and buggy in day to day use, eveything is ad-hoc and barely compatible if ever at all, every package is opinionated, and tiny, and developed by a single guy who has 100 other packages that they maintain.

If you're developing something like boost, django, image-magick or similar, you can afford to build a team and infrastructure around it, like a bugzilla or debbugs, source code hosting, mailing lists or an IRC channel, etc. But if you're the sole dev of a 100 packages whose average content is 100--500 lines of code, you can't afford that, so you're beholden to forge silos like Github.

These existed before too, like SourceForge or whatnot, but the difference was, your program needed 1 or 2 major libraries, and then a few utility libraries here and there to make things more comfortable. With node.js mainly, we got a culture of use libraries as much as you can, tho. The idea was, if you avoid writing code, you'd avoid bugs, but the reality was, those bugs were moved to libraries and the glue code that made the 100 libraries work together.

An exception was CPAN ofc, because they did have a lot of packages and a culture of smaller (but not as small) libraries. What they did differently tho, was distributed, community run, constant testing of all packages. You can trust a package from CPAN because 100s of people test it and test results make it back to CPAN. I didn't really use CPAN a lot so idk the specifics, but Perl-Testers is a unique beautiful thing that I wish every language had: qa.perl.org/cpan-testers/

So all this stuff lead to the current situation that's "enjoyed" by not only the Node ecosystem, but by other languages, distros, and even tools like Docker today. There's no QA, everything is either a corporate git repo or an unemployed maintainers github, and it's considered okay to rely on this stuff because... well, because we kinda found ourselves inside this situation and whole generations of programmers were raised in it. And when you want to introduce QA or a CoC or what not, you're a gatekeeper, anti-progress, anti-innovation, or whatever other nonsense SV nerds come up with.

So when you say

the tools represent a certain kind of culture wrt dependency management, and automatically including transitive dependencies is an anti-pattern.

you're extremely on point, really hit the nail on the head, so to speak: this entire culture that was emerging early 2010s got mainstreamed by the tools developed around it and ossified as we neared 2020s, and know-how and techniques developed over the 90s and '00s were stigmatised (with a lot of ageism too) and forgotten, and now programming using 3rd party libraries became a minefield.

Csepp 🩸 boosted

So I'm playing with this idea of a math/science/history curriculum for adults that tracks the foundation of modern technology/society from pre-history to the foot of the industrial revolution, and then another that starts at industrialization and tracks forward to the information age.

Show thread
Csepp 🩸 boosted

Like, we did lemon batteries, you know?

But my teacher couldn't even explain what we were doing or why it worked.

We did basic circuits with switches, but again, it was just "do these things"

We could have learned about geology by collecting various elements from various locations (Field Trips! The school system loved them, most of them were just corporate bullshit) and then watching as our teachers/volunteers refined those elements and taught us how they would have been used.

Show thread
Csepp 🩸 boosted

With any luck, these poems should work on screen readers. Gibberish, but patterned gibberish that faithfully represents the symbols used to conjure the music.

Show thread
Csepp 🩸 boosted

So, some words about the text.

I call it generative asemic poetry. It is a direct text-based representation of the glyphs seen in the video (and yes, those glyphs *do* work together to conjure the sounds heard in my live coding setup).

Each stanza corresponds to a row. Each word corresponds to a glyph in the row. The syllables in the word are used to encode the actual pattern of the glyph.

Show thread
Csepp 🩸 boosted
@ajroach42 It's crazy we don't at least have an equivalent of Bandcamp but for independent movies/TV/etc.
Csepp 🩸 boosted

While on my tour of old Atari ST software, I found an interesting UI concept I had not seen before. If you do something wrong in the Papyrus desktop publishing package, then it'll beep at you. But you need to hit ^? ("Why the beep") in order to show the corresponding error message.

I rather like this. It prevents the user being spammed by modal error dialogs, and the user can choose whether to read more about it. An interesting alternative to the now-common "Don't show this to me again" checkbox.

Csepp 🩸 boosted

Birthday present for my friend/ in law??? tai!!! It’s them but in a cool decora outfit also they have cotton candy hair :o) #mastoart #art

Csepp 🩸 boosted

@jwildeboer this is absolutely true, but in addition to pointing fingers at ISPs, you need to point fingers at IP itself--a protocol with no roaming or multi-homing is fundamentally unsuitable for connecting to remote services. it's fine for physical routing to be done in the hierarchical manner IP does, but those addresses are no more appropriate for treating as service identities any more than MAC addresses are. DNS is a shitty way of mapping names to the *wrong* thing, and then you have to glue the entire TLS PKI onto it just to verify who you end up talking to anyway.

IPv6 doesn't solve this at all. overlay systems like cjdns, yggdrasil, etc. attempt to, but the network itself could perform this function instead of requiring inefficient overlays to do it--that's what alternative systems like RINA implement, though RINA itself goes even further and does away with the absurdity of a flat global address namespace entirely.

Csepp 🩸 boosted

@jwildeboer@social.wildeboer.net I dunno. its not like bit torrent doesn't work at all in these scenarios. developers are very conditioned to think in terms of centralized or federated infrastructure so it isn't intuitive to work with a DHT. have to be a little creative. in many places, its ADSL or no networking at all really. would be better to have more symmetric networks for sure, but its also more expensive to deploy and not everyone can afford.

Csepp 🩸 boosted

One of the main reasons we don’t have a truly decentralised internet is actually really simple: it’s the fact that providers globally don’t give us symmetric upload/download speeds and fixed IP addresses at home. Kills decentralisation at the root. 1/2

Csepp 🩸 boosted

Hey y'know what have another anim! This time from early last year! More 'Rupes. ⭐ 💛

After an anim I made very recently, (which will show up later) I realise I coulda done a fair bit better w this, and already feel like redoing it. But I still sorta like it enough to post.

#mastoart #animation

Csepp 🩸 boosted

Some #CircusInPlace regulars have encouraged us to record a podcast.

I argued that we would have to lock ourselves in a closet in order to get a clean recording. It was quickly pointed out that locking two clowns in a closet and forcing them to answer questions would be a terrific premise for such a project.

And so, I need your help!

What questions would you like to hear answered by two classically-trained theater and circus clowns kept under lock and key until they provide a response?

Csepp 🩸 boosted

Ah, Kinsley - former carnie, current banjo-player, self-proclaimed prettiest woman in the west, and weirdly captivating con artist. She's a bad guy to a lot of people.

But, look: this isn't about those people. It's about her.

made in #inkscape

#MastoArt #ArtWithOpenSource #CommissionsOpen

Show older
Merveilles

Revel in the marvels of the universe. We are a collective of forward-thinking individuals who strive to better ourselves and our surroundings through constant creation. We express ourselves through music, art, games, and writing. We also put great value in play. A warm welcome to any like-minded people who feel these ideals resonate with them.