Posted by rickb on 6th May 2010
I’m getting ready to open-source QXSAP (a Qt-based multi-lingual and simple marshaling parser) and, of course, before doing that, I need to get it into a source control repository, of some sort.
In the past, that’s been SCCS (Source Code Control System), RCS (Revision Control System), CVS (Concurrent Versioning System) and finally SVN (Subversion), with a couple of side trips to some strange source control systems, whose names I forget and would rather not recall.
Something New: Git
Now, the latest thing is Git, created by no less a luminary than Linus Torvald, himself. I’m not sure if the name is an acronym that stands for something, or if it’s just a play on the slang term to ‘git’ something. Whatever – it’s the VCS du jour, and it’s being used by a lot of important (to me) organizations, primarily Nokia for Qt and all it’s sub-components.
Gitorious is the repository of choice for Qt-based objects, so that’s where I want to put QXSAP.
Which means I’ve had to spend the last couple of days getting up to speed on Git. From what I’ve seen, it looks like it’s capable of doing anything it’s predecessors can do. I like the idea of having a local repository, and that the repositories can communicate with each other and update themselves. Beyond the standard required features (fetch/push/branch/tag, etc), the ’stash’ mechanism seems kind of interesting.
Start out with the basics, and then broaden the scope, from there.
Until the next ‘new best thing’ comes along….
Posted in C++, Linux, Mac, MacIntosh, Platforms, Qt, Software Development | No Comments »
Posted by rickb on 20th February 2008
As I write this, I have three virtual machines running simultaneously alongside OS X:
- A 256mb FreeBSD system, commandline only (no X). This is my local webserver.
- A 396mb Ubuntu system running KDE
- A 764mb Windows system running XP
This is all under VMWare Fusion on a 2.0ghz/2gb/250gb white MacBook. The VMs are located on an outboard USB drive.
And it’s not killing the machine!!
Kind of amazing, really, when you consider they collectively take up 1416 mb of memory on a 2gb machine. that leaves a bit more than 500mb of memory for OS X (Leopard) to run in.
As the VM’s fired up, there was a bit of a slowdown, but once they settled down from the boot activity, I could switch from one to the other without a perceptible drop in performance (assuming no heavy background processes running on any of them – I imagine inducing a large software build in any of them would probably load things down.)
I’m way impressed. I tried running the Ubuntu image and the WinXP image simultaneously under Parallels, and it brought the machine to its knees. I didn’t have to reboot the host machine, but I had to wait an excruciatingly long time for the selected guest machine to shutdown cleanly and the system to regain it’s composure.
Under Fusion, things are running surprisingly well. I’m sure I won’t keep it this way (I don’t think), but it’s nice to be able to do it.
I guess you have to credit VMWare’s long history doing virtualization technology that make this happen. I can only wonder how many images I could run simultaneously on a Mac 8 core tower (drool) without performance degradation.
As it is, I’m pretty happy being able to run the three I can.
Competitive Upgrade for Fusion
As of this writing, VMWare is offering a competitive upgrade rebate to Fusion – after you apply the rebate, Fusion comes out to around $50.
Think I’m going to have to do it, based on what I’ve seen.
Some Asides/Gripes
Just a couple of notes:
- I’d like to be able to set the IP range for the NAT system manually, leaving a few for statically assigned addresses. I need this primarily for the FreeBSD web server, but I like all the VMs to have known addresses.
- (There is a way to do this – you have to go in and edit some buried configuration files – would rather see an interface to do it, like on VMWare Workstation in Windows.)
- Not really a criticism as something to ponder: I want to use a bluetooth headset for Yahoo Messenger VOIP capability (YM VOIP isn’t supported on the Mac, yet). In Parallels, an intermediate driver is installed between the hardware and the VM’s – thus, when you change the sound source on the host system to bluetooth, you can get it in the guest without messing up anything else.
- In Fusion, the guest apparently has access to the hardware and, thus, communicates with the BT driver, directly.
- Powerful, in one sense, but if you also happen to be using a BT mouse or keyboard or other device, the VM grabs that, too, and it doesn’t go back to the host system. Ever.
So, an annoyance, there, but not a deal breaker.
rickb
Posted in Linux, Mac, MacIntosh, Parallels, Platforms, VM, VMWare | 1 Comment »
Posted by rickb on 22nd October 2007
Ok, I’ve got about ten things going at once, here. I’m the incarnation of Andy Grove’s pre-commitment exploration dictum: Let Chaos Reign!! Of course, the other side of that dictum is that when you’re committed to a particular direction, you apply the inverse: Reign Chaos In!!.
Well, it keeps me from getting bored between gigs, anyway.
The top four things (as of the moment) are:
- Getting the Zend IDE up and running for PHP. Ostensibly, this would seem to be simple, but things are complicated by virtue of the fact that Zend has created a second IDE based on Eclipse. Eclipse is a good thing – it not only supports PHP, but HTML, CSS, XML, and the rest of the alphabet soup of net languages, for development on the net. But, it supports application development languages, as well, most notably C++ and Java.
- Assiduously avoiding Java (don’t like things that consume half the machine’s resources to run a ‘hello world’ program), but C++ is right in there.
- Ubuntu VM configuration. Ok, I like ubuntu bunches. I hate to say it’s almost ‘Windows-like’ in ease of use, but it is. It has what must be the best update manager in the open-source world – it really does ‘just work’.
- Qyoto investigations: C# and Qt – what I think may emerge as the best cross-platform agile development environment, ever. C# has all the advantages of Java, without the overhead penalties. Qt is the best cross-platform windowing environment, albeit the cost is almost usurious, at least for small developers. Maybe in the future there would be a wxSharp effort? Not sure how that would work with wxWidget’s message map architecture…
- I’ve put this up under
monodevelop on the ubuntu system, but it’s not working (even though monodevelop says it is. Just copies down the reference .dll’s.Real anxious to get this working on as many platforms as I can.
- Getting the WordPress rss feed plugin working. That’s the last piece of this blog. It’s installed, it’s recognized, I can set things up, but it doesn’t output anything.
- Getting that done will finish up the blogging system.
It sounds like a lot, and it is, but it interleaves – a lot of these are embryonic efforts (especially Qyoto) and they require some feedback from forum query’s before I can continue. So, I can drop one while waiting for a response and pick up another. Or pick up the other when I get a neuron spark.
Posted in C++, CSharp, Linux, Mac, PHP, Platforms, Programming, Qt, Virtual Machine Software, software | No Comments »
Posted by rickb on 17th October 2007
It took a couple of runs, but I got Ubuntu (the ‘K’ version) up and running under Parallels on the Mac. So, I’ve got four environments on a single machine. Basically good, but I can only run two VM’s at a time, it seems. Too much memory whack trying to run all three. I’ll have to play with memory tweaks to see if I can get three VM’s to play together. Windows just requires a bunch, so launching that VM means taking up a third of the machine’s resources.
The Rationale
Several, really – one, I’m a command-line junkie, and KDE’s command window is simply the best – a tabbed version that allows grouping of several command windows together. This is a good thing, since I will often have six or more command windows open on two or three different machines/servers at a time. Tabbing them in logical groups keeps the desktop clutter down.
Secondly, I want all three environments for cross-platform development testing. A lot of the new development platforms are coming up under open source – eclipse, Qyoto, Qt, Ruby (on Rails), PHP, etc., etc. Linux is the place to hammer those out, and Ubuntu is the easiest of the bunch to install and keep updated.
(Aside: Parallels on the Mac is in version 3, and seems to have improved, for the most part. There are the usual gripes in the forums from the usual cranks, but on the whole, it seems to be working well. Also: version 3 adds 3d support to the Windows VM, an important consideration for a 3d graphics software developer. )
Now, I need to hook up four screens…
Next investigation is automating the .rss feeds from WordPress.
Posted in Linux, Open Source, Programming, Virtual Machine Software | No Comments »