Archives, page 1

Dust Volcano
Date: 2018-Jan-23 05:36:43 EST

From July second, 2001 until mid 2013, I was in the habit of mostly-regularly blogging. I stopped in May of 2014 without having made a conscious effort to do so, having begun to regularly post on Google Plus. I've come to miss doing this, and Plus has begun to go the way of Orkut and Friendster. So I start again.

I've been toying with the idea for awhile, and in late December of 2017, in the holidays when I had little else to do, I started to put in about half an hour a day into writing a new blogging platform, ideally with the ability to do reviews of stuff too. It's maybe 60 percent new, and 40 percent a port of some bits of POUND, my previous software. I could've just dusted the old thing off and made some tweaks, but this seemed like a good way to brush up on my Go programming. I've kept on giving it about half an hour each day, maybe more on weekends, and I probably will until I feel it's reasonably complete.

As I write this, it's not yet going immediately up; the software is capable of displaying posts even if it's still fairly thin in places, but I need to setup apache to route traffic to it. Maybe tomorrow. Maybe later this week. Either way, it feels good to get back into this habit and to be screaming into a public void rather than imagining screaming into a private one. Or just writing truly to myself in google docs.

I think in 2013 I was still in Brooklyn and still relatively fresh to NYC. I can still recognise myself in those last several posts. They're full of things I might say today. Five more years have passed. A few jobs. My cats are still with me, although age is beginning to make them frail. My hair is greying, and the years haven't given me much companionship. A few people wandered in and then out of my life as friends-for-a-bit. Many regrets, but I think the me that was baked by the time I left Philadelphia has just gained some small adaptations to NYC, rather than turned any new leaves. I think that's maybe how aging is supposed to work, barring major life events. Or perhaps it's being a recluse.

Hoping when the weather gets nice again that I can get back into the habit of occasionally jogging.

Getting dws set up
Date: 2018-Jan-27 16:50:13 EST

I think I've gotten dws up to the point where it's ready to serve. I don't see any glitches or major deficiencies in the most important parts of the UI, and it looks all right (for my systems-programmer notions of all right). Generally when there are long chains of things I need to do, there are parts I regard with delight, nervousness, and dread (not usually all at the same time). This is a dread part - lots of gotcha, boring decisions, and fiddliness with little interesting to learn along the way. Still, it's a small one, and after this little break I'll be ready to make that glue. Which is largely:

  1. Getting the commandline client wrapped to manage env
  2. Getting it installed on one of my VPSs (startup scripts, env, so on)
  3. Configuring apache to proxy traffic to it
I'll need to keep an eye on it too; right now I'm operating under the assumption that database handles are reclaimed as part of object destruction but I might be wrong on that.

I'm hoping I'll recapture that old motivation to blog more often once the software is steady state.

Brush on a dry palette
Date: 2018-Jan-27 16:56:55 EST

One of the issues I've had in recent years is that it feels like most of the things I wanted earlier in life are no longer desires anymore. That wouldn't be odd except new things haven't come in to replace them, leaving me feeling empty, like I don't want anything. This isn't having reached some level of cush; my living arrangements are actually less comfortable than they were a decade ago, my migraines are probably a little worse, and I've had a bit of that natural physical and mental deterioration from aging. Sometimes on the weekend I just stay in bed for hours, with nothing I really want.

I think most people deal with this, should they have it, using cycles. I do that a bit too; every weekend I need to do laundry (moreso now because I need to wear a buttondown at work) which gets me out of the house twice, once to drop off the laundry bag and the other to pick up the freshly laundered clothes. And people of course need to eat. But that's not a lot to build a life around, or to keep that life from collapsing. I've expanded it a bit further by starting to play a daily-turn-allotment-style game called KOL; I used to play it years ago and it always added a little enjoyment/responsibility to flesh out life a bit. I'm hoping as the weather warms to get a jogging routine going (now that I know my ankle problems were caused by barefoot running, I'll have to use actual shoes again).

I'm hoping to reach further into my past to rekindle old interests. Some of which might help me meet people and get a social circle running again, although that's been a struggle over a much longer time in my life - being around people is just too tiring to do for long. Tonight I'm going to the first showing of RHPS I'll've been to for over ten years. Maybe over 15. Meetup helps too, even if meetups are irregular and I usually don't talk to anyone there.

Work provides social opportunities too; people who I feel I understand better. I still am pretty terrible at starting conversations though. Last night was a monthly afterwork social and I mostly leaned against a wall and watched people. I keep telling myself I should just head over to interesting looking people and talk, but that just feels super awkward. Oddly though, if I can make myself do it it usually ends up fine. The problem is just in my head. But I think that's characteristic of our species; the worlds we invent or construct are significantly ones where the rules are a mix of what is plausible at some biosocial level and emergent norms. Not stuff that's usually about physical possibility, so it's in our collective heads. That doesn't mean we can dismiss the difficulties though.

Up and Running
Date: 2018-Jan-27 19:07:24 EST

And just like that I'm up and running again. Feels great. There are still a few things I want to do pretty urgently with the software:

  1. Security audit
  2. Teach my commandline tool to manage blog Tags/Topics. Or test that functionality; I don't recall if I already did it.
  3. Teach the commandline tool to better handle when a post has one it doesn't know about
  4. Teach the commandline tool to appropriately clean out old entries for update
  5. dws should show music fields and other stuff like that when present
  6. RSS/Atom. Since I already did this in my old software and DWS is similar to POUND, it should be a relatively straightforward port of that old code.
  7. Reviews lacks any interface so it can only be loaded with direct database manipulation. Fix that
  8. Add tests
But still, it works and it's a creative outlet reopened. When I'm confident enough in it I'll probably give it my old name, either masking the old posts or importing them into DWS. Eventually it'll be nice to bundle it into a container. For that I could stick with Postgres (and figure out how to manage that interaction) or switch to SQLite and make containerising it super easy. Hmm.

I've cheated a little bit in how I managed all of this; I told myself I'd only ever give DWS about half an hour a day and at least on some days I came back a few times. Still, I feel I generally held to that, and this can be an example for my students on what you can do a little bit at a time. I think I'm also probably comfortable teaching introductory Go at this point; this project pushed me over the boundary. I think the line there is composed of two parts:

  1. Do I feel confident picking up existing projects written in Go and maintaining/extending them?
  2. Do I feel confident that for generally interesting tasks that people ask programmers to do, I can start from scratch and drive through them to completion without more outside help than somebody just unfamiliar with the codebase would need?
I was very near the line before, being able to draw on programming experience in a lot of languages and some programming in Go when I worked at MongoDB and Dropbox, and it may be that I am generally not a very confident person (in that I think I actually would've been fine had I gotten a job as a Go programmer), but now I feel good about it.

I think future posts will shift to my old kinda-random occasionally-ranty blogging habits.

Aging Cats
Date: 2018-Jan-27 20:37:05 EST

Over the last few months, I've had the sad experience of watching one of my cats begin to decline. I've had both of them since around 2002-2003, meaning they're both quite old. Beefalo, my female calico, is still doing alright; she's lost some weight but still seems pretty active and happy. Tortfeasor, my male tuxedo, is the one undergoing decline; he's lost a lot more weight to the point of being fairly bony, he's had dizziness issues, and he's no longer willing to try to jump up to the sink (where I used to give them water). I've started keeping a water bowl on the floor for him. I've done the necessary things for old cats; they've been to see the vet more often and I've been giving them more wet food. I'm just facing the realisation that I can't count on them both being with me a year from now. That's hard, both because I'm not a very social person and because they've been family to me for so long.

It gets me thinking about the grand patterns of life - cats have smaller cycles but I've seen the slow turning of generational clocks in my family too as my sisters and cousins have kids and older generations of my family grow fragile and die. Occasionally I almost panic at this, thinking either of myself or of losing people I care about. At other times I am at peace with it. It's strange to think of how clearly I can remember my grandmother on my mom's side's voice and personality. I think I'm realising I should stop skipping family gatherings as much as I have. I've also tried to write, in Google Docs, as much as I can remember about some of the people I miss. Maybe to remind myself-of-later what they were like, maybe to act as a record for others who never knew them. A kind of long epitaph. I wonder, if I can convince my parents and my sisters to do the same, how much agreement we'd find on what they were like. And likewise, whenever I die, I wonder if the understanding I have of myself is at all like that that others have of me.

I suspect these are just-about-universal aspects of the human condition; pretty much everybody faces mortality at some point, even if what other things people bring to that topic differs wildly. Philosophies, superstitions, notions people have of how they should-but-maybe-do-not-actually think about these things.

On the OS and package management
Date: 2018-Jan-28 01:25:50 EST

One of the things I've seen as a pattern in infrastructure recently is a firm decision, both from software vendors and inside big tech companies, to break from their OS vendor in how software is packaged. In the past I was bothered by this, but I've come to see an undesirable tension between existing Linux distro maintainers and users, and systems that manage this pretty well.

The theory is that if you can bundle up most userland stuff close to the app, you no longer need to care about OS upgrades. Of course, you still need to understand (and do security audits on) bundles under this regime; it's not an excuse to avoid hiring some systems programmers to make sure you're doing things sanely.

Many programming languages have had their own library managers for awhile. Perl has CPAN, Python has pip, and most languages made recently have their own. You can still find rpms or debs for some of these libraries - the bits used by the OS itself, but a lot of people use these extra managers to pull things in that are not in their OSs package repo. With some risk, in that any changes to something the OS depends on could create havoc unless the package manager provides isolation.

Far on one side of the equation is containers; thick containers provide what's essentially its own OS userland isolated from the host operating system; if you want a new package in there, you can install it because the paths and binaries are kept separate. You still need to do this work yourself though.

If you're not using containers, you might decide to package up a bunch of interpreters and essential libraries and stick them in a path alongside some system linker pagic and environment variable wrappers. Then your application is a directory bundle with a wrapper script, your "binary", and any libraries it needs. Google does this with its GRTE. It can work, although it can be awkward if you want to attach a debugger to any of this, and you need to buy into a lot of developer effort to initially setup a project and get Blaze to make those bundles. Not that bad if you're writing new Google code, but not fun if you're trying to port something complicated.

One system I recently have come to like started out as a python environment manager but grew out to manage arbitrary packages (including Go) in such environments; it's called Conda. You define the dependencies for the environment you want in a yaml file (give me tensorflow, python 3.5, tiffile, and 5 other things) and it will fetch does into an environment dir. You can then enter and leave environments using the environment manager (which tweaks things in your shell). It all works, it's smooth, and if you want to extend it (I have some extra env vars for this environment), it's documented and easy. Unless there's a good reason not to, if I were to need to design something like this for someplace I worked, I'd use it. We're using it for some research projects in my current workplace (that we want to distribute to other research groups in other institutions).

RHPS 2018
Date: 2018-Jan-28 18:58:06 EST

Last night I went to the Rocky Horror Picture Show for the first time in over ten years; I went a few times in Pittsburgh, but the majority of times I've been were back in High School and to a limited extent, after that in Columbus. I enjoyed it; my experiences going to Rocky have generally took a particular flavour in that I enjoy the movie, I like singing along to it, and I participate in the riffing lightly and in a sense of tradition. There's almost always one or two people in the theatre who are a bit off and who use it as a way to seem clever, and they bug me a bit, but it's rare that a good activity entirely lacks some annoyance.

I'm going to actively resist doing a political/philosophical analysis of Rocky; I think that's a good way to stop enjoying things (and, as a party game I used to play that made fun of activists by having participants try to find everything offensive shows, you really can find an analysis that paints anything as repressive). I noticed though that the virgin-initiation procedures were both a lot tamer than I remember back when I was going regularly, and that one person really, really felt uncomfortable with what was there. I suspect she won't come back; as usual Rocky isn't for everyone, but I did feel bad for her. Everyone else seemed fine, if surprised and embarrassed. The other thing is that counterculture from that long ago still feels pretty dated. Although I think the players in who was pulling on society were pretty different, we'd probably call Rocky a libertarian film from a "social mores" perspective nowadays. Which I think is a useful term - plenty of us on the left who oppose efforts to build comfort along liberal lines in society, and who want tolerance and nothing more, probably could be considered libertarian on social justice concerns while wanting government to be quite non-libertarian.

I've been thinking about changing neighbourhoods for awhile so I can have some more space and save more money; the convenience of having RHPS a little over 1 long block away, combined with my elderly cats and their vet being 2 short blocks away here, make me wonder if I should lean towards this next apartment move being a short rather than long hop. Or in sum, I'm starting to settle in here, after a year or so.

Quillette and its classification
Date: 2018-Jan-29 02:40:47 EST

I've spent most of my life having political views a ways outside the norm. If politics were just the way one votes and the terms and tools one uses to reason about issues, this wouldn't be isolating, but politics are also significantly about norms, taboos, and as politics gets more polarised, about news sources. In 2014, an article on Slate Star Codex did an examination of tribalism in American politics which summed it up well - politics is to some extent culture, and a polarised politics separates parts of our country from each other. Compare this to Belgium, which stopped functioning as a single country by not handling bilingualism well enough and having grown different political parties between the Dutch and French regions. I started life with a mix of conservative and libertarian ideas, was part of libertarian culture in college, represented libertarian perspectives in some debates, had an experience highlighting some incompatibilities between libertarianism and eco-activism I was also doing, and eventually broke with formal libertarianism. I drifted for a few years near it, eventually realigned my notion of the good, became Trotskyite, joined those movements, eventually found that I didn't quite believe in some of the views there, and drifted away to become a moderate non-Marxian socialist where I've stayed for .. well, I guess it's been a pretty long time.

It's left me pretty weird, and to the degree politics is culture, I don't fit into any of the tribes except the thin politics-should-have-civility-in-discourse-and-be-data-based-and-distrust-activists-of-all-kinds "referee" tribe. Which by its nature is not as warm or trusting between members; Chinese philosopher Mozi might be amused to think of a moderate version of his views would gain traction, although like a lot of philosophy the idea of people believing in principles over allies/friends/family is pretty generic. And it'd be a bit too self-congratulatory to mark the other perspectives as always disregarding principles; we might just consider it more of an active concern or foundational principle of the "referees".

In the last several months I've come to find comfort with a lot of the more vocal people of this sort; some call themselves centrists (more than a few on twitter call themselves "despicable centrists" either to laugh about or recognise that internalised ideas from other tribes have meant our lives are ones of doubt). One of the publications I read fairly regularly now is Quillette, which is a kind of contrarian soft-libertarian news/blogging platform with twitter feeds around it. The person standing in the middle of it, Claire Lehmann, has recently become prominent enough that some blue-tribe people are digging into her background. Which I think is also fine; we should be willing to investigate eveything, but I'm going to primarily judge the things I read by their voice rather than worry about the past of their author. Certainly given that anyone with any political view might look at the very wide variety of views I've had and point at a time I was diametrically opposed to whatever they are. Unsavoury views? If we're living life right, we hopefully have experimented with at least a few, or it begins to look like cowardice. And I think scrubbing our past contributes to an idea that people should be written off if they've done what they should and evolved as much as they're driven to.

I've affiliated with (and provided funding for) groups I've believed in in the past which I no longer would, sometimes because they changed and sometimes because I've changed. The Secular Student Alliance is a good example; I started to see persistent identity politics in how they run things and it soured me on them, to the point where, despite my having had friendships with some leaders in the group, I can no longer support them and hope some other group supplants them. If it happens again here, I won't be surprised but I will be disappointed. But this is one of the big patterns in my life; I join a group or society for a time, I eventually find my views incompatible with theirs, and I leave. I've learned to be a little more assertive if I can get traction in disrupting trends that would if matured lead to a split, but everything, including me in the long run, is impermanent.

Stories and Death of the Author
Date: 2018-Jan-29 07:12:38 EST

Death of the Author is an idea from postmodernist philosophy that I find useful as part of how I see the world. Stories are among the more precious things we create; they're part of how we impart meaning onto the varied dry data we have on the world and on ourselves. Fluency in working with them is part of philosophical intelligence, and as part of philosophical freedom, death of the author helps us avoid ceding ownership of our most central tools to other people.

The core idea of death of the author is to reject ownership over stories or other cultural content, and to reject centrality of interpretation attributed to authors. Were a musician to write a piece, or an author to write a book, or a poet to write a poem, they may have ideas of what it means. We contextualise this - we decide that their ideas of what it means are what it means to them, and we are comfortable with deciding on what it means to us as readers. There are nuances to be worked out ; we should not blame authors if we do not like the meaning we've imparted to their work, but we consider their contribution like one of a parent, and their idea heads out into the world to live its own life. We also feel comfort in taking ownership of stories and extending them, in the old tradition of word-of-mouth and folk tales, as we see fit. Each person that has heard a story is a carrier and potential additional author of that story, and we weaken the notion of "true" forms of these works to "original" ones.

The notion of canonicity of fiction is a concise way to talk about this; that which we call canon is a version of a story that we have in our head, and what's canon to one person is not necessarily canon to another. A given person might even have multiple distinct versions of a story in their head; they might recognise multiple distinct canons as frameworks of understanding.

Applying this, at least two large works of fiction that I care about and grew up with, Star Trek and Doctor Who, are works that I've internalised as stories. With both of them, they have what's known as "extended universes" from books, as well as a TV canon. People generally recognise at least two canons, and there are two distinct fan wikis for Star Trek, Memory Alpha for TV canon, and Memory Beta for extended universe. For both of them, I further have a personal canon.

With Doctor Who, I cut the ties from the TV series at the last episode featuring the Sylvester McCoy doctor. This is largely because the Doctor Who movie that followed felt like it was made with little understanding of the classic series, it had large shifts in tone and changed background (the Doctor being half-human). I am aware of the remake series after the movie, but the cord is cut, and it doesn't help that I dislike the politics that some showrunners brought to the series afterwards. Others with this perspective call themselves "Old Whovians".

For Star Trek, I cut the ties after Star Trek Voyager. This is largely out of tiredness; there was a long gap, and subsequent movies and series never managed to interest me. Plus in general I feel that Star Trek has a lot of story already and doesn't really need any more.

Reconciliation Government
Date: 2018-Jan-30 01:14:27 EST

Some features of our government in the United States continue to intrigue me. In particular, our system makes it relatively easy for the party in power to ensure that proposals won't come to a vote if that party does not wish it to, and possible for the other party, with sufficient numbers, to likewise block a vote. We can imagine systems working reasonably well with neither or both of these features; a system with neither might, for every proposal that gets enough initial support, always proceed to a vote after the proposal sits without amendments for long enough. With both these features, gridlock is possible if the parties entirely cease to cooperate; without either feature, things get stuck less often but legislation might be less stable and more brutal.

I don't think it's good for our nation or our political system that parties entirely cease to cooperate; more recently our politics has lost coherency because activists have started gaming the system, both on the left and the right. And while I think the Affordable Care Act was well-meant, that it was passed with negligible bipartisianship meant that it probably should not have passed. As another example of good policy done the bad way, DACA was established by executive order; it wasn't even a law. Establishing important policy this way damages our democracy and guarantees trouble down the line, not just for liberals but for everyone.

I think if we were to have a reconciliation government, and I think we probably need one, it would be built on the importance of rebuilding trust; we would hope to see the following:

  1. Parties dramatically weakening the role of their party whip, making most votes votes of conscience, and both directly refraining from and acting to counter efforts to establish fundraising incentives for voting certain ways
  2. Abandonment of current party rules whereby a party won't let a proposal come to a vote unless the majority of that party supports it
  3. A reluctance to let any proposal come to a vote unless it gets at least three votes apiece from both major parties