Expand Cut Tags

No cut tags
mdlbear: the positively imaginary half of a cubic mandelbrot set (Default)

It's been another rough week. This week it's been mostly health care -- I found out Tuesday that Amazon hadn't continued my health care as they said they were going to, so I was unable to order Colleen's humira. (Which, at $1800 for two doses, isn't something one wants to pay for out of pocket.) My HR contact is looking into it, but it took several days to get through; meanwhile I went online and signed up for Medicare Part D and identified a Medigap provider (ExpressScripts and Premera Blue Cross; both for continuity and because they seem to get top reviews. Who knows how long that will last under Trump(Doesn't)Care.)

I know there's something called compassion fatigue. Is despair fatigue a thing? Or is that just another phase of despair? I find myself incapable of being surprised at whatever outrageous thing Trump and the "Republicans" have done each day. (I put "Republicans" in quotes because they are rapidly turning this country into a right-wing dictatorship. I feel powerless to stop them.)

Onward. Had a really good trip with Colleen up to Whidbey Island; we went up the whole length of it and came back by way of Deception Pass. It's been a very long time since Colleen and I went out for a drive that long that was just a drive -- our occasional loop drives along the California coast were probably the last ones. It was a little too long, but it went ok.

I've been spending much of my spare time catching up on my reading. For some reason I'd stopped reading LWN (Linux Weekly News) sometime around the first of the year; in the last two weeks I've completely caught up. You can see the results in the links, most of which came from LWN, or indirectly by way of Sacha Chua's awesome Emacs News. I've also been finding Whidbey-related links. At some point I need to go back through my to.do archives, extract all the links, and aggregate them. They're kind of useless scattered across blog entries the way they are.

I've even done a little walking (not quite every day, and not much because I seem to be walking at about half my old 3mph pace), a little music, and a little hacking (almost entirely cleanup tasks). On the whole, I appear to have been keeping myself busy in a relaxed kind of way, though I haven't yet fallen into any kind of routine. Later, hopefully.

But.

My last few trips down to the house we used to call Rainbow's End (should we call it "Rainbow's Ended" now?) have been increasingly sad and discouraging. We put a lot of ourselves into that house; it was a large part of what we were as a family. Now we're scattered. We'll come back together, mostly, on Whidbey Island in a little over two months; it may very well be wonderful -- I hope it will -- but it won't be the same. I can't keep from thinking of what I might have done differently, over the last few decades(!), that might have made it possible to stay there. Hell, we all made decisions that seemed like the right thing at the time. Can't be fixed.

"I can't fix it!" is probably what I say most often when things are going badly. It always feels like my fault. I don't think I can fix that, either. I should shut up and go for a walk with Colleen.

Notes & links, as usual )

mdlbear: Wild turkey hen close-up (turkey)

So I took the week off from work. I'd originally planned to return from Orycon Sunday afternoon, and go in to work Monday and possibly Wednesday. The best-laid plans... Monday was occupied by the drive back from Portland, Tuesday by medical stuff (including a urology appointment on short notice for Colleen), and Wednesday by waiting for the tech from Acorn to show up and do the proper inspection that the tech who had arrived early on Monday had failed to do. So.

Spent much of the week on personal software projects. Wednesday and Thursday I was mostly hacking in my .emacs file, fixing some long-standing annoyances with html-helper-mode (and incidentally lj-update-mode, which is partially derived from it). Friday and Saturday I worked on the build software for my website Songs pages -- you can see the results (so far -- there's still quite a bit of prettying-up to do) on LookingGlass Folk's Songs. The LgF page was the main motivation -- it's been a broken link on the site for years. The secondary motivation was putting my songbook on GitHub.

In the course of doing this, I finally got around to writing tests for the makefiles -- predictably, they turned up lots of bugs. By no means complete, but I now also have an easily-extensible test framework that I can use for the rest of MakeStuff and my other make-based projects like Honu.

Thursday we had a Thanksgiving dinner that couldn't be beat. Glenn spatchcocked the bird -- this was my introduction to the technique, which lets a 16-pound turkey cook in two hours with a beautifully crisp skin. Recommended. There were just Colleen and I, Glenn and Naomi, and N's kids. The YD had dinner with her boyfriend's family, and Chaos spent the day working on term papers. The tenants ate at C"'s parents'. (I may have to go to subscripts.)

Fair amount of political stuff in the links; not going to re-hash most of it because apparently Post-Trump Stress Disorder is a thing, and I haz it. I can, however, recommend moem's Cybersecurity for the Trumped series, and Tor Browser.

Notes & links, as usual )

mdlbear: the positively imaginary half of a cubic mandelbrot set (Default)

This post covers most of my week-long vacation, so while it's not quite time for a wrap-up of my goals, I can say that I met about half of them. Which was about what I expected.

The big accomplishment for the week, without a doubt, was posting my one-line Linux setup/configuration package up on GitHub. (I then spent much of the rest of the week debugging and tweaking, but that's also to be expected.) It's called Honu, after the Hawaiian name for the green sea turtle, because a turtle carries its home around with it. The README starts off with this quote from my song, Windward, because I just couldn't resist:

Where the wind takes us next year no turtle can tell
But we'll still be at home, come high water or hell,
Because home is wherever you carry your shell.

The implied puns on $HOME and sh(1) are, of course, entirely intentional.

Honu is meant to be fairly general; it's expected that any user -- including me! -- is going to want to customize the heck out of it. To that end, there's a sample customization package, also on GitHub, called Myrtle. Of course. (My own customization package, which you will not find on GitHub, is called Mathilda, after LookingGlass Folk's name for the narrator of "Windward".)

It hasn't been all roses and rainbows, however. I've spent an inordinate amount of time coping with the bindweed (morning glory's evil twin) that has overgrown the walkway along the south side of the house, sorting a year or two's worth of mail, and recovering from last week's disk crash on the server. I've been doing quite a lot of writing, though a lot of that has been on Quora, so I'm not sure whether that counts toward my daily writing goal, or away from it.

I'll say one thing for Quora, though -- it makes me appreciate my own knowledge and social skills. Being able to answer questions is a real boost to my self-confidence in both those areas. Who knew?

Psychologically, well, ... mixed. I've definitely been less stressed out the last two days of the week than the first two -- I was able to handle a trip downtown that turned out to be a total write-off, due to things being closed/not where I expected, quite calmly and even with a little wry humor. The check from last week's stock sale arrived on Tuesday, which helped. On the other hand, it still apparently doesn't take much frustration to put me back over the edge.

I was a total wreck on Sunday. I seem to handle stress a lot better when I'm by myself. With Colleen around, especially, I get into a horrible feedback loop. By the time I got home I could probably have used an Ativan, but my prescription on those has long since expired. I settled for reading and gin. Low blood sugar may have contributed; I'm not sure I can tell the difference between anxiety and hunger. Alexithymia in action.

I am not ready to go back to work tomorrow. I may never be ready. I'll do it, but it won't be pretty. Notes & links, as usual )

mdlbear: (tsunami)

If yesterday is going to be typical of this vacation (I'm taking all of the coming week off), I'm going to need a month or two of work to recover from it. Not fun.

Friday Nova, my main server, developed a corrupted root partition. I've been keeping an eye on that drive for a while, and had a replacement on hand, so I set up a transfer of the home and data partitions and went to bed. So far, so good.

Yesterday was another matter entirely. Installing a new copy of Debian should only have taken an hour or so. Hah! Instead, I was plagued by a long series of problems, which took me pretty much the entire day to finally analyze. These included:

  1. A corrupted download of the Debian installer. It appeared to work ok, but the keys on the right-hand side of the keyboard kept generating the wrong characters! WTF?
  2. Apparently the idiot Intel motherboard I used for my server won't let you change the boot order of your hard disks (despite having a BIOS option that claims to do exactly that), and it considers a USB key to be a hard disk. So if you have a hard drive that doesn't already have a bootable OS on it, it will keep the damned thing from booting.
  3. Snowflake, the box I've been using for a desktop apparently has a similar problem.

I eventually ended up using the only other working spare system, Trantor, to install Ubuntu. I then swapped the disk into the former Snowflake, which is significantly faster and quieter than either Trantor or the Atom board I'd been using for Nova, so that's a win. I also decided, since I now had Ubuntu on Nova, and it was the fastest machine I had, that I would use it as my desktop as well as my fileserver. There are some potential problems with that, but I have to admit that it's convenient.

It will probably take me a while to get everything on (Novo) Nova configured -- I still need to start doing backups, for example, and don't have a web server up yet -- but at least I have DNS and my main file store up and running. But there was a lot of frustration involved.

The frustration made me more susceptible to other sources of stress, so sure enough, that happened too. Kat and Rabbit are in the process of moving out into their own apartment (finally!), so they brought movers in to handle the bed, the futon, and some other large furniture. Which meant taking the seats off the stairlifts.

And, of course, Colleen woke up and walked down the first flight of stairs before calling for help. I hastily put the seat back on the lower lift, and told Colleen (not exactly calmly -- I was pretty stressed at that point) that she should have gone back to the room, sat down, and called for help.

Then the lower lift wouldn't go back up to its charging position. It was already pretty badly damaged from previous moving attempts; it turned out that the limit switch that detects whether the seat is turned properly had finally broken to the point of unusability. Its little cam follower had been crumpled up from previous clumsy seat replacements. There ensued a frantic search for my multimeter (and a hasty battery replacement) so that I could identify the normally-closed contacts on the switch and move the connectors to them.

At that point I went back to my struggles with the computers. Just as I was getting things pretty stable there, Colleen went up to bed. Or tried to: the bottom lift didn't want to go up. Again. More swearing. More switches to reconnect. A quick trip to Google to look up error code E6, which turned out to be the bottom limit switch. Which hadn't given us any trouble up to that point.

... by that time I was a complete wreck. My stress level was not helped by being worried sick -- literally, by that point -- about the fact that the check from my stock sale still hasn't showed up. And berating myself about not being persistent enough to figure out from Morgan Stanley's miserable website how to do a direct transfer.

The one good thing about all this is that I tend to wake up around 4:30 when I'm stressed. When I feel as though I don't have enough time to get everything done, it helps.

It's been a long month. September is fired. Notes & links, as usual )

mdlbear: the positively imaginary half of a cubic mandelbrot set (Default)

Moderately productive. Two "publishing events".

  1. Sex and the Single Link is up on my "formal" website, Stephen.Savitzky.net. This is, despite the clickbait title, an article about the joy of singly-linked lists.
  2. MakeStuff is up on GitHub. This the first of several projects I intend to put up there; it's the collection of makefiles and scripts that powers all my websites. You can see it in action here.

Apart from that, and a bunch of Quora answers, not a whole lot going on. One my Quora answers led to a good discussion on the comment thread. Fairly prodctive at work, though as usual not quite as much as I wanted to be.

One particularly interesting article for the programmers in the audience, Developer Differences: Makers vs Menders, which seems to describe me fairly well.

Also of note, the first episode of the Lesbian Historic Motif Project Podcast: Ordinary Women by Heather Rose Jones ([livejournal.com profile] hrj on LJ) is up.

Notes & links, as usual )
mdlbear: the positively imaginary half of a cubic mandelbrot set (Default)

Fairly productive at work this week, though I lost Friday to an all-day training session. (I made up some of that yesterday in between lab work and my doctor's appointment. Went in early because the appointment wasn't until 1:40, and I wanted to be able to have my coffee before noon.) I appear to be in pretty good health; my blood pressure was 129/75; which is decent.

The training Friday was a workshop on Scrum. Tl;dr: we've been doing it wrong. Which is not unusual. My impression has always been that it works best for things that can be built incrementally -- the idea is to break things down into "features" (corresponding to "user stories") that can be built in one sprint -- typically two weeks -- and end up done, in production, and demonstrated to the customer at the end of that. The theory is that the team gets more and more familiar with their product and their process, so they get better at estimating. And there's an expectation that developers are mostly fungible -- anyone can pick up any of the tasks and finish it in a couple of days. (Specialists like QA, tech writer (we should be so lucky!), and maybe a web developer, don't count.)

So let's look at the project I'm currently on: We have four developers. One is building a new service, one is working on the web front end (and just came on board), and two are working in different, pre-existing services that they've never worked on before. The work being done in the latter case is such that a sizeable number of pieces have to be in place in order for anything to work. Meanwhile, other teams are working on other parts of the same services, with somewhat different requirements. Theoretically, each of the three main developers could work on any of the tasks, but in practice there's a lot of context in each of those sub-projects that it would take a long time for anyone else to ramp up on.

It doesn't help that the manager and web developer are in Vancouver, and that most of the design was done almost a year before the work started, under a different manager, by three developers one of whom got pulled off to work on a totally unrelated project. This leaves only two of us with any real context.

On the other hand, I've been having fun with configuration files and makefiles. The latest hack was adding color-coded labels to the workspaces in my xmonad setup. You say "ws 2 to.do", for example, and you get a color-coded label at the top of the screen in workspace 2. The labels use standard resistor color codes, and include a clock (because the quick thing was to base them on xclock). Here. (Need to get this onto github soon.)

Writing: met my minimum goal of 500 words two days a week, but just barely. Both were in PJ (short for Private Journal), so not on DW or the website where you can see them. Sorry about that.

Notes & links, as usual )
mdlbear: (flamethrower)

The only writing I did last week was last Sunday's weekly post. I'll try to do better; hopefully I won't be feeling as harried this week. I did get in some music time -- last Sunday, and yesterday. And some walking with Colleen and Kat, also on Sunday.

Quite a bit of back pain. It's been mostly ok in the morning, but tends to get worse on the way home. Probably something to do with being tired, but also possibly stress. Have I mentioned having trouble identifying my mental state? It's called alexithymia.

The alexithymia also bleeds into problems identifying physical state, because of course they're related. I have trouble distinguishing the physical symptoms of anxiety and hunger, for example. Not to mention distinguishing between wanting food, and needing food. The latter barely registers, and certainly not as hunger, until I suddenly start feeling the symptoms of low blood sugar. Which I have learned to recognize. Or until Colleen notices that I'm starting to snap at people.

Stress is, apparently, another of those states that I don't start noticing until it's been going on too long. And then it bleeds into burnout and depression. (And, no, depression doesn't register as sadness. At all. It's best described as a combination of apathy and despair.) I think I'm noticing a trend here.

I'm getting better at noticing. Look in the notes for an exclamation mark in column 3 -- that means I've actually noticed an emotion while it was happening. They're rare -- the only instance this last week was Sunday.

Speaking of stress, I'm oncall this week. With pages including 6am Tuesday morning -- Prime Day -- and midnight last night. This morning. Whatever. One thing I've noticed is that I don't have enough mental bandwidth. I can't multitask. At all. Period. Things get lost track of.

If a page comes in, I completely lose track of whatever I was doing, including dealing with another page, and it takes me a while to get my context back. Which leads to things like having something like 10 different browser windows open in 8 workspaces, with multiple tabs in each, many of which refer to the same tickets. Because context. And, of course, re-investigating the same thing multiple times because I've forgotten what I was doing an hour ago.

I'm getting a little better at going up to people I don't know and asking for help. But, of course, I'm even worse at remembering names than I am at multitasking, which leads to things like waking the wrong person up at six in the morning. (And forgetting that I had an email in my inbox telling me who the right person would have been. See multitasking.)

(Brief pause -- my desk is being catted on. The absolute best thing I've done for my mental health in years was putting a cardboard box on my desk, attaching it with a couple of screws, and lining it with a towel.)

Back to reaching out and talking to people. I don't think my reluctance to do that has anything to do with what I afraid people will think of me. So, this doesn't seem to have the characteristcs of social anxiety. No, it has more to do with what I think of me, and in particular feeling stupid and at a loss for what to do. Plus total lack of self-confidence, which leads to (or somehow relates to) an unwillingness to "disturb" people.

It's not just at work. Even at home, I take a closed door as a "do not disturb" sign even when I'm pretty certain that the person on the other side (usually N) would be happy to see me. It's hard enough when I know they're expecting me, though I'm getting a little better about that.

In a slightly different direction, some links from [personal profile] ysabetwordsmith about emotional self-care (see Monday, below) proved unexpectedly triggery and anxiety-provoking. So we're talking low self-esteem here, maybe. (Maybe?! Let's get real here.)

It's been a long month this week.

Notes & links, as usual )
mdlbear: the positively imaginary half of a cubic mandelbrot set (Default)

You may want to start with Part 1

 

Xmonad is a tiling window manager. That means that, with very few exceptions, it lays out all of the windows in your workspace so that they completely fill the screen. You can have multiple layouts, and flip between them with a single keystroke. You can bring a workspace (there are 9 by default, but you can add more) to your screen with a single keystroke, or send a window to a workspace.

And the whole thing is configured using a text file that is actually a program, written in the functional language Haskell. I'll get to that later.

One of my main gripes about Gnome, etc., and one of the things I miss the most about CTWM, is that when you first start a program its window shows up at some random location on the screen, with whatever size the program thinks is appropriate. If you don't like those choices you have to move and resize the window yourself, and then do it all over the next time you log in. (There are some exceptions -- many newer programs remember where you put them last, and older programs, from the CTWM era, can be given a starting geometry.)

Xmonad's layouts are all deterministic, which is to say, predictable. When you start a program, you know exactly where it's going to be on the screen. When you change the layout, you know where everything is going to go. If you want to move a window into the main position (most layouts have one; e.g. the left-hand column) it's (as usual) just one keystroke to put it there.

But the best thing, and the reason I switched to xmonad in the first place, is the way it treats multiple monitors: it simply assigns one workspace to each monitor.

Undock your laptop, and its screen stays exactly the same. The workspaces that were shown on the other screens simply go back into hiding with all the others, and are still only a keystroke away. When you have multiple screens, you can move a window to another screen, or bring a workspace to a screen, or warp the pointer to another screen, all with single keystrokes.

When you go to a conference room and plug in a projector, a workspace immediately shows up there and its layout automatically adjusts to the projector's resolution and aspect ratio. When you get a new computer -- all the developers at work got new laptops just a month or two ago -- just copy your configuration files to it and everything will be exactly the same as it was on the old one. (Sometime later I'll write about my portable configuration, which makes it possible for me to set up my entire working environment in mere minutes.)

 

So let's go a little deeper into those magic keystrokes. First of all, you have to know that all of the commands (you can't really call them shortcuts) include a key that xmonad calls "Mod" (short for "modifier", of course). Mod is initially defined as Alt, but the first thing any Emacs user is going to do is redefine it as something else, usually the "logo" key. (That's the one on the left between Ctrl and Alt that usually has a Windows logo on it. If your keyboard has replaceable keys you may be able to get a penguin for it.) On old laptops that don't have a logo key I use Ctrl-Alt, but that's a matter of taste.

You also probably want to know that Mod-? gets you a list of all the commands. And that there's a fantastic collection of tutorials, documentation, and sample configuration files at xmonad.org.

When xmonad starts up, you see a totally empty, black screen. Most people, myself included, add a status/navigation bar at the top, but you don't have to. I'll get to that later. You can start a program by typing Mod-P, or open a terminal window with Mod-Shift-Enter. You will immediately notice that the first window you open fills the screen. If you open another, xmonad will tile the screen with them, showing them side by side.

If you start a third program, it will get added to the right-hand column. You can probably see where this is going. When you move the mouse pointer into a window, it gets a thin red border to show you that it has "focus".

If you decide that you started things in the wrong order, move the pointer into the window you want to put in the left-hand column (the "master" column) and hit Mod-Enter. You close a window you're done with using Mod-Shift-C.

Here's where it gets interesting: Mod-Space will switch you to a new layout, with the master column turning into a master row, and all the other windows across the bottom. Hit Mod-Space again, and the currently-focused window goes full-screen. (I reconfigure my full-screen layout to put a row of tabs across the top. Wondering how to see the hidden windows? Mod-Tab moves focus to the next window in the stack. It also works in other layouts, so you don't need the mouse to move focus around. If you spend most of your time in a terminal and an editor like vim or emacs, you can throw your mouse away and still be productive. Mod-Shift-Tab moves focus to the previous window.

Mod-2 puts you into a second workspace. There are nine of them. (I add two more -- 0 and -.) If you want to move a window, say from workspace 2 to workspace 1, use Mod-Shift-1. That's kind of a recurring theme in xmonad -- Mod-something does one thing, and Mod-Shift-something does something related.

You can see that in action if you add an(other) monitor. Now, workspace 1 is in the left-hand screen, and 2 is in the right-hand screen. Think of the two of them as West and East.

Now, Mod-w will move the focus (and the mouse pointer) into the West screen, and Mod-e will move the focus into the East screen. Mod-1 through Mod-9 will bring that workspace into whatever screen has the focus. If the other workspace was already visible, they trade places. (Some people don't like that, so you can change it so that it just moves focus into the other screen if you select a workspace that's already visible.)

Add a third screen to the right of East, and call it Right. Now, Mod-r and Mod-Shift-R do exactly what you would expect. (There are no bindings for T, so I suppose that if you have space for a fourth screen you could use it for that.)

There are more key bindings, to move focus (Mod-j and Mod-k focus the next and previous window, respectively; shifted, they swap the focused window with the next or previous window), to shrink and enlarge the master area (Mod-h and Mod-l respectively), or increase or decrease the number of windows in the master area (Mod-Comma and Mod-Period respectively).

mdlbear: the positively imaginary half of a cubic mandelbrot set (Default)

As I mentioned about a week ago, I've been trying to write more. And since my current obsession is a program called xmonad, well, ...

This is incomplete: it's about the first day's worth (I've been trying to write about 500 words per day). Comments and suggestions are, of course, welcome.

 

My new 27" monitors arrived at work; I took advantage of the change to rearrange my work space. Before, it was the set-up I've had for most of the last three years -- monitor in front on a stand, second monitor on the right, and my laptop on the left. The new laptop, however, has a decent keyboard (with trackpoint and three buttons), and the monitors between them occupy about 2/3 of the desk.

The new arrangement has the laptop dock under the "middle" monitor; the laptop, being a business-class Dell, has both a pointing stick and a middle "mouse" button. The laptop's keyboard is decent enough that it can replace the thinkpad keyboard I've been using for the last couple of years -- it's a high-end Dell, and has both a pointing stick and a middle button. (The middle button has part of the Unix desktop environment since the mid 1980s; it means "paste", and I use it all the time.) The monitors are about 50% bigger, pixel-wise, than the laptop, and are arranged "traditionally" with the laptop on the left.

You can probably see the problem with this arrangement. The total workspace is about 7000 pixels wide, and it's not even arranged in a straight line -- to get from the laptop to the "middle" monitor you have to move the cursor to the right, but the natural direction would be straight up. What's more, when you undock the laptop the whole thing collapses down to a "mere" 1920x1080. It's no wonder that most of the programmers in my team have opted for a single 30" monitor, and keep their laptop (almost invariably a mac) closed while they're using it.

Fortunately, I anticipated this problem months ago, and started using a window manager called xmonad.

 

One of the things I love most about Linux is the fact that the program that manages the layout of the screen and the behavior and appearance of the windows on it is not part of the operating system. It's a separate program, sensibly called a "window manager", and it runs in user space as a perfectly ordinary application that just happens to have a couple of extra hooks into X, which is the (also ordinary) program that actually controls the display, the keyboard, and the mouse.

Being an ordinary program -- and not even a terribly complicated one -- anybody can write one, and many people have. For a long time I was using one called TWM (Tabbed Window Manager, but the T originally stood for Tom's). Later I started using CTWM (Claude's Tabbed Window Manager), because it introduced the then unfamiliar notion of multiple workspaces. (Before CTWM, these could only be found in an experimental system at Xerox where they were called "rooms". Apple introduced them decades later, as part of MacOS X.)

You've probably heard of Gnome, KDE, and Ubuntu's horrible Unity desktop environments. Down at the bottom, they're just window managers plus a couple of utilities for doing things like putting up the familiar bar (Gnome calls it a "panel") full of menus, launcher buttons, clocks and other widgets. You can, in fact, run gnome-panel under any window manager, and I did for a while. They also include a "session manager", which handles things like starting the panel and making sure that applications get notified when you log out, so that they can save their state and exit cleanly. I've been using Gnome for years, and loved it for its configurability.

But Gnome's configurability comes with a cost -- every time you move to a new computer, you have to spend an hour clicking around in control panels and property windows to get everything set up the way you like it. And every time there's a major upgrade, something is a little different. It's a cost I no longer have to pay.


Part 2

mdlbear: the positively imaginary half of a cubic mandelbrot set (Default)

Hmm. Interesting week. Mostly in the Chinese sense.

My boss seems to be somewhat more confident in my abilities than I am. It is not clear that this is entirely a good thing, especially if it tempts me to become complacent. But, yeah. Low self-esteem. I haz it.

I think I've managed to spend a few minutes noodling on the guitar every day this week. Mostly minor and suspended chords, but still. Music. It does tend to confirm that my mood is mostly minor and suspended.

My home hacking continues to be centered around xnomad. I've pretty much abandoned gnome at this point. Xmonad is blazingly fast, lightweight, works beautifully with a varying number of monitors, and seems to help me concentrate on the task at hand.

I've also upgraded a couple of netbooks to Ubuntu 16.04; not entirely successfully, but the one with hardware problems is the smaller of the of the Dell minis. The keyboard was crap when I started, and has not been helped by the fact that the hard drive is underneath it. Swapped the 16G SSD for a 100G hard drive pulled out of something a long time ago. That, and getting through a couple of boxes of shredding, has at least given me some sense of accomplishment.

The most "interesting" day was Friday, though, when I got home and it finally occurred to me to research burnout. Um... yeah. Nearly a perfect match for the problems I've been having at work over the last year, not to mention the depression, dysthymia, occasional sleep problems, and the fact that I lost ten pounds over the course of a month or so last year. (Not that I'm going to complain about that! But...)

Anyway.

I actually teared up reading, in Ten Questions for Meaningful Career Development, "2. Am I willing to believe that my efforts matter, at least to me?"

I think what I need to do, over the next year or so, is semi-retire. I can't afford to fully retire, and probably wouldn't want to for years. But something less stressful, maybe part time, ... yeah. The hard part will be finding it. There aren't really a whole lot of low-stress jobs for an ageing computer curmudgeon. If you spot one, let me know.

Notes & links, as usual )
mdlbear: Welcome to Rainbow's End (sign) (rainbows-end)

The big news for this week is RainbowCon 1, this coming weekend. But other than that...

Colleen lost her uncle in a car crash. So not exactly a good week. Busy and somewhat rough week at work. Lots of tidying, moving of boxes, and so on. So my back hurt most evenings. Naproxen is my friend.

Finished my taxes, sort of at the last minute. Owed about the same as last year, which was a pleasant surprise, considering that before I started Sunday it was showing about twice that. I could have handled it, but glad I didn't have to.

N and G moved down to their new suite in the basement. It'll be gorgeous when they get moved in. I helped with putting up shelves, but the last two I put up weren't level. Grump.

... and when I couldn't give Naomi a coherently practical reason why I was prioritizing clearing a way to the garage, she said, "Oh. It's an emotional need then. Go ahead." Oh. Yeah; I guess I have emotions these days. And other people can still notice me having them when I can't. Which uttterly fails to surprise me.

Can't think of anything else worthy of mention.

Notes & links, as usual )
mdlbear: the positively imaginary half of a cubic mandelbrot set (Default)

So.... not too bad of a week. Busy, which is good. I gave a presentation at work on Friday; it appears to have come across well despite not being nearly as smooth -- or as well-prepared -- as I would have liked. There is, of course, a strong connection between those two: I did most of the work Sunday and Monday. Still, ...

I spent most of my spare time configuring xmonad and studying Haskell. Haskell is a pure functional programming language, with a somewhat peculiar syntax. Xmonad is a lightweight tiling window manager, written in Haskell. I love it! Its use of screen space is extremely efficient, and you pretty much don't have to worry about how windows are arranged because it's automatic. (You get your choice from a wide range of possible arrangements. Configurable as heck.)

When I had to go back to gnome (while I was trying to figure out how to get a network manager applet) I found myself trying to tile windows with the mouse. Ugh. Now that it's in pretty good shape I'm going to put it on my work laptop. It's glorious on a laptop.

The latest Ubuntu upgrade seems to have done slightly weird things to html-helper-mode. At this point I'm inclined to go with the flow and stop trying to use hanging indent for paragraph tags. Not as pretty, but it actually works ok in HTML5, which gets back to human read/writeability from the strictness of XHTML.

Chaos and Rabbit are moving in. Hopefully by mid-day today. Notes & links, as usual )

mdlbear: the positively imaginary half of a cubic mandelbrot set (Default)

I seem to have mostly switched to xmonad as my window manager. This is a Good Thing -- I seem to be better able to concentrate with a less-cluttered screen. (On the other hand, I'm less productive while I'm still hacking on the configuration. That may be less of a good thing. There are, unfortunately, still a few things that don't work well in it.

Meanwhile, despite being fairly productive at work, I have gotten behind on a couple of longer-term things -- namely taxes, and a presentation that I'm supposed to be giving next Friday. (It's more fun to read Learn You a Haskell for Great Good!.)

It was quite warm several days this week. That is not expected to last, but it does indicate that Spring may be on its way. Not to be confused with the Spring Framework. Which I am not happy with.

I am also starting to do yard work again, after neglecting it for almost all of last year. (Partly because depression; not clear on the rest.)

Sigh. Too many things have fallen by the wayside. I, perhaps, am one of them.

Notes & links, as usual )
mdlbear: the positively imaginary half of a cubic mandelbrot set (Default)

The week's notable events were Mother's Day (including an expedition to the Burke Museum with the Younger Daughter), and Rika's house concert on Thursday. The latter was very thinly attended, but we had fun anyway. We have seating for 25-30 people. I found a couple of folding camp chairs on sale at Walgreen's for $10; used one last night for a couple of songs.

I turned up several long-missing items in the course of re-arranging furniture and looking for other missing items (which of course were nowhere to be found -- there may be a conservation law in effect here). Emmy put the Great Room into concert configuration and back; she's kind of unobtrusively amazing.

In the software area, I now have a workable 2-monitor configuration using x2x(1) between nova (the "server", running Debian Jessie) and trantor (the "desktop", running Ubuntu Trusty Taur). It's a very usable setup, if slightly odd-looking.

I'm back with my own group at work, though still working on some of the stuff I've been on loan to. I'm not really happy there, but it's a job.

ETA: and I somehow managed to post this a day early. :P

raw notes, with links )
mdlbear: the positively imaginary half of a cubic mandelbrot set (Default)

On the health front, I may finally be learning to relax the muscles in my lower back that make it hurt when I walk. Maybe. It also seems to have a lot to do with how heavy my shoulder bag is, so that's going to be an ongoing problem. A backpack would be better, except that it's hard to get off when I take a seat in the bus, and unlike a shoulder bag I can't swing it around when I want to get at something like my wallet.

I've finally started doing some serious system administration/scripting work to get my website working directories the rest of the way under git control. That's done -- I can now say "make deploy" in a web directory and have it committed, pushed to the remote repo, and pulled into the website with no further attention.

In the process, I had to write a script for converting a directory from CVS to git. There are a couple of challenges in that process because the old CVS repositories were in pretty bad shape, with stuff not having been checked in consistently. Not like a well-maintained software project, in other words. Bad bear. No cookie. My websites don't use cookies anyway.

The associated asset archive is going to be harder, because some directories have large media files in them. Like, um... the audio. The goal is to eliminate the use of rsync snapshots for backups (for reasons I will probably go into in more detail in a later post).

Detail in the notes, as usual.

raw notes, with links )
mdlbear: (flamethrower)

Advisory 01/2014: Drupal - pre Auth SQL Injection Vulnerability

A "highly critical public service announcement" from Drupal [LWN.net] "Automated attacks began compromising Drupal 7 websites that were not patched or updated to Drupal 7.32 within hours of the announcement of SA-CORE-2014-005 - Drupal core - SQL injection. You should proceed under the assumption that every Drupal 7 website was compromised unless updated or patched before Oct 15th, 11pm UTC, that is 7 hours after the announcement."

Impressive. I think this is an appropriate place to quote one of my father's aphorisms: "A locked car with an open window is NOT a locked car."

If PHP is your open window, you may as well leave the keys on the dashboard where they're easy to see.

mdlbear: the positively imaginary half of a cubic mandelbrot set (Default)

I spent a lot of time yesterday (and today) ripping CDs so that they can be packed. The ones that aren't in FreeDB, and a few of the ones that, for some reason, my Linux box refuses to read, got sent over to the Mac mini; it worked on a lot of them. I'll have to write a script to translate the filenames to match the conventions I'm using on Linux, but that's easy.

We had an electrician come in to look at our fan/lights -- the fans work fine, but the lights don't. Turns out it's not the remote controls, it's the stupid ballasts. I looked at one -- the insulation on the wiring harness is brittle. Should be easy to replace, in that case.

A little random hacking in the makefile templates, prompted by the fact that the Makefiles in theStarport.org are hopelessly out of date.

Some good links in the notes, several of them music-related.

raw notes )
mdlbear: the positively imaginary half of a cubic mandelbrot set (Default)
raw notes )

A very productive couple of days at work; I hit my (largely symbolic) code freeze deadline yesterday evening at 5pm, in spite of having spent far too much time in meetings. There's another, very hard, very real handover deadline coming up on Monday -- I'll be spending the rest of the week documenting and testing.

I walked a little yesterday, and a full three miles on Monday. I was actually present in the moment for much of Monday's walk, and noticed that it felt better than when I spend the time worrying or beating myself up over things I should have done years ago. Not that there isn't plenty of time for that.

I also finished the data-entry for taxes, ran my summary program (which sorts the expenses into categories that are easy for me to put into the forms), and imported last year's data into The Program Formerly Known As TaxCut (henceforth probably TPFKATC).

One of the most annoying things about modern GUI software is that it has no notion of "current directory" even if you start it from a command line in the damned directory; it thinks that you want to put everything in "Documents" or some-such, and often won't even do you the courtesy of exporting into the same directory you saved the document into. Sometimes that's useful, e.g. if you're working on only one project at a time and all your exported .wav files (to give a current example) go into the same directory. If you jump around between projects it's annoying as heck.

I've been reading How To Be Happy, available for free on 17000 Days. There's a section on optimism, which had a different definition from the one I'm used to; you'll also find it in this post. I've always said that I'm a pessimist because I like pleasant surprises. But I've never much liked surprises of any kind, and I'm obviously not expecting any pleasant ones. The definition in the book is:

The biggest difference between optimists and pessimists is that optimists assume good things are permanent and pervade every area of their lives, but assume bad things are temporary and isolated to their limited context.

Pessimists, obviously, assume the opposite. So I'm a pessimist because I expect anything pleasant to be a surprise -- unplanned, unlikely, and temporary. It makes a difference.

As for links, there were several good ones, mostly about computer security. State of Texas exposes data on 3.5 million people is one -- the money quote is:

Often when I am talking with people at shows and seminars I ask them if they have an encryption program in place. Nearly always the answer is "Of course! We have deployed encryption to over 80% of our laptops already."

I then ask about the servers, databases and other critical storage locations of sensitive data and I see a scary look in their eyes... They usually respond with "Oh, that's OK, that information is all inside of our firewall."

Yeah, right.

The other one, Security researcher warns over Dropbox authentication security flaw, is kind of obvious. I mean, if you set up automatic syncing with someplace on the net, it's obvious that your credentials are going to be stored on your local machine, and can be exposed if your account is compromised. Duh.

Beware!!

Feb. 9th, 2009 11:13 am
mdlbear: (sureal time)
Beware: UNIX Time to Read 1234567890 On Friday the 13th
perl -e 'print scalar localtime(1234567890),"\n";'
Fri Feb 13 15:31:30 2009
mdlbear: (hacker glider)

So yesterday evening, rather than do anything actually useful like my sales taxes, I sat down and finished transpose.pl, which automagically transposes lead sheets with chords enclosed inline in [square brackets]. Based on the file extension it either uses "#" and "b", or "\sharp" and "\flat".

Of course, the sales taxes really have to get done this morning, along with paying any bills due at the end of the month (when I'll be out of town). And two phone calls, which still scare the hell out of me, to AT&T about my cell phone service and fiber. The cell phone call should have been made a month ago, and is probably too late now to help with my previous astronomical bill. Maybe even with the current one. My finances suck, and I suck at handling them.

(09:54) Sales taxes done.

mdlbear: (hacker glider)

Adeona: A Free, Open Source System for Helping Track and Recover Lost and Stolen Laptops

Adeona is the first Open Source system for tracking the location of your lost or stolen laptop that does not rely on a proprietary, central service. This means that you can install Adeona on your laptop and go theres no need to rely on a single third party. Whats more, Adeona addresses a critical privacy goal different from existing commercial offerings. It is privacy-preserving. This means that no one besides the owner or an agent of the owners choosing can use Adeona to track a laptop. Unlike other systems, users of Adeona can rest assured that no one can abuse the system in order to track where they use their laptop.

Adeona is designed to use the Open Source OpenDHT distributed storage service to store location updates sent by a small software client installed on an owners laptop. The client continually monitors the current location of the laptop, gathering information such as IP addresses and local network topology that can be used to identify its current location. The client then uses strong cryptographic mechanisms to not only encrypt the location data, but also ensure that the ciphertexts stored within OpenDHT are anonymous and unlinkable. At the same time, it is easy for an owner to retrieve location information.

[...]

Adeona is named after the Roman goddess of safe returns.

(from InfoWorld)

OpenDHT looks very interesting in its own right.

mdlbear: (hacker glider)

One of Colleen's little pleasures in life is Nethack. She never bothered to learn the cursor-movement keys, though, which are based on vi. She's always used the arrows. They work on the PC version, and they've always worked for her on the Linux version, too. So it was a little surprising that they didn't work on her EeePC.

Odd that there didn't seem to be a config-file option to enable them.

I finally looked at the example config file for nethack-x11. All the way through it. And found a familiar-looking key-translation table. Oh.

As it turns out, I had encountered this problem a dozen years ago, and fixed it by putting exactly that four-line key-translation table into the household's shared Xdefaults file. And forgotten that I'd done it.

Dumb bear. Was a smart bear, once upon the time.

mdlbear: (hacker glider)

Yes, I definitely seem to have fallen into a modern-day version of The Programmer and the Elves...

...still a lowly programmer -- and is now stuck for the foreseeable future maintaining this horrid crock of a Fortran program, written by elves! After all, nobody else can understand how it works. It has variables named Shamrock and Rainbow and Misty_Morning_Dew, and some of the most ferocious assembly language subroutines to be found outside the jungles of Borneo.

And the moral of the story is: Never do the impossible. People will expect you to do it forever after.

Well, maybe not quite that bad. But it's a horrid crock of a form and workflow system built on top of a beta version of Java that are both 10 years out of date... Somebody upgraded Java, and it broke.

So I commented out the one place where it was using the old, incompatible KeyStore class, and it's back to crashing a lot instead of every damned time. That's an improvement. Of course, now it's only pretending to create and verify DSA signatures. But since you can't fill in a form without logging in to the server with your Unix password, there was never any real reason for the digital signatures in the first place.

This still leaves the uncomfortable question of why a horrid crock of a research experiment written by two people a full decade ago is still better for our lab's workflow than anything we've been able to turn up in the open source world. Suggestions?

Or is there still some research left in that topic? Hmm.

mdlbear: (ubuntu-hello-cthulhu)
Open Source Java Technology Debuts In GNU/Linux Distributions
Latest Releases of Fedora and Ubuntu Feature OpenJDK-based Implementations

SANTA CLARA, CA April 30, 2008 Sun Microsystems, Inc. (NASDAQ: JAVA), Canonical Ltd. and Red Hat, Inc. (NYSE: RHT), today announced the inclusion of OpenJDK-based (http://openjdk.java.net) implementations in Fedora 9 and Ubuntu 8.04 Long Term Support (LTS) Server and Desktop editions, furthering the promise of Sun's open source Java technology initiative.

In addition, the NetBeans 6.0 Integrated Development Environment (IDE) (http://www.netbeans.org) is being delivered as part of the Ubuntu 8.04 LTS release and Canonical has certified Ubuntu 8.04 LTS Server Edition on several Sun x86 systems.
(From Groklaw's news picks.

Hacks

Jul. 16th, 2007 11:39 pm
mdlbear: (hacker glider)

Added short-form track credits to some of the various listing formats. In general, this replaces timings (which mostly aren't all that useful except on places like the tray card) with the name of the songwriter, or lyricist/composer if they're different. You can see the results here, for example.

mdlbear: portrait of me holding a guitar, by Kelly Freas (freas)

It crossed my mind at the last Très Gique gig at Westercon that my usual sound check song, "Jabberwocky" as a talking blues, is totally lame. A proper sound check song should be a throwaway, sure, but it also has to be something that everybody in the group can sing on, with verses we can trade off singing, geeky, totally silly, and loud.

"Old Time Computing" came to mind. Then I came up with:

When your drummer plays a doumbek
You had better run a sound check
Or you'll end up sounding like heck
And your audience will flee...

... Possibly with a chorus about a real-time musician, after which things could easily degenerate into verses about emacs/vi, unix/vms, and other software religion. But I'm not going to go there right now.

mdlbear: (hacker glider)

So now that I have this nifty ogg player, the obvious thing to do is to put the oggs for my album on it so I can listen to them. There are a couple of subtleties to this, since all the soundfiles have uninformative short names that don't sort in proper track order.

The solution was to add a new format to my TrackInfo program that makes symlinks (in a subdirectory) that have proper long names starting with a two-digit track number. Then it's a simple matter of invoking it from the Makefile, and rsync'ing the music player from the subdirectory.

Q.E.F.

BTW, it sounds really good. Clean. Claves don't work in "Daddy's World", though. Sound out of place.

mdlbear: (flamethrower)

Word Processors: Stupid and Inefficient, a 1999 essay by Allin Cottrell. Still, sadly, as true as it was then.

(From Don Marti.)

Currently I do almost all my writing in HTML using a plain text editor, GNU Emacs. My filksongs are still all in LaTeX with a couple of custom macros for typesetting chords and passing metadata to my various scripts, and to-do lists and random notes are in plain text. I hardly ever have to think about how a document is going to look when it's printed, beyond tweaking with a song's layout parameters so that it fits on a single page. About the only thing I have in a word processor at the moment are business cards.

mdlbear: the positively imaginary half of a cubic mandelbrot set (Default)

OK, I'm an idiot. But at least I managed to avoid a major embarassment when I decided not to start burning disks last night -- a wise decision, given that it was nearly midnight and I'd already printed a batch of 10 jewelcase inserts upside-down -- and give the CD-ROM part a once-over in the morning. Damned good thing.

In addition to leaving out the copyright license notices on the index page, I had succeeded in leaving out the .ogg and .mp3 files that were the main reason for having the disk in the first place! It took me about three hours to clean up the mess. It's presently held together with spit and baling wire, but somebody reading the CD-ROM in a web browser will at least have valid local links to visit if they start at the top, and somebody browsing the files directly will find the audio in places that at least make sense.

Also discovered that my nice new Plextor drive doesn't seem to want to write any faster than 8x, though it could conceivably have been the media that I did the initial test burns on, or something else I was doing on the machine at the time (since it worked fine at full speed a couple of days ago). OK, I now have two side-by-side boxen in the office, Harmony and Trantor, and they both work.

mdlbear: (audacity)

Added reverb to the vocals on "Someplace in the Net" (which improved it considerably); last night I also did some mixing on "Programmer's Alphabet" and "Paper Pings". Ran into some mysterious bugs in Audacity last night working on "Net", so I pulled down the latest updates from the CVS tree and rebuilt it. Several stupid mistakes (you really do need cvs update -d if you want to get all the new subdirectories) and a number of apt-get's to fetch missing libraries later, I had a shiny new Audacity 1.3.3 -- the bugs appear to be gone, and there are some welcome improvements in the UI.

In other news, my left leg isn't hurting, and the infected big toe on my right foot seems to be improving. These are both Good Things.

Happy Bear.

(9:15 reverb on "Paper Pings". 9:35 reverb on "Programmer's Alphabet".)

mdlbear: (abt)

... but it looks as though I'll be starting one anyway. this post by [livejournal.com profile] catsittingstill got me thinking about tweaking my CD and website build tools (edit to fix broken URL -- how did it end up being "starpnetort.com"?) to make them more generally useful. Right now they're specific to me, my website layout, and the idiosyncratic file format I use for lyrics. But it wouldn't be hard to generalize them, and I think a lot of people, especially in the filk community, would have a use for what amounts to a singer-songwriter's web toolkit.

I'm not going to do more than think about it between now and whenever my CD is finished -- hopefully Baycon.

mdlbear: (ccs)

Got the Makefiles back into fully-useable shape after the transition to 32-bit floating point .wav files. My assorted disk-burning programs won't burn them directly, so they have to be converted to 16-bit first. This gives me a chance to pull them all together and normalize them to the same average level, which is also a good thing.

Burned a test disk which I will listen to in the car tomorrow.

mdlbear: (ccs)

Despite having other things to do, I managed to get "World Inside the Crystal" into pretty decent shape -- the main thing it needed was bass cut on the guitar track to tame the boominess that resulted from having the mic slightly above the strings when I recorded it. I think I can take care of "Silk and Steel" this evening as well. (9:58 ...except that "Silk and Steel" needs to have its guitar part redone -- too much bleedthrough on the vocals otherwise.)

This markes something of a milestone: 9 tracks out of 18 are basically done, and only two need me to do any actual recording at this point.

My conversation with Jeff Rogers yesterday at the party, plus some of the other feedback I've gotten, has left me feeling pretty good about putting the live version of "High Barratry" on the CD. I pushed the .wav file up on the web so he could work on it. Jeff, like me, is in favor of a clean acoustic sound with the lyrics clear and understandable.

Almost finished with the switchover from 16-bit wav files to 32-bit. If I export the final mix in floating point it means I can normalize the tracks without losing any bits, so I'll have more headroom for mixing. I believe most mastering software takes floating point as well. Only thing left is actually building the disk TOC, but I don't need that immediately. Maybe not at all, if I let the duplicator put the disk together from uploaded track files.

mdlbear: the positively imaginary half of a cubic mandelbrot set (Default)

Joyce had to reschedule our practice session, so I've been catching up on a few other things, like making sure that all my lyrics pages link to the corresponding PDF, OGG, and MP3 files (if they exist, of course). (Making sure they get rebuilt when new oggs or mp3s get added is left as an exercise for another day.) I do have a tentative setlist, though.

Next thing I'm planning to do this evening is upgrade my main internal fileserver (nova) from Debian Sarge (the current stable release) to Etch (testing, and soon to be stable). I've done this on several systems by now and so far it's gone pretty smoothly. Email might get disrupted for a while, but hopefully not too long. (update about an hour and a half for the upgrade, as it turns out.)

The major accomplishment at work was getting the touchscreen on my old Linux tablet PC working in Etch. We have two of them -- they were originally made by Element Computing (now defunct) and shipped with a hacked-up Xandros installed. The software was distinctly flaky, and I was never able to find a version of Linux that worked well until a couple of weeks ago. I finally figured out the proper incantation for the touchscreen, which turns out to use the "fpit" (Fujitsu) driver. It was called something different in XFree86.

Tomorrow's task will be making the touchscreen continue to work when it's rotated into portrait position, set up an auto-login for the account we're running the demos in, and then duplicate the whole thing on the other machine. And then try to get the built-in wireless card working. Should be... um... interesting. Yeah, that's the word.

mdlbear: (abt)

Spent most of the day trying to figure out why I couldn't burn a working second session (with a CDROM image) onto the bonus disk, making a CD-Extra. A little before dinner I found that it worked on my fileserver, which is running Debian Sarge rather than the newer Etch. Whether the problem is in the software or the drive, and which piece of software it might be in, remains to be seen. But now that I know it works, I can deal with other things.

Well, the [livejournal.com profile] flower_cat has gone to bed -- not feeling well at all -- so I think my best course is to do some more debugging, work on the booklet text for CC&S, and start on the set list for my concert at Consonance. Recording will wait until tomorrow afternoon.

Update: oddly, it seems to be working now. It does seem to require writing the whole disk in track-at-once mode using wodim.

mdlbear: (kill bill)

In the course of putting together the graphics for my upcoming CD, I've discovered that essentially the only way to exchange files with both my artist collaborators and my duplicator is to use Adobe Photoshop and Illustrator. I've even gone so far as to contemplate getting a Mac mini to run them on -- it would be a useful addition to the local computer collection in any case, and runs Ubuntu just fine.

Imagine my disgust, then, on discovering that Adobe doesn't support the Intel Macs yet. This means that there is no Mac that I can go out and buy that will run their stupid software. And neither of my Windows boxes will support their software, either -- not enough RAM, and wimpy CPUs.

At one point,years ago, Adobe ported all their software to Linux and made it available for beta testing, and all of it ran on Solaris as well. Then they stopped. They're nearly as evil and disgusting a monopoly as Microsoft, and if I could avoid both of their product lines and stick to my OS of choice I'd be a happy hacker indeed.

update It seems that the hang-up is caused by yet another piece of proprietary software: all of Adobe's products were developed on MetroWorks' C++ compiler, which doesn't support the Intel macs either. Apple switched over to GCC, which apparently cuts some corners that Adobe was counting on. It's still disgusting -- it doesn't matter which proprietary software you're relying on, you're still going to get screwed. All I can say to the poor drudges putting in their overtime at Adobe is: you should have known this was coming.

mdlbear: (copyleft)

This is big, folks! You can read about it here or here or by following links from this story on Groklaw, which points to Sun's press release. Check out the banner picture.

I don't think I'm exagerating when I say that this is going to have as big an influence on the software scene as Netscape's open-source release of Mozilla, and probably a lot faster.

mdlbear: (hacker glider)
Remember my earlier post about open formats, and how Mark Pilgrim switched to Linux after 22 years on Apple hardware? Well, here's his Essential Software List -- it's an update of this list from 2004. I see we're both members of the Church of Emacs
mdlbear: (hacker glider)

I've been happily playing with Boodler, a program that generates "soundscapes" -- continuous, varying streams of sound. My favorite so far is "pwrain.Rainforest" -- "rain in the rainforest". It's all programmed in Python, so it's infinitely tweakable.

mdlbear: the positively imaginary half of a cubic mandelbrot set (Default)

... is now available for Linux.

Runs pretty well on a fast machine, even without a 3D video card.

mdlbear: (hacker glider)

Git 1.0.0 released [thread]

Git, in case you've been sleeping under a rock since last April or so (or simply don't care about software), is the new, blindingly fast, astoundingly simple, distributed version control system developed by Linux Torvalds and a cast of, well, dozens at least. The 1.0.0 release is a significant milestone for something that was thrown together in a week or two in response to the withdrawal of the free version of the proprietary BitKeeper VCS.

X11R6.9/X11R7 Officially Released

I started using X11R6 (the "R" stands for "Release") fourteen or so years ago, a release schedule that makes Debian (with a gap of two years between 3 and 3.1) look positively hasty. Now that X.org is under new management and actively part of the open source movement, things are on the move again.

SeaMonkey 1.0 Beta announced.

SeaMonkey is the old Mozilla browser suite. The Mozilla developers have moved on from a huge and ungainly, but unified, suite to separate applications: Firefox and Thunderbird. But some users still wanted the whole package, so the project lives on, under its old codename. Yet another example of the resilience of free software, especially when contrasted with Microsoft's recent announcement that as of January 1 it will no longer be supporting IE on the Mac.

(Updated to add SeaMonkey and to link to X11R7's official release announcement.)

Worst bugs

Nov. 8th, 2005 08:33 am
mdlbear: (hacker glider)

From slashdot comes this Wired article on history's 10 worst software bugs.

Filkers may recall that I have some interest in this subject.

mdlbear: (hacker glider)

Crash-Only Software:

Abstract:

Crash-only programs crash safely and recover quickly. There is only one way to stop such software -- by crashing it -- and only one way to bring it up -- by initiating recovery. Crash-only systems are built from crash-only components, and the use of transparent component-level retries hides intra-system component crashes from end users. In this paper we advocate a crash-only design for Internet systems, showing that it can lead to more reliable, predictable code and faster, more effective recovery. We present ideas on how to build such crash-only Internet services, taking successful techniques to their logical extreme.

Sent to me by Aahz, who found the link on a Python mailing list. Intriguing, but really only applies at the lower end of the high-reliability spectrum. For software to get to the point where I'd trust it with my life passing a truck on a two-lane road with oncoming traffic, I'd expect proof-of-correctness on some little single-tasking microcontroller, with all of its state in either registers or ROM.

mdlbear: (hacker glider)
...But this is too cool not to mention: (ganked from docbug = [livejournal.com profile] docbug_feed, who thus saves me the trouble of looking up the links myself. Bug got the links from our coworker Mike G., who did a lot of work on the J2K spec.)

Yesterday a consortium of the major movie studios announced final specs for a new standard digital format for movie theaters. The specification uses JPEG 2000 video compression, which (though it happened before I started working there) I'm proud to say largely came out of work performed at my lab.


It's nice to be associated with a company that does cool things, gives a damn about the environment, and is great to work for.

The cool thing about JPEG 2000 is that it's based on wavelets and so does multiple resolutions all at once. You can compress a file losslessly, store it on a server, and then request just exactly the image size and quality you want. You can even request pieces, pan around, and re-assemble the pieces into an entire image in your cache. It's going to revolutionize the Web as soon as there's a decent open source implementation that can be put into apps like Firefox, OpenOffice, and the Gimp.

Speaking of open source and my work, late this afternoon I finally got the new pluggable blob format code working in my little, soon-to-be-released miniserver. If I'm really lucky I may get permission to upload it to RiSource.org in time to have something to show off at OSCon in Portland next week. [livejournal.com profile] mr_kurt?

Oh, yes: we were the first major Japanese company (as far as I know) to release an open-source software project.

Most Popular Tags

Syndicate

RSS Atom

Style Credit

Page generated Jun. 24th, 2017 05:23 am
Powered by Dreamwidth Studios