Sammy’s Banished

Sammy Kamkar, the one who over a year ago unleashed an exploit on MySpace that caused anyone who viewed his profile, or his friends’ profiles to automatically request to be his friend. MySpace filed a civil suit against Kamkar, who plead guilty and is now banished from the Internet for a classified amount of time. The plaintiffs claimed that they are “committed to protecting our community from any abusive misuse of the site.”

Frankly, after reviewing the code and reading the explanation of his method, the hack only worked for IE and certain versions of Safari. In reality the exploit was of both the browsers and MySpace, his code should never have executed in the browsers. News Corp. should go after Microsoft as they are equally responsible for this exploit. Regardless, it’ll be interesting to see how they will go about keeping him off the Internet.

In other news, Boston needs to get a brain. Overreacting to the ten or so PCBs with LEDs attached and a black plastic bag protecting the batteries was idiocy. If the police can’t tell the difference between a bomb and a LED sign, how are they supposed to do their job? Seriously the media needs to stop spreading misinformation and disinformation before the people revolt against them, oh wait that’s already about to happen (the Internet, YouTube, p2p, etc).

-John Havlik

[end of transmission, stay tuned]

Not Tonight

It won’t happen tonight, or tomorrow.
Not tomorrow night, or the next.
Not next week, month, year.
Not now.

It will happen when it does,
When it has matured,
When it’s complete,
When it arrives.

Do not fret nonetheless,
I promise it shall come to pass.
Just not now,
Not tonight.

-John Havlik

[end of transmission, stay tuned]

Tagged:
Updated:

Finally, Some Success

Over the last few days, I’ve attempted to solve a bug relating to WordPress’ behavior of pinging the PRC services even on drafts and edits. There is a plug-in for resolving this. But, if the user doesn’t have this plug-in, the result is multiple entries of the same thing on the Updated Blogs section of the new Weblogs.us site.

However, if the article URI is the same as some previous URI in the database the ping can be ignored (no need to go out and fetch the RSS feed). Now that this works, I will test a few refinements, which will result in a slightly heavier load (possibly neutralized by sending less data) for the database server, to reduce the load greatly on the Apache/PHP server. After this optimization, I will continue writing the code for the listings system.

-John Havlik

[end of transmission, stay tuned]

Updated:

Why Standards Matter

Why Standards Matter: Part 1 of a quasi-treatise rant on web standards.

Standards are set of rules, or guidelines that dictate what everyone who they affect should comply with to provide the most uniform quality product available. Every industry has standards, including the internet. The only difference is the repercussions caused by ignoring these guidelines. In most industries if a company doesn’t follow a standard typically a regulating body will fine or even shut down the location. Or, even worse, the customers may stop purchasing the company’s products, granted that the consumer is intelligent enough to carry out such actions. Many industries are pressured to follow the guidelines approved by the International Standards Organization, that’s where the ISO 9001 comes from, or .ISO for disk images. For the internet, there is the World Wide Web Consortium.

The W3C writes and maintains the specifications for HTML, xHTML, CSS, DOM, XML and a variety of others. Standards for the web are needed due to the mammoth number of individuals (some intellectuals, others may as well live in a zoo) that write code that interacts with an end user through the web. This includes everyone that writes a webpage, to those working on Mozilla Firefox. Because no two individuals are alike, typically people will have different opinions and ideas on how a particular object should be represented. In web browsers this resulted in Microsoft Internet Explorer rendering a HTML document differently than Mozilla Firefox, or KDE Konqueror. Instead of coding a website once, and displaying correctly on every web browser, the developer has to test on several and work out any ‘bugs’ due to rendering discrepancies. As humans are inherently lazy creatures, many individuals met and formed the W3C to alleviate this situation by laying a common framework for everyone to work off of. Standards are great, when everyone follows them to the ‘t’. Otherwise, once egos, or other forces cause one individual to stray from the standards unforeseen consequences may result.

Picture little Jimmy, he’s enthusiastic about learning how to create his own web page, but doesn’t know how. As no one he knows, or would ask, knows about web programming, he’s never heard of the W3C. Now Jimmy isn’t by any means nerdy, and doesn’t have the time to search Google for a good tutorial (and read it) on web programming. So what does Jimmy do? He views the source code of his favorite web site. What happens if this site doesn’t adhere strictly to the standards laid out by the W3C? Instead of only one non-compliant webpage, there are now two, and if Jimmy likes web programming there could be many more until he learns better. Jimmy may never learn, and that’s because the rendering of his pages only matters for his favorite browser (most likely Internet Explorer). From now on one will refer to this as the ‘Jimmy dilemma’.

The ‘Jimmy dilemma’ gets worse, as even with complete compliance with web standards, Jimmy may still end up mimicking a website incorrectly, creating invalid code. As for every educated web programmer in the world, there are 10 Jimmies. Only one practical solution exists to alleviate this situation. Some may see this solution as a bit harsh, but its better than the alternatives. Ultimately what needs to happen is browsers must refuse to display a non-standards compliant webpage. Practicalities may render this difficult as Microsoft has in the past implemented features into Internet Explorer with no regard to established standards. If implemented correctly by all parties, a more practical approach than enforcing the other methods, this method is 100% effective. How so? Observe the ‘Jimmy dilemma’ once more. If Jimmy were to produce invalid code, the result would be a blank page. Even by ‘hacking’ his way through the creation of the page, for it to display at all it must be valid code. Jimmy will either become fluent in a standards compliant web language (xHTML 1.1) or will give up, leaving others to take his place. Remember that everyone was once in Jimmy shoes, and therefore comprehensive, and easy to understand tutorials should be made available by the web browser’s publisher. These tutorials should be in the spirit of the Creative Commons licenses. What one means by this is the W3C guidelines taken straight from their web site are difficult and time consuming to comprehend fully, akin to what the Creative Commons calls “Legal Code” (It used to be something like “Lawyer Speak” but that’s since changed.)

-John Havlik

[end of transmission, stay tuned]

Firefox 2.0

Last night, Mozilla unleashed Firefox 2.0 into the wild. Naturally, your’s truly promptly installed the new version, before the updater said it was ready. One tested Deer park, Firefox 1.5 betas and alphas, but since then little need appeared to beta test 2.0 before the release. 2.0 is an excellent browser, with a few things one wishes would be fixed. Primarily the spell checking ability is great, just an accustomed word processor user in windows natively presses the F7 key to spell check, well to say the least, it doesn’t bring up the spell checker dialog. Under history a ‘recently closed tabs section appears’, a definite time saver for those of us who inadvertently click close tab, only to have to find the link again. Improvements in tabs include an minimum width so that the titles are still readable, and the extras spill off into scrolling tab bar. The only eye candy feature that would be nice for tabs would be a hover preview of a tab, one believes IE7 has this, but it’s not about being IE7.

Now for the fun compatibility, short-sightedness of web programmers. Since some don’t think that newer versions of a web browser will be as feature rich as predecessors nice pop-ups show up alerting one that the browser version is unknown. dAmn, the deviantART message network (internet chat), has some flash failure issue, not very important as it does work. Then there is WebCT, a web application that the U uses for professors to get content to students easily. WebCT generates this nice pop-up window explaining that the version of the browser one is using is not supported.

-John Havlik

[end of transmission, stay tuned]

Updated: