<?xml version="1.0" encoding="iso-8859-1"?>

<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
<title type="text">Zach's So-Called Life</title>
<subtitle type="html"><![CDATA[
Stuff and things, things and stuff.
]]></subtitle>
<id>http://darkstar.frop.org/~zwhite/blog/tech/index.atom</id>
<link rel="alternate" type="text/html" href="http://darkstar.frop.org/~zwhite/blog" />
<link rel="self" type="text/xml" href="http://darkstar.frop.org/~zwhite/blog/tech/index.atom" />

<author>
<name>Zach White</name>
<uri>http://darkstar.frop.org/~zwhite/blog/tech/index.atom</uri>
<email>blog@drpepper.org</email>
</author>
<rights>Copyright &copy; 2006-2008 Zach White</rights>
<generator uri="http://pyblosxom.sourceforge.net/" version="1.4.3 01/10/2008">
PyBlosxom http://pyblosxom.sourceforge.net/ 1.4.3 01/10/2008
</generator>

<updated>2008-05-19T19:42:35Z</updated>
<!-- icon?  logo?  -->

<entry>
<title type="html">Debian/Ubuntu Packages for Epic5 and Amenesiac</title>
<category term="" />
<id>http://darkstar.frop.org/~zwhite/blog/2008/05/19/20080519-debian-packages-for-epic5-and-amn</id>
<updated>2008-05-19T19:42:35Z</updated>
<published>2008-05-19T19:42:35Z</published>
<link rel="alternate" type="text/html" href="http://darkstar.frop.org/~zwhite/blog/tech/20080519-debian-packages-for-epic5-and-amn" />
<content type="html">&lt;p&gt;
 If you can read this, welcome to my new server.
&lt;/p&gt;

&lt;p&gt;
 I&apos;ve been setting a new Ubuntu 8.04 LTS based server, and I&apos;m retiring the 
 old Slackware server I&apos;ve been using for the last year or so. Slackware is
 ok, but I just don&apos;t have the time to do upgrades. The occasonal &quot;apt-get
 upgrade&quot; when I need to deal with a security problem (like this week&apos;s
 openssl fiasco, thanks debian) is much prefered to either compiling from
 source or having to track down and fetch an updated package.
&lt;/p&gt;

&lt;p&gt;
 One of the things that I had to do myself was build epic5 packages. There
 are packages for epic4, but since I work on &lt;a 
 href=&quot;http://amnesiac.ircii.org&quot;&gt;amnesiac&lt;/a&gt; I need to be able to use
 epic5. Since other people irc from this machine I like to provide a copy
 of the script in /usr/share/epic5/script. Given all that, it made sense
 to build a package for amnesiac as well.
&lt;/p&gt;

&lt;p&gt;
 I&apos;ve automated the whole process, so updates to each should be easy. If
 you&apos;re the kind of person who likes to IRC, and you like to use a debian
 based distribution, and you like things that update automatically, you
 can benefit from my work. Just add the following lines to your
 /etc/apt/sources.list:
&lt;/p&gt;

&lt;p&gt;
 &lt;pre&gt;
  # epic5 and amnesiac packages
  deb http://darkstar.frop.org/debian/ irc epic5 amnesiac tsx
  deb-src http://darkstar.frop.org/debian/ irc epic5 amnesiac tsx
 &lt;/pre&gt;
&lt;/p&gt;

&lt;p&gt;
 You will also need to add my gpg key to your keyring. You can do so with
 this command:
&lt;/p&gt;

&lt;p&gt;
 &lt;pre&gt;
  curl http://darkstar.frop.org/debian/zwhite.gpg | sudo apt-key add -
 &lt;/pre&gt;
&lt;/p&gt;

&lt;p&gt;
 Finish everything up by running &quot;sudo apt-get update&quot; and you should be all
 set. The two new packages available are &quot;epic5&quot; and &quot;amnesiac&quot;.
&lt;/p&gt;
</content>
</entry>

<entry>
<title type="html">An Ode To On Call</title>
<category term="" />
<id>http://darkstar.frop.org/~zwhite/blog/2008/04/04/20080404-an-ode-to-on-call</id>
<updated>2008-04-04T10:36:40Z</updated>
<published>2008-04-04T10:36:40Z</published>
<link rel="alternate" type="text/html" href="http://darkstar.frop.org/~zwhite/blog/tech/20080404-an-ode-to-on-call" />
<content type="html">&lt;p&gt;
 &lt;pre&gt;
once upon a midnight &apos;berry
as I awoke from dreams so airy
the screen announced like a sorrowful brute
quoth the kernel, unable to mount root

bleary eyed I thumbed the wheel
that would hold back my sire&apos;s steel
as I pondered profanity stronger than, &quot;Shoot&quot;
quoth the kernel, unable to mount root

my fingers dance, ciphers entered
I&apos;m in like flynn and down like bender
meanwhile this server just won&apos;t boot
quoth the kernel, unable to mount root

I have a look see, and what do I find?
a botched migration, well yes I do mind 
you have to check your hardware first you ignorant kook
quoth the kernel, unable to mount root

Put it all back, is all I reply,
before slamming my leash down onto my thigh
no problem was fixed, but now it&apos;s all moot
quoth the kernel, unable to mount root
 &lt;/pre&gt;
&lt;/p&gt;
</content>
</entry>

<entry>
<title type="html">To paraphrase Fermi: where are all the viruses?</title>
<category term="" />
<id>http://darkstar.frop.org/~zwhite/blog/2007/10/09/20071009-mac-viruses</id>
<updated>2007-10-09T14:52:45Z</updated>
<published>2007-10-09T14:52:45Z</published>
<link rel="alternate" type="text/html" href="http://darkstar.frop.org/~zwhite/blog/tech/20071009-mac-viruses" />
<content type="html">&lt;p&gt;
 Apple is known for cultivating a cloud of smug. The users are arrogant
 and have an inferiority complex. In addition, Apple has been been playing 
 up MacOS X&apos;s security in ways that some people find irritating.
&lt;/p&gt;

&lt;p&gt;
 David Maynor, for example, was willing to tarnish his reputation and be
 a laughing stock in order to, as he put it, poke a lit cigarette into
 the eye of Mac users. Granted, he was quoted saying that while he was 
 supposed to be off the record, but it demonstrates just how much Apple 
 gets under some people&apos;s skin.
&lt;/p&gt;

&lt;p&gt;
 Given that, you would think that by now someone would have written a 
 self-propagating virus that targets Mac users, but it just hasn&apos;t happened.
&lt;/p&gt;

&lt;p&gt;
 It&apos;s not like it&apos;d be difficult. I can think of 3 or 4 security issues
 that exist in MacOS today that would allow me to escalate from a normal
 account to root. Most of them involve exploiting the keychain, which
 by default is left unlocked while the user is logged in. Others involve
 getting the user&apos;s password from certain locations in memory that are 
 accessible to all programs through various device and swap files.
&lt;/p&gt;

&lt;p&gt;
 All of the problems I just mentioned can be fixed by end users, but the
 point is that by default these are vulnerable points in the system that
 can easily be used by an attacker.
&lt;/p&gt;

&lt;p&gt;
 Getting the virus payload into the system is easy enough, too. Mac users
 are just as susceptible to dancing babies and love as PC users. 
&lt;/p&gt;

&lt;p&gt;
 There are millions of Macs out there. More Macs than FreeBSD servers,
 but FreeBSD servers have been worm targets. Granted, they tend to be on 
 faster connections, but given the low number (in the low hundreds of 
 thousands, at most) of FreeBSD machines on the Internet why have they been 
 targeted by malware when Macs (numbering in the millions) have not?
&lt;/p&gt;

&lt;p&gt;
 I&apos;m not sure I have an answer to this. I know the answer is not &quot;Because
 windows is the biggest target so all the kiddies look there.&quot; What better
 way for an obscure black hat to get his nick out there than to have written
 the first MacOS X virus that actually spreads? In one fell swoop you earn
 fame and reputation. You get to embarrass a giant corporation and show
 that they&apos;re not as invulnerable as they claim in their ads.
&lt;/p&gt;

&lt;p&gt;
 That seems like a much bigger prize to me than being just another anonymous 
 entry in some antivirus vendor&apos;s database.
&lt;/p&gt;
</content>
</entry>

<entry>
<title type="html">Emacs Users Need To Stop Holding Back Unix</title>
<category term="" />
<id>http://darkstar.frop.org/~zwhite/blog/2007/09/24/20070924-fuck-emacs</id>
<updated>2007-09-24T15:13:57Z</updated>
<published>2007-09-24T15:13:57Z</published>
<link rel="alternate" type="text/html" href="http://darkstar.frop.org/~zwhite/blog/tech/20070924-fuck-emacs" />
<content type="html">&lt;p&gt;
 So for those who don&apos;t know, I&apos;ve been using Ubuntu the last week or so.
 I&apos;ve been keeping notes and I may write about it later, but I had to rant
 about this now.
&lt;/p&gt;

&lt;p&gt;
 It is late in the year 2007. The last time I used a unix-like desktop
 was in 2003, and I had the same problem then: A useless right alt key.
&lt;/p&gt;

&lt;p&gt;
 Why is the right alt key useless? Because for some reason it&apos;s been
 assigned the function &quot;Super&quot; instead of &quot;Meta&quot;. Why was it assigned
 Super? What is Super? Why hasn&apos;t anyone fixed this minor detail that
 has existed for the 10 years linux has been a plausible threat to MS?
&lt;/p&gt;

&lt;p&gt;
 Super is just another modifier key, like shift or control. Old sun
 keyboards all have dedicated super keys. Back in the 80s it was used
 quite a bit, I&apos;ve been told. These keyboards also had a single alt,
 a single control, and another modifier key called compose.
&lt;/p&gt;

&lt;p&gt;
 Meanwhile, in the real world, IBM came along and make two alt keys
 standard for the vast majority of computer users. They also put
 in two control keys and (one of their few bad moves on the keyboard)
 put capslock next to A, where control had historically been. This
 has since become the standard keyboard for everyone, even sun and apple.
&lt;/p&gt;

&lt;p&gt;
 So why is it that on a standard linux installation, no matter which
 distro you choose, the right hand alt key has been assigned Super? Emacs.
&lt;/p&gt;

&lt;p&gt;
 You see, Emacs is this software that does everything. It handles your
 email, it will monitor logs, you can play games in it, talk to a virtual
 psychiatrist, and even edit text files. If you need to perform a command
 in emacs there is probably a command for the exact situation you&apos;re in,
 assuming you can find it.
&lt;/p&gt;

&lt;p&gt;
 Learning emacs requires a harness and a rope, plus good ice shoes and a 
 pickaxe. You will need this equipment to scale the steep and slippery
 learning curve. It is the only software still used that uses super. It will 
 also use compose, snoz and snorglebutt modifier keys if you happen to have 
 them assigned to your keyboard.
&lt;/p&gt;

&lt;p&gt;
 Emacs users are a small but vocal minority in the open source world (much like
 the religious right.) They command an unusually large amount of mindshare
 in the open source world (much like the religious right.) The rest of us
 could really do without emacs users, but they contribute a lot of code
 back to the community, so we put up with them (s/code/money, and again, much
 like the religious right.)
&lt;/p&gt;

&lt;p&gt;
 &lt;img src=&quot;/~zwhite/pics/EmacsOnNotice.jpg&quot; /&gt;&lt;br /&gt;
 &amp;lt;colbert&amp;gt; EMACS USERS! I&apos;m putting you, &quot;On Notice!&quot;&amp;lt;/colbert&amp;gt;
&lt;/p&gt;

&lt;p&gt;
 Before a distribution like Ubuntu will be popular with the masses (and it&apos;s 
 so very close) this default will have to be changed. It is unreasonable to 
 suggest that the majority of users change their configuration or be stuck with 
 a useless key so that the minority of emacs users don&apos;t have to change 
 anything. You can do it now or do it later, but sooner or later it will have 
 to be done.
&lt;/p&gt;

&lt;p&gt;
 If it&apos;s not, someone like my grandmother will never use Ubuntu (at 75 she,
 on her own, went out and bought a computer, learned what she needed to
 about it, and called me up and asked me to bring her Firefox and Thunderbird
 because it was taking too long to download over her dialup.)
&lt;/p&gt;
</content>
</entry>

<entry>
<title type="html">Bodyguardz Protective Skins</title>
<category term="" />
<id>http://darkstar.frop.org/~zwhite/blog/2007/08/16/20070816-bodyguardz-review-initial</id>
<updated>2007-08-16T21:36:14Z</updated>
<published>2007-08-16T21:36:14Z</published>
<link rel="alternate" type="text/html" href="http://darkstar.frop.org/~zwhite/blog/tech/20070816-bodyguardz-review-initial" />
<content type="html">&lt;p&gt;
 So I bought a Treo 755p to replace my 2 year old Treo 650. The phone is fine,
 it&apos;s basically my 650 with EVDO, no antenna and miniSD instead of SD.
&lt;/p&gt;

&lt;p&gt;
 I never had any sort of protection on my 650, and it held up great. However,
 it got pretty badly scratched up. I decided I&apos;d see what sort of protector
 I could get for my 755. After looking at cases and researching for a few days
 I bought a set of plastic skins from &lt;a href=&quot;http://www.bodyguardz.com/&quot;&gt;
 BodyGuardz&lt;/a&gt;.
&lt;/p&gt;

&lt;p&gt;
 I put the skin on this morning. It hasn&apos;t cured for the full 24 hours yet,
 so this is a review of the installation process only, plus first impressions.
&lt;/p&gt;

&lt;p&gt;
 On a technical, &quot;Can I do this&quot; level, the installation was a breeze. Just
 spray on the solution and apply the piece in the right spot. Lift or slide
 until it&apos;s in position. I found that the skin didn&apos;t slide across the 
 rubberized paint of the 755p very well, but peeling and resticking was fine.
&lt;/p&gt;

&lt;p&gt;
 However, on a &quot;How hard was the install&quot; level, it&apos;s meticulous. You have to
 clean the treo, then spray your hands, peel the next piece, spray it, then
 start applying and sticking it. I found I was spending 5-10 minutes per
 piece to get it on. The squeegee was useless for the body protector, again
 because of the rubberized paint. Pressing hard with fingers worked perfectly
 to stick the cover and work out bubbles.
&lt;/p&gt;

&lt;p&gt;
 The fit is not perfect, but it&apos;s close enough. There are a couple places where
 it stuck over the edge slightly, but a razor blade was able to cut those bits
 off (it was right where the battery cover meets the phone, so I had to trim
 it.)
&lt;/p&gt;

&lt;p&gt;
 The screenguard works as expected, although even with the solution getting
 bubbles out wasn&apos;t easy. This is a place where the squeegee helped. If anyone
 from Bodyguardz is reading this, please keep those in here, they are very
 useful for this step. :) My screenguard is slightly smaller than the screen,
 but once placed you don&apos;t notice it unless you look for it.
&lt;/p&gt;

&lt;p&gt;
 So first impressions? Seems great. By now the solution has dried and I can
 see how it&apos;ll look. I think it&apos;ll do a great job, provided it actually stays
 on the phone.
&lt;/p&gt;

&lt;p&gt;
 All is not rosy, however. The most scratched up part of my 650 is the part
 of the case that frames the screen. The Bodyguardz don&apos;t protect most of 
 this area. Also, there are some corners that look like perfect candidates
 for catching and becoming a removal point, possibly when I don&apos;t want it
 to be removed. I&apos;ll keep an eye on those.
&lt;/p&gt; 

&lt;p&gt;
 So should you buy your own? Well, I like it so far, and would tenatively
 say yes. At $25 it&apos;s cheaper than most cases, and it keeps my treo sleek
 enough to stay in my pocket.
&lt;/p&gt;

&lt;p&gt;
 I&apos;ll post another review in a few weeks, when I&apos;ve had a chance to really
 put it through the paces.
&lt;/p&gt;

&lt;table class=&quot;productTable&quot;&gt;
 &lt;tr&gt;
  &lt;td&gt;Company&lt;/td&gt;
  &lt;td&gt;&lt;a href=&quot;http://www.bodyguardz.com/&quot;&gt;BodyGuardz&lt;/a&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
  &lt;td&gt;Product&lt;/td&gt;
  &lt;td&gt;&lt;a href=&quot;http://www.bodyguardz.com/BodyGuardz_for_PalmOne_Treo_750_p/nl-bt75-1106.htm&quot;&gt;BodyGuardz for PalmOne Treo 750 / 755&lt;/a&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
  &lt;td&gt;Price&lt;/td&gt;
  &lt;td&gt;$24.95&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
  &lt;td&gt;Other Info&lt;/td&gt;
  &lt;td&gt;They have skins for almost any phone, plus sheets you can cut to shape yourself.&lt;/td&gt;
 &lt;/tr&gt;
&lt;/table&gt;
</content>
</entry>

<entry>
<title type="html">Why Are CS Degrees So Worthless?</title>
<category term="" />
<id>http://darkstar.frop.org/~zwhite/blog/2007/05/29/20070529-cs-degrees</id>
<updated>2007-05-29T18:13:27Z</updated>
<published>2007-05-29T18:13:27Z</published>
<link rel="alternate" type="text/html" href="http://darkstar.frop.org/~zwhite/blog/tech/20070529-cs-degrees" />
<content type="html">&lt;p&gt;
 There&apos;s a debate starting on &lt;a href=&quot;http://www.cis.upenn.edu/~farber/&quot;&gt;Dave 
 Farber&apos;s&lt;/a&gt; &lt;a href=&quot;http://www.interesting-people.org/archives/interesting-people/200209/msg00042.html&quot;&gt;Interesting People&lt;/a&gt; list. They&apos;re starting to
 discus why it is there aren&apos;t more CS students, but I think that&apos;s focusing
 on the wrong aspect of the debate. The better question is why CS programs
 suck so much.
&lt;/p&gt;

&lt;p&gt;
 I sent this post to Mr. Farber, in the hopes he would post it to his list.
 This is a question I have wondered about for many years.
&lt;/p&gt;

&lt;pre&gt;
There&apos;s one question I have for everyone on this list: Why do we need 
more CS students? 


A bit of background for everyone before I jump into my question:

I&apos;m currently 28 and have been working professionally in one tech job 
or another for 10 years now. I&apos;ve been interested in and learning about 
technology since I was in grade school. Somehow my personal track kept
me away from programming and steered me towards a sysadmin career, but my 
experience has put me into contact with many different programmers and
technical people. Today, in addition to my system administration work,
I also write web applications in php and python that are used in a number 
of different organizations in the energy sector.

I have not attended college. I graduated from high school in 1998 and saw 
the writing on the wall. I moved immediately to Northern California and 
started working in the tech industry on the basis of my technical skill.
Had I gone to college I would have graduated just in time to hold a 
degree that might get me a McJob (2002, just after the bubble burst.) 


In my past I&apos;ve worked for ISPs, local tech houses, software companies
and non-technical companies. There are a number of roles for which
companies indicate they want someone with an EE/CS or equivilent. 
No matter what their actual dutites I&apos;ve seen 4 basic archetypes: 

The Genius; The genius was the smartest guy at the company. He knew how 
everything worked and was the guy that management went to when they had 
something new to do.

The Programmer; The programmer was just that, the average, everyday 
computer programmer.
The Admin; The senior system administrator, who made the decisions on 
what their technical infrastructure looked like.

The Tech; The tech was generally a semi-skilled worker doing grunt work,
such as help desk, QA or system maintenance.


Let&apos;s take a look at The Genius first. The Genius is the guy that&apos;s been
programming since he was 8. He started on a C64 or an Apple II with basic 
and moved on from there. In high school he was reading Diijkstra and
Knuth. From there he either went on to the working world or he went on to 
study EE and/or CS, often on a full scholarship.

These guys have universally put me to shame. I have tried to debate them
in my weaker moments and have always lost. I&apos;ve talked to many of them
about their college experience and except for one guy all of them said
it was a waste of time. Of those that didn&apos;t attend college they have 
universally said that they&apos;ve never regretted not going.

The Programmer is by far the most common player. This is also the 
player that is most likely to benefit from a CS degree. The problem?
They didn&apos;t learn anything useful.

I have had to educate programmers in basic skills they should have
picked up in CS 101. For example, not long after I joined a well-known
dot-com there was a vulnerability discovered in OpenSSL. Naturally I
upgraded it to avoid the exploit. 

A couple weeks later our head programmer (who held a CS degree from 
Caltech) came to talk to me about it. Apparently because I had installed
both the shared and static versions of OpenSSL it was now being compiled
against the shared version. I spent an hour explaining the difference 
between shared libraries and static libraries. He still wasn&apos;t convinced
it didn&apos;t matter. So I spent 30 minutes explaining to him (in step by 
step detail) how to change &apos;-lopenssl&apos; to &apos;/usr/local/lib/openssl.a&apos; and
how it was no different than not having the shared library in the first 
place.

The kicker? A couple hours later he came back with my boss and they asked 
me to remove the shared library because they thought it was causing 
problems. I did so and it didn&apos;t fix their problem. A month later I put 
the shared library back and never heard another complaint.

For those of you unfamiliar with Unix the problem I just described is 
a basic one. A programmer who doesn&apos;t know the difference between a 
shared library and a static library is similar to a car designer who
can&apos;t tell you the difference between a carborator and fuel injection,
and has to ask the mechanic to explain the differences. 

The Admins and The Techs are really in the same boat when it comes to 
a CS degree. There&apos;s no reason for having them go through a CS program. 
If these jobs need any training after highschool it&apos;s best handled either 
on-the-job or in some sort of vocational school. (Those have their
problems too, however. I will not hire an ITT grad, for example, as I&apos;ve
never seen any worth their salt.) 


This brings us around to my question; Why do we need more CS students?
Or, more correctly (if a bit harsh); Why are CS degrees so worthless? 

The smartest guys, those who should be involved in getting their
doctorate, see it as a waste of time because they learned it all in high
school. There&apos;s nothing a CS degree will teach them they don&apos;t already
know. 

The guys that would actually benefit from a CS degree aren&apos;t learning 
anything either. Why? They&apos;re not being taught. Current CS degrees focus
so much on algorithms and math that they see the basics as unimportant. 
They&apos;re teaching students to jump and do cartwheels but they don&apos;t teach
them how to walk. 

There are a couple interview questions I ask every candidate that anyone
with a CS degree should be able to answer in under a minute. Most (~60%)
of the candidates I&apos;ve seen can&apos;t answer these questions. 

The questions:

Please write a program that prints out the numbers 1 through 10 
in the language of your choice. 

Please demonstrate a snippet of code in the language of your
choice that will swap the value of two variables. 

I&apos;m not looking for specific answers here. I&apos;m looking for whether they 
can answer these very basic questions in under 5 minutes. 

I&apos;ve asked a number of candidates these questions. Those who did not
have a degree answered them every time, typically in under a minute.

It&apos;s only the people who have a CS degree that have ever failed these 
questions. Some of those guys had more than 5 years working experience, 
too! To be fair, most of the guys that failed these questions were trying 
to get their first job. 

It still leaves me wondering: How did these guys gradutate with a CS
degree in the first place?
&lt;/pre&gt;
</content>
</entry>

<entry>
<title type="html">Flavourswap 1.1! Now with flavor!</title>
<category term="" />
<id>http://darkstar.frop.org/~zwhite/blog/2007/04/19/20070419-flavourswap</id>
<updated>2007-04-19T17:17:40Z</updated>
<published>2007-04-19T17:17:40Z</published>
<link rel="alternate" type="text/html" href="http://darkstar.frop.org/~zwhite/blog/tech/20070419-flavourswap" />
<content type="html">&lt;p&gt;
 Hot on the heels of the &lt;a href=&quot;/~zwhite/blog/tech/20060624-flavourswap-plugin&quot;&gt;initial Flavourswap 1.0 release&lt;/a&gt; is the highly anticipated release of 
 &lt;a href=&quot;/~zwhite/pybloxsom-plugins/flavourswap-1.1.py&quot;&gt;Flavourswap 1.1!&lt;/a&gt;
&lt;/p&gt;

&lt;p&gt;
 Changes in this release include support for arbitrary browsers. No more
 browser specific code!
&lt;/p&gt;

&lt;p&gt;
 Because I wanted to keep this lightweight I&apos;m not using any external 
 libraries. It&apos;s pure python and shouldn&apos;t add much overhead. However,
 you&apos;re limited to simple string matches. You can match anything that the
 &lt;a href=&quot;http://docs.python.org/lib/string-methods.html#l2h-241&quot;&gt;find&lt;/a&gt;
 method of a string will match.
&lt;/p&gt;

&lt;p&gt;
 If you&apos;re the sort of person who runs pybloxom and want to customize your
 site with a unique look based on the person&apos;s webbrowser, &lt;a
 href=&quot;/~zwhite/pybloxsom-plugins/flavourswap-1.1.py&quot;&gt;download it&lt;/a&gt; today
 and give it a spin.
&lt;/p&gt;

&lt;p&gt;
 Also, this release means that OmniWeb users now get to enjoy the same
 rendering speed boost that gecko users enjoy. Unfortunatly Safari as
 shipped still doesn&apos;t recognize &amp;amp;copy; and &amp;amp;nbsp; so only
 OmniWeb gets the boost.
&lt;/p&gt;
</content>
</entry>

<entry>
<title type="html">OS X Tips Article That Actually Helped Me</title>
<category term="" />
<id>http://darkstar.frop.org/~zwhite/blog/2007/03/21/20070321-osxtips</id>
<updated>2007-03-21T17:25:27Z</updated>
<published>2007-03-21T17:25:27Z</published>
<link rel="alternate" type="text/html" href="http://darkstar.frop.org/~zwhite/blog/tech/20070321-osxtips" />
<content type="html">&lt;p&gt;
 A just ran across &lt;a href=&quot;http://www.macosxtips.co.uk/index_files/terminal-commands-for-hidden-mac-os-x-settings.html&quot;&gt;this&lt;/a&gt; article over at
 &lt;a href=&quot;http://www.macosxtips.co.uk/&quot;&gt;Mac OS X Tips&lt;/a&gt;. I knew about some
 of those but some I didn&apos;t know about. 
&lt;/p&gt;
</content>
</entry>

<entry>
<title type="html">Announcing Flashmounter!</title>
<category term="" />
<id>http://darkstar.frop.org/~zwhite/blog/2007/03/15/20070315-flashmounter-announcement</id>
<updated>2007-03-15T21:44:41Z</updated>
<published>2007-03-15T21:44:41Z</published>
<link rel="alternate" type="text/html" href="http://darkstar.frop.org/~zwhite/blog/tech/20070315-flashmounter-announcement" />
<content type="html">&lt;p&gt;
 It mounts, it performs backups, it slices and dices your data with the 
 greatest of ease!
&lt;/p&gt;

&lt;p&gt;
 Er, wait. Wouldn&apos;t slicing and dicing be a bad thing?
&lt;/p&gt;

&lt;p&gt;
 Anyway, I have written what I feel is the coolest software to be conceived
 of and written in 3-4 hours this week!
&lt;/p&gt;

&lt;p&gt;
 I have this mythtv machine with a built-in SD reader. My camera uses SD. It&apos;s
 currently a PITA to connect any of my SD readers to the mac mini. So I 
 wrote a script that monitors the state of that SD reader and mounts my SD
 card as needed. It also watches for certain files to show up in the root of
 the device. If it sees &quot;unmount&quot; it will unmount the device. If it sees
 &quot;backup&quot; it will tar up the contents of the device in a location I set, by
 date and time. 
&lt;/p&gt;

&lt;p&gt;
 The really cool part is that it has growl support. Thanks to
 &lt;a href=&quot;http://the.taoofmac.com/space/Projects/netgrowl.py&quot;&gt;netgrowl.py&lt;/a&gt;
 I was able to deliver growl messages to my mini. I&apos;m also running netatalk,
 so I can use the SD reader in my mythtv machine without even sshing to
 that machine. I just create the proper files as part of my workflow. After
 work, I&apos;ll set up some automator flows to automate my photography workflow
 even more.
&lt;/p&gt;

&lt;p&gt;
 I&apos;ve taken a &lt;a href=&quot;/~zwhite/pics/flashmounter-demo.png&quot;&gt;screenshot&lt;/a&gt;
 of flashmounter in action, though it&apos;s not much to look at. You can download
 &lt;a href=&quot;/~zwhite/flashmounter.tgz&quot;&gt;flashmounter&lt;/a&gt; too.
&lt;/p&gt;
</content>
</entry>

<entry>
<title type="html">The $3000 iPhone?</title>
<category term="" />
<id>http://darkstar.frop.org/~zwhite/blog/2007/03/01/20070301-iphone</id>
<updated>2007-03-01T16:47:32Z</updated>
<published>2007-03-01T16:47:32Z</published>
<link rel="alternate" type="text/html" href="http://darkstar.frop.org/~zwhite/blog/tech/20070301-iphone" />
<content type="html">&lt;p&gt;
 I haven&apos;t really written, or even said much, about the iPhone. Until it&apos;s
 been released and people are able to hold it in their hand I haven&apos;t seen
 the point. However, Chris Seibold at &lt;a href=&quot;http://applematters.com&quot;&gt;
 Apple Matters&lt;/a&gt; just published the most ridiculous 
 &lt;a href=&quot;http://www.applematters.com/index.php/section/comments/how-much-is-the-iphone-really-going-to-cost-you-try-3000/&quot;&gt;article&lt;/a&gt; I&apos;ve read
 about the iPhone yet.
&lt;/p&gt;

&lt;p&gt;
 In the article he adds a lot of claptrop about how much the iPhone &quot;really&quot;
 costs, and of course he inflates the prices as much as he can.
&lt;/p&gt;

&lt;blockquote&gt;
 &lt;p&gt;
  iPhone: $499&lt;br /&gt;
  $500 bucks for a cell phone? Its an outrage. Well, remember that it is also 
  an internet device, a camera, an iPod, and a game-playing wonder. Now how 
  much would you pay? 
 &lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;
 This is actually not a bad price for a cell phone. Remember when the Razr was
 first released? It was a $50 phone in a thin case that cost $500. The StarTac
 was over $600. The Treo 650 was in the same price range. Still think the 
 iPhone price is all that bad?
&lt;/p&gt;

&lt;blockquote&gt;
 &lt;p&gt;
  Cingular service: $39.99(450 minutes) to $199.99 (6000 minutes)&lt;br /&gt;
 &lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;
 Why is this included as part of the phone? You&apos;d have to pay this no matter
 which phone you get. Let&apos;s throw this number away, since it doesn&apos;t affect
 the actual price of the phone.
&lt;/p&gt;

&lt;blockquote&gt;
 &lt;p&gt;
  Bluetooth earpiece: $50&lt;br /&gt;
  If you&apos;re cool enough to have an iPhone, you&apos;re probably legally required to 
  have the Bluetooth iPhone earpiece jammed in your ear canal 
 &lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;
 Chris&apos; reasoning is just silly here. Another cost we don&apos;t factor in, because
 it&apos;s the same for every phone.
&lt;/p&gt;

&lt;blockquote&gt;
 &lt;p&gt;
  Data package: $20-$50 &lt;br /&gt;
  The smartphone connect with unlimited data is only $20. You think Cingular 
  is going to let you get away with that? Surely you jest. More likely you&apos;ll 
  be hit with the $50 Blackberry connect fee. 
 &lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;
 Chris&apos; speculation is not unreasonable, but it&apos;s also wrong. There&apos;s no
 reason that you have to speculate here, however. Cingular has already said
 that you will need the same plan as other PDAs, like the Treo 650. The cost?
 $40/mo.
&lt;/p&gt;

&lt;blockquote&gt;
 &lt;p&gt;
  Getting out of your current contract:  $200.00 &lt;br /&gt;
  Sure, you say, there is no way you&apos;ll pay it, but start setting some dough 
  aside. 
 &lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;
 Here we see Chris adding costs in that really don&apos;t belong, just to inflate
 the price. Another cost we can safely drop.
&lt;/p&gt;

&lt;blockquote&gt;
 &lt;p&gt;
  Car charger: $40 &lt;br /&gt;
  Your plan is to keep the iPhone charged, right? With a five-hour battery 
  life a portable charger is not an option, it is a necessity. And since the 
  phone is new youll have to pay an exorbitant amount. 
 &lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;
 This one is pure 
 &lt;a href=&quot;http://en.wikipedia.org/wiki/Fear%2C_uncertainty_and_doubt&quot;&gt;FUD&lt;/a&gt;.
 The iPhone uses the same dock connector as every model of the iPod, except for
 the shuffle. I&apos;d wager that a large portion of the iPhone&apos;s target market
 already has a car charger for their iPod. But I&apos;ll be a little bit fair to
 Chris, we&apos;ll give him this one for now at $15.
&lt;/p&gt;

&lt;blockquote&gt;
 &lt;p&gt;
  Case: $50 
  Cmon, youve spent all this jack for a phone and youre going to try to shave 
  a few pennies off the cost by skipping or making your own cover? I think not! 
 &lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;
 A $50 case? I suppose you could spend that much. I think the cost will be 
 more along the lines of $25 at most, but maybe if you have a lot of 
 disposable income you&apos;ll spend as much as $50.
&lt;/p&gt;

&lt;p&gt;
 So what&apos;s the final price? With two years of service and the above costs
 completely factored in, I total $1500 over 2 years. Of that $1500, $540
 is the upfront cost and the other $960 is spread out over the next two
 years in the form of the data plan. Somehow, that doesn&apos;t seem quite
 as bad to me.
&lt;/p&gt;

&lt;p&gt;
 I&apos;m making a couple assumptions here, but I think they&apos;re resonable 
 assumptions. First, I&apos;m assuming that you already have a cell phone
 plan. Second, I&apos;m assuming that you either are no longer in contract
 or &lt;a href=&quot;http://consumerist.com/consumer/cingular/break-your-cingular-contract-without-fee-thanks-2-txt-msg--raise-222993.php&quot;&gt;will&lt;/a&gt; 
 &lt;a href=&quot;http://consumerist.com/consumer/cancellations/break-your-verizon-contract-without-fee-thanks-to-txt-msg-raise-228495.php&quot;&gt;find&lt;/a&gt;
 &lt;a href=&quot;http://www.cellswapper.com/&quot;&gt;a way&lt;/a&gt;
 &lt;a href=&quot;http://forums.mobiledia.com/topic20949.html&quot;&gt;out&lt;/a&gt; of your
 current contract without paying. Given the audience for my blog
 I&apos;m pretty confident that both situations apply.
&lt;/p&gt;

&lt;p&gt;
 Finally, the question I&apos;ve been asked most. Will I get an iPhone? I don&apos;t
 know yet. I would love to have one but that&apos;s not the only factor. Dad
 already offered to buy me one in June, after he gets the rest of his
 inheritance. I don&apos;t know that I&apos;ll take him up on that, however. I
 carry a cingular phone for work, so I&apos;ll have to either activate a iPhone
 through work or switch to cingular for my personal phone. I don&apos;t think I 
 want to go to GSM, which has shitty coverage outside of major cities. Plus,
 carrying two cingular phones would be pretty retarded.
&lt;/p&gt;
</content>
</entry>
</feed>
