Monday August 31, 2009 
James C. Liu's Weblog
Epson NX - A cheap refurbed printer
I went out shopping at Fry's last Friday and just on a whim, saw they had a diminishing stack of refurbished Epson NX400 inkjet Multi-Function copier, scanner, printers. Price was right. Just $45. So I bought one. Heck, the stack of 4 black, cyan,magenta, yellow cartridges alone was worth about that much. So it was definitely a good deal. Like buying the cartridges and getting a free printer!
I waited until Saturday evening to unpack and install. I used to dread hooking up printers because it'd be a lot of trial and error to get it working. But if folks have noticed since SNV build 90 or so, the printing has been greatly simplified by the support of CUPS option. Solaris LP is still standard on the system, but it's very easy to change. Simply, use the print-service -s cups command to switch over from regular LP to CUPS (see the man page for more info).
The reason why I bought it was due to clogged heads on my older Epsons, and try as I might with the Windex spray into the heads and soak over night (folks may want to do some web search on ammonia-based cleaning and declogging procedures), the black printing head was clogged beyond repair. I did get the colour printing going, but after many dark stains on my fingers, I gave up.
And the reason for my clogged inkjet heads was due to lack of use. Ever since my wife discovered 14 cents/picture Costco Photo Center then found out she can pick up in at most an hour (sometimes in 30 minutes!), she'd rather just print it there. So I don't need to print colour copies often at home, and if colour inkjet printers don't get used often, ink can dry on the heads and clog them up. Some printers are designed so the cartridges contain a fresh head, like the HP inkjet printers. However, this tends to add cost to each cartridge, but has the advantage that each cartridge comes with a new print-head. Needless to say, I placed my bets on lower cost cartridges.
Still, I have to print with a colour printer every Fall, and that's because my kids go back to school. Our school has an annual request for emergency rations and updated emergency contact information, which includes a couple of colour photos of each child that can be used in case of an emergency for identification by law enforcement or school staff.
So what was great about the NX400 was that it has USB and PictBridge. It allows me to directly print from the camera. It also has a small 2 inch or so colour LCD display. And the reason I bought it was because if I couldn't get Solaris to recognize it, at lease, with direct printing from a camera or USB, I could copy my picture onto some flash memory and use my camera as the printer driver. But deep down, I was hoping for CUPS to recognize it.
Upon plugging it in the first time, Solaris CUPS responded and loaded the driver for Epson Stylus CX8400. I brought up my browser and put in the URL for http://localhost:631/ and then tried to use the browser links to have CUPS print a test page. But after shooting out 5 pages of blanks, then marking the top of the next 20 pages with a couple of characters each, the NX400 was definitely not happy. So I managed to dequeue the remainder of the print job, and shut down the printer and restart it to clear the job. I guessed this would happen and it did so nothing was new. But I decided to make a concerted effort to try each printer type under Epson listed in CUPS and see if those drivers would work. One by one, I tried for about an hour, working backwards from the bottom of the list. I finally tried the Gimp-print driver for the Epson CX3100, and to my great surprise, the test page printed beautifully. I couldn't believe it, and setup a remote system to network print using this printer. On the remote side, I configured it to issue out generic Postscript. And it too printed out over the network! Fantastic.

Fig. 1. Epson NX200 multi-function printer/scanner/copier
So I went back to Fry's Sunday and found they were out of stock. There, I notice another Epson printer, the NX200, which looks almost the same in size, design, shape, and even multi-function scanner/copier features, except for no colour LCD display. Instead, it has push buttons. But this too, offers PictBridge and USB/SD card direct printing from my camera. When I asked the sales clerk if he had any NX200 units in the back, he said, "No." However he explained the Palo Alto store had 14 in stock. But what was amazing was the $29.99 price tag. A truly excellent deal considering the print cartridges are worth more than that.
I rushed to the Palo Alto store and on a hunch, picked up another printer, the NX200. Rushing home, I unpacked it, and it was indeed identical, using the same cartridges, and had the same chassis and only varied by the display and button interface. Plugging it in, and configuring CUPS, indeed, it uses the same Stylus CX3100 Gimp-print driver and prints well under Solaris. I went back to the Palo Alto store in the evening to check if there were more, and picked up 3 NX200s, no limit, at $29.99 each. I figured my parents, in-laws, and other friends might need a printer as a gift.
In printing out colour pictures, I found the PictBridge from my DigCam to printer to work great. Colours were vivid and accurate and no PC needed. However, printing from GIMP on Solaris, simple line art prints beautifully and fast. But photo-printing is too light in 360 DPI as well as 720x360DPI, but too dark using 720x720 DPI and finer. I tried playing around with GIMP brightness and contrast and colour saturation. I managed to get the 720x360DPI mode to print acceptable albeit somewhat grainy pictures, and in doing so, I also accomplished what I originally set out to do - to print my kids ID photo collage and age/height/wt info on the picture for their start-of-school-year emergency packet.
August 31, 2009 05:13 PM PDT Permalink
JavaOne/CommunityONne OpenSolaris 2009-06 Install
I'm blogging from the OpenSolaris install booth at CommunityOne/Javaone 2009 at Moscone Center, San Francisco. This must be the 10th show I've actively participated in. Prior years, I was a Java guy setting up talks, doing BOFs and sessions of my own or with a team, but in recently years, since moving over the C-side of Solaris drivers, that hasn't been the case. And in a way, it was a protest against policy on giving away bags to the Sun speakers, which I have a great collection of in the early years. LOL!
Of course, from an internal standpoint, my colleagues and I in the driver team always have a lot of fun doing bring up of systems on earlier versions of OpenSolaris. Some versions die horrible deaths and take hardware with it. But as part of the Instal-Booth staff at the show, I gave a final test run of the bits yesterday, and after a little bit of fiddling last night, I've now got 3 laptops installed with the June 2009 bits of OpenSolaris. BTW, we announced them yesterday.
Overall, the experience was pretty good. I've really gotten fond of USB-stick install, and so I carry around at least a few 1GB sticks. The image is about 800MB on the USB stick. The CD image is just under 700 MB. The USB stick seems to average just 18 minutes on my dual core laptop, and over 31 minutes from a USB CDROM drive. Most of the folks have some trepidation about install because currently, we're not bundling a partition utility. But colleague Mark Logan recently checked GNU parted ported to Solaris into the build tree, so it should be coming soon, at least on Nevada. It may take a bit of time to appear on formal install media, but what that means hopefully is that folks will be able to boot the runnable image, then upload via USB bits as a separate wad of stuff, and then unpack and run it. It includes NTFS support and I've gotten it to work on most disks and laptops and systems for dual-boot.
But just in case we have issues with some disks and VTOCs that don't quite follow a standard, I carry a Knoppix 6.0.1 bootable USB jumpdrive which seems to deal with partitioning a little bit better than Solaris due to a broader support for standard and non-standard VTOCs disks. Speaking of disks and VTOCs, some of the really cheap 2GB and 4GB USB sticks don't seem to follow VTOC standards either and while those sticks are flashable and bootable for OpenSolaris, for some reason, we can't install from them due to a particular read and mount issue. Most higher-end Sandisk USB sticks have worked great, and the higher quality sticks usually have been great. But the low-end 2GB+ ones have been problematic.
Armed with the right tools, OpenSolaris 2009-06, at least for me, installed fine, didn't kill my Windows slice, and most everything works. HD Audio, graphics, networking. I was even surprised when my Realtek USB wifi came up automatically with NWAM. That's impressive. Even my webcam works on both the Acer which has a built-in unit, and my el-cheapo A4Tech 720MJ $25 usb cam.

Above is a picture of a developer session I sat in at Community One while playing with my webcam. I was video conferencing with another colleague via Ekiga.net. The A4Tech camera is fairly inexpensive but follows the USB Video Class standard and works fine with Solaris. It's been problematic in the past with OpenSolaris finding a cheap USB Video Class webcam because of cost. It seems like a lot of vendors either claim support but don't quite follow the standard, or use one of two other protocols. But with Microsoft demanding vendors to follow the USB VC standard for 2009 and later cams to have Vista certification, hopefully, more cheaper cameras will arrive on the market for under $25. I will testify that the on-board webcams for many netbooks and laptops, like the Toshiba M10 and R600 and for the Acer 8.9 and 10 inch netbooks, the Toshiba NB200 network, etc. all seem to have working USB webcams that run fine with OpenSolaris. One thing with the software on GNOME is that it's still a bit fresh and so the streaming images have streaks. I haven't looked at the source yet, but it may be that double buffering or lack there of is leading to streaking, or maybe some USB interrupt architecture that unnecessarily impacts streaming video is causing streaking on OpenSolaris. But the picture is still very usable.
Signing off for now. More conference to attend.
I did find out the latest Mozilla Firefox has some better security, but I used to set my forms to prefill name and email address for me, but those settings are lost. I have to figure that out June 02, 2009 11:24 AM PDT Permalink
Hacking nevada audiohd parser for S10 update 6
I received a phone call from a partner asking about running a demo on a new workstation/desktop platform at a tradeshow soon. He needed to get audio working on a number of systems to play simple clips, maybe some online YouTube stuff. He knew the Solaris audiohd driver was working great in latest Nevada SXCE but he hasn't been able to get the same support for audiohd drive on Solaris 10 update releases.
Just last week, a colleague mentioned the same problem on a new hardware platform also going through bring up with Solaris 10 update. So I got around to finally trying to back-port the latest audiohd codec parser to S10 from the Nevada source. Luckily the work was trivial. I just needed to remove a single function symbol in a struct and comment out a couple other lines for audiohd_quiesce() and rebuild on S10. The code needs to compile using Sun studio compilers 11 or later or a full complement of GCC compiler tools with C99 support. On solaris 10, just 15 minutes and I have audiohd working with a number of new platforms. The codec capabilities parser is sure great.
I don't know if there are plans in place to back-port the parser formally to S10 update. Audio is still considered a secondary function, and likely, that's the priority where it'll remain. But I know for users like myself, audio is clearly a top priority to get working on any solaris system. Plus, I've been getting re-acquainted with all that 80's synth band music which I hadn't heard in a while, like Depeche Mode, Electronic, and New Order. I just bought the best-of collections for all 3 bands and listen to them on my test S10 lab boxes. Kinda cool and nostalgic at the same time.
I've put together a src tar-ball and uploaded it to http://blogs.sun.com/PotstickerGuru/resource/audiohd-solx86-4.tar.gz. Hopefully, some folks can get some use out of it if they plan to stick with S10 update only. February 10, 2009 02:11 PM PST Permalink
CPUs beyond the edge - Fiction
We watch movies like the Terminator with a lot of fascination, but few of us take the premise of the movie to be anything but outrageous fiction. After all, we all know time travel to the past is physically impossible in our continuum. We need to travel faster than the speed of light, and the thermodynamics of that would make the energy requirements unreal (both physically and mathematically). This isn't to say that we couldn't try to construct a type of singularity that violates the Magnetic Monopole prohibition in Maxwell's Laws, but in general, Quantum Thermodynamics, which remains valid despite relativity, says that Time is an arrow. We could travel into the future. We can't travel back.
But on more mundane levels, this means that a computer can't send back a Terminator to kill the mother of a future leader that would defeat it. But a computer could possibly take over and become sentient and operate in new ways such that it -knows- the future and the solution that fits the future. The computer could become so predictive, that we (humans) might get the fancy idea that we could use it like the Oracle at Delphi - as an engine to predict the future, and in doing so, become master of it. But what we didn't know was that the sum of all the probability distributions that would culminate in a solution to any Wave Equation set would somehow evolve into sentience. And it wasn't anything fuzzy in this logic - but brutal predictability that would allow the machine to predict and manipulate all aspects of our present to achieve its future.
Could it happen?
The conspiracy lunatics out there at the fringe already think so. A couple of key technologies have sprung up which feed such theories of Armageddon. And I must say that, while I smile and laugh at such paranoia, there is an iota of quiet, unease with which I mull over the consequences.
Many folks cheered in the late 90's when Bill Clinton signed new laws that freed up Cryptographic standards for export at 128bit to most of the world. This was seen by the "Randian" multi-national corporations as the liberation of industry to innovate and perfect secure eCommerce. To the lesser informed intelligence communities, this was the nightmare enforcement scenario. But to a very small and quiet research community that included a number of professors at some lofty institutions like Berkeley and Stanford, this was no big deal. Some of these folks have been working on new Operating Systems completely foreign to the traditional Binary Math systems that our current Silicon doping technologies have manifested. Amongst the inner circle are illuminaries from the world of Quantum Physics, from National Labs with particle accelerators, from materials sciences, and Mechano-Materials Scientists researching quantum power transfer techniques. No people from Sun, Intel, AMD, or even VIA (the makers of the low power Eden and C3 mini-ITX computers) have a clue as to what this new technology does.
In short, the new technology that will evolve/has evolved, are Quantum Computers. A whole new branch of mathematical science has been forged by this small cabal. They have taken secret billions of seemingly wasted Federal budget to create a device that is literally a 5 cm x 5cm x 5cm cubic block of 20 million quantum particle wells. Each with its own nano-super-conducting particle accelerator and phase control boundary condition generator, and each with a final state particle well EM field lattice. Heat transfer is via alpha particle injection and extraction through the lattice structure - aka - a Freeze Wave Collector. What's so expensive about this core? It's made mostly of Palladium and Platinum and the purity rivals that of any Silicon fab.
What can this core do? With just a small amount of power, less than several watts, it can break 128 bit RSA crypto in just 3 nanoseconds. The core is severely I/O limited and that's where the technology hasn't caught up. The damned memory latency and bus latency problems aren't unfamiliar to silicon-based binary computing. But the situation is aggravated even more in such a quantum computer because of Heisenberg's principles. One cannot extract the data without changing it. The temporary solution was developed by a brilliant Russian mathematician who defected quietly in 1988 to the US. No one made a big deal about it. He was a good Mathematiciam - world class. But the secret many didn't know about was his son, born in 1990. He was a child prodigy at age 3 and solved Fermat's problem independently at age 6. But basically, they solved it with an elegant wave equation equivalent to a "Checksum."
Computing Industry Leaders around the world have said many times over that "Privacy is Dead. Get over it..." But ironically, little did they know just how true it actually has been since 2002, when the US Gov't put 2 of these cores into operation to monitor all communications traffic world wide in all languages.
But it's been a couple of years now, and there are now 20 such cores running and on-line. Rumours amongst the system administrators say that these cores are buggy, and almost developing personalities. The scientists that built the cores say it's just a manufacturing flaw, or OS bug. But the operators suspect that some of these cores are sentient and the tremendous amount of bidirectional network traffic going on worldwide, would indicate that these cores are doing much more than listening, but actively infiltrating machines and programming them on their own. Is Skynet already alive?
[ Disclaimer: This is my Sci-Fi category. Please read with a grain of salt, pepper, cumin, garlic powder or whatever.] August 20, 2004 02:33 PM PDT Permalink


