Archive for January, 2009

What the fuck FDA?

I came across this article on Wednesday about 2 studies, both of which found detectable levels of mercury in commercial high-fructose corn syrup,

Almost half of tested samples of commercial high-fructose corn syrup (HFCS) contained mercury, which was also found in nearly a third of 55 popular brand-name food and beverage products where HFCS is the first- or second-highest labeled ingredient, according to two new U.S. studies.

Considering the amount and extent to which we use this stuff in modern food manufacturing, this is pretty damn bad. Of course, the million dollar question is, what is going on at the agency charged with protecting the public from these sort of contaminants?

Facebook API and login for desktop apps

I was pretty disappointed today to discover the required login procedure for desktop apps using the Facebook API.

facebook api, desktop app login

Having a user go to a web browser to do the login then come back to the app is a whole lot of grunt work that could easily be eliminated by having login functionality in the API. Why is this not done? I’m not sure. Security may seem the obvious answer, but that’s assuming app developers are completely inept and won’t properly encrypt, store, or transfer credentials. Even if that is the case, it is the trust between the user and the app that is the basis for security here.

There is a workaround available in the facebook-c-sharp library. However, as explain in this thread, actually using the library will result in your app breaking Facebook’s Developer Terms of Service.

Cure for cancer

On the subway in NYC, you come across… um… eccentric personalities from time to time. On the F train last night, I was sitting a few feet away from a man who was muttering something to himself, he was loud but I couldn’t make out what he was saying. A few minutes later he yelled out across the train car, asking if the next stop was Union Turnpike (it wasn’t). A woman responded that she didn’t know, and he proceeded to explain to her that he was happy, very happy; in 2006 his doctor has diagnosed him with terminal cancer and told him he had 2 months to live. However, his cancer was now gone; he had cured himself by regularly drinking a mixture of green marijuana and ginger.

So there you go, cure for cancer = green marijuana + ginger

The new fragment space site

I recently realized I didn’t mention the launch of the new Fragment Space site in this blog. So there we go.

In related news, Fragment Sync is coming along nicely and I’ll have more info and some screenshots up soon.

Homeland security

Statement of senator Patrick Leahy (D-VT), regarding the Dept. of Homeland Security placing symbolic checkpoints miles away from the U.S.-Canada border,

It’s interesting – I went through one of those symbolic checkpoints in the state of New York driving back here. It was about 125 miles from the border. In a car with license plate one on it from Vermont. With little letters underneath it that said US Senate. We were stopped and ordered to get out of the car and prove my citizenship. And I said “what authority are you acting under?” and one of your agents pointed to his gun and said “that’s all the authority I need.” Encouraging way to enter our country.


Twitter, hacked.

A number of high-profile twitter accounts were hacked yesterday,

The Twitter accounts of President-elect Barack Obama, CNN anchor Rick Sanchez, Britney Spears, Fox News and 29 others were hacked Monday according to the microblog site, leading to false and inappropriate messages being posted on their accounts.

I took a screenshot of one such false (one assumes) and inappropriate (I guess) message:

bill o'reilly is gay

My head hurts…

On Windows 7,

So we decided to ship the Windows 7 code as Windows 6.1 – which is what you will see in the actual version of the product in cmd.exe or computer properties.

Really now, is incrementing the major version number such a big deal?

We learned a lot about using 5.1 for XP and how that helped developers with version checking for API compatibility. We also had the lesson reinforced when we applied the version number in the Windows Vista code as Windows 6.0– that changing basic version numbers can cause application compatibility issues.

Let’s see here, the lesson is to avoid incrementing the major version number as it will help developers with version checking for API compatibility. So, it’s not the API changes that cause the compatibility issues, it’s changing the major version number. By this logic, if an API change is made in Windows 7 and I need to check the version number of the system to see how to make the call, it’s easier to check the version number if it’s 6.1 as opposed to 7.0 because the 6 was the major version number for Vista and … I’m going to stop, this makes no sense whatsoever.

Maybe I’m not being fair. Maybe it’s difficult for developers to programmatically check the version number. I’ve never done it, so I investigated a bit, and here’s how it’s done:

dwVersion = GetVersion();

// Get the Windows version.
dwMajorVersion = (DWORD)(LOBYTE(LOWORD(dwVersion)));
dwMinorVersion = (DWORD)(HIBYTE(LOWORD(dwVersion)));

Well, that doesn’t seem difficult.

So why the mismatch between the name and the internal version number? My guess is a grand battle erupted across the cubicles and offices of Microsoft between those wanting the set the version number at 6.1 to represent the internal changes to the operating system and those wanting to set the version number at 7.0 to represent the seventh major release. In the end a truce was reached, where the release was named “Windows 7” and the internal version number was set at 6.1. Illogical and stupid, but it was the price that had to be payed to end the carnage.