3,875 karma · joined March 26, 2009
These are not the installer ISOs, they're ISOs containing the _sources_ for all packages in Ubuntu.
Some of those libraries became _very_ widely used in the Perl community. The number one most used is probably DateTime (https://metacpan.org/dist/DateTime), and number two is probably (https://metacpan.org/dist/Log-Dispatch). But some of the others also got a lot uptake.
I also contributed a lot to libraries create by others, most notably HTML::Mason and Moose, both of which were very widely used in Perl.
All of that, plus speaking at the Perl conferences, really helped me develop my professional network. If I recall correctly, all three of of my most recent jobs came about because of my Perl connections to varying degrees. Two of them were just because I posted on my blog that I was looking for work and someone I knew through Perl reached out.
Today I work in Golang at MongoDB. In 2022, I again posted that I was looking for something new and someone I knew from Perl who worked at MongoDB reached out to me. I'm really thankful he did, because working there has been great!
Nowadays I don't do much Perl any more, though I still maintain many of my modules (bug fixes and small feature requests only, though). I've also done some Golang (https://github.com/houseabsolute?q=&type=public&language=go) and Rust (https://crates.io/users/autarch).
But I think it would be _much_ harder for a young person to do the same things I did. Nowadays there are just so many freaking programmers. Someone invents a new language and five minutes later there are a huge number of foundational libraries for it. By the time I started with Go (mid-2010s), pretty much all the stuff I had done in Perl already existed in Go. And I found the same to be true with Rust when I started using it after Go.
I did ask about this when I interviewed and was told that 5-6 weeks was considered normal. Obviously, it's not really unlimited. If I tried to take 20 weeks off I'm sure that would be a problem.
I've tried making something similar in Go (https://pkg.go.dev/github.com/houseabsolute/detest/pkg/detes...) but the language makes having as nice an API impossible, and I really don't love what I've come up with there. The output from detest is pretty nice though (until it wraps lines in which case it's a mess).
Other weird suggestions:
* Ender's Game under Best Apocalyptic Fiction * Parable of the Talents under Best Sci Fi Books on Space Settlement - this is real stretch since the book takes place entirely on Earth, though it does feature a religion that focuses on spreading humanity to other planets.
But this is just me filling in the blanks as I think they should be filled in. It'd be great to see him spell this out a bit more.
I also try not to pry into their personal life too much if they're not volunteering that information. Like I said, sometimes we just talk about things we've been working on or general tech chat.
At my previous job I was a manager so I talked to other people _a lot_ at work, what with all the meetings, 1:1's, etc. When I started my new job as an IC I realized that I didn't interact with my coworkers nearly as much.
So I scheduled a monthly 30 minute 1:1 with each of my teammates that specifically has no agenda and is there to talk about whatever. Sometimes we talk about tech stuff or work stuff, and sometimes we just talk about random things like travel plans or events we've been to, etc.
Obviously, this is a lot less social interaction than I would have if we were all in the same office, but I do think it's helpful to remind all of us that the person on the webcam is another human, and I enjoy these 1:1's.
If you're a software engineer in the US, you're earning _way_ more than most people in the world, and you can comfortable donate a large chunk of your income to help people (including non-human people) who are much worse off than you.
My new(ish) employer does this and I absolutely love it. Channels are not a constant stream of interleaved noise, and when I want to dive into a particular conversation it's incredibly easy to follow.
But unlike TAP, it's fairly Perl-specific as opposed to just being an output format. I imagine you could adapt the ideas in it to Node but it'd be more complex than simply implement TAP in JS.
And yes, I think the idea of having different output formats makes sense. With Test2, the test _harness_ produces TAP from the underlying machine-readable format, rather than having the test code itself directly product TAP. The harness is a separate program that executes the tests.
Basically it's nearly impossible to fully parse it correctly.