Sunday, September 16, 2012

NTFS for OpenIndiana

In case you weren't aware, check out NTFS-3G on OpenIndiana. The support forum is here if you have any issues to report. It should just work, though.

Friday, September 14, 2012

OpenIndiana workstation, OI_151 a year later


Well, coincidentally, I just noticed that I've had OpenIndiana (OI 151) on my main workstation for a whole year exactly today (September 14th 2011, and today is September 14th 2012).

I also find that although it can multiboot (from the OI grub) Windows 7 and Linux Mint beside OI, I've not really spent any time in these other OSes. Just no need. I'll spend some time on the Mac workstation (my 8th Mac since the 80s), but mostly for XCode.

Outside of XCode though, I get back to OI almost immediately. The Mac, like my VMWare server (with various OSes) is used mostly as part of my build system, driven by Jenkins CI. And I got lazy to walk to the Mac, so I actually access it with VNC:




The VNC window is 1600x1200, that gives an idea of how spacious a 2560 x 1440 desktop really is. The monitor on the OpenIndiana workstation is a Catleap Q270 which uses the same LG IPS panel as the Apple 27", but without the awful super glossy. It still has a bit of reflection, but it is low gloss (I dont know of any matte version of that panel). It replaced two 20" 1600x1200 in a xinerama 3200x1200 desktop. I needed more vertical space, I can see more code at once like that.

In case anybody needs it, the Q270 doesn't provide the correct edid info, so you have to hardwire one in the /etc/X11/xorg.conf:


Section "Screen"
    Option "CustomEDID" "DFP-0: /etc/X11/edid-q270.bin"
    Identifier     "Screen0"
    Device         "Device0"
    Monitor        "Monitor0"
    DefaultDepth    24
#    Option "UseEdid" "False"
#    Option "ExactModeTimingsDVI" "True"
    Option         "TwinView" "0"
    Option         "metamodes" "nvidia-auto-select +0+0"
    SubSection     "Display"
        Depth       24
        Modes       "2560x1440"
    EndSubSection
EndSection


and the edid as a hex dump:

00 FF FF FF  FF FF FF 00  04 62 9B 04  00 00 00 00
28 15 01 03  A5 3C 22 78  22 6F B1 A7  55 4C 9E 25
0C 50 54 00  00 00 01 01  01 01 01 01  01 01 01 01
01 01 01 01  01 01 56 5E  00 A0 A0 A0  29 50 30 20
35 00 55 50  21 00 00 1A  00 00 00 FC  00 51 48 44
32 37 30 0A  20 20 20 20  20 20 00 00  00 FC 00 0A
20 20 20 20  20 20 20 20  20 20 20 20  00 00 00 FC
00 0A 20 20  20 20 20 20  20 20 20 20  20 20 00 7E
0A 

You'll have to convert the hexdump back to bin and put it in /etc/X11/edid-q270.bin (or whatever you put in the xorg.conf). Bug me in the comments if you need the actual bin file, I'll post it somewhere.

I'll leave you with one of my favorite wallpapers (I have a bunch of wallpapers on autorotation, and different for each workspace):

Netscape, Sun, Oracle. No, Heliod web server

Back in the days, the netscape web server (at some point branded iPlanet) was the reference for web serving. Of course, came Apache (a collection of patches to NSCA's HTTPs hence: a "patchy" server...). We are talking the 90s here to put things in perspective. I stuck to Apache for a while while IIS was being deployed all around me.

iPlanet

Although I felt a special attachment to Apache, knowing personally some of the original contributors (like Brian Behlendorf), I started doing speed comparisons, benchmarks, and the best performance I could get on my servers was from the iPlanet server. In the early 2000s this was known as Sun One Web Server and that's when I switched. Then the Java buzzword started infecting everything, including that web server, and ended up with the name Sun Java System Web Server. The web server part had no Java in it, but the bundled app server module did of course, along with the fancy web interface that was generated by that module.

The story doesn't end there however. Somebody (thank you, whoever you are) figured that before something bad happened to Sun, it would be wise to open source the server. Hence appeared the Open Web Server. You can read Joerg's blog comment on this here at c0t0d0s0.org

I grabbed all the resources that I could related to it, in case, tried to compile it, but the barrier to entry was high in term of the number of libraries. Still, I figured that I'd wait for the project to get some momentum before switching.

How wise that proved to be to open source the server... Soon after, Oracle bought Sun, closed most open source projects, and rebranded yet again the web server, now calling it Oracle iPlanet Web Server. It is now almost impossible to download, as it is hidden in the Fusion middleware cluster on Oracle's cloud delivery. It is mostly pushed by Oracle as a simple reverse proxy for weblogic.

Performance


Of course, with Oracle's approach, one would probably be wise to jump ship. But on a server with sufficient RAM (if you have a very low RAM scenario, lighttpd works well), it is the best performing of the current breed. I'm not talking about Apache. After all, it is 20 years old, so I expect something more recent to be faster. No, I'm talking about faster than lighttpd, faster than Cherokee. So I started again down the path of getting a stable build of Open Web Server last month. I want the performance, but I'd like the flexibility of having the source to figure out specific issues.

Made my day

Today, I got a nice surprise in my email from Dave Koelmeyer to the OpenIndiana discussion list:

Not related to OpenIndiana, but I thought it interesting stumbling across
this today: the open source guts of the "Sun Java System" web server
product which Oracle apparently swept under the carpet (the open source
bits that is, not the proprietary, rebranded offering).

http://173.255.252.27/jyri/articles/index.php/web-server/

That's pretty exciting news! There's even a sourceforge page: http://sourceforge.net/projects/heliod/ The name is Heliod

The future

I think I'll be running this web server pretty soon. A web interface to manage the complex configuration would probably be a good addition to it for those that are new to it, and if I get some time, I'll write one in Python (with web.py). I'll probably propose that project to our local Python User Group (PYPTUG).