The dumbing down of “reasonable persons” and excessive privacy rights

This woman might get a windfall from Absolute Software because they intercepted sexually explicit conversations she was having with her boyfriend on a stolen computer. She bought a two year old computer from a student in her class, which was at an alternative high school, for $60. Apparently, the fact that she was buying a useable, barely two year old computer for $60 at a school dedicated to “at-risk teens” did not constitute sufficient legal grounds to say that she had a “reasonable basis” to assume the goods were stolen. There is a legitimate public purpose in granting some privacy protections to people who have received stolen goods that they legitimately may not have known were stolen. For example, it would be dangerous for the law to let the police and owner’s agents to simply grab all of the user’s personal files off the machine because of the possibility of how that might be abused. However, there is no reason why activating systems which would allow for positive identification of the user(s) of the system should be considered unreasonable the moment the system is reported stolen or detected to no longer be in the owner’s custody. It also defies logic that the woman suffered any fundamental violation of her rights because the contents which were given to the police were sexual in nature. The fact that the evidence was not publicly disseminated should, in a decently-designed legal system, mean that she simply has no basis to conclude that the police or Absolute Software caused her any harm in that respect whatsoever.

News, links and random thoughts

  • This is an interesting look at how weak Islam really is around the world, particularly in Iran. The mosque attendance rate in Iran, at 2%, is so low that it makes the regular church attendance rate for the UK look like it was taken straight out of the Bible Belt. Their population may have surged ahead temporarily since 1979, but the birth rate has collapsed to the point where Iran will be as economically insignificant as many European countries like Italy in a few decades.
  • Try to run a raw milk dairy and you could find that the government regards your operation as being worthy of the same sort of commando raid used on drug dealers. We’ve reached the point where the FDA and state agriculture bureaucracies are working together to put their boot on the neck of farmers for the simple “crime” of selling unpasteurized milk to informed customers. This would be the same FDA that among many things doesn’t seem to be particularly competent at actually keeping drugs which kill people left and right off the market.
  • I’ve always been impressed with Clarence Thomas, but this look at his role and influence only adds to that. One can only hope that he gets more opportunities to carry out his radical vision for breaking the back of the welfare-warfare state by systematically ripping the guts out of some of the terrible precedents set in the late 19th century through the New Deal Era.
  • Speaking of the Supreme Court, here’s a random populist thought for the day. The same institution which can find that Exxon Mobil is a human being with the same rights and privileges as a voting adult American cannot find, in the same document, objective reason to say that an unborn child is a human being with even the same rights we recognize in POWs. That is to say, corporations–legal fictions– and enemy combatants, be they terrorists or soldiers, have more basic rights than an unborn child who has done no wrong.
  • I’m not sure what to think about the look of Windows Explorer in the latest previews of Windows 8. On the one hand, I am actually sympathetic to the ribbon UI, but on the other it does seem somewhat cluttered. However, I have to say that every time I use Finder on OS X I increasingly find myself missing Windows Explorer in part because I can just rapidly type in the majority of the path in Windows Explorer. Having used OS X since 10.0, I’m just not seeing what is so innovative about Apple on the desktop anymore.

News, links and random thoughts

  • This is a great look at why the Chinese (and most of Asia) need to be very careful before they get too triumphalist about the state of the Western and Japanese economies. Many of them have forgotten that the same globalism that allowed them to make a pretty penny exporting to us has also tied their economic futures to us in many ways.
  • A Chicago woman is being prosecuted for recording a conversation with Internal Affairs about an officer she said sexually assaulted her. The reason she felt the need to record it was that she felt that they were trying to get her to drop the charges. So now the Chicago Police have not only denied her a chance to get justice on the first count, but have added to her burden by charging her for having the temerity to report a crime and expecting someone to take it seriously.
  • The earthquake yesterday was actually a lot of fun. It was a good excuse to leave early. It was also a good reason to leave early because every idiot in Northern Virginia decided that the Almighty had given over direction of the world’s affairs to Michael Bay for the day and so fled home in terror. We caught the first real taste of how bad the commute was going to look like around 3PM on our way home.

News, links and random thoughts

  • I’m not sure why Ruby symbols are really that confusing to most developers. For Java developers, they’re very similar to java.lang.String.intern(). This is an example of they work:
    x = {
    :name => 'John Smith',
    :login => 'JSmith12345',
    :password => 'Testing1234;'
    }
    puts "#{x[:name]} logged in with #{x[:login}/#{x[:password]}"
  • Amazon Web Services is moving into providing government services via “secure cloud for government” service. Realistically, what they’d be better off doing is turning Amazon Web Services into an installable product that can be built out at government data centers rather than try to segment off the government’s data from commercial data.
  • Google’s purchase of Motorola has effectively ended the patent threat that Android faced from Apple and other mobile competitors. Once they bring Motorola’s 17,000 patents to bear to protect Android, Apple in particular will face a competitor that is quite capable of launching a very savage counterattack on the iPhone if Apple continues its aggressive posture against the Android ecosystem. I disagree with the ZDNet blogger on one count: I don’t think this means vertical integration has won, so much as this proves that in mobile a good software vendor must have the ability to back up their game with patents. There simply was no cost-effective way for Google to acquire the level of patent protection it needed that would make sense other than simply buying an established player with a lot of patents.
  • Radley Balko has a great follow up on the shooting of Jose Guerena. One of the things that he points out, that I just don’t understand, is how the Republican Party can dismiss a representative who called out the establishment on this issue while claiming that their purpose is to elect republicans and support them once in office. Sheriff Dupnik is a democrat, so it should be… should be a no-brainer to rake him across the coals for shooting a combat veteran who appears to have done nothing wrong.

I’m regretting not getting into Ruby sooner

Recently, I started looking for something new to work on. I decided to start playing around with Ruby and in the process, found the radius library. It’s a pure Ruby implementation of the same sort of XML-based templates used by Movable Type and TextPattern. I got to playing around with it, just to see what it can do. Here’s the test code: require ‘radius’ class User def initialize(name, login, password) @name = name @login = login @password = password end def name() @name end def login() @login end def password() @password end end context = Radius::Context.new context.define_tag “users” do |tag| content = ” [ User.new('Mike', 'MikeRT', 'testing1234'), User.new('John', 'JSmith', 'testing5678'), User.new('Jane', 'DoeJ', 'testing!@#$') ].each do |user| tag.locals.user = user content << tag.expand end content end context.define_tag “user”, :for => User, :expose => [ :name, :login, :password ] do |tag| content = ” tag.locals.user = User.new(‘Mike’, ‘MikeRT’, ‘testing1234′) if tag.locals.user.nil? content << tag.expand content end parser = Radius::Parser.new(context, :tag_prefix => ‘radius’) template = <<-TEMPLATE

Properties

TEMPLATE puts parser.parse(template) The part that I found the most impressive about it was how easy it was to expose an object with a few lines of code. That was done with this line: context.define_tag “user”, :for => User, :expose => [ :name, :login, :password ] do |tag| Very impressive. In a single line of code you tell the context to define a block tag called user for the class User and to expose User’s methods name, login and password as new tags. It’s actually a step beyond the capabilities that Movable Type and Melody have where to do the equivalent, you’d have to do something like this: sub hdlr_user_name { my ($ctx, $args, $cond) = @; my $user = $ctx->stash(‘user’) || return $ctx->error(‘No user!’); return $user->name; } (Though to be fair, it is incredibly easy to add new tags to Movable Type and Melody since the whole tag registration process involves a little YAML and a little bit of Perl).

News, links and random thoughts

  • Here’s an equation that is sure to make you depressed about the economy: {V=14.12(1012);W=3.5(1012);X=2.3(1012);Y=3.11(108)| Z= [V - (W+X)] / Y} Source for some of those numbers.
  • The NYPD has created a unit for tracking crime on social networking sites. Thank you rioters and Verizon strikers
  • If you think the FBI is going after rich kids at school when you read this headline, it’s not just you.
  • According to a survey of developers, Facebook has the worst APIs of any major web platform for building third party applications. It’s only fitting that the Microsoft of social networking should also have some of the worst APIs for developers to use (since Microsoft’s were pretty terrible until .NET).
  • Radley Balko lays out an excellent case for why “limited government conservatives” simply cannot support Rick Perry. A man who shows so much deference to the legal system when so many signs point to the possibility that it is running amok simply cannot claim the mantle of one who favors “limited government” unless one uses a reductionist definition that simply means how much of one’s paycheck it eats up in taxes and fees.

A little over a decade later, Microsoft is healthier than the federal government

The U.S. government’s ability to handle the recent threat to default is one of many reasons why the credit agency lowered its rating to AA+, putting the United States below the United Kingdom, Germany, France and sixteen other countries. Yet, Microsoft is one of four U.S. based companies which still holds onto its AAA rating, with the exception of some financial and government institutions, despite the government’s lack of ability in holding onto its own. Source There is some rich cosmic irony here when you consider what the federal government tried to do to them in the late 90s. Then again, the federal government make still succeed in taking them down depending on what effect the federal government’s fiscal and monetary policies have on the economy.

Fun with Smarty and static content generation

It’s dynamic and static all at once! setTemplateDir(getcwd() . ‘/templates’); $c->setCompileDir(getcwd() . ‘/templates_c’); $x = $c->fetch(‘page.tpl’); $fp = fopen(‘page.php’, ‘w’); fwrite($fp, $x); fclose($fp); ob_start(); require_once(‘page.php’); $contents = ob_get_contents(); ob_end_clean(); echo $contents; ?> Combined with a .htaccess file that checks for the existence of the file, this could enable a hybrid of dynamic and static publishing…

Static code generation with PHP

Nowhere near as hard as I would have thought: <?php require_once(‘smarty31/libs/Smarty.class.php’); $smarty = new Smarty(); $smarty->template_dir = getcwd() . ‘/templates’; $smarty->compile_dir = getcwd() . ‘/templates_c’; $smarty->assign(‘message’, ‘Hello World’); $smarty->assign(‘items’, array(‘Black’, ‘Blue’, ‘Green’, ‘Red’, ‘White’, ‘Yellow’)); $x = $smarty->fetch(‘index.tpl’); echo “Compiled page:<br/><br/> $x”; require_once(‘ezsql/shared/ez_sql_core.php’); require_once(‘ezsql/mysql/ez_sql_mysql.php’); $db = new ezSQL_mysql(‘user’,'passwd’,'db’,'host’); $sql = ‘SELECT * from mt_entry where entry_blog_id = 1 ORDER BY entry_id desc limit 25′; $entries = $db->get_results($sql, ARRAY_A); foreach ($entries as $entry) { echo $entry{title} . ‘<br/>’; $smarty->assign(‘title’, $entry{entry_title}); $smarty->assign(‘body’, $entry{entry_text}); $newPage = $smarty->fetch(‘page.tpl’); $fp = fopen( sprintf(‘%s.html’, $entry{entry_basename}), ‘w’); fwrite($fp, $newPage); fclose($fp); } ?> I was playing around with Smarty to see what it can do in the way of generating static content. Turned out to be quite easy to generate some simple HTML based on mt_entry table. Here’s the page.tpl file: <h1>{$title}</h1> <div> <pre><code>{$body_text}</code></pre> </div> <?php echo ‘Viewing page: {$title}’; ?>

In case you had any faith in most Americans…

A majority of Americans who are paying attention to the debt ceiling issue seem to believe that refusing to increase the debt ceiling will negatively effect our credit rating. It doesn’t seem to occur to them that the reason we would have to increase it in the first place is because the federal government is taking out more debt, and that that might be the real reason credit rating agencies are getting jittery about our debt. Few to realize that if Congress wanted to default, it could lower the debt ceiling. All the debt ceiling really is is how much debt Congress acknowledges. To believe that the debt ceiling is more than a red herring, you’d have to believe that Congress’ good word is the driving factor in rating agencies’ estimates, not Congress’s ability to pay back the debt via tax revenues. You’d probably also have to believe that these agencies aren’t thinking that Congress’s ability to pay back the debt might have a direct causal link to their decision one day to just drop the whole debt altogether.