Debian based ApeXtreme to take on Xbox Live!
on
More ApeXtreme Info
·
· Score: 4, Interesting
While some posters here see nothing more than a modestly-powered games console, complaining that it is incapable of pumping out >300fps in Daikatana, others see any opportunity for something far more important. Microsoft (to its credit) is bringing internet gaming to the masses with its Xbox Live! subscription service. However, there is a growing community backlash over what is largely perceived to be an overpriced and underfeatured service. Who wants to pay $19.99/month just to download some extra spell updates to Harry Potter III or to patch bugs in Duke Nukem Forever? The emergence of an open PC hardware console now makes it possible to do something which is simply not possible with an Xbox-type console: a Linux-based console system, with an apt-get based Linux Live! type subscription service...for free!
Let me explain. Many great games are being ported to Linux, and blockbusters are being announced on a practically weekly basis. With a GNU/Debian Linux based gaming system, all the required infrastructure for grabbing game updates and patches would be in place with apt-get. Of course, most consoles aren't going to be equipped with a keyboard, but it is easy to imagine something like dselect being extended with an SVGAlib written wrapper that would allow an inexperienced games console user to 'type' in using an onscreen keyboard commands like 'apt-get update nethack', or 'apt-get install xbill'. Of course access charges to such a service would be completely free. This could be the thing that really blows Microsoft and Xbox Live! out of the water.
What I want to know is...has anyone tried a Linux-based games console before? Just take some commodity hardware, package Linux, and let the community do the rest? If not, it's high time. I think it would be a massive success. If only VA Linux was still in the Linux hardware game, they could potentially manufacture these boxes and provide support too.
All this talk of IPv6 has got me thinking about its possible effect on existing internet tools like ssh, ftp, telnet and apt-get. Will their normal functioning be affected at all by the increased address space and QoS provisions in the protocol? Or are these changes totally transparent to pre-existing apps, which will only need to be re-written to take advantage of the extended functionality? Will I need to update my apt.sources file?
These are some truly amazing images of the surface of Mars, and I think we can all afford to give the hard working engineers and scientists at NASA a virtual pat on the back for a job incredibly well done. NASA has been faced with some pretty severe budget cuts over the past 10 years, so looking for ways to trim costs while maintaining quality has been an area of particular interest at NASA. I was lucky enough a few years back to do a summer internship at the Software Engineering and Development Division of NASA after I completed my undergraduate degree in computer science and socialist history and politics....which put me in a perfect position to introduce them to the cost saving wonders of Debian! Let me tell you how.
Traditionally, a major problem with deep space probes has been developing a reliable way of retrieving image data from the probe. Things like cosmic rays, planetary obstruction and remote DoS attacks have traditionally meant that space probe software needed to be about 80% overbloated with proprietary algorithms for dealing with this stuff, and not the core business of transferring images back to Earth. During a planning session with my supervisor one day, it came clear to me what the solution could be...apt-get! Really, these space probes are nothing more than abstracted file servers making new 'image packages' available for download from time to time. apt-get had all the infrastructure that was needed, without needing to spend months coding up expensive proprietary NASA protocols to do the same thing.
In about a week, I had hacked together an apt-get prototype, using a modified apt.sources file which stored astronomical coordinates instead of IP addresses. When the ground controllers issued an 'apt-get spirit image upgrade' command, apt-get would check the apt.sources file, which contained the continually updated coordinates of the probe. Using a custom Z80 assembly language plugin I had developed, apt-get would then directly contact the telemetry and radio gear, align the dish in the correct orientation, and then update the packages from the space probe!! Since the images were encapsulated as a.deb package, they were nicely compressed, and could be checked if they were the latest version. A lot of people don't know thing (including some of the NASA top brass!) but the Spirit probe actually has a mini-ITX form factor PC motherboard inside the probe which runs a Perl script I developed to package up the image data as.debs ready for apt-get synchronisation back with Earth!! Ever wonder why that company that makes shoe-box ITX PCs is called 'Shuttle'?;-) Me and some of the guys in the engineering group secretly removed a few experimental pods to fit the PC in, but we can just blame the non-functioning state of those experiments on the fact that they were running Windows CE! LOL!!!
So, the next time you see a news article about the Spirit Mars probe, take pride in the fact that Debian and apt-get are behind the scenes, making it all happen!!! apt-get touchdown!!!
Yeah like 'apt-get expose' was plausible;-). I'm stilll on holidays and I need to warm up. But even to pull one sucker in with the blatent Perens bashing is still OK.
A self-booting distro is a great way of testing PC compatibility, and of course it won't upset the sales assistants who are obviously quite paranoid about customers installing strange software on their precious floor-models. But there are a few shortcomings of testing out PCs in this fashion. Since everything runs off the CD-ROM, how do you test the most important part of using a Debian-based distro...upgrading and installing software with apt-get?
A few months ago I was shopping around for a new PC (Bruce Perens was around at my place a while back to beg for scraps of food, but got excited and lost control of his bladder in close proximity to my ATX tower case). I found a local PC dealer that I liked the look of, but I couldn't be sure that the newish ATI Radeon 9800XT video card in it would be properly supported by apt-get. I asked the shop staff if they would mind if I brought in my own hard drive and do an install of Debian 3.0 onto it. They didn't mind at all (apparently Bruce Perens used to beg for food all the time at their store, so they were quite familiar with Debian).
They were really great about it. They even let me stay in the shop overnight to complete the Debian installation! Luckily I started it in the morning, otherwise I would have been there over the weekend as well! Anyway...by about lunchtime the next day I had Debian running sweet on their box, and began to test out apt-get. WOW is all I can say!!! That Radeon 9800XT made the progress marks in apt-get fly past! It must have been updating packages at about 350fps!!!
I decided to buy the machine after all that, and I got Bruce a sandwich on the way home too. He loves that kind of attention. All I can hope is that he doesn't show his appreciation by whizzing on my new GNU/Opteron ATX box! apt-get peace out kids!
This story really reminds me of some work I did a few years back as a contractor in a large aerospace company. The problem they were facing at the time was a need to roll out an enterprise-wide messaging system (management was actually quite clued-up about the potential of IM to empower E2E (employee to employee) communication), but there was a very heterogeneous mix of clients. Management used Windows, the engineers used Solaris and Irix the software developers used Linux, and the system administrators ran the whole back end on OS/390. There seemed to be no real solution to the problem: how to bring an instant messaging system to all platforms, and preferably, one which was based around an open source platform. I could, however, see the solution where other's couldn't: apt-get.
Basically, apt-get is a kick-ass system for making sure your Debian system is up to date, has the latest packages installed, and manages conflicts. At the core, what is an IM system about? Making sure your message 'packages' are up to date, has the latest messages 'installed', and manages conflicts, that is, a reply had been requested, yet hasn't been sent! All the key infrastructure was already in place, including an interface (dselect), which could easily be ported to all the required platforms to allow easy reading and sending of instant messages.
The first step was to use apt-get itself to distribute a modified apt.sources file, which contained the IP addresses of all of the IM clients on the network. Some people had suggested DNS as a solution to this, but my feeling was that DNS wouldn't scale so well (this was a large LAN, with over 10,000 clients...I'd like to see DNS cope with that!!). Once each client had it's apt.sources file updated, you could basically send a 'message' (your ASCII message encapsulated into a.deb file by a custom packager I created that runs as a background process) to any host specified in the apt.sources file. To do this, I had to create a daemon-ized version of apt-get, listening on a predefined port. The daemon would be contacted by the apt-get client, would receive the.deb package containing the message, and then 'install' it to the dselect based client on the receiving system.
Without trying to sound like I'm blowing my own trumpet, the system was a huge success, and the many features of apt-get for package management really came in handy for managing IM flows. For instance, just say you've just sent a message to a colleague via apt-get saying "Let's meet for lunch at 1pm":
apt-get install host=fred-pc "Let's meet for lunch at 1pm"
But then...you're called into an emergency meeting and you can't make lunch until 2pm. You need to 'upgrade' your message to the latest version:
apt-get upgrade host=fred-pc "Make that 2pm!"
Easy! The whole project was essentially wrapped up in 6 months, and because of the open-source nature of apt-get, we'd managed to port to all of the platforms in our specification. If Microsoft can swallow their pride a little, I think they could really learn something from the power of apt-get!
With the recent release of Mac OS X 10.3 with it's great Expose feature (which the Metacity Expocity tool is obviously inspired from), it's got me thinking about some of the problems I face day-to-day in my current job as an administrator of a mid-sized Debian cluster (256 compute nodes, plus 8 storage nodes) at a supercomputing laboratory in a well known mid-western university. When I'm rolling out packages across all of the nodes in the cluster using apt-get, it can sometimes be a pain to keep track of 256 + 8 individual package installations on each of the machines. It's a full time job just telnetting into each of those machines and issuing the apt-get commands. During a recent student vacation however, some of my coworkers and I came up with an Expose/Expocity-inspired package management solution: apt-get-expose.
apt-get-expose is basically a heavily modified version of apt-get and dselect, using a completely re-implemented ncurses and screen library to allow multiple apt-get sessions to be tiled onto the console with a single keystroke. Believe me, when you're neck deep in 20 apt-get sessions trying to juggle installs across several nodes in the supercomputer cluster, being able to visually choose a particular apt-get session is a God-send!
It wasn't easy. If any of you have seen the way Expose works in Mac OS X, then you'll know how fluid that "tile all windows" animation is. It was, to put it mildly, a 'challenge' to get the ncurses library to emulate that functionality using only ASCII art. We extensively debated how we would get ASCII text-scaling support to the same level of smoothness as Mac OS X achieves, and in the end the only way we could see was to hack some low-level VGA BIOS calls. It's way cool, and it's as fast as the Mac OS X version, but using all ASCII characters (we tried Unicode, but the 16-byte overhead wasn't justifiable).
Since then, we've been able to roll out apt-get-expose (using apt-get, by the way...being able to roll out new versions of apt-get with apt-get rocks!!!) across the campus, and administrators of other clusters can't stop raving about how easy it is to manage multiple apt-get sessions with apt-get-expose.
Window tiling and arrangement functionality shouldn't be restricted only to those running Mac OS X and Expocity. apt-get tile all windows dude!!
This story really reminds me of some work that I'd done a few years ago with a Hebrew Studies department at a fairly major U.S. university. Basically the department needed to maintain a mid-sized lab (around 80 machines) of systems running in a full Hebrew OS and application environment. The local system administrators didn't want anything to do with it (they weren't used to dealing with any regionalization issues at all), so that's when I got called in. The nightmare was basically how to manage software rollouts (and the occasional rollback!), but all within the context of a 100% Hebrew language environment. The answer was obvious: apt-get!
The first thing I had to do was code up a linker/wrapper between the apt-get and dselect text interface libraries to the Hebrew libraries present on Debian. This took a few weeks, but with by judicious use of the LISP hooks I'd placed in my own private source tree for apt-get a year or two previously, it was no real problem. The next thing to do was to convert the apt-get and dselect command syntax to reading right to left as is done in Hebrew, rather than the normal Western left to right. One of the jokers in my software team suggested setting up a mirror in front of the screen...and then adding it to the apt.sources file (gettit...a mirror!!), but we were able to get the department to extend our contract by a month (they were pretty tight for cash), and within the 30 days we'd re-written all the low-level display routines in dselect so that they outputted text in the correct orientation.
Needless to say, the system is still operational even now, and they don't have any problems at all managing their software rollouts on Debian. It wouls not surprise me at all if the Israeli Governemt tried to adopt another similar, final solution. As they say, apt-get shalom!
Normally I'm a pretty hardcore Debian user, but at my current contract job at a fairly major publishing house, I've been dealing with quite a lot of Mac systems. While OS X still has a ways to go before I would consider replacing my trusty Debian desktop, things like iTunes Music Store (iTMS) really make the switch worth considering. But if only iTMS could come to Debian!!!
While writing a little multithreaded print workflow app in AppleScript for the client, I struck upon an idea: what if I could expose the functions of iTunes using AppleScript in a client/server type arrangement, and then make those functions accessible across the network to a Debian system running a modified dselect iTunes browser? AppleScript is pretty powerful, as any seasoned Mac user will attest, so it was quick work to create a handy little mutithreaded fully re-entrant AppleScript based server for the core iTunes functions (load song, play song, browse playlist, buy song etc).
The next part was to patch dselect on the Linux side so it could connect to my AppleScript server/wrapper on the Mac. I'd previously extended dselect with a Scheme-scriptable plugin, so it only took me a day or two to modify dselect with some Scheme macros so that it emulated to look and feel of iTunes (using ASCII art of course!!), but accessing the actual iTMS functions though the network exposed AppleScript..errr..script.
It worked a treat!! It is now a simple matter of running dselect on my Debian box to browse the iTMS, as long as the Mac over in the corner running the AppleScript wrapper is turned on of course. I have actually implemented a direct USB->USB cross over connection to get around bottlenecking problems with our Ethernet so I don't have to put up with skipping in iTMS MP3 playback. Now it works great!!!
The final step will be to patch apt-get with iTMS interface functionality...then buying my favorite music legally will only be an apt-get install Justin-Timberlake away!
I've done a fair bit of contact work for a large Federal Government departments, and one issue which was recurrently faced was that of how to distribute important documents across the whole organization, without the loss of a document server or two bringing down the whole thing. The situation with the leaked Diebold memo reminds me of this situation. And here's how my team and I solved it in our contract work: apt-get.
Yes, the power of apt-get could be used to form a type of ad-hoc distributed network for the distribution of the Diebold memo, without fear of a single server being shutdown making the document disappear. What we did for the Fed was to create a set of apt.sources files which contained the addresses of a bunch of mirror servers which contained the documents of interest. When a user needed to find a document, they would simply issue an apt-get instyall Document command at their workstation, and apt-get would do the rest.
It gets better. When a new revision of the document was released, it was a simple task for the user to perform an apt-get upgrade Document, and the latest version was dragged across from what ever server happened to be available from their apt.sources file. We even spent a couple of weeks hacking dselect to launch OpenOffice when necessary to create a kind of crude distributed document management system. The users loved it! It's the UNIX way!
But anyway, back to the problem at hand. What is needed are a bunch of Debian servers to host the offending Diebold memo which has been leaked, and for people to start adding these to their apt.sources files. That way, Diebold won't be able to shut down any servers, and if they leak new information, it can easily be upgraded with apt-get upgrade Diebold! apt-get just continues to amaze me.
In a previous job I was the system administrator for a small legal firm (taking care of their Debian-based legal document tracking and retrieval database server). Hence, I've been taking more than a passing interest in the proceedings of the various DMCA related court actions. If I'm understanding things correctly, then this latest case in Tennessee will be a real threat to open source software, and especially Debian.
The thing with the DMCA is that it's all about trying to thwart people from cracking copy protection mechanisms. And a key step in the process of breaking protection is its eventual transmission from its original source to its eventual destination. IANAL, but from my readings, the DMCA will be coming down as hard on mechanisms which facilitate the transmission of protected materials as much as the mechanisms which are used to circumvent that protection in the first place. Now, let me describe to you the perfect DMCA-circumvention transport tool. It's simple to use. It moves data (software especially) with a minimum of fuss. It can check for differences between the source and the sink, and make appropriate changes to what's being grabbed. And you can use it to upgrade Debian.
Yep, it's apt-get I'm talking about. This is something which has started to get some serious consideration on the Debian mailing lists. What if apt-get is in contravention of the DMCA? What is apt-get is considered to be a tool for the transmission, installing and dist upgrading of pirated/cracked data protected under the DMCA? It's something which is keeping people like Ian Murdoch, Bruce Perens and Joel 'Espy' Klecker up late at night talking with their lawyers just in case the worst does happen.
So fellow apt-get users...please take a moment to consider the precarious position we are all in as a result of this DMCA madness. Write your local congressman. They need to know how evil the DMCA is. And send them a Debian CD-ROM while you're at it...maybe we can win over some Windows users in the process!
I've already upgraded my Debian box to Longhorn using a simple apt-get dist upgrade command. I don't know why Microsoft has secrecy warnings all over the place...you should be able to get it from any Debian mirror. Has anyone else upgraded their Debian install this way? I can't seem to find GNOME any more.
Due to my employer's close ties with the communications industry (and in particular cell phone manufacturers), we often receive prototypes and betas to play with months before they land in the hands of the average consumer. We took delivery of 4 Nokia 7700 handsets several months ago, and now that the NDAs are off, I can talk about the success we had in our labs getting Debian to run on this great phone!
First of all, the Debian installer was great. It detected all the features of the phone with very minimal user interaction. We only needed to do a 'modprobe keypad' to get it to recognise the keypad, and then recompile with extra kernel modules to enable the dialling module, the SIM access module, and the battery module. This should be within the reach of any competent user.
Anyway, after a few weeks of getting Debian actually installed, it was time to start apt-getting! I know this is the thing that most Debian users love, so I apt-get install AddressBook from by Debian PC...and it worked! My address book was whisked across to the phone in no time flat! The next thing was to try and upgrade the OS to get some security patches, as we had been getting hacked during the week, and our phone was being used to host crank phone calls. Very embarrassing!! Anyway, a little apt-get dist upgrade magic did the trick, and the cell phone was now equipped with a patched version of some system libraries, and a new version of Mozilla too!!!
I used Mozilla to send an e-mail to Bruce Perens, another well known Debian user, since he can't afford a cell phone, and lives just near the Kinko's on the corner of 11th and Spencer St (I literally mean on that corner), so he checks his e-mail occasionally there, and sometimes the Kinko's manager gives him a ham sandwich. Sorry, I'm getting off track there, but Bruce was delighted to accept my invitation to see the Debian GNU Nokia 7700.
We spent the rest of the afternoon configuring new apt.sources files for the GNU/Nokia 7700. Wow! I can't believe how attached I've gotten to this thing after only a few weeks!!! It sure beat my earlier project of strapping a cordless telephone to the side of my full-tower Debian box. apt-get is soooo cool!!!
Due to the many hours I spend flying these days attending various open source conferences, a good MP3 player with large capacity and battery life is a must. I have been considering the Apple iPod, and now the Dell DJ very seriously. However, there is one very big shortcoming which both of them suffer from.
apt-get support is absolutely non-existent. When I want my music synchronized from my Debian box to my MP3 player, I want to do it with a simple 'apt-get install music' command. And when Justin Timberlake launches his latest album, adding it to my collection should only be a simple matter of 'apt-get upgrade Justin-Timberlake'.
Does anyone know if there is planned apt-get support in either of these MP3 players any time soon? It's a big issue for me. The only other thing I'd like to see changed is the iPod's interface be altered to use the 'dselect' interface for selecting songs and playlists. That would be cool.
From reading this story closely, it appears that Microsoft has once again run into a problem which the open source community has successfully solved: how to effectively deliver patches and security updates to a wide audience across the internet. Existing mechanisms for distributing updated software for Microsoft's operating systems and applications are currently only semi-effective and are in urgent need of overhaul. They certainly do not represent a best-of-breed, enterprise-level approach.
At this point, I would like to put forward a suggestion to both the readers of Slashdot, and to the management of Microsoft which may address the aforementioned shortcomings: win-apt-get. As Debian users across the planet know only too well, apt-get is a robust, convenient, scalable and enterprise-ready solution for managing not only Debian packages, but also the rapid dissemination of updates and patches when they become available. Apt-get is in fact listed as the number one reason for choosing the Debian GNU/Linux distribution above other competing distributions by respondents in a recent LinuxWorld survey. Given such tremendous community support and technical advantages, why is it not worth considering a version of apt-get tailored specifically for Windows...a win-apt-get, if you will.
Please...I hear you reaching for your 'Troll' and 'Offtopic' moderator buttons. Certainly many high-ranking Debian luminaries exhibited similar responses when I approached them with this idea at this year's Open Source Expo. However upon listening to my plans, they were all convinced. Bruce Perens was particularly enthused, as I had offered to buy him lunch at the cafeteria if he listed to my pitch, an offer which he accepted vigorously, let me tell you!
But enough ancedotes of rubbing shoulders with the 'Debian doyens'. What I need are volunteers to help with the porting of apt-get to the Windows platform. This is in fact part of a much larger initiative, which unfortunately has been met with much hostility by the overwhelming Gentoo community on Slashdot. This initiative is the production of a new version of Debian, one which uses a new underlying operating system: Debian GNU/Windows XP.
Let it sink in. I will be back shortly to tell you more. I'm excited!
my sources in the community tell me that the apt-get guys are busy incorporating P2P into the latest version of apt-get in order to extend the availability of rare debian packages and to lessen the load on the central debian servers, which are frequently crashing under their present heavy load.
Let me explain. Many great games are being ported to Linux, and blockbusters are being announced on a practically weekly basis. With a GNU/Debian Linux based gaming system, all the required infrastructure for grabbing game updates and patches would be in place with apt-get. Of course, most consoles aren't going to be equipped with a keyboard, but it is easy to imagine something like dselect being extended with an SVGAlib written wrapper that would allow an inexperienced games console user to 'type' in using an onscreen keyboard commands like 'apt-get update nethack', or 'apt-get install xbill'. Of course access charges to such a service would be completely free. This could be the thing that really blows Microsoft and Xbox Live! out of the water.
What I want to know is...has anyone tried a Linux-based games console before? Just take some commodity hardware, package Linux, and let the community do the rest? If not, it's high time. I think it would be a massive success. If only VA Linux was still in the Linux hardware game, they could potentially manufacture these boxes and provide support too.
All this talk of IPv6 has got me thinking about its possible effect on existing internet tools like ssh, ftp, telnet and apt-get. Will their normal functioning be affected at all by the increased address space and QoS provisions in the protocol? Or are these changes totally transparent to pre-existing apps, which will only need to be re-written to take advantage of the extended functionality? Will I need to update my apt.sources file?
Traditionally, a major problem with deep space probes has been developing a reliable way of retrieving image data from the probe. Things like cosmic rays, planetary obstruction and remote DoS attacks have traditionally meant that space probe software needed to be about 80% overbloated with proprietary algorithms for dealing with this stuff, and not the core business of transferring images back to Earth. During a planning session with my supervisor one day, it came clear to me what the solution could be...apt-get! Really, these space probes are nothing more than abstracted file servers making new 'image packages' available for download from time to time. apt-get had all the infrastructure that was needed, without needing to spend months coding up expensive proprietary NASA protocols to do the same thing.
In about a week, I had hacked together an apt-get prototype, using a modified apt.sources file which stored astronomical coordinates instead of IP addresses. When the ground controllers issued an 'apt-get spirit image upgrade' command, apt-get would check the apt.sources file, which contained the continually updated coordinates of the probe. Using a custom Z80 assembly language plugin I had developed, apt-get would then directly contact the telemetry and radio gear, align the dish in the correct orientation, and then update the packages from the space probe!! Since the images were encapsulated as a .deb package, they were nicely compressed, and could be checked if they were the latest version. A lot of people don't know thing (including some of the NASA top brass!) but the Spirit probe actually has a mini-ITX form factor PC motherboard inside the probe which runs a Perl script I developed to package up the image data as .debs ready for apt-get synchronisation back with Earth!! Ever wonder why that company that makes shoe-box ITX PCs is called 'Shuttle'? ;-) Me and some of the guys in the engineering group secretly removed a few experimental pods to fit the PC in, but we can just blame the non-functioning state of those experiments on the fact that they were running Windows CE! LOL!!!
So, the next time you see a news article about the Spirit Mars probe, take pride in the fact that Debian and apt-get are behind the scenes, making it all happen!!! apt-get touchdown!!!
Yeah like 'apt-get expose' was plausible ;-). I'm stilll on holidays and I need to warm up. But even to pull one sucker in with the blatent Perens bashing is still OK.
A few months ago I was shopping around for a new PC (Bruce Perens was around at my place a while back to beg for scraps of food, but got excited and lost control of his bladder in close proximity to my ATX tower case). I found a local PC dealer that I liked the look of, but I couldn't be sure that the newish ATI Radeon 9800XT video card in it would be properly supported by apt-get. I asked the shop staff if they would mind if I brought in my own hard drive and do an install of Debian 3.0 onto it. They didn't mind at all (apparently Bruce Perens used to beg for food all the time at their store, so they were quite familiar with Debian).
They were really great about it. They even let me stay in the shop overnight to complete the Debian installation! Luckily I started it in the morning, otherwise I would have been there over the weekend as well! Anyway...by about lunchtime the next day I had Debian running sweet on their box, and began to test out apt-get. WOW is all I can say!!! That Radeon 9800XT made the progress marks in apt-get fly past! It must have been updating packages at about 350fps!!!
I decided to buy the machine after all that, and I got Bruce a sandwich on the way home too. He loves that kind of attention. All I can hope is that he doesn't show his appreciation by whizzing on my new GNU/Opteron ATX box! apt-get peace out kids!
Basically, apt-get is a kick-ass system for making sure your Debian system is up to date, has the latest packages installed, and manages conflicts. At the core, what is an IM system about? Making sure your message 'packages' are up to date, has the latest messages 'installed', and manages conflicts, that is, a reply had been requested, yet hasn't been sent! All the key infrastructure was already in place, including an interface (dselect), which could easily be ported to all the required platforms to allow easy reading and sending of instant messages.
The first step was to use apt-get itself to distribute a modified apt.sources file, which contained the IP addresses of all of the IM clients on the network. Some people had suggested DNS as a solution to this, but my feeling was that DNS wouldn't scale so well (this was a large LAN, with over 10,000 clients...I'd like to see DNS cope with that!!). Once each client had it's apt.sources file updated, you could basically send a 'message' (your ASCII message encapsulated into a .deb file by a custom packager I created that runs as a background process) to any host specified in the apt.sources file. To do this, I had to create a daemon-ized version of apt-get, listening on a predefined port. The daemon would be contacted by the apt-get client, would receive the .deb package containing the message, and then 'install' it to the dselect based client on the receiving system.
Without trying to sound like I'm blowing my own trumpet, the system was a huge success, and the many features of apt-get for package management really came in handy for managing IM flows. For instance, just say you've just sent a message to a colleague via apt-get saying "Let's meet for lunch at 1pm":
apt-get install host=fred-pc "Let's meet for lunch at 1pm"
But then...you're called into an emergency meeting and you can't make lunch until 2pm. You need to 'upgrade' your message to the latest version:
apt-get upgrade host=fred-pc "Make that 2pm!"
Easy! The whole project was essentially wrapped up in 6 months, and because of the open-source nature of apt-get, we'd managed to port to all of the platforms in our specification. If Microsoft can swallow their pride a little, I think they could really learn something from the power of apt-get!
apt-get-expose is basically a heavily modified version of apt-get and dselect, using a completely re-implemented ncurses and screen library to allow multiple apt-get sessions to be tiled onto the console with a single keystroke. Believe me, when you're neck deep in 20 apt-get sessions trying to juggle installs across several nodes in the supercomputer cluster, being able to visually choose a particular apt-get session is a God-send!
It wasn't easy. If any of you have seen the way Expose works in Mac OS X, then you'll know how fluid that "tile all windows" animation is. It was, to put it mildly, a 'challenge' to get the ncurses library to emulate that functionality using only ASCII art. We extensively debated how we would get ASCII text-scaling support to the same level of smoothness as Mac OS X achieves, and in the end the only way we could see was to hack some low-level VGA BIOS calls. It's way cool, and it's as fast as the Mac OS X version, but using all ASCII characters (we tried Unicode, but the 16-byte overhead wasn't justifiable).
Since then, we've been able to roll out apt-get-expose (using apt-get, by the way...being able to roll out new versions of apt-get with apt-get rocks!!!) across the campus, and administrators of other clusters can't stop raving about how easy it is to manage multiple apt-get sessions with apt-get-expose.
Window tiling and arrangement functionality shouldn't be restricted only to those running Mac OS X and Expocity. apt-get tile all windows dude!!
The first thing I had to do was code up a linker/wrapper between the apt-get and dselect text interface libraries to the Hebrew libraries present on Debian. This took a few weeks, but with by judicious use of the LISP hooks I'd placed in my own private source tree for apt-get a year or two previously, it was no real problem. The next thing to do was to convert the apt-get and dselect command syntax to reading right to left as is done in Hebrew, rather than the normal Western left to right. One of the jokers in my software team suggested setting up a mirror in front of the screen...and then adding it to the apt.sources file (gettit...a mirror!!), but we were able to get the department to extend our contract by a month (they were pretty tight for cash), and within the 30 days we'd re-written all the low-level display routines in dselect so that they outputted text in the correct orientation.
Needless to say, the system is still operational even now, and they don't have any problems at all managing their software rollouts on Debian. It wouls not surprise me at all if the Israeli Governemt tried to adopt another similar, final solution. As they say, apt-get shalom!
While writing a little multithreaded print workflow app in AppleScript for the client, I struck upon an idea: what if I could expose the functions of iTunes using AppleScript in a client/server type arrangement, and then make those functions accessible across the network to a Debian system running a modified dselect iTunes browser? AppleScript is pretty powerful, as any seasoned Mac user will attest, so it was quick work to create a handy little mutithreaded fully re-entrant AppleScript based server for the core iTunes functions (load song, play song, browse playlist, buy song etc).
The next part was to patch dselect on the Linux side so it could connect to my AppleScript server/wrapper on the Mac. I'd previously extended dselect with a Scheme-scriptable plugin, so it only took me a day or two to modify dselect with some Scheme macros so that it emulated to look and feel of iTunes (using ASCII art of course!!), but accessing the actual iTMS functions though the network exposed AppleScript..errr..script.
It worked a treat!! It is now a simple matter of running dselect on my Debian box to browse the iTMS, as long as the Mac over in the corner running the AppleScript wrapper is turned on of course. I have actually implemented a direct USB->USB cross over connection to get around bottlenecking problems with our Ethernet so I don't have to put up with skipping in iTMS MP3 playback. Now it works great!!!
The final step will be to patch apt-get with iTMS interface functionality...then buying my favorite music legally will only be an apt-get install Justin-Timberlake away!
Which is nice.
Yes, the power of apt-get could be used to form a type of ad-hoc distributed network for the distribution of the Diebold memo, without fear of a single server being shutdown making the document disappear. What we did for the Fed was to create a set of apt.sources files which contained the addresses of a bunch of mirror servers which contained the documents of interest. When a user needed to find a document, they would simply issue an apt-get instyall Document command at their workstation, and apt-get would do the rest.
It gets better. When a new revision of the document was released, it was a simple task for the user to perform an apt-get upgrade Document, and the latest version was dragged across from what ever server happened to be available from their apt.sources file. We even spent a couple of weeks hacking dselect to launch OpenOffice when necessary to create a kind of crude distributed document management system. The users loved it! It's the UNIX way!
But anyway, back to the problem at hand. What is needed are a bunch of Debian servers to host the offending Diebold memo which has been leaked, and for people to start adding these to their apt.sources files. That way, Diebold won't be able to shut down any servers, and if they leak new information, it can easily be upgraded with apt-get upgrade Diebold! apt-get just continues to amaze me.
apt-get free speech!!!
The thing with the DMCA is that it's all about trying to thwart people from cracking copy protection mechanisms. And a key step in the process of breaking protection is its eventual transmission from its original source to its eventual destination. IANAL, but from my readings, the DMCA will be coming down as hard on mechanisms which facilitate the transmission of protected materials as much as the mechanisms which are used to circumvent that protection in the first place. Now, let me describe to you the perfect DMCA-circumvention transport tool. It's simple to use. It moves data (software especially) with a minimum of fuss. It can check for differences between the source and the sink, and make appropriate changes to what's being grabbed. And you can use it to upgrade Debian.
Yep, it's apt-get I'm talking about. This is something which has started to get some serious consideration on the Debian mailing lists. What if apt-get is in contravention of the DMCA? What is apt-get is considered to be a tool for the transmission, installing and dist upgrading of pirated/cracked data protected under the DMCA? It's something which is keeping people like Ian Murdoch, Bruce Perens and Joel 'Espy' Klecker up late at night talking with their lawyers just in case the worst does happen.
So fellow apt-get users...please take a moment to consider the precarious position we are all in as a result of this DMCA madness. Write your local congressman. They need to know how evil the DMCA is. And send them a Debian CD-ROM while you're at it...maybe we can win over some Windows users in the process!
apt-get peace out, comrades!
I've already upgraded my Debian box to Longhorn using a simple apt-get dist upgrade command. I don't know why Microsoft has secrecy warnings all over the place...you should be able to get it from any Debian mirror. Has anyone else upgraded their Debian install this way? I can't seem to find GNOME any more.
Anyway, after a few weeks of getting Debian actually installed, it was time to start apt-getting! I know this is the thing that most Debian users love, so I apt-get install AddressBook from by Debian PC...and it worked! My address book was whisked across to the phone in no time flat! The next thing was to try and upgrade the OS to get some security patches, as we had been getting hacked during the week, and our phone was being used to host crank phone calls. Very embarrassing!! Anyway, a little apt-get dist upgrade magic did the trick, and the cell phone was now equipped with a patched version of some system libraries, and a new version of Mozilla too!!!
I used Mozilla to send an e-mail to Bruce Perens, another well known Debian user, since he can't afford a cell phone, and lives just near the Kinko's on the corner of 11th and Spencer St (I literally mean on that corner), so he checks his e-mail occasionally there, and sometimes the Kinko's manager gives him a ham sandwich. Sorry, I'm getting off track there, but Bruce was delighted to accept my invitation to see the Debian GNU Nokia 7700.
We spent the rest of the afternoon configuring new apt.sources files for the GNU/Nokia 7700. Wow! I can't believe how attached I've gotten to this thing after only a few weeks!!! It sure beat my earlier project of strapping a cordless telephone to the side of my full-tower Debian box. apt-get is soooo cool!!!
apt-get support is absolutely non-existent. When I want my music synchronized from my Debian box to my MP3 player, I want to do it with a simple 'apt-get install music' command. And when Justin Timberlake launches his latest album, adding it to my collection should only be a simple matter of 'apt-get upgrade Justin-Timberlake'.
Does anyone know if there is planned apt-get support in either of these MP3 players any time soon? It's a big issue for me. The only other thing I'd like to see changed is the iPod's interface be altered to use the 'dselect' interface for selecting songs and playlists. That would be cool.
Does anyone know if this flight simulator will be relased for Debian?
From reading this story closely, it appears that Microsoft has once again run into a problem which the open source community has successfully solved: how to effectively deliver patches and security updates to a wide audience across the internet. Existing mechanisms for distributing updated software for Microsoft's operating systems and applications are currently only semi-effective and are in urgent need of overhaul. They certainly do not represent a best-of-breed, enterprise-level approach.
At this point, I would like to put forward a suggestion to both the readers of Slashdot, and to the management of Microsoft which may address the aforementioned shortcomings: win-apt-get. As Debian users across the planet know only too well, apt-get is a robust, convenient, scalable and enterprise-ready solution for managing not only Debian packages, but also the rapid dissemination of updates and patches when they become available. Apt-get is in fact listed as the number one reason for choosing the Debian GNU/Linux distribution above other competing distributions by respondents in a recent LinuxWorld survey. Given such tremendous community support and technical advantages, why is it not worth considering a version of apt-get tailored specifically for Windows...a win-apt-get, if you will.
Please...I hear you reaching for your 'Troll' and 'Offtopic' moderator buttons. Certainly many high-ranking Debian luminaries exhibited similar responses when I approached them with this idea at this year's Open Source Expo. However upon listening to my plans, they were all convinced. Bruce Perens was particularly enthused, as I had offered to buy him lunch at the cafeteria if he listed to my pitch, an offer which he accepted vigorously, let me tell you!
But enough ancedotes of rubbing shoulders with the 'Debian doyens'. What I need are volunteers to help with the porting of apt-get to the Windows platform. This is in fact part of a much larger initiative, which unfortunately has been met with much hostility by the overwhelming Gentoo community on Slashdot. This initiative is the production of a new version of Debian, one which uses a new underlying operating system: Debian GNU/Windows XP.
Let it sink in. I will be back shortly to tell you more. I'm excited!
Best regards,
Debian Troll
my sources in the community tell me that the apt-get guys are busy incorporating P2P into the latest version of apt-get in order to extend the availability of rare debian packages and to lessen the load on the central debian servers, which are frequently crashing under their present heavy load.