Saturday, June 26, 2010

In re Bilski

Monday is the last day for Supreme Court rulings to issue for this term. So far, no opinion in In re Bilski, the major patent case this term, has come down. Some people are thinking that it'll have to come down Monday, because the Court won't want it to hold over into the next term. PatentlyO makes that argument. They also make the argument that it'd be better for the appellant here to drop the case before the ruling issues, and that the only reason for the appellant to pursue the case is that they want business-method patents to suffer a setback. I think Crouch is wrong, Bilski is appealing only because it's the only way to overcome the setbacks they've suffered thus far (see the documents on the case at Groklaw).

Crouch does make an interesting point, though, and one that gives hope that the Court will uphold the denial of the Bilski patent and, by extension, support the Patent Office's new position that purely abstract things like business methods aren't patentable. That's that Monday is Justice Stevens' last day on the Court. He's also the only Justice who's short on delivered opinions, if he's writing the Bilski opinion it'd bring him right into line with the other Justices. If that's so, Stevens also has a track record in opposition to things like patents on abstract ideas and non-physical things. If he's writing the opinion, it's likely because the opinion was in line with his track record and not favorable to Bilski. This'd be good news for software developers. These days one major problem in software development are patents that are over-broad and vague, with their holders trying to apply them to everything in sight. Or patents on blatantly obvious or long-existing things like a shopping cart (but in a Web browser!). Between Bilski and KSR v. Teleflex, the courts and the USPTO have given opponents of over-broad patentability a lot of ammo. That's also another point in favor of the Court upholding the appeals court in Bilski, that'd be in line with it's thinking in KSR.

The alternative, of course, is that the Court decided to give Stevens a light load because he's retiring and the Bilski opinion will be held over for next term. But we can hope that's not the case.

Monday, June 21, 2010

Tablets, netbooks, laptops and PCs

Forrester Research is predicting iPad sales will tank. I'm not sure about that. In fact I think Forrester is dead wrong. Here's my predictions:

  • Tablets will displace netbooks as lightweight mobile platforms. On their own they're lighter and slimmer than netbooks and work well for media playing, Web browsing and the like. Attach a lightweight Bluetooth keyboard and they're OK for light text entry without needing too many accessories hauled along. And mobile devices like tablets will show high sales because they tend to be replaced relatively often (mostly because they're sold through cel-phone services with 2-year contracts and hardware upgrade offers just before the contract expires to tempt you into renewing).
  • Laptops will keep on being the portable computing solution. You won't take them to the coffee shop, but a single bag's easy enough to haul to a hotel or on a trip where you can set up on a desk. They'll show sales growth but not as much as mobile devices, because the wear and tear on the hardware's greater and you tend to have to replace them every 3-5 years because they're breaking down. And if not, you're seeing big increases in capability (bigger hard drives, larger displayes, lower weights) that make a replacement attractive.
  • Traditional desktop PCs will continue to be a non-growth sector. Everybody who wants one already has one, and they only replace it when it stops working. CPUs and such are already fast enough for ordinary stuff, so there's no real push to upgrade the hardware. When it comes right down to it, though, desktops offer speed, display quality, keyboard quality, peripherals and security/safety that mobile devices lack. Desktops nailed down to a wired network aren't vulnerable to outsiders sniffing traffic. They can support bigger displays, because those displays are sitting on a nice solid desk and don't have to be carried around, and those bigger displays make for more comfortable reading of what's on them. But you don't buy a new desktop every 2 years, you replace them maybe every 5-8 years when they finally do start to break down.

Thursday, June 17, 2010

Names

Yes, names. And the computer systems that handle them. If you write computer programs that handle people's names, read this blog post. Then read this article. Then go back and check your programs for how many of the assumptions in the article they make. Yes, all of those assumptions are invalid. Yes, you will have someone breaking them. Many someones. You'll have more people than you expect using your system. Think about this: right now if something occurs for one person in a million, you can expect more than 300 of them in the United States alone (307 as of July 2009).

And yes, someone out there undoubtedly has in fact legally changed their name to "Robert'); DROP TABLE users" just to be a prat. Your systems should be able to handle him in a suitably boring manner automatically, without needing special coding for SQL injection.

Monday, June 14, 2010

Inertial mass != gravitational mass

One principle of modern physics is that inertial and gravitational mass are equivalent: it doesn't matter whether you're standing on the surface of an object with enough mass to provide a gravitational pull of 1g or on a flat surface being accelerated at 32 ft/sec², the effects of both frames on you is the same.

Well, it turns out that isn't really so. The paper's rather technical, but it turns out at the quantum level you can get things that behave as if they had different masses depending on whether you're looking at gravitational or inertial forces acting on them. This should lead to some interesting physics in the next few years.

Wednesday, May 5, 2010

Title I, Title II

Well, the broadband Internet providers may have gotten their wish, and it'll be ashes in their mouths. A while back, Comcast won a legal victory when they got a ruling saying that the FCC didn't have any authority under Title I to regulate them (and specifically their throttling and shaping of bandwidth based on content and the destination the user was trying to get to).

Well, that's all well and good, except that there's this other part of the relevant law known as Title II. Title I applies to information services. Title II applies to telecommunications services. And the FCC has specific legal authority to decide which one Internet service providers fall under. So the FCC's going to simply shrug it's shoulders and reclassify Internet service as a telecommunications service (as it was back before the Bush era's reclassification of it) falling under Title II. That gives them plenty of authority to impose all sorts of regulations the ISPs don't like, although the FCC's proposing putting in place some binding rules limiting the amount of regulation actually imposed.

Advice: don't taunt the bull if you don't want to get the horns.

.xxx domain argued for

ICM Registry, which has submitted the .xxx TLD for approval, is pushing for it's approval and adoption. The argument is that parents can then filter out that domain to block inappropriate content.

Yes, well, I suppose that'll work just as well as RFC 3514 - The Security Flag in the IPv4 Header, better known as the Evil Bit.

Sunday, May 2, 2010

Floating-point math

Most programmers don't get it right. They forget that floating-point numbers aren't precise, and that different numbers are irrational in base 2 than in base 10. End result: math errors and weird results.

So, on the web: a basic guide to floating point math.

And for the true math geeks: David Goldberg's paper on floating-point math, and the original ACM journal article if you have an ACM account with library access.

Thursday, April 29, 2010

Signs you're abusing SOAP

Big red flag that you either don't know how to use SOAP or that you shouldn't be using SOAP for this job:

The only argument your call takes is a string, which contains XML which holds the structured data the server needs.

You should be either creating a SOAP object tree corresponding to the XML structure and passing your data as SOAP structured data, or you should be removing SOAP entirely and using simple HTTP POST.

Friday, April 2, 2010

Quake 2 in HTML5

OK, this just takes the cake. They've ported Quake 2 into HTML5 using a ton of JavaScript and such. Details on the developer's web site. I am amazed.

Tuesday, March 30, 2010

SCO v. Novell: stick a fork in them, they're done

It's official: the jury ruled in SCO v. Novell that Novell owns the copyrights that SCO was trying to claim. That pretty much puts paid to all of SCO's dreams of a litigation-lottery win in the IBM case too. IBM's not inclined to settle, and pretty much all that's left is IBM's counterclaims against SCO. SCO has a few scraps of claim left, but all the evidence they're presented put together doesn't amount to enough to make a porn starlet's bikini.

Here's the actual jury verdict form.

Friday, March 5, 2010

eBooks and book sales

There's been a long-running argument about whether making eBooks freely available without DRM or anything like that helps or hurts sales of physical copies of the book. The DRM proponents have usually argued that the people saying freely-available eBooks help sales are depending entirely on anecdotes that don't prove anything. Well, end of that argument. A pair of graduate students at the University of Michigan did a detailed study of 41 titles that were released as eBooks, looking at their sales figures pre- and post-eBook release. In most cases, an eBook release meant increased post-release sales of the books. The exception was Tor's release, which dramatically demonstrates the problems with restrictive eBook releases. Tor made the eBook versions available for only one week, required registration before you could download and generally made it annoying to get the eBook version. This group of books suffered a significant drop in sales, while the other 3 groups studied showed significant increases in sales.

Publishers take note.

Friday, October 23, 2009

SCO v. world in a nutshell

To borrow from Darl's favorite cattle-rustler metaphor:

Darl had some cows on his ranch. He noticed that some of the cows on other people's ranches had the same brand as his, so he decided to get a posse together to go after those cattle rustlers who'd stolen his cows.

Then it was discovered that the brand wasn't Darl's, it was the brand of a completely different ranch that'd sold cows to just about everybody in the valley. And worse, as it turns out Darl hadn't even bought those cows, some of his own hands had found them wandering on his land and put them in with the rest of the herd. So now not only are the other ranchers mad at Darl for accusing them of stealing cattle when they hadn't, but some of them are accusing Darl of being the cattle thief.

But poor Darl's still positive that somebody somewhere had to have stolen some cows that should've belonged to Darl if he could've afforded to buy them.

Monday, October 19, 2009

Sidekick data lossage

You know that big T-Mobile Sidekick data loss incident last week? Well, it seems a source is pointing at the potential cause. Long and short: the service did in fact have a backup, and did in fact start to do a backup before the migration. But they only have space on the SAN for 1 backup copy, and the backup process takes 6 days to run. So part-way through the backup the Microsoft manager in charge ordered them to abort the backup and start the migration, since the storage vendor had assured them a backup wouldn't be needed. Naturally Murphy stuck his nose in mid-way through the migration.

With Microsoft's track record for bad management decisions, this sounds plausible. And in a case like this you can't blame the technology. No tech will save you from this sort of deliberate stupidity.

I'd also note that the whole incident should be a warning to everyone: you need your own backups of your data. It doesn't matter what the contract says, failures can still happen and you need to be able to recover from them.

Friday, October 9, 2009

Delay: unclear on the concept

Conversation just finished:

"Your simulator delay variable isn't working."
"I tested it and it delays correctly. What's happening?"
"Every time I set it, I get a CURL 28 timeout error. If I take it out, everything works. You need to fix it."
"... Sounds to me like it's working, the response gets delayed like it's supposed to. You did remember to bump up the timeout setting in AD's config file to something greater than the delay you're setting, right?"
"..."
"If you don't, it'll always time out like that because you're making the simulator delay longer than AD's willing to wait."

nVidia exits the motherboard chipset market

nVidia's known for making graphics chipsets and cards, but they also make another indispensible part of a system: the motherboard support chipset. nVidia's offering is the nForce series of chipsets. But nVidia's leaving that market, at least as far as Intel CPUs are concerned. It's planning to cease making motherboard chipsets to concentrate solely on graphics. This'll leave only two major players making motherboard chipsets: Intel (for Intel CPUs) and AMD (for AMD CPUs). This'll also leave nVidia the odd man out in graphics as the only major player who isn't affiliated with a CPU maker (Intel makes their own video chipsets (albiet very low-end ones) and AMD acquired ATI a while back). This may be a bad move for nVidia, it'll leave Intel and AMD/ATI with a major advantage in terms of integrating graphics chipsets with motherboard/CPU components.

Fortunately my planned motherboards were all going to use AMD chipsets, since I was planning on AMD CPUs and neither Intel nor nVidia make motherboard chipsets for them.

Monday, October 5, 2009

Signs your workplace may not be as professional as they claim to be

First sign: having to explain in small words what "significant digits" are, and why where the decimal point is doesn't matter when dealing with them. The targets of this explanation all have degrees in either computer science or an engineering discipline.

Meanwhile, over in alt.sysadmin.recovery, people with no degrees at all are having intelligent arguments over the differences between the various alephs and whether particular ones are ordinal or cardinal numbers.

Friday, July 3, 2009

Computer case

I got the case for my new gateway/router machine: an Antec 300 through Newegg. The nice thing about it's that the power supply mounts in the bottom with the motherboard above. That means fewer cables dangling over everything, and fewer problems getting front-panel cables to reach to the back of the motherboard where some of the headers are. It's also got plenty of fans: one on top, one high on the back, one on the side panel and two behind the front panel. Two downsides, though. The first is that it doesn't have any external 3.5" bays, and the 5.25"-3.5" bay adapters are a pain to get. Not a problem for this machine, it won't have much in the way of USB hanging off it, but it may be a problem for desktop/gaming machines if I can't find decent 5.25" panels. The second is that you can't get at the air filter on the front bezel without taking the side panel off. That makes cleaning the filter a bit more of a pain. Again not a problem with this machine since it'll be sitting where the side panel'll be in the clear, but it may be an issue with machines that'll be under desks.

Another option for a desktop/gaming case is the Antec P183 or P193. Both of those have an external 3.5" bay and filters that seem accessible by opening the front door. I may have to see if someone locally carries them so I can get a hands-on look at them.

Oh, why am I building a new router? The answer lies in the CPU of the current one: a 400MHz AMD K6-3. This is an old Pentium-class. Not P3 or P2, Pentium. It's performance is, bluntly, anemic. I've got a leftover Abit KN8 Ultra motherboard and a CPU to go with it, so that's what I'm turning into a replacement router. It's still old hardware, but it'll be an order of magnitude more powerful than what I've got currently and should handle being a router and access gateway OK.

Wednesday, June 24, 2009

What SCO management knew

Lewis Mettler comments on RedHat's filing in the SCO bankruptcy. Now, I disagree with him about SCO management. Darl has been through this kind of thing before. I think SCO's management knew exactly how flimsy and baseless their case was. Whatever their lawyers told them, I think they knew the reality. They'd simply decided that the strength of their case didn't matter. They figured IBM would settle because it was cheaper than fighting and winning.

SCO's problem was just that they miscalculated how IBM would figure the costs. If it's cheaper to settle than to win a lawsuit, you settle. SCO calculated the cost of settling as just the dollars IBM would have to pay them. IBM, though, felt that settling would be taken by their customers as an admission that the accusations had some merit. Since the accusations were that IBM had broken contracts just to make more money, they felt that'd negatively affect their business. Their software business runs around $6 billion a year, so even a 1% drop in business from customers getting nervous about IBM not honoring contract terms would be $60 million a year in lost revenue. That makes settling a lot more expensive, and IBM decided it was cheaper to throw a few tens of millions of dollars at defending their good name than to put hundreds of millions of dollars of revenue at risk.

SCO weren't deceived by their lawyers. They didn't believe they ever had a case. They simply figured that IBM would pay Danegeld if it wasn't too much. And they were wrong.

Tuesday, June 9, 2009

Web fail

A challenge most Web designers today fail: design a generic Web page. It must display readably on a 24" widescreen LCD monitor at 1920x1200 resolution, and readably on the 320x200 pixel display of a Web-capable cel phone. It must not fail to render because the browser lacks Flash, or Java, or .Net or anything else not present in the basic browser installation. It must not fail to render because the user isn't running any particular browser.

For extra points, it must render readably on a 24" widescreen LCD monitor running in 640x480 16-color mode (user has failed their check vs. INT to set the correct monitor type and Windows has defaulted to a minimal known-good resolution).

Tuesday, June 2, 2009

System capacity

Immediate thought: if your system gets overloaded handling 20 requests a minute, something's really hosed. I'm used to thinking in terms of rates 10-100x that, and counting them per second not per minute. The problem of course is that the offending software is a commercial package, so we can't dig into it to find out what the problem is and fix it.