Archive

Archive for the ‘Tech’ Category

The Future (according to the Usborne Guide to Audio and Radio)

July 22nd, 2010 blakeyrat No comments

My parents dropped off some books I had as a kid, including the Usborne Guide to Audio and Radio (ISBN 0-86020-641-6). Published in 1982, it’s an education book teaching kids how modern technologies like radio and cassette tapes work.

Anyway, I thought these two pages were interesting:

(Pre-usual, click image for biggification.)

I’d like to make fun of it, but actually their predictions aren’t far off, even the satellite radio/TV and the fiber-to-the-home. (Although I can’t get fiber to my house, screw you Verizon, other people can so I guess it still counts.) I think I’ve even seen a wristwatch with a radio in it, although I’m not sure.

The self-tuning radio one is just odd… I’m pretty sure that radios in 1982 could “re-call” stations, considering the radio in my dad’s truck from 1965 could.

The CD prediction is cheating, since CDs were invented several years before this book was authored.

Categories: Tech Tags:

Apple: Then and Now

April 30th, 2010 blakeyrat No comments

Just something I thought of when reading about Apple’s App Store rejections.


(Click for enlargification)

Categories: Humor, Tech Tags:

Recruiters must love me.

April 3rd, 2010 blakeyrat No comments

I try to make it a practice to do some basic research about a company every time I get an email from a recruiter. This time, I lucked into getting a letter from a company I already know a lot about.

The recruiter’s name is anonymized, but not the company he belongs to (as that would defeat the point). Also I busted the job placement URL, so don’t try to follow it. The large text size and seemingly-random application of bold is original, as are the lists that start with question marks.

I received your resume from the Web It looks like you would be interested in hearing more about opportunity an that we are recruiting for .

If you are interested in this opportunity, please apply online at our career site by req number. Your resume will be on my desk top for immediate consideration.

I’ve included job description for your consideration below. The position is located in Poulsbo, WA.

Please apply directly to the requisition. We cannot take resumes directly due to OFCCP requirements, except through our web site.

If this contact is in error or you wish to be removed from our data base, please use the unsubscribe button close to the signature. I apologize if this is the case.

Regards,

Alan Smithee

The Integrated Intelligence Solutions (I2S) Operation of SAIC – Operations, Intelligence and Security Business Unit(Maritime Solutions Division) has an opening for a Senior Software Developer to participate in technical development tasks and the development of software and hardware architectures for our customers.

PRIMARY RESPONSIBILITIES:
Successful candidate will be able to:
?Perform object oriented software development as a technical lead of a team in a structured agile process environment (Feature Driven Development).
?Organize, participate, and positively contribute in technical team meetings.
?Mentor junior software developers by providing guidance in technical execution.
?Assist in the development of software architectures with management, peers, and customers.
?Provide technical suggestions to management for software product and process improvements.
?Interface with customers to document requirements and provide status.
?Generate test plans and perform detailed software unit testing using established tools and processes (JUnit, CppUnit).
?Report directly to software development manager on a regular basis.
?Perform Object Oriented Analysis and Design.
?Document Software Designs using Unified Modeling Language (Sparx Enterprise Architect).
?Administer server software (Subversion, MS SQL Server, Internet Information Server, Flash Media Server).
?Manage software configuration control and deployment.
?Generate marketing and technical documentation (MS Office).

REQUIRED QUALIFICATIONS:
Experience in:
?Feature Driven Development Process, MS Project.
?Object Oriented Analysis and Design, Unified Modeling Language, Sparx Enterprise Architect.
?MS Windows, Visual Studio, Linux, Eclipse, .Net, C++, C#, Java, ASP.Net, GSoap, SQL, Flash, XML, VirtualBox.
?JUnit, CppUnit.
?Subversion, MS SQL Server, Internet Information Server, Flash Media Server.
?MS Office.

Required Education/Experience:
Bachelors Degree and eight years related technical experience.

SAIC is a FORTUNE 500® scientific, engineering, and technology applications company that uses its deep domain knowledge to solve problems of vital importance to the nation and the world, in national security, energy and the environment, critical infrastructure, and health. For more information, visit www.saic.com. SAIC: From Science to Solutions®

SAIC offers a competitive salary and benefits package. For Immediate consideration, please apply on-line at .www.saic.com, through requisition number 167512. SAIC is an Affirmative Action Employer who values cultural diversity in the workplace. EOE, M/F/D/V”

To apply to the Poulsbo ,WA location:Candidates may apply directly to this job posting on SAIC.com through: https://cp-its-rmprd.saic.com/MAIN/careerportal/Job_Profile.cfm?szUniqueCareerPortalID=224335&szOrderID=43754512.

My reply:

Alan,

Isn’t SAIC the company that bilks the government out of millions of dollars by charging through the nose for incompetent consultants who couldn’t finish a project if their life depended on it? Like New York’s CityTime system, or the FBI’s Virtual Case File?

http://news.slashdot.org/article.pl?sid=10/03/27/1228219
http://en.wikipedia.org/wiki/Virtual_Case_File

Why would I, or anybody, want to work for a company run by charlatans and staffed by incompetents? I’d be too busy wiping the drool off my co-workers face, or explaining socks to them (once again!), to get any actual work done. And on the rare chance the project was successful, management would bin it anyway so they could steal another few million from the taxpayers.

No. Not interested.

I’m sure SAIC is a great company to work with, if you’re not saddled by those little things like “ethics” or “pride.” Please visit the above two links, these guys really are scumbags and the public deserves to know.

Special added bonus: I just found out that the security certificate used on their job portal is invalid:

cp-its-rmprd.saic.com uses an invalid security certificate.

The certificate is not trusted because the issuer certificate is unknown.

(Error code: sec_error_unknown_issuer)

Rock on, Firefox. Rock on.

Categories: News, Tech Tags:

Slashfail

June 20th, 2009 blakeyrat No comments

Slashdot has always been a buggy piece of shit, but recently it’s exploded into a buggy metric fuckload of shit. No matter what I do, every Slashdot article looks like this:

slashcrap
(Click image for a closer view)

Seriously. Slashdot is supposed to be full of smart and technical people, and they can’t even get a goddamned website right? How is that image even being shown to me, the end-user? Have they ever heard of the concept of “staging servers?” It’s fucking disgraceful.

It’s not like I’m using the hated Internet Explorer browser, or some experimental web browser from beyond the stars, or that I’ve hacked the shit out of my system, it’s fucking stock Firefox with one fucking add-on.

Oh, and to make it all worse, I have Slashdot set to use the “classic” (read that as: “working”) comments system, not this new piece of shit they’ve been shitting out over the last year. Not that anybody at Slashdot gives a fuck for my preference, since I still get the new version on my user page, and half the templates.

Maintaining this site is somebody’s full-time job. In fact, there are several people who work for Slashdot and only for Slashdot… what the hell do they even do? Think up more creative ways to cram so much fail in such a small space?

Slashdot is the only website I’ve ever seen where the owners/administrators of the site simply don’t fucking care.

They just do not care.

FAIL

I got to stop posting about Slashdot, it’s kind of pathetic. Not a third as pathetic as Slashdot itself, though.

Categories: Daily Annoyances, Tech, Web Tags:

Nerd Tip of the Day: Firefox Not Saving Cookies?

May 9th, 2009 blakeyrat No comments

I recently had this problem, and found the solution after a little Googling.

You might notice that sites that used to auto-log in, like your webmail provider, now require you to manually log in each time. Your login information is stored in cookies, and this likely means that Firefox’s cookie file is corrupted.

Navigate to the following folder (in Vista):
C:\Users\[Your User Profile Name]\AppData\Roaming\Mozilla\Firefox\Profiles\xxxxxxxx.default

Put your Windows user name in the first blank. The actual folder has a randomly-generated name, something like “5gjbzh6p.default”, but you most likely only have one of them. You’ll need to have Explorer show hidden files and folders, as the “AppData” folder is hidden by default. (In Vista, the setting for this is in Organize->Folder and Search Options->View->Show hidden files and folders.)

Inside that folder is a file named “cookies.sqlite”. This is the corrupted file. Rename the file to something like “cookies.backup”. (So that we can restore the file, if it turns out that this wasn’t the problem after-all.)

Open up Firefox, log in to your favorite website to set your cookie. Now to test if cookies are saving correctly, close Firefox, re-open Firefox, and go to your favorite website again: you should be automatically logged in.

Categories: Tech, Web Tags:

Gigantic Javascript WTF: DispHTMLElementCollection

April 22nd, 2009 blakeyrat 1 comment

I don’t normally post about boring work topics, but I wanted to talk about this because it’s a gigantic WTF, and because it might come in handy for someone else who’s stuck on a Javascript project.

It turns out that the thing getElementsByName and getElementsByTagName returns isn’t actually an array. It looks like an array, it walks like an array, and it quacks like a duck, but it’s not actually an array at all. It’s actually a “dispHTMLElementCollection”.

I’ve been doing tons and tons of Javascript work for years, and I’ve actually never come up against this particular quirk before. The only reason I figured it out is that I tried to push() an element into a dispHTMLElementCollection, and it turns out that dispHTMLElementCollections don’t have a push() method. Why doesn’t it have a push() method? Who knows.

Oh, and to make it worse: it’s not documented. Anywhere. This forum post is all MSDN (Microsoft’s developer site, maker of the most popular web browser on Earth) has. Mozilla (makers of the second-most popular web browser on Earth) has absolutely nothing on it, or at least nothing Google’s indexed. Nor does w3.org, the maintainers of the DOM standards (most relevant to this issue.)

What. The. Fuck.

Here’s a test page to demonstrate the issue:

<html> <head> <title>Test</title> </head> <body> <p>h</p> <p>e</p> <hr /> <p>l</p> <p>l</p> <hr /> <p>o</p> <script type="text/javascript"> // Call the "broken" version of CombinedElementList // This function fails in both IE and Firefox, even // though at first glance it looks fine. Reason? // getElementsByTagName *doesn't* return an array, // instead it returns a "dispHTMLElementCollection" // which looks and acts exactly like an array, but // has no .push() method. //var combo = CombinedElementListBroken(); // The "fixed" version uses a Javascript array to // store the results of the two // getElementsByTagName calls. var combo = CombinedElementListWorks(); alert(combo.length); // Expect: 7 function CombinedElementListBroken() { // Create two "arrays" of HTML elements var paras = document.getElementsByTagName('P'); var hrs = document.getElementsByTagName('HR'); // Attempt to combine the two using a simple FOR loop for (var i = 0; i < hrs.length; i++) { // IE: Object doesn't support this property or method // Firefox: paras.push is not a function paras.push(hrs[i]); } return (paras); } function CombinedElementListWorks() { // Create two "arrays" of HTML elements var paras = document.getElementsByTagName('P'); var hrs = document.getElementsByTagName('HR'); // Create a third, blank, array to store the combined list var combinedArr = new Array(); // Puts elements from the first "array" into the combined array for (var i = 0; i < paras.length; i++) { combinedArr.push(paras[i]); } // And the second for (var i = 0; i < hrs.length; i++) { combinedArr.push(hrs[i]); } return (combinedArr); } </script> </body> </html>


Ok, so I posted this to TheDailyWTF, thinking it’d be a laugh: it’s not. Don’t do that, ever. You’d never know it from the frontpage, but the WTF forums are full, apparently, of programmers with psychic or telekinetic powers. To them, it’s my own fault that I couldn’t tell with only my mind that a dispHTMLElementCollection is actually the same thing as a NodeList as documented in the DOM2 standards.

Read the thread if you like.

One useful piece of information I did glean from this, though, the reason that getElementsByTagName (and similar functions) return something other than an array: the list they return is “live”, meaning they can update as elements are added or removed from the page. I don’t see this as being particularly useful, but, hey, at least it explains why it’s not an array.

Several non-useful pieces of information I received: link after link after link to documentation that doesn’t have the terms “dispHTMLElementCollection” and “NodeList” on the same page, and thus have absolutely nothing to do with the WTF I reported.

Apparently, to the WTF posters, this is all “common knowledge” that I should have gotten based on vague comments in a Javascript library I don’t even use. Or I was supposed to look up getElementsByTagName in the DOM, then assume that the type returned (NodeList) just happens to be the same thing as a dispHTMLElementCollection even though there’s nothing to indicate that that is the case.

To the WTF posters, writing a simple page on either Mozilla or Microsoft’s site saying, “oh BTW, dispHTMLElementCollection is the interface we use to DOM2′s NodeList, here’s a link” is a horrible burden that should be never be inflicted on anybody.

BTW, kudos to tgape who not only agrees with me that the lack of documentation is a WTF, but who wasn’t a jerk about it.

Anyway, some good came out of all of this: the next person to search for this completely undocumented class (or interface, or whatever the hell it is) will find either the WTF post or this one, and hopefully won’t waste as much time and energy on it as I have.


It brings up a question, though, that I’m too lazy to test on a Sunday morning (but maybe I will tomorrow): Since the DOM NodeList can be a different class in a different browser, how the holy hell are you supposed to use typeof(x) to find whether something is a NodeList in a cross-browser way? Alternatively, if it’s represented internally to IE as a dispHTMLElementCollection, but typeof(x) returns NodeList (which is what I suspect happens), then why the holy hell would the debugger show dispHTMLElementCollection instead of NodeList?

There’s WTFs all around.

Categories: Tech, Web Tags:

Database Collations Piss Me Off

April 15th, 2009 blakeyrat No comments

I just moved this blog onto another host, and of course in the process you have to move your database to another host. Of course, this couldn’t be an easy task:

  • First, MySQL changed the default collation on their database server installs from latin1 to UTF8. UTF8 is by far a superior choice, but it’s the change that causes the pain since all older databases are latin1.
  • To make things worse, it turns out WordPress (the software running this blog) shoves UTF8 into the database regardless of what the database collation is set to. Christ.
  • To make things more worse, when you have a latin1 database table with UTF8 in it, phpmyadmin can’t export it without filling in those UTF8 entries with junk characters.
  • And just to top it off, I have a whole blog posting based around the word “piñata.”

Anyway, after database export after export after export, and with the help of a WordPress plug-in designed specifically to fix this dumbness, I think I have it all finally straightened-out. Everything’s moved over to the new host, and working exactly how it did on the old host. (With one exception: the backup plug-in I was using isn’t compatible with Windows servers because it uses hard-coded path separators.)

Joy.

If you see any problems with anything, please let me know in the comments. Unless comments aren’t working, then send me a singing telegram.

Categories: Tech, Web Tags:

Stupid Slashdot Exchange

February 27th, 2009 blakeyrat 5 comments

I have no idea why I visit or post to Slashdot.

There was an article up a couple days ago about a new open source multiplayer FPS game. I like multiplayer FPS games, and I like free things, so I thought I’d give it a try. Big mistake.

After one of the game developers (“qreeves”) received a lot of negative comments about the game, he posted a plea for fair treatment. So here it is.

The game was actually not that bad, but the website was abysmal. Anyway, after struggling for over 15 minutes just to figure out how to download the game, there was the following exchange:

 

My Challenge to Slashdot Users (Score:2, Insightful)
by qreeves (1363277) Alter Relationship on 09:31 AM February 26th, 2009 (#27000285) Homepage

I’ve noticed quite alot of misinformation and negativity from the users of Slashdot, and I must say that I am quite disappointed by it. Geeks are supposed to be intelligent people with thought out answers and responses, and it seems to me everyone who comments either did not bother to try the game at all, or find some other off-topic fault to complain about.

I have worked in Open Source for a decade now, and this is the reason most developers become jaded and rude to their users – nothing else. You all want Free and Open Source Software, but where is your empathy? What do we get out of it other than an earful of crap? Please wake up to yourselves and do something to benefit the community for once, rather than idly making rude remarks to inflate your own sense of ego.

My challenge to you all is this: Actually play the game and come up with some constructive criticism. Otherwise, please just ignore this post and move along.

 

Re:My Challenge to Slashdot Users (Score:2)
by Blakey Rat (99501) on 12:12 PM February 26th, 2009 (#27002825)

The download link on the website doesn’t work. It took me 15 minutes to find how to download the game, and that’s only because I was deconstructing how terrible the website actually was (so I could talk about it to some co-workers.)

In short, what did you expect would happen? You couldn’t be bothered to test whether your own website works, and it’s *our* fault you’re seeing negativity.

 

Re:My Challenge to Slashdot Users (Score:1)
by qreeves (1363277) Alter Relationship on 06:46 PM February 26th, 2009 (#27007683) Homepage

You’re still not providing any useful feedback. I can only test it on so many configurations considering my limited access to everything under the sun.

 

Re:My Challenge to Slashdot Users (Score:2)
by Blakey Rat (99501) on 08:40 PM February 26th, 2009 (#27008305)

Dude.

The download link, on the website, does not work. The website. It’s HTML, it’s the same for every platform. It doesn’t work. Does. Not. Work. Clicking it does not begin a download, instead it takes you to the release notes. Every platform’s download link does this. If you think the download link works, you’re living in some bizarre fantasy-land full of flowers and daisies. How is that not useful feedback?

It took me something like 15 minutes to figure out how to download the game. But since I did, WTF, here we go:

1) Is the name of the game “Blood Frontier” or “BloodFrontier?” The website has it one way, my Windows Start menu the other way.
2) On first startup, the game sets the resolution of my main monitor to … something, and also blanks out my secondary monitor for no reason whatsoever. Despite changing the resolution, it still runs in a letterbox, which prompts me to ask what the hell the point of changing the resolution was. Kudos on it correctly handling Alt-Tab, however.
3) When I’m typing in my username, and I press shift to capitalize a letter, my “character” seems to duck down, even though I’m typing in a username and not actually playing… WTF?
4) When I’m done typing in my username, nothing happens? I think I’m in a game, but there’s no other players, and no way of figuring out how to get to the menu. (Turns out escape, or walking up to the bank of monitors, does it. If I were new to the world of FPS games, I’d have no idea either of those two options existed.)
5) The font used for menus is almost unreadable on my monitor. It has some kind of shadow effect, and it’s really tiny.
6) Turning off “fullscreen” in options/display does nothing. (Although the option stays unchecked.)
7) Changing the game resolution in options/”gfx” does nothing. The resolution you check doesn’t even stay checked. 8) Some quality settings are in “gfx”, others are in “display” with no apparent rhyme or reason.
9) You can’t simply set all options to “slow and pretty” by clicking the text that says “slow and pretty” in options/”gfx”. That would be too easy. So would auto-detecting what my hardware is capable of, apparently, since it’s running at 120+ FPS in the default configuration.
10) The radio buttons in options/mouse are backwards. For some reason, the COLUMNS are labeled “fixed, panned, free” yet the rows are labeled as the specific mouse mode you’re setting. Actually, this might make sense if it were presented as a single table of radios instead of three columns next to each other, but as-is it’s pretty unusable. (You also have to ask: how many people will change this? Seriously? I doubt it’s enough to warrant the code to support it.)
11) While speaking about options, the tabs at the top don’t give any sort of mouse “grace period”, therefore it takes very deliberate mouse movements (vertically straight down, then left) to interact with the options. If you move your mouse quickly, like a normal rational person does, the tab will be accidentally changed before your mouse pointer reaches the option you want to change.
12) Also, there’s no tooltip telling me what the hell some of these options are. “Absolute mouse?” “Mumble positional audio?” “stencil bits?” … uh, WTF are those? “Yes, please, I’d like the positional audio to mumble. I hate it when it’s too clear.”
13) Autoexec.cfg? Seriously? Did I go back in time 15 years to when this crap was acceptable?
14) To start a bot match, I go to “Game” and click “Vote?” WTF.
15) And why is there a “mystery map” in the middle of the maps list? Does this mean randomly select a map? If so, why is there a text field next to it? What do I type in the text field? “Yes, I would like a random map please!” was my guess, but it did nothing.
16) The “Get online support” option under “Help” does… some… confusing… thing. I suppose this is the IRC interface? (It’s hard to tell because I can’t read the damned font.)
17) It says “if you do not agree please part now.” Part what? Do you mean DEpart? Also, how do I do that? There’s no X button or any visible way of closing the IRC window. (Although escape seemed to work. For all I know, that just hides it and doesn’t exit it.) … Oh wait, I’m still seeing people’s chat, presumably in IRC, so I guess “escape” didn’t exit it.
18) My game is still in the intro/menu level, and the message says: “Please Wait, Ready to respawn.” Ok, but how? Left-clicking does nothing. Right-clicking does nothing. Space does nothing. What would be the point of respawning in an empty map anyway, except to walk up to the monitors to see the menu again? (Also, how did I die on an empty map with no enemies?)
19) While I’m in observer mode, I can pass the camera though solid objects. (Possibly intentional, but it looks like crap on screen because of the clipping.) If you’re going to let the camera pass through solid objects, follow the example of most games and make the object translucent proportionally to how close the camera is, then entirely transparent when the camera “enters” it.
20) While I’m in observer mode, the menu no longer opens when I bring the camera close to the monitors.
21) Opening the “Servers” menu doesn’t ping the servers by default. What the hell else are people going to open this menu for? It should just do it.
22) Of the 5 servers running, one is me. One is labelled “v156 != v157″ which I assume is a version mismatch error, but who the hell knows. 3 are empty.
23) 1 player. The server has 1 player, and that’s it. And it’s me. Hard to play-test a multiplayer game when there’s nobody playing! Shadowrun has a more active community, and it sucks.
24) So I join an empty server, other than my own. There’s a map marker named “base” which is off-screen, apparently. No matter which way I turn, it’s always stuck against the top or bottom of the screen.
25) Grenades fly in a straight line, apparently not subject to gravity.

There, 25 pieces of feedback, and I didn’t even play against an actual human. Happy?

 

Re:My Challenge to Slashdot Users (Score:1)
by qreeves (1363277) Alter Relationship on 12:21 AM February 27th, 2009 (#27009313) Homepage

14:17.19 * Blakeyrat (n=Blakeyra@pool-71-113-17-244.sttlwa.dsl-w.verizon.net) joined
14:24.31 [+bfbot] Blakeyrat has joined the game
14:28.36 [+bfbot] Blakeyrat has left the game
14:28.36 * Blakeyrat (n=Blakeyra@pool-71-113-17-244.sttlwa.dsl-w.verizon.net) quit (“Blood Frontier, It’s bloody fun! www.bloodfrontier.com”)

Yeah buddy, you really gave it a chance.. So no, I am not happy; your feedback is done with malice and spite. While you make valid points; for a beta you are just nitpicking. You made no attempt to talk to us or work out how to do things, you’re just too self involved to care. I’m not afraid to say these truthful things either; people like you, we do not need – people who are helpful; they’re more than welcome.

 

Re:My Challenge to Slashdot Users (Score:2)
by Blakey Rat (99501) on 06:14 AM February 27th, 2009 (#27011083)

Wait, I played, according to your IRC log, 11 minutes on an EMPTY SERVER (a server with NO OTHER PLAYERS), and I didn’t give it a chance? What’s the typical user behavior when joining empty servers? Sticking around for an hour? Three hours? What’s the cutoff for me having “given it a chance?”

Look, I’m trying to test a multiplayer game, there’s no players. It took me 15 minutes to figure out how to download the damned thing. As pointed out in the issues I brought up, which you apparently don’t care about despite (most of them) being valid bugs, the usability of your game is abysmal. Arguably the two most important functions for a game (changing to Windowed mode, and changing the game resolution) simply *do not work.* The menu text is impossible to read. Maybe I’m an old fogey with bad eyes, but it’s impossible to read.

We’re talking about a game that is, supposedly, in beta and you don’t even know what the NAME of it is. (“BloodFrontier?” or “Blood Frontier?”)

I think I’ve jumped through about a dozen more hoops than anybody should EVER have to jump through to test a beta product, and you just come back with: “oh well you only played for 11 minutes.” Dude, 11 minutes of this shitty game with no players is an ETERNITY.

Oh well, just like every experience with open source, it just encourages me to never, ever help open source programmers. You simply do not give a crap about the quality of your product. Someone points out tons of low-hanging-fruit bugs, and you just reply with “oh well you weren’t serious.” Screw that.

 

Do I come across as a jerk? Yah. I am a jerk most of the time. But that list of bugs, they’re all valid. And people who will get Slashdot to post an article to thousands of people before even checking that their own website works, those people piss me off. What a colossal waste of time.

Categories: Games, Tech, Web Tags:

Weird Google Quirk

February 16th, 2009 blakeyrat No comments

I did a Google search for the acronym “FFA” today to figure out what it means other than Future Farmers of America, and I noticed something really weird about the results.

Take a look at page 3 of the results:

ffa_results_page_3

Notice the bottom-most entry on page 3 is Football Federation Australia. Fair enough. But when I kept clicking on, I noticed that Football Federation Australia was also the bottom-most result on page 4, and 5, and 6, and 7, and 10:

ffa_results_page_10

and 20:

ffa_results_page_20

and 29:

ffa_results_page_29

but not 30:

ffa_results_page_30

The bottom-most result on every page of results from page 3 to page 29 is Football Federation Australia.

What’s going on here? Is the bottom-most entry on each page actually a sponsored link? (It’s not labeled as one on the page at all, if so!) Is this some weird bug having to do with the SearchWiki feature? Or maybe it’s a plain ol’ bug that’s been around for ages.

Categories: Tech, Web Tags:

World of Warcraft Updates, and the Definition of Half-Assed

November 2nd, 2008 blakeyrat No comments

Another one of those things that I have a love-hate relationship with is World of Warcraft. The good news is that Blizzard actually makes an effort at Vista compatibility. (Unlike, for example, Valve who doesn’t even try.) The bad news is that Blizzard has no fucking clue how to actually make their product compatible with Vista.

WOW was built with the assumption that it would be able to read and write files from the Program Files folder at will. This assumption was wrong when it was built, and it’s especially wrong now that Vista is out. Windows 2000, BTW, has the exact same limitations for regular users as Vista does for administrative users, so it’s not as if this is new or anything. WOW has simply always been broken on Windows 2000, XP, and Vista.

The solution before was always just “well, run as administrator.” To this I reply: screw you. I’m sick of video games, which pretty much by definition never do any administrative tasks, relying on administrator permissions. WOW does nothing but shove tons of data through the Internet, both directions. With administrator permissions, that means WOW can, at the instruction of some random Internet server, completely fuck with any file on my system. The same applies to any other Internet-aware video game, and I’m sick of it.

Security aside, using the wrong folders also breaks the multi-user model of Windows. It’s impossible for WOW to have different settings for different computer users, because they only have one copy of the settings file. It’s also impossible for different users to run different sets of Add-Ins, because there’s only one folder that Add-Ins can be put in.

Game developers: Windows 98 was a long, long time ago. Please spend a few seconds to learn how NT permissions work before releasing a game to the unsuspecting public! You’re doing nothing but adding security holes to people’s computers and breaking OS built-in multi-user features. Stop it.

So back to WOW. WOW decides to store its configuration data in a “WTF” folder (no kidding, Blizzard!) inside its Program Files folder. This is wrong; that data should be stored in “Users/[User]/AppData”. Additionally, Blizzard puts interface add-ins in the Program Files folder. This is wrong; that data should be somewhere like “Users/[User]/WOW Add-Ins”. (For those reading closely, in this paragraph I’ve just outlined exactly what changes Blizzard needs to make for full Vista compatibility.)

Obviously Blizzard knew their way was wrong, because they tried to fix it. How? In the most half-assed way possible, of course.

Blizzard moved their entire install to “Users/Public” (or presumably “Users/All Users” in XP.)

That user account is supposed to be used for files you want to share among all users on a computer, for instance, custom desktop backgrounds or maybe a music library. (You’ll note that’s where Vista puts all its sample media, so all users can access it.) It’s not intended for programs. In fact, nothing in the “Users” folder is intended for programs! Wrong, wrong, wrong!

And even worse, apparently Blizzard didn’t even bother to test if this would fix their issues. It doesn’t, it makes them worse! The problem they were trying to fix their auto-updater getting blocked by UAC prompts, what they ended up with is a situation where WOW is silently prevented from saving its own configuration files, and so it appears to be working just fine, except every time you log out, WOW forgets everything it ever knew. This includes making you agree to the EULAs over and over and over again.

Are you trying to tell me that nobody at World of Warcraft knows how NT permissions work? A 15-year-old system? At least Valve can use the excuse that they don’t even bother to try.

Blizzard, you’ve really earned this:

P.S. And whenever you see issues like this and look into the forums, people are always blaming Vista. As if Microsoft did something wrong by making their OS more secure. It’s almost enough to get me to break out that crazy pills image again.

Categories: Games, Tech Tags: