by Edward Goldstick
When Jim asked me to do this gig, he made it clear that I could touch on controversial issues but that he was principally looking for some techie/geeky/nerdy gossip or rocket science. So while I may get to the former outside of technological settings, here's a meager whiff of both at once in four parts. (Wnd with all the usual formalities that I have no financial interest in any of the companies to which I refer other than an online acquaintance with the creator of #1 as a longstanding user and customer.)
- Does your Mac sometimes seem to run out of memory?
- Help, my Vista-based Compaq laptops and/or our Belkin wireless routers is/are crazy!
- The best* VNC client for MacOS X when connected locally is...
- The best* VNC solution for MacOS X when connected remotely is...
* With a few caveats (and bones thrown to both Apple and Microsoft...
1. Does your Mac sometimes seem to run out of memory?
I've owned a Mac since 2005, but I've been using UNIX full-time since about the thirteenth year in the Unix Epoch (about 1983). I bought myself an iBook/G4 for my 50th birthday on a whim but also because I was fed up with XP and Linux even if each got the job done in its own way.
And while my iBook/G4 is still running strong (though only with MacOS 10.5.x), I also acquired (OK, I won an online contest at MacWorld.) an Intel-based iMac around 2008 and have kept it updated with the latest OS (now Snow Leopard, 10.6.x). I've been very happy with my Macs (other than a hardware problem in the iMac last year that is a long story in its own right), and I and have largely stopped using Windows (other than on other family computers) and only use Ubuntu-flavored Linux on my late dad's machine when at my mother's house.
But here's the thing: All of these machines had shown a strange propensity to gobble up system memory over time. I don't have any exotic apps running -- mainly just browsers, mail, word processing, videos, music, etc. -- so why does memory disappear as reflected in the Activity Monitor even if I close all these apps?
I'm not going to get into the esoterica of virtual memory, MMUs (Memory Management Units), swap space, etc. Nor am I going to sing the praises of vanilla UNIX over Linux over MacOS X over Microsoft products. Nor am I going to tell one of the many headaches that we experienced over fifteen years of running a business helping people build distributed applications that ran 24/7 for 365 days a year (and no, they don't get Feb 29 off). I hope to write about this later in a more conceptual post about software robustness.
Simply put, your machine works in a "virtual" memory space that is bigger (much bigger) than the physical memory made of silicon chips. The electronic data in the CPU has to access data in the physical memory, so when that gets filled (or even gets close to that), your system automatically moves stuff onto pieces of the hard disk called "swap" ... and stuff is moving in and out of swap all the time.
Get it? And for now, here's a trick that readers with Macs might try if they have seen this phenomena and wonder what's up:
Open a terminal and type: echo admin_password | sudo -b -S sh -c "du -sx /"
... and it will all happen happily in background... or,
Open a terminal and type: sudo -b -S sh "du -sx /"
... and you'll just have to type in the password manually... or,
Just open a terminal as the administrator and type: du -sx /
... and wait for the result.
So, what's going on here? Well, the "du" command is for "disk utilization"; when you run it "normally", you get back the number of bytes being used on the device (so in this case, your main disk). The options "-sx" don't really do anything except that the "x" ignores file systems that are mounted to your principal one that is at "/" (you don't need to traverse them) and the "s" is simply to give you a total only for "/", the root of your machine's main system disk.
And so all that's happening is that the "du" process is traversing all your files on your system disk to see how many bytes are actually being used by real files; however, to do this reasonably accurately, it attempts to "clean up" the file space of extraneous "inactive" blocks, though it can only do that if it is run as the administrator.
Now, system mavens might tell you that there is no difference between an "inactive" block of system memory and a "free" block ... but OK, I'm neither going to start a debate nor will I explain the way that fixed sized block of system memory are managed on the disks via a tree of inodes ... well, I'm not going to start.
Don't believe me? Here's what I just did on my iMac (on which I'm writing this...):
A) "Normal" state after about 9 hours w/Apple Mail, Safari, Chrome, Firefox and Textedit:
B) After quitting all these applications:
C) After running "du -sx /":
Yes, I only have 2 GB in this iMac ... and as we say in French, "et alors?" (or "so what?" with a sneer). This problem is classic, it will creep up on you even if you have 8 GB in your machine, it is not specific to MacOS X, though that's what I'm familiar with here and I have not found a better solution yet.
As an aside, I do not remember when or where I discovered this trick because I certainly did not invent it all by my lonesome; on the contrary, I found it in an afternoon when I discovered that a nightly reboot no longer did the job. So thanks to the forgotten forum with its phantom freebies that get the job done!
It's perfectly true that the improvement in performance is often marginal; put another way, your machine will continue to run just fine when you have more or less exhausted the "free" memory because it will "swap" memory in-and-out of the hard disk as your applications progress -- but the reality is that over time this will become increasingly cumbersome.
It is also true that you can simply reboot your machine to get the same effect; on the other hand, you do not actually need to quit all processes to recover some of the inactive memory, but it works better that way (for me, at least).
Have at it. And while I'm 99.999% confident you cannot hurt anything by following this procedure at any moment, especially if you quit all non-system programs, I guarantee nothing (because someone, somewhere, will find a way ... or think they have).
P.S.: This procedure is particularly "useful" on older machines like my iBook/G4 that take forever to restart. I was not sure it was worthwhile to post until Mr. Fallows indicated to me that he has seen similar issues on his high-falutin' new MacBooks, but I don't know if he ever tried it and so look forward to his feedback someday.
2. Help, my Vista-based Compaq laptops and/or our Belkin wireless routers is/are crazy!
This one is a headache that I have been trying to solve for a few months, and for reasons that will become clear at the end of my explanation, I made things "doubly" worse for myself last week.
My youngest son has been using a Compaq CQ50 for homework and teen stuff for almost two years now, and everything was fine until about four months ago when the wireless router at my mother's home kicked the bucket and I replaced it with a Belkin 300N. My iBook, my other son's Lenovo S10-T, my mom's desktop with a Netgear 802.11g, our two iPod Touchs, and my Motorola phone with WiFi all work fine.
But the CQ50 with an up-to-date version of Microsoft Vista will connect just fine to the router but the router will not establish a connection to the Internet via the cable modem, the message in the network map being "Unidentified Device in Network".
So here's the kicker: Last week, when I took my mother to Arizona to stay with my sister, I discovered that my sister's network (on which she works from home) was terribly slow. The reason being that she was still using a very old router that could only support 10 Mb/sec. She also had an only slightly less old 802.11b wireless router that I gave her a long time ago (i.e., two years), but I didn't realize she (or "a friend") had hung it off the older router. So, what do I do? Rather than simply ditch the older router and use the less old wireless one for everything, I decide -- wonderful brother that I am -- to get her a brand new 802.11g router. I went to Target and, of course, purchased the Belkin 300N that I discovered on sale only to return back to discover that her work laptop is (no suspense here) a newer version of the Compaq CQ50! Same problem except that I was only staying two nights and, as such, took her laptop with me to attempt to fix back in Massachusetts (and while she does not travel much, thank goodness the football season is over [wait 'til next year...] and the spring training is only starting [Go Sox!] because I think she uses it principally for fun and work in front of the television during game breaks).
For the adventurous (or compassionate) Windows junkies out there, let me be clear:
- Wireless connections from the CQ50 to the Internet via the Belkin work fine with Ubuntu 10.10. (I have a USB-based version that I use on family computers so as to not install too much of my own stuff.)
- I have looked in the forums and found plenty of references to this problem, a fair number of recipes from which I've made a few attempts, but as of now without avail. I'm not going to fill up this space even more than I already have with the various approaches that I've already tried because none have worked and I cannot just replace Vista on either of these machines because she uses a specific VPN for her work network and my son has both games and school VPN software that does work with Linux -- and in any case, it should work and I'm going to crack this nut!
So, this is the one geekish Hail Mary that I am sending to Jim Fallows' readers in the hope that someone has seen this problem and found a solution. If you have any thoughts, please send them along -- and for what it's worth, I intend to solve this puzzle during Winter Break next week and will report back, one way or the other.
3. The best* VNC client for MacOS X when connected locally is...
... JFVNC found here.
When I won the iMac, I quickly realized I was torn between the comfort of MacOS X on a much faster machine versus my now acquired habit of using the iBook anywhere in the house as well as when out. I had not used Virtual Network Computing (VNC) much in the past, but I found and installed the then-free version of the beta of JFVNC on my oldish iBook, enabled Apple Remote Desktop (ARD) on the iMac, and quickly discovered that via 802.11g WiFi brought me a more responsive experience on the iBook that I would have with the laptop itself.
The reason that I tried JFVNC -- or even knew about it -- is a bit convoluted and nerdy but related, in short, to another product from the same developer: ScreenRecycler. It's simply a MacOS app that allows one to recycle an old computer running any flavor of VNC by creating an extra screen in the host Mac's display space. Use your imagination.
To make a long story short (and I can hear anyone who got this far thinking "boy, can this guy ever talk..."), I know all the alternatives exist, including the ARD client that I could purchase from Apple -- and I know there are open source solutions that are free -- but I've been using JFVNC for about two years and am very satisfied for many reasons of which I will share the first three that come to mind:
a) It seems like I am sitting at the iMac
b) The ability to create secure tunnels with SSL or SSH allows for remote use
c) The developer is very helpful and responsive to issues
Give it a try (in any case, that's free!)
Note: I have had quite a few e-mail discussions with Patrick Stein in Germany, the developer of JFVNC, about his product and other software ideas and in fact, I was interested in pursuing a project with him but he's one of those lone-wolf types who seems quite happy =- and successful =- on his own. All power to ya!
4. The best* VNC solution for MacOS X when connected remotely is...
... found at www.LogMeIn.com because its basic version is now free!
Now, if one wishes to do everything that I do with JFVNC but your connection will be from outside your home or office network, a little problem called network address translation will pop up when you come knocking at your door of the address supplied by your ISP. There are ways around this that allow one to make a direct connection from client to host as I do (and am doing at the moment) with JFVNC; however, it can be a headache.
So the alternative is to use a service list www.GoToMyPC.com or www.LogMeIn.com that acts as an intermediary (you all have gotten advertisements from both companies, for sure). They work by allowing your host and target machines to both connect via a third environment that they offer and that establishes secure tunnels on both sides.
But to be frank, I don't use either; however, when I had just started writing this post yesterday, an e-mail arrived that indicated that the basic service of LogMeIn -- a VNC client without file access, etc. -- was now free! I discovered that I still had their server on my iMac but that it had not been turned on for 751 days, which makes sense because that's about when I started using JFVNC, so I updated it from LogMeIn and tried it. It works fine but is rather slow. This is understandable because it seems to be a Java-based solution, but since I don't really need it, I'm going to leave it there. But if it looks interesting, give it a try (and in fairness, that goes for GoToMyPC, too.)
* With a few caveats (and bones thrown to both Apple and Microsoft)
Now, I've written all this and am wondering if I have provoked a flood of nerdy hate mail to Jim's inbox at The Atlantic... so to nip it in the bud, please read on (it's not long):
1) I know that Apple has a perfectly good VNC client in Apple Remote Desktop...
... but it was not free for my iBook/G4 and I was (and still am) frugal.
For what it's worth, the developer of JFVNC has confirmed my simple testing with the ARD client on my iMac (connecting it to the iBook) in which I've discovered it is faster for remote connections than is JFVNC.
2) Microsoft has a very good remote computing solution in Windows Terminal Services...
... but it is not available for free for my iMac. There is a commercial product available from AquaConnect, a relatively young company that licensed the WTS server code from Microsoft and ported it to MacOS X. I guess I just don't see the point if JFVNC fills my needs...
3) ... which leaves me with only one unrequited desire that Apple Remote Desktop does not fulfill (and so JFVNC is inadequate): the audio from my iMac is not accessible on my iBook.
There is a long conceptual discussion that I had considered including in this post about the pros and cons of opensource versus proprietary software, the advantages and disadvantages of working with big and small software companies, etc...
... but I've already had my fill and will leave it there.
That said, I might change my approach to remote computing one of these days...
... but first, I'm going to get these Vista-based laptops to work (and yes, it's as much a challenge as a tightfisted attempt to avoid buying Windows 7 or new laptops, such are the times).
Edward Goldstick is a veteran of the high-tech, software, defense, and energy-technology worlds in the U.S. and France.