About Me, Featured, Free Style, Good Reads, Quotes, Technology, Testimonials

The Death of Books

Link: https://dannyman.toldme.com/2010/02/01/death-of-books/

I just posted a comment on a friend’s Facebook status:

I think the Death of Paper Books has been predicted with the advent of newspapers, radio, television, microfiche, books-on-tape, CD-ROMs, the Internet, portable computers, e-books readers, and smart phones, but it still hasn’t happened yet.

I like books, I like holding them in my hands, and I like stacking them on shelves along the walls of my apartment. I suspect that this love of books will be transmitted to my children, much as it was inherited from my parents. I doubt we’ll have an “unabridged dictionary” or a set of encyclopedias like when I grew up, but hell yeah, as long as I and my descendants have the money to spend, paper books aren’t going to die out.

I think eBooks will serve a particular role, especially in lightening the load in school backpacks. For my normal routine of reading one book at a time, though, and then palming it off to a friend or family member, I am fine with having the pulp copy to thumb through, though access rights if I later want to search the book digitally would be nice.

Feedback Welcome

Featured, Sundry

Week of 24 January, 2010

Link: https://dannyman.toldme.com/2010/02/01/week-of-24-january-2010/

Sunday, January 24

1.5h Up the Yangtze

Monday, January 25

Just at the end of my work day my manager called a team meeting to tell us he was quitting. Quitting to write full-time. The guy we had added to the team most recently would take over as manager. I think that we were all extremely pleased and proud of our boss for taking this brave new step in his life, and any worries of change were quickly smoothed over because our new manager has had a good deal more management experience, and is generally just a likable guy. We’ll see.

2.0h Daily Show
Pushups: 40

In the evening I participated in an annual survey of New York’s homeless population called Project HOPE. We gathered at a training site, which was a public school two blocks from the apartment, at 10:30pm. At midnight after we had been fully trained, we struck out to various survey sites, walking our assigned blocks in teams of 4-6, escorted by pairs of beat cops. The rule is anyone you encounter you ask them to participate in a brief survey:

“Hello my name is Danny and I’m a volunteer with the New York Department of Homeless Services. We’re conducting a survey tonight and we would like to ask you a few brief questions. Your answers are strictly confidential, would you like to participate?”

“Do you have a place to sleep tonight that you would consider your home?”

“What sort of place is it?”

“Has someone else asked you these questions this evening?”

Tuesday, January 26

We had been worried because earlier Monday the weather forecast was for rain and high winds, but when we got together it was 50F and occasionally drizzly, though the lows were upper 30s. Walking the streets in the cold drizzle we encountered few people at all. I think our team encountered maybe 6 people total, and none of them were homeless. The last guy was in transitional housing, and seemed proud to be paying rent and also glad to see us walking the streets, caring enough to help study the homeless population.

We also noted that, walking through some sketchy neighborhoods in a large group with cops in tow, that a fair number of would-be respondents crossed the street to avoid us.

I was home I think around 3:30. Mei got up three hours later and I slept in, starting work at 11am. One nice thing about telecommuting to the West Coast is that if I get a late start on my day, that puts me on a less-early schedule compared to my coworkers.

I think it is more that we are pack animals looking for leaders. A charismatic leader who is supremely self confident and has an answer for everything can be appealing in a politician, a boss, or a lover, whatever your gender. Our culture perceives the role of charismatic leader asshole as a male role, but “nice girls” suffer the same frustrations as the “nice boys” because men find bitches to be hot, despite themselves.


0.5h John Oliver’s New York Standup
0.5h Daily Show

Wednesday, January 27

I biked to the Post Office to mail my XO-1 laptop back to the OLPC folks for deployment to Haiti, and picking up a package Mom sent for my birthday. Back at home, I spent too much time scoffing at Apple’s fancy new iPad. Later, I watched the State of the Union Address.

1.5h State of The Union
0.25h Aqua Teen Hunger Force

Thursday, January 28

I spent a little more time futzing with the “live squirrelcam” at ustream.tv.

Pushups: 43 + 36 + 35
Situps: 100

1.0h Daily Show

Friday, January 29

I went off to a co-working event in . . . Williamsburg? It was harshly cold outside but it was nice to work, for a change, at a long table with other people who work from notebook computers . . . there was an entrepreneur who built a social networking website for the music business; some freelance web developers; a lady in finance who was allowed to work remote for her employer in Washington, DC; a guy who is CIO for some part of the state Senate, who is working to champion open access to government information. Around lunch time we walked a few block over to pick up sandwiches, and around 4:30pm some guys brought back some beer and we went around the room making introductions. It was great to “get out” . . .

. . . we did not go out in the evening because it was just way too cold.

0.5h John Oliver’s New York Standup
0.5h Daily Show

Saturday, January 30

We went to the dentist together, then we grabbed lunch nearby . . . “nothing special” . . . then we caught “Fantastic Mr Fox” at a nearby theater, which was pretty good. On the way back we checked out a pet adoption event, and learned of a web site for foster families for pets, which we might go for.

Back at home we played with the squirrels some more, live on Internet TV. We had three come by and the highlight was after the first two climbed up to the can to grab a nut, the third absconded with the can lid, because surely if it smells like nuts it bears further investigation out on the fire escape. Alas, such thinking outside the can didn’t produce any results, but we got a good laugh out of it. Later, I looked down to the pavement and decided that it just wasn’t worth the slight risk to my personal safety to climb down the fire escape to retrieve the lid to the nut can.

I dropped Mei off at the hospital for a night shift, and returned home to engage in laziness.

1.5h Fantastic Mr Fox
1.0h Project Runway
1.0h Dollhouse
2.0h Star Trek
0.75h Aqua Teen Hunger Force

Feedback Welcome

About Me, Featured, Good Reads, Sundry, Technical

Week of January 31, 2010

Link: https://dannyman.toldme.com/2010/02/02/week-of-january-31-2010/

Sunday, January 31

I slept in, but Mei was catching up on sleep from her night shift, so I wandered down to the Tea Lounge. After she got up I met her at Cheryl’s for brunch, then we picked up groceries, and she ran off to the gym as I cleaned my desk area, and began writing holiday thank you cards, as she returned and cooked up food for the week.

1.0h Frontline

Monday, February 1

I was pretty productive at work, most notably cleaning up the mess I made on Friday moving my project from stand-alone Django to hosting via WSGI. The big win was in adding this to my WSGI handler:

# So, usually in django you can have print statements in your code to
# aid in debugging, but this cause trouble for WSGI, so we'll direct
# print statements to stdout instead to stderr, hopefully landing them
# out of the way and in the error log.  -dannhowa
sys.stdout = sys.stderr

Mei made her macaroni and cheese from scratch.

Later, while watching Frontline’s “Young and Restless in China” I was struck by and admired Jingjing’s concise and honest account of a tragedy in her personal life:

I’ve been through a difficult time. My fiancé and I are both very, very busy. Actually, I focused more on my work than my relationship, and it faded. He gave up. I could feel it. His heart wasn’t here any more. There were new temptations, probably a better woman than me. I felt like I was the one who always blamed or criticized him, but the other woman flattered and admired him.

He said it first: “let’s just end it.”

I tried really hard to get him back, but I just couldn’t.

Fortunately, Mei and I are both aware of the danger of putting work ahead of personal relationships.

Pushups: 34
0.75h Frontline
0.25h Saturday Night Live

Tuesday, February 2

I was glad to hear that the groundhog bit the mayor last year.

This blog got hacked for the second time. This time I am running the most current version of the software. An edit was made through the “admin” account to link an entry to some web site in Russian. I reverted the edit and deleted the “admin” user. I should probably update my plugins.

Pushups: 41
0.5h Daily Show
1.5h How Much Do You Love Me?

Wednesday, February 3

This morning I was thinking that winter might help make people liberal: they understand that suffering is universal and temporary, we are proud of our survival skills. Sometimes people need a hand, though, and you ought to help them out because we’ll all be doing better come spring time.

Where the weather is always warm, suffering is more often regarded as a consequence of personal failure, and personal failure is often inherited from shiftless parents. Helping out the hopeless just gets in the way of one making the most of long pleasant days: a noble distraction for some, but nothing one should be burdened with in the form of taxes.

It is certainly more complicated than that, but there is a gradient where you see the great social democracies at the Arctic Circle, and as you move closer to the Equator that capacity for efficient government seems to evaporate. (Also, necessity being the mother of invention, collective action being a prerequisite for mere survival in Sweden.)

Pushups: 31 + 21 + 25
Situps: 100
1.5h Barack Obama versus The GOP
0.5h Daily Show

Thursday, February 4

Advice to a coworker wondering if he should sue Toyota or request rental car reimbursement:

They might could loan you a car, being a car dealer and all, but really the fix takes about a half hour, except the government’s thinking it might be an issue with the computer, possibly caused by electromagnetic interference, so good luck figuring that one out. You might consider disabling excess electronic junk in the passenger compartment: put your mobile device in airplane mode, etc. (Personally, I would just man up and accept that my mortality is bound by fates beyond my understanding, though personally I avoid driving anyway.)

But what I really want is to hear the Governator slur it just right:


If recalls bother you then you might be better off with a used car, which has had several years for any consumer defects to have been detected, analysed, and amended. My father, who spent many years repairing electronic systems, always preferred cars from the junk yard with minimal electronics because he KNOWS they’re failure prone in unexpected ways, and he figured that after the nuclear war his car would still be driveable. (What with the EMPs . . . )

After dropping Mei off at work in the evening I finished off an open bottle of dessert wine, and watched a bunch of TV, including several episodes of “The Daily Show”, “The Colbert Report” and “Aqua Teen Hunger Force” which featured a two-part episode where the Mooninites stole Carl’s hypno-rims and hypnotized him into sodomizing himself with a broom. Now, “Aqua Teen Hunger Force” is pretty “out there” but mid way through the second part I just had to turn that crap off.

Friday, February 5

This morning I received an unexpected phone call from a stranger in Dublin who explained that the directory link count on a Unix filesystem indicates the number of directory entries contained in that directory. Two of those are . and ... This might also explain why you can only use symbolic links for directories, since the link count field has a different purpose.

Technical Debt — A term coined by Ward Cunningham to describe the obligation that a software organization incurs when it chooses a design or construction approach that’s expedient in the short term but that increases complexity and is more costly in the long term. The technical debt vocabulary provides a way to communicate with non-technical staff in an area that has traditionally suffered from a lack of transparency. Shifting the dialog from a technical vocabulary to a financial vocabulary provides a clearer, more understandable framework for these discussions.

“Woonerf” – Anarchy the Key to Safe Streets? — Europeans are experimenting with an idea that tearing out sidewalks and sharing road space between vehicles, bicycles and pedestrians can improve both safety and speed of travel in towns with fewer than 15,000 residents. The safety is achieved by slowing vehicles to a maximum of 20 MPH-a speed at which drivers can react effectively and the human body is most likely to survive an impact. Vehicles gain speed because they can move efficiently through intersections without waiting at traffic lights.

Saturday, February 6

Today I went in search of adventure. I started walking, following the directions allowed by traffic lights, and made my way down Flatbush, right on Church, past Ocean Parkway then down past Cortelyou to Ditmas where I happened upon the hobby shop I have wanted to visit, Trainworld. That was a groovy place and I was tempted to maybe buy a ready-to-run holiday trainset or a Bachman set with a Norris locomotive but aside from not-needing-to-spend-the-money there’s also that where-would-I-put-it-anyway. At one moment I thought how my calculus for spending money on things that don’t have an obvious place to live would be changed if the request were made by my children, and I reckoned I will one day say yes to them a little more easily, but that when I was a kid I learned that since parents say no, it is important to consider the cost and value of different wishes, and that something is gained when a child learns to choose their battles.

After flirting with my boyhood fantasies and leaving the shop empty-handed, I walked toward the adjoining elevated train station, but postponed my train trip to watch several fire trucks and a small crowd of people respond to a fire in a small building. Smoke poured out the doorway and the firefighters knocked out windows and brought in a hose, while two guys climbed the fire truck ladder onto the roof, I guess for tactical reasons. Everyone admires the heroism and strength of firefighters, and for a boyish instant I wanted to become a firefighter too. While this particular fire didn’t look like much, everyone in the crowd was glad at the chance to see these men entering a burning building to make things right.

After the smoke had mostly cleared I hopped on the train and rode the F out to Coney Island, which was rewarding because that station is built in the style of the grand train terminals you still see in Europe, with possibly a dozen tracks alongside each other under a soaring ceiling, trains coming and going constantly. I hopped an N train back North, which didn’t offer the scenic view I had had on the F, because it ran in a ditch. But I did get to see the operator reach out the window at one stop to press the “local” button, which I imagined was rigged up to set the switches for the train to run on the local track. Seeing this little detail of the MTA operations was a thrill. Though, I was a little disappointed that we ran local, because the subway map says the N runs express up to Pacific Avenue. Along the way there were darkened trains parked in at the express tracks in the stations, and I wondered if they might be trying to keep some of the extra trains warm, or maybe they were doing yard maintenance and were using the express tracks for storage.

2.0h New York: Episode 2
1.0h Dirty Jobs

Feedback Welcome

Featured, Sundry

Week of 7 February, 2010

Link: https://dannyman.toldme.com/2010/02/15/week-of-7-february-2010/

Sunday, February 7

The Moscow Underground – An Outward Glance — A collection of photographs provide a “behind the scenes” look at the Moscow subway system. I call it “train porn.”

I attended Tom’s Superbowl party. I ate and drank a lot, and socialized a fair amount. I also ran into an old Tellme colleague who, as it turns out, is from the same home town as Mei. It was also cool when that one guy in the tight shiny gold pants caught the ball and weaved his way through the guys in blue and made it to the far end of the field. Also, it was nice that New Orleans found a reason to party, while residents of Indianapolis can stay indoors, their huddled masses yearning to be warm.

Monday, February 8

Human Biological Clock

I ran up to Manhattan to fetch my new work laptop from the local sales office. I hung out a little while to configure Windows on the corporate network, noted that the display is of a lower specification than my regular laptop, and brought it home to keep around as a backup unit, in case my beloved regular laptop should fail.

I made dinner: scrambled eggs with cherry tomatoes and frozen veggies, dropped Mei off at work for her last night shift of the week, did the laundry, and folded it while watching the prison-based British Romantic Comedy, Greenfingers. Not a bad day.

1.5h Greenfingers

Tuesday, February 9

In the afternoon I was notified that my Wednesday flight was cancelled, presumably due to weather. I was able to get on a non-cancelled flight four hours later, in an exit row.

Pushups: 40

Wednesday, February 10

Mei was wary of driving me to the airport in the snow, and wiped out from an early day at the hospital, so I hopped the train out to JFK, where most flights had been cancelled, so it was kind of a ghost town, and I had the place to myself. It reminded me of catching a night flight out of Queen Alia Airport in Jordan. It was nice to see the plane was waiting for us, even if it was covered in snow. We waited on the plane for 2.5 hours as the de-iced, and the captain apologized that it took a long time because the plane had been sitting out, in the blizzard, overnight. There were further complications plowing the taxiway and finding appropriate ground equipment that could tow us out in the snow. Finally, we were ready to take off, except one of the sensors was frozen, so we headed back for further de-icing. We took to the air three hours late, and landed in Las Vegas 1.5 hours late, and really we were all impressed and grateful that the plane left the ground at all in the weather, and got us to the other side of the country safely. After we touched down in the desert, an uncharacteristic applause rippled among the passengers, although not quite the confidently routine applause delivered by passengers on Royal Jordanian.

Pushups: 40

Thursday, February 11

Rob picked me up at McCarran International around 0100 and drove West into the California desert. We hadn’t seen each other in a good long while, and we caught up on each other’s lives, and work considerations. Given my delay, he had had plenty of time to nap. I had caught some sleep in my comfortable exit row seat myself, but I caught some more sleep in his passenger seat and although the whole point of my flying to Vegas was to share the driving, he powered through the whole way, noting that Red Bull brought his attention back along the way.

We arrived in Mountain View with an hour to spare, and camped out at Dana Street Roasting Company, my-favorite-cafe-ever, then walked down to the team lunch scheduled at Amici’s as a going away party for my manager. (Thus my reason for flying to California.) There was a huge turnout and it was great to see every one. Since I had served large parties in a pizza restaurant before I took a little initiative to order several large parties on the behalf of our table.

Afterwards I rode back to see the new office our team had moved to. It wasn’t as bad as I had pictured. At least the cubicles aren’t gray and the light rail stops right next to the building, so if I return to the Bay Area and find housing near the light rail, I could be content. I spent the afternoon catching up with coworkers, then rode the light rail back to Mountain View to have dinner with college friends.

I shacked up with another friend, Todd, in Sunnyvale. Todd recently moved to Utah, but he was able to host me at his friend’s house in Sunnyvale, as he happens to be visiting his own corporate headquarters this week as well. He said that he likes Utah, in part because on Sunday he gets the place to himself. He’ll ride the light rail into Salt Lake City and exchange knowing glances with the other non-Mormons, taking advantage of the Sabbath to shop without crowds.

Friday, February 12

Todd dropped me at the office where I spent the bulk of the day in “face time” with coworkers. We wandered to a nearby building where we were invited to an afternoon party, which featured cupcakes and karaoke. At the end of the day many of us headed up to a separate party where we spent many hours eating, drinking and I even smoked a cigar. The best part was just the opportunity to hang out with several of my coworkers, and meet some family members, since many of the people on my team really dig each other, more so than some other places that I have worked.

I saw a lot of my favorite friends this weekend. This trip was well worth it.

During the evening party, I received a notification that my 9am flight had been cancelled. I borrowed the host’s terminal and landed a window seat on soon-to-be-completely-full 6:15am flight.

Saturday, February 13

Around 3am, the party was breaking up, and I was dropped off at the airport. I caught some sleep among the others dozing in the arrival and check-in area. At 3:45am the automated kiosks began processing check-ins and at 4:00am the TSA began to allow us through the metal detectors. The flight ran a little late as they dealt with the overbooking situation. I wedged myself into the over-the-wing window seat, and managed to sleep a fair amount, making sure to stay awake when the flight attendants passed so I could have some water to moisten my parched throat.

Mei picked me up at the airport, drove me home, and let me nap after my shower. She had wanted to cook for me but come evening, she took me to Katz’s famous delicatessen on the lower East Side. I hadn’t especially wanted to even get out of bed but Katz’s sure hit the spot. I had a few bites of Mei’s kugel, which was a perfect fried food, then I ate my own matzo ball soup, half a corned beef sandwich, cream soda, and on impulse, asked the waiter for steak fries that came in a huge delicious pile on a little plate. “You ate like three potatoes.”

We slept well that night.

Feedback Welcome


Tracking the Value of Automation

Link: https://dannyman.toldme.com/2010/02/20/tracking-the-value-of-automation/

Cfengine is an tool used by Systems Administrators to automate the configuration and management of multiple systems. I have mixed feelings about cfengine because it strikes me as overly complex, and there are alternative tools available, but the basic idea of automating systems administration is sound.

Of course, it can take a lot of effort to automate processes, and it takes effort to bring in an automation framework like cfengine to facilitate automation. (Like I said, cfengine is complicated.) Is it worthwhile? More importantly, how do you convince management?

This bit of cfengine propaganda about a new cfengine feature got me thinking:

The value_kept, value_repaired, value_notkept settings fall under cfengine transaction logging and allow administrators to attach actual monetary (or other) values to promises kept, or issues repaired, or conversely measure the loss of non-compliance in dollar terms (choose your currency). This value is summed and recorded for each execution of Cfengine, and can be turned into graphs for your management reports.

“If you combine this with system performance data, and other reports from Cfengine, you begin to build up a pretty compelling case for IT services value. Hopefully this will give skilled system administrators the leverage they need to advance in the view of the more removed managerial levels, guarding the purse strings,” says Mark Burgess, author and company founder of Cfengine.

This is a clever idea, and one that strengthens the case for getting staff to record the time required to complete trouble tickets: if it takes two days of effort to automate a five-minute process then you “break even” on the investment after the process is run 320 times.

More importantly, these cfengine bits are focussed on “business value” . . . a given process may mean five minutes of effort to a SysAdmin, but it may mean a great deal to the user depending on that process. Putting a business value on a process can be tricky to do, but if you figure that a five minute procedure is blocking an engineer from getting work done, and it takes, on average, an hour for the request to be fulfilled, then the business value of automating the process pays off after 16 runs. (More or less, depending on the “value” of the users’ time versus the “value” of the usually-Senior SysAdmin doing the automation.)

Anyway, to the extent that you can put a value on any given process, you can record the value of the expensive process of automation, and help prioritize automation efforts. The greater “return on investment” can be shown for task automation, the greater your case to management for investing time and resources into automation. (Or, it is easier to identify and explain those things not worth automating. A difficult-to-automate one-hour process with low business value that runs once a month may very clearly not be worth the effort.)

1 Comment

Movies, Sundry

Week of 14 February, 2010

Link: https://dannyman.toldme.com/2010/02/22/week-of-14-february-2010/

Sunday, February 14

I got up before Mei-Lin to, among other things, make her breakfast. She let me nap afterwards as she, among other things, baked me an apple pie. I dropped her off at work in the evening for what was otherwise a really nice romantic holiday together.

1.5h Daily Show
0.5h John Oliver’s New York Stand-Up

Monday, February 15

The orthodontist is keen to finish my oral infrastructure project before two years has elapsed. He mentioned a desire to change my lower band, but that for my comfort he would wait until next time. I said I could go for it. He babbled with glee, “okay, if you insist I torture you . . . but if it hurts you forget you know me,” and then rambled on about what material the band was made of and how that had a memory so it wasn’t so bad, and words like anterior and other stuff that means he’s a huge orthodontics geek. I can’t tell half the stuff he’s saying but he says it with a sort of joy that makes me trust him, because I too, know the joy of impassioned geekery.

After driving Mei to work in the evening I took some Aleve. This is the second time this guy has adjusted my teeth and I feel it afterward where I didn’t feel it with the prior orthodontist. Since he’s a geeky man I just assume he is pushing my comfort zone to yield results, whereas the nice lady in San Francisco wanted to help me avoid discomfort.

0.25h Aqua Teen Hunger Force
1.75h Inch’Allah Dimanche
1h Colbert Report

Tuesday, February 16

Mei gave me a toy train set today. It is a juvenile thrill even if I can’t figure out a good home for it.

Pushups: 35 + 35
Situps: 100

1.75h Reprise
1h Dirty Jobs
1h Star Trek: The Next Generation

Wednesday, February 17

I have a modest pile of unused credit cards stashed away in case I ever develop a coke habit. And since I doubt coke dealers take plastic, when I say “develop a coke habit” I mean “fund my own Internet startup-up.”

0.5h Colbert Report
1.75h Sophie Scholl: The Final Days
0.25h Aqua Teen Hunger Force

Thursday, February 18

So, LIVE Squirrelcam is occasionally entertaining but I may try to make it better. Right now one would have to tune in while I am broadcasting, and while the squirrels are doing their thing. There’s maybe ten minutes a day, really, of footage, and its in low res.

If I am silly enough to run a computer with some decent horsepower . . . not 24/7 but say during daylight hours, I’m thinking I could have the computer take a series of 30 second clips, over and over, and then we analyse those clips for squirrel activity. The analysis is the part I don’t know how to do, but I figure I can extract, say, a series of frames, and I’m pretty sure mogrify can give me the “diff” of two images, and if I can evaluate the quantity of that diff, then I know something is going on.

Splice together contiguous 30-second clips of “squirrel detected” footage and upload in hi def to YouTube.

The sup has also been talking about installing these giant, prison-like bars on the windows, “but you can open them.” Anyway, a more permanent fixture outdoors where the squirrels can look cute for the Internet without worrying about the guy inside typing away menacingly at the keyboard might be where I end up.

If I don’t just lose interest first.

After an unusually rough day at work, I watched “Balzac and the Little Chinese Seamstress” which was a nice enough film set during the Cultural Revolution, but in the last 40 minutes they skipped to the modern day and revealed the village was to be flooded for the Three Gorges project. Sappy sentimentality over unrequited love backed by plaintive violin music, this soft-skinned bourgeois intellectual found himself teary-eyed. It also reminded me of another movie I recently watched about the Three Gorges, “Up The Yangtze” so the idea of an ambitious young girl making her way in the world, in that case, literally up the Yangtze, was fresh in my mind.

1.75h Balzac and the Little Chinese Seamstress

Pushups: 30

Friday, February 19

Peddling a bike down a city street is much like paddling a canoe down a river: Watch out for the current if you don’t want to flip or crash!

Rode my bicycle over to the Post Office, then stopped by the bike store to put air in the tires. (They have a hose out front.)

Pushups: 32 + 40

Saturday, February 20

Slept in, rode down to the Tea Lounge for breakfast, then two laps around Prospect Park. The weather was nice but there was a vicious head wind on the uphill part. Took Mei-Lin out for dinner but it was late and she was too exhausted to really appreciate it.

1h Mega Movers: Locomotives

Feedback Welcome

Arrr! . . . Avast!
Site Archive