Sunday, April 11, 2010

software: slicing up PDFs

I wanted to combine all the statements that I downloaded for my audit into a single PDF and then exclude all the cover pages plus the pages of boilerplate disclaimer, "how to reconcile your account", etc. PDF is a standard page presentation format, so you would expect there to be software to do this besides paying Adobe $119 for Adobe Acrobat.

There is, but it's the usual onion: a load of crap surrounding a simple idea.
  • Googling for "split PDF" finds the usual mess of sites and shareware and paid utilities
    • So I restrict to "linux split PDF", which points me to pdftk that Sid Shepard wrote in support of his book. But installing that requires 50MB of supporting GCJ packages. It's really cool this runs as a standalone program, but I already have a Java interpreter installed so this approach is 20× bigger and more complicated,
      • So I google some more and find joinPDF, supposedly a simple script and a Java library written by Gerard Briscoe, but the directory to download for this is defunct.
        • There are tons of other search results for this, on Mac shareware sites (someone bundled a graphical user interface for the Mac for users who don't know how to enter command lines), but their links are broken as well. (As an aside, why can't Google be smart? If I Google "download joinPDF" and a page with that text has a broken link, then don't waste my time with that search result!! I need a decision engine, not a search engine.)
          • I finally find a web site that has the simple original joinPDF for download. Follow the README.txt's instructions to manually copy the Java library and two scripts to the right location, and I'm set!
            • It turns out the actual core of this onion is a Java library, iText written by Bruno Lowagie, that can slice and dice PDFs: both joinPDF and the bloated pdftk simply include this library and provide a wrapper around it

Now enter the command line
joinPDF combined_statements.pdf checking*.pdf
, and I get combined_statements.pdf! But the files use stupid date naming so they're in the wrong order. Rename them with ISO8601 date format 2007-01, 2007-02, etc. file names, repeat.

Now I have to excise the pages I don't want. joinPDF provides another command, splitPDF, to split a PDF into individual pages, but this does not remove particular ranges of pages. (I should have used splitPDF to split each statement into _page1, _page2, etc. files, then glued a subset of these together, but that seemed to mess up the thumbnail display). I could probably get the source code and write my own simple wrapper around the iText library for an excise command, how hard can Java programming be? But that seems silly. Surely a Portable Document Format should make it easy to cut out pages I don't want.

I bring up combined_statements.pdf in the awesome vim, text editor. It understands PDF files and colorcodes certain words of them: obj, /Type, Kids, stream, etc. Looks promising, but there's no obvious Start of page 39... End of page 39 to chop out. I just need a little guidance as to what these mean. Back to Google for "PDF file format". But all of the articles show graphical tools or describe the format from the bottom up instead of telling me at a high level what to look for. So I add one of the words in the file, endobj to my Google search, and find Introduction to PDF! That's what I need!

For reference, in a particular PDF produced by printing a Quicken document in Wine...

You need to delete the page object and optionally things it references. The PDF is full of flattened objects. Each object starts with NN 0 obj where NN is a number for the object and 0 is its version (0 for most generated objects), and ends with endobj . Delete from one to the other and you've removed an object.

One object in the file is:
2 0 obj
<< /Type /Pages /Kids [ 3 0 R
4 0 R
5 0 R
46 0 R
] /Count 44 >>
This lists all 44 pages in the file, using their object numbers. I think they're in the order you see them, so delete the Nth line inside the brackets and the PDF will no longer have an Nth page. Done! (My PDF viewer Okular doesn't seem to mind that the /Count 44 is no longer accurate.)

You can go on to actually get rid of the page object you removed from the page list:
46 0 obj
<< /Type /Page /Parent 2 0 R
/Contents 137 0 R
is the page itself. But that page object is only 12 lines long, where's the actual massive text block with the contents of the page? Well, any time you see NN 0, it's probably a reference to another object; Sure enough, /Contents 137 0 is another object with a huge stream of stuff:
137 0 obj
<< /Length 138 0 R >>
q 0.240000 0 0 0.240000 0 0 cm /R0 gs 0 w 1 J ... ...
So you can delete this as well. There are more objects you don't need, but they're small enough to leave around.

Update: The joinPDF author's web site actually does exist and you can click through (Software > joinPDF) to his software, but incredibly, Google search results show all those broken links in preference to this! Maybe because he's using frames, but c'mon Google, be smart!

Labels: , ,

Tuesday, June 30, 2009

computers: Linux update (I'm stuck with it)

I trashed my Windows partition — long story, still haven't given up — so I'm typing this in Firefox in the Kubuntu (K Desktop Environment on Linux) free software I fortunately had installed earlier. Sound still screeches, but apart from that I don't really notice, since I found 64-bit nightly Firefox builds.

KDE is just a nice panel strip and Kickoff menu below my browser windows ;-). (And someday, the promise of KDE's Nepomuk/Strigi/whatever semantic technologies, should Kubuntu ever deign to turn it on and explain it to me.)

Apparently Firefox integrates better with other Linux distributions, so maybe I shouldn't have used this one.

Labels: , ,

Tuesday, June 2, 2009

software: the world is flat but for my house

Google was at Maker Faire promoting SketchUp, a 3D program.

One of the things it can do is texture the surfaces of a model. Wait, Google Maps has a top-down picture of your house from satellite imagery. So draw boundary lines on the edges of your roof, then extrude vertically, then pull up the roof line, and you have a crude wooden-block house shape with your roof. Next, Google Street View may have a drive-by panorama of your house, assuming an angry luddite mob didn't block Google's camera car. So grab the street view and paste it on the front of the model. Five minutes later (assuming you've spent months or years mastering the unintuitive mysteries of a 3-D modeling program) you have a passable representation of your house. You can upload this to Google's 3-D warehouse of SketchUp designs, and you can place it in Google Earth, a more sophisticated version of Google Maps that presents landmarks and other geographic data anywhere and everywhere on earth. When people waltz around your neighborhood in Google Earth, they'll see your dollhouse.[*]
SketchUp house in Google Earth
In the screenshot, the panel below is Google Earth's in-program browser with the house model that Google's 3D ninja whipped up. (Click the screenshot to see more of the Google Earth program).

Yes my neighbors' houses are all low-rise ranch houses sunk into the earth, and there really is a 7-meter shiny ball parked on the street!

Google is crowd-sourcing the creation of a 3-D model of the world. As builders and planners and amateurs create more 3D models, the virtual world gets fleshed out until a fly-through in Google Earth is a pretty good approximation of being there. You can see downtown and the Bay Bridge are getting filled in.
view of downtown SF
It's more evidence for my thesis that computer previsualizations of movies will be good enough to replace the filmed movie.

All of these tools and programs are free, I don't know where Google makes money. Google is looking to get 3D into the browser, so soon you'll get all this in Google Maps; maybe Google will sell billboards in virtual earth. Or maybe they'll charge to have you socialize in it with other avatars.

[*] If you want to see my house, you've got to ask for the additional 3-D warehouse, it doesn't appear automatically. I guess that provides some protection for Google against complaints from house-proud owners that a griefer uploaded a model that makes their property look ugly, or shows a guy mooning out of a window.

An interesting question is why doesn't Google automate this. They have the overhead picture, they have the front picture, so run some AI to glue the two together so my neighbors' houses poke out of the ground to form a 3D canyon.
Road Rash screenshot
I asked Google's modeling ninja and he said the AI isn't smart enough to do it. 10 years ago MetaCreations released Canoma which supposedly let you semi-automatically pin photographs onto 3D shapes and it would guess the outlines of the building. Despite all the wonders our network of computers is producing, hard AI remains hard.

Labels: , , ,

Wednesday, May 13, 2009

computers: sort-of switching to Linux

My key software applications, the Firefox browser and Thunderbird e-mail client, are cross-platform. I do all my command-line work in a Cygwin bash shell, which implements UNIX command-line tools in Windows. I've used Linux and Solaris at work for years, and occasionally fiddle with my Linux-based One Laptop Per Child XO-1. I don't pay the unneccessary Microsoft Office tax. I'm not playing any computer games right now.

So I should be a perfect candidate to switch to Linux. Knowing this, I've left unused partitions on my Windows computers for an eventual Linux install.

I took the plunge a week ago on this desktop PC. At boot I can choose to start up Kubuntu Linux running KDE 4.2.2! It's handsome and full-featured, and it's easy to install thousands of free programs. But I'm typing this from Windows XP.

Installation went OK, nearly everything worked, and after entering a complicated command once I can access documents and music from my Windows C: drive. But getting from 90% working to 95% took several evenings, and I may never get to that final 5%.
the desktop made sound, but Flash videos were silent
(I found the magic incantation to make low-level audio prefer my sound card.)
no cutting-edge Firefox
(I finally found a special 64-bit nightly build.)
no Thunderbird 3
Supposedly there's a 64-bit build somewhere.
no Quicken
I guess I have to install WINE windows support
display corruption
install a different video driver?
background music or Flash sound turns into horrible screech the moment I load a new window
don't use my fancy sound card?!
locks up about once a day
more to come
I wrote separately on my choice and installation of Kubuntu; the gory details of the problems I continue to overcome are at http://userbase.kde.org/User:Skierpage.

My biggest let-down from my theoretical love for Linux and open source software to the reality was in software installation and update. Virtually everything that runs on Linux is freely redistributable, so as I've noted one installer can install any piece of software from a choice of thousands, and keep everything you've installed up-to-date! But the graphical installer lacks features, there are literally dozens of package installation programs (people on IRC told me to use apt, aptitude, dpkg, synaptic, adept, ...), and nothing keeps a history of "Thursday at 1am you installed package random_lib.3.14 because a stranger on chat thought it would make sound work." The killer feature is a maze and a mess.

Labels: , ,

software: installing Linux details

I could have compiled the Linux kernel and utilities from scratch, but decided to start with a distribution: a compiled set of programs with an installer that people have tested and believe work well together.

Linux allows a choice of window system environments. I've followed the progress of the K Desktop Environment for years. I've even installed it on Windows (which brings to mind Samuel Johnson's quotation, it “is like a dog’s walking on his hind legs. It is not done well [yet]; but you are surprised to find it done at all.” So I knew I wanted KDE.

Ubuntu is known for being a popular GNU/Linux distribution, and it has a variant Kubuntu that ships KDE as its desktop.

The good I downloaded the CD-ROM image for Kubuntu 9.04 in mere minutes over BitTorrent, burned it onto CD-ROM, and rebooted. The CD-ROM lets you run Kubuntu from the CD-ROM or install it onto your hard drive. I chose the latter. But the installer itself is a full Linux installation! You're running a graphical desktop, your mouse works. I clicked the link for _Release notes_ and a web browser started up and went to a web site. So if the installer works you can be confident that graphics, input, and networking are going to work.

Woes I had left an empty partition for a Linux install, but at some point formatted it for Windows because I got tired of Windows' disk check complaining about it. That confused the installer, I couldn't tell it "Put Linux on D: and give me a dual-boot system." But I was able to fire up an IRC client in the browser in the installer and visit the #kubuntu IRC channel to ask strangers for help, where an insanely helpful person named "firefishe" took me through configuring /dev/sda1. My disk problems meant that the alleged migration assistant that would transfer my settings from Windows didn't run.

GoodUpon reboot I was running KDE! The desktop is handsome and rich.

OK I was able to access my Windows C: drive and all my document, though the installer didn't set it up and the command to do so is very arcane.


Labels: ,

Tuesday, December 2, 2008

software: update incompetence, disk space

Our two Windows PCs have about 7 different update programs running: Adobe Acrobat updater, Apple Updater, Flash updater, GoogleUpdate.exe and GoogleUpdaterService.exe, Java update (jusched.exe?), LavaSoft Ad-Aware updater, Symantec LiveUpdate (AluSchedulerSvc.exe?), ThinkVantage updater, Windows update. And that's after I turned off several others in MSCONFIG and Services.

The update code built into Firefox (and the Thunderbird e-mail program, and other Mozilla-powered apps) is the gold standard for a single program updater. Occasionally when you run Firefox (or when you choose Help > Check for Updates), it checks if there's a newer version and if so downloads (in the background while you continue using the program) a single update file that only contains the differences from your current version. Meanwhile it's actively hostile to users when every program they run has its own update checker and update system. My little One Laptop Per Child XO has a single Software update control panel for all installed activities. I believe Linux distributions provide a single updater that knows every package you have installed and checks for new versions and can install all of them en masse.

The Norton 360 v2 upgrade was particulary brain-dead (no surprise). Norton 360 alerted me there was a free new version available. So I downloaded a 760kB stub updater. That downloaded a 76 MB installer, which it left in the hidden obscure C:\Documents and Settings\All Users\Symantec Temporary Files directory, apparently forever unless you regularly search for any folder named "temp" anywhere on your hard drive. And then when I ran the installer, it asked if it could download updates to its upgrade installer!!? That shows a company with pathetic automation and no confidence in its processes. Symantec labors for months to create a new version and a setup program for it, and then they can't rebuild the setup program every time they update parts of the program? Mozilla builds a brand-new complete installer and a nightly upgrade for multiple platforms at least once a day for Firefox and their other products.

Then Java announced it had an upgrade available, even though I wasn't running any Java programs! Thanks for slowing my computer down when I'm not using your code. The upgrade itself went pretty smoothly. While it was going I scanned the release notes, and they casually mention
As of JDK 6u10, patch-in-place installation is the default, and the JRE installs itself in a directory called jre6. Previously, it would have installed itself in a directory called jre1.6.0_10.
I checked, and C:\Program Files\Java had five different Java runtimes, each 70 MB. Sun like Symantec thinks 70,000,000 characters of disk space is so tiny it's not worth asking you if it's OK to consume it forever.

Labels: ,

Monday, December 1, 2008

software: desktop apps are hopelessly primitive

Against my better judgment I installed the free update to Norton 360 2.0. At one point it showed a dialog

What is a subscription?

You have 140 days of subscription remaining.

You can sign in to your Norton Account at any time by visiting www.myNortonAccount.com

Let's count the ways that this fails:
  • I can't hover over the "What is" link to see where it goes
  • I can't right-click on the link to get a context menu to copy the link location
  • So there's no way to determine if clicking that link will open a new window or replace the current one, and no way to control what happens
  • I can't zoom the text
  • I can't View > Source the text
  • I can't save the HTML of the dialog as a record of my subscription status
  • I can't select and copy the text to record my subscription status
I'd get all this for free if the application was a Web application, or Powered by Mozilla.

I cringe every time I run software that doesn't run in the browser.

Now's a good time to remind people you don't need MS Office. Write your next letter or presentation or spreadsheet on the web, in your browser, for free, using Google Docs or one of its competitors.

Labels: , ,

Thursday, October 9, 2008

software: saving as EPS for free instead of for $600

I'm helping a friend make postcards for SF Open Studios. First we struggled with getting the front in CMYK, now we just want a little ID on the back in the corner:
Francisco de Zurbarán
Still Life with Lemons, Oranges and Rose

(It's an awesome painting.) There are probably 10,000 programs that can make that simple text, the problem is representing its layout and fonts and margins so that the printer can reliably reprint what you see in WordWrite Cheapsoft.

Rocket Postcards accepts EPS files. Encapsulated PostScript was developed by Adobe about 23 years ago to store PostScript printer instructions in a standard format so you could give them to someone else to print or embed in another program's printer output. One way to make an EPS file is simply pretend to print to a PostScript printer, add some EPS header information, and save the printer output to a file.

In the good old days when Microsoft gave a shit about helping its customers, their individual programs could directly Export or Save As EPS, and they provided a PSCRIPT.DRV printer driver for Windows that could save as EPS. Adobe also offered an ADOBEPS.DRV printer driver with some more options. But Microsoft can't stand any format they're unable to pervert and alter at will in order to f*** over competitors and make you pay to upgrade. So they stopped supporting the EPS format, stopped updating the PSCRIPT.DRV printer driver, and the aging driver doesn't run on Windows Vista.

Meanwhile Adobe is hardly blameless. They stopped offering ADOBEPS.DRV after Windows 98 and left it up to printer manufacturers to write their own driver or use Microsoft's, but printer manufacturers just dropped PostScript support from their low and mid-range printers altogether rather than pay Adobe for a PostScript printing engine. When Microsoft abandoned PSCRIPT.DRV, Adobe announced they would make a new fabulous PostScript printer driver for Windows, but they only distribute it through printer makers and I wasn't able to find it to download.

Adobe needs to make money. They used to promote EPS to make printers running PostScript popular so they would make money providing PostScript engines to printer manufacturers. Judging from Adobe's web site they aren't interested in that market any more, but they still like EPS because they make a drawing program that understands the PostScript printing commands. Adobe Illustrator can read EPS files and can create EPS files; indeed, Rocket Postcards has detailed instructions and templates for using it. But Illustrator costs $600. That's a stupid price to pay for two lines of text!

I was about to re-cable and plug in an old Windows 98 SE PC, on which PSCRIPT.DRV worked perfectly to make EPS files, when I realized there might be other programs that support the EPS format. Sure enough, Inkscape is a free and open source drawing program that can save as an EPS file. To save as EPS,
  • Start Inkscape
  • File > Document Properties > Page
    • set Default units to in
    • set Custom Size 6 in 4.25
  • use its Text tool to create the text block
  • File > Save as...
  • choose "Encapsulated PostScript (*.eps)"
  • click Save
  • in the Output dialog that appears:
    • check "Make bounding box around full page" (otherwise just the EPS is only the text box, not the document size)
    • check "Convert text to paths" (Rocket Postcards asks for this)
    • don't check "Embed fonts (Type 1 only)"
To confirm this worked, I opened the eps file in Photoshop Elements, which opened a dialog for the image size that intially showed the correct size in inches. I set the resolution to 600dpi in this dialog so the text wouldn't be jaggy, and Photoshop Elements displayed the text in the right location and looking sharp at high magnifications.

To be even more sure I also opened the eps file in Wordpad.
  • Should have %%BoundingBox: 0 0 432 306 , which is 6 by 4.25 inches in points
  • Should NOT have lots of gobbledygook like 13A7F563EB (that would represents a bitmap image)
  • instead it should instructions to draw each character outline: sort-of English words with lots of numbers
  • Should be smaller than a megabyte.
But when I sent this simple file to Rocket Postcards, they printed 500 postcards with the text centered in the back of the postcard!

It turns out Adobe's own programs Illustrator and InDesign ignore the bounding box in Adobe's own EPS format, and plop down the EPS they receive in the center of their page. Lame! You have to provide a white background or surrounding line to make them show the text positioned relative to its surroundings

Hooray for free software! Down with proprietary software from companies whose business models and focus inevitably change.

Labels: , , ,

software: making CMYK print files for free instead of $700

I'm helping a friend make postcards for SF Open Studios.

Rocket Postcards prints postcards from your source files. So take a nice picture; use a cheap or free image editing program like Photoshop Elements to resize it to 1275 x 1800 (4.25 by 6 inches at 300dpi) and tweak it; upload it to Rocket Postcards and order your postcards!

Not quite. Rocket Postcards requires your files be in CMYK mode. They have the grace to explain why:
All images must be in CMYK color mode. ... RGB images are not acceptable - if you normally design for web or multimedia, keep in mind that printed output uses a different color model (subtractive rather than additive) and corresponds to percentages of Cyan, Magenta, Yellow and Black inks rather than composite Red Green and Blue monitor light.
Fair enough, but your camera's images are RGB TIFF or JPEG files, how to get CMYK? Adobe wrote code to work in CMYK color space 17 years ago for Photoshop 2.0 in 1991. But unlike a free open source program, Adobe needs artificial reasons to make you pay $700 for Photoshop instead of $120 for the Photoshop Elements and Premier Elements combo. So there's no CMYK support in Photoshop Elements. Don't like it? Don't buy software.

As usual there are alternatives. The fine complicated free and open source ImageMagick software suite has a command-line tool to convert between image formats. The command line you want is
C:\my\docs>"C:\Program Files\ImageMagick-6.4.3-Q16\convert.exe"
-colorspace CMYK -type ColorSeparation
"original file" postcard_front.tif
To check, run imdisplay.exe and view it. Also run identify.exe -verbose:
C:\my\docs>"C:\Program Files\ImageMagick-6.4.3-Q16\identify.exe"
-verbose postcard_front.tif
For some reason the CMYK image is in PixelsPerCentimeter, so size appears as
  Resolution: 118.11x118.11
Print size: 15.24x10.795
Units: PixelsPerCentimeter
Setting -units PixelsPerInch doesn't work, I wasn't sure how to change this without resampling. Programs agree the size is 4.25 by 6 inches. Hooray for free software!

Labels: , , ,

Monday, October 29, 2007

software: e-mail enhancements

I use Thunderbird for e-mail, a mere 700MB of e-mail from Eudora, Netscape, Mac Mail, and corporate Exchange. I took a survey. Here are my suggestions in more detail. They're keyed around several hassles:
  • the hassle of subscribing to mailing lists and getting duplicates of messages, and messages that are on web archives
  • the hassle of threaded discussions and all those chunks of >>> quoted message
  • the hassle of attachments, that again exist on the web

integrate Find Duplicate message functionality

There's extension that finds duplicates, but I want e-mail to detect them as they come in. If I get the same message several times (e.g. a personal reply and the message from mailing list), show me threaded with the one I prefer first, with an option for the rest to be flagged as less desirable. For example, if someone sends an e-mail to me and cc's to some mail lists I subscribe, I prefer keeping the original and deleting the ones that have the Yahoo Groups ad or Sourceforge.net promo line.

in threaded mode, detect and collapse previous quotations

The inconsiderate bozos who quote the entire message only to add "I agree" or "Thanks" need to be schooled (and bozos, don't top-post!). Meanwhile the mail program can help. It could inline the followup comments. Or, for each followup message, add thin colored bars corresponding to quoted sections, and you can click on the colored bar to pop up the comment, or display it inlined with the current message. And, if I go on to read a follow-up, the e-mail could collapse the original bits of text in the follow-up, sort of what Google Groups does

calendaring/address book/things smarts (e.g. turn e-mail into invitation)

This would detect "lunch tomorrow with Bob at Monk's and create a calendar appointment linking to Bob in Address Book, "Monk's coffee shop" as a Place (and its Web page), and back to the original e-mail. BUT, these linkages would also work in the current message. If I just have the text "Anna says we can install Minefield" in a folder called Beta, if I right-click on Anna or Minefield, the context menu can have a Related... submenu that should find the Anna Jones in recipients in the current folder, and find Minefield in subjects in the current folder.

Pensoft's Perspective PIM for PenPoint could do this, it was addictive and it felt that the software learned about your life.

Better control over attachment handling

It's still a hassle. Often Thunderbird's HTML window or View Source window could do an acceptable job of showing the attachment (like a .eml or patch file), but I have to save and open from the O.S. and then clean up. I want options for thumbnail preview in attachment pane, quick view in new window, a submenu for Open with > Paint / Firefox / jpegcrop / Thunderbird's own HTML viewer / Thunderbird as plain text.

use the Operating Systems's file system attributes to associate files with the attachment

Thunderbird's "Detach attachment" option is nice, but the file in the file system has no idea where it came from and doesn't get the same tags that the mail message had.

option to replace a local messages with a link to the same message in an HTML archive

I subscribe to mailing lists, but they're also available in mail archives. I should be able to tell my e-mail program about the connection, then allow me to follow/copy the archive URL, and to replace my local message with a link (but still keep track of my tagging, my read status, my reply status, etc.). When I reply or forward, I should be easily able to replace the quoted text with "John Doe wrote in http://mailarchive.net/list/x/msg1043.html". And I should be able to bookmark the link to the archive and share/push it to Firefox.

option to replace an attachment with a link to the file on the Web

People keep sending me huge attachments of files that are commonly available on the Web, even though YouTube, Flickr, and Google Docs make it unnecessary. So my e-mail program should proactively go out and find the same file on the Web and, much like mailing list archives above, I should be able to associate the attachment with the URL, or replace it with the URL.
The point is, my e-mail archives should be an added-value local repository that needs tight associations with the same information that's on the Web, and should propagate these associations to the file system.

Labels: , ,

Friday, September 28, 2007

computers: Thinkpad dock, applications, Norton

The new Thinkpad T61 laptop computer for my domestic partner other significant arrived. It's quiet and well-designed.

Its dock is great. Unlike port replicators that require drivers to route signals, the Thinkpad actually brings out the wires, so it's purely hardware and the external video can run at high resolution. Push a button, turn a key and the keyboard, mouse, monitor, printer, microphone, speakers, and Ethernet on the desk all connect/disconnect when you dock/undock.

Getting Vista to cooperate with my network and other computers was so awful that I blogged it separately.

I copied over my Dreamweaver and Fireworks applications and pasted in their registry settings, but they complain about missing libraries and fail to export files. The applications that migrated flawlessly were Mozilla SeaMonkey e-mail+browser and Bitpim phone sync, both open source. Simply download the latest version of the app, install it on the new computer, and copy over one data directory. All the effort commercial software companies waste on license checking, registry keys, and serial numbers doesn't add any value to their product and makes it hard to migrate.

The Norton Internet Security that Lenovo provided fought me all the way. Its firewall rules allows "local" file sharing, but its idea of "local" is to hardcode some common private network addresses that routers use by default (192.168.1, 192.168.11, etc.). However I had set my router to a non-standard network address for compatibility with work. Is Norton smart enough to determine or ask you what your local network's address is? Is Norton's configuration able to label an address range as "my home network" so you can reuse it in rules without having to manually change every single one? Will Norton prompt you when its general rules block Windows operations? No, no, damn you Symantec, NO! Networking just fails and you waste hours checking cabling and routers and other computers.

Lenovo has some additions to Vista that just confuse things. Their network security lets you enable/disable "Windows firewall", but it seems Norton Internet Security's firewall runs anyway. They have a network places manager, but it mostly confuses things with another network icon in the system tray. They have a Thinkvantage security center that keeps starting up, with its own upgrade service that didn't work.

Likewise, Intel graphics adds its own monitor control. So there's the Thinkvantage software to choose a layout when you plug in an external monitor, Intel's software to set up your graphics, and Vista's display appearance control panel. They're all covering the same ground! Yet their help explains their relationship to the other competing software.

If this were Linux open source, Intel and Lenovo would modify and extend Microsoft's O.S. code for network management and multiple monitors, they wouldn't have to reinvent it. Any improvements or bug fixes they make would show up in the core software, benefiting everyone.

Labels: , , ,