The app that would get me to buy an iPhone...

I’m afraid to go look in the App Store, because it might be a real iPhone app and I might be kicked out of the ninja camp for talking like a pirate all the time. Doh!

Dilbert.com

Although, it probably wouldn’t be too hard to write one for Windows Mobile. I’ll add it to the long, long list of code that I’ll write Someday™.

Amen, brother. Preach it, SQL-type dude!

My pal, Steve, over @ SQL Server Central has been riffing on the DBA-train-thyself mantra again. Bizactly!!

Too many people seem to believe that everything about their career should be paid for by their current employer... despite the fact that they usually went to school on their own nickel in the first place and probably did a ton of self-study (if they’re successful) to get where they are.

There is no excuse for you not to be able to improve your skills and career. There is no excuse | SQL Musings | SQL Server Central

Remember that you will “Fight like you train.” So, if you aren’t training... You’re unlikely to remember that T-SQL syntax for that database restore under pressure. Or those darn big O notation rules during an interview! I’m just sayin’.

Like Steve said, go learn something new every week. Didn’t somebody famous like Eleanor Roosevelt say that, too? Heh. I’ll only add that you need to train (review and practice) stuff that you already think you know, too.

This whole blog chain echoes something that I’ve told every person that I’ve ever advised or mentored:

You own your own career.

Period. Nobody else will ever be as invested in your career success (or failure) than you are. Not even your mommy.

Scary. But probably true.

Emphasis in the quote below is Jeff’s; I didn’t fiddle with the bold or italics. I just made it blue, because blue is good, right?

Pretty soon, all programming will be web programming. If you don't think that's a cause for celebration for the average working programmer, then maybe you should find another profession.
Coding Horror: All Programming is Web Programming

Of course, that’s the conclusion of the post which makes Jeff sound like he’s not a right-tool-for-the-job kind of guy (he is). It’s just the bombast to convince you that you should go read it yourself. Heh.

For the record, I’m not a huge fan of web development (the tools are generally not mature enough to support my TDD habit), even though I ran the primarily web-based development team for a dotcom for nigh six years... I am a big fan of the principle of least power (and/or least complexity).

Degenerate dimensions in VSTS DB edition GDR R2 (a.k.a. TSD03136)

This is a common pattern in many BI projects that I’ve been involved with in the past four or five years for deriving degenerate dimensions without expending the effort to build and maintain star schema or snowflake tables in a data mart or data warehouse. (I’m not passing judgment, just making an observation. I’m ambivalent about them.)

CREATE VIEW [dbo].[SomeNewDegenerateDimension]
AS
     SELECT DISTINCT
([OneColumnOrAnother])
     FROM [dbo].[SomeFactTableOrViewOrAnother]

GO

I know that they didn’t work in Data Dude before, but I had hopes that GDR R2 would’ve fixed it. GDR R2 is still fun to say. Yeah, it’s been that kind of week. In the immortal words of the Dread Pirate Wesley, “Get used to disappointment.”

Fortunately, it’s an easy fix. Unless you’ve got ~750 of them to fix in a large project that you’re trying to import into source control for change management and team development purposes... Just copy-n-paste the column name after an AS at the end of the SELECT clause.

CREATE VIEW [dbo].[SomeNewDegenerateDimension]
AS
     SELECT DISTINCT
([OneColumnOrAnother]) AS [OneColumnOrAnother]
     FROM [dbo].[SomeFactTableOrViewOrAnother]

GO

In other news, I forgot today was the department summer party. Everybody else is @ the beach. I’m jousting with Visual Studio. In the immortal words of Dilbert, “Yay, life!”

image

erR? TSD03006. Doh!

I’m often skeptical when I read things like this that make absolute statements:

To resolve this problem, upgrade to Microsoft Visual Studio Team System 2008 Database Edition GDR R2.

FIX: When you access a table source in a referenced project by using an alias in VSTS 2008 Database Edition GDR, if you refer to the table source by using a three-part or four-part name, you receive TSD03006 errors or TSD04151 warnings

In my particular case for a new project where I have imported schemas created by Someone Else™ who overzealously fully qualified all the object names in every view definition and stored procedure in eight out of 12 databases in the solution (even when the views reference objects in the same database)... it’s NOT true.

Grrr.

Visual Studio beats me because she loves me. *pout*

Not sure how I missed GDR R2. That’s fun to say. GDR R2. Like magma. Magma is a funny word. GDR R2. Or maybe I left a note2self somewhere that I forgot to read. Huh.

Anyway, I got around to downloading it:

Download Details: Microsoft® Visual Studio Team System 2008 Database Edition GDR R2

But it didn’t magically fix all the errors that GDR reported for tri-part names for me. The following valid object definitions are reported as build errors:

  • View definitions that contain a three part name that includes the database containing the object. The Add Database Reference interface will not allow me to add a self-reference, so the fix seems to be to remove the database name. Editing ~300 object script files.
  • View definitions that contain a three part name in which the referenced database (which has a valid database reference in the project) name is “quoted” in square brackets. Removing the brackets allows Data Dude to resolve the reference correctly. Yay! Only ~200 object script files to edit (which incidentally were EXPORTED BY DATA DUDE in the first place).
  • [Edit] Database reference names are case-sensitive and must match the referenced database project name exactly, even in case-insensitive database projects. Yeah, yeah. Make them match in case and everything’s fine.

It’s apparently too much to expect full parity with the database engine parser or that there’s a way to flag specific errors generated from otherwise valid T-SQL to be ignored without a blanket ignore for an entire error code @ the project level... because some day somebody else might actually produce a bug in that class that I want the build to catch. (Nah, I’d never do that myself. *wink*)

The oversight of quoted identifiers for the database reference name is [censored], but, yes, I agree that self-references are silly in views for the database name (I can imagine several scenarios about how they happened, though), but I’ve 774 more errors in this solution to clean up before I can check in all the schemas that I just imported into Data Dude.

#@%&!!!

How high is your impulse buy threshold?

I think Jeff’s on to something:

While there's an odd aspect of race to the bottom that I'm not sure is entirely healthy for the iPhone app ecosystem, the idea that software should be priced low enough to pass the average user's "why not" threshold is a powerful one.

Coding Horror: Software Pricing: Are We Doing It Wrong?

But...

As usual, it’s a good, thought-provoking post from Jeff. He talks about a couple of games that were wildly successful at selling huge numbers of units after they lowered their prices... Which is the key concept that seems to be overlooked: Perceived Value™.

Jeff (like all of us in geekdom) seems to be thinking of finding the Perfect Price™, set it once and enjoy massive profitability. Unfortunately, marketing and economics don’t work that way because they overlap with the unpredictable, irrational “science” of human psychology. Like that country song chorus goes “... and people are crazy.”

Steam/Valve were wildly successful with these price cuts because the were able to LOWER their prices. If they started off at a lower price point, they might’ve front-loaded more sales on the curve, but they would not have the long, sustainable tail of moderate Half-Life or Left4Dead sales at the New Lower Price™ because they wouldn’t have the same perceived value to typical consumers.

People like Jeff and I who paid full price for L4D (the Reed Clan actually bought four copies at full price, but that’s a different problem) aren’t in the same buyer bucket as those people who got motivated when the price was reduced... and I doubt many game companies are going to be willing to start low and then go lower in the hopes of making more money without a lot more evidence than a table o’ speculative numbers.

Especially since the jury is still out on whether companies are going to win with the iPhone App Store’s race to the bottom strategy. Perhaps if the Xbox Live Arcade and Xbox Live Community Games starts producing some profitable companies built primarily on titles in those arenas, that might suggest starting low is the way to go.

My wallet wants him to be right, but I’m just sayin’...

South Park mobile business model?

Microsoft Details How to Port iPhone Apps to Windows Mobile

1. Write an iPhone app.
2. ...
3. Profit!

Heh.

I’ll read this later when the mobile app store opens and I come up with a killer mobile app to fund my retirement.

Or I stop waiting for Windows 7 phones to street and take a bite of the forbidden fruit. (Unlikely. My Samsung i760 still does everything I need with only a reboot once or twice a week.)

Credit to Code Project for suggesting step 1 in their newsletter today.

Tough decision. Should I share this with my son?

This summer, my oldest son (age 9) has been plowing through every book in the library on electronics, robotics and astronomy that he can convince the public library to check out to him. His current fixation is BattleBots, because he hasn’t solved the “Earth orbit is a long way up” problem, yet.

For the amount of money he might be able to earn in a year or three, somebody else is willing to solve it for him beginning in 2010...

Total Price of the TubeSat Kit including a Launch to Orbit is $8,000!

Interorbital Systems – TubeSat Personal Satellite Kit | International Space Fellowship

Not to be critical, but don’t we already have enough junk in orbit? Well, it would be cool to have our own piece of space junk in orbit sponsored by Fort Reed.

I think the operative question isn’t whether or not I tell #1 Son or not... It’s whether he can keep from telling his mother about the secret account that I just created to save up for it.

Heh.

This is what happens to Twits™ with weak passwords...

Whoops.

image

Or perhaps Twitter has a feed injection bug that’s been exploited? Maybe Anna Kournikova’s eponymous worm has a new Twitter-focused incarnation? Who knows? Maybe the good folks @ the Code Project really do want to help out on the biological front?

Heh.

Vista SP2 Compatibility Mode Builds Character... on Windows 7

The kids have gotten to the age where they’re pestering us to play Dungeons & Dragons with them. Well, my oldest son is and he’s dragging his sister along (kicking and screaming, metaphorically-speaking). Heh.

Unfortunately, this isn’t his Grandpa’s D&D anymore (or his Dad’s). We didn’t have none o’ them crazy software gadgets when we played D&D! We had slate tablets with chalk to write on, just like Abe Lincoln and Gary Gygax. And we were grateful for it!! Heh. As my beard gets grayer, people seem to expect old codger stories...

Wizards of the Coast seems to have turned out a great little widget in the Character Builder. A little paranoid about copyrights and DRM, for my taste but once I got it working, I like it.

However, like most small companies that outsource their software development and technical support (I don’t know that to be fact, it just seems that way from the outside looking in), they’re not exactly on the cutting edge. It is a .NET 3.5 SP1 application (according to their website), which is a good start, but...

Their Character Builder FAQ wasn’t any real help, since I’m running Win7. And I get really irritated when the answer to a badly implemented application is “run it as Administrator”. Grrr. But I tried that first anyway... to no avail.

Right-click | Run as administrator didn’t change the symptoms: “Logon Failed. You do not have access to this application.” whenever I tried to update the content for the first time on a fresh install of CB. Maybe that worked on Vista, but it didn’t seem to solve the problem on Win7.

WotC technical support verified that I’m a paid up and member in good standing for D&DI, so I tried forcing it to run in Vista compatibility mode. Hooray for backward compatibility. Good job, Win7 team! (I’m still working on forgiving you for removing my “restore folders at logon” option from Explorer, though.)

image 

Just for giggles, I watched the directory in Program Files as Character Builder was updating, and sure enough they’re writing directly to the privileged directory during unelevated execution. Bad form, guys. That’s sooo Windows 95. Time to get with the modern development paradigm!

Attention WotC developer types! You should have the downloader dump files to a temporary folder, kick off a new process and prompt for elevation using Windows Installer to patch your app properly!! Otherwise you’re going to suffer breakage and other problems at uninstall time... and it’s just wrong anyway to write to a privileged directory without explicit user permission AND even then only during setup or patching!

I shudder to think how they’re probably ignoring the multiple users problem, among other things. Yup, no Vista-certified logo to be found. Doh.

But now I’m up and running and building character! All so that I can use my children as guinea pigs to prove my nefarious theory that roleplaying has therapeutic benefits for children with autism toward learning appropriate social interaction. How else are my little aspies supposed to learn what to do when they actually meet a dragon?

We need to do $@#%ing research to learn this?

Speaking on behalf of all men with a workshop or a garage (which reminds me, I have a top 10 list that I need to post somewhere from a couple weekends back), this research is a big “Duh!” Why do people get paid to do research like this? How can I get paid to do research like this?

"Swearing has been around for centuries and is an almost universal human linguistic phenomenon," says Stephens.

...

"What is clear is that swearing triggers not only an emotional response, but a physical one too, which may explain why the centuries-old practice of cursing developed and still persists today," he said.

Swearing can make you feel better, lessen pain | Lifestyle | Reuters

Thank you, Captain Obvious. Only centuries old? I’ll take the 200,000 year slot in the pool for whoever’s taking odds. In fact, I’ll even go so far as to posit that curse words were among the first 50 words we invented... Thumb. Rock. @#$&!!!

Next, how ‘bout we get Captain Obvious to hook up a PET scanner and watch the brain activity of somebody that I’m swearing at? I betcha that they have an emotional and physical response to being the object of profanity, too. Heh.

NTS: Always install the TFS Power Tools

Or you’ll wind up with:

TF10139: The following check-in policies have not been satisfied.
Internal error in Changeset Comments Policy

Well, you will whenever somebody else installs them on the TFS server and enables the Changeset Comments Policy...

See also:

This explains so many things... Scott Adams explains compensation modeling?

This metaphor can probably be extended to ‘splain corporate and governmental policies of all kinds!

Of course, it would actually be worse (at least for me) if compensation was tied to the performance of friends and family. Heh!

For the record, I used to work there... and I still ain’t laffing.

In other words, if I get promoted that means what...?

The way I read these alleged research results, a lottery is just as effective at picking people for promotions as what we’ve been doing for years?

But is there a better way of choosing individuals for promotion? It turns out that there is, say Pluchino and co. Their model shows that two other strategies outperform the conventional method of promotion.

The first is to alternately promote first the most competent and then the least competent individuals. And the second is to promote individuals at random. Both of these methods improve, or at least do not diminish, the efficiency of an organization.
Technology Review: Blogs: arXiv blog: Why Incompetence Spreads through Big Organizations

I think some researchers have been playing The Sims too much lately...

From personal experience, I know that it matters quite a bit to cow-orkers’ morale who gets promoted... and it’ll be hard to convince even an average CEO or HR generalist that promoting people at random results in an organization that’s just as efficient as one produced by experience, interview selection, seniority and/or the good ole boy network connections.

Pick me. Pick me! Heh.

Note to Self: Label shipping containers more innocuously...

It almost reads like something from “When I am an Evil Overlord...”

The arrested men had setup an elaborate surveillance operation of the prison that involved a camouflaged tent, powerful binoculars, telephoto lenses, and motion detection sensors. But authorities caught wind of the plan when they intercepted the inflatable zeppelin as it arrived from the Italian town of Bergamo. Gizmodo - Spanish Police Foil Remote-Controlled Zeppelin Jailbreak – Zeppelins

I’m curious about how they intercepted said zeppelin. It was shipped from Italy after all. Was it labeled “R/C Zeppelin 4 Zee Beeg Escape”? Addressed to “Zee Preeson Break Teem”? Or were they silly enough to fly it all the way from Tuscany? Maybe they should’ve had it delivered to a ciudad a little further from a maximum security prison?

Actually, I’m even more curious about its remote control design. You never know when that could come in handy! Hey, Spanish police guys, are you interested in selling that contraband r/c blimp? I haz cash! Heh.

More Posts Next page »

Search

This Blog

Syndication

Page view tracker