<?xml version="1.0"?>
<rss version="2.0.">
  <channel>
    <title>Advogato blog for berend</title>
    <link>http://www.advogato.org/person/berend/</link>
    <description>Advogato blog for berend</description>
    <language>en-us</language>
    <generator>mod_virgule</generator>
    <pubDate>Thu, 24 Jul 2008 09:06:02 GMT</pubDate>
    <item>
      <pubDate>Fri, 4 Jul 2008 20:05:50 GMT</pubDate>
      <title>4 Jul 2008</title>
      <link>http://www.advogato.org/person/berend/diary.html?start=327</link>
      <guid>http://www.advogato.org/person/berend/diary.html?start=327</guid>
      <description>A while ago I stumbled upon the article A contradiction for&#xD;
Each of the 12 Apostles. &lt;a href="http://www.berenddeboer.net/personal/minister_turns_atheist.html" &gt;I&#xD;
wrote a response&lt;/a&gt;, and asked if Joe E. Holman could link&#xD;
to my article. He said he wouldn't. And he would give a&#xD;
response, but never did. So I assume he couldn't answer this&#xD;
article.</description>
    </item>
    <item>
      <pubDate>Mon, 16 Jun 2008 00:16:47 GMT</pubDate>
      <title>16 Jun 2008</title>
      <link>http://www.advogato.org/person/berend/diary.html?start=326</link>
      <guid>http://www.advogato.org/person/berend/diary.html?start=326</guid>
      <description>There are those days I feel I can better retire as a&#xD;
programmer. Or really hate the tools I'm using. Default&#xD;
parameters are deeply, deeply evil. Got recently hit by two&#xD;
Drupal functions that have completely flawed defaults:&#xD;
&lt;tt&gt;&lt;a href="http://api.drupal.org/api/function/file_move/5" &gt;file_move&lt;/a&gt;&lt;/tt&gt;&#xD;
and &lt;tt&gt;&lt;a href="http://api.drupal.org/api/function/file_scan_directory/5" &gt;file_scan_directory&lt;/a&gt;&lt;/tt&gt;.&#xD;
&#xD;
&lt;p&gt; Both take deeply flawed default parameters. The scan&#xD;
directory does a recursive scan, file move creates a new&#xD;
file if a file with the same name already exists. This is&#xD;
not apparent from the names, and you don't have to pass in&#xD;
the parameters to make this clear. If you're not deeply&#xD;
aware of this, you might get hit by a bus, like I was. I&#xD;
scanned a directory for new files, once scanned, I moved&#xD;
them to a subdirectory. But the subdirectory was scanned as&#xD;
well of course. So I ended up in a situation where I created&#xD;
more and more files, each with their own nice Drupal&#xD;
generated extension. Which caused some very serious problems&#xD;
for a customer.&#xD;
&#xD;
&lt;p&gt; I'm so glad I can program in Eiffel the rest of the time.&#xD;
PHP is a nice language, but it is extremely open for very&#xD;
costly mistakes.</description>
    </item>
    <item>
      <pubDate>Fri, 6 Jun 2008 22:05:52 GMT</pubDate>
      <title>6 Jun 2008</title>
      <link>http://www.advogato.org/person/berend/diary.html?start=325</link>
      <guid>http://www.advogato.org/person/berend/diary.html?start=325</guid>
      <description>Still busy with my new HP CM1015. I tried to get the scanner&#xD;
to work by hacking the FreeBSD uscanner.ko module to&#xD;
recognise it. For this spare time kernel hacker this luckily&#xD;
involved no more than adding a USB id. But that didn't&#xD;
really work. Even when hacking the SANE hplj1005 driver to&#xD;
also recognise the ID.&#xD;
&#xD;
&lt;p&gt; But I finally found out that &lt;a href="http://hplip.sourceforge.net/models/color_laserjet/hp_color_laserjet_cm1015.html" &gt;the&#xD;
HPLIP project completely supports my printer&lt;/a&gt;, so that&#xD;
includes scanning. So after "portinstall hplip" I hoped&#xD;
things would work. But it was a bit more difficult than that&#xD;
I found out. For FreeBSD you have to &lt;a href="http://www.freebsd.org/cgi/cvsweb.cgi/ports/print/hplip/pkg-message?rev=1.3" &gt;disable&#xD;
the ultp module&lt;/a&gt;. So recompile the kernel.&#xD;
&#xD;
&lt;p&gt; And this time hp-info found my printer:&#xD;
&#xD;
&lt;p&gt; &lt;pre&gt;$ hp-info&#xD;
&#xD;
&lt;p&gt; HP Linux Imaging and Printing System (ver. 2.8.2)&#xD;
Device Information Utility ver. 3.4&#xD;
&#xD;
&lt;p&gt; Copyright (c) 2001-7 Hewlett-Packard Development Company, LP&#xD;
This software comes with ABSOLUTELY NO WARRANTY.&#xD;
This is free software, and you are welcome to distribute it&#xD;
under certain conditions. See COPYING file for more details.&#xD;
&#xD;
&lt;p&gt; Using device:&#xD;
hp:/usb/HP_Color_LaserJet_CM1015?serial=00CNBY69BGD8&#xD;
&#xD;
&lt;p&gt; hp:/usb/HP_Color_LaserJet_CM1015?serial=00CNBY69BGD8&#xD;
&#xD;
&lt;p&gt; Device Parameters (dynamic data):&#xD;
  Parameter                     Value(s)   &#xD;
&lt;/pre&gt;&#xD;
&#xD;
&lt;p&gt; I deleted all the previous CUPS printers I had setup and&#xD;
started to add HPLIP printers. The nice thing about HPLIP is&#xD;
that the printer is already listed in the drop down box. You&#xD;
could also upload a .ppd file which I did. I uploaded the&#xD;
.pdd file that came with the hplip distribution, which was&#xD;
&lt;tt&gt;/usr/local/share/ppd/HP/HP_Color_LaserJet_CM1015-ps.ppd&lt;/tt&gt;&#xD;
in my case. It turned out to be the same one I used previously.&#xD;
&#xD;
&lt;p&gt; OK, printer working great. Pushing stuff through to my samba&#xD;
network for my Windows machines was just running&#xD;
&lt;tt&gt;cupsaddsmb&lt;/tt&gt; as I still had everything setup for that&#xD;
Now the scanner.&#xD;
&#xD;
&lt;p&gt; &lt;tt&gt;sane-find-scanner&lt;/tt&gt; immediately found my scanner. But&#xD;
&lt;tt&gt;scanimage -L&lt;/tt&gt; tells me there's no scanner. I didn't&#xD;
have &lt;a href="http://hplip.sourceforge.net/troubleshooting/scanning.html" &gt;hpaio&lt;/a&gt;&#xD;
in my &lt;tt&gt;dll.conf&lt;/tt&gt;, but adding that didn't help. So&#xD;
still stuck. I now have code that should work, but doesn't.&#xD;
Might be a FreeBSD problem or not. Too bad. It seems the&#xD;
state of printing and scanning on Linux is pretty good with&#xD;
HP printers, so maybe I should check if it works on Linux.</description>
    </item>
    <item>
      <pubDate>Thu, 5 Jun 2008 00:49:41 GMT</pubDate>
      <title>5 Jun 2008</title>
      <link>http://www.advogato.org/person/berend/diary.html?start=324</link>
      <guid>http://www.advogato.org/person/berend/diary.html?start=324</guid>
      <description>Bought a new printer this week, the &lt;a href="http://h10010.www1.hp.com/wwpc/us/en/en/WF06b/18972-18972-238444-12004-3328086-1846080-1846081-1846083.html" &gt;HP&#xD;
CM1015&lt;/a&gt;. My 15 year old HP LaserJet 4MP was still working&#xD;
fine, but getting a bit slow and doesn't handle larger jobs&#xD;
anymore. But my HP OfficeJet 1175c broke down, doesn't power&#xD;
up anymore. Probably easy to fix, if you know how.&#xD;
&#xD;
&lt;p&gt; &lt;p&gt; Anyway, I now have a colour laserjet. Reported Drawbacks&#xD;
are to be that it is somewhat slow and doesn't have a&#xD;
document feeder. For me it is probably faster than what I&#xD;
had, and I used the OfficeJet document feeder only twice a&#xD;
year or so.&#xD;
&#xD;
&lt;p&gt; &lt;p&gt; The biggest issue is that it had to work with FreeBSD.&#xD;
Although I found some references on the Internet, nothing&#xD;
really helped. But here some tips for people to get it going&#xD;
on FreeBSD 6.3. First install cups with "portinstall cups".&#xD;
&#xD;
&lt;p&gt; &lt;p&gt; To access the admin page from a machine on the network, make&#xD;
sure cupsd.conf has a proper Listen entry.&#xD;
&#xD;
&lt;p&gt; &lt;p&gt; Lastly, I had to add a "Allow From 192.168.1." entry to all&#xD;
&amp;lt;Location&amp;gt; sections, so I could configure cups from my&#xD;
local&#xD;
machine.&#xD;
&#xD;
&lt;p&gt; &lt;p&gt; Adding the printer wasn't too hard. I installed two&#xD;
versions, the default Color Laserjet Series PCL6, and a&#xD;
Postscript version using &lt;a href="http://www.linuxprinting.org/foomatic-db/db/source/PPD/HP/HP_Color_LaserJet_CM1015.ppd" &gt;a&#xD;
custom PPD&lt;/a&gt; I found on the internet. Output seems to be&#xD;
the same, but it seems the PPD has better defaults. The CUPS&#xD;
PCL driver for example defaults to 300 dpi while this is a&#xD;
600 dpi printer.&#xD;
&#xD;
&lt;p&gt; &lt;p&gt; Getting it to print required some modifications. It's a USB&#xD;
printer, so I had to set the permissions on /dev/ultp:&#xD;
&#xD;
&lt;p&gt; &lt;p&gt; &lt;pre&gt;chgrp cups /dev/ulpt0&#xD;
chmod g+w /dev/ulpt0&lt;/pre&gt;&#xD;
&#xD;
&lt;p&gt; &lt;p&gt; Restart the cupsd daemon, and I could at least print a test&#xD;
page.&#xD;
&#xD;
&lt;p&gt; &lt;p&gt; After that I installed two more printers, using the same&#xD;
drivers, but this time enabled the black and white options.&#xD;
The PCL didn't turn off the B&amp;amp;W, while the PPD driver did&#xD;
indeed print in B&amp;amp;W.&#xD;
&#xD;
&lt;p&gt; UPDATE: oops, that's wrong. Changing permissions doesn't&#xD;
work, because when the printer is turned off and turned on&#xD;
the device disappears with its permissions. The correct way&#xD;
to set the permissions is &lt;a href="http://www.evilcoder.org/cups/index.html" &gt;here&lt;/a&gt;.</description>
    </item>
    <item>
      <pubDate>Tue, 20 May 2008 03:29:04 GMT</pubDate>
      <title>20 May 2008</title>
      <link>http://www.advogato.org/person/berend/diary.html?start=323</link>
      <guid>http://www.advogato.org/person/berend/diary.html?start=323</guid>
      <description>Spend yesterday on a SEO course by &lt;a href="http://www.searchmasters.co.nz/" &gt;our local search&#xD;
master Michael Brandon&lt;/a&gt;. Came away with tons of ideas and&#xD;
understanding. I knew many of the finer technical details,&#xD;
but just missed the forest. So spend most of today&#xD;
optimising the website of Tyndale Park &lt;a href="http://www.tyndalepark.school.nz/" &gt;Christian&#xD;
school&lt;/a&gt;, the school, the school of my kids to see if it&#xD;
works. The site ranked 39 for "&lt;a href="http://www.tyndalepark.school.nz/christian-primary-school" &gt;Christian&#xD;
primary school&lt;/a&gt;" so see if we can do any better now. Not&#xD;
sure where we ranked for "&lt;a href="http://www.tyndalepark.school.nz/christian-secondary-school" &gt;Christian&#xD;
secondary school&lt;/a&gt;, but probably way at the bottom.&#xD;
&#xD;
&lt;p&gt; The site was created years ago, and we ranked pretty good&#xD;
then, but somehow we slipped, and I haven't paid a lot of&#xD;
attention to it. Ranking high has become a lot more&#xD;
difficult it seems. So let's see, really excited about my&#xD;
changes, so let's see what it does for us.</description>
    </item>
    <item>
      <pubDate>Sun, 11 May 2008 22:17:00 GMT</pubDate>
      <title>11 May 2008</title>
      <link>http://www.advogato.org/person/berend/diary.html?start=322</link>
      <guid>http://www.advogato.org/person/berend/diary.html?start=322</guid>
      <description>&lt;a href="http://news.yahoo.com/s/ap/20080510/ap_on_hi_te/shuttle_recovered_data;_ylt=AiNJO80hh3fOqFYeHi4dbx8PLBIF" &gt;Space&#xD;
Shuttle uses MS-Dos&lt;/a&gt;...:&#xD;
&#xD;
&lt;p&gt; &lt;blockquote&gt;&lt;p&gt;Edwards attributes that to a lucky twist: The&#xD;
computer was running an ancient operating system, DOS, which&#xD;
does not scatter data all over drives as other approaches&#xD;
do.&lt;/blockquote&gt;</description>
    </item>
    <item>
      <pubDate>Sat, 1 Mar 2008 07:36:20 GMT</pubDate>
      <title>1 Mar 2008</title>
      <link>http://www.advogato.org/person/berend/diary.html?start=321</link>
      <guid>http://www.advogato.org/person/berend/diary.html?start=321</guid>
      <description>Two fairly busy days. Crash job to set up a &lt;a href="http://www.salesnetaustralia.com.au/" &gt;website for&#xD;
SalesNet&lt;/a&gt; using Drupal 6. Not finished, but company is&#xD;
adding content first. Monday I'll hope to complete the last&#xD;
theming.&#xD;
&#xD;
&lt;p&gt; My first real project with &lt;a href="http://drupal.org/" &gt;Drupal 6&lt;/a&gt;. I just felt like a&#xD;
somewhat improved version of Drupal 5. Nothing really&#xD;
shocking, nothing large, just minor. Theming is fairly&#xD;
different though. And not a lot of the modules have been&#xD;
ported yet. So probably will be using Drupal 5 for a while.</description>
    </item>
    <item>
      <pubDate>Fri, 30 Nov 2007 20:44:40 GMT</pubDate>
      <title>30 Nov 2007</title>
      <link>http://www.advogato.org/person/berend/diary.html?start=320</link>
      <guid>http://www.advogato.org/person/berend/diary.html?start=320</guid>
      <description>And that, my friends, is &lt;a&#xD;
href="http://weblogs.mozillazine.org/roadmap/archives/2007/11/my_media_ajax_keynote.html"&gt;the&#xD;
best description&lt;/a&gt; I've come accross:&#xD;
&#xD;
&lt;p&gt; &lt;blockquote&gt;JS1 favors closures (behavior with attached&#xD;
state) over objects (state with attached behavior)&lt;/blockquote&gt;</description>
    </item>
    <item>
      <pubDate>Fri, 23 Nov 2007 23:14:33 GMT</pubDate>
      <title>23 Nov 2007</title>
      <link>http://www.advogato.org/person/berend/diary.html?start=319</link>
      <guid>http://www.advogato.org/person/berend/diary.html?start=319</guid>
      <description>I'm really happy with Emacs 21.1.2. It's extremely stable.&#xD;
Great stuff. Wish FireFox becomes that stable...&#xD;
&#xD;
&lt;p&gt; Recently also saw &lt;a&#xD;
href="http://yuiblog.com/blog/2007/11/06/video-crockford/"&gt;the&#xD;
State of AJAX&lt;/a&gt;. Although there are good parts, some&#xD;
parts, I think, are really misguided. He thinks JSON is much&#xD;
better for data transfer than XML. Yes. And how do we&#xD;
validate someone has send valid JSON? Not only&#xD;
syntactically, but also semantically. JSON is really a step&#xD;
backward in most cases. It's of course useful in certain&#xD;
others. But after a brief dabble with JSON I'm back to XML.&#xD;
It's the only way I can actually test easily if my server&#xD;
returns valid data.&#xD;
&#xD;
&lt;p&gt; Crockford complains about the graphics primitives, but SVG&#xD;
is a quite capable solution. CSS is horrible? It's much&#xD;
easier to use than any other alternative available to&#xD;
mankind so far.&#xD;
&#xD;
&lt;p&gt; Crockford also misses real innovation: innovation on the web&#xD;
is in the libraries these days. &lt;a&#xD;
href="http://jquery.com/"&gt;jQuery&lt;/a&gt;. is an absolutely&#xD;
brilliant new way of looking at the browser.&#xD;
&#xD;
&lt;p&gt; He believes that browser innovation has halted. That's&#xD;
partly true of course, but mainly because browsers are still&#xD;
catching up and fixing bugs. I think real innovation will&#xD;
come from killer apps: a particular application that will&#xD;
only work on one browser, but that is so compelling that&#xD;
other people will download that browser as well, and through&#xD;
such viral means the market share of that browser becomes&#xD;
dominant enough to take the next step. And such a browser&#xD;
should of course also offer a compelling development&#xD;
platform so those killer application writers will want to&#xD;
use it in the first place.</description>
    </item>
    <item>
      <pubDate>Tue, 13 Nov 2007 23:12:18 GMT</pubDate>
      <title>13 Nov 2007</title>
      <link>http://www.advogato.org/person/berend/diary.html?start=318</link>
      <guid>http://www.advogato.org/person/berend/diary.html?start=318</guid>
      <description>&lt;a&#xD;
href="http://www.pavlov.net/blog/archives/2007/11/memory_fragment.html"&gt;Stuart&#xD;
Parmenter explains&lt;/a&gt;, unintentionally probably, that&#xD;
you really need a language that has a movable garbage&#xD;
collector, i.e. one that can compact memory. Only one player&#xD;
in town and that is &lt;a&#xD;
href="http://www.eiffel.com/developers/"&gt;Eiffel&lt;/a&gt;:&#xD;
compiles to C, compiles incredibly fast, no overwriting&#xD;
memory, runs on almost any platform.</description>
    </item>
  </channel>
</rss>
