Wondering if you’re loved, literally?, python dependencies

Things I’ve learned recently:

  • If you really want to know if you have value, post something of questionable worth on the Internet. You’ll immediately have a bunch of people correcting you. That’s not to say you should post anything harmful – for goodness’ sake, don’t do that – but post something that makes an assertion of some kind. People will notice. This is a great way to see who really should be off your communications grid, too. 🙂
  • The previous point was not an attempt to be passive-aggressive. If you think you’ve been caught in such a net by me, well, I apologize; reflect on your own time if you think you do that, and leave my what-I-thought-was-mildly-humorous complaint out of it. Thanks!
  • I still find it difficult to abandon my youthful habit of using Anglican spellings for everything. Typing “humorous” without the extra “u” – i.e., “humourous” – is difficult for me even now, for example. It was with a sense of palpable relief that I typed the “wrong one” as the example.
  • This is a great sentence: “Don’t write silly-soundingly,” as found in “Yes, I Could Care Less,” as a quote of Jesse Sheidlower on Slate. Man, references at a deep depth are rough. My middle son gave me “Yes, I Could Care Less” as a gift – and it’s a good one. Thoroughly enjoying it so far.
  • poetry is another python dependency management tool, like pipenv. Work uses pipenv; I might check out poetry just to see what it’s like.

JNDI

Things I have learned recently:

  • People still don’t really get JNDI, and the Java frameworks around today make it easy to ignore, even though it’s still a core technology. It’s not difficult to see how it can be confusing: context in JNDI is everything, and context makes it a challenge to create examples that make sense in the general case.
  • At some point I’d like to learn Go.
  • Not something I’ve learned, but something I’ve been reflecting on this morning because … uh… I have no idea why: I wonder if Adidas shoes are any good, or what they’re good for. I tend to wear Vans Ultrarange shoes these days because they’re light, comfortable, and last forever – I have two working pairs, one for working in the yard and one for wearing – but… Adidas.
  • I really wish officials and announcers wouldn’t show bias during football games. As an FSU guy, I’m really, really, really tired of this – but I’ve been watching other teams’ bowl games (because FSU didn’t go bowling this year, first time in 40+ years) and it happens for them, too, often egregiously. The announcers I don’t care as much about, but the referees… those guys need to be fair, for real. The fact that there’s no urgency in making sure they’re fair is incredibly frustrating and erodes the game. n one game, a team had two defenders ejected for targeting… and the other team had an obvious false start missed, and a few targeting possibilities ignored by the guys in stripes. Let’s just say nope to all that. There needs to be a way for the league to tell these refs what they’re missing, and to either call it fairly or get out. It’s gotten really bad over the last few years, with FSU losing multiple games due to bad or missed calls.

Malazan Book of the Fallen

Things I’ve learned recently:

  • Steven Erikson’s Malazan Book of the Fallen is better than A Song of Ice and Fire. Yes, I said it, and yes, I meant it. It’s very simple to explain why: Malazan was completed. I have very little faith we’ll ever see A Song of Ice and Fire to completion. What’s more, Malazan is more broad, more complex, more consistent in its own context. Take that, George. I love A Song of Ice and Fire, and I think it hits a sweet spot of complexity to mass appeal – which Malazan does not – but Malazan being “finishable” makes it better, hands down.
  • I have learned that I do not understand offensive coordinators in football who insist on running inside the tackles when the opposing team’s been shutting those down all game and you’re running out of time to make things happen. I got tired of seeing FSU do it all last year, and by golly, I’m tired of seeing it this bowl season over and over again, too. What gives, guys? I get the idea of making sure the other team has to respect the inside run – it draws the defense to cover the middle of the field, presumably opening up longer passes – but to use it over and over and over and over again, when the other team expects it? If I can call your plays without being familiar with your offense, something’s wrong with the way you’re calling your plays. And you can bet that the opposing team – which is going to have taken pains to learn your offense – is going to be able to predict what you’re doing fairly well, too.

Picking Content

Things I have learned recently:

  • Picking items for these lists can be a drag, because I’m trying to be very careful to have positive (meaning “uplifting”) assertions where I can. It’s not a perfect system; even in this post I have “I don’t like…” but hopefully it’s neutral enough to pass my criteria. My overall rule of content hasn’t changed for decades: I’m very uncomfortable posting anything about which I’d have been ashamed to tell my grandparents. No sexual content, and few (if any) curses, for example. I’m happy with that; I don’t really feel any temptation to write about those things, but it’s a good metric to have to keep my own writing “above board.”
  • The world needs more success stories. I try to do everything I can to help create them… and I’m fine with not being featured in those success stories. The success is enough. “Tikkun olam” – a Jewish idea that means “healing the world” – drives me in this.
  • On the other side of the previous point: I will always be grateful for those who try to ensure my success. It’s one of the ways I differentiate benevolent acquaintances from my friends: if someone works to ensure my success, that person is my friend. I will always appreciate them. Period. Acquaintances are those people with whom my success is of tangential importance. There’s nothing wrong with that, but those people are rarely my friends.
  • When writing a crawler, it’s always nice to save the downloaded files in proper format rather than, well, improper format. Whoops.

Short Term Memory, ReggaeFM

Things I have learned:

  • If I don’t record these things regularly, they slip my memory. It’s not that I have a bad short-term memory, it’s that most of the things I think are cool to relate fly in and out – and my mind stays crowded. As a result, I tend to write them in a flurry of list-making.
  • The Boss GT-10 is a nice device. My oldest son got one, and it is really neat watching his brothers work out a convenient way to test it with him. It’s also gratifying – albeit unnecessary – that he wanted me to have an opportunity to play with it more than he had, because – as he said – he had plenty of time to play with it when he got home.
  • I don’t like how browsers wait to display URLs until after they’ve done… something. I clicked the link, Firefox! Show me the url!
  • New radio station to listen to for me (because I like reggae): ReggaeFM. Reggae, like many other forms of music, is relaxing… and I find the approach of reggae to be extraordinarily relaxing. I still sound ridiculous when I say “mon,” though, and while I enjoy playing reggae as well as listening to it, I sound like a white guy playing at reggae. Oh, well.
  • I still have never watched “A Christmas Story,” although I have now seen more of it than I had seen before. I feel like the previous sentence has horrible grammar. I’m just not in the mood to fix it.
  • Thought for the morning: I could care about you, and I do, but what does that get me? If it’s “nothing” – if you’re relying on my innate sense of goodwill to make me continuing about caring for you – well, that’s unwise. That means you’re relying on me for your benefit. Nurture your relationships, all of them, even with dweebs like me: make people care about you if you want them to care.

Consistency, Aquaman

Things I think I’ve learned today:

  • Aquaman was a fun movie to watch with my youngest. This surprised me. DC is trying to be more fun and failing but at least they’re trying… and it’s a better movie than we’ve had overall. The Chris Nolan Batman movies were great, Wonder Woman was good, the other DCEU movies have been kinda downers.
  • Consistency is hard. I keep forgetting to write these up. I start them in the morning and then get surprisd the NEXT morning when I haven’t published them yet. I’m not sure what the ideal pattern is, but I’m fairly certain this isn’t it yet.
  • It’s good to have my oldest son back home with us for a few days. He’s in and out – he actually has to travel back to the coast for work for two days – but he’ll be back again soon.
  • Kittens have tons of energy. Who knew?
  • I don’t care for Rotosound bass strings much. When you first put them on, they’re bright and quite good… but they wear out too fast. For me to keep them sounding good I’d have to replace them every few days, assuming I was trying to be gentle with them; even playing with “proper technique” (i.e., not driving the strings hard) they dull down fairly quickly with tension. Also: the strings are harsh on my fingers! I prefer Ernie Balls or D’Addario bass strings, I think. (I tried the Rotosounds because they’re what Geddy Lee used; I think his string budget is a little larger than mine. They sound great, but they’re too much work to keep on the bass, and the harshness on my fingers is irritating.)
  • Merry Christmas, everybody!

Blogs are so eh

Things I think I’ve learned today:

  • Blogs are so yesterday, man. It’s probably the medium and platform I’ve chosen – I don’t use Medium, for example, although I have an account there – and I don’t publish often enough, or with enough direct focus, to really attract users, because I’m really not trying to build a popular platform. But at the same time, my pride is hurt just a little that traffic is so low.
  • Crawler4j makes it really easy to write a working web spider in Java – or, in my case, Kotlin. Looked into scrapy for a bit, but couldn’t figure out why what should have been a trivial recipe was so hard to find, switched to Kotlin because I really just needed to make progress. Progress was made. Scrapy’s probably fine – maybe the information I was looking for was out there, right in front of my face, and I couldn’t recognize it, but that didn’t help me make the progress I needed.
  • Had a good example of pragmatism in action show up yesterday, too. We issued a pull request for a migration, and one of our developers pointed out a number of situations in the new codebase that could have been problematic. I asked him to demonstrate the errors (or potential errors) with tests so we could validate them, but he wasn’t sure how much effort would be involved in writing those tests… so we progressed with the merge. I think we made the right choice; he’s not wrong in his observations (we might have introduced errors with the new changes) but without validation, we can’t know, and we’d be chasing ghosts. We made notes that the code might be problematic, and we’re going to watch for problems that come from it.
  • Aaron’s Thinking Putty is cooler than it should be.

JUCE, tox, Euclidean beats

Things I’ve learned today:

  • tox is a Python library designed to “standardize testing in Python” – including testing a given project across Python versions (so you could use it to create a library for both Python2 and Python3, and test in both environments.) I’m working on such a library right now; I am using two shells, two directory trees, two virtual environments… which is a pain. tox looks like a library to help me get around that.
  • JUCE is a library designed to help delivery music … applications. It has the ability to generate UIs, VSTs, AAX plugins using C++. One of the things I keep thinking I want (although I’m not sure I actually do) is a Euclidean beat generator; I also wouldn’t mind doing a cellular automaton to generate music, so JUCE looks interesting. I haven’t done C++ for real since my Alcyone project (my MIDI foot controller hardware) so I might have to approach this slowly.
  • I like this format of data capture more than I enjoy sites like Twitter. Sure, Twitter’s probably fine for simple assertions, but I don’t like simple assertions; there’s no room for nuance, and in the real world, there’s… nuance. So far, this allows me to make an assertion and explain it without worrying about incomplete, piecemeal consumption. I just have to build the habit, and work on classification.
  • Since I mentioned it earlier: Euclidean beats are apparently found in real world musical forms, and that’s kinda awesome… but every time I’ve played with them, I don’t care for the output much. Euclidean beats tend to be regular (therefore, well, Euclidean) and my own percussion approach, when I focus on it, tends to focus on the unexpected hits rather than regularly timed hits. Euclidean beats spread out hits over known periods; I cluster hits inside those known periods instead. Which approach is better? Well, you can find famous percussion virtuosos who use Euclidean approaches, and I’m neither famous nor a percussion virtuoso. Hmm.
  • Wildwood Guitars has amazing prices on Rickenbacker guitars, and from what I’ve been able to tell from asking Rickenbacker players and from community reviews, they’re quite well respected. And yes, they carry the basses – and have used equipment as well.
  • While I’m thinking about Rickenbacker basses – which happens a lot more than I expect it should, really – there are two main products, the 4003 and the 4003S. The 4003 differs in the fretboard inlays (the 4003 has a sharktooth inlay, the 4003S has a dot) and the 4003 has two outputs (“Ric-O-Sound”, where each pickup has its own output jack) and the 4003S has only a single mono output. The 4003 also has a bound body and the 4003S is unbound; apparently some people find the unbound body more comfortable. I have not done this comparison myself… but if I were to figure out my ideal Rickenbacker bass, it’d be a Midnight Blue 4003, although the others are pretty too. I do not have a Rickenbacker bass, nor is that likely to change, as I’m not a working musician and I don’t need another bass to replace my Jazz… I’d just like a Rickenbacker just because.
  • I find it extraordinarily difficult to trust Donald Trump. His wife shouldn’t trust him, and his ex-wives clearly shouldn’t have trusted him either; why should I trust him, when the people to whom he owes trustworthiness most can’t rely on him? And he employs “the best people”… and doesn’t trust their expertise when it suits him to counter their opinions. Yeesh. We elected this guy. I hope we deserve better.

Python docs, more on wget

Things I have learned today:

  • Python has a lot of modules that are documented well enough to make you cry. Other modules are documented so poorly that it will make you cry. Why am I using GNU parallel? Because creating a bounded threadpool in Python, a task that seems like it should be pretty straightforward, was documented so confusingly for me that I just ended up using the command line instead.
  • wget is a surprisingly easy way to hammer your CPU; run eighteen simultaneous processes and watch the CPU bleed. Great fun for all! (If you can’t guess: parallel is being used to fix this.)
  • I will be fascinated when I learn Gutenberg well enough to leverage it. It’s supposed to be like Medium’s editor, and I suppose it is; I don’t like Medium’s editor either.
  • The best and worst thing about programs to allow you to play Solitaire is how easy it is to play a new game; you end up not valuing a given hand, because if it gets difficult… redeal. That means you lose some hands you could win (“eh, too hard”) and means that you also don’t really value winning as much as you used to, because you can play so many hands so quickly.
  • I find no irony or contradiction in appreciating the Avett Brothers alongside Rush and Yes and Pink Floyd and Led Zeppelin and Weather Report, but I expect others to be surprised at my choices in music. I think other people think I am easily pigeonholed, and maybe I am, but not along the lines of music genres… I think.
  • I ache when my friends ache. Sometimes I wish I did not, but I think the world would be much, much sadder for me if I couldn’t share others’ pain.
  • GNU parallel uses perl. This is amusing. It works; it’s great; it’s still amusing.
  • I like jokes that don’t have victims, generally speaking, but I have no problem using a few specific people as the targets of jokes… Paul Finebaum comes to mind. Give us a rest, Paul. We know you like the SEC.
  • Other people whose voices I could do without: Stephen A. Smith; Sean Hannity; Tucker Carlson. By the way, Tucker, not that you’ll ever read this, but…
  • YES, diversity is a good thing, and while we can argue about specific granularity and I have no problem conceding that there has to be a certain amount of homogeneity in value systems, only a total moron would dare argue seriously that cultural diversity, in and of itself, is a Bad Thing. Shut up, you knob. I appreciate that you use a cannon where a scalpel is better suited, and I hope you know that this is what you’re doing (and therefore you’re being obtuse on purpose) but every now and then it’s good to remember that nuance is A Thing To Use.
  • I decided I was going to try to publish one of these a day, and that streak lasted for ONE DAY.

GNU Parallel, wget, Avett Brothers

Things I have learned today:

  • GNU Parallel is actually pretty nice. It will take some time to get used to how it applies the command line and interpolates the actual command to run, but the documentation is pretty thorough and my needs as of right now are pretty light.
  • That said, parallel --bibtex is annoying… and necessary. (Otherwise it demands you cite parallel in your … paper. Which I’m not producing.)
  • wget is much, much, much faster with the -nv option than without.
  • My middle son can appreciate the Avett Brothers‘ talent, but doesn’t really care for them much. No hard feelings, kid.
  • I don’t care for WordPress’ Gutenberg editor much yet.