Thursday, August 04, 2011

Oracle ODBC access with 64 bit Windows 7

I know it's a dying technology, but I still get a lot of value out of Microsoft Access manipulation of data stored in Oracle tables. I have a Windows 2003 server VM that runs Access 2003 and has 32 bit driver access to our corporate Oracle tables.

We're moving to Windows 7 (finally, and boy is Win 7 ugly), so in addition to my ancient VM I looked into using Access 2007 with those tables. The first thing I discovered was the 64bit Oracle 10.x installer didn't install the expected Oracle ODBC drivers. I also noticed that Windows no longer includes Microsoft's ODBC driver ...
Data Access Technologies Road Map

... Oracle ODBC and Oracle OLE DB: The Microsoft Oracle ODBC Driver (Oracle ODBC) and Microsoft OLE DB Provider for Oracle (Oracle OLE DB) provide access to Oracle database servers. They are built by using Oracle Call Interface (OCI) version 7 and provide full support for Oracle 7. Also, it uses Oracle 7 emulation to provide limited support for Oracle 8 databases. Oracle no longer supports applications that use OCI version 7 calls. These technologies are deprecated. If you are using Oracle data sources, you should migrate to Oracle-supplied driver and provider....
I spent a few minutes poking around the net, and it looks like there's no easy way to install Oracle's drivers into 64bit Windows. Indeed, it's not clear they exist. I'll do a bit more research with some more focused searches and post an update here.

Progress, as is usual, is a mixed bag. Access was an ugly, awkward Frankenstein application, but there's nothing like it for mixing and matching a wide range of disparate data sources. The deeply nested and reusable query modules could be horrendously slow -- but for what I do the performance was often adequate.

I'll miss Access.

Update: Superuser.com tells me that there exists a 64bit Oracle 11g driver. However, the user's unspecified version of Access is 32bit and it can't use the 64 bit driver. We're on Oracle 10g.

Wednesday, August 03, 2011

Wet iPhone: prevention and treatment

The iPhone is too precious. The fragility is not the big problem; any well made case seems to make an iPhone as durable as most any other phone. It's the water resistance. Or rather, the lack of resistance. When it comes to water, the iPhone makes Barack Obama look a tough negotiator.

It doesn't have to be this way. There's not much good to say about the obsolete Blackberry, but it's pretty good at surviving a swim. Maybe Apple will make some iPhone 5 or, more likely, iPhone 6 improvements. For example, they could go to a different connector, or get rid of the water-vulnerable home button.

In the meantime, every iPhone user needs to know the water drill. Go right now and read the Apple Core's overview. I've been through the rice version of this drill several times (family of five + 1 dog = 5 iPhones with 3 SIM cards = water practice). The key steps are:

  1. Wipe (shirt can work), remove case, wipe/shake water off.
  2. Power down the phone. Don't check to see if there are problems.
  3. Dry thoroughly. (I avoid compressed air, might push water into case).
  4. Place in a sealed container or baggie of rice (brown is best) or, if you have some stockpiled, surround with DampRid pouches (Amazon sells 'em).
  5. Leave in a hot dry environment for 24 hours. Some experiment with car in sunlight -- I worry a bit about too much heat. I like using radiant heat from an incandescent bulb.

Memorize and be ready. Remember, a new iPhone 4 is through;">$600-$700 $250 or so. You don't get the subsidized price unless your contract is up, and then you get a new contract a non-warranty iPhone repair will cost about $270 or so. [1]

That's treatment. Prevention is better. Most iPhone cases don't seal off vulnerable areas; I'm considering the Otterbox Commuter because of the port plugs. If you're boating, or even biking/walking in a downpour, you want a waterproof pouch like the Seattle Sports Dry Doc Digi Case. I bought one for my bike bag, but after my the middle kid's phone did yet another night in a rice bed I made it his phone case:

He can use the phone through the case in most locations, including anywhere outdoors. In his bedroom and in the water-free living room he uses the naked phone. He's happy with this arrangement, and I'm buying another waterproof case for my own phone and (another post) my MacBook Air.

[1] Correction! Martin reminded me in comments. I was thinking replacement, but in this case the phone is not lost. Apple will do refurb swap for about $270. I don't know, however, if this implies a contract extension.

 

Saturday, July 30, 2011

Google+: Circles are for both access control and subscription lists

The Google Reader UI lets me manage people who post once a year and newspapers that post 100 articles a day.

For example, the NYT Science feed is in both my Science folder and my NYT folder. The Science folder I read closely. The NYT folder I scan, and I "mark all as read" after picking a few interesting headlines.

So Google Reader can handle all kinds of traffic volumes, but G+ used to overwhelm me. A few high volume posters were clogging my read. Then I finally realized I'd misunderstood Circles.

Circles, I thought, were about access control. I thought Circles defined collections of people (once we called these mailing lists) who were able to read what I posted to them (notify and access).

I was partly right. Circles are access control. Circles, however, also define subscriptions or streams. They are, in this sense, analogous to the folders in Google Reader, where each person is a 'blog'.

It's not hard really. Circles are just collections of people. Those collections of people can be used for both access control (who you post to) and who you read (stream) [1]. So a person may be part of a Circle I post to, but I may rarely read their high volume posts (Guy cough Kawasaki cough).

Most of my posts are to "Your Circles" or "Extended Circles". That's a big set. On the other hand, my primary "stream" is a set of people who post a few times a day and have something interesting to say. I call that circle "Conversational".  "High Volume" is made up of the yackers with thousands of followers.

With the G+ web interface Streams are on the left side, but only the first ten or show Circles created display there. "Conversations" wasn't showing until Google+ added Circle ordering. Now "Conversations" is first on the list.

On my iPhone's Google+.app it's not obvious how I csan follow my "Conversations" stream. It's buried away in the app's oddball UI. Here's a rough guide:

  1. Tap Circles
  2. In Circles screen there are two tabs at the top: People and Circles (yeah, that's weird). Tap the Circles tab.
  3. Tap a Circle ("Conversational" in my case)
  4. In "Conversational" there is a list of people, and at the bottom of the screen there are 3 buttons/tabs to press. Press Posts. There they are.

Did I mention that the Google+.app UI is as incoherent as post-Jobs OS X (ex: Lion)?

I think Google could have done a better job of explaining this. Looking at their iPhone app I suspect they didn't fully understand Circles themselves.

[1] Fellow Geezers, think radio station.

PS. I still want iTunes style "Smart Circles".

Thursday, July 28, 2011

Apple's $1000 docking station

Anyone can sell a laptop docking station for $1000.

Only Apple can make something that seems almost worth it ...

Apple Thunderbolt Display (27-inch) - Apple Store (U.S.)

With just one cable, connect any Thunderbolt-enabled Mac and get 27 inches of high-resolution screen space, high-quality audio, a FaceTime HD camera, FireWire 800 and Gigabit Ethernet ports — and a Thunderbolt port you can use to daisy-chain additional high-performance peripherals such as hard drives and video capture devices...

... The Thunderbolt Display includes a MagSafe connector that powers and charges your MacBook Pro or MacBook Air. The connector sits on your desk, ready and waiting. No need to unwind the cord to the power adapter that came with your notebook. Leave it exactly where it is, in your bag.

Yes, it's insane.

And yet ...

If I wanted the best of all worlds, and I was single, the combination of an 11" MacBook Air and the Thunderbolt display would almost make sense. Hang storage and peripherals off the display, plug in power and Thunderbolt cable, and the MacBook Air becomes a serious iMac contender. Disconnect and travel with an ultraportable.

A 27" iMac is $1,700. An 11" MacBook Air is $1,200. Together they come to almost $2,900. The MacBook Air and the Thunderbolt Display together are "only" $2,000. Really, cheap by comparison.

Heavens, but Apple is Satanic.

PS. Anyone remember the Powerbook Duo? Aka MacBook Air 1.0, but with 3 much cheaper docking station options.

Restoring an XP backup (.bkf) file in Windows 7

Based on a long history of problems with copying GBs of data over the LAN, I decided to move my data from a corporate XP box to a Win 7 box using XP Backup. That old utility is stone simple, but for me it's been fast and reliable.

I mounted a share on the W7 machine then ran backup to put every bit of my old machine into a .bkf file on the new machine. From there I'd unpack at leisure. In a month or so, once I'm satisfied I've not lost key data in a crevice of XP, I planned to delete the .bkf file.

Naturally, I did a small test first.

Obviously, or I wouldn't be writing this, the test failed. Windows-7 no longer supports restores from XP backup files.

I was open mouthed. This is the sort of middle-finger gesture I'm used to getting from Apple. Whatever their many, many faults, Microsoft has always been kinder to data. The formats are usually proprietary, but at least they're supported.

I couldn't believe it, so I looked further.

Happily, my faith was justified. You can now download a Microsoft Win 7 utility that will restore from a .bkf file. Description of the Windows NT Backup Restore Utility for Windows 7 and for Windows Server 2008 R2. It worked for me.

Wednesday, July 27, 2011

Lion: the curious case of the stingy desktop pictures

My copy of Snow Leopard has seven folders of desktop pictures, about 35-40 images.

OS X Lion comes with 14 images total. Stingy and weird.

It's not the only odd thing about Lion. OS X 10.7 feels like post-Jobs Apple; a compromise mashup between OS prosumer and OS lite. More on that in a future post.

Sunday, July 24, 2011

Viewing Mac OS X Parental Control files

One of the many signs that OS X parental controls are half-baked is that Snow Leopard's default log tool doesn't actually .. you know ... display the site history. It's not just Snowie, this is old incompetence.

I'd wondered if there was any way to actually view the sites visited; perhaps a way to load the records in another tool. My Google searches found nothing, but a question on the most illustrious superuser.com site brought a comprehensive answer.

The answer was excellent even though I started out with a misleading question ...

OS X stores Parental Control logs in /Library/Application Support/Apple/ParentalControls/Users/[username]/year/month with the extension .data.

For example, 15-usage.data contains usage data for the 15 day of a month.

The log files are system read/write only. To access them one must change permissions or use terminal.

I would like to be able browse these files. In an Apple discussion I found a reference to using a "SQL" add on for Firefox to browse them. I guessed this meant SQLite Manager for Firefox, but I the SQLite browsers I've tried can't open the file.

The file is binary, but in a text editor it shows typical Apple .plist header.

I suspect a form of SQLite, or Core Data (which I think can use SQLite).

Does anyone have information on how to browse these files?

My question was misleading because the date-specific .data files are a red herring. The real data is in /events.data ....

osx - How can I view Mac OS X Parental Control files with format .data? - Super User (answer from Daniel Beck)

These date-specific files are regular binary plist files created from a Core Data object graph. Open with Xcode 4 or Property List Editor (comes with Xcode 3), or any text editor after you convert it to XML using plutil -convert xml1 filename.data -o filename-xml.plist in Terminal. The content is pretty much useless though, unless you know how to load it again.

Much more interesting is /Library/Application Support/Apple/ParentalControls/Users/username/events.data. This contains the user-specific applications, web sites and chat protocols in a SQLite container format. Open e.g. using Base, other tools here and here. The date columns are seconds since a date and time in early 2000.

For me, comparison of the GUI value and experimentation showed the 0 value to be Jan 2, 2000, at 2:00:00 AM. Dates shown are May 18 according to the UI. I suggest you focus on this file only; I believe the others are simply helper files for internal data structures.

Incidentally, Daniel Beck lives in Germany has 770 answers on superuser.