VMWare
Swinging both OSes, while being faithful to Visual Studio
Posted May 24th, 2008 by DavideI've been coding at home.. with my iMac.. only, using Windows XP 8)
While learning new OSes and new development environments or even new languages (Objective-C !) can be a great thing, my current focus is really mouse about graphics that application interfaces or multi-platform development.
I'm also so much used to Visual Studio (.NET 2005, using VC6 key mapping) and Visual Assist X.
I'm only now managing to get a decent setup and here is a list of things that are helping me:
VMWare Fusion
Fusion can actually display single application windows mixed with the OS X windows, but personally I prefer to leave it in a single window, better if full-screen.. because I can get OS X windows on top of it (basically full-screen means "maximized", though there is no "maximize" in OS X).
One problem I had, is that the cursor stays the Mac one, meaning that I get a black caret on my black background code editor windows 8)
For that I went to change cursor type on the Windows side.
Another key factor is having 3GB of RAM..
A Real Mouse !!
With one button one has to use the Control key to simulate right click. Which is fine, until you try to do Control+LMB 8)
Only today I discovered that Apple's Mighty Mouse (standard for iMac) can actually handle a right click !! Great ! ..not really: it's very easy to accidentally do a right click while trying to do a left one. A very frustrating experience, possibly worse than the unwanted side buttons clicks, the scroll ball/nipple getting stuck and sometimes the inability to click at all. What a crappy mouse !
My solution was to plug a regular 2 buttons + Scroll Wheel mouse.. much better now.
Key and mouse mappings
I set the middle mouse button (clicking on Scroll Wheel) to show "All Windows" (see Expose' video). The "All Windows" view is actually very useful.
Then I swapped Control and Alt (Option on Mac), because on the iMac keyboard Alt takes the place of Control which is too much an important key to try attempt relearn it's position (when I'm not at work !)
...And ?
My smallish "computer desk" is still lacking. Must get rid of it, but trashing old furniture and housing large furniture does require a certain will power if you live in Tokyo 8)
I wish I had two smaller monitors rather than a large 24 inches one. In the office, I like how I can maximize Visual Studio in the left monitor while doing something else in the right monitor.
Still, I'm much happier now. I can use the same computer using applications from both OS X and Windows.
Interoperability is great. Copy and paste, drag and drop works both ways.
Keyboard and mouse are just too important, and while I can tolerate XP not recognizing the Japanese layout (could overwrite a DLL for that, but I prefer the English keyboard layout for code anyway), I definitely needed to remap the Control key and to get a decent mouse.
I'm writing this with an editor on the Mac while the Windows screen saver runs in the background. Putting an x86 processor on the Mac is the best thing Apple could have done for the machine at least for those of us that can't get into serious relationships (with operative systems 8)
woooo !!
Coder for life
Posted May 18th, 2008 by DavideYesterday night I went to ageHa club in Tokyo to listen to Ferry Corsten.
I'm a big fan of Trance music.. it was great.. if only I weren't thinking all the time that I wanted to go back home and code !!
As I pretty much still develop on Windows, I've been using my Vaio laptop at home (not laptop from the company, they promised it once, but then took it back 8( ).
At home I only have a small desk and that's for the iMac. So when I use the Vaio it's on the kotatsu, with it's limited monitor and keyboard... not the best environment for developing (it's important to have a full size keyboard to write code !).
So, yesterday I decided to try installing Visual Studio on the iMac under VMWare Fusion. It works surprisingly well (I have 3GB of RAM). DX9 support doesn't seem to be there, but it's probably a setting or an upgrade. In any case recently for me it's either DirectX 10 (ewww) or software rendering (slooww).
Speaking of software rendering, I started with the idea of implementing a RenderMan state machine and borrow from RenderMan Shading Language. But the tendency is more towards Mental Ray.. which interestingly implements shaders as DLLs compiled in C/C++ (I've heard that Pixar itself does use all sort of languages to write shaders).
Writing shaders in C++ is one of my goals. HLSL/Cg kind of shaders are rather limiting, but for a good reason, those limits make it easier to write compilers that can parallelize operations. Still those limits are becoming unbearable and if shaders are written in C++, they can potentially run at the same level of a 3D engine on the same platform without having to create all those silly contractual interfaces like it happens with HLSL for example.
There will always be a problem with optimizing the interface between engine and modular shaders or any kind of module, but still, not having to worry about heavy state changes, buffering hardware display lists, etc etc, is going to make it easier to solve certain problems in different ways.
I see HLSL/Cg shaders like the (Macromedia) Flash of real-time 3D graphics: an excellent platform that can bring to great results with minimal effort, but a very limiting platform, eventually forcing a whole mindset to down the throat of an entire generation of graphics programmers.
It's important to be nonconformist sometimes !
woooooooo


Recent comments
17 hours 40 min ago
2 days 12 hours ago
3 days 2 hours ago
3 days 3 hours ago
6 days 8 hours ago
1 week 29 min ago
1 week 18 hours ago
1 week 18 hours ago
1 week 19 hours ago
1 week 1 day ago