Fog Creek Software
Discussion Board




The Joy of Linux

Just a few cool things in the Linux news lately.

1. The new threading library in the 2.5 series kernel:
http://www.kerneltrap.org/node.php?id=422
http://people.redhat.com/drepper/nptl-design.pdf

"... running 100,000 concurrent threads on an IA-32... Ingo Molnar explained that with the current stock 2.5 kernel such a test requires roughly 1GB RAM, and the act of starting and stopping all 100,000 threads in parallel takes only 2 seconds. In comparison, with the 2.5.31 kernel (prior to Ingo's recent threading work), such a test would have taken around 15 minutes.

Ingo's response to the logical followup question, "why so many threads, the answer is because we can :)"

Also, second doc:  Extremely light weight synchronization:

"A mutex can be implemented in half a dozen instruction with the fast path being entirely at user-level. The wait queue is maintained by the kernel. There are no further user-level data structures needed which have to be maintained and cleaned up in case of cancellation."

2. Just being a pain in the ass for MSFT (priceless).
http://biz.yahoo.com/rc/030409/tech_microsoft_licensing_1.html

Nat Ersoz
Thursday, April 10, 2003

Yes, yes but have you got any decent fonts yet?

Eunuchs
Thursday, April 10, 2003

Need MSFT fonts?

http://sourceforge.net/project/showfiles.php?group_id=34153&release_id=119126

Thanks Bill!

Nat Ersoz
Thursday, April 10, 2003

There is certainly no problem with linux not having enough fonts, since you can get a bazillion free TrueType or OpenType fonts off of the internet (and many of them are quite good).

The issue is that many linux distros have broken font rendering engines (using the default install). On my linux box (redhat 7.3), the font rending is terrible. I spent a few hours investigating the issue, downloading and installing updates to the OpenType engine, etc., but I couldn't get it fixed.

Consequently, if on any given day I'm not working on something that can _only_ be done in linux, I boot to windows instead. At least the font rendering doesn't give me a headache.

Benji Smith
Thursday, April 10, 2003

This is interesting news. Any improvements to Linux multithreading work are very interesting to me.

I'm especially curious to know what improvements (if any) are being made to support SMP across an arbitrary number of processors. Linux handles 2 processors very well, but doesn't like to have 8 processors, and absolutely balks at having 32 or 64 or 96 processors. Solaris (for example) is much more adept at scaling across large multiprocessor environments.

Does anybody know if any progress is being made in this area?

Also, I know there was some controversy as to whether the improvements made in the 2.5 development release of the kernel were going to go into a 2.6 stable release or directly into a 3.0 release. What's the current story with that? Also, if the 3.0 release is still a thing of the future, does anybody know what improvements are slated for it?

Benji Smith
Thursday, April 10, 2003

Slashdot had an article yesterday, "2.5.65 On 32-way NUMA-Q with Preempt Enabled".

http://developers.slashdot.org/article.pl?sid=03/04/09/0426227&mode=nested&tid=137&tid=106

rwh
Thursday, April 10, 2003

I thought the true Joy of Linux was the nearly _daily_ email alerts from RedHat indicating a security problem with one of the packages in the RH distro and informing me that an update was available.

Patch, patch, patch!

Mitch & Murray (from downtown)
Thursday, April 10, 2003

What makes you think is that, while under practically all aspects of system design Linux still doesn't compare even with Windows NT 3.1 (see updates like this one, being plauded as revolutionary), and is slowly and openly copying features from it (coming soon: "priority boost" flag for threads to make GUI apps more responsive, thread-per-client design of the X server, caching of frequently used DLLs - and more!), a large majority of Linux users trumpets about how much more "superior" and "innovative" it is compared with Windows. Go figure

KJK::Hyperion
Thursday, April 10, 2003

KJK::Hyperion.. you make good sophisticated flamebaits.. but your logic is flawed. Why would three little system features (those you listed) make or break a system that requires thousands of little doodats to make it useful?

Windows NT also once had to getting the graphics subsystem optimized so that it didn't have to go through a lot of layers of overhead. (just one example) DLLs, and executable binaries have been shared for the longest time (which for the longest time was much more useful than caching of frequently used dll.. and most UNIX admins have the option to recompile their software so everything is statically linked.. it's gross, but then this goes back that they baby sit application or database servers, not millions of linux workstations...) Basically, I am not trying to argue for who's better, I am just saying this issue you brought up is a heck of a lot more complicated buddy.


I think although for many free un*xes is a religion, there's enough people who KNOWS why they need Linux to find your arguments kinda shallow.

Li-fan Chen
Thursday, April 10, 2003

Chen:

I look at Linux the way I looked at being a ham radio operator when I was a kid.

Lots of fun, you get the feeling that you are lalways earning something as you tweak and tune it.  It is not always the most practical way to do things however.

On the other hand, now that I'm older, if I want to talk to someone I just pick up the phone.  Likewise, if I want to create a document, write some code, or <gasp!> sell someone some software that they can use in their business or for pleasure, I pick Win32.  NT, 2000, XP, they all just work.

Sorry, no Gold Leads for you.

Mitch & Murray (from downtown)
Thursday, April 10, 2003

I just spent all day (not the first day either) trying to install software on Linux.  All I needed was for one last thing to work for the whole bunch of programs to install.

Every try to UNINSTALL anything on Linux.  I am all ears.  rpm's seem like more of a pain than a help. 

Lemme see the rpm says it's installed when I try to install it, and it's uninstalled when I try to uninstall it.  I could go on for a while here (OTW, it's been source code I've been unsuccessfully installing/uninstalling).  Now I am about to install it all on Windows instead which looks to be 100x easier.

Any cheerful rejoinders?

Brian R.
Friday, April 11, 2003

RH & rpm are sh*te, imo. Try Debian. It just works(tm). Except for the OOTB isdn support, the b*st*rds!


Friday, April 11, 2003

I love linux, and I have it as the primary boot on my non work machines. I just remember installing Oracle 8i on RH7.2.

Let me just say that by the time I got to the end, I had found God!

tapiwa
Friday, April 11, 2003

Have to say I agree. RPMs/Redhat are great if you want to throw a system onto a box and never touch it again. After that, it gets a pain to install things.

Debian, I have found, really does Just Work. I was most impressed by the "update the kernel" "ok... think think think... done, rebooting.. click... " type stuff that it just gets on with.

And, if you have the network/inclination, you get to have your network security holes auto-fixed by updates before the information that they're there has hit /.

Katie Lucas
Friday, April 11, 2003

I used to use slackware, where you get a lot of control over what you install or don't.. eventually these distributions become so large that just keeping the dependencies in your head was difficult. At that point I started to use RedHat 5.2/6.x/7.x and Mandrake equivalent. But I still miss the days when you can really tweak things. So I think once you get your hands dirty with RedHat you might want to try the stable versions of Debian or slackware. Right now I am mostly playing with Debian and OpenBSD. YMMV.

Li-fan Chen
Friday, April 11, 2003

Regarding ease of installation.

On every platform I have been on, it's been a disaster. Basically the more you play with a certain program the more you know. If you have been baby sitting thousands of boxes at a bank you'll know how to install Microsoft Office on probably Mac SE using nothing but a small piece of gum, regedit, and bottle cap. But then you have everyday joes trying to admin Oracle on Netware using Sam's Teach yourself oracle in 12 hours.. good luck.

Macs are great because mac coders try to stuff all the resources into the same binary file (or store them in hidden resource forks.. which goes whereever your files goes by the way the file system works).. but then sometimes it really sucks because the odd company will put a dll in the systems extensions folder and you can't figure out from just the comments or corporate document whether one dll fits with one version of software and which is compatible or not. They basically hide way too much information from users--even the experienced users.

Experienced users often understand why a program spews dependancies everywhere. Some of it is justified, some of it is not. When they are (think SMTP servers or web servers) these dependancies should be well documented. And beginner users should know to either 1) avoid these advanced tools that takes a degree to run and run simpler versions of these tools (MS Access instead of Oracle for example, MacHTTP with CGI on a PowerPC instead of Zeus on OpenBSD) or 2) pay someone to do it for them.

The same goes for Windows and Linux, there are some really cool software that basically really fits in one folder and you could basically just delete the folder as is (or drag it somewhere else) and they have a distinct section in the RegEdit which you can delete.. mutate.. or whatever..and the program can autofix.

I think there's more we programmers can do, and we should do more.

Li-fan Chen
Friday, April 11, 2003

Thanks for all of the replies.  Downloading RH 9 as we speak, but will install Debian, Slackware, and FreeBSD soon enough, as I hear nothing but good things about these distros.  Suse seems to get honarable mention as well.

It was fun installing on Windows after the Linux struggle. 

I think that's the way to go, multi-boot from different Linux distros off of one HD, on an extended partition for the swap partitions. 

Only a primary partition can have a boot sector, right.  That limits me to my Dos partition. hehe. and three primary Linux partitions.

Is it possible to use Linux, perhaps in combination with System Commander, to use a non-primary partition for the Linux swap partition?

Does Linux fdisk allow to set this up?

Brian R.
Friday, April 11, 2003

Regarding the above messages discussing software installation on Linux / the deficiances of the RPM system etc: Any of you interested in Linux but who have these sorts of hangups should really give the gentoo distribution a shot (http://www.gentoo.org) I was a pretty early adopter and have never looked back. Installation is kinda technical, but their install guides / documentation are top-notch. Gentoo brings the power / ease of use of the BSD ports sytem to the linux world. For example, to install a package, one types: emerge packagename; and said package is downloaded, compiled and installed. Uninstallation is a snap as well, simply type: emerge unmerge packagename and you're set. Sorry if the  formatting of this message is f*cked up, I'm typing from a text console at University...

Andrew Murray
Friday, April 11, 2003

This assumes you have a fat wire for a net connection - Gentoo is useless if you are running a dialup.

Something you can still do yourself and snag the packages when you can find a fast connect:

http://www.linuxfromscratch.org/

This is not nearly as polished as Gentoo, but more practical if you must download in advance and then install later.  It is much more a DIY system than even Gentoo.

Mitch & Murray (from downtown)
Friday, April 11, 2003

The one advantage to Gentoo is that you get everything optimized for your exact system configutation, and you can pick everything you want. The downside is it's slow and a pain in the ass.

If you want ease of upgrade, I think Debian's "apt" is much better (but if you think Gentoo installs are tough, try a Debian install!).

Believe it or not, Lindows is a great answer here. It's Debian at the core, complete with apt, and easy cheesy to install (it literally took about 60 seconds to install... really). Plus, I think it has the most user-friendly UI of any of the Linux systems.

Brad (dotnetguy.techieswithcats.com)
Friday, April 11, 2003

*  Recent Topics

*  Fog Creek Home