<?xml version="1.0"?>
<rss version="2.0">
  <channel>
    <title>Advogato blog for Pizza</title>
    <link>http://www.advogato.org/person/Pizza/</link>
    <description>Advogato blog for Pizza</description>
    <language>en-us</language>
    <generator>mod_virgule</generator>
    <pubDate>Wed, 19 Jun 2013 23:53:48 GMT</pubDate>
    <item>
      <pubDate>Wed, 5 Jun 2013 03:19:05 GMT</pubDate>
      <title>More printer goodness</title>
      <link>http://www.advogato.org/person/Pizza/diary.html?start=134</link>
      <guid>http://www.shaftnet.org/users/pizza/archives/2013/06/04/more_printer_goodness/index.html</guid>
      <description>&lt;p&gt;Tonight I finally committed support to Gutenprint for the Mitsubishi 
CP-9810D/DW high-speed kiosk dye-sublimation photo printers.  I have 
no idea if it actually works, but at least Gutenprint appears to be 
generating properly-formatted output.&lt;/p&gt;

&lt;p&gt;What made the CP-9810D/DW printers interesting is that not only did they 
require 12 bits of data per pixel, but they also required the lamination
pattern to be generated on the host and sent over as another image plane.&lt;/p&gt;

&lt;p&gt;Next up, I'll move on to the CP-D70DW/D707DW models.  These two models 
also require a host-supplied lamination plane -- and the image data 
appears to be a full 16bpp.&lt;/p&gt;

&lt;p&gt;It may be worth adding more generic lamination pattern support to 
Gutenprint, just to see what we can do.  But for now I'd just be happy 
with being able to test out all of this new printer support.&lt;/p&gt;

&lt;p&gt;On that note, I've lowballed a bid for a Kodak 805 printer (the 
successor to the 1400 large-format printer), and I'm in contact with 
someone who picked up a Mitsubishi CP-9550DW and is willing to be a 
guinea pig.  Hey, it's a start..&lt;/p&gt;</description>
    </item>
    <item>
      <pubDate>Thu, 30 May 2013 03:18:44 GMT</pubDate>
      <title>More on Google and XMPP</title>
      <link>http://www.advogato.org/person/Pizza/diary.html?start=133</link>
      <guid>http://www.shaftnet.org/users/pizza/archives/2013/05/29/more_on_google_and_xmpp/index.html</guid>
      <description>&lt;p&gt;I should elaborate a little more about the vitriol of my last post.&lt;/p&gt;

&lt;p&gt;Google's largest advocates were the more technically inclined.  The 
early adopters and the folks who either made technical decisions or 
heavily influenced those that did.&lt;/p&gt;

&lt;p&gt;This was especially true of Google Talk, which brought the first 
meaningful interoperable Instant Messaging to the masses, unlike MSN, 
Yahoo, ICQ, AIM, and several other proprietary networks.  This was the 
driving force to get our organizations to set up XMPP servers, because, 
hey, it'll interoperate with Google, and we all know Google does the 
right thing.&lt;/p&gt;

&lt;p&gt;Now we're eating our words.&lt;/p&gt;

&lt;p&gt;The masses that use Google Talk the same way as they used AIM or Skype 
or Facebook chat don't care; they were already using the network they 
started with.  Instead, it's the technical folks, and those who listened 
to us, that are screwed over.  Like, oh, our employers.&lt;/p&gt;

&lt;p&gt;It was never about "using a single client" -- it was about using a 
single, universal identifier (not unlike your email address) that let 
anyone get in touch with you, without having to juggle half a dozen 
separate logins.  With that, clients competed on features, rather than 
network-effected lockin.&lt;/p&gt;

&lt;p&gt;We consequently built our Instant Messaging systems under the assumption 
that it would be federated, and now we find ourselves suddenly unable to 
communicate with an increasing part of our contact lists simply becase 
they clicked "okay" when Google prompted them to "upgrade" to Hangouts. 
Bang, they're now forced inside Google's walled garden, and all 
non-google contacts are gone.&lt;/p&gt;

&lt;p&gt;If you're going to exist in a walled garden, why not just continue using 
Facebook?  Google is now trying to beat Facebook at its own game, and in 
doing so, is becoming the very enemy it once decried.&lt;/p&gt;</description>
    </item>
    <item>
      <pubDate>Wed, 29 May 2013 04:17:51 GMT</pubDate>
      <title>Wither Google?</title>
      <link>http://www.advogato.org/person/Pizza/diary.html?start=132</link>
      <guid>http://www.shaftnet.org/users/pizza/archives/2013/05/28/wither_google/index.html</guid>
      <description>&lt;p&gt;I remember Google's original motto of "Don't be Evil."  I believed them, 
because they backed up those words with actions.  Their products were 
open and interoperable.  Where standards didn't exist, they wrote and 
published them.  They were principled, and consistently so.&lt;/p&gt;

&lt;p&gt;Not any more.  &lt;/p&gt;

&lt;p&gt;It's been a slow slide from grace, but the final straw was them 
half-assedly killing their formerly interoperable IM service, Google 
Talk.  Ironically, this happened the very same day their CEO decried 
their competitors for not interoperating with open standards.&lt;/p&gt;

&lt;p&gt;Why is this a big deal?  Simple -- Network effects.  Why are telephones 
(and SMS), snail mail, and email so useful?  Because anyone can 
communicate with anyone else.  XMPP was that for Instant Messaging, and 
Google was its biggest champion.  Unlike its competitors, the service 
was federated, just like email.  You could operate your own server and 
still communicate with anyone else using the standard.  Everyone had a 
walled garden, but Google through their clout started kicking those 
walls down.  Until they changed their minds, using a set of bullshit 
excuses ("oh, the standard wasn't keeping up with our needs" -- 
nevermind they had no problem extending said standard before, and 
indeed, conveniently ignored many already-defined features they claimed 
they needed)&lt;/p&gt;

&lt;p&gt;Now it's effectively dead, because not only has Google actively chosen 
to wall their garden off, they did it in such a way that renders 
communication with the outsiders useless -- you're told they're 
available, but nothing gets through.  No errors, just silently dropping 
everything.&lt;/p&gt;

&lt;p&gt;Why am I so pissed about this?  My last two employers used federated 
XMPP to talk to vendors and customers.  One had independent servers, one 
used Google Apps directly.  And guess what?  Now everyone who uses 
google can still communicate, as can everyone who doesn't. but those 
inside the wall can no longer talk to anyone outside.  &lt;/p&gt;

&lt;p&gt;What the fuck, Google?  You just destroyed your primary value 
proposition over your competitors.  We don't want to socailize or "hang 
out", we want to communicate with people we need to communicate with. &lt;br/&gt;
We need the tools to facilitate business.  Heck, even Microsoft's 
communication suites are fully federated (with XMPP!) these days.&lt;/p&gt;

&lt;p&gt;I've had it.  Google, which I had such high hopes for initially, is just 
another Facebook now.  Only they've done the Embrace, Extend, Extinguish 
trifecta far more effectively than anyone else.&lt;/p&gt;

&lt;p&gt;...&lt;/p&gt;

&lt;p&gt;Today was my first day at the new job.  They're using a combination of 
Hosted MS Exchange and Skype for commnications.  It's an utter mess, 
slow, and won't scale much longer.  I'm supposed to give some 
recommendations on how to grow this cleanly, but what am I going to 
recommend?  Host everything ourselves (naturally) but should I fight for 
open systems (standard SMTP/IMAP, CalDAV, XMPP, built on LDAP) or just 
take the easy way out and recommend an all-encompassing Microsoft 
solution?&lt;/p&gt;

&lt;p&gt;After all, I have the only Linux desktop in the office.  So what makes 
the most business sense?  Where's the value proposition fighting this 
uphill battle?  Not only to the business, but to me, personally?  Heck, 
would I honestly be better off just doing my Linux work in a Virtual 
Machine?&lt;/p&gt;

&lt;p&gt;On that same note, I don't need Google to communicate.  I run the server 
that hosts my DNS, photos, web pages (ie this blog!), email, and IM 
presence.  RSS feeds adorn everything.  It even does calendaring and 
address books.  I'm working on adding federated VOIP services next. &lt;br/&gt;
Everything built on open, federated, interoperable standards.  &lt;/p&gt;

&lt;p&gt;I started this before there was any real choice, but I've kept at it 
because I believe in the principle that I should control my own data, 
and not rely on the good graces of an increasingly-arbitrary third party 
for my digital presence.&lt;/p&gt;

&lt;p&gt;The big feature that Hangouts added over Talk was (far) better Google+ 
integration.  But that presumes you actaully care about Google+. What 
did Google+ offer me that I didn't already have?  Or maybe I should 
rephrase that.  What did Google+ have to offer that they didn't just 
arbitratily take away?  (Aside from the ability to be a collosal waste 
of time, that is...)&lt;/p&gt;

&lt;p&gt;So, I've purged my Google+ profile, and told Google why when they asked.
It's a token gesture -- about as effective as farting into a hurricane.&lt;/p&gt;

&lt;p&gt;Since my employer doesn't use Google services, I've also purged all but 
the essentials from my Android phone; the stuff I personally find 
useful. Which boils down to Voice (far better than my carrier's 
voicemail system) and Maps (OSMand is catching up quickly though!)&lt;/p&gt;

&lt;p&gt;It's a shame there aren't any meaningful alternatives to Android; while 
I may be more than a little disgusted with Google these days, at least I 
still have the ability to recompile the entire Android system from 
scratch, and that's nothing to sneeze at.  And as increasingly bad as 
Google's garden walling is, it has quite a ways to go before it catches 
up with its competition.  If you can't beat them, join them.  Or beat 
them, then join them anyway.&lt;/p&gt;

&lt;p&gt;Anyway.  Time for bed.  Maybe I'll wake up with a better idea about what 
battles to fight.&lt;/p&gt;</description>
    </item>
    <item>
      <pubDate>Fri, 8 Mar 2013 01:09:47 GMT</pubDate>
      <title>Anyone looking for a kernel hacker?</title>
      <link>http://www.advogato.org/person/Pizza/diary.html?start=131</link>
      <guid>http://www.shaftnet.org/users/pizza/archives/2013/03/07/anyone_looking_for_a_kernel_hacker/index.html</guid>
      <description>&lt;p&gt;For reasons I won't bother getting into here (other than to throw some 
token insults at Congress -- but they only hastened it along), I've been 
notified that, as of tomorrow and until further notice, I've been cut 
back to four day work weeks.&lt;/p&gt;

&lt;p&gt;So it's time I kick myself into active job hunting.  Anyone looking for 
an experienced software engineer that's highly proficient in C and is 
quite comfortable slicing and dicing low-level kernel (Linux, RTOSes) 
and device driver (Wireless Network, Sound, Printer, etc) code?&lt;/p&gt;

&lt;p&gt;I've done high-level systems design, low-level board bringups, database 
backends, Web UIs, data mining, test engineering, you name it.  Python, 
Perl, C, Shell, and Java. Javascript, C++, and even C# in a pinch.  What 
I don't know, I pick up as needed.&lt;/p&gt;

&lt;p&gt;&lt;a href="http://www.shaftnet.org/users/pizza/slp_resume.pdf" &gt;My current resume&lt;/a&gt; 
is available, naturally.&lt;/p&gt;

&lt;p&gt;I'm based out of Melbourne, Florida, but for some time I've been wanting 
an excuse to move on.&lt;/p&gt;

&lt;p&gt;It can't hurt to try, eh?&lt;/p&gt;</description>
    </item>
    <item>
      <pubDate>Sat, 2 Mar 2013 14:09:30 GMT</pubDate>
      <title>Linux wifi driver hackery, yay</title>
      <link>http://www.advogato.org/person/Pizza/diary.html?start=130</link>
      <guid>http://www.shaftnet.org/users/pizza/archives/2013/03/02/linux_wifi_driver_hackery_yay/index.html</guid>
      <description>&lt;p&gt;Since it's still a little too chilly outside for me to take apart my 
car to replace a defective seatbelt buckle, it's time for a writeup on 
what I've been up to with my wifi driver hacking.&lt;/p&gt;

&lt;p&gt;First, the venerable &lt;a href="http://git.shaftnet.org/git/gitweb.cgi?p=compat-wireless-cw1200.git;a=summary" &gt;.  For some reason, I keep being surprised at the 
amount of major surgery between the releases.  Since my &lt;/a&gt;&lt;a href="http://marc.info/?l=linux-wireless&amp;amp;m=136035553814767&amp;amp;w=2" &gt;last 
posting to linux-wireless&lt;/a&gt;, there's been a lot of work:&lt;/p&gt;

&lt;ul&gt;&lt;li&gt;Completely rewrote BSS join logic -- IBSS now works!&lt;/li&gt; 
&lt;li&gt;Respect TKIP/CCMP group key rx sequence counter&lt;/li&gt; 
&lt;li&gt;Improved 802.11g (ERP) coexistence&lt;/li&gt; 
&lt;li&gt;Eliminated callback function pointer structures&lt;/li&gt; 
&lt;li&gt;Detect CW1160/CW1260 chips (fw load is different though)&lt;/li&gt;
&lt;li&gt;Greatly simpified BSS loss detection&lt;/li&gt;
&lt;li&gt;Fixed deadlocks and/or OOPSen when hot-unplugging non-idle devices&lt;/li&gt;
&lt;li&gt;Pulled support for Sagrad SDIO modules into a separate module that provides the appropriate platform data&lt;/li&gt;
&lt;li&gt;Simplified Beacon filter configuration&lt;/li&gt;
&lt;li&gt;Many, many, many checkpatch-suggested cleanups&lt;/li&gt; 
&lt;/ul&gt;&lt;p&gt;I'll probably prepare another upstream submission this weekend, 
seeing that the driver is now handling everything I'm throwing at it.  
Finishing CW1260 support needs to wait until I have hardware to test 
aginst.&lt;/p&gt;

&lt;p&gt;Next, I've also spent time on the rt2800usb driver, adding the ability to
&lt;a href="http://marc.info/?l=linux-wireless&amp;amp;m=136222631725600&amp;amp;w=2" &gt;write 
changes back to the eeprom and embedded eFuses&lt;/a&gt;&lt;/p&gt;.  This lets folks 
update the production data baked into the module at manufacture time, 
which is occasionally necessary when your module vendor sends you seven 
hundred modules with a single bit flipped that breaks a legacy product's 
driver.  As an aside, Ralink's official drivers are... painful, to say 
the least.  But kudos to Ralink for maintaining them!

&lt;p&gt;Finally, I started adding support for my employer's STLC4560-based 
modules to the p54 driver.  They come in both SPI and SDIO variants, and 
have an onboard EEPROM for storing the Production Data.  The existing 
p54spi driver is hardwired to have the PDA loaded from userspace, and 
there's no support for SDIO devices at all.  This is a lower-priority 
project, but it is nice to be working with the venerable 
NWN/Intersil/GSV/Conexant/ST 'ARM MAC' again.&lt;/p&gt;</description>
    </item>
    <item>
      <pubDate>Sat, 2 Mar 2013 12:31:04 GMT</pubDate>
      <title>2 Mar 2013</title>
      <link>http://www.advogato.org/person/Pizza/diary.html?start=129</link>
      <guid>http://www.advogato.org/person/Pizza/diary.html?start=129</guid>
      <description>&lt;p&gt;Gah, Another youtube posted in the recentlog, breaking it thanks to illegal HTML syntax.  According to the w3c validator:&lt;/p&gt;&lt;br/&gt;
&lt;br/&gt;
&lt;pre&gt;&lt;br/&gt;
Error Line 15, Column 228: Self-closing syntax (/&gt;) used on a non-void HTML element. Ignoring the slash and treating as a start tag.&lt;br/&gt;
&lt;br/&gt;
&amp;lt;iframe allowfullscreen="" frameborder="0" height="315" src="http://www.youtube.com/embed/DR_wX0EwOMM" width="420"/&amp;gt;&lt;br/&gt;
&lt;br/&gt;
&lt;/pre&gt;&lt;br/&gt;
</description>
    </item>
    <item>
      <pubDate>Thu, 14 Feb 2013 04:14:37 GMT</pubDate>
      <title>Domain registrar recommendations?</title>
      <link>http://www.advogato.org/person/Pizza/diary.html?start=128</link>
      <guid>http://www.shaftnet.org/users/pizza/archives/2013/02/13/domain_registrar_recommendations/index.html</guid>
      <description>&lt;p&gt;In a couple of months, one of my domains is up for renewal.  I've 
been using Dotster for years now, ever since I ran screaming from 
Verisign &lt;em&gt;nee&lt;/em&gt; Network Solutions back in the day, but my eye is 
wandering.&lt;/p&gt;

&lt;p&gt;Mainly because Dotster does not, nor does it have any plans to, 
support DNSSEC and IPv6 glue records.&lt;/p&gt;

&lt;p&gt;If this goes well, then I'll be moving the rest over as they 
eventually expire.&lt;/p&gt;</description>
    </item>
    <item>
      <pubDate>Sun, 27 Jan 2013 22:10:39 GMT</pubDate>
      <title>Sunday Hackery</title>
      <link>http://www.advogato.org/person/Pizza/diary.html?start=127</link>
      <guid>http://www.shaftnet.org/users/pizza/archives/2013/01/27/sunday_hackery/index.html</guid>
      <description>&lt;p&gt;Faced with no getting-my-hands-dirty offline projects today, I 
decided to spend some time on various F/OSS projects that I've neglected 
as of late.&lt;/p&gt;

&lt;p&gt;The morning started with a flurry CW1200 driver hacking; this time 
focusing on simplifying its interrupt handling.  In the process I 
eliminated two more compile options and three bus-level virtual 
functions.  As nice as it is to write code, it's even nicer when you 
delete it without any loss of functionality!&lt;/p&gt;

&lt;p&gt;After that, I put my money where my mough was and wrote a systemd 
unit file for Photo Organizer's background workers.  For years I've been 
using screen and a sudo-driven cmdline to fire them off, because I could 
never come up with a reliable (and portable) init script to do the 
trick.  No longer.  As an aside, systemd is brilliantly put together and 
worlds beyond anything that's come before.  It JustWorks(tm).&lt;/p&gt;

&lt;p&gt;Then I pulled out my notes and turned my attention to Gutenprint.  
The Kodak 1400's unexpected complications derailed my plans a bit, but 
there were still three related printers whose spool formats I'd decoded 
-- The Kodak 8500, the Mitsubishi CP3020D/DU/DE, and the Mitsubishi 
CP3020DA/DAE.  They are now all supported by Gutenprint, and awaiting 
testing.  The latter two are the ones I'm most concerned with, as I took 
a few liberties with the spool format.&lt;/p&gt;

&lt;p&gt;Basically, the Mitsubishi-branded printers don't spool the data 
linearly into the printer; they basically write the color-interleaved 
data in backward chunks.  Consequently, the printer can't start printing 
until all the data is received.  To simplify things, I'm sending the 
data linearly in one big chunk.  Hopefully it will work.  We'll find out.&lt;/p&gt;

&lt;p&gt;On that note, if there's someone out there with one or more of these 
printers, care to help out?  Either by doing some test prints for me, or 
better yet, sending me the printers?  :)&lt;/p&gt;

&lt;p&gt;... and the day is far from over.&lt;/p&gt;</description>
    </item>
    <item>
      <pubDate>Wed, 23 Jan 2013 03:09:19 GMT</pubDate>
      <title>Okay... this is certainly strange..</title>
      <link>http://www.advogato.org/person/Pizza/diary.html?start=126</link>
      <guid>http://www.shaftnet.org/users/pizza/archives/2013/01/22/okay____this_is_certainly_strange/index.html</guid>
      <description>&lt;pre&gt;&lt;br/&gt;
Date: Tue, 22 Jan 2013 20:49:36 -0500&lt;br/&gt;
From: Jay Ronkonkoma &lt;br/&gt;
To: undisclosed-recipients: ;&lt;br/&gt;
Subject: Thank You for your hard work&lt;br/&gt;
&lt;br/&gt;
I'm a big fan of your work on Wireshark.  I was wondering what else you had&lt;br/&gt;
going on,  what you were doing that was new,  anything I could read would&lt;br/&gt;
be greatly appreciated.&lt;br/&gt;
&lt;br/&gt;
&lt;br/&gt;
Also, if you have the time and inclination.  please mail a postcard to my&lt;br/&gt;
daughter Amanda.  She would love to get a little post card from you.  she&lt;br/&gt;
is now 7 going on 15 if you know what I mean.&lt;br/&gt;
I would appreciate it, and I know she would love it.  If you don't I&lt;br/&gt;
appreciate your time&lt;br/&gt;
&lt;br/&gt;
Amanda Elia&lt;br/&gt;
[[ address snipped ]]&lt;br/&gt;
Ronkonkoma, NY 11779&lt;br/&gt;
&lt;br/&gt;
Humbly,&lt;br/&gt;
&lt;br/&gt;
Jay Elia&lt;br/&gt;
&lt;/pre&gt;&lt;br/&gt;
&lt;p&gt;I can't help but think this a soliticitation for highly illegal &lt;br/&gt;
activities, &lt;em&gt;if you know what I mean.&lt;/em&gt;&lt;/p&gt;&lt;p&gt;It's also been something like six years since my last contribution to &lt;br/&gt;
Wireshark, so it would seem someone's busy harvesting addresses from &lt;br/&gt;
old commit logs or somesuch.&lt;/p&gt;&lt;p&gt;EDIT: I've reported this email to google via gmail's abuse form.&lt;br/&gt;
Going to pass this on to the feds too, once I figure out how to do that.&lt;/p&gt;&lt;p&gt;EDIT2: I've reported this to the feds.&lt;/p&gt;&lt;p&gt;EDIT3: Two others have told me they've received this too.&lt;/p&gt;</description>
    </item>
    <item>
      <pubDate>Sun, 20 Jan 2013 14:10:03 GMT</pubDate>
      <title>Success with the Kodak Professional 1400</title>
      <link>http://www.advogato.org/person/Pizza/diary.html?start=125</link>
      <guid>http://www.shaftnet.org/users/pizza/archives/2013/01/20/success_with_the_kodak_professional_1400/index.html</guid>
      <description>&lt;p&gt;About a week ago a massive box was left on my doorstep containing a 
lightly-used Kodak 1400 large-format dye-sublimation printer.  Lightly 
used to the grand total of a whopping 72 prints, according to the 
self-test page.&lt;/p&gt;

&lt;p&gt;Unfortunately, my elation turned sour when I discovered that I 
couldn't just dump the raw spool file to the printer.  Firing up a USB 
sniffer under WinXP, I discovered that the to-the-printer protocol bore 
little resemblance to the spool file -- even the image data itself used a 
different format.  To top it all off, the printer needed intelligent 
buffering.&lt;/p&gt;

&lt;p&gt;So, armed with the USB sniffer output, I heavily modified the spooler 
I wrote for the Canon SELPHY printers.  Last night, I achieved success, 
and succesfully printed the WinXP test page I'd previously generated, 
but also an image printed using gutenprint.&lt;/p&gt;

&lt;p&gt;The Kodak 805 printer that replaced this one probably needs a similar 
treatment (given that it uses the same spool file format) but unless 
someone sends me a printer (or cash) I won't be able to test that theory 
out.&lt;/p&gt;

&lt;p&gt;I still have to generate another couple of test prints under WinXP to 
decode two remaining protocol options, but other than that, the Kodak 
1400 printer is now usable under Linux!&lt;/p&gt;

&lt;p&gt;Oh, this is the first image I printed on this thing via Gutenprint.  
I wish I could say it was something I took.&lt;/p&gt;

&lt;p&gt;
  &lt;a href="http://hubblesite.org/newscenter/archive/releases/2011/38/" &gt;
    &lt;img src="http://imgsrc.hubblesite.org/hu/db/images/hs-2011-38-a-web.jpg"/&gt;&lt;/a&gt;
&lt;/p&gt;</description>
    </item>
  </channel>
</rss>
