↓ Twitter is updated more often, so read it! ↓

Archive for the ‘IANAL’ Category.

Get rich quick: Fake news on a social media site

Note: Don’t do what I’m describing. It’s probably illegal and it’s certainly unethical and immoral. IANAL, but heed my advice.

I first considered this dastardly scheme when Bloomberg mistakenly picked up a six-year-old story about the bankruptcy filing ofUAL. I can’t find the Google News story, but that’s where I believe it first appeared. Bloomberg picked it up and it was passed around Wall Street like wildfire.

This old news caused a 76 percent drop in the value of UAL’s stock for a few hours, and it took a day or two to fully recover.

More recently, CNN’s iReport picked up a rumor that Apple CEO Steve Jobs had experienced a heart attack. This story, submitted to the social news site, was “not vetted or reported by CNN journalists” according to CNN.

This false news caused a nine percent drop in Apple’s stock, from approximately $105/share to $95/share for a few minutes between 9:40 and 9:52 a.m.

Can you see, observant reader, a pattern here?

  1. Introduce believable, yet false news to a social news site, i.e. CNN’s iReport, Digg, Reddit, Newsvine, etc.
  2. Wait for it to get popular and hit the front page and/or wait for a major news outlet to pick it up.
  3. Watch company stock the whole time, watching for a major sell-off or drop in price.
  4. Buy the stock at the extremely low price.
  5. Sell the stock a few hours or days later.
  6. Profit!

Someone made a lot of money during those two events.

Someone also made a lot of money last Monday when the house voted down the first version of the Bailout bill and stock plummeted, but recovered the next day. However, that’s very different from this clever, clandestine scheme.

This is nothing new. IANAL, but this wreaks of insider trading and other stock-related crimes. Folks have been attempted, or at least trying to introduce market-shaking news since the inception of the stock market. However, social and automatic news sites make it easier.

Update: The SEC is investigating. Meanwhile, PCworld questions citizen journalism and Slashdot discusses the implications. I for one continue to question the mainstream media and why it doesn’t check the accuracy of reports, not only in the tech sector but in all sectors, especially politics.

Government as open source software and development in general

Warning: this article gets a little ranty, but please, bear with me and help improve my thoughts by commenting.

Doc Searls of Linux Journal linked recently in his article Is government open source code we can patch? to an article by Britt Blasser entitled “Oh, if only government went in for an open source make-over…”. The article indirectly cites through a reference to Phil Hughes’ own Our Internet article two articles, FCC: Moving Beyond Network Neutrality and Our Internet!, by Bob Frankston, who Doc Searls recently interviewed for Linux Journal in Beyond Telecom (non-free registration required, subscribers can get it free).

In his article, Searls says:

Democracy is by nature “our government”. The open source twist on that we put it together and can hack improvements to it. Think of elected officials as committers and maintainers and you start go get the idea.

The analogy isn’t perfect, because by nature open source code is purely practical: it has to work. While government often does not. All government is buggy. In the worst cases it crashes outright and is replaced or supplemented by corrupt alternatives.

This analogy is fairly strong. However, commenter Frymaster supplies an addendum which strengthens it:

The US Constitution itself is open source, if you will, and editable. “The Framers” intended that Americans would change it to meet changing times, hence the series of amendments covering key rights like voting, and, most importantly, consuming alcohol. But they set the bar high, requiring super-majorities in both houses of Congress PLUS each of the states.

The Constitution certainly is open source. We’re free to change it, and other countries, fledgling or long-established, are welcome to take our code—our elemental specification of government—and adapt, implement, and utilize it. We’d like to receive contributions back, because they might be worthwhile enough to include in the trunk code. Even if these modifications aren’t strong enough for trunk, they might be strong enough for that government to maintain as a branch.

The Constitution is inherently good. Some might argue that it is outdated, but these folks are in error and their sentiments should be dismissed if they believe that it is irrelevant and should not be followed. The Constitution establishes a rule of law, wherein all citizens of the land give rights to a union of states, called the United States of America. It establishes procedures for updating it through amendments, which require a majority vote not only by two small bodies of people, but a majority vote of the several states, as Frymaster reminds us. This amendment process keeps those two smaller bodies of 535 people from legislating away the rights of their constituents.

I digress.

A government can never truly be open source, at least realistically. There will always be secrets; unpublished code, per say. These secrets are matters of national defense: military operations during a time of declared war, location of the president and vice president so the two are rarely together (for obvious reasons).

However, most of the goings-on of the government should be open. Obama pushes for “open government.” Ron Paul pushes for less government and, presumably, open government, since there would be far less government to hide!

However, open source projects thrive on the involvement of the people. Our current election system does not encourage responsible voting. Take, for example, Pennsylvania’s primary election results. 90,836 PA Republicans voted for Mike Huckabee, who dropped out of the race March 4, 49 days prior to the election. This is like allowing all of the Linux users in PA, regardless of technical knowledge, vote on the addition of one of three kernel features, and giving them only the name of the feature—no description, background, author, codebase, language, performance evaluation, or source! Even more appropriate would be that the developer of the feature conceded that one of the other two features is more efficient and worthwhile than his own!

I’m not saying that only those in-the-know should be allowed the vote. Mistaking my words for that would be fallacious. I believe that every person deserves the right to vote. I believe that every person has the right to have evidence of their vote. I believe that every person has the right to request vote totals for every level of complexity in the elections system: precinct, county, congressional district, state, and federal.

As versatile and open as the Constitution may be—and yes, I believe that it may need some updating to reinforce personal liberty and states’ rights—the government and governance which exists now cannot be patched.

When working on a project, a developer comes to a point where he or she realizes that there is a major defect in the software. He or she (for sake of my fingers, I’m going to use he henceforth, pardon my faux pas) has two options: patch or rewrite. He knows there are serious bugs, bugs which are inherent in the design of the code, as it has been patched since it was written. These most of these patches were good things, but some introduced more bugs which have yet to be fixed.

Should the developer continue to patch the code? Or should he rewrite it, integrating the features of the old version with more manageable code and lessons learned since it was first written?

If he continues to patch it, he treats the problem, but may not actually fix the problem. The problem might be inherent, or the problem may be caused by a combination of other features.

If he rewrites it, he’ll spend a lot of time redoing work he’s already done, but the result will be a more efficient program with fewer bugs (hopefully) and more manageable, cohesive code base. Of course, this new version will have its bugs, too, but they may be easier to find if the code is more manageable.

What the United States needs is a rewrite. The foundations of our government are solid: the Constitution, capitalism and free market economy, liberty for all. These are like the basic functions that make a program tick, “the algorithm,” per say. There are other parts that work, too. However, the maintainers of our government have diverted our attention from the core of the government, preferring us to view the only the parts it wants us to see, i.e. the bling.

The founders—the original authors of the U.S. base code—have long since gone, and they would be disgusted by the mess that is the program and its code base—the federal government—today. Things aren’t going they way that they would have wanted, and there’s a growing part of the population which seeks to return the these ideas, to a set of ideas not much different in theory from the software philosophy of “do one thing and do it well.” The government is bloated, more bloated than any application to which I might possibly compare it.

The founders outlined in the Constitution—a white paper or base algorithm, if you prefer to keep up the programming analogies—the specific functions of the U.S. government. It outlined a process by which the white paper or algorithm itself could be changed to allow more functions or remove functions which endangered the users and their data. However, rather than use this process, the maintainers simply implement functions or remove functions without regard to the users’ opinions, data, or the fact that the users are supporting the maintainers financially.

A fork is nearly impossible. There is no more undiscovered land on the face of the Earth, and it would be difficult for a state to secede. It would be economically infeasible, as well as diplomatically infeasible. The citizens of the new country would have their rights and their government as the Constitution of the U.S.—and of their new country—defines, but they would not have the resources to be self-sufficient, and things imported would cost more.

Fortunately, our government is not setup like the Linux kernel maintenance group in that The President of the United States is not a benevolent dictator (at least not on paper, haha). There are, however, 50 branches of the U.S. kernel which all have their own quirks and maintainers. Like a few projects, perhaps the Debian project included, the U.S. government does have representatives, people who supposedly represent their constituents in the decision-making process having been chosen by those constituents.

The ears of the maintainer are closed. He doesn’t want hear from the users; the people. However, the representatives’ ears are open, and they must be, by definition. In order to change the course of the program; the United States, we, as users; citizens, must elect representatives who believe as we do and not settle for anyone lesser. These representatives will then make the decisions we would make if we were in their position, leading to a program which is more useful, usable, smaller, and most of all, open.

How to tell if Comcast is messing with BitTorrent?

Most people, at least Slashdot readers, have heard or read that Comcast is allegedly using some sort of packet shaping or packet inspection to “delay” BitTorrent seeding (uploading in BitTorrent parlance). Downloading works fine, but seeding is nearly impossible unless one enables encryption. I’ve seen this myself—I attempted to download Ubuntu 7.10 and let it seed last weekend while I was out of town for a wedding. After two days, I had completed the download, but I’d uploaded a mere 28 MB. There were more than 5,000 seeds, too.

Here’s where it gets fishy. The day prior, I’d downloaded Ubuntu 7.10 on a Windows® box with uTorrent. It seeded just fine—uTorrent enables encryption by default. However, I used another computer to seed during the weekend, one running KTorrent on Kubuntu 7.04. Encryption was not enabled. I enabled it remotely (ssh tunnel to vnc), and suddenly, the seeding started. In the next two days before I returned, I’d seeded more than 2 GB.

So, this brings me to my actual question, or petition for assistance. How can I tell if Comcast is actively injecting RST packets as the AP and TorrentFreak have confirmed? How can I test this, other than by watching peers attempt to connect vainly?

I want to conduct the same tests so that I have the results for myself. There are three local newspapers in my area which service Comcast customers, and a well-written, data-backed letter to the editor might get enough people in a furor to actually call the local Comcast office and complain.

Yeah, I got the Facebook code, too

A few days ago, Facebook‘s web server went on the fritz and exposed the code to profile.php. Some people posted it. I chose not to do so because I know that it was unintentional and that if I did, I’d get a cease and desist letter just like a whole bunch of other people have.

However, I believe that it is Facebook’s fault that its web server served up plain text code instead of rendering the code into HTML. I also believe that people are free to post what has been served to their browser—once something has been published, there is no retraction.

Web companies can’t change their TOS without notifying customers

The 9th Circuit U.S. Court of Appeals ruled July 27 that web-based company which posts online its terms of service or other contracts cannot change said documents without actively notifying customers.

The case is a result of a lawsuit against a small telecom company (Talk America, now Cavalier) which changed its terms of service to include rate increases, choice of venue clause choosing New York state law, an arbitration clause, and, worst of all, a class action suit waiver. The plaintiff, Joe Douglass, had signed up for the service through AOL, but then Talk America bought that service from AOL and changed the TOS without notifying its customers.

What repercussions does this case have for web companies? Most companies have a clause in their TOS that says something to the effect of: “We can change this at any time without notifying you.” Take Google’s TOS, for example:

19. Changes to the Terms

19.1 Google may make changes to the Universal Terms or Additional Terms from time to time. When these changes are made, Google will make a new copy of the Universal Terms available at http://www.google.com/accounts/TOS?hl=en and any new Additional Terms will be made available to you from within, or through, the affected Services.

19.2 You understand and agree that if you use the Services after the date on which the Universal Terms or Additional Terms have changed, Google will treat your use as acceptance of the updated Universal Terms or Additional Terms.

I think—and correct me if I’m wrong; IANAL—that the clause of interest here is 19.2, where the continued usage implies acceptance of the new terms. This clause is null and void, now. Instead, it would be replaced with something like: “If the Universal Terms or Additional Terms have changed, Google will notify you via the affected Services. You must accept those updated Universal Terms or Additional Terms in order to continue using the Services.”

Here’s an interesting clause in the decision:

Parties to a contract have no obligation to check the terms on a periodic basis to learn whether they have been changed by the other side.1 Indeed, a party can’t unilaterally change the terms of a contract; it must obtain the other party’s consent before doing so. This is because a revised contract is merely an offer and does not bind the parties until it is accepted.

Read the footnote on the decision for a little more reasoning on the judge’s part. There’s the meat of the decision. The rest of it is mostly proving the contract in question to be unconscionable under California law and relating it to New York law, as well.

Computer World has the story and a brief analysis: Contracts can’t be changed online without notice, court rules.

I think Internet users will be getting A LOT of emails in the next few days. That, or they’ll begin seeing an interstitial page with TOS to which they will have to agree before using the service. Some games already do this (World of Warcraft, Lord of the Rings Online, City of Heroes/City of Villains). What makes that even more complex is the number of minors who uses these services and cannot be legally bound by the TOS because they are not old enough to enter into a contract.

Looks like I might have to update my email TOS a little bit, too.