This Space for Rent

Dec 31, 2004

Electric Xmas

1 comment

Dec 30, 2004

I am so not surprised

In Washington, the Stupid Party candidate managed to prevail over the Evil Party candidate for Governor, by demanding that the close election be counted accurately instead of by the oh-so-reliable computer tabulators (and, no, I'm not suggesting fraud here; it's well known that the mechanical tabulators are not as reliable as mk1 human eyeballs.) Does the Evil Party candidate concede? Nope (and this is the proper decision; you yield a lot of ground when you make a concession, even if you may actually be the winner.) But what does the Evil Party candidate ask for? A reexamination of rejected ballots in Evil Party-friendly counties? Nope, how about redoing the whole election?

Sure. And if uncertainty about the results is enough to have a do-over in Washington, well, it's good enough to have a do-over in Ohio. And maybe we should have a do-over in every state where happy coincidences occurred.

With paper ballots, all counted by hand.

(links from Old Fashioned Patriot)

New code!

Magicfilter has been pushed up to version 2.3.c, to deal with Yet Another Feature in modern commercial Linuxes.

I used to use token pasting (an experimental ANSI thing from the 1980s, published in a little-read document titled ANSI/ISO 9899-1989, Programming Languages - C) as part of the lprng debogification code. The code was pretty simple

#   define UNSET(x) unsetenv(x)
#   define UNSET(x) putenv(x ## "=")

and I foolishly thought that since it was in the ANSI C89 standard that it would be portable.

No. Tim Johnston sent me a bug report against magicfilter, along with a log of a failed make, and that log was full of error messages like

args.c:117:19: pasting ""LPUSER"" and ""="" does not give a valid preprocessing token
args.c:118:19: pasting ""LPHOST"" and ""="" does not give a valid preprocessing token
args.c:119:21: pasting ""LPINDENT"" and ""="" does not give a valid preprocessing token
args.c:120:20: pasting ""LPCLASS"" and ""="" does not give a valid preprocessing token
args.c:121:21: pasting ""LPFORMAT"" and ""="" does not give a valid preprocessing token
args.c:122:18: pasting ""LPJOB"" and ""="" does not give a valid preprocessing token
args.c:123:21: pasting ""LPCOPIES"" and ""="" does not give a valid preprocessing token
args.c:124:23: pasting ""BANNERNAME"" and ""="" does not give a valid preprocessing token
args.c:125:20: pasting ""PRINTER"" and ""="" does not give a valid preprocessing token
args.c:126:20: pasting ""LPQUEUE"" and ""="" does not give a valid preprocessing token
args.c:127:19: pasting ""LPACCT"" and ""="" does not give a valid preprocessing token

Now this is a new one on me (and not just me; a quick websearch on does not give a valid preprocessing token brings up scads of results, all of which say something like "I upgraded (Linux|gcc) to the latest version, and it broke!"), but it's apparently not a bug in gcc. No, it's a deliberately broken part of gcc, much like the way they deliberately broke i386 asm() directives after gcc 2.7.

So. Since it's deliberately broken, I can't use ANSI preprocessor features in magicfilter anymore. (Either that or I need to modify so that it will refuse to work when it finds a machine with a broken gcc. And since all of the free Un*xes out there slavishly slurp up the latest broken crapware from the FSF, not working on a machine with a broken gcc means it won't work anywhere. Which is not exactly the most satisfying outcome.) Thus, new code! to deal with broken systems software. Again.


Dec 29, 2004

The joy of Linux™, or, all hardware sucks, all software sucks

I'm trying to write a procedure for building build machines at work, so we can make new build machines as needed while having some idea of what software we're wedging onto those machines. And, for a change, we're actually being handed some modern hardware to use for the build machines.

In Linuxland, "modern hardware" means that you need a "modern" version of Linux. That's because the Linux core team has had a long-standing belief that published driver interfaces are a mark of the Devil, and if you published driver interfaces then people would write proprietary drivers and use them to corrupt the Precious Bodily Fluids of the Linux kernel. So, this means if you're trying to install something like R*dh*t Linux on an *BM *346, you can't just pick up the Adaptec A320raid driver from Redhat and have the kernel modprobe the thing into place so you'll have a driver. No, you have to go and get the A320raid driver (which is proprietary; so much for preserving those bodily fluids, eh?) for the particular version of R*dh*t you're running, if you're lucky enough to have a version of R*dh*t that Adaptec is bothering to write drivers for (and if you don't, well, I guess you can always install Microsoft Windows, which doesn't have the greatest record for driver stability either, but which doesn't spin out new and incompatable system releases every six or seven months.) And after you've done that, then you get to do the same thing again for the tigon3-based ethernet driver (this one is Open Source®™©, so even though it's not supported as well as the Adaptec driver, you can still build the kernel, sneakernet the sources over, and build a new kernel that, if you're lucky, won't cause the Adaptec drivers to go into vapours over the kernel being rebuilt out from under them.) And once you've got this done, you've got about six months before the OS vendor stops supporting your operating system and forces you to upgrade to a newer one.

It's not as if device driver interfaces are such a dark art. There aren't that many things that a driver has to do, and the interfaces you might want to publish are all sitting there fat and happy, so you do have to deliberately break things to make the interfaces incompatable. But that prevents proprietary drivers (except for the vendors who, um, ship proprietary drivers), so a legion of outraged system administrators and OS developers aren't really worth worrying about.

Excuse me, but I believe there's a wall I need to pound my head against now.


ObSnicker: Snicker

You are Bettie Page!
You're Bettie Page!

What Classic Pin-Up Are You?
brought to you by Quizilla

(Link via Mouse Words)

Dec 28, 2004

Cheap and Evil

US$15 million for disaster recovery, but US$40 million (plus security costs) for the celebration of an election successfully stolen.

And 58 million people (officially 59 million, but you know that some of that is due to computer programming) voted for it.

The Coward in Chief is not my president. Never will be. What makes me ashamed to be American is that so many people voted for this third-rate Nero.

1 comment

Dec 26, 2004

Super-trivial project of the morning

I'm sick, so it's not as if I'm capable of any great feats today, but I did have about a hours worth of energy this morning, so I built a ...

.. bed for the master bedroom in the dollhouse. Total time; 45 minutes, including letting the glue dry. All recycled parts; the (walnut) headboard and the legs are from my hardwood scrap pile, and the platform is made from wood salvaged from an el-cheapo spicerack I dismantled last year.

In the evening, I also cut out the attic floor for the dollhouse (as well as cutting the end off my workbench. Ooops!) which brought my productivity up to a whopping one whole hour.

Dec 25, 2004

The ideal christmas present

A boy and his giant microbes.

Dec 24, 2004

Why you can’t have a fire in your fireplace on Christmas Eve

Russell explained to us «The night before christmas no one can run fires in their fireplace because Whoosh! if Santa burns up no more Christmas!»

2BR/1BA./Lg Living & Dining Rooms/15

For christmas, I decided to build a dollhouse for the bears. As expected, this turned out to be a huge time-sink, and it's come to the night before christmas and I've run out of steam on it (thanks to the yearly round of the Portland Flu.) But, aside from the lack of an attic, stairs,the chimney, and various fiddly bits that I'm going to try and glue in before I go to sleep tonight, it's pretty near finished. Aside from the fasteners, it is completely made from recycled material -- most of the floors and wallpaper are from SCRAP, and the wood is from pallets and a box of scrapwood from the Joinery.

The living room is carpeted from a sample book I scavenged when I was working as a systems administrator about 8 years ago. The fireplace is made of glass tile from the SCRAPbox, and a stick of walnut wood from the Joinery.

A wooden tile floor, courtesy of SCRAP.

The granite tile in the kitchen is from you know where. The wood frame of the doors here (and in every other room of the house) are made from sticks of maple that have been cut into a U shape to fit around the walls and wallpaper.

The bathroom has blue wallpaper and blue and green vinyl tiles.

The main bedroom has more brightly-colored vinyl tiles.

The wallpaper in the Elephant Room is from a roll of Laura Ashley trim paper that we got at a rummage sale for US$1. The floor is linoleum tile from, yup, you guessed it, SCRAP.

Dec 23, 2004

This is why you don’t concede a close election

Christine Gregoire has won the Washington governors seat, despite what the machines said. If Gregoire had conceded, there's no way the Democratic Party would have been able to vanquish the wall of slime coming from the flying monkeys in the Evil Party.

391 votes isn't much, but it's enough, it will serve.

Dec 22, 2004

More eXtreme Babysitting (part 2)

Silas is, as usual, the cutest baby in the whole wide world.

We fed them cupcakes.

Russell, Jackson (not pictured). and Miles spent some time putting out fires.

Mia and Jaden decided that they were foxes that needed to hide in their den.

Jaden modelled the latest in porcupine style

Mia and the Hello Kitty doll, fleeing the scene of the babysitting.

More eXtreme Babysitting (part 1)

Building model railroads in the library.

Russell and his friend Jackson discussing how to build their respective railroads

Creutzfeld-Jacob Disease – It’s what’s for dinner!

The brave new world of self-regulation works about as well as can be expected.

Dec 20, 2004

New Code!

Postoffice is now at version 1.1.1, which corrects an infrequent core dump bug and a nasty feature where incoming user names are not mapped to the actual user names when delivering mail (mail to Orc@pell was delivered to /var/mail/Orc instead of /var/mail/orc like it should have been.)

I never spotted this bug because nobody on the planet ever sends mail to me addressed to anything other than orc@pell, but the best occasionally gets mail that's had the username Capitalized or UPPERCASED. Imagine my surprise when I saw those additional mail files in the spooldir.

The majestic squirrel

Just a few bad apples, Maximum Leader Genius style

Government rots from the head. And let me tell you that I'm shocked, shocked to find out that the thrice-damned Coward in Chief signed off on it.

Ho, Ho, Ho! Merry Christmas, born-agains! This is what you voted for, and this is what you want the United States to be like. I'll bet your close personal friend Jesus would be delighted to know that, yet again, His words were being used as a doormat for someone to wipe their bloody boots on after coming home from another day's work in the Ministry Of Torture.

1 comment

Project of the weekend (with a 10 day intermission)

When I was building the other lamp, I also built a stockpile of extra parts. When I finished, I built another lamp (which only took about 3 hours to put together.)

This lamp is made up of glass tile from SCRAP, wood scraps from The Joinery, and electrical bits from the hardware store and the SCRAPbox.

The 10-day intermission? Well, the bears and I are also building a dollhouse, which ended up using all of my wood clamps for a week and a half. (I don't have nearly enough wood clamps -- I've only got 9 of them, and two of those nine are only suitable for clamping big pieces of furniture together -- and the dollhouse ate up all of the small clamps while I was gluing in the load-bearing walls.

The glass tile on the sides of the lamp are hand-clouded; the tiles were colored by a rubberised back when I got them from SCRAP, and when I stripped the rubberised backing off, they became simple clear green-blue panels. So I went over them a couple more times with a paint scripper, so they'd be cloudy enough so the light bulb wouldn't be painfully obvious.

Dec 17, 2004

This way to Santa’s Skyway

Today, The best and I took the bears to the downtown Meier & Frank so they could ride the monorail before it's demolished to make room for Yet Another Stupid Downtown Hotel. They don't let big people ride the monorail, so I couldn't get any pictures from inside the train, but I got a few pictures of the monorail as it looped around the Santaland exhibit.


Dec 16, 2004

Zoo Lights

Every year, the Washington Park Oregon Zoo covers most of the zoo with christmas lights, then opens opens the park in the evening so that visitors can come to view the lights and freeze their tushies off. Part of "view the lights" involves riding the zoo train, so that means that every year we're there, trying to ride the steam engine. This year was not an exception:

The nice lights on the train are powered by a nasty little gasoline generator that they plunk down on the tender, so if you're riding in the first car, the trip is somewhat spoiled by the nonstop GRRRRRRRRRRRRRRRR! of the infernal combustion engine; you can't really hear any of the engine noises when the train is going down to the bottom of the zoo.

When we were heading on up to the zoo lights, we detoured along the route of one of the streetcar lines (annoyingly, none of the streetcar and interurban lines in Portland actually have route numbers. The interurban lines are color-coded, but the streetcar line just has a cutesy name) and got to see one of the Skoda Astras, a New Flyer bus, and the city traffic lights do a zoo lights impersonation of their own.

Dec 15, 2004

Christmas list

The best posted a christmas request list a few days back. It didn't include anything for me, because there wasn't anything I could think of getting. This is not good enough for the family, and something must be done.


What I'd like for Christmas would be

  1. Honest elections in the United States; if the fascists are going to take over, I don't want them to have the excuse that the Coward in Chief just stole the election and, golly, how can you blame the Evil Party when it's obviously out of their hands. Of course, in this last election, Maximum Leader Genius would have lost the EV if we'd had an honest election, so that would be two gifts for the price of one.
  2. Pointers to IRAs that are € or CAD-based, so I can get my retirement money out of this sinking ship.
  3. Failing that, a winning lottery ticket would be good. If I had a few million US$ sitting in my bank account, I wouldn't have nearly the feeling of impending doom when I think about what future the bears will have. A few million dollars would be enough to ensure that they aren't left behind when the goddamn no-homeschool-child-left-behind laws gut every secular urban school in the United States.
  4. And, failing that, get out of hell free cards would be nice. The United States is not the only part of the world with operating systems work going on, and I'd be just as happy developing Linux distributions in a state that doesn't have a policy of torturing random people dragged in off the streets in its imperial possessions.

While I'm at it, I'd also like to have the surviving members of the Paulista's fleet of V8 and Russia locomotives, and 100 miles of mainline to run them on. And a pony.

Republican ethics

Didn't win the election? No problem; shake your literacy test requirements and pretend that the write-in votes aren't real.

But they didn't fill in the little bubble! When you're doing a write-in vote, it's pretty obvious that the name you wrote in is the name you're voting for. But not for the Evil Party (unless, of course, they're write-in votes for the Evil Party candidate); it's just another one of the 1,000,000 lucky coincidences that swing the election your way. And after you've been sworn in, well, it would be disruptive to "Democracy" if you're then removed from office because of the tiny detail that you didn't win the election!

Hey, it worked for the Coward in Chief, so why not for every other two-bit thug in the Evil Party?

(link via The Sideshow)

Another successful Star War™ test!

The rain didn't stop the test this time! It, um, didn't work, but this time they're not telling why.


The CIA (not a stranger to torture; they've been doing it long enough so that new recruits get a "Welcome to Hell!" brochure from the CIA's marketing partner Satan) and the FBI have decided to back slowly away from the New Model Torture being practiced by the Coward in Chief's military torture brigade.

I should launch into a long spittle-filled rant about this not being my country anymore, but what's the fucking point? I can't think of any modern fascist state that's been wiped out by anything short of military action, and bitching about it online does not count as military action, no matter what the 101st Fighting Keyboarders might think.

I wonder if the fascist webloggers are still offering to pay for one-way planefare out of the Fourth Reich?

( link via Intel Dump)

Dec 14, 2004

The dignity of youth

Russell wanted me to take a picture. 10 years down the line he'll realize that this was a foolish request.

1 comment

Overambitious project of the month

For Christmas, I'm building a dollhouse for the bears, after which they'll check me into the local insane asylum for meglomania.

4 rooms on the ground floor -- living room (with fireplace), dining room, kitchen, and study.

The kitchen, with stone floors and blue wallpaper

The dining room has a woodblock floor and tan linen-ish wallpaper

The floors and wallpaper are from SCRAP, and the subfloor and walls are made from plywood scavenged from pallets.

Train Picture of the day

Last week, I had to go into work at 5:40am on both Tuesday and Friday, which meant I could get out of work before the sun goes down. On Friday, I grabbed the first bus across the river, and while waiting for the #19 bus, I heard an Amtrak train tooting for 12th and (just south of) Division. This time I actually got a picture of the front of the first engine pulling the southbound Coast Starlight (followed by a bunch of photos of fractional engines and cars. At ~40mph, my reflexes and the A60 have a lot of trouble keeping up.)

Dec 13, 2004

Strong on Defence, Evil Party style

Nobody would do a missile attack on the United States when it was raining or cloudy, would they? Why, that'd be ungentlemanly; the polite way to wage war is to line up and advance in ranks, because only a boor would engage in asymmetric warfare.

And it's not as if that US$50,000,000,000 was going to be used for anything; it was sensible to write the IOUs because otherwise the ink would have gone dry on the Imperial fountain pen.

The more things change…

Our progress in degeneracy appears to me to be pretty rapid. As a nation, we began by declaring that “all men are created equal.” We now practically read in “all men are created equal, except negroes.” When the Know-Nothings get control, it will read “all men are created equal, except negroes, and foreigners and catholics.” When it comes to this I should prefer emigrating to some country where they make no pretence of loving liberty—to Russia, for instance, where despotism can be taken pure, and without the base alloy of hypocrisy.

(some Republican, in a personal letter to a friend)

Was it a Rovian whackjob?

Now that Bernard Kerik has withdrawn his name from consideration for Captain Terror! Alert!™ under allegations of

  1. mob connections
  2. using a patronage job in Iraq as a way to avoid paying for temporary accomodations while having his house renovated
  3. two simultaneous affairs
  4. using a secret NYPD executive apartment
  5. with security guards paid for by the city,
  6. Did I forget the Riker's Island corruption scandal?
  7. Or the Saudi security-as-thug gig?
  8. Or the tax scandal?
  9. Or abandoning a Korean child?

Does anyone seriously think that the legions of Evil Monkeys that work for the Coward in Chief just didn't discover any of this during their loyalty check?

My guess is that Karl Rove decided that Rudy Guiliani was a threat to his plans for ongoing control of the Evil Party, and that the best time to deliver a horsehead would be when Rudy showed up with this IOU from the 2004 "election."

It's the gift that keeps on giving; Rudy Guiliani is, um, not the most subtle thug in the gang, and he's just the person to not notice (or notice, but not care) that his hand-picked lieutenants have trouble walking because they keep having to stop to pick up the bodies that keep tumbling off their shoulders. Karl, on the other hand, really really wants to be Sauron, and he doesn't want anyone from a liberal state tainting the New American Fascism.

If someone with this heaping baskets of scandals was affiliated with the Coward in Chief, it wouldn't matter. Because there are, and the Evil Party is able to bring out armies of flying monkeys to cow the SCLM into submission whenever any of this dirt comes out. So far, there's been, um, not a peep from these defenders of Evil Party purity.

Bye, Rudy! I hope you enjoyed this episode of Honor among thieves as much as the other thieves did!

Dec 12, 2004

Sunday housekeeping

A new web page for all of my work with recycled materials.

Dec 11, 2004


Indecency complaints against the Olympic opening ceremonies ? It's good to see that the New American Fascists are letting more of their kooks out in public now; this will make it more difficult for anyone aside from the even-the-liberals at the DLC to pretend that the Evil Party hasn't gone completely around the bend.

Spot the reference

The national government will maintain and defend the foundations on which the power of our nation rests. It will offer strong protection to Christianity as the very basis of our collective morality. Today Christians stand at the head of our country. We want to fill our culture again with the Christian spirit. We want to burn out all the recent immoral developments in literature, in the theatre, and in the press -- in short, we want to burn out the poison of immorality which has entered into our whole life and culture as a result of liberal excess during the past years.

Good, solid, time-tested prose. And the author was a certified kooky dictator who actually did the stuff the more candid loons in the American Right talk about doing.

Too bad the author is dead, or else he'd have a wonderful career working as part of the New American Fascism.


Dec 10, 2004

Supporting the troops, Maximum Leader Genius style (pt 2)

Bill maimed troops, confiscate their last paycheck, and leave them stranded 1800 miles from home. Well, that's certainly one way to save money for those big tax kickbacks to well-connected friends and family. It's a particularly evil way to save that money, but it's not as if the Coward in Chief gives a rip about the Army anyway.

Dec 09, 2004

Supporting American soldiers, maximum leader genius style.

At home and at war.

The Evil Party; they're not just fascists, they're stupid fascists.

(like via Tapped)

Separation of church and state? How old fashioned!

Everybody needs to have religious propaganda set up in front of courthouses.

Dec 07, 2004

So, what’s all the hurry about?

It's only been a month and a few days, and they use electronic tabulators, so it's not surprising that Ohio still hasn't finished counting their ballots. After all, it's not as if it matters who gets the 20 electoral college votes, or if any recount happens before the Ohio leg "certifies" the results for the Coward in Chief. I'm certain that -- after the 20th of January -- that the US Government will get right on the 2,000,000 lucky coincidences that just happened to swing important states (that. by another set of happy coincidences, just happen to be run by Evil Party apparachniks) over to the Evil Party. These investigations won't change the outcome of the vote, of course -- if they had to unseat an unelected tyrant, why, that would completely destroy Democracy™!!! -- but any irregularities will be tut-tutted over by the gang of thieves and moral degenerates who now control all three branches of the Federal Government.

For what it's worth, Canada uses the clumsy old system of paper ballots and hand-counting, and it's such a terrible system that they're able to get the count done in a matter of hours after their elections are over. But they're just Canada, and they still persist in the naive dream that democratic elections are worthwhile.

update: Oh, look, Ohio finished certifying their "vote" this morning. Does this mean that the shredders finally broke down?

Dec 05, 2004

Project of the week



Demonic possession

This lamp is made from glass tile from SCRAP, wood scraps from The Joinery, and various electrical parts from my toolbox. It took about 4 hours, spread over 9 days, to assemble, and it has my now-traditional signature of no two pieces of the wood actually being parallel to each other.

Total cost? About US$10 (the cost of the electrical parts; the glass and wood didn't cost more than about US$1).


Dec 04, 2004

Portland by day/Portland by Night

Dec 03, 2004

Family values, American style

Let's use orphans as laboratory animals! And if there aren't enough orphans, we'll just take children from their families and use them instead.

Doctor Mengele would be proud.

Watch the €

This is no longer my country

Bush Admin Endorses Use of Evidence Derived from Torture.

Not only are they going to do kangaroo courts, but they'll do them in the traditional Communist style, where they torture people into making shit up, then use these imaginary confessions as an excuse for executions. And 59 million (minus a million or so; the Evil Party did steal this election, after all) US citizens voted for this evil man and his flock of flying monkeys.

20 years ago, I said that if the United States didn't have the Soviet Union to demonise, it would end up destroying itself. Boy, you can imagine my delight that this is coming true.

(from Michael Froomkin, et al)

Dec 02, 2004

Dark night+Camera+Idle hands (pt 3)

This tree is on Powell Ave, just east of the Ross Island bridge.

Dec 01, 2004

Dark night+Camera+Idle hands (pt 2)

The fog rolled in at about 21:30. I tried to get a picture of the moon, but it wasn't reflecting enough sunlight. A nearby streetlamp, on the other hand, made the A60 happy:

Dark night+Camera+Idle hands

Space Aliens?

Christmas tree or Alien War Machine?

More Space Aliens?


Tyranny begins at home.

CBS, as reported by, well, nobody except for the samizdat press, has decided to bar an advertising campaign that the United Church of Christ is putting on in December. From the description of the advertising campaign, it's pretty sedate -- UCC is saying that they're an inclusive church and they'll welcome anybody who wishes to worship at one of their churches. But CBS doesn't approve of the ad, and won't air it. Why? Because the Coward in Chief is warming up a jihad against gay people, and if you welcome anyone that means you'll welcome gay people, and this apparently makes the whole idea of welcoming anyone controversial.

The money quote from the evil pixies at CBS is

«Because this commercial touches on the exclusion of gay couples and other minority groups by other individuals and organizations, and the fact that the Executive Branch has recently proposed a Constitutional Amendment to define marriage as a union between a man and a woman, this spot is unacceptable for broadcast ...»

So, what are the remaining things that are keeping the United States from being declared a fascist government?

It can happen here.

It is happening here.


Obéir c'est trahir, Désobéir c'est servir


Jan Feb Mar     
Jan Feb Mar Apr
May Jun Jul Aug
Sep Oct Nov Dec
Jan Feb Mar Apr
May Jun Jul Aug
Sep Oct Nov Dec
Jan Feb Mar Apr
May Jun Jul Aug
Sep Oct Nov Dec
Jan Feb Mar Apr
May Jun Jul Aug
Sep Oct Nov Dec
Jan Feb Mar Apr
May Jun Jul Aug
Sep Oct Nov Dec
Jan Feb Mar Apr
May Jun Jul Aug
Sep Oct Nov Dec
Jan Feb Mar Apr
May Jun Jul Aug
Sep Oct Nov Dec
Jan Feb Mar Apr
May Jun Jul Aug
Sep Oct Nov Dec
Jan Feb Mar Apr
May Jun Jul Aug
Sep Oct Nov Dec
Jan Feb Mar Apr
May Jun Jul Aug
Sep Oct Nov Dec
Jan Feb Mar Apr
May Jun Jul Aug
Sep Oct Nov Dec
Jan Feb Mar Apr
May Jun Jul Aug
Sep Oct Nov Dec
Jan Feb Mar Apr
May Jun Jul Aug
Sep Oct Nov Dec
Jan Feb Mar Apr
May Jun Jul Aug
Sep Oct Nov Dec
May Jun Jul Aug
Sep Oct Nov Dec