More-or-less mended

Apr. 17th, 2019 11:44 pm
rbarclay: (rad)
[personal profile] rbarclay
On Monday I felt fit enough to transport an air purifier to 'ork (since I stopped smoking tobacco I don't need it any more, pollen-allergic folk at the office think it's a godsend...), and then took the bicycle home.
The latter with much swearing, as every couple hundred meters I noticed something else being bent out of shape.
The most annoying thing (handlebars) was fixed in the shop in under 20 seconds, other stuff was easily (although sometimes repeatedly) fixable by Yours Truly (mudguards scraping on tire walls; it's a sound akin to fingernail-on-chalkboard...).
Bottle cage will probably have to be replaced.

Could've been worse.

I won a 5k (sort of)

Apr. 15th, 2019 05:36 pm
ilanarama: me, The Other Half, Moab UT 2009 (Default)
[personal profile] ilanarama
Yesterday I ran my first race in nearly a year, the Run the Rim 5k, and...I won! There are a whole lot of asterisks and caveats here, but it was a great feeling, and a good sign overall. The race was around the local college campus, Fort Lewis, and the start was about a mile from my new house, a perfect warm-up!

My time was 22:38, which sounds great, but actually the race was quite a bit short because the organizers (the Fort Lewis exercise science class) had to change the planned course at the last minute. My Garmin read 2.86; feeding that time into an equivalency calculator spits out 24:41 as the equivalent actual 5k time, which amusingly enough is one second slower than a 5k I ran almost exactly four years ago which I referred to as "the slowest 5k I've ever won". (So I guess it's been dethroned!) This was, like that race, a fairly small one, and I suspect the better runners mostly chose the 10k, which was two loops of the same (short) course. Incidentally, the 10k started fifteen minutes before the 5k, and the leader passed me on his second loop shortly after the 1-mile mark! Not long after that, I managed to pass the second-place woman in the 5k, and take the lead; I'd started about in the second rank of runners and had passed two other women and one man. The three leading men in the 5k were ahead of me all the way, though nobody passed me other than the 10k leader and the second-place 10k runner, who passed me in the last few hundred yards before the finish line.

My goal going into this race was to not run any miles slower than 8 minutes, and I (just) succeeded, with splits of 7:59, 7:50, and a pace of 7:56 over the last 0.86 mile. My equivalent time is also nearly a minute faster than my last race which was almost a year ago, 25:35 at the Earth Day 5k, so I feel pretty good about that. I won a $50 gift certificate to a local running store, so that's a $32 gain over my entry fee! Plus I got to get my heart pumping and do a little fast running again.

Terry Gilliam

Apr. 11th, 2019 01:33 am
wohali: photograph of Joan (Default)
[personal profile] wohali
Saw "The Man Who Killed Don Quixote" tonight. Had a pleasurable evening.

Criminal that Gilliam can't get wider distribution these days; this is a VERY accessible film for Gilliam, even if it's not him at his most creative (i.e. Brazil).

Pinball on the Atari 2600

Apr. 9th, 2019 09:29 pm
mmcirvin: (Default)
[personal profile] mmcirvin
I've been playing pinball sims again a lot lately, and I've noticed that recent software understandably leans toward emulating the complex and flashy tables of the 1990s and later (and fantasy elaborations of same). But sometimes I want something simple and quick, like an old electromechanical table. There are some modern emulations of those, but another way to dial it back is to play some of the earliest home pinball sims, the pinball games made for the Atari VCS/2600. I know of three, which I can illustrate with other people's YouTube videos...

Video Pinball, Atari, 1980

Atari made three completely distinct videogames called "Video Pinball", unrelated except for being pinball sims. The first was a slick and pretty fun coin-op arcade game that superimposed a 1-bit B/W video display on a physical, disco-themed playfield model that was reflected in a half-silvered mirror. The second was a visually primitive stand-alone home console in the late 1970s, and the third was an Atari 2600 cartridge. This is the only one of the games here that I actually played back in the heyday of the 2600, and I played it a lot. Here's espaciodejuegos playing it:

This game looks OK, if blocky, and it takes care to make use of the whole screen, but partly for that reason it's easily the least like real pinball of these cartridges. The playfield is kind of weird. The bottom is a vast horizontal expanse that the tiny ball can just bounce around to its heart's content; you spend a lot of time waiting, and with some skill a ball can last for a very long time. (The harder difficulty switch setting opens a couple of small extra drain holes in the bottom.) On the other hand, it's the only one of these games that actually allows nudging, with a fairly generous tilt setting, by holding the fire button down and moving the joystick.

There are 1- and 2-player games. Aside from the per-player difficulty switches that open the drain holes, the only other game variation controls whether accumulated bumper values are held between balls.

Midnight Magic, Atari, 1984/86

This was one of those games released after the 1983 videogame crash that few people saw in its cartridge heyday, though it's gained some notoriety since then as a remarkably good pinball sim considering the platform. It seems to have been intended as a port of the popular personal-computer game David's Midnight Magic, but that game had a layout shamelessly ripped off from the classic real pinball Black Knight, and this 2600 game definitely doesn't. As played by highretrogamelord:

It's symmetrical, probably because the 2600 hardware made symmetrical playfields much easier to produce. (They cheat graphically a little by not actually showing a full plunger lane.) It has some aesthetic similarities to David's Midnight Magic, though, and you can kind of see that they were trying to get some aspects of the Black Knight layout in there.

This game is really good, and much, much more pinball-like than Video Pinball, despite having no nudge. The playfield takes up much less of the screen, but it's the right shape and the bottom is like a real pinball machine, with inlanes and outlanes. With the default difficulty setting, the outlanes have always-active kickbacks in them and there's a pretty wide post in the center drain, which makes the game considerably easier; setting the difficulty to hard takes away the kickbacks and the center post, making it much more arcade-realistic. Like an old multi-player electromechanical, nothing about the table state is held between balls; that makes it a fairly challenging game in any event, and there's no shame in playing on the easier setting.

If I have a complaint about it, it's that the crucial drop targets at the top of the layout (which advance a multiplier if you get them all) are above the pop bumpers, so you can't really shoot for them from the bottom flippers, only from the side ones, which give you almost no ability to aim. It'd also be cool if, instead of the kickbacks being always on or off, you had to activate them by making some shot, like on many real pinballs. But trying to nail that spinner in the middle, or make the rollovers up in the corners, is a lot of fun.

Bumper Bash, Spectravideo, 1983

This one is really obscure, apparently very hard to find in actual cartridge form. I mostly remember Spectravideo for trying to introduce an MSX-based home computer in North America, but apparently they also made Atari cartridges. Theshadowsnose apparently has one, and has some entertaining commentary on it:

This isn't as pretty as Midnight Magic, but it might actually be my favorite of the three. If you play it in an emulator, you may have to mess with the control mappings a bit, because it was apparently intended to be used with an eccentric control scheme that reminds me a bit of what Farsight would do with Pinball Hall of Fame on the Wii decades later. It used the Atari 2600's paddle controllers, rotating dials usually used for ball-and-paddle games like Pong and Breakout. These had a red button on the side that was usually used to serve the ball, and they came in pairs that plugged into a single controller port with a Y-shaped connector. The idea was that you'd hold one of these in each hand and operate the flippers with the buttons, approximating the widely separated layout of the flipper buttons on a pinball machine. You could use one of the paddles to dial back the plunger.

This game has the most interesting layout of the three to me, because it's actually asymmetrical and has two sets of drop targets positioned where you can meaningfully shoot for them. Again, the bottom is pretty realistic. The lit rollovers at the top are held between balls, but the drop targets aren't. The ball physics is a little weird and janky compared to Midnight Magic, but I give the game major respect for its flipper physics: you can actually trap the ball and hold it on the flipper in this game, and I think it's the only 2600 pinball sim where that basic real-world pinball technique is really feasible. It makes the target shooting particularly fun.
Again, there's no nudge--the copy on the box tried to paint that as a feature by joking about it being "cheating". But the game has enough to interest pinball fans anyway.


Apr. 7th, 2019 12:57 pm
jhvilas: (Default)
[personal profile] jhvilas
"Suspected rhino poacher is killed by an elephant and then eaten by lions in South Africa":

still running

Apr. 7th, 2019 09:39 am
ilanarama: me, The Other Half, Moab UT 2009 (marathon)
[personal profile] ilanarama
Huh, from recent posts in my journal it looks like all I'm doing is building a house. Well, that's...not far from the truth. I see that the last time I posted about running was last August, when I decided to DNS the Thirsty Thirteen half marathon, and the last biking was our Thanksgiving vacation to Scottsdale. But I get super antsy without physical activity, so I've definitely been doing stuff, I just haven't been writing about it.

After several years of "exceptional drought" we finally had a relatively epic winter. It snowed a lot in town, and it snowed a LOT up at Purgatory. We pretty quickly earned out our ski passes, going once or twice a week.

IMG_20190315_140609 IMG_20190222_145121

Even with the snow, I was able to run 4-5 times a week throughout the winter, because Durango keeps the (paved) river trail plowed, and at midday it was usually pretty pleasant. Because of the issues I had after my pelvic stress fracture, I've been trying to keep up my stretching and core exercises and increasing mileage verrrrrry slowly, so I'm only up to a slow 35mpw right now, but I registered for the Steamworks Half Marathon in early June, so I've got something to train toward.

We also took out our mountain bikes for the first time since our Arizona trip! Things are still muddy up here (though rapidly drying out), but there are a few trail areas near Farmington, New Mexico, about an hour's drive away. Last Saturday we went to an area new to us, the Road Apple Rally trails, and spent a very pleasant couple of hours.

On the Kinsey Trail, near Farmington NM

Other than that, we are still madly packing and moving things and cleaning. The movers come on Friday! The closing on our old house is a week later!

Too bad: wish I'd seen it

Apr. 6th, 2019 03:50 pm
jhvilas: (Default)
[personal profile] jhvilas
Seen across several states in the southeastern U.S.:

drool britannia

Apr. 4th, 2019 10:46 am
rone: (frangendo)
[personal profile] rone
Hey, Brexit's not going all right
Hey, Brexit's not going all right
What's that floating in the Thames fog?
It's that bellend, Jacob Rees-Mogg

I believe in Mr. Grieve
Bercow's yelling out, "ORDER!"
Northern Ireland's got no border

I believe in Mr. Grieve
Do we have another division? Yup
Do we have another division?

Lalalala, lalalala
Lalalala, lalalala
Got Gove, got Corbyn
Got even ol' Boris Johnson

I believe in Mr. Grieve
Do we have another division? Yup
Do we have another division?
Do we have another division?

May can cry, May can mope
But can she swing for a third vote?
Oh, I believe
In Mr. Grieve
Hey, Brexit's not going all right
Hey, Brexit's not going all right

A curious Perl Quine

Apr. 4th, 2019 06:35 pm
fanf: (Default)
[personal profile] fanf

Save the following program to /tmp/

    Illegal division by zero at /tmp/ line 1.

Run it with perl /tmp/ and it prints its own source code.

It's easy to make a "cheating quine" in many languages, where a syntax error in the source provokes the parser to emit an error message that matches the source. I posted several cheating quine examples on Twitter including

      File "", line 1
        File "", line 1
    IndentationError: unexpected indent

The Perl quine at the start of this post is a different kind of cheat: the program parses OK, and it runs briefly until the division by zero error is raised. It is quite sensitive to details of the filename: for example ./ does not work.

This error message is a program?!

This little program gets into a lot of perl's do-what-I-mean parsing.

The / character is quite context-sensitive, and can be parsed as a division operator or the start of a regex. Small perturbations of this program make it into a regex parse error rather than runnable code. In this case both / appear in an operator context.

The other non-words in this program are 1., which is just a number, and . which is the concatenation operator.

So what do the words mean?

Bare words in Perl can be subroutine names, method names, package or class names, or (in non-strict mode) un-delimited strings, and maybe other things I have forgotten!

Perl also has an unusual method invocation syntax called "indirect object syntax" which has the form

    method object args

most frequently seen looking like

    print $filehandle "message";
    my $instance = new Class(args);

although Perl's preferred syntax is

    my $instance = Class->new(args);

The perlobj documentation says

To parse this code, Perl uses a heuristic based on what package names it has seen, what subroutines exist in the current package, what barewords it has previously seen, and other input. Needless to say, heuristics can produce very surprising results!

How does it parse?

Starting from the right,

    pl line 1.

is parsed as the method call


where line is a package (class) name and pl is the method.

In the middle of the program, at, tmp, and quine are parsed as barewords, i.e. strings. The expression parses as:

    (("at" / "tmp") / "quine") . line->pl(1.)

On the left there are two nested indirect object method calls,

    division->Illegal(zero->by( ... ))

The innermost expression, which gets evaluated first, is

    "at" / "tmp"

And this immediately raises a division by zero exception.


rone: (Default)
entombed in the shrine of zeroes and ones

April 2019

 123 456

Most Popular Tags

Style Credit

Expand Cut Tags

No cut tags
Page generated Apr. 18th, 2019 10:42 am
Powered by Dreamwidth Studios