Category ArchiveHacks
Hacks &Networking (General) &Ramblings &Scripting Jl. on 09 Nov 2010
Viewing IE and Mozilla/Firefox history from Profile Directories
There are the usual ways to view history through the app, but I had to try and pull the history off an old partition because I needed a link I found right before a drive crashed.
For IE:
More details are found at this site – http://www.milincorporated.com/a-temporary-internet-files.html#ch2 . The file locations are:
Win2000/WinXP:
C:\Documents and Settings\<username>\Local Settings\Temporary Internet Files\
Vista/Win7:
C:\Users\<username>\AppData\Local\Microsoft\Windows\Temporary Internet Files\
C:\Users\<username>\AppData\Local\Microsoft\Windows\Temporary Internet Files\Low\
You’ll have to enable viewing hidden and system files. That page has a quick rundown about how to do so as well.
There’s a program called IE History Viewer available at this page:
http://www.nirsoft.net/utils/iehv.html
You point it at your profile directory and it lists everything. It can then spit it out as a CSV file or HTML report. Very nicely done, and very helpful.
For Firefox:
(More info was found here: http://kb.mozillazine.org/Profile_folder_-_Firefox#Finding_the_profile_folder) The profile directories are:
Win95/Win98/WinME:
C:\Windows\Application Data\Mozilla\Firefox\Profiles\<profile folder>
or
C:\Windows\Profiles\<Username>\Application Data\Mozilla\Firefox\Profiles\<profile folder>
Win2000/WinXP:
C:\Users\<Username>\AppData\Roaming\Mozilla\Firefox\Profiles\<profile folder>
Once you find your profile, there are two versions of the history file – the Firefox V2 and earlier (history.dat), and V3 and greater (places.sqlite).
For Firefox 2 and earlier, it’s stored in history.dat . This file is in the “Mork” format which is apparently very rare and a pain in the arse to read. A program was written called Dork that’s a Mork viewer. It was available at ” http://www.sunturbine.com/dork/ “, but that page has since been lost. A copy was retained on the WebArchive, however, at ” http://web.archive.org/web/20070125084419/http://www.sunturbine.com/dork/ “ The zip file was also available for download from there. In case it’s no longer available I’ve attached the zip file here (dork_history_reader). He released it as free and open source so I don’t believe i’m violating any copyrights by republishing.
Disclaimer: Not my app, I didn’t write it, and I can’t help fix it if it’s broken. I’m just making it available again on the interwebs.
Run Dork and drag-and-drop history.dat onto it. It should decipher your history file.
For V3, the places.sqlite file is in a format called SQLite (clever file name, eh?). There’s an app called SQLite Browser available on SourceForge. http://sqlitebrowser.sourceforge.net/ Grab the latest version. When I wrote this it was 2.0b1 . Run the program, then open the places.sqlite file from the profile directory. You’ll get a list of tables, and one of them will be Places. That has your history in it.
Now the interesting part about all this is apparently it can be done remotely on another profile directory on your system, or over a network share (\\workstation\c$\users\…), as long as you have permissions to view the file.
Hacks &UI Mods &windows 7 Jl. on 08 Jan 2010
Prevent the Windows 7 Hidden Partition
Windows 7 will install a hidden 100mb partition at the front of your drive when you do a clean install. It uses this for system recovery if your install goes belly up, and/or bitlocker headers for drive encryption.
I need neither. And the kicker is some apps (like TrueCrypt) don’t function correctly with the 100mb partition. In fact, TrueCrypt CAN’T encrypt your system drive because the bootloader is on the other partition. Not very helpful.
MyDigitalLife shows how to work around this – http://www.mydigitallife.info/2009/08/20/hack-to-remove-100-mb-system-reserved-partition-when-installing-windows-7/ . See part three, “Method 3: Trick to Remove 100.00 MB System Reserved Partition During Setup” .
In a nutshell, when you’re installing Win7 (note, if you’re reinstalling, this will erase your data, no two ways about it) and you reach the portion allowing you to select your partition, erase your existing 100mb system partition, and your existing OS partition. Then pick the freshly unallocated space and tell it to install there. It will say “We’ll create a hidden system partition for your protection” – say OK. Now delete the new OS volume – not the 100mb partition. Yes, delete the new partition it created for your OS.
You should have a 100mb system partition, unallocated space, and maybe another partition for your data, if that’s how you roll.
Next select the hidden partition, and click Extend. This will allocate the rest of the unused space (from the system partition you just deleted) to the hidden partition – giving you a single OS volume with no hidden partition.
Ta-da.
Thanks MDL – saved me some headache there.
Note: this trick only works during reinstallation of Windows. They have a couple other hacks to remove the hidden partition after you’ve installed, but they didn’t suit my purpose. AGAIN: THIS WILL ERASE YOUR DATA. Don’t cry to me if you didn’t back it up.
Hacks &Ramblings &windows 7 Jl. on 05 Jan 2010
vLite and Win7 RTM – wimgapi.dll not compatible.
So, vLite out of the box (or extracted download, as it were) requires three files to run – wimgapi.dll, wimfltr.inf, and wimfltr.sys (wimfltr.inf is a driver file that requires .sys).
The interesting thing about Win7 and vLite is that Win7 already has wimgapi.dll in c:\windows\system32 (or syswow64, I presume).
“Neat!” thinks I, and copies that to the c:\windows\program files\vlite directory, and pulls wimfltr.inf and wimfltr.sys from another server I have with the WAIK on it. I run Vlite. It runs slow, but runs. I configure my install source, it runs slow, but runs. I get to modifying my install source (removing components), it runs VERY slow, then crashes. Consistently. Changing options, running as admin, running in a compatibility layer, all return crashes after it runs.
Turns out vLite does NOT like the wimgapi.dll that comes with Win7. So, moral of the story folks – use all the same versions from the same source. In my case, I pulled them from c:\program files\windows aik\Tools\x86. In your case, unless you’ve downloaded the 2gb WAIK iso, you’ll need to find them from Google or Bing. Distribution is apparently some form of international terrorism.
From the WAIK I’d installed, these were files modified 11/1/2006 and 11/2/2006 . As soon as I replaced wimgapi.dll in the C:\Program Files\vLite\ directory with the older version (replacing the one from 7/9/2009, with the one from 11/1/2006) vLite screamed to life and ran as expected and followed all the way through without a single crash.
This was, needless to say, a relief. Happy trails.
Cacti &Hacks &MRTG &Network Monitoring &Networking (General) &Scripting &Servers &SNMP Jl. on 21 Dec 2009
Cacti: Poller complains about no mib modules
Installed cacti from the “easy” installer – http://forums.cacti.net/about14946-0-asc-0.html – which does simplify a lot, but there are a lot of other hacks i’ve had to implement to make it work.
First and foremost, any time the poller runs i was getting “Cannot find module (IP-MIB): At line 0 in (none)”
Repeat about a dozen times for various mibs, and you obviously have a problem.
Under System Properties, Advanced, Environment Variables, there’s a new variable called MIBDIRS . It’s pointed to c:\php\extras\mibs which in my case, after running the installer, was empty.
TO FIX: Either update this to point to your actual mib directory (mine was c:\usr\mibs , i’ve also seen d:\usr\mibs) or copy your populated mib directory (with IP-Mib and about a dozen others) to c:\php\extras\mibs . Presto, the poller now runs as it should.
Hacks &MRTG &Network Monitoring &Scripting &Servers &SNMP Jl. on 17 Dec 2009
MRTG: Search pattern not terminated
Loaded MRTG, followed as many how-tos as I could get my hands on, configured a WMI script, and all I get was:
C:\Program Files\mrtg-2.16.0\bin>perl mrtg mrtgwmi.cfg
Daemonizing MRTG …
Do Not close this window. Or MRTG will die
2009-12-17 13:06:38: ERROR: Target[my.monitor][_IN_] ‘cscript //nologo mymonitor.vbs myserver’ (kill): Search pattern not terminated at (eval 18) line 1.
2009-12-17 13:06:38: ERROR: Target[my.monitor][_OUT_] ‘cscript //nologo mymonitor.vbs myserver’ (kill): Search pattern not terminated at (eval 19) line 1.
Terminating on signal SIGINT(2)
Turns out in my config, the line calling the script:
cscript //nologo “c:\program files\mrtg-2.16.0\scripts\mymonitor.vbs” myserver
I wasn’t wrapping it in the right apostrophe. The line should read:
Target[my.monitor]: `cscript //nologo “c:\program files\mrtg-2.16.0\scripts\mymonitor.vbs” myserver`
Using the apostrophe left of the 1 (`) and NOT the apostrophe next to the return key (‘) . I love perl, really.
Hacks &Servers &Virtualization &VMWare Jl. on 08 Dec 2009
VMWare View 4 – Template Snapshots Not Available
Setting up a new pool (persistent linked clone, in this instance) for VMWare View 4. Had the template built, took a snapshot, then tried to create the pool. Got all the way through setup to select the template and snapshot, but voila. Snapshot wasn’t there.
VMWare View templates require the snapshot to be taken WITHOUT the VM memory state. If the memory state is taken with the snap, the snapshot isn’t available – except it won’t tell you why.
VMWare also highly recommends/suggests that the VM template be powered off. This makes a lot of sense, and you really should, but I had two snaps taken with the system powered on which I built VDI Persistent Linked Pools from, and 10 desktops worked fine.
Hacks &Hardware &Servers Jl. on 04 Dec 2009
Changing Dell PowerEdge Service Tag #
Warranty service required on a PowerEdge (m600 specifically, but pick your poison). Replacement motherboard shipped, with no service tag burned in. Requires “asset.com” (DOS .com file).
Note: Some people have reported Asset.com running in a dos box under Windows. All I know is it doesn’t work under x64.
How to update the service tag:
- Download the Dell Diagnostics CD (R212797 – Extracts to an exe which then makes an ISO or USB stick. http://support.dell.com/support/downloads/driverslist.aspx?os=LIN45&catid=13&dateid=-1&impid=-1&osl=EN&servicetag=&SystemID=PWE_2900&hidos=NW&hidlang=EN&TabIndex=).
- Create the ISO. Load up your DRAC/iDRAC interface. Mount the ISO as the virtual CD ROM drive. (Path will be different, wherever it expanded to. I moved mine.)
- Reboot your server. From the console (iDRAC or physical) hit the boot menu, select Virtual CD. It will boot to the diagnostics.
> ALTERNATIVELY: Burn the ISO to a CD, boot your CD from that instead.
- Once booted, Pick option 4 – quit. Drops you to a D:> dos prompt.
- change to C:, cd to UTIL . dir should reveal asset.com
- Run asset.com to see your service tag number (or if it’s blank).
- Run asset.com /s AB12345 to update the service tag number (AB12345 will be the number you want to burn in).
- Run asset.com to check that the change has taken. If so, reboot your machine, disconnect your Diags ISO, and walk away from a job well done.
Ta da.
Hacks &Linux &Servers &Virtualization &VMWare Jl. on 17 Mar 2009
ESXi with SSH
A client is using a mixed environment, with several VMWare ESXi clusters, and several ESX clusters. They’ve been running a number of maintenance tasks through SSH on the ESX clusters, but believed one could not get to a console under ESXi 3.5. I found a quick howto: http://www.vm-help.com/esx/esx3i/ESXi_enable_SSH.php
The short of it is you have to enter a debug mode in the console. From the main console window, press ALT+F1 to get to the console terminal. You’ll start out with:
(names have been changed to protect the innocent). And after hitting ALT+F1, you’ll get:
Whereupon you’ll type “unsupported” (no quotes) and hit enter, and it will not be visible. Just trust me, it’s there. You may need to try it a couple of times if the console has had any keypresses still in the buffer. Afterwards, you’ll get:
Enter your root console password here. You’ll get dumped to a linux prompt. Know this: Yes, it’s “linux”, but it’s stripped. Many rudimentary functions are not present.
From here, edit /etc/inetd.conf (using vi). Scroll down until you find the line with “#ssh” . Remove the # to enable the line . (the vm-help.com page has detailed vi instructions. I won’t go into those here. But here’s more help)
Once you’ve uncommented the ssh service, write and quit. Then run /sbin/services.sh restart.
Now, every other howto out there would leave you believing you should be all set. If you’re anything like me, you’ll reboot your host, and then wonder where you went wrong. In life. After all, 5 or 10 how-tos have the same instruction set, and everyone else said “hai this rox kthxbye!”. And yet I followed the instructions and I still had no joy. I killed the inetd process numerous times, and had no joy. What was a frustrated sysadmin who enjoyed such problems as this to do? Get cracking.
I eventually hit the logs and discovered a couple of parameters were missing for their implementation of the ssh server, dropbear. The path in the /etc/inetd.conf file was simply /sbin/dropbear . For kicks, I tried to run ./sbin/dropbear. It, in a world of generosity, spit out a list of symlinks I needed to create.
If I’m remembering this right, I did what it asked but it still didn’t work. So, the actual path I ended up using in /etc/initd.conf was:
/sbin/dropbearmulti [tab] dropbear ++min=0,swap,group=shell –i
This calls the dropbearmulti app, and instead of using the symlink method it’s asking for, just tells it “here, run the server, and here’s your arguments.” . It seems to be working, because several weeks and a few reboots later I’m SSH’d into the server to pull up the details for this post.
Hacks &Networking (General) &Servers &Virtualization Jl. on 10 Mar 2009
Cheap servers, and a quick mod.
Just bought a series of HP DL360s from a firesale. AOL was refreshing a datacenter, these things were dirt cheap. I’ve outfitted one with a pair of UW320 hotswap 72gb drives, but I’m figuring out a mod to put SATA drives in – cheaper, readily available, and don’t require ubercash and ebay to pick up if one dies. It looks straight forward enough. From my initial pokings, the SCSI backplane just lifts out. The power connector is a single molex to the backplane that distributes it to the two drives, so I need a y-cable.
Empty drive trays are $10 a pop, so I’ll use those to lock the drives in place. I have one outfitted with 4gb ram already which should be enough for most ops. They’re dual-proc Xeons (single core, no VT) at 2.8ghz, and should make nice dogfood boxes for labs w/ VMWare GSX server. Once I load test them, know they’re stable and won’t crap out on me, I may replace my dual p3-800 server which hosts my critical stuff. At the very least, with a cheap SATA raid array, great media and file server.
www.nautilusnet.com was the company. The chassis were $20 a pop, came with the procs and 1gb ram, no drives. They had a 3.04ghz model for $30, same outfit (240 mhz doesn’t make that much diff. to me). The company has everything else needed to outfit them – drives (36 or 72gb), memory kits, and redundant power supplies. I’ve put in three orders with them now, and they’re awesome to work with.
Disclaimer: I’m not paid nor do I benefit in any way from this plug. I don’t get kickbacks, gift cards, taken out for free drinks by the sales staff, free gear, logo’d jackets, tote bags, bumper stickers, or any special sale price on equipment. They’re good people that do a good job and are worth a mention.
I also just bought a Linksys WMP300N PCI Wifi N card, and a WRT600N “Ultra RangePlus Dual-Band Wireless-N Gigabit Router” . I installed them last night in hopes of getting better “reception” with my home-theater box (which I use for Netflix On Demand, and MS Flight Simulator – rest in peace – on my TV), but ran into a few hurdles configuring the 5ghz N signal. A post will be forthcoming about that and some mild insanity once I stop foaming at the mouth about the Linksys wifi manager software.
Active Directory &DNS &Hacks &Networking (General) &Servers Jl. on 30 Nov 2008
Using DNS to Force A Domain Trust Through a Specific Domain Controller (or a “gateway” DC)
Here’s the scenario:
We’re attempting to set up a trust between two domains – Source.com, and Domain-Baker.com. But there’s a catch. We’ll exclude the how’s and why’s, but creating the trust is more complicated than usual because of the routing on the network. Source.com and Domain-Baker.com can’t ping each other directly, however a domain controller (BridgeDC.Domain-Baker.com) has been placed on a subnet segment that can reach both. The picture below draws this out a bit – (green = ping, black = network route, red = can not ping)
So the DCs in Source.com can’t reach the DCs at the main site across the map, but they can reach the Bridge DC in the middle. The BridgeDC can, in turn, reach both sites.
Typically, when you’re creating a trust, you’d create a secondary DNS zone in Domain A (in this case the zone Domain-Baker.com hosted on the DNS server for Source.com, with a master of DNS.Domain-Baker.com), and vice versa (zone Source.com hosted on the DNS server of Domain-Baker.com). (Diagram:)
This way both domains see the domain controllers available on either side of the networks, the trust gets established using one of the DCs located through DNS, and the trust comes up happily.
Except it fails. It says it can’t find the domain. In fact, the error itself was:
The New Trust Wizard cannot continue because the specified domain cannot be contacted. Either the domain does not exist, or network or other problems are preventing the connection.
But DNS is in place, both zones are replicated, why did it fail?
Only one DC of Domain-Baker.com is reachable by Source.com - BridgeDC.Domain-Baker.com (see the first diagram). When Source.com queries “domain-baker.com” from the records that it’s just copied down, it gets a whole slew of resource records and DNS servers that simply aren’t available to it. It looks something like -
But we know we have the BridgeDC for Domain-Baker.com sitting right there, why won’t it talk to it? The answer is, it might – it’s a shot in the dark. One out of 20 or 30 times it might work, because that would be the DC that gets resolved for Domain-Baker.com . But the timing would have to be just right, and you’d never know when it was lined up. Obviously a trust that only works one in 30 (or more) doesn’t help anyone.
So how do we force Source.com to only use BridgeDC.domain-baker.com to create the trust? DNS.
Editing DNS Records to Specify Domain Controller
The goal will be to edit the DNS records hosted in Source.com so that it only knows about BridgeDC.domain-baker.com . Now before you go jumping into the DNS console and start deleting records, hold on! Things can get pretty ugly if they’re not handled right.
First you have to make sure you’re editing the right records. Deleting all the other servers for the zone Domain-Baker.com in your production Active Directory (of Domain-Baker.com) would obviously wipe out half your network. Yes, Source.com would transfer the updated zone with only the records for BridgeDC, but the ends don’t justify the means in that case.
So we have to make Domain-Baker.com editable within Source.com . The easiest thing to do:
[I use my demonstration domain names here, obviously you'll have to substitute your domains in their place]
1) From the DNS console of a DNS server in Source.com, create a new secondary zone (yes, secondary) called Domain-Baker.com .
2) When it asks for the IP address to copy the zone from, put in the IP address of BridgeDC (or any other DNS server that has a copy of the target zone).
3) Confirm the zone, and watch it populate.
Now, this is going to be a complete copy of the zone, full of records for servers we can’t use. So, lets get rid of them.
1) Open the properties of the zone. Change the type of zone from Secondary to Primary (making the zone AD Integrated is your choice).
2) Under the Zone Transfers tab, turn OFF zone transfers.
3) Under the Name Servers tab, pull out the DNS servers listed for Domain-Baker.com. We don’t want our other servers making queries on the complete copy of the zone!
Now, we’ve just made the zone Domain-Baker.com editable within Source.com, we’ve made sure our changes will NOT replicate to Domain-Baker.com (and thus screw up the network quite royally), and we’ve made sure that this will be the only server to host this record. So lets get to wiping the other servers.
Expand the zone, and you’ll probably see a great number of records and servers. Because of the way Active Directory works, there’s a lot of information in there about all of the AD Sites, servers at each site, workstations, etc etc. DNS, you may not know, is one of the most crucial parts of Active Directory. Because of this unique issue, we need to sort through those records and servers, and pull out the ones we don’t want. ![]()
Go through each folder from the top down, and delete any Name Server (NS), Service Location (SRV) record, or a No Name A record (“Same as parent folder”), that is NOT the domain controller we want to use (in this case we want BridgeDC.domain-baker.com / IP 172.16.56.4, and don’t want the others). You’ll have to go through each and every folder inside the Domain-Baker.com zone to delete the extraneous records. The end result should look like:
Multiple DNS Servers in Source.com
Now, if you have multiple DNS servers within Source.com, you’ll need to set them to only query your DNS server which has the Domain-Baker.com zone, any time they run a lookup (unless your zone is AD Integrated, in which case skip this step). On each other DNS server:
1) Open the server properties (DNS console, right click the Server, click Properties),
2) Open the Forwarders tab,
3) Create a new forwarder for Domain-Baker.com,
4) Put the IP address of the DNS server which we just edited the records on.
This ensures that only your edited copy of Domain-Baker.com is queried from your source domain. After making changes to DNS servers, especially when they’re across the board, its good practice to restart each DNS service, and on each DC run
ipconfig /flushdns
and
ipconfig /registerdns
Creating the Trust
DNS should now be configured so that from any server in Source.com, you can ping Domain-Baker.com and only reach BridgeDC.domain-baker.com (again, substitute your hostnames/domains here). You should also be able to nslookup domain-baker.com and only receive BridgeDC.domain-baker.com or its IP address.
Once that’s confirmed, create the trust. I suggest you do this from the Source.com side – I tried to run it from Domain-Baker.com and discovered that it was asking one of the back-end DCs that couldn’t reach Source.com to establish the trust. Once I ran it from Source, everything worked great.
You may receive an error indicating the trust could not be validated, because there isn’t a workstation or computer account created. (Or words to that effect).
Open Microsoft Support Article 246264 (http://support.microsoft.com/kb/246264). It says that the Trust may validate itself, even though it throws this error. Sure enough, once I told it to validate, then got the error, had it reset the password, then told it to validate again (only reset the trust password once), it returned successful.
Presto, trust completed, using one DC as the “gateway”.
Recap
I don’t normally do this, but in this case it’s easy to get confused. So here’s the bullet points.
- Attempting to set a trust between Source.com and Domain-Baker.com using BridgeDC.domain-baker.com as a “gateway” or “bridge”
- First created a secondary DNS zone in Source.com of Domain-Baker.com, replicated a complete copy of the zone from BridgeDC.
- Changed Secondary Zone to Primary zone. Disabled Zone transfers and updates.
- Deleted any other SRV, NS, or NoName-A records that weren’t BridgeDC.domain-baker.com
- This makes Source.com think that the only server in Domain-Baker.com is BridgeDC.
- Set up the trust, Source.com now uses Domain-Baker.com for the trust (because it doesn’t know any better).
And that oughta do it.
Desktops &Hacks &UI Mods Jl. on 29 Oct 2008
Desktop Paging – Multiple Window Arrangements, switch between the click of a button!
Anyone who’s used KDE, Gnome, or most any other Linux window manager (WM) will know about Desktop Paging, though maybe not by that name. It’s a built in functionality which allows you to have several “virtual desktops”. The programs remain running all the time, but you can arrange windows in certain ways, and move programs or windows from desktop to desktop. Confusing? I’ll bet. Lets clarify:
I have four (4) “virtual desktops”. On Desktop 1, I have Outlook open, with 3 emails in separate windows, and my calendar in a new window (thanks to Outlook 2007). In this configuration this takes up my entire desktop real estate, but I need to keep them arranged this way. And now, I want to open Sharepoint to pull down a Word document. That’s two more windows, in an already crowded screen, with a configuration I don’t want to lose. Add to that I’ll need to copy and paste some text between the Word doc and an email, and you start to have a problem.
So, I switch to Desktop 2. I start with a blank canvas – a desktop that would look just as it would if I minimized everything, or had just restarted my computer. From here, I open Firefox, browse to my Sharepoint site, and download my Word document. I open my Word document, find my text, and copy it. Now I need to get back to my open email to paste it in.
I push a hotkey and switch back to Desktop 1.
Desktop 2 is minimized, the arrangement is saved, and Desktop 1 is brought up just the way I left it! I paste what I want into Outlook, send the email, and now I want to open a remote desktop terminal session, but I need to keep Sharepoint accessible within Firefox.
I push a hotkey and switch to Desktop 3.
Desktop 2 is minimized, Desktop 3 is brought up as a blank canvas again, and I can open Terminals to start my TS connections. I need to see an Email to retrieve an issue I’m working on? Push my hotkeys, I’m back to Desktop 1, open my email, find what I’m looking for, and hotkey back to Desktop 3. Just that quick.
So this is built into Linux, but how can Windows users incorporate such power-user-like glory? A virtual desktop application known as VirtuaWin . Designed to bring the same functionality Linux users enjoy, to the common Windows desktop. It’s a small application that will sit in your system tray, and allow you to switch back and forth between your new “virtual desktops”. You can download add-on modules to it, and view a mini-representation of your window layout, so you have a hint as to what desktop has what layout (several small windows on 1, that must be Outlook, big window on 2, oh that must be Remote Desktop, etc.). As a SourceForge project it’s free, and I’ve been using it for several months with high stability. You can move windows between desktops, create rules (always open Acrobat on Desktop 3, etc), and do almost anything else one could imagine wanting to do with a tool such as this.
I have four desktops open right now, each with applications running on them. One desktop has Outlook, another Firefox, a third has IMs, and the fourth is my blog tool that I write this with. While each application still uses the same amount of memory, VirtuaWin itself is presently using 5,624k , or just over 5 and a half megs, and I don’t even see it register on the CPU usage. It’s a very lightweight app, but accomplishes an amazing amount in a very user-friendly way.
It’s not quite like having a quad-monitor setup, but it’s as close as I can come with a laptop, especially on the road.