Politics, Weather, Photography, and the Dog
Page 1 of 4 in the SoftwareBusiness category Next Page
Monday 20 May 2013

I have 21 hours of budget to finish a substantial project at work, and then another project to finish by the end of May. Posting may be iffy the next couple of days.

Coming up, the final figures on how much moving to Azure saved me.

Monday 20 May 2013 15:40:52 CDT (UTC-05:00)  | Comments [0] | Business | Windows Azure#
Monday 13 May 2013

Snicker:

Renowned author Dan Brown hated the critics. Ever since he had become one of the world’s top renowned authors they had made fun of him. They had mocked bestselling book The Da Vinci Code, successful novel Digital Fortress, popular tome Deception Point, money-spinning volume Angels & Demons and chart-topping work of narrative fiction The Lost Symbol.

The critics said his writing was clumsy, ungrammatical, repetitive and repetitive. They said it was full of unnecessary tautology. They said his prose was swamped in a sea of mixed metaphors. For some reason they found something funny in sentences such as “His eyes went white, like a shark about to attack.” They even say my books are packed with banal and superfluous description, thought the 5ft 9in man. He particularly hated it when they said his imagery was nonsensical. It made his insect eyes flash like a rocket.

But since when have the masses listened to critics?

Monday 13 May 2013 14:20:53 CDT (UTC-05:00)  | Comments [0] | Business#
Sunday 21 April 2013

On March 10th, I completed moving Weather Now to Windows Azure, and shut down the Inner Drive Technology International Data Center. I had already received my lowest electric bill ever for this location, thanks to a 25% rate reduction negotiated by the City.

Earlier this week I got my March electric bill, for my electricity use between March 8th and April 7th. Take a look:

My electricity use in March 2013 was just 26% of my March 2012 use (243 kw/h in 2013 against 933 kw/h in 2012). The bill was 80% lower, too.

My telecommunications bill also went down considerably. After I have complete data of these cost differences mid-May, I'll post a full rundown of how much moving to Azure saves me every month.

Sunday 21 April 2013 09:38:19 CDT (UTC-05:00)  | Comments [0] | Business | Windows Azure#
Monday 15 April 2013

In my profession, I get to sit at Peet's Coffee at 6:30am and watch action-packed videos like this:


I know what you're thinking: "slow down, tigerblood. Slow down."

I'm also pushing a new build of customer software up to production, and waiting for my coffee to kick in.

At least I'm not blowing three runs in the 10th with a damned balk, like other people I could name.

Monday 15 April 2013 07:11:14 PDT (UTC-07:00)  | Comments [0] | Cubs | Business | Cloud#
Wednesday 3 April 2013

Back in November, Chicagoans voted to buy electricity in the aggregate from Integrys rather than the quasi-public utility Exelon. As predicted, the big savings only lasted a few months:

And Chicago, where residents saw their first electric-bill savings this month under a 5.42-cent-per-kilowatt-hour deal completed in December with Integrys, will see its energy savings shaved to just 2 percent.

ComEd's new price is not yet official. But utility representatives have filed their new energy price of 4.6 cents per kilowatt-hour with the ICC and have told the commission they expect forthcoming transmission charges to be about another 0.95 cents per kilowatt-hour. That will make the ComEd "price to compare" cited by competing suppliers when marketing their offerings about 5.55 cents.

That said, between the new Integrys rate that hit me on my last electricity bill, and moving to the cloud, my March bill was only 54% of my average bill from 2009 to 2012. So ComEd is lowering rates too? Good. It'll still be higher than Integrys.

Wednesday 3 April 2013 08:45:53 CDT (UTC-05:00)  | Comments [0] | Chicago | US | Business | Cloud#
Friday 29 March 2013

Not only does my time evaporate into multiple projects these days, but the number of context switches I've experienced over the past few days hurts. Here's today's timesheet:

Yeah, but I shoot with this hand. I worked from home Wednesday so that I could jam on some documentation. How'd that work out?

Blogging, by the way, helps me switch contexts. I think.

Friday 29 March 2013 15:59:41 CDT (UTC-05:00)  | Comments [0] | Blogs | Business#
Friday 22 March 2013

Too much going on:

Now, I will go back to drafting documentation while I wait for AT&T to reconfigure my DSL and kill my landline. I've had a POTS ("plain old telephone service") twisted-pair line longer than most people on earth have been alive. After today, no longer. I don't think I'll miss it, either. I only have it because I have a business-class DSL, which I don't need anymore, and the only people who call it want money from me.

Friday 22 March 2013 09:12:03 CDT (UTC-05:00)  | Comments [0] | Kitchen Sink | US | World | Business | Cloud | Security | Windows Azure#
Thursday 21 March 2013

Odd that I'm finding this out through the Chicago Tribune:

Amazon.com has introduced a way for users to quickly save and send news articles as well as other items to their Kindle devices for later, off-line reading.

The new feature can be added by users in a variety of ways. Amazon has made it possible for users to send items to their Kindles through Web browser extensions for Google Chrome and Firefox, as a feature that can be installed on Macs or PCs, from Google Android mobile devices, or from users' emails.

Cool. Look for the button to appear on The Daily Parker very soon.

Now that I can send directly to Kindle, and after having Instapaper crash frequently on my Android device, I might switch. Though this does underscore the risks start-ups take when they develop relatively simple ideas into software. Other, larger companies can kill you.

Thursday 21 March 2013 07:25:28 CDT (UTC-05:00)  | Comments [0] | Business | Cool links#
Saturday 16 March 2013

Regular blog readers know that since moving to my current apartment in February 2008, the Inner Drive Technology International Data Center has occupied a couple square meters of my home office. I've also mentioned lower energy use since I started to move everything out of the IDTIDC and into Microsoft Azure.

Something else has happened to my electricity bill. In November, we citizens of Chicago voted to pool our electricity buying to get the lowest electricity cost possible. Well, the new regime kicked in last month, and the 660 kw/h I used in February cost 25% less than the 610 kw/h I used in January—which was the lowest use ever for this place.

It helps, also, that since moving my email to the cloud in June, I've used an average of 224 kw/h less electricity each month year-over-year.

I can't wait to see my bill for March. They read my meter on the 7th or 8th to prepare the bill I just got; the IDTIDC shut down on the 10th.

Saturday 16 March 2013 16:07:52 CDT (UTC-05:00)  | Comments [0] | Chicago | Business | Cloud#
Wednesday 13 March 2013

Years ago, I had two blogs: one for work, and one for everything else. Eventually I stopped having two blogs because...well, laziness?

The old blog is back. I discovered I had dead links, and it was simple enough to drag the old blog out of archives and throw it onto my general-purpose VM.

Actually, I cheated. I only threw the content up there. I used The Daily Parker's blog engine with all its customization and just copied the old content up to the VM.

It's kind of interesting, looking back on the things I was working on seven years ago. I am particularly happy, given everything I did this past weekend, to link back to November 2006, when I built my last data center.

Tuesday 12 March 2013 20:20:05 CDT (UTC-05:00)  | Comments [0] | Blogs | Business#
Sunday 10 March 2013

The Inner Drive Technology International Data Center is no more.

This morning around 8:15 CDT I updated the master DNS records for Weather Now, and shut down the World Wide Web service on my Web server an hour later. All the databases are backed up and copied; all the logs are archived.

More to the point, all the servers (except my domain controller, which also acts as a storage device) are off. Not just off, but unplugged. The little vampires continue to draw tens of Watts of power even when they're off.

The timing works out, too. My electric meter got read Thursday or Friday, and my Azure billing month starts today. That means I have a clean break between running the IDTIDC and not running it,* and by the beginning of May I'll have more or less the exact figures on how much I saved by moving everything to the Cloud.

Meanwhile, my apartment is the quietest it's ever been.** The domain controller is a small, 1U server with only one cooling fan. Without the two monster 2U units and their four cooling fans (plus their 12 hard drives), I can suddenly hear the PDC...and now I want to shut it down as well.

* Except for the DSL and land-line, which should be down in a couple of weeks. I'll still have all the expense data by May.

** Except for the two blackouts. Now, of course, I never need worry about a blackout again—unless it hits the entire country at once, which would create new problems for me.

Sunday 10 March 2013 13:10:42 CDT (UTC-05:00)  | Comments [0] | Business | Cloud | Windows Azure#

Weather Now is fully deployed to the Cloud. As soon as the Worker Role finishes parsing the last few hours of weather, I'll cut over the DNS change, and it will be live.

Actually, that's not entirely true; I'm going to cut over the DNS in the morning, after I know I fixed the bugs I found during this past week's shake-down cruise.* So if you want to see what a weather site looks like while it's back-filling its database, you can go to its alias, http://wx-now.cloudapp.net. (Because of how Azure works, this will remain its alias forever.)

Time to meet my friends, who are wondering where I am, no doubt.

* Bugs fixed: 13. Total time: 6.9 hours (including 2.4 to import and migrate the Gazetteer).

Saturday 9 March 2013 18:34:28 CST (UTC-06:00)  | Comments [0] | Business | Cloud | Weather | Windows Azure#
Wednesday 27 February 2013

After a couple of days in which I'm glad we keep bourbon in the 10th Magnitude office, Scott Hanselman's examination of working remotely seems timely:

I see this ban on Remote Work at Yahoo as one (or all) of these three things:

  • A veiled attempt to trim the workforce through effectively forced attrition by giving a Sophie's Choice to remote workers that management perceives as possibly not optimally contributing. It's easy to avoid calling it a layoff when you've just changed the remote work policy, right?
  • A complete and total misstep and misunderstanding of how remote workers see themselves and how they provide value.
  • Pretty clear evidence that Yahoo really has no decent way to measure of productivity and output of a worker.

All this said, it's REALLY hard to be remote. I propose that most remote workers work at least as hard, if not more so, than their local counterparts. This is fueled in no small part by guilt and fear. We DO feel guilty working at home. We assume you all think we're just hanging out without pants on. We assume you think we're just at the mall tweeting. We fear that you think we aren't putting in a solid 40 hours (or 50, or 60).

Because of this, we tend to work late, we work after the kids are down, and we work weekends. We may take an afternoon off to see a kid's play, but then the guilt will send us right back in to make up the time. In my anecdotal experience, remote workers are more likely to feel they are "taking time from the company" and pay it back more than others.

I like working from home when I have a lot of creative or intense work to do, but generally I prefer working in the office. I've also been thinking about the compromise solution of moving to within, say, 500 meters of the office, so I can get home in 5 minutes if I need to.

Meanwhile...back to work.

Wednesday 27 February 2013 13:53:31 CST (UTC-06:00)  | Comments [0] | Business#
Monday 25 February 2013

I don't have time to read these must-read articles:

Back to the mines...

Monday 25 February 2013 16:47:50 CST (UTC-06:00)  | Comments [0] | Kitchen Sink | Business | Cloud | Windows Azure#
Friday 8 February 2013

Unfortunately, that's not going to happen for a while. I'm going to spend a lot of time in airplanes over the next 11 days, including a long weekend with the folks. Good thing wifi is ubiquitous, even on airplanes, because it also looks like I'm going to burn at over 120% of utilization again this month. (Last month I was 118% billable, but if you add non-billable time I actually worked 134% of full time.)

The madness ends soon. We're hiring, projects are gelling, other projects are winding down, and at some point I'll just get on a plane for four days without taking my laptop.

I did take three hours yesterday to play pub trivia with my droogs, owing to the start of a four-week trivia tournament. We're in second place—by one point. I sincerely hope to make the next three Thursdays.

Friday 8 February 2013 17:07:13 CST (UTC-06:00)  | Comments [0] | Kitchen Sink | Business#
Sunday 3 February 2013

Five years ago, on 6 January 2008, I opened a FogBugz case (#528) to "Create NOAA Downloader". The NOAA downloader goes out to the National Weather Service, retrieves raw weather data files, and stores the files and some metadata in Windows Azure storage. Marking this work item "resolved"

Well, I just finished it, and therefore I have finished all of the pieces of the GetWeather application. And with that, I've finished the last significant piece of the Weather Now 4.0 rewrite. Total time to rewrite GetWeather: 42 hours. Total time for the rewrite so far: 66 hours.

Now all I have to do is...let's see...create worker role tasks to run the various pieces of the application (getting the weather, parsing the weather, storing the weather, and cleaning up the database), upgrading the Web site to a full Cloud Services application, deploy it to Azure, and deploy its gazetteer. That should be about 5 hours more work. Then, after a couple of weeks of mostly-passive testing, I can finally turn off the Inner Drive Technology Worldwide Data Center.

Sunday 3 February 2013 11:10:40 CST (UTC-06:00)  | Comments [0] | Business | Weather#
Friday 1 February 2013

Via Fallows, a software designer explains how a simple feature isn't:

This isn’t off the shelf, but that’s OK — we’ll just build it, it’s not rocket science. And it’s a feature that’s nice, not one that’s essential. Lot’s of people won’t use these tabs.

So, what do we need to think about when adding a bar of tabs like this?

  • The whole point is to have a view state that summarizes what you’re looking at and how it’s presented. You want to switch between view states. So we need a new object that encapsulates the View State, methods for updating the view state when the view changes or you switch tabs, methods for allocating memory for the view state and cleaning up afterward.
  • You need a bar in which the tabs live. That bar needs to have something drawn on it, which means choosing a suitable gradient or texture.
  • The tab needs a suitable shape. That shape is tricky enough to draw that we define an auxiliary object to frame and draw it.
  • Whoops! It gets drawn upside down! Slap head, fix that.

...and on for another 16 steps. He concludes, among other things:

This is a hell of a lot of design and implementation for $0.99. But that’s increasingly what people expect to pay for software. OK: maybe $19.95 for something really terrific. But can you sell an extra 100 copies of the program because it’s got draggable tabs? If you can’t, don’t you have better things to do with your time?

He's developing for a commercial application that he sells, so he may not be figuring the costs of development the same way I do. Since clients pay us for software development, it's a reflex for me to figure development costs over time. I don't know how much the tab feature cost him to develop, but I do know that to date, migrating Weather Now to Azure (discussed often enough on this blog) would have cost a commercial client about $9,000 so far, with another $3,000 or so to go. And the Inner Drive Extensible Architecture? That's close to $150,000 of development time—if someone else were paying for it.

And all you wanted was a little tab on your word processor...

Friday 1 February 2013 13:16:46 CST (UTC-06:00)  | Comments [0] | Business#
Wednesday 30 January 2013

I have a new post up at my employer's developers blog.

Hard-core Daily Parker enthusiasts may have seen it already. Still, click through to XM. We like blog visitors!

Wednesday 30 January 2013 12:35:32 CST (UTC-06:00)  | Comments [0] | Blogs | Business | Windows Azure#
Sunday 27 January 2013

The Inner Drive Technology International Data Center continues to whir away (and use electricity), despite my best efforts to shut it down by moving everything to Microsoft Windows Azure.

Most of the delay finishing the move has nothing to do with its technology. Simply, my real job has taken a lot of time this month as we've worked toward launching a new application tomorrow. Against the 145 hours spent on that project this month, not counting the 38 hours spent helping with other projects, squeezing out the 22 hours I've managed to find for Weather Now has left me falling behind on the Oscar nominees.

If you want to learn more about some technical problems that I've discovered trying to move it out of my apartment the IDTIDC, keep reading.

Sunday 27 January 2013 13:40:35 CST (UTC-06:00)  | Comments [0] | Business | Weather | Windows Azure#
Wednesday 2 January 2013

Sigh. Zipcar, short-term rental car service that has occasionally made my life a lot easier, just got swallowed by Avis:

Zipcar Inc. has been growing as more people in urban areas forgo owning a car and instead tap car-sharing and hourly rental services when they need a vehicle. The company’s third-quarter sales grew 15% to $78.2 million while its membership (renters) grew 18% to more than 767,000. Zipcar earned $4.3 million in the three-month period and has said it expected 2012 to be the first full year for which it posts a profit.

Avis Budget, the nation’s third-largest car rental company -- after Enterprise Holdings and Hertz -- will pay $12.25 a share in cash for Zipcar, a 49% premium over the stock's closing price Monday.

Avis believes it can whittle $50 million to $70 million of expenses out of the combined operations of the companies by eliminating duplication of functions such as the cost of maintaining Zipcar as a publicly traded company.

Just once I'd like to see a cool, niche company grow to a sustainable size without being acquired by a huge corporation.

Wednesday 2 January 2013 16:29:16 CST (UTC-06:00)  | Comments [0] | Business#
Wednesday 26 December 2012

I don't know how Amazon figures out what to recommend, nor do I know who's buying what from them. Sometimes I wonder, though, like when it gives me these helpful suggestions:

But of course it's important to have cookies when the revolution comes...

Wednesday 26 December 2012 13:13:13 PST (UTC-08:00)  | Comments [0] | Kitchen Sink | Business#
Sunday 23 December 2012

Google Analytics have created some videos imagining if supermarkets were designed like websites:

Heh.

Sunday 23 December 2012 10:11:41 CST (UTC-06:00)  | Comments [0] | Business#
Wednesday 19 December 2012

Three unrelated stories drew my notice this evening:

PATH service has resumed to Hoboken. Some years ago—never mind how long precisely—I lived in Hoboken, N.J., the birthplace of Frank Sinatra (really) and baseball (not really). I took the Port Authority Trans-Hudson train almost every day when I worked in SoHo, and about every third day when I worked in Midtown. Having experienced other ways of commuting to New York—in fact, the switch up to 53rd and Park finally got me to return to Chicago, after my commute stretched to an hour and 15 minutes and required three transit changes—I have a lot of sympathy for the people living in Hoboken and Jersey City who have had to make their ways across the Hudson without the PATH.

In the first days after 9/11, both the PATH and the MTA worried that the Twin Towers' collapse would breach the "bathtub" (the Towers' foundation) and flood both the PATH and the New York subway. No one knew how bad the damage would be, and were thankful when it didn't happen. Eleven years later, Hurricane Sandy showed everyone.

So reading today that the PATH Hoboken to 33rd St. line reopened after seven weeks made me smile. Not as much, I expect, as the thousands of people whose commutes can now return to tolerable lengths.

I'm visiting New York in a few weeks; I'll make sure to post a few photos in homage of the PATH.

Facebook's change to Instagram's terms of service has rightly outraged everyone paying attention. Instagram, a photo-sharing service that Facebook bought recently for $1 bn, this week published new terms of service that allow them to use posted photos any way they want, any time they want. Their goal, not surprisingly, is to make money. The people who use Instagram just want to share their photos with their friends.

The Times quoted Santa Clara University Law Professor Eric Goldman saying, "The interest of the site is never 100 percent aligned with the users, and the divergence inevitably leads to friction. It’s unavoidable." Well, yes, because Instagram's users are not Instagram's customers, as they are just discovering, because the customer is the one who pays you. If you use a service that is free to you, you are not the customer and therefore have nothing to say to the service's owners. I find the flap about Instagram's TOS so interesting because it seems as if none of their users has realized this key point yet.

Instagram swears up and down that the users continue to own their own photos. Of course they do. And of course you keep ownership. But if you post on Instagram, "you hereby grant to Instagram a non-exclusive, fully paid and royalty-free, worldwide, limited license to use, modify, delete from, add to, publicly perform, publicly display, reproduce and translate such Content, including without limitation distributing part or all of the Site in any media formats through any media channel...." So they don't own your photos, exactly, but they can act as if they do.

Under U.S. copyright law, the creator of a work owns it, unless he has signed away the creation right explicitly. (Example: I work for a great software company. I write software for them, under a work-for-hire agreement. Therefore, except for some explicit, written exceptions, all the software I produce that has commercial value is owned by my employer. If I write code in one of my employer's client's applications that makes 10th Magnitude a billion dollars, I don't own it, 10th Magnitude does. That's the deal I made when I took this job. I trust, however, that if I made my boss a billion dollars, he'd share.)

So if you take a photo on your phone, you own it. It's your photo. And Instagram's new TOS says, yes, of course you own it, but we can sell it if we want and pay you nothing.

Now, I've experienced a variety of contractual arrangements in my life as a creative person, so I'm not shocked when someone wants a piece of my income as a fee for finding the income-producing gig. As a software contractor, I've routinely signed away 25% or 30% of my earnings off the top, in exchange for someone else doing the legwork to find the income-producing gig on my behalf. (It's really hard to find gigs while you're working full time on one, it turns out.) And, as someone who hires software contractors now, I expect they'll agree, too. We call this a "commission," as have people in other professions for millennia.

Instagram, effectively, demands a 100% commission off your work. Not only that, but if Instagram finds that one of your photos makes Ansel Adams weep, they can market the crap out of it. You'll never see a dime. Why would someone license the rights from you, when Instagram is selling them cheap? And you can't stop Instagram from destroying the market for your work, because you consented to it by posting your photo.

Let me put it another way. Instagram is saying, "You own your car, of course. But if you park it in our garage, we get to use it as a taxi, without paying you a dime."

To sum up: the people railing against Instagram's new TOS are exactly right. It sucks. And I will never, ever post any of my intellectual property there, even if they change the TOS in response to the approbation they've received, because (repeat after me) I am not their customer.

Finally—and I assure you, this is not related to Instagram—I recoiled in horror at the latest religious stupidity, that the Taliban have started killing anti-polio workers in Afghanistan.

Full disclosure: I was a member of Rotary International for a few years, and I wholly support the organization's amazingly-successful efforts to destroy polio the way we destroyed smallpox. Polio is a sufficiently complex organism that it can't evolve as quickly as we can kill it, making it an ideal target for eradication (like smallpox). But you have to get immunized, and sufficient numbers of your neighbors do, too, or it will keep spreading.

So, these idiot religious fundies, who subscribe to any number of irrational fantasies already, have apparently decided that the people trying to keep their babies from dying of an entirely preventable disease are, in fact, American spies. As the Times reports, "the killings were a serious reversal for the multi-billion-dollar global polio immunization effort, which over the past quarter century has reduced the number of endemic countries from 120 to just three: Pakistan, Afghanistan and Nigeria."

Does anyone else see a coincidence between the three last outposts of a crippling, preventable disease and religious nuttery? Part of Rotary's success, by the way, has been in reassuring local populations that eradicating polio is no more and no less than it seems: a humanitarian effort to end a horrible disease forever. Wars have stopped to allow Rotary and the Gates Foundation to conduct immunizations. But the Taliban do not believe in reason. They would rather have hundreds of their children dead or crippled than accept the possibility that some American- (and British- and French- and Japanese- and South-African- and Namibian- and Saudi- and...) funded organization wants to prevent their children dying or becoming crippled.

Three countries still have polio. They also have air travel. Not everyone in the OECD has polio vaccinations today. So, if I can mention the self-interest of everyone able to read this blog post, who must therefore speak English and have an Internet connection, the religious nutters killing health workers who, but for being shot, would have eradicated a disease that has crippled millions, have made your life more perilous.

</ rant>

All right. Time to walk the dog.

PS: You may need to subscribe to the New York Times to read the linked stories. I apologize if this inconveniences you, but I recommend subscribing anyway. For $15 a month you not only get the entire newspaper online (and on any tablets you own), but you get to feel good about yourself. You also get to live Kant's categorical imperative, by behaving in such a way that the behavior could be universal. Isn't $15 an incentive worth aligning?

Tuesday 18 December 2012 22:04:18 CST (UTC-06:00)  | Comments [0] | US | Religion | Business#
Tuesday 18 December 2012

Microsoft veteran Raymond Chen explains:

The 64-bit version of Pinball had a pretty nasty bug where the ball would simply pass through other objects like a ghost. In particular, when you started the game, the ball would be delivered to the launcher, and then it would slowly fall towards the bottom of the screen, through the plunger, and out the bottom of the table.

Games tended to be really short.

Two of us tried to debug the program to figure out what was going on, but given that this was code written several years earlier by an outside company, and that nobody at Microsoft ever understood how the code worked (much less still understood it), and that most of the code was completely uncommented, we simply couldn't figure out why the collision detector was not working.

We had several million lines of code still to port, so we couldn't afford to spend days studying the code trying to figure out what obscure floating point rounding error was causing collision detection to fail. We just made the executive decision right there to drop Pinball from the product.

Chen's blog often goes into technical detail that many people might find off-putting, but he's a good person to read if you want to know more about how Microsoft works.

Tuesday 18 December 2012 15:00:27 CST (UTC-06:00)  | Comments [0] | Business#
Thursday 13 December 2012

Last night I continued reducing local computing costs by turning off my home desktop PC. The old PC has a ton of space and a lot of applications that my laptop doesn't have, plus a nifty dual-DVI video card. But a couple of things have changed since 2008.

First, my current laptop, a Dell Latitude E6420, has a faster processor, the same amount of RAM, and a solid-state drive, making it about twice as fast as the desktop. Second, Dell has a new, upgraded docking station that will drive two big monitors easily. (Sadly, though the docking station can drive two DVIs, my laptop's video chip can only do one DVI and one VGA.) Third, the laptop uses buttloads less power than the desktop. Fourth, portable terabyte drives are a lot less expensive today than in 2008—and a lot smaller. And finally, I take my laptop to and from work, meaning I have a minor hassle keeping it synchronized with my desktop.

Here's my office about three years ago (January 2010):

A few months later I got a second 24-inch monitor (November 2010 photo):

Notice the printer has moved to make room for the second monitor, but otherwise the setup remains the same. The monitors connect to the desktop under the desk to the left, while the laptop has its own cradle to the right.

Now this afternoon:

The printer has landed on the floor directly under where it used to sit (I print about 3 pages per month, so this isn't the inconvenience it seems), the laptop has moved over to the printer's old spot (and has connected to the monitors), and the old desktop machine sits quietly consuming 225 fewer Watts per hour. I also replaced the 10-year-old, no-longer-functioning 2+1 speaker set with a more compact set. The round thing between the keyboard and the laptop near the center of the photo is a speakerphone that I use with Skype.

I think everyone knows the dog under the desk by now, too. He's not happy that I rearranged his favorite sleeping cave, so I might get a couple of weeks without mounds of dog hair under my desk until he decides the printer is harmless.

So far today I have been unusually productive, whether because of the novelty or because I have a fire-under-the-ass deadline at work. So back to it.

Thursday 13 December 2012 13:58:53 CST (UTC-06:00)  | Comments [0] | Parker | Business#
Friday 7 December 2012

That's what LinkedIn's career expert says:

Back when I started working with LinkedIn, we released our very first ranking of the most overused profile buzzwords. I remember thinking how important it was to steer clear of “extensive experience” (the number one overused term in 2010) if you wanted to shine among the 85 million professionals who were touting their years in the trenches as their defining characteristic.

Well, it’s three years later and with over 100 million MORE professionals on LinkedIn, the stakes to stand out from this year’s very “creative” (this year’s most oft used adjective) crowd are even higher. Here are a few tips for saying what you mean with words that will get you noticed.

LinkedIn lists these as the most buzzy:

  • Analytical
  • Creative
  • Effective
  • Experimental
  • Motivated
  • Multinational
  • Responsible
  • Specialized

Just try writing a résumé without them...go on...

Friday 7 December 2012 15:55:00 CST (UTC-06:00)  | Comments [0] | Business#
Wednesday 28 November 2012

Yes, another link round-up:

Back to designing software...

Wednesday 28 November 2012 14:04:12 CST (UTC-06:00)  | Comments [0] | Chicago | Kitchen Sink | Business#
Tuesday 27 November 2012

10th Magnitude's CTO, Steve Harshbarger, explains how the cloud makes economics better by giving us more options:

We know we could build every feature of a custom application from the ground up. We get ultimate control of the result, but often the cost or timeframe to do so is prohibitive. So as developers, we look to incorporate pre-built components to speed things along. Not only that, we strive for better functionality by incorporating specialized components that others have already invested far more resources in than we ever could for a single application. As a simple example, who would ever write a graphing engine from scratch with so many great ones out there? So, build is rarely the whole story.

What about buy? I think of “buy” not in a strict monetary sense, but as a moniker for code or components that get pulled into the physical boundary of your application. This includes both open source components and commercial products, in the form of source code you pull into your project, or binaries you install and run with your applications’ infrastructure. We all do this all the time.

But the cloud brings a third option to the table: rent. I define this as a service you integrate with via some API, which runs outside your application’s physical boundary. This is where smart developers see an opportunity to shave more time and cost off of projects while maintaining—or even increasing—the quality of functionality.

He also lists our top-10 third-party "rental" services, including Postmark, Pingdom, and Arrow Payments. (I'm using a couple of them as well.)

Tuesday 27 November 2012 09:52:37 CST (UTC-06:00)  | Comments [0] | Business | Windows Azure#
Wednesday 21 November 2012

Stuff sent to Instapaper:

Time to dash out for lunch...then more coding. Gotta finish today.

Wednesday 21 November 2012 12:13:40 CST (UTC-06:00)  | Comments [0] | Kitchen Sink | Business#

Over the last two days I've spent almost every working minute redesigning the 10th Magnitude framework and reference application. Not new code, really, just upgrading them to the latest Azure bits and putting them into a NuGet package.

That hasn't left much time for blogging. Or for Words With Friends. And I'm using a lot of Instapaper. Without Instapaper, I'd never get to read Wired editor Mat Honan drawing lessons from his epic hack last summer.

Tuesday 20 November 2012 19:14:44 CST (UTC-06:00)  | Comments [0] | Kitchen Sink | Business | Cool links#
Monday 12 November 2012

Two Chicago businesses find themselves on the ropes this afternoon, according to the Tribune. The first company, Groupon, has problems many people predicted long before their IPO:

Groupon and its compatriots in the much-hyped daily deals business were supposed to change the very nature of small-business advertising. Instead, it is the daily deal vendors that are racing to change as evidence mounts that their business model is fundamentally flawed.

Critics say the torrid growth that enabled Groupon to go public at $20 a share just a year ago was fueled by merchants buying into a new type of marketing that they didn't fully understand. The discounts offered through the Groupon coupons have turned out to be costly, and the repeat business they generate uncertain.

A Raymond James survey of roughly 115 merchants that used daily deals services during the fall found that 39 percent of merchants said they were not likely to run another Groupon promotion over the next couple of years. The top reasons cited were high commission rate and low rate of repeat customers gained through offering a promotion.

Yeah, no kidding. These flaws have been obvious from Groupon's beginning. I have one outstanding Groupon and one outstanding Living Social deal, and I'm not sure when I'll get to use either. After that, meh.

The other company, Hostess, has hit an unexpected and possibly fatal labor dispute that may force it into out of reorganization and into liquidation:

On Friday, Hostess-employed members of the Bakery, Confectionery, Tobacco Workers and Grain Millers International Union began to strike nationwide, blaming a “horrendous contract” that they claimed could cut wages and benefits up to 32%.

Workers picketed or honored the strike in Sacramento, Los Angeles, Oakland and Seattle and in states such as Ohio, Tennessee, Illinois and Montana. Hostess said in a statement that the walk-offs could lead to layoffs for most of its 18,300-member workforce and a sale of its assets “to the highest bidders.”

“A widespread strike will cause Hostess Brands to liquidate if we are unable to produce or deliver products,” according to the statement. The Irving, Tex.-based company, which was founded in 1930, acknowledged that “the concessions are tough.”

So if you like Twinkies and Ho-Hos, you'd better stock up. (Don't worry; they keep.)

Monday 12 November 2012 15:39:02 CST (UTC-06:00)  | Comments [0] | Kitchen Sink | Business#
Sunday 11 November 2012

Politico's Burns & Haberman explain:

[ORCA] was described as a mega-app for smartphones that would link the more than 30,000 operatives and volunteers involved in get-out-the-vote efforts. PBS profiled it a few days before the election. The app was created and managed by the Romney campaign and was kept a secret among a close circle in Boston, according to POLITICO sources.

It's been reported the system crashed at 4 p.m., but multiple sources familiar with the war room operation said it had actually been crashing throughout the day. Officials mostly got information about votes either from public news sources tracking data, like CNN.com, or by calling the counties for information, the source said. Officials insisted the day after the election that they had still believed they were close, and that they had hit their numbers where they needed to, even as Fox News and other outlets called the race.

The post links back to a Romney volunteer's description of how ORCA failed in the field:

On one of the last conference calls (I believe it was on Saturday night), they told us that our packets would be arriving shortly. Now, there seemed to be a fair amount of confusion about what they meant by "packet". Some people on Twitter were wondering if that meant a packet in the mail or a pdf or what. Finally, my packet arrived at 4PM on Monday afternoon as an emailed 60 page pdf. Nothing came in the mail. Because I was out most of the day, I only got around to seeing it at around 10PM Monday night. So, I sat down and cursed as I would have to print out 60+ pages of instructions and voter rolls on my home printer. ... They expected 75-80 year old veteran volunteers to print out 60+ pages on their home computers? The night before election day? From what I hear, other people had similar experiences. In fact, many volunteers never received their packets at all.

Now a note about the technology itself. For starters, this was billed as an "app" when it was actually a mobile-optimized website (or "web app"). For days I saw people on Twitter saying they couldn't find the app on the Android Market or iTunes and couldn't download it. Well, that's because it didn't exist. It was a website. This created a ton of confusion. Not to mention that they didn't even "turn it on" until 6AM in the morning, so people couldn't properly familiarize themselves with how it worked on their personal phone beforehand.

The project management antipatterns are apparent: Blowhard Jamboree, Smoke and Mirrors, Throw It Over the Wall, and basic Project Mismanagement, for starters. I haven't seen the code, but I can't imagine the management and deployment problems didn't lead to design and construction problems as well.

We software professionals have learned, through painful experience, that software developers have a better understanding of how to develop software than corporate executives. Go figure. Since Mitt Romney ran as a father-knows-best, authoritarian candidate, it should surprise no one that the people he hired couldn't run a software project.

Sunday 11 November 2012 10:08:59 CST (UTC-06:00)  | Comments [0] | US | Business#
Saturday 10 November 2012

Last month I used less electricity than ever before at my current address, mainly because two of the five servers in the Inner Drive Technology Worldwide Data Center have had their duties migrated to Microsoft Windows Azure.

This past month, I used even less:

It wasn't my smallest-ever bill, though, thanks to Exelon's recent rate increases. But still: here's some more concrete evidence that the Cloud can save money.

And before people start pointing to the New York Times article from September about how wasteful the Cloud is, I can't help but point out that the writer left out the part where moving to the cloud lets businesses turn off their own on-premises servers. And given the way Azure works (and, I assume, Amazon's and Google's equivalents), instead of dedicated servers doing just about nothing all day, you have shared servers handling sometimes dozens of different virtual machines for a fraction of the cost.

Anyway, except for the part where I fly 100,000 km every year, I feel like moving to the Cloud is helping everyone.

Saturday 10 November 2012 09:47:59 CST (UTC-06:00)  | Comments [0] | Business | Cloud#
Saturday 3 November 2012

I mentioned a few weeks ago that I've had some difficulty moving the last remaining web application in the Inner Drive Technology Worldwide Data Center, Weather Now, into Microsoft Windows Azure. Actually, I have two principal difficulties: first, I need to re-write almost all of it, to end its dependency on a Database of Unusual Size; and second, I need the time to do this.

Right now, the databases hold about 2 Gb of geographic information and another 20 Gb of archival weather data. Since these databases run on my own hardware right now, I don't have to pay for them outside of the server's electricity costs. In Azure, that amount of database space costs more than $70 per month, well above the $25 or so my database server costs me.

I've finally figured out the architecture changes needed to get the geographic and weather information into cheaper (or free) repositories. Some of the strategy involves not storing the information at all, and some will use the orders-of-magnitude-less-expensive Azure table storage. (In Azure storage, 25 Gb costs $3 per month.)

Unfortunately for me, the data layer is about 80% of the application, including the automated processes that go out and get weather data. So, to solve this problem, I need a ground-up re-write.

The other problem: time. Last month, I worked 224 hours, which doesn't include commuting (24 hours), traveling (34 hours), or even walking Parker (14 hours). About my only downtime was during that 34 hours of traveling and while sitting in pubs in London and Cardiff.

I have to start doing this, though, because I'm spending way too much money running two servers that do very little. And I've been looking forward to it—it's not a chore, it's fun.

Not to mention, it means I get to start working on the oldest item on my to-do list, Case 46 ("Create new Gazetteer database design"), opened 30 August 2006, two days before I adopted Parker.

And so it begins.

Saturday 3 November 2012 14:48:40 CDT (UTC-05:00)  | Comments [0] | Software | Business | Cloud#
Sunday 14 October 2012

I still haven't moved everything out of the Inner Drive Technology Worldwide Data Center to Microsoft Windows Azure, because the architecture of Weather Now simply won't support the move without extensive refactoring. But this week I saw the first concrete, irrefutable evidence of cost savings from the completed migrations.

First, I got a full bill for a month of Azure service. It was $94. That's actually a little less than I expected, though in fairness it doesn't include the 5–10 GB database that Weather Now will use. Keep in mind, finishing the Azure migration means I get to shut off my DSL and landline phone, for which AT&T charges me $55 for the DSL and $100 for the phone.

I also found out how much less energy I'm using with 3 of 5 servers shut down. Here is my basic electricity use for the past two years:

The spikes are, obviously, air conditioning—driven very much by having the server rack. Servers produce heat, and they require cooling. I have kept the rack under 25°C, and even at that temperature, the servers spin up their cooling fans and draw even more power. The lowest usage periods, March to May and October to December, are cool and moist, so I don't use either air conditioning or humidifiers.

Until this month, my mean electricity use was 1100 kWh per month overall, 1386 kWh in the summer, and 908 kWh in the shoulder seasons. In the last two years, my lowest usage was 845 kWh.

Last month it was 750 kWh. Also notice how, during the much hotter summer in 2012 (compared with 2011), my electricity use was slightly lower. It was just harder to see the savings until now.

Including taxes, that means the bill was only $20 less than the usual shoulder-season bill. But I'm not General Motors; that $20 savings is 20% of the bill. Cutting my electricity bills 20% seems like a pretty good deal. And next summer, with no servers in the house, I'll be able to run less air conditioning, and the A/C won't have to compete with the heat coming off the server rack.

Now I've just got to figure out how to migrate Weather Now...

Sunday 14 October 2012 10:57:07 CDT (UTC-05:00)  | Comments [0] | Business | Cloud#
Thursday 11 October 2012

My latest entry is up on the 10th Magnitude tech blog.

You can also read it right here.

Thursday 11 October 2012 13:23:29 CDT (UTC-05:00)  | Comments [0] | Business | Cloud | Security#
Tuesday 9 October 2012

I haven't any time to write today, but I did want to call attention to these:

Back to the mines...

Tuesday 9 October 2012 16:16:20 CDT (UTC-05:00)  | Comments [0] | Chicago | Kitchen Sink | US | Business#
Thursday 20 September 2012

Last night, around 11:30pm, the power went out in my apartment building and the ones on either side. I know this because the five UPS units around my place all started screaming immediately. There are enough of them to give me about 10 minutes to cleanly shut down the servers, which I did, but not before texting the local power company to report it. They had it on again at 1:15am, just after I'd fallen asleep. I finally got to bed around 2 after bringing all the servers back online, rebooting my desktop computer, and checking to make sure no disk drives died horribly in the outage.

But unlike the last time I lost power, this time I did not lose email, issue tracking, this blog, everyone else's site I'm hosting, or the bulk of my active source control repositories. That's because they're all in the cloud now. (I'm still setting up Mercurial repositories on my Azure VM, but I had moved all of the really important ones to Mercurial earlier in the evening.)

So, really, only Weather Now remains in the Inner Drive Technology Worldwide Data Center, and after last night's events, I am even more keen to get it up to the Azure VM. Then, with only some routers and my domain controller running on a UPS that can go four hours with that load, a power outage will have less chance of waking me up in the middle of the night.

Thursday 20 September 2012 11:46:58 CDT (UTC-05:00)  | Comments [0] | Business | Cloud#
Monday 17 September 2012

It seems that the more I have to do, the more I'm able to do. In other words, when I haven't got a lot of assignments, I tend to veg out more. Right now I'm on a two-week development cycle, with an old client that predates my current job anxious for some bug fixes. Oddly, the old client tends to get his bug fixes when I have more to do at my regular gig.

Of course, blogging might suffer a bit. In fact I just submitted a draft blog entry for the 10th Magnitude Developer Blog that should hit tomorrow sometime. Until then, it's embargoed (which I hate because it's a timely and useful topic), and I have a feature to finish.

I guess all of this means, with apologies to René Magritte, ceci n'est pas un blog post.

Monday 17 September 2012 16:10:46 CDT (UTC-05:00)  | Comments [0] | Kitchen Sink | Business#
Wednesday 5 September 2012

We're doing some very cool things at 10th Magnitude. Here's my boss, CEO Alex Brown, explaining:

Notice, by the way, how often I have mentioned an employer on this blog. I'd discuss the company more right now, but I have to get back to writing some pretty cool Azure code...

Wednesday 5 September 2012 08:52:46 CDT (UTC-05:00)  | Comments [0] | Business#
Tuesday 21 August 2012

Groupon, now trading somewhere around 25% of its IPO value, continues to unimpress people:

The disclosure that I found most revealing in last week's financial report was the relationship between Groupon's marketing spending and its growth rate. Traditional daily-deal revenue declined 6.9 percent from the first quarter to the second, as Groupon dialed back marketing outlays by 24 percent.

Hawking Groupon shares in the IPO roadshow, Mr. Mason said the company eventually would be able to cut back on marketing without sacrificing growth. This was meant to assure prospective investors that money-losing Groupon would become “wildly profitable,” as Executive Chairman and co-founder Eric Lefkofsky put it in an illicit media interview during the IPO registration process.

My guess is that another quarter or two like the last one will be enough to ease Mr. Mason into a position better suited to his eclectic interests. The challenge will be finding a replacement with certifiable executive skills and strategic vision.

Which prompts the question of what a better strategy for Groupon might be. Mr. Mason talks about becoming the “operating system for local commerce,” jargon that could mean anything—or nothing. Corporate mumbo-jumbo won't help Groupon now. It needs a new business.

I've noted before, Groupon's IPO benefited only one group of people: Groupon investors. The company has an easily-copied idea, and appears to lose money on every coupon it sells. Good on them for having $1 bn in cash; they'll need it.

Tuesday 21 August 2012 15:13:30 CDT (UTC-05:00)  | Comments [0] | Business#
Saturday 4 August 2012

Remember all those Azure migrations I've done over the past month? Well, I have another one that I wasn't expecting, and for a variety of reasons including a failed web server, it must be completed by Monday morning.

Remember I'm going to San Diego tomorrow? Good thing the airplane has WiFi.

And people wonder why I eat chalk a lot...

Saturday 4 August 2012 08:14:58 CDT (UTC-05:00)  | Comments [0] | Business | Cloud#
Friday 3 August 2012

Sometimes things just work.

Last weekend, I wrote about moving my last four web applications out of my living room the Inner Drive Technology International Data Center and into the cloud via a Microsoft Azure Virtual Machine.

Well, if you're reading this blog entry, then I've succeeded in moving The Daily Parker. Except for transferring files (the blog comprises 302 megabytes over 13,700 files), which happened in the background while I did other things, it only took me about 45 minutes to configure the new installation and make the necessary changes to DNS.

Despite the enormous volume of data, this was the easiest of the four. DasBlog has no dependencies on outside services or data, which means I could move it all in one huge block. The three remaining applications will take much more configuration, and will also require data and worker services.

I'm still surprised and pleased with the smoothness of the transfer. If the other three migrations go anywhere nearly as easily as this (taking into consideration their complexities), I'll be an Azure Evangelist for years.

Thursday 2 August 2012 23:17:57 CDT (UTC-05:00)  | Comments [0] | Daily | Business | Cloud#
Thursday 2 August 2012

My latest missive for my employer, "When to use Microsoft Azure’s IaaS instead of PaaS", is now available on the 10th Magnitude blog. It's similar to a post from last weekend, but with better writing and editing.

Thursday 2 August 2012 13:29:43 CDT (UTC-05:00)  | Comments [0] | Business | Cloud#

According to Jeff Atwood, today's the day:

When you're hired at Google, you only have to do the job you were hired for 80% of the time. The other 20% of the time, you can work on whatever you like – provided it advances Google in some way. At least, that's the theory.

Although the concept predates Google, they've done more to validate it as an actual strategy and popularize it in tech circles than anyone else. Oddly enough, I can't find any mention of the 20% time benefit listed on the current Google jobs page, but it's an integral part of Google's culture. And for good reason: notable 20 percent projects include GMail, Google News, Google Talk, and AdSense. According to ex-employee Marissa Meyer, as many as half of Google's products originated from that 20% time.

He goes on to ask if your company is ready, and offer some suggestions how to implement it. I think it's easier to do when you don't have billable-hour pressure, but still, we at my company do manage to get some goofing-off time in.

Or, put another way, "why is this day different from all other days?"

Thursday 2 August 2012 09:03:32 CDT (UTC-05:00)  | Comments [0] | Business#
Monday 30 July 2012

Via Sullivan, entrepreneur Kyle Wiens won't hire people who use poor grammar (and neither will I):

Good grammar makes good business sense — and not just when it comes to hiring writers. Writing isn't in the official job description of most people in our office. Still, we give our grammar test to everybody, including our salespeople, our operations staff, and our programmers.

Grammar signifies more than just a person's ability to remember high school English. I've found that people who make fewer mistakes on a grammar test also make fewer mistakes when they are doing something completely unrelated to writing — like stocking shelves or labeling parts.

In the same vein, programmers who pay attention to how they construct written language also tend to pay a lot more attention to how they code. You see, at its core, code is prose. Great programmers are more than just code monkeys; according to Stanford programming legend Donald Knuth they are "essayists who work with traditional aesthetic and literary forms." The point: programming should be easily understood by real human beings — not just computers.

Yes. Clear writing shows clear thought, almost always. I might not go so far as to use a grammar test for new employees, but I do pay attention to their emails and CVs.

Monday 30 July 2012 09:19:43 CDT (UTC-05:00)  | Comments [0] | Business#
Saturday 28 July 2012

I hope to finish moving my websites into the cloud by the end of the year, including a ground-up rewrite of Weather Now. Meanwhile, I've decided to try moving that site and three others to an Azure Virtual Machine rather than trying to fit them into Azure Cloud Services.

For those of you just tuning in, Azure Cloud Services lets you run applications in roles that scale easily if the application grows. A virtual machine is like a standalone server, but it's actually running inside some other server. A really powerful computer can host a dozen small virtual machines, allocating space and computing power between them as necessary. You can also take a virtual machine offline, fold it up, and put it in your pocket—literally, as there are thumb drives easily as big as small VMs.

If you're interested in PaaS, IaaS, and the future of my living room the Inner Drive Technology Worldwide Data Center, read on.

Saturday 28 July 2012 14:24:50 CDT (UTC-05:00)  | Comments [0] | Business | Cloud#
Friday 27 July 2012

Long-time readers will know how I feel about Microsoft certification exams. When it came time for 10th Magnitude to renew its Microsoft Partner designation, and that meant all of us had to take these tests again, I was not happy.

So, against my will, I took exam 70-583 ("Designing and Developing Windows Azure Applications") and passed it. I am once again a Microsoft Certified Professional.

Fwee.

Friday 27 July 2012 15:33:24 CDT (UTC-05:00)  | Comments [0] | Business | Cloud#
Search
On this page....
Wrapping up a project
Criticizing renowned author Dan Brown
First post-Azure electric bill
My glamorous life
ComEd lowers rates, still above Integrys
Context switching
Things I might have time to read this weekend
Send to Kindle
Lowest electricity bill ever
Thanks for the memories
Weather Now 4.0 in Production
That's all he wrote
Working at home sucks?
Happy 12-hour Monday!
Thinking about vacation...where to go?
Resolving the oldest case
How to build software
New 10th Magnitude blog post
Why this last Azure move is taking so long
Zipadee doo frickin da
Data mining on Amazon
Online shopping IRL
The Times gets my attention this evening
Why was Pinball removed from Windows Vista?
Evolution at IDTWHQ
Too many buzzwords on LinkedIn?
Stuff to read later
Build, buy, or rent?
Still jamming; pre-Thanksgiving link roundup
Jamming on the Codez
Going, going...
The Romney campaign's software epic fail
Lowest electricity usage ever
Starting the oldest item on my to-do list
Direct effects of moving to Azure
Windows Azure deployment credentials
Quick link roundup
How the Cloud helps people sleep
Virtuous circle of productivity
My boss in a video podcast
Groupon's daily snooze
Good thing I've been practicing
The Daily Parker...in the cloud
New blog post up on company's site
Goof Off at Work Day
On hiring and grammar
Taking an Azure shortcut
Certified, again, and just as happy as the last time
Countdowns
The Daily Parker +2748d 07h 05m
Parker's 7th birthday 23d 06h 08m
To West Coast 35d 19h 58m
My next birthday 103d 22h 36m
Categories
Aviation (241) Baseball (92) Biking (26) Chicago (673) Cubs (148) Duke (129) Geography (258) Jokes (98) Kitchen Sink (486) London (2) Parker (164) Daily (203) Photography (123) Politics (294) US (893) World (181) Raleigh (18) Religion (53) San Francisco (67) Software (165) Blogs (48) Business (159) Cloud (52) Cool links (108) Security (75) Travel (67) Weather (574) Astronomy (66) Windows Azure (25) Work (14)
Links
Archive
<May 2013>
SunMonTueWedThuFriSat
2829301234
567891011
12131415161718
19202122232425
2627282930311
2345678
Full archive
Blogroll
About
David Braverman and Parker
David Braverman is a software developer in Chicago, and the creator of Weather Now. Parker is the most adorable dog on the planet, 80% of the time.
Legal
All content Copyright ©2013 David Braverman.
Creative Commons License
The Daily Parker by David Braverman is licensed under a Creative Commons Attribution-Noncommercial-No Derivative Works 3.0 United States License, excluding photographs, which may not be republished unless otherwise noted.
Admin Login
Sign In