![]() ![]() |
![]() |
Libm update for Interix (SFU & SUA)August, 2008Things get driven by demand and interest. A short while ago a Forum user was looking for a couple of math API's to be on Interix/SUA 6.0 and found on non-Interix systems fairly commonly. I'd played around with libm a bit for personal curiousity. But there had not been any "need" for me to do anything. So this user's need gave me the excuse to work on libm. And it was a lot more work to do than you'd initially expect. First off I wanted to maintain the standard that I have been for utilities and libraries: that the same functionality is available for all Interix releases (IPV6 being a caveat). I also wanted to make it a seamless update for what ships from MS so users don't have to link to a second math library and that all existing programs (using shared libs) continue to work. Well, the core work (API's) is all done for people now. Thanks to the Forum users who gave it an early try and a bigger thanks to everyone who gave feedback. There are a few manual pages to do, but if you're looking for an API it's likely already in the new libm. If there is some additional API you need then let me know (here or the Forum). One of the cool results of doing this work is that the new libm is significantly faster than what ships from MS for 6.0 (32 and 64 bit). The API's are from 2 times to 20 times faster. If faster performance is worth it to you then giving the new libm a whirl is time well spent. Side note: If you are on Interix 6.0 (SUA on Vista or Server 2008) 64-bit you'll see that there are missing 64-bit libraries that exist for 32-bit. An example is librpclib. I have made these libraries available for developers on 64-bit. House in the HouseJuly, 2008About 2 months about I saw an episode of House with lead doctor and protaganist Gregory House. Good show. Yes, I was a little behind the times but I had a lot of Naruto & multiple Stargate shows to keep up on while doing D&D with an intrepid band of adventurers. Fortunately Showcase shows House between 4 to 5 times a week. Pretty soon the whole household began to watch House. It's been mostly season 1 on Showcase so we get everything from the begining. Season 4 is running once a week over on Global which provides even more House but a bit disjointed since this house hadn't seen season 2 or 3 at all. Some enterprising lass found a excuse to buy the season 3 DVD's of House about 10 days ago. Holy rectal exam Batman it's 25 hours of commercial free crankiness that has this house watching House daily for 4 or 5 hours (3 DVD + 1-2 TV) to satisfy their fix of House. It's Video Vicodin!! Need your fix of House but the downstairs DVD player is being used by the fool who is 7 hours behind? Brah-ha-ha! Good thing there's another DVD player upstairs. Wouldn't want to not get your fresh shot of House! You'd start to get withdrawn symptoms: the shaking, the need, the crankiness to watch crankiness. Yes, it's Video Vicodin!! If only...June, 2008It's been almost 9 years since Interix moved under Microsoft's wing. The list of "things to do" hasn't really shrunk too much over that time. Microsoft has done development over this 9 years for some significant things including gcc, Pthreads, perf improvements, IPV6 and mixed-mode. I've had a hand at updating the utilities, which had languished for some years, and some minor changes to the libraries, but I was stuck for some areas because of what I couldn't touch. Every now and again (that's once a month) I wish for ye olde glory days so I could fiddle with something in the subsystem or change it. The past couple of days have been another one of those times. It's an issue that never came up on the Interix Forums at all. I get private e-mail on numerous issues. This issue centres around the rsh client and the rsh server/daemon (rshd). I had done the original port of these programs wayyyy back in 1997 at SSI. The programs haven't changed during this time since nothing seemed to come up as an issue and, well, there not much to rsh that's changed during that time. I'm not aware of any bug postings during this time until about a week ago. The "real issue" (after about 20 hours) has to do with a particular socket rather than either rsh or rshd. If, if only, I could walk through the subsystem I would have saved many of those hours and found where the problem is and maybe fix it. But that's yearning for ye olde glory days. Blah! So I'm unsure if the problem is Winsock or the Interix subsystem (3.5, 5.2 and 6.0 all test the same). No, I'm not bothering with a Win32 test program because at this point it doesn't matter. There's nothing more I can do and there is so much other stuff to be done. The problem is how a socket receives a shutdown (TCP_FIN) from a remote host and the Interix program is notified. /Tools site down, 64-bit packagesJune, 2008
The /Tools web site went down last Friday for technical reasons. The /Tools ftp
site continues along without a problem. So packages can still be updated
or installed as before. The ISP hosting the web site (different than the
ftp site ISP) had a disk die in it's RAID. But somehow that meant the
machine died and all data was lost -- what was the point of their doing
RAID then?! Of course the pain does not end there. The ISP (continuing to
remain unnamed) has no backups. Well, actually they do have backups, but not
of the /Tools stuff because it was under some different management tool.
Yes, they'd made a backup using the management tool, but it too
apparently failed just before the RAID disk BBQ'd itself. *sheesh*
Had the /Tools Forums still been going I would have been able to announce that more of the packages are being made available in 64-bit so that 64-bit Interix users won't have to run as many 32-bit packages in thunking mode. Once the Forum is back up I'll start announcing these packages. In the meantime you can find these by discovery on the ftp site. Of special interest for 64-bit developers is that while starting to build/re-build for 64-bit I found a number of libraries that normally ship from MS are not available for 64-bit. So I have ported these and they are now available. These 64-bit Interix libraries are librcplib, libcrypt and libdb that are available now (as I write this). Others to come shortly include an updated libcrypt, zlib, libcurses. Some of the utilities of interest in 64-bit packages are perl, gzip and inetd. Self-extracting BootstrapsMay, 2008The /Tools bootstrap files for getting the installer and supporting tools onto a machine have been updated. Previously the files were self-extracting, self-installing shell scripts. The newer version are binary based. The best part is that it means it takes less work to produce new bootstraps when there are significant updates to the bootstrap content and it also installs a lot faster too. With these new binary bootstraps /Tools is also making bundles of tools available. These bundles are single files that contain the bootstrap tools plus many packages. The number and type of packages varies depending on which bundle you choose (user, admin, developer or complete). Yes, there is still just a bootstrap version for people wanting to make their own choices. The intend of the bundles is for people you have flakey or reduced Internet access. This way they don't need to reach out to the the /Tools ftp site when each package is installed. The /Tools ftp site still remains the canonical location for the most current, up-to-date versions of packages. Moltres?Winter 2008Well, other things came up and Moltres was put on hold for a while. The intent of the further delay is to "play nice" because of some other things happening in the background. Papers and MoltresJuly/2007Writing, writing, writing. It's been a month of writing. We're hoping that by August all of this writing will get released so people can read it. The point of all this writing is to try and address questions people have initially when encountering Interix and NFS. Not so much for the people already using it, but for the folks who are trying to get a handle on what each is and it's capabilities in an overall sense. You know, for those management folks needing to understand they can approve a good choice. The Moltres project continues along. It became delayed with other tasks coming up and the shear volume of work needed with it. Of course it likely didn't help that the scope kept expanding bigger. Fear not folks. It is coming! PowerShellJune/2007PowerShell is the new Windows based shell from Microsoft. It used to be named "Monad". Some of the stories about the name change are funny. How "religiously" people felt about the name change was clear from all of the responses in various newsgroups and forums. I've been using PowerShell a bit to see how it works with Interix (SFU/SUA) on a couple of different version of Windows. There are others who are /Tools members who have been doing this too. In fact some of them participated in a set of interviews to gauge what people of thinking about PowerShell. For a bit of history, two of the key designers and developers of PowerShell have Interix roots. Bruce Payette and Jim Truher. Since the release of PowerShell 1 Jim has moved onto another project. Bruce is still working hard with PowerShell for the second release. Bruce also has the distinction this year of having released the first book on PowerShell. It's a very good book and worth the money even if you were to get it just for the side comments liberally distributed across the book. The book got a good review on SlashDot by Jeff Copeland (another Interix alumni) and sales of the book have been brisk. The book has already done a second printing and according to Bruce it was outselling all books except the latest pre-release of Harry Potter at Amazon. Wow. You can get Powershell as a download for a number of Windows platforms. Starting with Server 2008 (aka Longhorn Server) it comes as part of the standard OS release. Finally! Something getting into Windows that is better than CMD.EXE in the Win32 space. Of course all the Unix shells are still available via Interix still :-)
You can get PowerShell as a download from
http://www.microsoft.com/powershell
if you haven't already downloaded it.
Zune, ZuneMay/2007We had a contest a short while ago for a survey from Microsoft. To encourage people to take the survey several Microsoft Zune's were up for grabs. The Zune, for those who don't know, is similar to an iPod. It a very high resolution screen that you can show pictures and video on, play music of course and wirelessly transfer this back-and-forth with another Zune. There's a feature that allows you to send a song with a 3 day expiry on it. That is just applied to songs with protection on them, so that fairly reasonable. Other material is just shared. In case you're wondering why I just described the Zune it's only available in the USA. So here people just look at it strange and say, "what is it?". I'm not much into the fads. In fact I try and avoid a large number of them because I have lots of other things to distract and waste my time. I'd avoided MP3 players and their ilk until now because I have a radio, CD player and all that in the office. But like a fish getting baited, you can get hooked once you try one of these things. At the end of the contest I got a Zune and within minutes of it being in the house a 1m tall 3 year old had taken over the box before it was even opened. Heck, he recognized cool technology and was his -- all his. When I finally got my mitts back on the Zune I loaded up some of the 15-day trial music that comes with the Zune. I also loaded up a mix of CD's from the in-house rack. It's a real range of music. I also loaded up a number of photos that keep some short people amused and entertained (heavy equipment such as bulldozers, forklifts, excavators, etc.). The transfer is all done via a USB cable. It can be USB 1 or 2. I have place the Zune library on a machine that isn't as busy in the office as others but it still has more than enough power to serve the Zune. Since my work doesn't involve using USB devices from this machine at all, using the Zune provided me with some good information: the machine wasn't USB 2. That was shock. I'd bought this machine as a replacement for another machine after it had, literal, burned, only about 6 months previously. That's what I get for trying another supplier in a panic (when the old machine burned) when my regular supplier was on vacation. Needless to say, I'm not buying from that shop again (the hardware has exibited other problems too). Anyway, back to the Zune. It was easy enough to pick and choose what to load. Getting additional material into the library by "ripping" the in-house CD's was striaght-forward too. One of the most impressive parts of the Zune has been the battery. Charging the battery has been no problem. Charging is just connecting the Zune via USB to any computer that has an open USB plug -- the machine doesn't need any software or drivers. And while listening to music or watching photos the battery has lasted a lng time between charges. But here's where I found it impressive. A certain 1m high individual silently laid claim to the Zune and stored it in a good "hidey-hole". Where-O-where can it be? Well, 3 weeks later we found it. And the battery wasn't drained. In fact the battery looked like it had lost almost nothing as far as power went! Cool. So I've had an encounter with a Zune and I can give it a thumbs-up. It's cool. If you're thinking about getting one then I'd say go for it. 10 Years of Interix22/August/2006Over 10 years ago OpenNT version 1.0 was released. It was the spring of 1996. After working hard for about one year the Softway Systems' development team of Stephen Walli and Jason Zions had met the deadline. OpenNT (later renamed to Interix) became an available product for people to buy and use. As I write this my own start with Softway Systems and working on OpenNT is approaching the 10 year mark. Ten years ago now I had just returned from a set of interviews with Stephe (pronounced "Steve") and Doug Miller for a chance to become part of the R+D team. The dot-com sizzle was in full swing and the chance to help develop OpenNT was very attractive. I had a lot on my plate at the time. I was working two different contracts that summer that had be obligated to a minimum of 60 hours a week. I had also had offers for three other jobs as well. It was a case of my "cup running over" that August. All things were considered and the Fates had aligned me with OpenNT. As with all things dot-com everything happened at a fast pace. Within two weeks the entire family was packed & moved over 500km. Not an easy feat while still working those 60 contracted hours a week! Arriving late Friday afternoon by moving truck gave plenty of time to start the job Saturday at 9:00am! It was 24/August for history. The Saturday start was actually the first whole company annual meeting. By most standards it was a small gathering, but it set an important milestone for things to come. Everyone around the room had come to Softway to "hit the ground running". There was a lot of excitment because of the thrill of the potential. It was the first offical day at Softway for several of the people at this meeting including Jim Truher. Doug Moen would join in a couple of months. Donn Terry joined in the winter of 1997. Glen would join in the fall of 1997. Over the spring and summer Stephe and Jason were joined by Mark Funkenhauser and John McMullen in the development of the OpenNT SDK with some updates to the OpenNT Commands and Utilities. Up to this point there had been no changes to the original Microsoft Posix Subsystem. Part of the development of OpenNT was to show that the NT Posix subsystem could actually be used. A lot of debate and FUD had been thrown around about the Posix subsystem and its usefulness. OpenNT 1.0 had shipped with one additional system API being added to the subsystem by Microsoft. The majority of my work focus was going to be on what became known as "The Jewels". On a traditional monolithic system this would be simply called the kernel. However things are a little more complex to describe on the NT system. It's design is like MACH. I leave the longer description as an exercise for the fair reader to investigate. It is enough though to describe the Jewels as the subsystem, the terminal and special run-time library for user programs to communicate with the subsystem. The result was that I became the first at Softway to actually make changes to the Jewels with the timing being right that it shipped with OpenNT 1.1. Many more changes would come. Over the next three years Softway would release several versions of OpenNT and one version of Interix (the new name for OpenNT). In the fall of 1999 Microsoft acquired Interix. The three years at Softway were really great. The atmosphere was very much like working at a university. The creative ideas and implementations flowed with a lot of useful discussions and debates. A huge amount of work was done in expanding the system functionality beyond "bare bones Posix" to XPG4/SUS and beyond. Large sections of the subsystem were redone to fix many of the problems in the original Microsoft version. Over three years Softway made five releases of OpenNT/Interix and was on the verge of the sixth release (code named Firebrand) when the Microsoft buyout happened. Yet, it took three more years before Microsoft would make a release. This helped feed the speculation and rumours that Microsoft was tried to bury Interix. The fact that Firebrand was virtually ready to be released in 1999 only helped to fuel the fire. Some of the delay can understood with the explanation of one company taking over another. It can be further understood when known that all of the R+D team did not go to Microsoft. But the Microsoft choice about which Softway R+D members were not asked to join Microsoft was likely the biggest delay of all. At the this tenth anniversary I e-mailed around to many of the Softway group to ask if they had any recountable memories, words of wisdom or anything similar. Alas, to this particular e-mail I got not much response and decided to just stop asking. However, I did get replies from Stephe Walli and Doug Miller. Stephe has over the years spoken and written about the Softway days. One of my personal favorite stories is from the fall of 1999. With a new security alarm installed Stephe made sure that everyone knew how to set and clear the alarm. As a group of tech geeks the R+D team had no problem with the instructions. The next morning Stephe arrived bright and early (he was usually the first to arrive) to get to work. Stephe cleared the alarm and went to his office. Next John arrived at work and went to Stephe's office to ask, "Was the alarm okay?". "Yes, why?", replied Stephe. "I came in last night and did some work. I just wanted to check". John headed off to his office. About half an hour later Mark arrived and went by Stephe's office too. "Was the alarm okay?" "Yes, Why?", asked Stephe. "I came in last night and did some work. I just wanted to check." A little while later Rodney arrived and paused at Stephe's office to ask, "Was the alarm set okay? I just wanted to check." Stephe was flabergasted! Everyone had managed to come to the office to do some late night work, did the work, left and yet no one had met anyone else! "Why did we get this new alarm system if it's hardly ever going to be on?!" This became a bit of a running joke over the next couple of years because it seemed that no matter what time of day it was, someone was at the office virtually all the time. Lab Updates18/August/2006Came to the point of being nervous about the amount of disk space left on the server for Interix work. Currently the old 3.0 stuff is kept on it's own disk and the 3.5 on it's own disk. The 3.0 disk has been doing double duty for ISO builds of various products and it's just about full. The 3.5 disk is in better shape but it's also a lot bigger and isn't doing double duty really. However, with a lack of functional space on the 3.0 if I use the 3.5 disk space would be gone quickly. So a new disk is in the lab. I remember when I bought disk this size in M's instead of G's and had people getting upset that I'd bought a disk so "large". A great laugh now! Moltres continues10/August/2006The "Moltres Project" is continuing. The target right now is for a fall release. There are a number of exciting things about it. For those who ask, Moltres is the name of one of the legendary Pokemon. While I won't say too much about the project just yet, I can tell you that there is some analogy between Moltres and the project's intensions (hint-hint). |