Tuesday, January 26, 2010

PLINQO : Data caching for the masses

The single biggest way to improve the speed of a database app is to cache data in memory, cutting-down on round-trips to remote servers.

But caching usually requires tedious hand-coding.

Apparently not-so any more.

I haven't checked it out yet, but CodeSmith claims their new PLINQO technology has built-in data caching mechanisms. That sounds like a very easy way to get substantial speed improvements in one's app!

It works in concert with LINQ to SQL.

In short, it's an entity framework that purportedly makes data caching easy. Exactly how easy? I haven't played with it yet, so I can't comment.

Switching frameworks is obviously a big effort, and I'm reasonably satisfied with the frameworks I'm already using, but this data-caching feature of PLINQO is enough to intrigue me - I think I might check it out.

Thursday, January 21, 2010

LogMeIn : Remote Mac screen sharing to Windows

A client has a Mac that I frequently need to log into remotely.

It's a brand-new Mac Mini, running Snow Leopard.

Getting the built-in VNC server to work with a Windows client was a very major pain.

Most VNC viewers simply refused to connect at all.

I did eventually find one Windows-based VNC viewer that would connect to the "Screen Sharing" on the Mac.

But lo-and-behold, the Screen Sharing service would frequently freeze up and stop accepting new connections, and I would need to call the client and get someone to physically disable and re-enable the Screen Sharing service to resolve the problem.

Further, the VNC connection would usually drop out after just a few minutes of inactivity, meaning I was constantly closing the VNC viewer and restarting it.

All in all, it was like doing a forced march on a broken leg.

Ouch.

So I went a huntin' for other options.

Must share a Mac's screen to a Windows client.

Preferrably free, although I would willing pay up to a few tens of dollars.

The only options I found wanted around $100 per year. That's not scalable. What if I picked up another client with a Mac needing similar remote support? That'd be another $100 per year per Mac being supported. Worth it for some, but not worth it in my particular case.

Then I found LogMeIn.

I tried it.

The Free edition supports screen sharing exactly like I want.

The Pro (non-free) edition has extra cool features like a "whiteboard" mode where the viewer can 'draw' on the screen, and both the person on the Mac, and the viewer on his remote PC, can see the drawing.

The Free version, it turns out, comes with time-limited access to the Pro features.

Smart move on LogMeIn's part.

I was experimenting with all these cool features, and then the Mac died the death.

My client told me that not only was I unable to connect, but they found the Mac in some unusable state and had to reboot it.

Hmmm.

Et tu, LogMeIn?

After such a surge of hope when LogMeIn initially worked, I was feeling very disappointed.

A web search turned up an odd clue : someone recommended running LogMeIn in 32-bit mode.

I'm not a Mac man, and I don't know how to enable "32-bit" mode for an app.

But I did manage to find a "Rosetta" mode for LogMeIn.

After enabling "Rosetta" mode for LogMeIn (right-click the Start LogMeIn app, and the option is in there somewhere), and studiously avoiding the fancy whiteboard and other tools (just in case they were to blame), LogMeIn now works WONDERFULLY for me. WONDERFULLY.

I can actually have a reliable, unbroken remote desktop session from a Windows box to a Mac box, any time of day or night!

It's like humanity finally arrived in the 21st century!

So, kudos to LogMeIn.

And if you give it a try and the Mac dies the death, then the solution is one or both of : Use Rosetta mode, and/or don't use those delicious tempting "Pro" tools.

I could experiment more and figure out exactly which of those two variables made the difference, but time is so short I could hardly justify writing this note, let alone doing another half hour or hour of experiments, so sorry - hopefully this article will at least help some other wandering soul out there on the road to PC-Mac blissdom. :o)