Monthly Archives: August 2010

Call an OpenSolaris desktop from your phone

OpenSolaris snv_134
Ekiga 3.2.6
Sipdroid 1.5.5 beta running on Android 2.1

Calling Ekiga from SIPdroid

Calling Ekiga from SIPdroid - call in progress

Advertisements

Byran Cantrill on Oracle and OpenSolaris (continued)

Latest post from Bryan Cantrill:

http://dtrace.org/blogs/bmc/2010/08/19/the-liberation-of-opensolaris/

On Oracle killing OpenSolaris

There are two posts I’d like to draw your attention to as a way to comment on this, both from other people.

 

First, from Erik Trimble, posting at the OpenSolaris forums, putting it better than I ever could and reproduced here:

 

“… With the various Linux projects, Oracle was pretty much *required* to share back, so they played nicely. With Solaris, the mindset seems to be that “We own this, so let’s make fat bank on a cool technology, and not let others steal our business”.

The unfortunate thing here is that most of the value in an Operating System is attributable to ADOPTION RATES. That is, the wider the OS is used, the more revenue potential there is. Now, the per-instance revenue potential tends to drop off, but the overall revenue ramps up very noticeably.

(note, this post, “OS” = Operating System, not OpenSolaris)

I think someone really, really, really needs to explain to upper management these things:

(1) Having an open source base / development process is pretty much a no-lose situation, with only an up side. The likelihood that other OSes will be able to take advantage of your technology is quite low (either due to incompatible license, or high barrier to port the code), and, at best, such other OSes will lag significantly in uptake. For instance, ZFS is about the only major technology from OpenSolaris that I can name which has any reasonable adoption in other OSes. The FreeBSD port of ZFS is *at* *least* 6 months behind that of OpenSolaris. The Upside of a open development model is that you can get outside contributions (if you actually want them, and design the development model appropriately), outside testing, and a radically higher adoption rate than a closed model.

(2) As a corollary to #1, yes, you might have some competitors use your source base to build their own produce (cf. Nexenta). *However*, those competitors actually *help* you, in that they will:

(a) most likely contribute work back to the open development base that you (Oracle) would not have done

(b) increase the userbase of the OS itself (even if only in appliances, this increases familiarity with the OS, increasing the sales recognition, so selling other products based on this OS is simpler)

(c) provide new and innovative products, which enables Oracle to “test the waters” in various market niches without committing any Oracle resources (i.e. let someone else do your market testing for you)

(d) be small companies which aren’t a serious threat to any Oracle revenue, relative to their benefit

(e) they are a very big potential source of revenue themselves, if you want to sell something like a “premium developer-access support” contract.

(3) Giving away for free BOTH Solaris and OpenSolaris distros doesn’t hurt the bottom line. Period. No lost revenue at all. It *absolutely* will drive additional revenue to you, particularly from ISVs and app developers, who will use your product to create their own, and drive more revenue back to Oracle, in the form of more server and support contract sales.

(4) As a corollary to #3, making a cheap support option consisting of security updates & Knowledge Base access only is FREE MONEY. It costs you virtually nothing (ok, perhaps pennies per contract), and gives you not only increased userbase (with the attendant better ISV/appdev attention), but also a reporting base to monitor for problems (i.e. free QA), and significant incentive for businesses to use the OS vs other options.

(5) High-cost (and high per-copy profit) niche closed OSes are a good way to die. OS/400, anyone? For that matter, going the route that Oracle has mapped out for Solaris is a quick way to turn Solaris into AIX or HP-UX. That is, anyone see either AIX or HP-UX gaining new installed base (or getting new apps written for them) these days? Solaris isn’t *that* much superior to either of them (technologically) to forestall a long slow decline into oblivion if Oracle decides to radically contract the userbase. Which is what closing it up, and requiring expensive support contracts for any use will do.

(6) The current model almost certainly guaranties that Solaris will be abandoned by the Academic community. Once again, I bring up OS/400, AIX, and HP-UX. Without an introduction to “serious” OSes – which the academic community by far is the leading provider of – you lose the next generation of sysadmins, app developers, and tech managers. If they don’t know your product, how are they going to use it (or be inclined to purchase them?). It’s already happening. There are very few new Solaris SysAdmins under 30. You *have* to make your OS product known to (and usable by) academia if you want any hope of future
sales. And, academia is requiring Open Source products these days (for a lot of reasons).

(7) Solaris is not a PRODUCT, it is a PLATFORM. Products you sell. Platforms you sell things to run *on*.

Frankly, at this point, I’d be all for Oracle spinning out the Solaris group as a fully-owned subsidiary, responsible for paying its own way. You’d see Solaris make lots of interesting product/marketing decisions and far more cash than I think Oracle is going to make with what they’re doing now…”

 

And secondly, this post from Garret D’Amore, which I urge you to read:

http://gdamore.blogspot.com/2010/08/hand-may-be-forced.html

 

Oracle sues Google (aka “Face meets Palm”)

Tim Bray comments succinctly:

http://twitter.com/timbray/status/21023407881

Gosling weighs in:

http://nighthacks.com/roller/jag/entry/the_shit_finally_hits_the

But what I’d really like to know is how Scott McNealy is feeling about how well his good friend’s company is handling Sun Microsystems’ legacy?

Draw arrows in GIMP…

… with this handy plugin:

http://registry.gimp.org/node/20269

I love this application!

GIMP draw arrow plugin settings

Three ways the Microsoft Outlook Web App interface sucks

Speaking as an end-user, not a Microsoft Exchange 2010 administrator:

1) In the default theme (apparently unchangeable by the end user), highlighted messages are displayed in a way-too-subtle shade of blue/grey. Unless you are looking at your LCD display exactly front-on, the highlighting tends to disappear. Result? Needless straining of peepers to see exactly what message you are looking at in a long list.

2) The end-user can apparently only switch the reading pane to the right-hand side (not the bottom) of the display. Thanks Microsoft, for assuming everyone using your products has access to a wide-screen display.

3) The sign-out button is nestled way-too close to the “Open Other Mailbox” drop-down arrow at the top-right of the interface. Result? Needless button-clicking to close a window inadvertently opened when attempting to log out.

Outlook Web App interface issues

Oh, and while it’s nice to finally have decent support for Firefox (gee, I guess all that marketing about premium browsers was a load of hooey), it also sucks that it’s limited to Linux, Mac and Windows platforms. Seriously, the little-known Sun Convergence email web app ran rings around this, and was totally cross platform to boot – although I’m sure Oracle are busy at work making the Java System Messaging Server prohibitively expensive as I type 🙂

GIMP drop shadow plugin

Great little plugin here, a collection of cool effects actually:

http://registry.gimp.org/node/186

The settings in GIMP 2.6.7 on OpenSolaris I use (first I increase the canvas size by 5 percent and center it):

GIMP canvas settings

GIMP drop shdow plugin settings

Use a generic USB webcam with Open Wonderland

The Webcam Viewer module for Open Wonderland has typically only worked seamlessly with particular models of Axis webcam. However, recent helpful postings on the Open Wonderland forums have shown that it is indeed possible to use a common garden-variety USB webcam with the module, provided an intermediate application is used to convert the camera output into a HTTP Motion JPEG (MJPEG) stream. Handily, the awesome VLC media player is capable of this.

The below guide outlines how to perform such a conversion on a machine running Windows XP Home. The resulting stream can then be accessed by other Wonderland clients (in my case, on OpenSolaris snv_134 x64). I am using a cheap and good Logitech C600 USB webcam.

First thing to note: use VLC player version 1.1.2 (and presumably later). I was initially using a slightly earlier version of VLC and it just plain didn’t work as it should – and some of the user interface elements and options were confusing to boot. After a quick upgrade, things went smooth as silk.

 

Let’s get started. Attach the webcam, fire up VLC player, and from the “Media” menu item in VLC click “Streaming…”. In the window that appears, click on the “Capture Device” tab, ensure the “Capture mode” is set to “Direct Show”, and that your webcam is selected as the video device (“Logitech Webcam 600” in the below example). Under “Video size”, enter the setting 640×480.

VLC player webcam settings

Click “Stream” to proceed. In the window that appears, check that “Source” is set to dshow://, then click “Next” to proceed:

VLC webcam streaming - more settings

In the window that appears, for the “New destination” setting, select HTTP from the drop down list (as we are setting up streaming over the web). Tick “Display locally” to see a local real-time preview of the stream (once it’s running) if you like – I find this useful.

VLC streaming - setting up HTTP streaming

Click the “Add” button to proceed. In the window that appears, enter the destination path for the stream output (/test.mjpeg in the example). Assuming you are not running another server on port 8080 of the machine you have the webcam attached to (e.g. the Wonderland admin web server…) you can leave the port number at its default. Tick the “Activate Transcoding” option, and select a Motion JPEG (MJPEG) profile. If one does not exist, then you’ll need to create one – covered in the next step:

VLC HTTP streaming settings continued

To create an MJPEG profile, click the right-most button from the row of three visible to the right of the “Profile” drop-down list. In the window that appears, make sure the “Encapsulation” tab is selected, and click the “MJPEG” radio button:

VLC MJPEG settings

Next, click on the “Video codec” tab, tick the “Video” option, and double check that the codec is set to M-JPEG. The other settings may be left at defaults, although once your stream is successfully running the “Frame Rate” setting may be revisited to achieve a suitable quality/performance balance. Give the profile a name (“MJPEG” in the example) and click “Save” to exit back to the “Stream Output” window:

VLC MJPEG settings

Click “Next” and you will be presented with a final group of miscellaneous settings, and text equivalent of the GUI commands you have just executed for power users to manually tinker with. Ignore these for now, and simply press “Stream”. All going well, you should be presented with a real-time preview of the generated stream output (this is blank in the below screengrab as Windows won’t include live video when dumping window output), and at the bottom-left of the player window you should see a status of “Streaming”:

VLC live stream

Now, the fun part – to access the video stream from our virtual world. This assumes you have downloaded and installed the Webcam Viewer module (documentation may be found at http://wiki.java.net/bin/view/Javadesktop/ProjectWonderlandServerAdministration#Managing_Modules) and have dropped the module into your world. Open up the webcam stream using the IP address of the machine the webcam is attached to, being mindful of the port number and the path of the stream output you configured in VLC player. Using IP addresses for now lets us sidestep any potential hostname lookup issues.

For example, my Windows machine running VLC has the IP address 192.168.1.4, and the name of my output stream is test.mjpeg accessible over port 8080 – so the address I enter into the Webcam Viewer app in Wonderland on my OpenSolaris client is http://192.168.1.4:8080/test.mjpeg.

Wonderland in-world webcam

What is Illumos? (and more on Bryan Cantrill)

I’m listening in on the conference call, and this sounds exactly what the OpenSolaris community needs.

It’s a potential fork – and a very exciting one at that; the project aims to be a fully open derivative of the Solaris/OpenSolaris code base, and has the involvement of some illustrious and recently ex-Sun/Oracle people – including Bryan Cantrill. Garret D’Amore (formerly Sun/Oracle, now of Nexenta) is the project lead.

By fully open, they mean all the proprietary code parts of Solaris/OpenSolaris have been replaced with open source code, with no corporate dependencies. In terms of the relationship with Oracle Solaris/OpenSolaris, they see it not as a competitor, but as an independent project which Oracle may if they wish choose to collborate on. Critically, the Illumos team believe that if code were to stagnate or stop flowing upstream from Oracle, they have enough “critical mass” in terms of developer resources and community involvement that they could continue to sustain the project. In their own words, it “can’t be “shut down” or subverted by any corporate master”. This news, coupled with the involvement of ex-Sun staff just warms my heart.

Hardware support? x86/AMD64, VMware/VirtualBox, with SPARC to follow soon (yay!).

I’d be hugely interested to eventually see an Illumos distro (again, given the involvement of ex-Sun talent), and if they were to provide professional support in line with pre-Oracle-takeover Solaris or OpenSolaris arrangements then this would be a very attractive alternative to the present situation.

Bryan Cantrill has posted some of his thoughts on OpenSolaris and forking over at http://dtrace.org/blogs/bmc/2010/08/03/opensolaris-and-the-power-to-fork/.

Logitech USB webcam support on OpenSolaris

Whilst looking at the various consumer video chat/conferencing applications out there, I thought I’d have a looksy at whether OpenSolaris supports USB webcams. Turns out it does.

I’d originally purchased a Logitech C600 2-MP Webcam for use with running Skype on Windows. I followed the various guides outlined on Sun Microsystems’ Colin Zou’s (incredibly helpful) blog…

http://blogs.sun.com/colin/entry/usb_webcams_and_video_conferencing

http://blogs.sun.com/colin/entry/use_ekiga_and_a_usb

and using Ekiga (installed via IPS) I was able to use it for video input just fine:

Ekiga on OpenSolaris

You can see here in the OpenSolaris Device Driver Utility the camera detected and attached using the usbvc driver:

Logitech C600 attached to OpenSolaris

Slight catch is that I have to run Ekiga as a root-equivalent user in order for the C600 to be detected, but I’m sure I’ll figure that one out. Still, pretty cool stuff. I love modern UNIX!