Archive for the ‘tech’ Category

ASUS Blu-Ray Recorder and Power2Go   Leave a comment

I recently installed an add-on Blu-Ray Recorder on my Dell desktop machine here at work, and I had some troubles.  You might too.

The physical installation went fine, although they didn’t include a SATA cable in the box with the drive, which I found annoying.  If you’re buying one of these, keep in mind you need to pick up a cable as well unless you’re ditching your existing optical drive.

When I went to install the Power2Go 7.0 software that was pre-packaged with the drive – so that I can actually burn Blu-Ray discs – I got a popup error:

Error 1327.Invalid Drive Y:

“Weird”, thought I.  I have Offline Folders set up on this desktop pointing my documents folder at a server, and that folder is mapped as drive Y.  Well, it can occasionally happen that software developers hard-code a drive letter in their installation (bad practice, boo!) for use as a virtual drive, so I disconnected the mapped drive and tried again.  Still no dice.

It turns out that if you have Offline Folders set up, even if the drive is not connected, the Power2Go installer borks.  Turning off Offline Folders isn’t enough to fix it, because the Offline Folders setup, itself, leaves registry keys in the registry even after you turn off Offline Folders.  You actually have to run the registry editor and remove the legacy entries for the drive mappings to get the installer to not freak out.  Be cautious when you run the registry editor, as you can brick your machine.

Click Start, and then click Run.  In the Open field, type regedit, and then click OK. The Registry Editor opens.

  1. In the Registry Editor, locate the following registry key:
    HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\Shell Folders
  2. In the right pane, note the values in the Data column of each entry.  Find the legacy entry for your Offline Folder entry and delete it.
  3. Repeat for each of the following registry key:
    HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\User Shell Folders
  4. Close the Registry Editor and run the installation again.

Posted September 13, 2012 by padraic2112 in hardware, software, tech

Folksonomy of Programmers   3 comments

I don’t program for a living.  However, I know a bunch of programmers, as part of my job I talk shop with Computer Science people, and programming languages interest me from the standpoint of logical systems.

I was chewing the fat with one of those aforementioned Computer Science folk this morning, and I offered a classification system for programmers that he found entertaining.  Since I needed something to write about to get me back into the blogging gig, here it is for your consumption, with some embellishment.

Class One: The Directionless Hack

How to recognize them:

These people don’t know much about anything.  They’re the type who learned how to program by reading “Java for Dummies”, or by hammering away at their computer to get something specific done (like, building the web site for their band or their buddy’s motorcycle shop). Edited to add: as Corey points out in the comments, you can have a degree in Computer Science, from a reputable university, and still be a directionless hack.  How you learned what you know is less important than what you haven’t learned, and “just getting this next thing done” is a very common approach to formal education, too.

In and of itself, self-taught programmers aren’t necessarily a bad lot (many of the below classes started here), but these yahoos haven’t got an enormous amount of intellectual curiosity about how programming works and their “self-taught” skills stop precisely at the place where their current problem ends.  They generally keep solving the same problems over and over, as they fail to realize that the problem that they’re trying to solve is something that someone else already solved a couple of decades ago.

They program almost entirely in Perl, PHP, or JavaScript, because that’s what they can hack together with a minimal amount of abstract work, and they run everything over the web that they can.  They’ve built at least one database in their lifetime, and anyone who understands normalization will scream in abject horror if they see the database schema.  Generally, they need complete access to everything to get anything done, because they can’t explain what they’re doing while they do it, at least in part because they’re not sure what they’re doing.  Within a very short period of time after they leave their code up and running, it will collapse in a way that only the original developer can untangle.  They don’t use version control; or if they use version control a typical change comment will include, “Checking in some changes”.  Comments in the source code will be likewise either nonexistent, or include no useful information.  They don’t work well with systems administrators, DBAs, or networking folks.

Common statement: “Well, it works for me.”

Class Two: The Directed Hack

How to recognize them:

These are the people who know they need to get something done, but figured out somewhere along the line that it might be a good idea to pick up at least a couple of books about programming concepts instead of just “howto” manuals.  If they graduated with a CS major, they paid enough attention in their theory classes to grasp what “layer of abstraction” means, although they may not be able to explain it.  Like the directionless hack, they usually need full access to most things to get anything done, however unlike the directionless hack they’ll have learned enough about at least some things to know they don’t want to mess with it any more.  If they have more than 5 years of experience, they’ll have some comments in their code (precisely at the location where most of the bugs are), because they occasionally want to go on vacation.  They program in whatever language is currently en vogue wherever they are, or they will default to Perl or Python.  They will have an opinion on what the best language is, but their strength of their opinion will be directly correlated to whether or not they’ve worked primarily on writing their own code (in which case they will prefer an unstructured language), or supporting the code of someone else (in which case they will prefer a much more rigorously structured language).  Depending upon the stage of their professional development, they will work well with systems administrators, database administrators, or networking personnel, but never all three at the same time.  These people actually make up the bulk of systems administrators, industry-wide.  Programming editors vary wildly.

Common statement, in comments: “# I know this sucks, but it works.  Do it yourself if you don’t like it.”

Class Three: The Mercenary Professional

How to recognize them:

They know Java, ASP.NET, and/or C#.  They’re at least conceptually familiar with SOAP and/or Ajax.  They hate whichever database they’ve relied upon that had the least competent DBA, and like whichever database they’ve relied upon that had the most competent DBA.  They want version control, they want detailed specifications, they don’t want to have more than two meetings with the customer.  They regard most of what they learned in college (if they were a CS major) as useless and unnecessary.  These people want to get stuff *done*, and they don’t want another phone call about it afterward.  They regard systems administrators and networking staff as necessary evils.  They will love good DBAs, and set fire to bad ones.  They will have a love-hate relationship with XML.  They will likely prefer Waterfall development, and use NetBeans or Visual Studio IDE.

Common statement: “File that bug report with the maintenance team,” or “That’s not in the spec.”

Class Four: The Cabalist

How to recognize them:

They have a very, very strong opinion on which language is teh best evar, and the list of candidates includes Lisp, C, Modula-3, and Haskell.  They will be able to write up at least six different logical diagrams of any project before writing any code… although they probably won’t write up logical diagrams because they can move from one layer of abstraction to another, on the fly, in their own head (or at least, they think they can).  Their first approach to most software projects will be to suggest a complete re-write in a language that doesn’t suck.  They will hate most programming languages, including any language that is proposed by anyone on their programming team that isn’t a Cabalist or a Professional.  Good Cabalists will work well with good DBAs, but bad Cabalists will annoy the hell out of them by offering suggestions on how to improve the database.  They will often argue with systems administrators or networking staff about technical limitations (of the systems or network) as if problems with deviation from RFCs are the technical staff’s fault.  They will likely prefer some sort of agile programming methodology, and have a strong preference for their particular favorite incarnation.  Cabalists typically will use Emacs (and have a very strong preference for a particular incarnation of emacs), and sneer at any IDE.

Common statement: “Only a complete idiot would do it that way.”

Class Five: The Theoretician

Closely related to The Cabalist, the Theoretician goes one step farther.  They will have done one of the following: written a major software program in Assembly, written their own compiler in a language *other* than Assembly “just to do it”, written their own programming language, installed a C compiler on their HP calculator, contributed a driver or a chunk of the kernel to either the Linux, FreeBSD, or NetBSD projects, or installed and run Plan 9 on their home network un-ironically.  These people are nearly useless in a team environment as nobody else can understand them except a Cabalist, and Cabalists and Theoreticians rarely get along.  However, they also can be the sort of Free Electron that can re-write an entire application over a weekend.  Almost all Theoreticians use vi.

Common statement: “Yeah, I wrote about that in the 2001 issue of IEEE Interactions between Compilers and Computer Architectures”

Class Six: The Weary Wise One

These guys and gals used to be one of the above classes, but have passed into programming Nerdvana to Enlightenment.  They will have opinions, but no longer care about the strength of those convictions.  They will re-write the entire code base, but only if necessary, or hack it if that’s the best way to get the job done.  They will cheerfully reuse another programmer’s code (even bad code), or buy an off-the-shelf component if that’s legitimately the best way to get the job done nearly on time, basically on budget, and with quality good enough to make everyone happy.  They will hate most operating systems, programming languages, and programming methodologies equally.  Typically they will prefer vi or emacs over an IDE, but will use an IDE if it gets the job done.

Common statement: “This is still better than my dot-com days.”

Posted November 17, 2010 by padraic2112 in humor, software, tech, Uncategorized

Product Review: Bose QC15 Headphones   4 comments

My lovely wife, who exceeds the bar for awesome wifeliness on a routine basis, has simultaneously managed to raise a bar while in the process of jumping over it, and thus deserves recognition for superior gift giving skills.

My birthday present this year was a pair of Bose QC15 headphones.  To summarize the below, they rock out. They get my enthusiastic thumbs-up.

Now, lest one be concerned that I’m a Joe Average consumer, let me state for the record that my first BBS account was on AudiophileBBS, an electronic message forum for hard core audio geeks (you young kids, go read about the Internet before it was the Internet if you want to know what a BBS was… or, just imagine Internet Forums without trolls).  I once contemplated spending several obscene amounts of dollars on a *needle* for a turntable.  Now that I’m working/married/parenting/going to grad school, of course, I have neither the time nor the resources to properly fuel the obsession with extending the operational range of my home stereo equipment.  Plus, like anyone over 25, my hearing isn’t what it used to be, so unless I have a great *room* to put great stereo equipment *in*, it’s largely a waste of time.

But I digress.

From a lapsed audiophile standpoint, Bose stands in the same section of the pantheon that, say, some computer manufacturers stands among the computer geek crowd: often praised for their product quality, often snarked at for geek purity reasons (not always unjustifiably – in fact, often justifiably).  In the case of Bose, they don’t publish their technical data, so in many cases the audio consumer needs to rely a bit too much on, “Trust us, we’re Bose” prior to purchase.  This is the sort of antics that make “real” audiophiles want to froth at the mouth and grab pitchforks and torches… annnnd, it must be said, geek mob mentality can jump to conclusions just as often as any other mob mentality.

Like Mercedes, though, Bose employs a bunch of people who really do know what they’re doing.  And also like Mercedes, if you’re buying one of the right models, you’re getting more than what you’re paying for, since the overpriced models (the ones that the chumps buy for the sake of the name) subsidizes the production of the good stuff.

The QC15 appears to be one such animal.

The first test was the noise cancellation.  In my new glass-skinned building at work, the rooms have individual passive panels for air conditioning (just about the only way the building was going to make a high LEED rating while simultaneously having operable windows in every room).  When the system needs to kick into high gear – like, say, when it’s 95+ degrees outside and the aforementioned glass skin has been soaking up the therms all day long – it sounds not unlike working in the main pump room of a large hotel when everyone in the building jumps into the shower in the morning.

Bam, you can’t hear it *at all* with these on, and yet you can still hear yourself snap your fingers.  Outstanding ambient noise cancellation.  I have not tried them on an airplane, but they get rave reviews for that test elsewhere, surpassing the Sennheiser PXC 450, which is fine company.

Second test is frequency response.  Again, my hearing isn’t what it used to be, but I can still listen to a good recording of a symphony and follow any particular instrument I’m interested in listening to as it weaves in and out of the piece… at least, I can if I have good audio.  The home stereo speakers are great speakers.  The room they’re in is terrible for listening to music, however, so I haven’t really listened to music since 1998 or so, which was the last time I had a decent space in which to fire up the stereo properly.  I can actually listen to a symphony again!  Holy beejezuz!  Check!

Third test is volume.  This one isn’t too tough, I don’t blast anything the way I used to when I was younger.  However, you want to be able to crank the volume up *past* your threshold of comfort and still have the sound quality come across without muddling or the like.  A good test for this is George Thorogood or Metallica: if you can get it loud enough that it classifies as enhanced interrogation techniques without losing clarity of sound, your speakers/headphones pass.  Check!  Slightly weak on the low, low end of the base, but both Primus and Tommy Potter on Conception come through sounding better on these than any other audio platform I’ve heard in a while.  Pass!

Fourth test is wearability.  The QC15’s are closed-back (over-ear) headphones and I have big ears on the sides o’ my skull.  Previous experience with over-ear headphones has been spotty, with 30 minutes to 1 hour capping out the maximum amount of time I can wear them without getting really uncomfortable.  So far, I’ve worn these for up to four hours at a stretch with only minimal discomfort of the sort that you really can’t avoid with closed-back phones (ears warm up a tad), and that’s certainly worth the overall sound quality.  Pass!

About the only drawback: they don’t work at all without the noise cancellation turned on.  Which isn’t that big of a deal from an acoustic standpoint, but it does mean you’ll want to pocket an extra AAA battery for extended wear.

Thanks, love!

Posted July 15, 2010 by padraic2112 in tech

Mobile Device Apps for Emergencies – iResus   Leave a comment

Original source: The Mirror

Found via EMS Village.

An iPhone application which could save the lives of hundreds of heart attack victims a year has been invented by a British medic.

The free iResus app gives on-screen, step-by-step guidance to resuscitation in emergencies.  It has already been downloaded 5,000 times despite having only been available for three weeks.

Developed by Dr Daniel Low, a consultant anaesthetist at the Royal United Hospital in Bath, the app asks users a series of questions about the victim and provides instructions on giving the kiss of life.

It even tells how many chest compressions to perform and uses a metronome to ensure their timing is correct.

Dr Low, who has worked alongside air ambulance helicopter pilots using instruction cards to guide them through emergencies, realised a similar system could also help medics and the general public when faced with a cardiac arrest.

He said yesterday: “Even though doctors and nurses are trained to deal with someone having a cardiac arrest, it’s not a situation they face every day. I thought both medics and patients would benefit from an application such as this.”

Dr Low developed the app with an expert in computer software design and has produced two versions – one for medics and one for untrained members of the public.

Posted June 18, 2010 by padraic2112 in crisis-response, tech

Winner of the “Too Much Time” Award   Leave a comment

Andy pointed this out on Facebook:

Posted June 2, 2010 by padraic2112 in noise, tech

Singed Your Hair On That One, WH.   Leave a comment

JoshBW , Michael Coates, and Pinvoke deconstruct a research project by White Hat Security.  From Josh, a pithy summary I agree with almost wholeheartedly:

All of that said, for any given organization the languages that are probably the most secure are the ones the developers are most comfortable writing code with. Forcing a PHP developer to write mvc.net code because you feel it is more secure is a mistake and will buy you nothing but a longer development cycle. (exception – if your coders still swear by CGI you really are better off forcing them into something invented in the past decade even if they will have a learning curve. You probably shouldnt’ have let them be so resistant to change to begin with).

My exception to his exception: someone who can program secure C code for a CGI-based web site is probably a valuable developer.  The problem is, (s)he is going to be dang hard to replace.  The value in forcing your development crew to stay current with technology – at least, not five “cool frameworks” in the past – is that eventually you’re going to have to hand that code over to somebody else.

And the likelihood that their replacement can write secure C code is very low.  It’s really easy to shoot yourself in the foot with C.

Posted May 26, 2010 by padraic2112 in security, tech

You Gotta Be Kidding Me   Leave a comment

Next up in the “Say what?” category:

EV SSL certificates provided by Network Solutions are reported as not working on some smartphones, because they’re not one of the Root CAs on said phones.

Yeah, uh, Network Solutions?  You seriously need to fire somebody.

Posted March 23, 2010 by padraic2112 in security, tech

Yet Another Sign That Our IP Laws Are Messed UP   Leave a comment

BBC News reports that Microsoft has lost an appeal in its court case against i4i.

The patents cover the use of XML, a mark-up language that preserves data formats across different programs.

The judgement also required Microsoft to remove the i4i technology from its Office software suite and stop selling the infringing programs.

The injunction on sales began in January 2010 and applied to any Microsoft Office software, specifically Word 2003 and 2007, containing the infringing patents.

Since it lost the first round of the legal battle, Microsoft has been stripping the disputed technology from its Office products.

Soon after losing the initial case, Microsoft filed an appeal asking the court to re-think its decision. In December 2009, a panel of judges upheld the initial ruling.

Now, I’m not one to jump to Microsoft’s defense, but let’s be clear here… if I’m reading i4i’s patent correctly, they’re not patenting *a* method for using XML.  From this post:

Now, the patent owned by I4i does not claim to cover the idea of custom text transformation. It very clearly claims the right to an invention that is defined concisely as used to split marked up text into raw text plus a tag map.

They’ve patented creating XSLTXML is an open standard!  They’ve basically been awarded a patent for using an open standard the way the open standard defines it ought to be used.  Here’s how XSLT works, in diagram shorthand:

The XSLT processor ordinarily takes two input documents – an XML source document, and an XSLT stylesheet – and produces an output document. The XSLT stylesheet contains a collection of template rules: instructions and other directives that guide the processor in the production of the output document. — Wikipedia

So, if I have marked up text (the XML document) and a plain text document (the Result Document), creating an XSLT stylesheet violates their patent.

The only difference between the diagram above and the one in Figure 4 of their patent is that they drew a can and labeled it “Primary Storage”.  Again, according to Wikipedia… “a patent application must include one or more claims defining the invention which must be new, inventive, and useful or industrially applicable.”

More blog posts on the topic here, here, and here.  Several legal blog posts defending the merits of i4i’s case, but it seems to me that the legal analysis presumes that the original patent isn’t on a method that is, yanno, part of the concept of the specification itself.

Sure, likely Microsoft knew about i4i’s patent.  I’m not so sure I’d fault a company for trying to drive what appears to this reader to be a blatant patent troll out of business.

Posted March 12, 2010 by padraic2112 in law, tech, Uncategorized

Please, Don’t Buy This   1 comment

Engadget reports Kingston is shipping a 256GB USB thumb drive.  No, that’s not a typo.

Okay, so it’s $1,000, which is pricey for something so small you might run it through the wash and ruin it.

Still, let’s assume for a minute that Engadget is properly labeling it 12 MB/sec (typically, I expect data transfer rates to be in megabits per second, not megaBytes), and that the storage is in the usual 1,000,000,000 bytes to the GB instead of the normal filesystem 1,073,741,824 bytes to the GB.

That’s 256,000,000,000/12,000,000 ~ 21,333 seconds to write it full (with no overhead – ha – that happens in the real world precisely never). About 6 hours.

If, of course, it’s actually 12mpbs instead of 12MBps, you’re looking at 42 hours to fill the damn thing up, again assuming no overhead (yeah, right)….

That is one huge Fat32 partition, assuming you were technically neophyte enough to put the standard removable drive filesystem on it, but simultaneously savvy enough to figure out how.  My God, it makes my brain hurt just to imagine how many centuries it would take to defrag the thing.  On the upside, you’ll be able to hide one heck of an encrypted TrueCrypt volume on that sucker; I don’t think you’d be able to find it in a reasonable amount of time with TCHunt just because of the gigantic size of the thing and the amount of *time* it would take to read it.

Posted February 18, 2010 by padraic2112 in gadget, hardware, tech

Facebook Connect: Yeah, It’s Like Dat, Yo.   Leave a comment

Dan Wineman over at Venomous Porridge offers this tidbit:

This is called Facebook Connect, and it’s a very bad thing for security and user education. Teaching people to check that the URL starts with facebook.com before logging in is useless, because Facebook wants its users to log into anything that vaguely looks Facebookish, and it’s training them to do so. How is anyone expected to distinguish Facebook from a phishing site masquerading as Facebook, when Facebook Connect looks and acts like a phishing site by design?


That’s indeedy a very good question, Dan. Undoubtedly people aren’t expected to distinguish Facebook from a phishing site, because Mr. Zuckerberg doesn’t think about security any more than he thinks about privacy.

Posted February 16, 2010 by padraic2112 in security, tech, web sites