Back in the 90s I bought a modem off a guy in California. In those days if you bought something from a guy on the Internet it was a leap of faith that you’d send off a check and get what you expected in return. Well, I sent this guy my money and he sent off the modem and the next day he sent this apology that he had forgotten to pack the power brick, which he had sent off in a separate package. No sweat. The modem showed up at my house a week later.
But the power brick … well, we kept up correspondence but it never showed up until a couple months later the guy said it had arrived back at his house without explanation, covered in mysterious markings from the Post Office, so he packed the mystery package into a bigger box and mailed that off to Illinois and it showed up a few days later and I had a working modem.
In those days I was in college, and when I got tired of school I worked at an ISP, and when I got tired of working I finally finished school. One of my hobbies was keeping an, ahem, online journal. I would have my fairly banal young guy adventures and sometimes when I couldn’t sleep or just needed to talk about things I would write things up in my, ahem, online journal. In those days, the universe of people you knew and the universe of people who read your online journal would barely overlap. There was a certain anonymous freedom, but whatever.
After I paid for my modem, it became the pattern that when I would post another update online, some hours or days later I would get a long rambling email from this dude in California, who was excited to read what I was up to, and he’d tell me about his own adventures, some from his youth … he once had a girl who smelled like cardboard, which he never could figure out … or more often about how he had just biked down to Pismo Beach with his wife Dana.
I had a fan.
And for years, whenever I would post about my life, this guy would write me back, with his own stories.
As my school wound down I got an interview in the San Francisco area, at a start-up. The start-up flew me out and after the interview, the co-founder drove me up to Pinole so I could crash at MikeyA’s place. I finally met the man. Mike Austin. I slept on his couch. He took me over to Fisherman’s Wharf, where I impressed him by eating a second dinner. He drove me around Pinole and San Pablo, showing me his spots and his friends, the liquor store where he sometimes worked.
He put me up another time, years later, on my second move to California, that time with a new wife.
He was a former cop, who worked odd jobs: liquor store, truck driver, but mostly it seemed he was having his own adventures, touring the States on his Harley, or small adventures close to home with innumerable friends. He told me a lot of guys had taken turns sleeping at his place. A lot of cop friends, who had been thrown out of the house by their wives. He is that kind of guy.
I was impressed by his ZZ Top style beard. The story he told me, and I prefer to believe it, is that he’d shave it down once a year but it always grew right back in proud and long. So it goes.
Another time he told me about how he upset his doctor. He went in for a regular checkup but his labs came back off the charts for diabetes. They drew another set of labs and he was normal. What? Well, what did you eat before the first visit? This, that, and two liters of Mountain Dew … his doctor delivered a lecture on how one should not drink two liters of Mountain Dew at lunch … or ever.
Anyway, MikeyA, Mike Austin, my Number One Fan, well, he passed away last week. In his sleep. At 65 years of age. These are hard times for his wife, Dana, no doubt. I’m going to miss the guy, too. I don’t tell rambling stories about my life on the Internet these days, and it has been a while since I got a good rambling email from Mike. I’ll still have the occasional late-night heart-to-heart with the Internet. No more emails from MikeyA, though.
Anyway, I thought I would “remember” him in the way I knew him. By just writing up some thoughts and sharing them here, with you, and with Mikey. If there is an afterlife, I assume he’s read this by now. I miss you, Mike!
In 2006, Sunnyvale applied for funding to add bicycle lanes on Maude Ave from Mathilda to Fair Oaks.
Maude is a two-lane road with a center turn lane. It serves as a main thoroughfare for the immediate neighborhood: residential, commercial, and Bishop Elementary. It also serves through traffic. It is very congested at peak. In the past three years there have been a few dozen accidents: mainly between vehicles, 3 involving pedestrians, 1 involving a cyclist.
W Maude Ave: filling in a gap in Sunnyvale’s bicycle network
In March 2016, a community meeting was held at Bishop school. Three main alternatives were proposed:
Option 1: remove parking along Maude, replace it with 5′ bike lanes with 3′ buffers
Option 2: retain parking, remove left-turn lanes, add bicycle lanes between driving and parking lanes
Option 3: do nothing except add some signs and paint sharrows on the street
At the community meeting, many residents from the SNAIL neighborhood to the North took turns berating the city for any number of reasons. There was a lot of upset that Maude is already congested and that people might park in front of their homes. There was a “voting” board and the community poll came out something like:
Option 1: 35%
Option 2: 15%
Option 3: 50%
Sunnyvale Staff recommend Option 1: improve bicycle infrastructure but avoid increased congestion.
On April 21, 2016, the Sunnyvale Bicycle Pedestrian Advisory Committee (BPAC) reviewed the proposal. Some observations from BPAC:
Further detail desired regarding the causes of vehicle collisions along the corridor — details were not included in the present study.
Project should extend the last half block between Fair Oaks and Wolfe Road — staff remarked that this was an oversight on the original grant request, but that this could be included for future improvement projects to the bicycle infrastructure on Fair Oaks or Wolfe.
Drivers might park in buffered lanes.
If left turn lanes are removed, drivers might use the bicycle lane to pass vehicles waiting for turn.
Maude has many driveways, and it is safer for bicyclists further from the curb, where they are more visible to drivers utilizing driveways.
Traffic impact analysis will be performed subsequent to the city selecting a preferred alternative, thus no traffic impact studies have been performed to distinguish the current proposals.
1 mile between Mathilda and Fair Oaks
1 grammar school
3 pedestrian crosswalks
I spoke first. I live adjacent to Bishop school:
I remarked on the lack of pedestrian crosswalks, asked the City to look at adding more as part of the project.
I noted the advantages of using the parking as a buffer lane for cyclists: route bike lanes at the curb.
I thanked BPAC for noting the desirability of an extension to Wolfe.
One gentleman who used to live in the neighborhood spoke in support of bike lanes.
One gentlemen from SNAIL explained his opposition to bike lanes, due to present low bicycle traffic.
One lady from Lowlanders spoke in support of a bike lane:
Leaning toward Option 2
Asked if there had been any Spanish-language outreach, as this is the population occupying the rental housing and attending Bishop who would be most impacted by the project, especially removal of parking.
BPAC made a motion to:
Support Option 1, per staff recommendation
Request 6′ bicycle lanes with 2′ buffer
Request project extension to Wolfe Road
Request inclusion of additional crosswalks
The motion passed with two dissenting votes. The chair, who lives on Murphy, stated his objections:
Removal of parking would adversely impact the neighborhood
Removal of left turn lanes would inconvenience drivers, and thereby discourage through traffic
City Council will review the plan May 17, 2016.
Dad: “Was the pizza good, Tommy?”
Tommy: “No! It was super duper good!”
Tommy: “Daddy, go away with your cool dog shirt.”
I had the worst experience at work today: I had to prepare a computer for a new employee. That’s usually a pretty painless procedure, but this user was to be on Windows, and I had to … well, I had to call it quits after making only mediocre progress. This evening I checked online to make sure I’m not insane. A lot of people hate Windows 8, so I enjoyed clicking through a few reviews online, and then I just had to respond to Badger25’s review of Windows 8.1:
I think you are being way too easy on Windows 8.1 here, or at least insulting to the past. This isn’t a huge step backwards to the pre-Windows era: in DOS you could get things done! This is, if anything, a “Great Leap Forward” in which anything that smells of traditional ways of doing things has been purged in order to strengthen the purity of a failed ideology.
As far as boot speed, I was used to Windows XP booting in under five seconds. That was probably the first incarnation of Windows I enjoyed using. I just started setting up a Windows 8 workstation today for a business user and it is the most infuriatingly obtuse Operating System I have ever, in decades, had to deal with. (I am a Unix admin, so I’ve seen things….) This thing does NOT boot fast, or at least it does not reboot fast, because of all the updates which must be slowly applied.
Oddly enough, it seems that these days, the best computer UIs are offered by Linux distros, and they have weird gaps in usability, then Macs, then … I wouldn’t suggest Windows 8 on anyone except possibly those with physical or mental disabilities. Anyone who is used to DOING THINGS with computers is going to feel like they are using the computer with their head wrapped in a hefty bag. The thing could trigger panic attacks.
Monday is another day. I just hope the new employee doesn’t rage quit.
Apple ships some nice hardware, but the Mac OS is not my cup of tea. So, I run Ubuntu (kubuntu) within VMWare Fusion as my workstation. It has nice features like sharing the clipboard between host and guest, and the ability to share files to the guest. Yay.
At work, I have a Thunderbolt display, which is a very comfortable screen to work at. When I leave my desk, the VMWare guest transfers to the Retina display on my Mac. That is where the trouble starts. You can have VMWare give it less resolution or full Retina resolution, but in either case, the screen size changes and I have to move my windows around.
1) In the guest OS, set the display size to: 2560×1440 (or whatever works for your favorite external screen …)
2) Configure VMWare, per https://communities.vmware.com/message/2342718
2.1) Edit Library/Preferences/VMware Fusion/preferences
Set these options:
pref.autoFitGuestToWindow = "FALSE"
pref.autoFitFullScreen = "stretchGuestToHost"
2.2) Suspend your VM and restart Fusion.
Now I can use Exposé to drag my VM between the Thunderbolt display and the Mac’s Retina display, and back again, and things are really comfortable.
The only limitation is that since the aspect ratios differ slightly, the Retina display shows my VM environment in a slight letterbox, but it is not all that obvious on a MacBook Pro.
I reported the following to the FBI, to LogMeIn123.com, to Century Link, and to Bing, and now I’ll share the story with you.
Yesterday, May 12, 2014, a relative was having trouble with Netflix. So she went to Bing and did a search for her ISP’s technical support:
Bing leads you to a convenient toll-free number to call for technical support!
She called the number: 844-835-7605 and spoke with a guy who had her go to LogMeIn123.com so he could fix her computer. He opened up something that revealed to her the presence of “foreign IP addresses” and then showed her the Wikipedia page for the Zeus Trojan Horse. He explained that she would need to refresh her IP address and that their Microsoft Certified Network Security whatevers could do it for $350 and they could take a personal check since her computer was infected and they couldn’t do a transaction online.
So, she conferenced me in. I said that she could just reinstall Windows, but he said no, as long as the IP was infected it would need to be refreshed. I said, well, what if we just destroyed the computer. No, no, the IP is infected. “An IP address is a number: how can it get infected?” I then explained that I was a network administrator . . . he said he would check with his manager. That was the last we heard from him.
I advised her that this sounded very very very much like a phishing scam and that she should call the telephone number on the bill from her ISP. She did that and they were very interested in her experience.
I was initially very worried that she had a virus that managed to fool her into calling a different number for her ISP. I followed up the next day, using similar software to VNC into her computer. I checked the browser history and found that the telephone number was right there in Bing for all the world to see. She doesn’t have a computer virus after all! (I’ll take a cloer look tonight . . .)
I submitted a report to the FBI, LogMeIn123.com, Bing, and Century Link. And now I share the story here. Its a phishing scam that doesn’t even require an actual computer virus to work!
Early to bed, Thursday night. Tommy sleeps through the nights for the most part but this morning at 4:30am he had the hunger. Daddy offered formula, but Tommy didn’t want formula. Daddy set him back in the crib, and Tommy cried. Daddy offered formula again. 2oz down, Tommy cries as Daddy fixes more. 4oz down, then Tommy cries as Daddy fixes more. Another 4oz nearly down and Tommy urps a fountain of undigested formula all over himself and Daddy’s bathrobe. Mommy offers to nurse, and before long mother and son have dozed off together. But Daddy can’t sleep, and so it is off to the coffee shop for a bit of research, then off to work . . .
. . . home a bit early from work, Daddy is beat but can’t settle into a nap. Mommy has an evening shift, so Daddy picks his son up from day care. Smiles. Joy. Upon returning home, the boy is strapped to Daddy’s chest for a pleasant evening stroll as the sun sets, with a soft musical accompaniment from Daddy’s mobile phone. Daddy sings softly to his boy, and Tommy smiles at the mujeres strolling around the park, and can not take his eyes off the lone basketball player, or the groups practicing soccer. Dad passes a few stray balls back to their keepers, and is deeply appreciative of the warm spring vibe. In February. While the rest of the country is snowed in it is already warm in the drought state. This evening in February, the feeling of spring, enjoying soccer with strangers and with the baby, this is a memory one wants to keep.
Home. Time to play drop the ball over the baby gate. Tommy drops to Daddy, Daddy picks up the ball, drops it at Tommy, who grabs it and drops it to Daddy, who leans over to fetch it, drops it to Tommy, and the ball hits the floor and wobbles erratically over the half-century-old hardwood floor, under the table. Daddy reaches over the gate to pull a chair out so Tommy can crawl under the table and fetch the ball, to drop over the baby gate again . . . and so it goes. Bath time, more formula, a reading break, which devolves into Tommy pulling books out of his box and dropping them, one by one, to the bedroom floor. Thud after thud after thud: endlessly fascinating. Eyes are rubbed, the formula is consumed and baby falls asleep and is put to bed.
A day and an evening, not so much unlike the day before, or the day after, but each a page in an unfolding story. And this, a bookmark for Daddy’s memory.
I started trying to use Fitbit to track calorie consumption again the other day. This gets frustrating pretty fast because unless you only eat processed food from packages of specific size you mostly have to accept that calorie counting is a wildly inaccurate guessing game.
I’m happy to embrace the mystery and accept approximate measurements for the most part, but I figured there was one thing I could tackle: breakfast! The most important meal of the day … and I tend to eat the same thing: a bowl of Trader Joe’s Raisin Bran with skim milk. (Trader Joe’s is the only raisin bran I can find any more where the raisins aren’t coated in sugar.)
In theory, this is trivial to figure out. The information is posted right on the side of the box:
So, how many calories am I eating, here?
Caveat: I eat cereal by the bowl, not by the cup! I also eat with some quantity of skim milk.
I whipped out my trusty digtal kitchen scale:
1) Switch scale back to metric
2) Place bowl on scale
4) Pour a bowl of cereal, note weight (129g)
6) Pour milk, note weight (331g)
7) Remove bowl from scale and enjoy breakfast before everything goes soggy
Cereal calories are easy to figure: 129/55 * 170 = 399 calories
Milk servings are measured in ml, though. The moment I started trying to look up the volume of a gram of milk, Google just gave me the answer: 113 calories
So, my regular breakfast clocks in at 512 calories. Mainly, I just wanted to sing the praises of my trusty digital kitchen scale.
UPDATE: Friends advise use of http://www.myfitnesspal.com/, which allegedly has a better database. It looks like I can “save” a favorite meal consisting of:
- 2.35 servings of Trader Joe’s Raising Bran
- 1.26 servings of Sprouts – Fat Free Milk
myfitnesspal: saving a measured breakfast.
At long last, I retired my old T-Mobile G2. It was the last in a long line of phones I have owned for the past decade with a physical keyboard. (I think I owned every Sidekick up to the 3 before going Android with the G1 and the G2.) I like the ability to thumb type into my phone, but the G2’s old keyboard had long ago gone creaky, and it had lacked a dedicated number row besides.
Obligatory picture recently taken with my new computer telephone. Featuring a cat.
They don’t make nice smart phones with keyboards any more. Market research seems to indicate that the only remaining markets for keyboard phones are horny teenagers who need a cheap, hip Android-based Sidekick, and those legions of high powered business people who will never abandon their ancient Blackberries.
Anyway, the new Nexus 5 is here. The on-screen keyboard is
okay slow and inaccurate. Like moving from a really fantastic sports car to a hovercraft piloted by a drunken monkey. I mean,the monkey-piloted hovercraft is undeniably cool technology, and I can eventually get where I need to go, but . . . its not the same, you see?
So, lets explore Voice dictation! It works . . . well, about as well as the monkey hovercraft, but with the added benefit that you don’t have to keep jiggling your thumb across the screen. But how do you do new lines and paragraphs? Where’s the command reference?
I asked Google. Google: android voice dictation commands?
Yup. If there is a reference somewhere, Google doesn’t know about it. How sad.
There is one humorous and not overly annoying video demonstrating how to do voice dictation. Various forum posts have users saying they can’t find a reference, but simple punctuation seems to work, and sometimes you can say “new paragraph” and sometimes you can not.
I have to wonder, at times.
The other thing that excited me about the Nexus 5 was that on the home screen you can drag apps right up to “Uninstall” . . . unless they’re Google apps! “Way to not be evil,” I cried. Until a Google colleague pointed out that it was just a bit of UI funkiness on Google’s part, owing to the applications coming bolted into the UI, there is at least a method to disable them.
Anyway, this is useful knowledge that helped me to vanquish the Picasa sync thing that has been hiding images from the gallery for the past few years. I have another project where I’m testing out BitTorrent Sync to pull images off our phones and then sync a copy of the family photo archive back down to the phones. If that works out, I’ll write it up. I may pursue that further to see if I can’t replace Dropbox, which, unfortunately, does not (yet) offer any sort of a family plan. Also, if I can host my own data I needn’t share as much of it with the NSA.
As new parents, it is not as if we are getting out to the movies at all these days. All the same, when the Ender’s Game Movie page popped up in my Facebook I had to pay a visit, and share my opinion:
FWIW, Card has continued to advocate and advance his beliefs that homosexual people should have lesser rights than heterosexual people. If you see this movie then some of your ticket price goes to Card and will help in your own small way to advocate for discrimination. This reason alone turns me so far of the prospect of seeing this movie.
When I was younger, I loved the entire trilogy, and I would still encourage folks to borrow the books from the library, but the thought of giving another dime to Card fills me with revulsion.
Discrimination is not cool, and every dollar of revenue this movie fails to book is a dollar that has been better spent elsewhere.
Unsurprisingly, people who are planning not see go watch Ender’s Game aren’t spending much time on the movie’s Facebook page. So, comments like mine get a lot of pushback. Some guy in Netherlands reads what I said above and responds, “So you liked the books and then you learned about OSC’s beliefs and you didn’t like the books anymore?”
Which, no, that’s not quite what I said. So, I’ll try again:
Peter, I love the books. What I dislike is the idea of giving any money to a guy who uses it as a soapbox to preach that gay people should be discriminated against. I dislike the idea of giving my money to someone who preaches against the rights of homosexuals just as much as I dislike the idea of giving my money to someone preaching Racism or Sexism or Ultranationalism or Religious Extremism or any of the rest.
Fortunately, there are plenty of great books to be read, plenty of great movies to be watched, that aren’t asking me to support the cause of hateful people. There are plenty of great books I have not yet read, plenty of great movies I have yet to watch. Plenty of enjoyment to be had without giving money to those preaching a tired old hatred.
Ask yourself this: would the idealistic young kids portrayed in “Enders Game” be lining up to see a movie produced by someone preaching hate? There are surely any number of more valuable things that you could be spending your time and money on, neh?
At any rate, as I said, there’s only so much time I have to spend that I’m not going to blow too much of it debating kids on Facebook. I have done my little part, and Orson Scott Card is pretty small-fry compared to the kind of awful stuff that is happening in Russia.
Thanks to a tip from kk.org, I recently had the fun of “building” a custom hand-written font, using PaintFont.com.
Four score and seven years ago, our fathers set forth upon this continent a new nation. One conceived in Liberty and dedicated to the proposition that All Men are Created Equal.
My regular handwriting is pretty awful. But this font is somewhat more readable. The process is you pick out the characters you’ll want in your alphabet, download and print some templates, write in the squares on the templates, scan and upload and boom, you’ve got your font. Kind of fun.
Of course, nothing’s ever quite simple. I wrestled at first with the limitations of MyScriptFont.com and a ball-point pen. That first site doesn’t do “double-quotes”. To get the font as far as I have, I also needed to use a felt pen, which is weird for me, and then review the scanned pages in a paint program to eliminate stray marks and cut the bottom tail off my capital I.
I’m pretty pleased with the results thus far. I have to use a larger size for legibility. One nice feature about the PaintFont site is that you can later add characters to your existing font file. If I ever have occasion to employ this font for a “serious” endeavor, I may try to re-render some of the characters for better legibility.
In testing a handwritten font, I find that writing out a few addresses seems to be a good test. Not only do they have a good mixture of letter casing and numbers, but that’s pretty much all I have occasion to handwrite any more anyway:
Jake & Elwood Blues
1060 W Addison St.
Chicago, IL 60613
1600 Pennsylvania Ave NW
Washington, DC 20500
The Honorable Mike Honda
2001 Gateway Place
San Jose, CA 95110
I’m not sure when this will be useful, but it is nice to have your very own font around, and the process is kind of fun. :)
Midnight feed. Daddy changes diaper, Mommy nurses, and everyone goes back to sleep.
Baby wakes up screaming as only a baby can scream.
Daddy changes diaper. Baby screams.
Mommy goes to warm a bottle. Baby screams.
Baby sucks on bottle.
Baby’s sucking slows.
Baby’s eyes narrow.
Daddy burps baby. Baby is wide awake.
Daddy tucks baby in.
Baby begins to fuss.
Daddy looms over baby and invokes Daddy Voice.
“No. It is time to sleep.”
Baby goes quiet.
Baby closes eyes.
Baby goes to sleep.
Daddy is pleased that Daddy Voice works.
Fully awakened by a screaming baby, and drunk on his new power, Daddy can’t sleep.
A reaction I posted to a friend’s Facebook with regard to the present BART Strike:
I’m a pro-Union Liberal who thinks it is wrong to beat up on public-sector employees. I have heard that BART staff get 40 PTO days per year and there’s a scheme where you can take PTO, then take a shift, and get overtime for that. That’s something we can fix.
The train operators literally sit on their ass and watch the train drive itself. I talked to a guy who said that he did an important job of every once in a while mashing the buttons to fix something, and if he and his comrades weren’t there, BART would have to evacuate the passengers, shut the doors, and run the train empty to its terminal. Horrors!
In NYC, they’ve been laying off station agents where possible and using video cameras to aggregate agent services remotely.
I keep hoping that one of these days a labor action will be an excuse for BART to just fire the train operators and let the system run on automatic as it was designed to do. Spend the money on more frequent service so when a train occasionally has to be taken down, its replacement appears that much more quickly. Spread some of that money to the best station agents and start installing remote presence equipment to make the most of their labor.
. . . and if those train operators are even half as as good at mashing buttons in an emergency as they think they are, they can make the same salary as an entry-level SysAdmin.
Seriously, it is sad when your job is obsoleted by technology. It is even sadder when your job was obsoleted by technology before it even existed. Saddest when your skills are in extremely high demand at higher pay, but we keep paying you to do an obsolete job of extremely marginal public benefit.
Thea Lamkin, from Flickr’s customer support, has been busy. At long last, we are getting some clarity from Yahoo:
“Hit the road, Jack!”
I am hearing the following:
– you want the option to see Flickr in a “classic” view
– textual information around your photos (and sets in particular) is too hidden in the new design
– user’s organizational choices are limited and not surfaced enough, particularly with the Collections, Set, Photo hierarchy
– you want more customizability of content and layout in your photostream and home page
[ . . . ]
To put an end to speculation, and to hopefully give some people closure, the old site is not coming back. However, we will continue to improve upon the new pages . . .
[ . . . ]
We are focusing on making Justified view better and more performant, instead of supporting multiple different views.
So, basically, the full-screen view of photos without explanatory text is here to stay, and anyone who wants to view their photos in a different format should find an alternative photo sharing service.
I guess the “closure” is nice.
My Red State Relative Posted this to his Facebook Wall:
“Scalia Resigns Post as Scoutmaster”
Justice Scalia quit his post in a terse resignation letter that read, in part:
“Some of the happiest memories of my adult life have been as a scoutmaster. Huddling under blankets around the campfire, and so forth. But now, all of that has been ruined. Ruined.”
I quipped that “if enough bigots quit they’ll have to start recruiting gay adult leaders.” To which my relative responded asking how I might feel about my son on a campout with the gays, or an alcoholic, and that safety, righteousness and common sense should prevail.
Turns out, this story is satire from the New Yorker, which makes it all the more delicious. I wrote back:
I thought it sounded like The Onion.
[Relative], I hope Tommy takes an interest in scouting, and I feel better to know that if he joins, he will not be denied the friendship of a fellow scout simply because one of them is gay. I hope they go camping together, and I know from first-hand experience that when Scouts exhibit a gross failure of ethical or moral conduct, their behavior is reported and disciplinary action is taken. (Like the boys who got expelled from the Scouts for shoplifting during a camping trip.)
And, for what it is worth, our Scoutmaster was a combat Veteran and a Recovering Alcoholic. He told some good stories that I think probably helped a few of us young men make smarter decisions in our adult lives. It was always hard to get a sufficient number of adults to join our outings, which is why I will be glad to see the eventual end of the exclusion of gay adult leaders.
I never made it to Eagle, but a friend of mine who did resigned his badge and sent the pin back to HQ because of the exclusion policy. I was really really proud that he would make a sacrifice for what he knew to be correct. A lot of Eagles have resigned their rank for the same reason. There’s even a blog at http://eaglebadges.tumblr.com/. It is nice to see those sacrifices have not been in vain.
Older Stuff »