As of about eighteen hours ago, the ST-E CW1100/CW1200 WLAN device
driver was merged into the Linus's mainline linux tree, culminating more
than a yearlong effort to get the driver into shape.

I'm now trying to get official permission to have the necessary firmware
included in the linux-firmware tree. This is stymied by ST-E's recent
implosion and the fleeing of all of my former contacts, but I'm told the
WLAN group will live on, most likely under the STMicro name.

There's also the open question of support for the CW1x50 and CW1x60
successor chips. I need access to hardware to do any meaningful
development, and I have no idea where to obtain that.

Today, I picked up a 20 kilogram package from FedEx. Upon opening the
more-than-a-litte-abused box, buried in the sea of foam peanuts was a
tightly-bubble-wrapped bundle of high-end kiosk-scale photo printer -- A
Sinfonia (nee Shinko) CHC-S2145.

It was express-shipped to me by LiveLink
Technology, a photo kiosk solution
provider based out of Merry Old England, for the express purpose of
getting it to work with Linux (by means of Gutenprint). LiveLink bucks
the industry trend by using Linux under the hood wherever possible, so
by sponsoring this work they benefit through lower costs and greatly
improved flexibility, and the community benefits from the native support
of a truly professional printer.

The Sinfonia CHC-S2145 carries enough media to handle seven hundred
prints at a time, spits out a 4x6" print in seven seconds, and will do
so day in and day out. As a testament to their robustness, this one
came heavily broken in to the tune of nearly 78,000 prints.

Anyway. I've already committed the initial support to Gutenprint, which
now generates proper raw spool files that match the output of the
Windows drivers. Unfortunately (as I've come to expect) this printer
requires an intelligent, two-way backend, which will take a bit more
time to put together. Fortunately I'll able to reuse large chunks of
the backend code I've written for other dye-sublimation printers.

In other news, earlier this holiday weekend I polished most of the rough
edges off of the Kodak 1400/805 Gutenprint code, and should have another
'805 in a few days -- the seller agreed to send a replacement after the
first one aggressively blew the magic smoke out of its power supply.

It's been a productive few days. But now it's time to produce some sleep.

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.

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.

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.

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.

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..

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.

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.

Now we're eating our words.

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.

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.

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.

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.

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.

Not any more.

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.

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)

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.

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.

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.
We need the tools to facilitate business. Heck, even Microsoft's
communication suites are fully federated (with XMPP!) these days.

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.

...

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?

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?

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.
Everything built on open, federated, interoperable standards.

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.

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...)

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.

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!)

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.

Anyway. Time for bed. Maybe I'll wake up with a better idea about what
battles to fight.

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.

Pulled support for Sagrad SDIO modules into a separate module that provides the appropriate platform data

Simplified Beacon filter configuration

Many, many, many checkpatch-suggested cleanups

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.

. 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!

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.

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 nee Network Solutions back in the day, but my eye is
wandering.

Mainly because Dotster does not, nor does it have any plans to,
support DNSSEC and IPv6 glue records.

If this goes well, then I'll be moving the rest over as they
eventually expire.

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.

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!

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).

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.

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.

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? :)