Saturday, March 10, 2007

The Best Linux and Windows Combo I've Tried Yet

I like Linux. I really do. The problem is I have those pesky few pieces of hardware and software that just have to run on Windows. Dual boot is OK, but it is hardly handy. I have two monitors and a dual CPU -- it should be easier.

In the past, I tried running Linux under Windows or vice versa, but with mixed results. Topologilinux is ideal -- it lets you run Linux under Windows OR boot the very same copy of Linux. But it is not maintained very rapidly and it is based on Slackware, which I don't find as nice as some of the newer distributions. I've also used VirtualPC and Parallels to run Linux inside Windows, but it was never very seamless.

The other day my Parallels installation croaked beyond repair, so I decided to try something new. I had noticed that VirtualBox was now open source. This is similar to Paralells, VirtualPC, VMWare, etc. But two things have combined to make this a winning choice: First, VirtualBox has drivers you can install on supported operating systems (including Linux) that do a few neat tricks. In particular, it makes the mouse operate transparently! With most virtualizers, the mouse gets "captured" inside Linux (or whatever you are running) and you have to do a funny keystroke to escape to the regular OS. With VirtualBox you just click inside Linux or click inside Windows -- its all the same.

So one way to use this is to just put VirtualBox running Linux (I'm using kubuntu which is very nice) full screen on one monitor and let Windows have the other monitor. Works great.

The second thing I've been using to assist this, though is a piece of shareware called AltDesk. This is a piece of software that lets you have a bunch of virtual windows (there are others out there, but this one is very powerful and integrates well with the ultra-cool Windows shell called Aston from the same company). AltDesk can start programs automatically when you switch to a desktop for the first time, so you can make a virtual Linux desktop and switch between them at will. I keep the AltDesk bar at the bottom of my 2nd monitor (like a task bar) and use it to switch between desktops.

Performance is good although I'll confess that 2GB of RAM and a dual core clocked at about 2.2GHz probably doesn't hurt.

More great open source!

Labels: , ,

Submit to:   book mark The Best Linux and Windows Combo I've Tried Yet in del.icio.usDel.icio.us  |   submit The Best Linux and Windows Combo I've Tried Yet to digg.comDigg  |   submit The Best Linux and Windows Combo I've Tried Yet to slashdot.comSlashdot  |  diigo itDiigo

Thursday, February 15, 2007

Virtualization

I've long been a fan of using virtualization to run Linux under Windows or Windows under Linux. I've even used virtualization to host Windows under Windows or Linux under Linux so I can change things around with impunity or test something with an "old" operating system. I've used VirtualPC, VMWare, and Parallels. InnoTek recently made their virtualization product open source. From their Web site:


Presently, VirtualBox runs on Windows and Linux 32-bit hosts and supports a large number of guest operating systems including but not limited to Windows (NT 4.0, 2000, XP, Server 2003, Vista), DOS/Windows 3.x, Linux (2.4 and 2.6), and OpenBSD.



Here's the link:

Labels: , , ,

Submit to:   book mark Virtualization in del.icio.usDel.icio.us  |   submit Virtualization to digg.comDigg  |   submit Virtualization to slashdot.comSlashdot  |  diigo itDiigo

Friday, December 22, 2006

3 Must Haves for Road Warriors

If you travel at all, here's a few tools to make life on the road more livable:
  • Orb - I just discovered this. It is essentially a personal Web server that lets you access your files, audio, video, and even TV as streaming data. So last week in Los Angeles, I watched Battlestar Gallatica from my hotel room. If you have a MPEG in hardware TV card, this thing will work like a remote control TiVo -- you can record your shows on your PC while you are at any Web Browser and then watch the shows from anywhere -- including many mobile phones, PDAs, etc. You could set up your own streaming server, of course, but this is point and click and works great. Oh, and it is free!
  • Thinkfree Office Online - I've written about this before. Still my favorite online text editor, presentation maker, and spreadsheet. Very Office compatible and it is great to always have the latest version of a document at your fingertips online. Also free.
  • UltraVNC - My favorite of the VNC programs let you access your desktop computer from anywhere. Unlike many VNC derivities, this one makes it simple to use high security and transfer files. It also uses a video driver for good performance on screen updates.
Orb is hard to explain but priceless once you've used it for about 10 minutes. But with these tools you can get to all of your data and applications with a minimum of fuss as long as you have an internet connection.

Labels: , ,

Submit to:   book mark 3 Must Haves for Road Warriors in del.icio.usDel.icio.us  |   submit 3 Must Haves for Road Warriors to digg.comDigg  |   submit 3 Must Haves for Road Warriors to slashdot.comSlashdot  |  diigo itDiigo

Tuesday, October 31, 2006

Fixing Cygwin & MingW

I'm a long-time Cygwin user (and a longer-time Unix and Linux user). It is handy to have the whole suite of Linux tools under Windows. Of course, one feature every Linux programmer uses constantly is gcc -- the Gnu C compiler. However, the Cygwin compiler by default creates binaries for use with Cygwin. That means you need a commercial license to distribute them and it also means you can't just send an executable to your buddy who doesn't use Cygwin.

There is a another project that allows gcc to run under Windows called MingW. In fact, you can use the Cygwin tools to install the MingW libraries and -- in theory -- a simple -mno-cygwin command line option will let you compile Ming binaries (that is, normal Windows executables that don't depend on Cygwin). Of course, you lose any "special" Cygwin features when you do this, but that's the price.

I've used this before, but unfortunately it seems to be broken in the current release of Cygwin. Here's what I did to fix it.

1) In /usr/lib/gcc there is a directory for i686-pc-mingw32/3.4.4. In that directory, the Cygwin installer put ordinary .lnk files linking back to /usr/lib/gcc/i686-pc-cygwin/3.4.4. None of these work, so the first step is to make hard or symbolic links to the correct files. For example, cc1.exe.lnk needs to be fixed (from the i686-pc-mingw32/3.4.4 directory):

ln ../i686-pc-cygwin/cc1.exe cc1.exe

Fix all the links in this way. Now gcc will run with -mno-cygwin, but it still won't link.

2) The problem is, gcc is a driver and the specs file is broken. In the same directory, edit the file named specs. The trick here is we need to change the references to crt2.o to refer to a specific path (/usr/lib/mingw/crt2.0). We also need to add -L/usr/lib/mingw to several places. Here's a diff between the standard specs file and mine (significant additions in red):



$ diff specs ../../i686-pc-cygwin/3.4.4/specs
51c51
< %{pg:-lgmon} %{!mno-cygwin:-lcygwin} %{mno-cygwin:%{mthreads:-lmingwthrd -L/usr/lib/mingw} -lmingw32} %{mwindows:-lgdi32 -lcomdlg32} -luser32 -lkernel32 -ladvapi32 -lshell32
---
> %{pg:-lgmon} %{!mno-cygwin:-lcygwin} %{mno-cygwin:%{mthreads:-lmingwthrd} -lmingw32} %{mwindows:-lgdi32 -lcomdlg32} -luser32 -lkernel32 -ladvapi32 -lshell32
54c54
< %{mno-cygwin: %{mthreads:-lmingwthrd} -lmingw32} -lgcc %{mno-cygwin:-lmoldname -lmingwex -lmsvcrt -L/usr/lib/mingw}
---
> %{mno-cygwin: %{mthreads:-lmingwthrd} -lmingw32} -lgcc %{mno-cygwin:-lmoldname -lmingwex -lmsvcrt}
57c57
< %{shared|mdll: %{mno-cygwin:dllcrt2%O%s}} %{!shared: %{!mdll: %{!mno-cygwin:crt0%O%s} %{mno-cygwin:/usr/lib/mingw/crt2%O%s} %{mno-cygwin:-L/usr/lib/mingw} %{pg:gcrt0%O%s}}}
---
> %{shared|mdll: %{mno-cygwin:dllcrt2%O%s}} %{!shared: %{!mdll: %{!mno-cygwin:crt0%O%s} %{mno-cygwin:crt2%O%s} %{pg:gcrt0%O%s}}}


Now you are done. Want to prove it? Try making a file howdy.c:

#include
void main() {
printf("Howdy!\n)";
}


Now compile it without using cygwin:
gcc -o howdy.exe -mno-cygwin howdy.c

Sure it works, but how do you know it isn't using Cygwin? Try this:
objdump -p howdy.exe | grep dll

You'll see:
$ objdump -p howdy.exe | grep dll
DLL Name: msvcrt.dll
DLL Name: KERNEL32.dll

If you recompile without the -mno-cygwin option and rerun objdump, you'll see the executable now relies on cygwin1.dll!

Notice that if you want to build DLLs you probably have to fix the dllcrt2.o in the spec file the same way. But from here you should be able to figure it out!

Labels: , , ,

Submit to:   book mark Fixing Cygwin & MingW in del.icio.usDel.icio.us  |   submit Fixing Cygwin & MingW to digg.comDigg  |   submit Fixing Cygwin & MingW to slashdot.comSlashdot  |  diigo itDiigo

Monday, October 30, 2006

Top Thunderbird Tricks

Ok, not hardware related, but you have to keep up your geek reputation, right? So here's some Thunderbird tricks you can teach your friends:
  • Stacked View Extension - Lets you have a nice stacked view like other mail readers.
  • Create a template folder if you don't have one already. You can make "boilerplate" e-mails and save them in the template folder. When you want to create a new e-mail, right click on the template you want to use and select "Edit as New". (Note: Look in Tools | Account Settings | Copies and Folders to see the name of the Template folder or to change it).
  • In Tools | Account Settings | Composition and Addressing and select HTML editor. Even if you don't want to send HTML, you can still use the editor which is nicer and understands URLs. Change to text by using Options | Format or by programming text-only domains in Tools | Options | Send Options.
  • Tired of a white background? Use Format | Page Colors and Backgrounds to set a color or picture. Save it as a template!
  • If you keep a lot of mail in your Inbox look at the bottom of the list. Spam! Try selecting the folder and select View | Sort By | Order Received and click Descending. This will show you mail in the order it arrives regardless of the date in the e-mail (which may be ahead or behind your clock, especially for Spam).
  • Another good extension: QuoteCollapse. This handy applet collapses long quoted messages to a single line that you can expand.
  • Learn to use Smart Folders (save searches as virtual folders).
  • Lots of advanced customizations at http://nightlybuild.at.infoseek.co.jp/help/tips.html
What's your favorite Thunderbird tip? It seems like there aren't as many extensions for Thunderbird. What are your essential extensions?

Labels:

Submit to:   book mark Top Thunderbird Tricks in del.icio.usDel.icio.us  |   submit Top Thunderbird Tricks to digg.comDigg  |   submit Top Thunderbird Tricks to slashdot.comSlashdot  |  diigo itDiigo

Saturday, October 28, 2006

Seven Web 2.0 Flash Sites

You think of Web 2.0 sites as using dynamic HTML and AJAX. But I've noticed a growing number are using Flash for... well... um... flashy Web sites. Here's a few:

Labels: ,

Submit to:   book mark Seven Web 2.0 Flash Sites in del.icio.usDel.icio.us  |   submit Seven Web 2.0 Flash Sites to digg.comDigg  |   submit Seven Web 2.0 Flash Sites to slashdot.comSlashdot  |  diigo itDiigo

Wednesday, October 11, 2006

Online Backup

At work we have a neat program that runs in the background and backs up your hard drive to a remote server. Now you can get the same sort of service at home. A company called Mozy will backup 2GB of data over the Internet for free. A little program runs in the task bar and can backup when you aren't using the computer or on schedule.

Of course, 2GB isn't enough for a hard drive, but it is enough for your important documents and spreadsheets. If your computer crashes or your house burns down, you'd be glad to have them safe. The data is encrypted so it is private. If you want more storage, they are glad to provide it for a "small fee."

Works great! Try it out.

Labels: ,

Submit to:   book mark Online Backup in del.icio.usDel.icio.us  |   submit Online Backup to digg.comDigg  |   submit Online Backup to slashdot.comSlashdot  |  diigo itDiigo

Sunday, July 09, 2006

4 Steps to Home/Work Internet Nirvana

If you use a bunch of computers (or maybe a computer at home and a computer at work) you know how hard it is to keep everything in sync. But I think I've found a pretty workable solution in 4 parts:

  1. Use Firefox
  2. Store your bookmarks at http://del.icio.us (see my bookmarks at http://del.icio.us/wd5gnr).
  3. Install the Delicious Firefox extension (http://del.icio.us/help/firefox/extension)
  4. Install Google Browser Sync (http://www.google.com/tools/firefox/browsersync/) -- this syncs your history, cookies, passwords, etc.)
You might wonder why use del.icio.us if the Google tool will sync bookmarks. First, think of it as a fallback. If I have to use IE somewhere I can still find my bookmarks. Second, del.icio.us lets me find lots of other interesting links by searching other people's links, using the inbox, or using the network.

Labels:

Submit to:   book mark 4 Steps to Home/Work Internet Nirvana in del.icio.usDel.icio.us  |   submit 4 Steps to Home/Work Internet Nirvana to digg.comDigg  |   submit 4 Steps to Home/Work Internet Nirvana to slashdot.comSlashdot  |  diigo itDiigo