Sunday November 08, 2009 At the request of the users the access hours for Sun Ray users in the house have been relaxed so that on Friday and Saturday nights the Sun Ray's in bedrooms can be used later.
This required that the access hour script be updated to understand the day of the week and hence the access_hour file also is updated in an incompatible way. There is now an extra column representing the days of the week when the rule is applied as the first column after the name of the user. The day of the week field will take a wild card '*' or ranges (1-5) for Monday to Friday, or lists (1,3,5). Sunday is day 0 as any self respecting geek would have it.
The new access_file I have looks something like this:
user0:0-4:0001:2300:P8.00144f7dc383
user2:0-4:0630:2300
user3:0-4:0630:2230
user4:0-4:0630:2100
user4:5-6:0630:2200
The script is still here: http://blogs.sun.com/chrisg/resource/check_access_hours
Tuesday September 15, 2009 Today I took the plunge and moved from working on our Nevada based Sun Ray Servers to one running OpenSolaris. So that I could get the full OpenSolaris look and feel I first purged my home directory of a number of configuration files and directories using a script like1 this:
#!/bin/ksh -p TARGET=b4OpenSolaris test -d $HOME/$TARGET || mkdir $HOME/$TARGET mv $HOME/.ICEauthority $HOME/$TARGET mv $HOME/.cache $HOME/$TARGET mv $HOME/.chewing $HOME/$TARGET mv $HOME/.config $HOME/$TARGET mv $HOME/.dbus $HOME/$TARGET mv $HOME/.dmrc $HOME/$TARGET mv $HOME/.gconf $HOME/$TARGET mv $HOME/.gconfd $HOME/$TARGET mv $HOME/.gksu.lock $HOME/$TARGET mv $HOME/.gnome2 $HOME/$TARGET mv $HOME/.gnome2_private $HOME/$TARGET mv $HOME/.gstreamer-0.10 $HOME/$TARGET mv $HOME/.gtk-bookmarks $HOME/$TARGET mv $HOME/.iiim $HOME/$TARGET mv $HOME/.local $HOME/$TARGET mv $HOME/.nautilus $HOME/$TARGET mv $HOME/.printer-groups.xml $HOME/$TARGET mv $HOME/.rnd $HOME/$TARGET mv $HOME/.sunstudio $HOME/$TARGET mv $HOME/.sunw $HOME/$TARGET mv $HOME/.updatemanager $HOME/$TARGET mv $HOME/.xesam $HOME/$TARGET mv $HOME/.xsession-errors $HOME/$TARGET
I generated the list by installing OpenSolaris in a VirtualBox and then logging in and doing a bit of browsing and general usage and then seeing was was created. Additionally “.mozilla” was created but I chose to retain that so that I can keep all the history that is in my browser.
Once logged in I have removed the update-manager icon as I am not the administrator. I have also removed the power notification and network monitor as they provide no useful data on a Sun Ray server.
Using “System->Preferences->Startup Applications” I unchecked the codeina update notifier and added my script for updating my IM status.
So far so good but it is taking a while to get used to the menu being a the top and the window list at the bottom of the screen.
1Like as in similar to and not this exact script as mine had my home directory hard coded into it.
Thursday August 06, 2009 Sometimes in the course of being a system administrator it is useful to know what file systems are being mounted and when and what mounts fail and why. While you can turn on automounter verbose mode that only answers the question for the automounter.
Dtrace makes answering the general question a snip:
: exdev.eu FSS 24 $; cat mount_monitor.d
#!/usr/sbin/dtrace -qs
fbt::domount:entry
/ args[1]->dir /
{
self->dir = args[1]->flags & 0x8 ? args[1]->dir :
copyinstr((intptr_t)args[1]->dir);
}
fbt::domount:return
/ self->dir != 0 /
{
printf("%Y domount ppid %d, %s %s pid %d -> %s", walltimestamp,
ppid, execname, self->dir, pid, arg1 == 0 ? "OK" : "failed");
}
fbt::domount:return
/ self->dir != 0 && arg1 == 0/
{
printf("\n");
self->dir = 0;
}
fbt::domount:return
/ self->dir != 0 && arg1 != 0/
{
printf("errno %d\n", arg1);
self->dir = 0;
}
: exdev.eu FSS 25 $; pfexec /usr/sbin/dtrace -qs mount_monitor.d
2009 Aug 6 12:57:57 domount ppid 0, sched /share/consoles pid 0 -> OK
2009 Aug 6 12:57:59 domount ppid 0, sched /share/chroot pid 0 -> OK
2009 Aug 6 12:58:00 domount ppid 0, sched /share/newsrc pid 0 -> OK
2009 Aug 6 12:58:00 domount ppid 0, sched /share/build2 pid 0 -> OK
2009 Aug 6 12:58:00 domount ppid 0, sched /share/chris_at_play pid 0 -> OK
2009 Aug 6 12:58:00 domount ppid 0, sched /share/ws_eng pid 0 -> OK
2009 Aug 6 12:58:00 domount ppid 0, sched /share/ws pid 0 -> OK
2009 Aug 6 12:58:03 domount ppid 0, sched /home/tx pid 0 -> OK
2009 Aug 6 12:58:04 domount ppid 0, sched /home/fl pid 0 -> OK
2009 Aug 6 12:58:05 domount ppid 0, sched /home/socal pid 0 -> OK
2009 Aug 6 12:58:07 domount ppid 0, sched /home/bur pid 0 -> OK
2009 Aug 6 12:58:23 domount ppid 0, sched /net/e2big.uk/export/install/docs pid 0 -> OK
2009 Aug 6 12:58:23 domount ppid 0, sched /net/e2big.uk/export/install/browser pid 0 -> OK
2009 Aug 6 12:58:23 domount ppid 0, sched /net/e2big.uk/export/install/cdroms pid 0 -> OK
2009 Aug 6 12:59:45 domount ppid 8929, Xnewt /tmp/.X11-pipe/X6 pid 8935 -> OKIn particular that last line if repeated often can give you a clue to things not being right.
Monday July 13, 2009 In case anyone wanted to cycle from Farnborough Main railway station to the Sun Microsystems offices at Guillemont Park here is the route I take.
Sunday May 10, 2009 I have made a change to up access hours script for my Sun Rays. Now the access file can also contain a comma separated list of Sun Ray DTUs so that the control is only applied to those DTUs:
: pearson FSS 3 $; cat /etc/opt/local/access_hours user1:2000:2300:P8.00144f7dc383 user2:2000:2300:P8.00144f57a46f user3:0630:2300 user4:0630:2300 : pearson FSS 4 $;
The practical reason for this is that it allows control of DTUs that are in bedrooms but if the computer is really needed another DTU can be used for homework.
Now that bug 6791062 is fixed the script is safe to use in nevada.
The script is where it always was.
Monday April 20, 2009 This is worse than being on a mobile, but I'm on the train o.k.?
Tomorrow I will be a the System Admin Mash up event at Newcastle. If you are going to be there I suggest you don't bother asking us about Sun/Oracle and instead go straight to www.oracle.com/sun then you will know as much as us.
Sunday February 15, 2009 I've managed to upgrade my home server to build 108 which is an important mile-stone for me as it has the fix for:
6763600: nautilus becomes unusable on a system with 39000 snapshots.
Which was rendering nautilus close to unusable for any users who moved out of their lofs automounted home directories. In partilcular any attempt to use it to manage the photo directories was painful.
However all was not smooth as again I hit this bug:
6795892: Sun Ray X servers (both Xsun and Xorg) suffer network problems in snv_106
but since I was expecting this I tried the workaround from bug 6799655 which is the same as the one for 6763600:
In /etc/sock2path change the following lines:
2 2 0 tcp
2 2 6 tcp
26 2 0 tcp
26 2 6 tcp
2 1 0 udp
2 1 17 udp
26 1 0 udp
26 1 17 udp
to:
2 2 0 /dev/tcp
2 2 6 /dev/tcp
26 2 0 /dev/tcp6
26 2 6 /dev/tcp6
2 1 0 /dev/udp
2 1 17 /dev/udp
26 1 0 /dev/udp6
26 1 17 /dev/udp6While this got the Sun Rays up it also stopped named from working, spewing errors like this:
Feb 15 15:10:39 pearson named[15558]: [ID 873579 daemon.error] 71/Protocol error Feb 15 15:10:39 pearson named[15558]: [ID 873579 daemon.error] socket.c:4315: unexpected error:
So have had to revert to some internal to Sun binaries that work around this while the underlying bug is fixed. It is slighly worring as I'm left wondering what other victims are out there. One I have already found is ntp, which is a known bug:
6796948: NTP completely broken by I_SETSIG semantics change in snv_106
I suspect that the system will have to revert to build 105 soon.
Wednesday February 04, 2009 I managed to buy 2 Sun Ray 2's off Ebay and one of them was is now in place in the living room driving our 40” TV.
Combine
this with a KeySonic wireless mini keyboard and the DTU does not only
act as a photo frame. The Sun Ray unit is attached to the underside
of the shelf as the top unit in the pile is a Virgin cable TV
recorder which does not like having anything on top blocking the air
flow. Thanks to the Sun Ray 2 being so light 5 strips of sticky back
velcro do the trick so well that it really is going nowhere to the
point that I could not remove it to plug the USB keyboard adapter
directly in the back of the unit. The keyboard adapter has a button
you have to press once plugged in to pair it with the keyboard. Alas
with the Sun Ray in this configuration the button faces upwards. So
there is a short USB cable hidden back there.
Networking is provided via Ethenet over mains.
The keyboard has impressive range and a really nice touch pad that pretends to have a scroll wheel down one side. However I've not yet got the keyboard map for it right but it only arrived an hour ago so there is time.
Friday January 23, 2009 I have just uploaded and update to my script that controls the access hours of users to Sun Ray DTUs. The change is to not block the DTU if the user accepts the warning and disconnects voluntarily.
With that test in place the number of forced disconnects has fallen to zero which is good as the warning about bug 6791062 still applies so this reduces the chances of hitting the bug (if it is indeed triggered by the change of the ipfilter rules).
Wednesday January 07, 2009 Having installed a Sun Ray in my daughters bedroom I am now faced with the inevitable problem of her being online all night not getting any sleep and then being generally grumpy. The irony here is that I was sent an email asking how I handle access control to the DTUs and I said I just trusted the children to be sensible (what was I thinking!).
So a solution was required that gave access to the systems only between certain hours. The hours would depend on the user and would have to not loose all their “work” in case this was a late night finishing their homework session.
After asking around no one came back to me and said how it can be done so I wrote my own script. It works by having a file that contains lines with a format
user:starttime:endtime
The times are specified in 24 hour format and only accurate to the minute.
# cat /etc/opt/local/access_hours user1:1915:1900 user2:0630:2300 user3:0630:2230 user4:0630:2000 #
The top line is just really for testing only not allowing access from 1900 to 1915. Then you need a user who has system admin privs which does not have a crontab file. Since I already have a kroot role I'm overloading this. Running the script as with the -c flag and the name of the user will write the crontab file. Note it also writes an entry to keep the crontab file uptodate on an hourly basis.
# /usr/local/sbin/check_access_hours -c kroot # crontab -l kroot 46 * * * * /usr/local/sbin/check_access_hours -c kroot 00 19 * * * /usr/local/sbin/check_access_hours user1 00 23 * * * /usr/local/sbin/check_access_hours user2 30 22 * * * /usr/local/sbin/check_access_hours user3 00 20 * * * /usr/local/sbin/check_access_hours user4 #
Finally I added a line to the utaction script that is already run for every user when they connect to a Sun Ray DTU:
if ! /usr/local/sbin/check_access_hours -t 0 $1
then
exit 1
fiThe way it disallows access is that it adds the DTU's IP address to the ipfilter, which you have to have configured, so that all traffic from the DTU is blocked. It also submits an at(1) job to run 2 minutes in the future to remove the block so that the Sun Ray can burst back into life. The effect is that the user can no longer use any Sun Ray outside of the defined hours. But after about 2 minutes the DTU is usable again by others or indeed as a photo frame.
A word of warning. Having got all this running the system has paniced twice which is disappointing on one level, that it panics, but pleasing on another, I've found a bug that can now be fixed. The bug is:
6791062: System panic in ip_tcp_input when a rule is added to ipfilter
I look forward to the fix!
The script is here but check that that bug has been fixed before you use it.
Sunday December 07, 2008 I'm after best practices for VirtualBox on a home Sun Ray server. My solution is to have a “vbox” role and create a VirtualBox named after each user contianing the OS that they need. For most users this there is no need as everything they need is available natively on Solaris but there are some apps that only work on Windows so for that user they get those apps.
The upside of this is that I get to manage the images (and since I will have to fix them that is good). Plus I can pause and VM when the user removes their card by having my utdetach script do:
su - vbox -c "pfexec VBoxManage controlvm $1 pause" > /dev/null
and then the utattach script do:
su - vbox -c "pfexec VBoxManage controlvm $1 resume" > /dev/null
So that the Virtual Machines are not burning resources when they need not be. The temptation to also do:
su - vbox -c "pfexec VBoxManage snapshot $1 take $(date '+%F-%T')”
in the detach is strong but I need to better understand the disk space implications of that and whether letting ZFS handle that would be better.
Thursday December 04, 2008 As I have mentioned before I have an ancient Sun Ray 1 that drives the TV in our kitchen to look like a photo frame. The network is provided my an ethernet over mains bridge that is rated at 85Mbit/sec and the network drop from the server is a 1Gbit/sec. Since the switch I have is very cheap this results in a significant packet drop to that DTU with the result that the picture transition is less than ideal and can stutter somewhat.
So last night after reading an email on an internal list I finally got around to reading the documentation so I could set a bandwidth limit on this one DTU to see if things could be improved, With no bandwidth limit the very excellent utbw gives:
lost 0/00% pkts 62 cpu 0% kbytes 53 0.021 Mbps 4.3(4.2) ms lost 1243/46% pkts 2652 cpu 11% kbytes 1614 0.631 Mbps 4.9(4.6) ms lost 0/00% pkts 60 cpu 3% kbytes 51 0.020 Mbps 4.1(4.3) ms lost 0/00% pkts 64 cpu 2% kbytes 55 0.022 Mbps 4.8(4.6) ms lost 0/00% pkts 64 cpu 2% kbytes 56 0.022 Mbps 4.2(4.7) ms lost 0/00% pkts 60 cpu 2% kbytes 51 0.020 Mbps 4.3(4.5) ms lost 0/00% pkts 62 cpu 3% kbytes 53 0.021 Mbps 4.9(4.7) ms lost 266/11% pkts 2393 cpu 6% kbytes 2314 0.904 Mbps 4.4(4.6) ms lost 0/00% pkts 60 cpu 2% kbytes 51 0.020 Mbps 4.4(4.5) ms lost 0/00% pkts 62 cpu 2% kbytes 53 0.021 Mbps 4.7(4.6) ms lost 0/00% pkts 64 cpu 3% kbytes 56 0.022 Mbps 4.1(4.3) ms lost 0/00% pkts 58 cpu 0% kbytes 48 0.019 Mbps 4.4(4.4) ms lost 0/00% pkts 62 cpu 2% kbytes 53 0.021 Mbps 6.0(5.2) ms lost 229/09% pkts 2377 cpu 8% kbytes 2320 0.907 Mbps 4.7(4.9) ms lost 0/00% pkts 60 cpu 2% kbytes 51 0.020 Mbps 4.1(4.5) ms lost 0/00% pkts 62 cpu 0% kbytes 53 0.021 Mbps 4.1(4.3) ms lost 0/00% pkts 64 cpu 2% kbytes 56 0.022 Mbps 4.2(4.2) ms lost 0/00% pkts 60 cpu 2% kbytes 51 0.020 Mbps 4.2(4.2) ms lost 0/00% pkts 62 cpu 0% kbytes 53 0.021 Mbps 4.4(4.3) ms lost 597/23% pkts 2532 cpu 9% kbytes 2123 0.830 Mbps 4.2(4.3) ms lost 0/00% pkts 60 cpu 2% kbytes 51 0.020 Mbps 4.1(4.2) ms lost 0/00% pkts 62 cpu 3% kbytes 53 0.021 Mbps 4.1(4.1) ms lost 0/00% pkts 64 cpu 0% kbytes 56 0.022 Mbps 5.1(4.6) ms lost 0/00% pkts 60 cpu 2% kbytes 51 0.020 Mbps 4.1(4.4) ms lost 0/00% pkts 62 cpu 2% kbytes 53 0.021 Mbps 4.3(4.4) ms lost 0/00% pkts 2133 cpu 8% kbytes 2322 0.907 Mbps 4.1(4.2) ms lost 0/00% pkts 60 cpu 0% kbytes 51 0.020 Mbps 7.3(5.7) ms lost 0/00% pkts 62 cpu 2% kbytes 53 0.021 Mbps 4.2(5.0) ms lost 0/00% pkts 64 cpu 2% kbytes 56 0.022 Mbps 4.2(4.6) ms lost 0/00% pkts 60 cpu 2% kbytes 51 0.020 Mbps 6.5(5.6) ms lost 0/00% pkts 62 cpu 0% kbytes 53 0.021 Mbps 4.1(4.9) ms lost 462/18% pkts 2509 cpu 9% kbytes 2251 0.879 Mbps 4.2(4.5) ms lost 0/00% pkts 60 cpu 2% kbytes 51 0.020 Mbps 4.2(4.3) ms
What is more the transition that is observed often jumps or will have one block of the picture updated after all the others. Having tuned the bandwidth down to 20Mb/sec:
lost 114/04% pkts 2295 cpu 4% kbytes 2344 0.916 Mbps 4.4(4.7) ms lost 0/00% pkts 60 cpu 2% kbytes 51 0.020 Mbps 4.2(4.5) ms lost 0/00% pkts 62 cpu 2% kbytes 53 0.021 Mbps 7.2(5.8) ms lost 0/00% pkts 63 cpu 2% kbytes 53 0.021 Mbps 4.2(5.0) ms lost 0/00% pkts 60 cpu 0% kbytes 51 0.020 Mbps 4.4(4.7) ms lost 0/00% pkts 62 cpu 3% kbytes 53 0.021 Mbps 4.1(4.4) ms lost 216/09% pkts 2304 cpu 7% kbytes 2295 0.897 Mbps 4.4(4.4) ms lost 0/00% pkts 60 cpu 2% kbytes 51 0.020 Mbps 4.2(4.3) ms lost 0/00% pkts 63 cpu 0% kbytes 55 0.022 Mbps 4.4(4.4) ms lost 0/00% pkts 63 cpu 2% kbytes 53 0.021 Mbps 4.4(4.4) ms lost 0/00% pkts 60 cpu 2% kbytes 51 0.020 Mbps 4.1(4.2) ms lost 0/00% pkts 63 cpu 2% kbytes 55 0.022 Mbps 5.0(4.6) ms lost 168/07% pkts 2174 cpu 6% kbytes 2230 0.871 Mbps 7.0(5.8) ms lost 0/00% pkts 60 cpu 2% kbytes 51 0.020 Mbps 4.9(5.3) ms lost 0/00% pkts 62 cpu 2% kbytes 53 0.021 Mbps 5.9(5.6) ms lost 0/00% pkts 63 cpu 2% kbytes 56 0.022 Mbps 4.1(4.9) ms lost 0/00% pkts 60 cpu 0% kbytes 51 0.020 Mbps 4.5(4.7) ms lost 0/00% pkts 62 cpu 2% kbytes 53 0.021 Mbps 4.2(4.5) ms lost 0/00% pkts 1938 cpu 8% kbytes 2118 0.827 Mbps 4.3(4.4) ms lost 0/00% pkts 60 cpu 0% kbytes 50 0.020 Mbps 8.4(6.4) ms lost 0/00% pkts 62 cpu 2% kbytes 52 0.021 Mbps 17.7(12.1) ms lost 0/00% pkts 64 cpu 2% kbytes 55 0.022 Mbps 4.2(8.1) ms lost 0/00% pkts 60 cpu 2% kbytes 50 0.020 Mbps 6.3(7.2) ms lost 0/00% pkts 62 cpu 0% kbytes 52 0.021 Mbps 4.4(5.8) ms lost 214/09% pkts 2224 cpu 7% kbytes 2170 0.848 Mbps 4.0(4.9) ms lost 0/00% pkts 60 cpu 2% kbytes 50 0.020 Mbps 4.1(4.5) ms lost 0/00% pkts 62 cpu 2% kbytes 52 0.021 Mbps 4.6(4.6) ms lost 0/00% pkts 64 cpu 0% kbytes 55 0.022 Mbps 5.7(5.1) ms lost 0/00% pkts 60 cpu 2% kbytes 50 0.020 Mbps 4.6(4.8) ms lost 0/00% pkts 64 cpu 2% kbytes 55 0.022 Mbps 5.8(5.3) ms lost 194/08% pkts 2278 cpu 9% kbytes 2274 0.888 Mbps 4.2(4.8) ms lost 0/00% pkts 60 cpu 0% kbytes 50 0.020 Mbps 4.2(4.5) ms lost 0/00% pkts 63 cpu 2% kbytes 53 0.021 Mbps 4.2(4.3) ms lost 0/00% pkts 63 cpu 3% kbytes 53 0.021 Mbps 4.2(4.3) ms lost 0/00% pkts 60 cpu 1% kbytes 50 0.020 Mbps 4.9(4.6) ms lost 0/00% pkts 62 cpu 1% kbytes 52 0.021 Mbps 4.1(4.3) ms lost 0/00% pkts 2149 cpu 6% kbytes 2319 0.906 Mbps 4.3(4.3) ms lost 0/00% pkts 60 cpu 2% kbytes 50 0.020 Mbps 4.2(4.3) ms
The numbers improve greatly however they hide the truth somewhat. Since the operation of the picture frame is that except for the clock that updates every second there are no updates at all for most of the time then every 2 minutes a new photo is displayed. So those averages which appear to be every 20 seconds hide the very high burst of data that happens.
You can see the difference here:
100Mb/sec:
10Mb/sec
Friday October 10, 2008 Go on. 7 ½ hours before you need to use SunSolve login and then just leave that tab alone until you need it. Why? Because you can!
As promised the horribly short idle time out has been increased from 30 minutes to 8 hours and the session time from 2 hours to 24.
Also I as have just been reminded it effects blogs.sun.com too, sweet.
Tuesday September 30, 2008 The hot news around here is that the session timeouts for Sunsolve and the other tools that use the authentication system on sun.com are going to be increased to something approaching reasonable timeouts. The current 30 minute idle and 2 hour session timeout will be increased to 8 hours idle and 24 hours for the session. Not quite the 14 days and 90 days I would have but none the less a welcome step in the right direction.
If all goes well the change should happen on October 9th. I wish it was sooner but none the less the prospect is exciting enough for me to pre-announce it here, not that anyone will read it!
A big thank you to those who are making it happen.
Tuesday March 25, 2008 One of my users today had a bit of a hissy fit today when she plugged in her USB thumb drive into the Sun Ray and it did nothing. That is it did nothing visible. Behind the scenes the drive had been mounted somewhere but there was no realistic way she could know this.
So I need a way to get the file browser to open when the drive is inserted. A quick google finds " "USB Drive" daemon for Sun Ray sessions" which looks like the answer. The problem I have with this is that it polls to see if there is something mounted. Given my users never log out this would mean this running on average every second. Also the 5 second delay just does not take into account the attention span of a teenager.
There has to be a better way.
My solution is to use dtrace to see when the file system has been mounted and then run nautilus with that directory.
The great thing about Solaris 10 and later is that I can give the script just the privilege that allows it to run dtrace without handing out access to the world. Then of course you can then give that privilege away.
So I came up with this script. Save it. Mine is in /usr/local which in turn is a symbolic link to /tank/fs/local. Then add an entry to /etc/security/exec_attr, subsisting the correct absolute (ie one with no symbolic links in it) path in the line.
Basic Solaris User:solaris:cmd:::/tank/fs/local/bin/utmountd:privs=dtrace_kernel
This gives the script just enough privileges to allow it to work. It then drops the extra privilege so that when it runs nautilus it has no extra privileges.
Then you just have to arrange for users to run the script when they login using:
pfexec /usr/local/bin/utmountd
I have done this by creating a file called /etc/dt/config/Xsession.d/utmountd that contains these lines:
pfexec /usr/local/bin/utmountd & trap "kill $!" EXIT
I leave making this work for uses of CDE as an exercise for the reader.
Friday February 15, 2008 Twenty reasons, in no particular order, why working at Sun has been and still is a blast.1
NFS. No really it is better then rcp. Which is saying something as rcp is much better than uucp and uucp seemed much better than sneakernet.
YP
NIS.
Actually I hate NIS but the simplicity of it for solving a problem
was in it's time fantastic. That it is still in use is amazing or
depressing depending on the time of day2.
Mailtool. A graphical tool for reading your email. It made giving up on getting a vt220 worthwhile.
“The Network is the Computer”. Now that is a slogan I could then and still do really get.
The Systems3:
3/160. I blagged one of these as my workstation as it had 12 meg of memory. It was being returned as upgrade residue I only got rid of it when I was offered a:
4/110. A workstation capable of running NeWS, well if you had the floating point unit. My one was a lemon, if ever any one heavy walked past my desk it would reset. However when it was running it was fast!
SparcStation 1. Audio as standard on a workstation. How cool was that.
The 386i. Look what happens when you take a slightly different approach to system management. Yes all your hosts are called “oak”.
The SPARCstation 10. Four CPUs on the desktop, fab, ISDN on the back, not so fab.
The SPARCcentre 2000. Have some more CPUs. You know you want them. (Then for laughs naming the upgrade the 2000E, dooming our lab system to be known as Cortina.)
The E10000, have some more CPUs and DR.
The T2000. Go on put all those CPUs on one chip.
The SPARC Storage array. Put all those disks in one box. Attach two fibres.
NeWS. A window system that made a virtue of being able to program in PostScript, allowing those of us who were intimate with the printers to be the experts!
TFS. The translucent file system. It had more subtleties than just being translucent but you could build some brilliant technologies4 on top of it. I wanted to smoke some of the stuff whoever thought it up was smoking.
The automounter. Even when it used symbolic links and /tmp_mnt to mount things it was cool. Since it has had autofs it is positively sub zero, don't start me on the things you can do with executable maps.
Threads in user land. Not those light weight processes we had in 4.x real fully fledged threading in a single process. Now my mail search program could consume the whole SC2000, briefly, very briefly.
OpenLook. You gotta love those push pins.
Email attachments. Obviously we were completely happy using uuencode and uudecode the arguments just slipped from your fingers but attachments seem to have caught on anyway.
Sun Ray. I wonder how people manage home computers without Sun Ray they are quite useful in the office too.
Oak Java.
The only reason anyone I know outside of IT has heard of Sun before
I tell them.
Blogs.sun.com. You allow, no, encourage your employees to write about “anything”. It's called trusting your staff. All companies should do it.
OpenSolaris. Put the source out in the open and see what happens.
Dtrace. Only because I can and do use it in an executable automount map.
ZFS. At last we can hold our heads up and say that the file system is going to have the contract with the user that the users always thought that they had. Ie you will get back the same data as you wrote or an error.
Putting up with me for 20 years!
I've not included the people which are the real stars of which there have been and are many singling them out somehow seems wrong.
1I don't claim all of these were invented by Sun although many were.
2A bit like working at the same company for 20 years.
3Yes I cheated putting all the systems in one item.
4NSE does not count as a “brilliant technology”. It could have been but was not. I know I used to support it.
5Yes another cheat.
Thursday January 17, 2008 When I read the announcement about Sun's acquisition of MySQL on Jonathan's blog I too was drawn to the fact that for every employee of Sun Service there is an equal and opposite employee. Check out the picture:

I'm left wondering what my opposite would be like. Clearly they would not ride a bike. I hesitate to suggest asking what other characteristics they would have but no one reads this anyway.
Monday December 10, 2007 Being in a Geographically diverse team conference calls are a necessary evil to keep some connection with the rest of the team. Of the many1 irritations of the conference call the one that seems hardest to solve is people turning up late. However I'm now wondering whether we could not handle them better by calling the participants rather than having them call in. At least that way there would be a chance of the calls starting on time. Since our current conference call provider has a nice gui that allows this (https://wbbc.mci.com/wbbcLogin/servlet/WBBCLogin?customHeader=emeetings) I will give this a try to see if it improves things.
1The many would include but not be limited to: Not having an agenda, having managers trying to solve engineering problems, having to attend to give the same update that was in your email when this is a hot problem and while you are on the call you are not solving it, not having an end time, not having an IM back channel, people not concentrating on the call (doing email), people on the call when they need not be, not using the mute button (again the nice gui can solve this) not being able to warp time such that it is not a ridiculous time of day for someone. Apart from that they are great.
Monday November 19, 2007 On Wednesday we will have the first of what I hope will be quarterly UK Solaris meetings. Years ago these meetings were held on a semi-regular basis and allowed engineers in Sun who were in the UK to talk Solaris and hear the likes of Phil Harman with titles like:
64 reasons to upgrade (to Solaris 7)
Recall that 10 years ago Solaris 7 was the first release of Solaris to be 64 bit so it made the geeks laugh, well if not laugh, smile.
This month we have talks on:
OpenSolaris Security, Etude Usage, ZFS Under the Hood, SPARC new boot and much more. For those inside Sun see: https://cepedia.sfbay.sun.com/index.php?title=Uk-solaris.
Then after the (internal to Sun) meeting we can decamp to the November London OpenSolaris User Group meeting.
Wednesday November 14, 2007 As I cycled to work today I was reflecting on how easy it was to upload my webrev onto cr.opensolaris.org and contrasting that with uploading and downloading files to supportfiles.sun.com.
For those not familiar with cr.opensolaris.org when you register one opensolaris.org you have the option to upload upto 3 ssh authorised key to the site. If you are already familiar with ssh this is a simple cut'n'paste job. Eg:
ssh-rsa AAAAB3NzaC1yc2EAAAABIwAAAIEAv8aRUVQTgIqhXDJ/VAHzDEGCd3slBlAUtqjw0FytjkPeLkqPUJAQ2RBS5mN9g8IXO9uzDIZ/no0HW87J1kZhGdy/gKc/7E/z6moVG0ZWzKotfQ+AYGvH5E1WXpIpCuWPqNTEo0RMIvoGR3AwJeznKU1omQwItvQ6j+zU7cGHLZc= cg13442@estale
Then I can use scp(1), sftp(1) or rsync(1) to upload files to cr.opensolaris.org.
Now how cool would it be if that was the case for supportfiles? When our customers register they can upload the Authorised keys and then just use scp et al to manage any files they need to upload. No messing with passwords, web pages or curl. I can't help thinking system admins, who are exactly the people who upload to supportfiles, would like this.
Except where otherwise noted, this site is
licensed under a Creative Commons License 2.0
This is a personal weblog, I do not speak for my employer.