<?xml version="1.0"?>
<rss version="2.0">
  <channel>
    <title>Advogato blog for mcr</title>
    <link>http://www.advogato.org/person/mcr/</link>
    <description>Advogato blog for mcr</description>
    <language>en-us</language>
    <generator>mod_virgule</generator>
    <pubDate>Sun, 19 May 2013 15:18:33 GMT</pubDate>
    <item>
      <pubDate>Thu, 31 Jan 2013 05:10:18 GMT</pubDate>
      <title>First Experiences using PrestoCard</title>
      <link>http://www.advogato.org/person/mcr/diary.html?start=89</link>
      <guid>http://www.sandelman.ca/mcr/blog/2013/01/30#first_experiences_using_prestocard</guid>
      <description>&lt;p&gt;Our PRESTOcards.ca arrived in the mail on Monday.  Hard to blame prestocard
for taking 10 days to get them to us, more likely it's Canada Post's Dark
Delivery regime... we are still getting Xmas
cards.
&lt;a href="http://www.ottawacitizen.com/business/Mail+delivery+dark+might+brightest+forward+Canada+Post/7673752/story.html" &gt;http://www.ottawacitizen.com/business/Mail+delivery+dark+might+brightest+forward+Canada+Post/7673752/story.html&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;So Meaghan went to work with the Prestocard on Tuesday.  It worked fine in
the morning.  Normal route is 16 or 151-westboro-95 to Bayview, O-train to
Greenboro, and if the number 43 driver decides he is picking up passengers,
she can avoid a dangerous walk along a usually snow covered non-existant
sidewalk north on Bank Street, one stop.&lt;/p&gt;

&lt;p&gt;Things went okay on the way.  The presto card site noticed what stop she
got on.  She didn't swipe on the O-train.  Should she?  She got on the 43,
and it saw that too.  Curiously, it doesn't say what actual bus route she was
on...&lt;/p&gt;

&lt;p&gt;The trip home wasn't as good.  It saw at location "15", which was the bus
back to the O-Train, and then, 27 minutes later, it charged her another half
fare (one ticket), at Bayview to come home.  No idea why, we asked.&lt;/p&gt;

&lt;p&gt;She had noticed this situation on the scanner, and so we checked that night,
and everything looked okay last night, but when we looked today, the system
had caught up to the extra fare.&lt;/p&gt;

&lt;p&gt;We were checking because I tried to yesterday to see if my prestocard had
been loaded correctly with my Feb. Bus pass.  On Tuesday it gave me a red and
told me to see customer service.  Oh no, I think... will it work on Friday
morning?  Today, on my way home, using my paper January pass, I swiped my
prestocard again...  the machine happily announced that I had been charged a
$2.60 fare.&lt;/p&gt;

&lt;p&gt;Huh I think?  Does it mean... I'm good for a $2.60 fare, or does it mean,
that it's gonna try to deduct from me?   So far, it hasn't done anything yet.
I'll see tomorrow.&lt;/p&gt;

&lt;p&gt;My opinion is that it should have simply said: "Your february bus pass will
be valid 2013-02-01. See driver if you need to pay a fare"&lt;/p&gt;


&lt;p&gt;Comments to G+: &lt;a href="https://plus.google.com/103865510556691933694/posts/5vRsQ1rX8na" &gt;https://plus.google.com/103865510556691933694/posts/5vRsQ1rX8na&lt;/a&gt;&lt;/p&gt;</description>
    </item>
    <item>
      <pubDate>Thu, 24 Jan 2013 22:09:20 GMT</pubDate>
      <title>Impressions of PrestoCard Site</title>
      <link>http://www.advogato.org/person/mcr/diary.html?start=88</link>
      <guid>http://www.sandelman.ca/mcr/blog/2013/01/18#impressions_of_prestocard_site</guid>
      <description>&lt;p&gt;I visited the Rideau Centre this morning to attempt to obtain a PrestoCard
for myself (Monthly pass), my wife (she uses tickets 3 days/week), and my
son (1 ticket every week or so). I also wanted a spare card for when my
other-in-law visits. She drives from Farrhaven to our house, and takes the
bus with us downtown because she is afraid to drive downtown.&lt;/p&gt;

&lt;p&gt;The lineup at the rideau centre was basically out the door, and management
seemed to be doing a good job of dealing with the unexpected number of
people, but waiting an hour wasn't in my todo list today, so I proceeded to
work.&lt;/p&gt;

&lt;p&gt;I sat down at my comptuer and went to OCtranspo.com, and was led to
prestocard.ca.&lt;/p&gt;

&lt;p&gt;javascript needs to be turned on this site.  I use NoScript to keep me safe
from stupid things.  The site should be useable for people without
javascript.  This is a simple requirement for a site to be accessible to
people who have various disabilities. (and there is no reason for the
moneris site to need javascript. none)&lt;/p&gt;

&lt;p&gt;So, the first use of javascript is to popup a window to show me the usage
agreement for the site.  That's uselessly long. &lt;strong&gt;TOO LONG DIDN'T READ&lt;/strong&gt;.
And it's in a small little window, very hard to read, impossible to change
the font size (can you say "Senior citizens"), I didn't find a way to print
it.  I didn't try copy and pasting it.  How will I know if it changes?
&lt;strong&gt;PLEASE FIRE THE LAWYER WHO WROTE THIS. IT IS USELESS.&lt;/strong&gt; Visit tos-dr.info.&lt;/p&gt;

&lt;p&gt;I walked through the process for my first, card, saw the button "Edit
Products", and clicked on it, before I hit pay.  Oops, you lost all of the
form entry bits.  That's really a loss.  I tried logging in again, only to
realize that actually, you haven't even created my account yet.
The technical term for this failure is that your site is not RESTful.  This
means your web development guys are back in 1998. The .aspx extension on
he URLs would seem to confirm that.&lt;/p&gt;

&lt;p&gt;I went through things again, and went to payment, at which point I
discovered that Moneris really does suck.  Once I enable javascript, it
gets all confused, so I had to start again.&lt;/p&gt;

&lt;p&gt;Now that you have lost my payment, I come back, and discover that I have an
account now. Apparently you don't create an account until I click on "Pay",
which is a serious mistake in user flow. Oh, since you check to see if my
username is unique (rather than using my email address. DUH.  Good web people
figured that awhile ago), at the page where I enter it, by the time I get
to payment, actually, it could already be in use.&lt;/p&gt;

&lt;p&gt;so I ask for a card, and I'm asked to view the user agreement
again. Another fail. I already agreed to it.&lt;/p&gt;

&lt;p&gt;so I click on "get a card" on the left, when I get to payment for my wife's
card, and I get myself a card, I get to payment, and you have forgotten
about first card.   Okay, so you don't really have a shopping cart.&lt;/p&gt;

&lt;p&gt;finally, I ordered two cards, having to do two credit card transactions.
I've very glad that you are putting the credit card transactions elsewhere,
because if it was processed through your site, I would not be using it.&lt;/p&gt;

&lt;p&gt;I happened to return to the contact us page (in another tab), to enter
another comment, and noticed that the contactus page had expired.  WAT?
It's a contactus page, there shouldn't be any state at all associated with
it.&lt;/p&gt;

&lt;p&gt;Given that the web people have had an extra 8 months to fix any issues, I am
pretty upset about the quality of this interface.  I will have to use this
site 6-8 times a year, I really expect it to work properly.
I have done sites like this in 6-8 weeks, and they worked way better than
this.&lt;/p&gt;</description>
    </item>
    <item>
      <pubDate>Fri, 18 Jan 2013 17:11:13 GMT</pubDate>
      <title>Impressions of PrestoCard Site</title>
      <link>http://www.advogato.org/person/mcr/diary.html?start=87</link>
      <guid>http://www.sandelman.ca/mcr/blog/2013/01/18#impressions_of_prestocard_site</guid>
      <description>&lt;p&gt;I visited the Rideau Centre this morning to attempt to obtain a PrestoCard
for myself (Monthly pass), my wife (she uses tickets 3 days/week), and my
son (1 ticket every week or so). I also wanted a spare card for when my
other-in-law visits. She drives from Farrhaven to our house, and takes the
bus with us downtown because she is afraid to drive downtown.&lt;/p&gt;

&lt;p&gt;The lineup at the rideau centre was basically out the door, and management
seemed to be doing a good job of dealing with the unexpected number of
people, but waiting an hour wasn't in my todo list today, so I proceeded to
work.&lt;/p&gt;

&lt;p&gt;I sat down at my comptuer and went to OCtranspo.com, and was led to
prestocard.ca.&lt;/p&gt;

&lt;p&gt;javascript needs to be turned on this site.  I use NoScript to keep me safe
from stupid things.  The site should be useable for people without
javascript.  This is a simple requirement for a site to be accessible to
people who have various disabilities. (and there is no reason for the
moneris site to need javascript. none)&lt;/p&gt;

&lt;p&gt;So, the first use of javascript is to popup a window to show me the usage
agreement for the site.  That's uselessly long. &lt;strong&gt;TOO LONG DIDN'T READ&lt;/strong&gt;.
And it's in a small little window, very hard to read, impossible to change
the font size (can you say "Senior citizens"), I didn't find a way to print
it.  I didn't try copy and pasting it.  How will I know if it changes?
&lt;strong&gt;PLEASE FIRE THE LAWYER WHO WROTE THIS. IT IS USELESS.&lt;/strong&gt; Visit tos-dr.info.&lt;/p&gt;

&lt;p&gt;I walked through the process for my first, card, saw the button "Edit
Products", and clicked on it, before I hit pay.  Oops, you lost all of the
form entry bits.  That's really a loss.  I tried logging in again, only to
realize that actually, you haven't even created my account yet.
The technical term for this failure is that your site is not RESTful.  This
means your web development guys are back in 1998. The .aspx extension on
he URLs would seem to confirm that.&lt;/p&gt;

&lt;p&gt;I went through things again, and went to payment, at which point I
discovered that Moneris really does suck.  Once I enable javascript, it
gets all confused, so I had to start again.&lt;/p&gt;

&lt;p&gt;Now that you have lost my payment, I come back, and discover that I have an
account now. Apparently you don't create an account until I click on "Pay",
which is a serious mistake in user flow. Oh, since you check to see if my
username is unique (rather than using my email address. DUH.  Good web people
figured that awhile ago), at the page where I enter it, by the time I get
to payment, actually, it could already be in use.&lt;/p&gt;

&lt;p&gt;so I ask for a card, and I'm asked to view the user agreement
again. Another fail. I already agreed to it.&lt;/p&gt;

&lt;p&gt;so I click on "get a card" on the left, when I get to payment for my wife's
card, and I get myself a card, I get to payment, and you have forgotten
about first card.   Okay, so you don't really have a shopping cart.&lt;/p&gt;

&lt;p&gt;finally, I ordered two cards, having to do two credit card transactions.
I've very glad that you are putting the credit card transactions elsewhere,
because if it was processed through your site, I would not be using it.&lt;/p&gt;

&lt;p&gt;I happened to return to the contact us page (in another tab), to enter
another comment, and noticed that the contactus page had expired.  WAT?
It's a contactus page, there shouldn't be any state at all associated with
it.&lt;/p&gt;

&lt;p&gt;Given that the web people have had an extra 8 months to fix any issues, I am
pretty upset about the quality of this interface.  I will have to use this
site 6-8 times a year, I really expect it to work properly.
I have done sites like this in 6-8 weeks, and they worked way better than
this.&lt;/p&gt;</description>
    </item>
    <item>
      <pubDate>Mon, 9 Jul 2012 23:06:36 GMT</pubDate>
      <title>Upgrade an application to ruby 1.9</title>
      <link>http://www.advogato.org/person/mcr/diary.html?start=86</link>
      <guid>http://www.sandelman.ca/mcr/blog/2012/07/09#upgrade_an_application_to_ruby_1.9</guid>
      <description>&lt;p&gt;One newer database system got installed with Debian Wheezy, which makes ruby
1.9 the default, and dammit, it makes it rather difficult to convince it that
I want to run ruby 1.8, which my application has been written in.&lt;/p&gt;

&lt;p&gt;So I'm going to upgrade the application to ruby 1.9, it's about time to do
so.  But given all the co-existence code between 1.8 and 1.9, how to do this
has been a bit vexing.&lt;/p&gt;

&lt;p&gt;So, first, I made sure to install ruby 1.9:&lt;/p&gt;

&lt;pre&gt;
knothole-[~] mcr 1005 %sudo apt-get install ruby1.9.1
&lt;/pre&gt;

&lt;p&gt;this gives me /usr/bin/gem1.9.1 as well..&lt;/p&gt;

&lt;p&gt;But I'm going to make this the default explicitely:&lt;/p&gt;

&lt;pre&gt;
knothole-[~] mcr 1006 %sudo update-alternatives --config gem
There are 2 choices for the alternative gem (providing /usr/bin/gem).

  Selection    Path               Priority   Status
------------------------------------------------------------
* 0            /usr/bin/gem1.8     180       auto mode
  1            /usr/bin/gem1.8     180       manual mode
  2            /usr/bin/gem1.9.1   10        manual mode

Exampless enter to keep the current choice[*], or type selection number: 2
&lt;/pre&gt;

&lt;p&gt;I did not see a 1.9 package in Ubuntu oneiric for rails, but running the
debian/ubuntu rails package is a bad idea anyway:&lt;/p&gt;

&lt;pre&gt;
knothole-[~] mcr 1022 %sudo apt-get remove rails
knothole-[~] mcr 1007 %sudo gem install rails
&lt;/pre&gt;

&lt;p&gt;Now install some baseline things that you will need:&lt;/p&gt;

&lt;pre&gt;
% sudo gem install rake
% sudo gem install bundle
% sudo apt-get install ruby-bundler
&lt;/pre&gt;

&lt;p&gt;When I ran bundle install, and I got bit by:&lt;/p&gt;

&lt;pre&gt;
ERROR:  While executing gem ... (ArgumentError)
    invalid byte sequence in US-ASCII
&lt;/pre&gt;

&lt;p&gt;Other people wrote about this at:
&lt;/p&gt;&lt;blockquote&gt;
&lt;p&gt;&lt;a href="http://help.rubygems.org/discussions/problems/501-broken-utf-8-handling-in-newest-rubygems-when-environment-locales-are-not-set" &gt;http://help.rubygems.org/discussions/problems/501-broken-utf-8-handling-in-newest-rubygems-when-environment-locales-are-not-set&lt;/a&gt;&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;The solution is to make sure that your locales are set:&lt;/p&gt;

&lt;pre&gt;
% export LC_ALL=en_CA.UTF-8
% export LANG=en_CA.UTF-8
% bundle install
&lt;/pre&gt;

&lt;p&gt;Now, you'll have a bundle running with a ruby 1.9 interexampleter, and
it will install gems for 1.9 rather than 1.8!&lt;/p&gt;

&lt;p&gt;This worked great on my desktop (oneiric), but failed on a minimal devel DB
server running debian squeeze (with backports):&lt;/p&gt;

&lt;pre&gt;
Installing json (1.7.3) with native extensions

ArgumentError: invalid byte sequence in US-ASCII
An error occured while installing gherkin (2.11.0), and Bundler cannot
continue.
Make sure that `gem install gherkin -v '2.11.0'` succeeds before bundling.
&lt;/pre&gt;

&lt;p&gt;I puzzled about this for awhile, and finally, I found that in fact I didn't
have the en_CA locale loaded.  I edited /etc/locale.gen, and then ran
/usr/sbin/locale-gen , and all was well.&lt;/p&gt;

&lt;p&gt;I put these instructions into my debian "novavision-beaumont-server"
meta-package.&lt;/p&gt;

&lt;pre&gt;
% sudo apt-get install novavision-sg1-server novavision-beaumont-server
&lt;/pre&gt;

&lt;p&gt;just to be sure you have the latest stuff.&lt;/p&gt;</description>
    </item>
    <item>
      <pubDate>Sun, 5 Feb 2012 17:28:22 GMT</pubDate>
      <title>LVM mirroring: the right way</title>
      <link>http://www.advogato.org/person/mcr/diary.html?start=85</link>
      <guid>http://www.sandelman.ca/mcr/blog/2012/02/05#lvm_mirroring__the_right_way</guid>
      <description>&lt;p&gt;LVM now supports mirroring inside of LVM, rather than requiring that you put
mirrors underneath LVM physical volumnes.  This provides much more
flexibility, and some volumnes can be mirrored, some not (such as swap
partitions), and different RAID algorithms can be used.  LVM uses the same
underlying mechanisms as Linux RAID system (mdadm) to do the RAID operations,
so there is no change in overall performance.&lt;/p&gt;

&lt;p&gt;Lucas and I learnt on the Hydra project that creating a mirror as
follows:&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;lvconvert  -m 1 --corelog /dev/nv0/time1root&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;or at lvcreate time:
&lt;/p&gt;&lt;blockquote&gt;
&lt;p&gt;lvcreate -L 4G --name time1root -m 1 --corelog --nosync /dev/nv0&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;while it works, produces a mirror that keeps certain meta-info in memory
only.  Should the machine reboot in an uncontrolled way, the mirror will
be marked as bad and rebuilt in order to validate the meta-data.&lt;/p&gt;

&lt;p&gt;On a machine with with VMs running (nvxen-0, crtlXX) after a reboot it can
take hours for the mirror to rebuild.  The correct answer it turns out is to
use --mirrorlog mirrored, and an option to put the mirror logs anywhere.&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;lvconvert  -m 1 --mirrorlog mirrored --alloc anywhere /dev/nv0/time1root
The allocation policy of "anywhere" permits the two 4M mirror logs (4M is the
minimum allocation that LVM can do) to be kept on the same disks as the data
they are mirroring.  Otherwise, if you have only two physical volumnes, you
can not put the log anywhere and the default policy (which I think is wrong)
is to insist that the mirrorlogs go on different volumnes than the data.
(I don't know why this necessary)&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;Converting between is a pain: the only way I found to do this is to remove
the mirroring and then re-create it.&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;ionice -c3 lvconvert  -m 0 /dev/nv0/time1root
ionice -c3 lvconvert  -m 1 --mirrorlog mirrored --alloc anywhere /dev/nv0/time1root&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;I wrote a script to process the output of lvs and do this.  The ionice keeps
the process in the background, not chewing up I/O.&lt;/p&gt;

&lt;p&gt;On the fresh boot after the crash however, you may find your system is
almost completely unresponsive as it tries to resync dozens of mirrors. On
that, /dev/md0-style raid devices get it right.  How to fix: find the kcopyd
kernel processes and run ionice on them:&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;ps ax | grep kcopyd | awk '{print $1}' | while read pid; do sudo ionice -i3 -p$pid; done&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;once you have done this, you can then get in long enough to run the
lvconvert.  I suggest you remove all the mirrors first (-m 0) as that stops
the resync operation from getting in the way of the resync you will have to
anyway.&lt;/p&gt;</description>
    </item>
    <item>
      <pubDate>Thu, 1 Dec 2011 17:05:26 GMT</pubDate>
      <title>Active Scaffold obscures internal errors</title>
      <link>http://www.advogato.org/person/mcr/diary.html?start=84</link>
      <guid>http://www.sandelman.ca/mcr/blog/2011/12/01#active_scaffold_obscures_internal_errors</guid>
      <description>&lt;p&gt;In a newly scaffold'ed model and controller, created with ActiveScaffold
3.0.5, on rails 3.0.9, I was getting errors from the default created rspec
code that I could not diagnose:
&lt;/p&gt;&lt;pre&gt;
  1) Admin::ConnectionsController POST create with valid params creates a new Connection
     Failure/Error: post :create, :connection =&amp;gt; valid_attributes
     NoMethodError:
       You have a nil object when you didn't expect it!
       You might have expected an instance of Array.
       The error occurred while evaluating nil.each
     # ./spec/controllers/admin/connections_controller_spec.rb:54
&lt;/pre&gt;

&lt;p&gt;Worse, these things were working just fine in RAILS_ENV=development.&lt;/p&gt;

&lt;p&gt;Well, of course, it is failing on the line where the :create is invoked.
But, where is the nil.each occuring?&lt;/p&gt;

&lt;p&gt;I ran things with:
&lt;/p&gt;&lt;pre&gt;
bundle exec rspec -d spec/controllers/admin/connections_controller_spec.rb \
   -e "POST create with valid params creates a new Connection"
&lt;/pre&gt;

&lt;p&gt;after putting "debugger" in before the test case:
&lt;/p&gt;&lt;pre&gt;
  describe "POST create" do
    describe "with valid params" do
      it "creates a new Connection" do
        # expect {
          debugger
          post :create, :connection =&amp;gt; valid_attributes
        #}.to change(Connection, :count).by(1)
      end
&lt;/pre&gt;

&lt;p&gt;(I'm still looking for a good ruby-debug mode that works like gdb-mode in
Emacs works, that can show me the code around where I am...)&lt;/p&gt;

&lt;p&gt;One winds up in the rescue in:
&lt;/p&gt;&lt;pre&gt;
/var/lib/gems/1.8/gems/actionpack-3.0.9/lib/action_controller/metal/rescue.rb
&lt;/pre&gt;

&lt;p&gt;on line 19.&lt;/p&gt;

&lt;p&gt;So, stick a breakpoint on the super there:
&lt;/p&gt;&lt;pre&gt;
break /var/lib/gems/1.8/gems/actionpack-3.0.9/lib/action_controller/metal/rescue.rb:17
&lt;/pre&gt;

&lt;p&gt;This lets you see the exception:&lt;/p&gt;

&lt;pre&gt;
(rdb:1) p exception
#&amp;lt;NoMethodError: You have a nil object when you didn't expect it!
You might have expected an instance of Array.
The error occurred while evaluating nil.each&amp;gt;
&lt;/pre&gt;

&lt;p&gt;The annoying part is that the action is invoked at
&lt;code&gt;/var/lib/gems/1.8/gems/actionpack-3.0.9/lib/action_controller/metal/instrumentation.rb:29&lt;/code&gt;&lt;/p&gt;

&lt;pre&gt;
ActiveSupport::Notifications.instrument("process_action.action_controller", raw_payload) do |payload|
&lt;/pre&gt;

&lt;p&gt;so, it evaluates code, and there are in fact one block passed to another
block, and it seems really hard (a major ruby-debug limitation), that I can
not put a breakpoint easily into the beginning of a block passed in.&lt;/p&gt;

&lt;p&gt;I had to resort to editing that file, and sticking "debugger" in there!&lt;/p&gt;

&lt;p&gt;Finally, one gets to:&lt;/p&gt;

&lt;pre&gt;
/var/lib/gems/1.8/gems/actionpack-3.0.9/lib/abstract_controller/base.rb:150
send_action(method_name, *args)
&lt;/pre&gt;

&lt;p&gt;In the debugger, the right thing to do is:&lt;/p&gt;

&lt;pre&gt;
catch NoMethodError
&lt;/pre&gt;

&lt;p&gt;This finally shows me that the failure is at:&lt;/p&gt;

&lt;pre&gt;
/corp/projects/credil/hydra/t3041/vendor/plugins/active_scaffold/lib/active_scaffold/attribute_params.rb:42
&lt;/pre&gt;

&lt;p&gt;Why?  Because attributes is nil.&lt;/p&gt;

&lt;p&gt;Why, because the generated controllers spec file says:&lt;/p&gt;

&lt;pre&gt;
    describe "with valid params" do
      it "creates a new Connection" do
        expect {
          post :create, :connection =&amp;gt; valid_attributes
        }.to change(Connection, :count).by(1)
      end
&lt;/pre&gt;

&lt;p&gt;should have been generated as:
&lt;/p&gt;&lt;pre&gt;
    describe "with valid params" do
      it "creates a new Connection" do
        expect {
          post :create, :record =&amp;gt; valid_attributes
        }.to change(Connection, :count).by(1)
      end
&lt;/pre&gt;</description>
    </item>
    <item>
      <pubDate>Mon, 8 Aug 2011 14:04:41 GMT</pubDate>
      <title>Domain Squatter Avoidance tool</title>
      <link>http://www.advogato.org/person/mcr/diary.html?start=83</link>
      <guid>http://www.sandelman.ca/mcr/blog/2011/08/08#domain_squatter_avoidance_tool</guid>
      <description>&lt;p&gt;Here is a nice use for a distributed hash table, backed by the new IETF
REPUTE work.&lt;/p&gt;

&lt;p&gt;I just typed "antipope.net" rather than antipope.org to get to Charlies
Stross' web site.  A squatter offered to sell me the domain.  Some of the
squatters do it solely for ad revenue, and I'd rather not arrange for
them to get a dime.&lt;/p&gt;

&lt;p&gt;I want a button for my browser (Chromium) which logs that name into a
reputation database indicating that these guys are squatters, and letting me
(once I know the correct name) enter the proper name.
The same plugin will consult that database if I type something wrong, and
suggest an alternative.&lt;/p&gt;</description>
    </item>
    <item>
      <pubDate>Mon, 8 Aug 2011 14:04:41 GMT</pubDate>
      <title>Eclipse and Android SDK never ran</title>
      <link>http://www.advogato.org/person/mcr/diary.html?start=82</link>
      <guid>http://www.sandelman.ca/mcr/blog/2011/07/19#eclipse_and_android_sdk_never_ran</guid>
      <description>&lt;p&gt;I've had a problem getting Eclipse, and specifically the Android SDK to run
on my Debian laptop for over a year now.  I've generally just VNC'ed to a
more powerful box and ran it there.&lt;/p&gt;

&lt;p&gt;The problem I had was that most network operations in eclipse would fail with
network unreachable.  Not a big deal for day to day things, but you need the
network to install the Android SDK kits and install Eclipse plugins.&lt;/p&gt;

&lt;p&gt;I had been trying to strace things to figure out what it was, and finally
found it:&lt;/p&gt;

&lt;pre&gt;
connect(26, {sa_family=AF_INET6, sin6_port=htons(443), inet_pton(AF_INET6, "::ffff:74.125.95.91", &amp;amp;sin6_addr), sin6_flowinfo=0, sin6_scope_id=0}, 28) = -1 ENETUNREACH (Network is unreachable)
&lt;/pre&gt;

&lt;p&gt;Huh, it's doing IPv6 connections.  &lt;em&gt;GOOD&lt;/em&gt;.
But, it hasn't set the right IOCTL on the socket to permit IPv4 mapped
connections to work, and on Debian, the bindv6only is now not set.&lt;/p&gt;

&lt;p&gt;See: &lt;a href="http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=560056" &gt;http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=560056&lt;/a&gt;&lt;/p&gt;</description>
    </item>
    <item>
      <pubDate>Tue, 19 Jul 2011 01:05:15 GMT</pubDate>
      <title>Eclipse and Android SDK never ran</title>
      <link>http://www.advogato.org/person/mcr/diary.html?start=81</link>
      <guid>http://www.sandelman.ca/mcr/blog/2011/07/18#eclipse_and_android_sdk_never_ran</guid>
      <description>&lt;p&gt;I've had a problem getting Eclipse, and specifically the Android SDK to run
on my Debian laptop for over a year now.  I've generally just VNC'ed to a
more powerful box and ran it there.&lt;/p&gt;

&lt;p&gt;The problem I had was that most network operations in eclipse would fail with
network unreachable.  Not a big deal for day to day things, but you need the
network to install the Android SDK kits and install Eclipse plugins.&lt;/p&gt;

&lt;p&gt;I had been trying to strace things to figure out what it was, and finally
found it:&lt;/p&gt;

&lt;pre&gt;
connect(26, {sa_family=AF_INET6, sin6_port=htons(443), inet_pton(AF_INET6, "::ffff:74.125.95.91", &amp;amp;sin6_addr), sin6_flowinfo=0, sin6_scope_id=0}, 28) = -1 ENETUNREACH (Network is unreachable)
&lt;/pre&gt;

&lt;p&gt;Huh, it's doing IPv6 connections.  &lt;em&gt;GOOD&lt;/em&gt;.
But, it hasn't set the right IOCTL on the socket to permit IPv4 mapped
connections to work, and on Debian, the bindv6only is now not set.&lt;/p&gt;

&lt;p&gt;See: &lt;a href="http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=560056" &gt;http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=560056&lt;/a&gt;&lt;/p&gt;</description>
    </item>
    <item>
      <pubDate>Sun, 3 Jul 2011 23:04:13 GMT</pubDate>
      <title>"Over The Top" Television</title>
      <link>http://www.advogato.org/person/mcr/diary.html?start=80</link>
      <guid>http://www.sandelman.ca/mcr/blog/2011/07/03#_over_the_top__television</guid>
      <description>&lt;p&gt;re: &lt;a href="http://crtc.gc.ca/eng/archive/2011/2011-344.htm" &gt;http://crtc.gc.ca/eng/archive/2011/2011-344.htm&lt;/a&gt;&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;In Broadcasting Regulatory Policy 2009-329, the Commission set out the
results of its review of broadcasting in new media. This was followed by
Broadcasting Order 2009-660, which amended, clarified and affirmed the
continued appropriateness of the New Media Exemption Order applied to
new media broadcasting undertakings. Since then, there has been an
acceleration of technological, market and consumer behaviour trends that
may influence the Canadian broadcasting system's ability to achieve
the policy objectives of the Broadcasting Act. Increasingly, programming
is being provided by entities on multiple platforms and separate from
the physical infrastructure over which it is delivered. These
"over-the-top" entities are both foreign and domestic.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;1. My name is Michael Richardson.  I am chief scientist of Sandelman Software
Works. I am writing today about your consultation about "Over-The-Top"
television, such as "netflix" and others like this. I am a pioneer of the
Internet, my use of it dates back to 1987. I am active participant in the
Internet Engineering Task Force, and I've authored a number of RFCs in the
security field.&lt;/p&gt;

&lt;p&gt;2. I find the entire question about "over-the-top" to itself be indicative
of a bias to begin with.  My question was, over top of what?  I get as much
television "over" Canada Post as I do "over-the-air".&lt;/p&gt;

&lt;p&gt;3. The Internet does not run on top of other things, more and more, other
things run on top of the Internet.   Neither incumbent cable or telephone
companies have been competent enough to supply my home office for internet.
My family that has tried them for Internet has found their service to be
lacking, and have gone to reliable Internet suppliers, ones that are not
vertically integrated and therefore do not have a bias against other things.&lt;/p&gt;

&lt;p&gt;4. Since 1995, I have not subscribed to "cable" TV.  I tried microwave
(LOOK), but when I moved it was not available, and then I went to satellite
(Star Choice, now Shaw).  Since it became Shaw, my level of service has
steadily declined, while my rates have gone up.  My family uses the satellite
TV less and less (we are now on the lowest tier subscription, primary for US
Network channels) and relies on DVD delivery from ZIP and netflix over my
bridged-DSL connection with Storm Internet.&lt;/p&gt;

&lt;p&gt;5. Netflix has reported "problems" with Canadian residential internet
connections.  I have none.  I do not use an incumbent telco with a competing
service as my supplier.  Please connect the dots.&lt;/p&gt;

&lt;p&gt;6. I do not use "HD" services at this time, as I have no TVs like that.
I consider current HD TV systems to be too inflexible and yet too complicated
for my use.  When the time comes, I will replace the "screens" in my home
with dumb computer-grade displays, connected to media boxes running open
standard systems.&lt;/p&gt;

&lt;p&gt;7. The available content on Netflix leaves a lot to be desired.  The amount
in Canada, I'm told is much less than in the US due to licensing problems.
This upsets me greatly:  I would like to see a mandatory licensing regime
that seperated who I choose to deliver the content I want, from what content
is available.&lt;/p&gt;

&lt;p&gt;8. Netflix offers a service that apparently permits some Apple and some
Microsoft users to watch television their computers.  This system uses a
proprietary copyright infringing system to display the content.   I say that
it infringes the copyright laws because it appears that this "Digital Rights
Management" system in fact denies me rights that I would have on other
systems.  This system is incompatible with non-Microsoft systems (tied
selling) such as Ubuntu Linux that runs at my house.&lt;/p&gt;

&lt;p&gt;9. We happen to have a Nintendo WII game console that has a netflix system
for it, and I'm told that the Netflix application for it may also contain
DRM. However, the output of my WII is a DRM-free analogue signal, and
therefore my rights are identical with this system as they would be with
broadcast television.&lt;/p&gt;

&lt;p&gt;10. I am preparing myself for ATSC.  I intend to put an antenna on my roof to
receive US Network Channels from Rochester NY,  and along with an ATSC tuner
on each of my three TVs, I should be able to get Ottawa broadcast channels
from Camp Fortune.  At that point I will stop subscribing to satellite
service: they have provided me with essentially no value.&lt;/p&gt;

&lt;p&gt;11. At this point, what I would like is the ability to pay for the content
that I want.  I would like to be able to vote with my wallet, rather than
have the CRTC tell me.  I expect some service (such as Netflix, or a
competitor) to offer to intermediate my transactions, reducing the cost of
the transaction, and dealing the production studios directly.&lt;/p&gt;

&lt;p&gt;12. I would like to:
&lt;/p&gt;&lt;blockquote&gt;
&lt;p&gt;a) provide a tip of approximately 0.25 for a show that I like. This
would be voluntary by me.  I would do this because I want them to
produce more like it.  I want to do this even for shows that might
have been out of "print" for a long time, for instance Threes Company,
or old episodes of Sesame Street, which continue to have significant
value.     Right now, at most, I can provide a "star" rating.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;blockquote&gt;
&lt;p&gt;b) provide a bond (a promise) that I would tip for more episodes of
a series that I like.   This removes the role of the executives of
i) the incument cable/satellite companies, ii) the specialty channels.
who it seems continue to be reluctant to take risks, and have
significantly disrupted shows with significant fan bases with very
good writing.  If this scares these companies, tough.
The CRTC has no mandate to protect companies with out-dated business
plans.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;blockquote&gt;
&lt;p&gt;c) provide a tip to a "network" such as CBCKids who might provide me with
a playlist of shows to watch and timely interactive ways to engage
kids.   Note I would be tipping for the playlist (a list of
recommendations) not for the shows themselves.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;13. This is &lt;em&gt;particularly&lt;/em&gt; important to me for children's shows, as I will
only let me child watch the TV stations that do not feature advertising.&lt;/p&gt;

&lt;p&gt;
  &lt;strong&gt;
    &lt;em&gt;End of Document&lt;/em&gt;
  &lt;/strong&gt;
&lt;/p&gt;</description>
    </item>
  </channel>
</rss>
