Installing and getting Battlefield 2 (an EA game from 2006) to work on Windows 7 is not as easy as it could be. For that reason I wrote this howto to get BF2 and Project Reality installed and running.
- Install Battlefield 2 from DVD
- Start the game (it will crash)
- Fix the crash by changing the display refresh rate in the profile
- Goto C:\Users\YOUR_USER\Documents\Battlefield 2\Profiles\Default
- Open Video.con with Notepad
- Change VideoSettings.setResolution from 1600x1200@85Hz to 1600x1200@60Hz
- Goto C:\Users\YOUR_USER\Documents\Battlefield 2\Profiles\001
- Open Video.con with Notepad
- Change VideoSettings.setResolution from 1600x1200@85Hz to 1600x1200@60Hz
- Start the game (it should work now) and quit
- Add missing key in registry for update
- Run regedit
- Goto HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Electronic Arts\EA Games\Battlefield 2
- Edit -> New -> String Value, Enter: Version
- Right click on Version -> Modify, Enter: 1.0
- Download and install Battlefield 2 Patch v1.41:
- Download and install Battlefield 2 Patch v1.5:
- Download and install Project Reality 0.97 Part 1, Part 2, Part 3:
- Start the game and play
Just in time for 2012 I am very pleased to announce Smuxi 0.8.9 codenamed "One Giant Leap". During the development 56 bug reports and 33 feature requests in 593 commits were worked on making this release a major milestone of the Smuxi project. At the Chaos Communication Congress (28C3) in Berlin I was doing the final development sprint to get 0.8.9 done, which was a very intensive and refreshing experience.
Here are the highlights of this release:
Development Builds / Rolling Releases
After the 0.8 release it became clear that a continious and short development -> test cycle is important to keep the project going quickly. At some point I have received requests if the project is dead while it was more active than ever. The lack of new releases (for about 15 months) lead to this wrong impression. Thus Smuxi can be obtained from development builds now. This includes daily builds for Debian (Squeeze, Wheezy, Sid), Ubuntu (Lucid, Maverick, Natty, Oneiric, Precise) and Windows. Thanks goes to Hannes Tismer for providing the Windows autobuilder and to Canonical for the PPA autobuilder.
We invite everyone to use these daily builds to keep track of the latest development of Smuxi. Issues and regressions are fixed in a very short period (usually the same day). Thanks to our users who ran development builds and reported issues which led to many bug fixes prior to this release.
On the other hand one of my New Year's resolutions are to
"release early, release often"
So there should be no nerd left behind...
Mac OS X support
With the help of Steven McGrath (Steve[cug]) who created the initial Mac OS X installer for Smuxi we now have official support for Mac OS X. The download page contains the instructions how to obtain and install Smuxi on Mac OS X. This makes the 4th platform where Smuxi can be used on besides Windows, Linux and *BSD.
For now Smuxi 0.8.9 doesn't feel as native as it could as it relies on the GTK+ port. We are looking into enhancing the experience though, just stay tuned.
Chat History on Disk (Beta)
The most exciting feature in this release I think are the "persistent message buffers". With this feature I could solve one of the biggest drawbacks IRC ever had: IRC does not retain any messages you have sent or received. All messages are only relayed to all users. The issue is that if you close your IRC client or even just leave a channel, all your received messages are gone.
One workaround in most clients was to create text log files which then contains the chat history, but it is annoying and not user-friendly to open some text file somewhere from your disk to read the history outside of your IRC client.
Now with Smuxi 0.8.9 you no longer have this issue, all chat history gets automatically written and read to a message database when you start Smuxi, join channels or open queries! As this feature is not fully stable yet it is not enabled by default. If you want to try it go to: File -> Preferences -> Interface and change "Persistency Type" from "Volatile" to "Persistent", hit OK and restart Smuxi. Now all messages are saved into the database and will automatically be shown.
Click here for a screencast of this feature
Jabber / XMPP Support (Beta)
You probably have friends not on IRC and Twitter, say on Jabber, gTalk or Facebook? This is where the new XMPP engine of Smuxi comes into play. You can send and receive messages to/from them now! The implementation is far from complete, though. It has no buddy list for example and needs only to be treated as a technical preview of what will be coming in future Smuxi releases.
Click here for a screencast of this feature
Text Interface (Alpha)
This is the first release that contains a text frontend based on the STFL library. STFL is a library that uses ncurses to draw text based user interface using a markup language (like Glade for GTK+). This frontend is in early alpha state and lacks a lot of interface features and likes to crash. It is still included to attract potential developers who want to enhance this frontend. The frontend can be enabled by passing --enable-frontend-stfl to the configure script and then by executing smuxi-frontend-stfl.
NetworkManager Support
Everyone with a laptop knows how annoying it can be to suspend and resume when network based applications suddenly go crazy because they have lost the connection and either spew errors or take forever to get back in shape. Smuxi will now detect the network state right away with the help of the new Network Manager support. It automatically reconnects when needed right away for you.
Next Generation Internet Support
You can now connect to IRC servers using the IPv6 protocol
Enhanced Find Group Chat Support
Users had real issues to find out how to search for channels, thus Bianca Mix added a neat feature. The /list command will now simply open the Find Group Chat dialog for you. This way everyone used to IRC will find it in no time. Searching for channels on freenode wasn't working correctly, this is now fixed. Smuxi also supports the SAFELIST feature of the IRC protocol now which allows to retrieve a full channel list and do client side search which makes consecutive searches much faster.
Enhanced Windows Experience
For a long time you could not use Smuxi with the latest GTK# version of 2.12.10 on Windows. The issue was that Smuxi relied on SVG support which 2.12.10 no longer had. Smuxi is no longer using SVG instead it uses pre-scaled PNG images thus it works just fine with GTK# 2.12.10 on Windows now. At the same time the issue that the maximized state of the main window was left when restoring from task bar is fixed with GTK# 2.12.10.
Smuxi used by default the FixedSys font on Windows to give it the typical IRC
look most people are used to. Since Windows Vista there is a better
console-like font available called Consolas. Smuxi will now
use the Consolas font instead on Windows Vista or later.
Another important enhancement is that Smuxi no longer has issues with multiple GTK+ installs on the same computer, which was getting more common with more popular ported GTK+ applications such as GIMP or Pidgin.
SSL for IRC fixed
IRC with SSL was only working with the default port of 6697. Thanks to Jo Shields now any port can be used with SSL.
Crash Related Issues
Desktop notifications could crash Smuxi in case of errors related to the notification system or an absent notification daemon. There was a chance that the crash dialog simply disappeared which made reporting bugs more difficult no longer happens. Rapid use of ctrl+w, /window close (Jimmie Elvenmark) and opening the Find Group Chat dialog on the Smuxi tab do no longer crash. Also number-only network names, /network switch freenode and GTK+ install without SVG support no longer lead into a crash.
Enhanced Notice Handling
Notices will no longer open query tabs for you instead it will show them on tabs you share with the person who sent it with the server tab as fallback. This also avoids ChanServ, NickServ and spammy IRCop tabs.
Twitter fixes
Twitter made some changes to their API which broke the Twitter support of Smuxi 0.8. This was taken care of and also a few other issues were solved allowing Smuxi 0.8.9 to work smoothly with Twitter again.
Extended Keybindings
Smuxi allows now to use the ctrl+tab / ctrl+shift+tab and ctrl+n / ctrl+p keys to switch tabs. The keybindings still work even with a hidden menu bar now.
Smuxi Server specific highlights
More interactive and much faster synchronization
When connecting to a smuxi-server you had to wait till Smuxi finished the synchronization before you could use the interface. Also you could not tell how far the synchronization was and just had to wait till it was completed. With Smuxi 0.8.9 the connect just takes a few seconds and all chats are synchronized in the background with a progress bar so you can use the interface from the first moment on and know how far it is. The speed how much it takes to synchronize all chats also reduced drastictly by 400%!
Click here for a screencast of this feature
More background communication
When using a smuxi-server the interface sometimes had load times like when opening the preferences or when using the nickname completion (Andrew Kannan). These operations are done in the background and no longer blocks the interface. Also when the communication is lost to the smuxi-server the frontend will now automatically reconnect to it in the background.
Low Bandwidth Mode
When it comes to mobile internet connectivity such as UMTS/HSDPA, Edge and GRPS it can be a real pain to connect to the smuxi-server as it has to transfer all the messages over that. If you just want to ask someone you know then you don't need any old messages to do that. With the "Low Bandwidth Mode" you can now connect to the smuxi-server without loading old messages which makes the connect very quick. You find this option in the engine connect dialog.
Stable Protocol
Initially I didn't plan to make the protocol of Smuxi stable before the 0.9 release, but as it turned out the 0.8 protocol was good enough to still use it and for that reason Smuxi 0.8.9 is still compatible with 0.8. The 0.8 protocol will see no breakages, instead the next protocol will be on-top or opt-in of the current one. This means future Smuxi versions stay compatible with it.
Shutdown Command
You can now shutdown the smuxi-server if you like using the /shutdown command. It it safe to use the command, it will do a clean shutdown sequence for you. For example it makes sure all messages are written to disk in the case of enabled persistent message buffers. If you have your smuxi-server daemon monitored (e.g. with runit) it can also automatically be restarted and upgraded this way.
Built-in SSH Keyfile Support
It is no longer needed to fiddle with the .ssh/config file or pagent to get SSH key authorization working. You can now simply tell Smuxi which SSH keyfile you want to use to connect to your smuxi-server.
Updated Translations
- Catalan (Siegfried-Angel Gevatter Pujals)
- Danish (Joe Hansen)
- Finnish (Kalle Kaitala)
- French (Clément Bourgeois)
- German (Bianca Mix)
- Italian (Vincenzo Campanella)
- Portuguese (Americo Monteiro)
- Spanish (Castilian) (Ricardo A. Hermosilla Carrillo)
New Translations
- Chinese Simp (Dean Lee)
- Slovak (Tomáš Vadina)
- Swedish (Jimmie Elvenmark)
- partially Russian (Aleksandr P)
- partially Turkish (Umut Albayrak)
- partially Urdu (makki)
Contributors
Contributors to this release are the following people:
- Mirco Bauer (497 commits)
- Tuukka Hastrup (10 commits)
- Bianca Mix (10 commits, translations)
- Clément Bourgeois (8 commits, translations)
- Andrius Bentkus (5 commits)
- Carlos Martín Nieto (3 commits)
- Jimmie Elvenmark (3 commits, translations)
- Hannes Tismer (1 commit)
- Jonathan Pryor (1 commit)
- Jo Shields (1 commit)
- Siegfried-Angel Gevatter Pujals (translations)
- Dean Lee (translations)
- Aleksandr P (translations)
- Americo Monteiro (translations)
- Andrew Kannan (translations)
- Joe Hansen (translations)
- Kalle Kaitala (translations)
- makki (translations)
- Ricardo A. Hermosilla Carrillo (translations)
- Tomáš Vadina (translations)
- Umut Albayrak (translations)
- Vincenzo Campanella (translations)
Thank you very much for your contributions to Smuxi!
After reading this whole pile of text, head over here and grab this smexy stuff!
Last night I wanted to buy an album on Amazon and I couldn't do the checkout as the site required me to install the Amazon MP3 Downloader to make the purchase and download of the album. The downloader is not needed for a single song though, but buying each song separately would be more expensive and more work. The good news is that it automatically offered me packages for different Linux distros: Ubuntu, Debian, Fedora and OpenSUSE instead of telling me off for using Linux and leaving me behind with a Windows only download. But here comes the catch, all offered packages are only for the Intel 32-bit architecture.
Now this is a showstopper for me, as I am running an AMD64 Debian which is a 64-bit architecture. I first tried to download and run the 32-bit debian package nonetheless as there was some hope with the ia32-libs and ia32-libs-gtk package. But this was not working as the application needs gtkmm libraries like libglademm and bailed when I tried to run it. So I filed a wishlist bug report against ia32-libs-gtk for inclusion of gtkmm and possibly other needed libraries to run the Amazon MP3 downloader on AMD64.
So I bought the album using MusicLoad instead which simply puts all songs in a single archive on-the-fly and let me download that archive.
When I tweeted my frustration on Twitter I was hinted by Jo Shields and also by Gabriel Burt that there would have been a much simpler solution to this issue by using Banshee which includes an Amazon MP3 Store plugin:
This plugin allows you to log into your Amazon account browse their store like the regular Amazon store, plays the song samples directly, purchase songs, downloads the songs and imports them into Banshee's database so you can play them right away. And as if this wasn't good enough yet, with the the purchase of MP3 songs on Amazon using Banshee automatically makes a donation to the GNOME foundation.
As I am the only one who forgot or wasn't aware of this awesome solution this deserved some blogging.
Update: some people pointed out that clamz is also available to make MP3 purchases on Amazon.
Most probably haven't noticed yet but I finished the Mono 2.10.1 debian packaging effort of the past 3 months and uploaded it to Debian/Experimental.
With Mono 2.10 I had to make the biggest changes in Mono packaging since the big Mono 2.0 upload. The runtime no longer supports the 1.0 and 2.0 runtime profile, instead it now supports the 2.0 and 4.0 runtime profile. This meant I had to drop all libmono*1.0-cil packages and add libmono*4.0-cil packages. This sounds like a lot of s/1.0/4.0/ work but it actually wasn't. Mono 2.10 ships a lot of new libraries over 2.6 and I had again to decide where they should go. "Where should this $library go?" I have been playing this game for the past 7 years maintaining Mono and I finally gave up on it... What, where, when, why? I could give now a 2 hours talk of the issues behind the current packaging approach (keeping the number of library packages low) but instead I will do something else. Please, just take a look at this picture for a second:
If your browser crashed, your eyes hurt or your brain simply melted, I think you have got the idea.
The Big Split
The cure? cli-common-dev! This is a package that contains 2 extremely important debhelper packaging tools for packaging Mono/CLI related packages called dh_makeclilibs and dh_clideps. If you don't know these, they do exact the same thing as dh_makeshlibs and dh_shlibdeps do. dh_makeclilibs generates library dependency tracking information and dh_clideps consumes that information to automatically generate the package dependencies for you. So each library of the 4.0 runtime profile has now it's own package, simple as that, the rest does cli-common-dev for me and you.
"Hey, that Mono packaging bastard is polluting the Debian archive because of his laziness!" No, I am not. This packaging change not only has the advantage of simplifying the packaging and with that bringing new Mono versions faster to you but also reduces the typical install size for applications as they will only pull in the really used libraries of Mono instead of groups of them. I don't have any numbers handy right now as none of the applications are built against Mono 2.10 (yet), but when the transition starts we will get numbers.
New Features
There is also a new SGen flavor of Mono available called mono-runtime-sgen which is no longer using the conservative non-generational Boehm's garbage collector but SGen which is a simple generational garbage collector with promising advantages.
And here some more Mono 2.8/2.10 news from /usr/share/doc/mono-runtime/NEWS.Debian.gz:
- SGen Precise Stack Scanning
- Enhanced SIMD with new methods for Vector data type conversions and swapping elements in vectors
- ASP.NET MVC 3.0 (not included, only supported)
- The C# Interactive Shell can now be used as shebang: #!/usr/bin/csharp
- .NET 4.0 runtime
- C# 4.0 compiler
- ASP.NET 4.0
- Managed Extensibility Framework (MEF)
- System.Data.Services.Client (OData)
- glib was replaced with eglib
- Removed .NET 1.1 runtime
Architecture Regressions
With the initial upload of Mono 2.10.1 to Debian/Experimental the architecture
world broke apart and it regressed on all Mono architectures except for
i386 and amd64
There is a reason it's called experimental isn't there?
In mono 2.10.1-3 I could solve all regressions except for kfreebsd-* and armel. Jo Shields fixed the remaining regressions and the world started to look good again in mono 2.10.1-4! He also took care of mono-basic, mod-mono and xsp, but mod-mono and xsp are still waiting for the translation call deadline to pass by so they can also be uploaded to Debian/Experimental.
Planned Transition
As mentioned above, there will be a Mono 2.10 transition needed when the packages hit Debian/Unstable. There is no ETA yet on this when it will happen as I have to coordinate this with debian-release first. But as things are not showtime ready in experimental anyhow, this will not happen too soonish. The Mono 2.10 transition plan will be covered in a following post.
GIVMENOWPLX
OMG, all this rumbling about Mono 2.10 and I still haven't said a word on how to obtain it, sorry about this, just do this and I will shut up now:
echo "deb http://ftp.debian.org/debian experimental main" >> /etc/apt/sources.list
apt-get update
apt-get install -t experimental mono-complete
apt-get install libmono-addins0.2-cil libmono-addins-gui0.2-cil
(this is the easiest way of getting only mono 2.10.1 from experimental)
Update: mono-addins 0.4 breaks with mono 2.10.1 so you need to make sure you have the 0.6 version from Debian/Unstable installed!
Yes, it's that time of the year: I am blogging. I was using Jaws as my blogging tool and CMS for the past few years more or less and I am finally switching to something new.
I was running a SVN snapshot of Jaws and haven't updated nor maintained that one for about 3 years. This reduced my abilility to blog a lot as I had to look after bugs and jumping through the hoops to make a post. At some point I wanted to replace Jaws with something better that fits my needs but didn't find anything.
I have been keeping an eye on Joey Hess' ikiwiki for quite some time, but never felt the desire to blog something important and thus postponed solving my website mess.
For those who don't know ikiwiki yet, it is a wiki compiler based on a version control system like git which generates the website when you push your commits to the git repository. The wiki uses the markdown syntax but also supports other engines. ikiwiki is written in Perl which is not my favourite language, but I have seen worse. 
When I wrote the Debian packaging tools for the Common Language Infrastructure, which are based on debhelper, I had to study code written by Joey Hess. Putting the syntax aside (I mean it's Perl, it can't be beautiful because of that) he does well designed and implemented software and this is the reason ikiwiki is a great candidate despite the used language.
Jo Shields suggested dogfeeding myself with a .NET based blog, but ASP.NET is just junk, but with Manos de Mono I am actually considering it! Manos is written in beautiful C# without any ASP.NET close to it, but is extremely new and has no blogging or wiki engine written for it yet. I was involved in Jaws's development and I didn't want to run into the same issue again for now (more hacking the tools, less using them).
So last night I finally made the decision, installed ikiwiki and made my first post with it, yay! The markdown syntax feels very naturaly to me. I usually end up searching for the syntax documentation every 2nd paragraph, but not on this one...
5 weeks after the 0.7.2.2 "Lovegood" release, I am very happy to announce the major feature release, 0.8 codenamed "Godsend". Major feature highlights of this release are desktop notifications (with full support of actions, icons, updates, append and sound), messaging menu / indicators (as provided by Ubuntu's Ayatana project) and working Twitter support with OAuth (basic auth was disabled by Twitter on 31st August). This version also fixes all bugs that were reported since the release of 0.7.2.2.
Desktop Notifications

Messaging Menu

Further on, Smuxi comes with the following improvements in its user interface:
- More distinct nick colors by using a combination of colors
- Use of nick colors for userlists
- Emphasis of own nick in bold, making it easier to distinguish sent messages
- Toggle-able menubar
- Full screen mode support for enhanced netbook experience
- Browse mode support
- Remembering of tab order when reconnecting to a smuxi-server
- Sound support by notification daemons which support this extension
- Display of IRC network name instead of hostname in the tab
- Addition of "Open Log" button for easy viewing of logs.
Smuxi provides better connectivity and security by supporting: HTTP and SOCKS proxies as well as secure connections to IRC servers by using SSL with optional certificate validation.
Last but not least, it comes with an enhanced Twitter experience by supporting the use of multiple Twitter accounts at the same time, reformatting tweets that contain newlines and showing the full retweet instead of a truncated version.
Updated languages includes: French (Clément BOURGEOIS) and German (Bianca Mix)
The #smuxi IRC channel can now also be found, in addition to OFTC, on other popular IRC networks such as freenode and GIMPnet. The messages on #smuxi are automatically relayed between the 3 IRC networks.
If you like Smuxi and want to support it by making micro-donations, Smuxi is available on Flattr.
There are also many other nice FOSS projects available on Flattr, see the Flattr-FOSS project.
Smuxi is available for download from here.
Binary Packages of Smuxi 0.8 are ready to be used by Debian/Experimental, Ubuntu/Maverick, Ubuntu/Lucid (via PPA), OpenSUSE, Foresight Linux, FreeBSD, and Windows.
Merry Christmas! Happy New Year! Yeah, it's that time of year
again, I am writing a blog post
. As some of you
have probably already noticed I managed to get
Smuxi 0.7 released a few days ago. Almost all of my Xmas
vacation I was hacking on Smuxi. This is the best Smuxi release
ever (guaranteed!). The most notable features I implemented in the
0.7 release are: Twitter support, handling for high latency
networks (UTMS, WLAN, busy DSL) and an improved IRC experience
through tweaks such as splitting oversized messages and new context
menus. This release also contains very nice contributions from
David Paleino ?2[] and Clément Bourgeois. Both joined
the hackfest during my Xmas vacation and made the hacking sessions
on Smuxi even more fun. Thanks for that guys! Here you can find
a full list of changes.
As everbody likes screenshots and as screenshots say a thousand words, here they are:
Quick Connect
[
][]
Twitter
[
][]
User Menu
[
][]
Which direction will Smuxi head in after the 0.7 release? For the 0.8 release, I plan to focus on making the IRC support feature complete. That means we will get DCC, SSL, IPv6 and logging support. Nothing of that sounds very special but I am already investigating how Smuxi can be integrated with the promising new Zeitgeist project. I interviewed one of the developers for potential communication between Smuxi and Zeitgeist.
Last but not least, I want to announce that I will be attending
FOSDEM 2010 in Brussels. I also will give a
talk about Smuxi there, scheduled on 2010-02-07 at 16:30. If
you want to have a chat, a beer, do some GPG keysigning, or ask me
any questions, I am available ![]()
PS: If you want more updates than once per year, just follow me on Twitter
?2: http://twitter.com/dpaleino
You are wondering if forgot my password of the blogging account? No
I didn't, I just don't have much time to do blogging. I try to
invest more time to just do things than to talk about what I have
done or will do. Blogging needs time: you need a topic to blog
about, you have to login, make a point, do spellchecking and so on.
The result: you see about every 3 months a blog post from me. Don't
get me wrong, I am doing geeky stuff every single day (except
when I am on vacation maybe, but that was how many years ago,
eh?).
Micro-Blogging to the rescue! You probably know micro-blogging
ala twitter.com already, but for me thats something new
You just post a single message with no more than 140
characters and you are done. So if you want to follow my
activities, feel free to subscribe to my micro-blog found on
twitter: http://twitter.com/meebey
Smuxi is doing nice progress now, I made 2 important changes to archive constant progress: switch from Subversion to Git and with that switch from Trac to Redmine. Now everything is kept in feature-branches and I can switch more often between features and bug fixes without messing all up. More details about this can be found in this Smuxi blog post.
Today I was checking how much diskspace is need when a small CLI (.NET) application like gfax is installed. The last 2 years I am optimizing the Mono packages in Debian to reduce dependency chains. Dependency chains can cause a small application to become very big (at least it looks that way) when they are installed, as modern Linux distributions automaticly install all required dependencies.
So first I worked against GUI dependencies for non-GUI
applications, those are annoying for servers, you don't want to
install a X server or other GUI libraries when you only serve
webpages using ASP.NET.
Splitting CLI 1.0/1.1 vs 2.0 also seemed to be a very good
candidate to split apart, as applications usually are target at
1.0/1.1 or 2.0.
Then I split Base-Class-Libraries that have dependencies on native
libraries (via P/Invoke), as those packages must depend on those
native libraries, like DB drivers.
Last but not least I split debug symbols in a different package, as
those are not needed for normal production usage, and embedded
systems don't have much diskspace. The mono-dbg package is 28.2MB
in size when installed, that's alot.
The Mono source package in Debian is now building 67 binary
packages, but thanks to APT nobody has to care for that, every part
is installed when needed.
So today I was checking the results of it, how much will a small
application download and install?
I am testing with a clean minimal Debian system, that way all
dependency chains will show up very easily.
Installing GFax + required libraries today takes 43MB to download
and 138MB on the harddisk. GFax is a small GNOME application, it
uses libraries like: Mono, GTK#, GNOME#, Evolution#, GConf#.
So someone might say: "of course, it is based on that bloaty Mono
virtual machine!", well let's check a different application.
What about a GTK# only application (no GNOME) like graphmonkey +
required libraries? That will download 19.5MB and uses 56.4MB on
the harddisk. That's alot less, isn't it? graphmonkey only uses
Mono and GTK#.
So it's not Mono taking all no diskspace? Well after all my
packaging optimizations, it's not Mono
So how big is a install of a minimal Mono runtime + all required
libraries then?
Minimal as in enough to run famous the "Hello World".
It's 2.4MB to download and 7MB on the harddisk, yes you read it
correctly, the super monster bloaty virtual machine just needs 7MB.
Mono only has glib as dependency which will be replaced by the
eglib library some day.
After I had this great result, I wondered how big other runtimes in Debian are.... like.... Java and Python? The results are interesting...
Update: I got comments that Debian has a python2.5-minimal
package available, which is true. So here the numbers of the
smallest Python install you can get on Debian: 1.1MB to download,
3.2MB on the harddisk. So Mono is not smaller than Python
I also noticed that I could reduce the minimal
install size of Mono by 2.7MB if I put the I18N libraries into a
different package. That would make 4.3MB for a minimal Mono install
then.
So and Java? Here it becomes a bit unfair as SUN's license is not
allowing to ship parts of a Java runtime. So the Java package in a
distribution must be one package. 34.5MB to download and 95.2MB
on the harddisk. Yes, that's alot, but thats the smallest install
you can get when you want to run anything on it.
Update: Please be aware that the package size + dependency
sizes are considered, not just the naked software size.
So, if you want to run Hello World on a virtual machine: use
Python!
just kidding...
Small runtimes are important when it comes to acceptance and
adaption of new technologies, as nobody wants to kill all his
computer resources for it. And I often hear the replies on Linux
IRC channels, when people ask which software they can use to do
$task: "No I don't want o install 100MB just for $task" and they
decide to try some other software with less dependencies and less
resource usage.
Also for the embedded area, resources are very limited, every MB
still counts there.
For the completeness of my report, here the naked numbers of other available Java runtimes packages in Debian: sablevm 22.0MB (63.2MB), kaffe 52.2MB (118MB), jamvm 28.3MB (65.4MB), cocoa 28.8MB (66.0MB).
This blog is powered by ikiwiki.





