The parent may be flamebate, but sense bringing my Apple laptop to meeting I have noticed how just much noise everyone's else's wintel laptop makes while the Apple doesn't. No small external fans in the back and what is even more surprising/pleasent is the lack of hd seeking back and forth which occurs all the times in windows. Taking this to your main computer box, if you have to get fans, buy large slow fans and not fast small fans. They are a lot quieter. And spending $20 more on a good quite hd might surprise you.:)
So it anyoyed you so much you turned it off right, right? Went into settings where *maybe* just *maybe* there might be a setting for that where you can turn it on or off
Probably the same way that I do it under Linux. I alias make to make -j 32 in my bash init file and in the top of my path I have gcc g++ etc all point to distcc (just like the distcc man page gives as an example). So Xcode would just be calling make (really make -j 32) which calls g++-3.3 (really distcc).
-Benjamin Meyer
Hehe I learned my lesson before. I'll be putting the 46MB iso up later tonight, but if someone wants to host it you can e-mail me or im (aim: icefox2) me and I can get you the file.
Well for joe shmo developer who has three computers distcc is "free" and is easy to set up. Little incentive to choose anything else.
-Benjamin Meyer
Re:Missed the best point
on
Optimizing distcc
·
· Score: 3, Insightful
In the first paragraph I mention that you should use it and be familiar with it. Assuming that you already do use it, then the rest of the article applies about how you can improve a certain portion of it (distcc). You don't ignore all the books on optimizing C code just because there are plenty of algorithm books do you?
-Benjamin Meyer
Re:Missed the best point
on
Optimizing distcc
·
· Score: 2, Informative
He completely ignored the usage of distcc and ccache together. The pair of applications make for a huge win.
Actually I mentioned it in the first paragraph...
Re:Reliefe for the /. site
on
Optimizing distcc
·
· Score: 2, Informative
Hmm didn't finish reading the article did you (that was in the parent poster!)? If you had you would see that in fact the noise level didn't rise in my cube.:D
-Benjamin Meyer
poor web server... I thought it could handle it...
distcc optimizations - March 30th 2004
and how to compile kdelibs from scratch in six minutes
If you don't already know about distcc I recommend that you check it out. Distcc is a tool that sits between make and gcc sending compile jobs to other computers when free, thus distributing compiles and dramatically decreasing build times. Best of all it is very easy to set up.
This, of course, leads to the fantastic idea that anyone can create their own little cluster or farm (as it is often referred to) out of their extra old computers that they have sitting about.
Before getting started: In conjunction with distcc there is another tool called ccache, which is a caching pre-processor to C/C++ compilers, that I wont be discussing here. For all of the tests it was turned off to properly determine distcc's performance, but developers should also know about this tool and using it in conjunction for the best results and shortest compile times. There is a link to the homepage at the end of this article.
Farm Groundwork and Setup
As is the normal circle of life for computers in a corporate environment, I was recently lucky enough to go through a whole stack of computers before they were recycled. From the initial lot of forty or so computers I ended up with twelve desktop computers that ranged from 500MHz to 866MHz. The main limit for my choosing dealt with the fact that I only had room in my cube for fifteen computers. With that in mind I chose the computers with the best CPU's. Much of the ram was evened out so that almost all of the final twelve have 256MB. Fast computers with bad components had the bad parts swapped out for good components from the slower machines. Each computer was setup to boot from the CD-ROM and not output errors when booting if there wasn't a keyboard/mouse/monitor. They were also set to turn on when connected to power.
Having enough network administration experience to know better, I labeled all of the computers, the power cord and network cord that was attached to them. I even found different colored cable for the different areas of my cube. The first label specified the CPU speed and ram size so later when I was given faster computers, finding the slowest machine would be easy. The second label on each machine was the name of the machine, which was one of the many female characters from Shakespears plays. On the server side a dhcp server was set up to match each computer with their name and IP for easy diagnosis of problems down the line.
For the operating system I used distccKNOPPIX. distccKNOPPIX is a very small Linux distribution that is 40MB in size and resides on a CD. It does little more then boot, gets the machine on line and then starts off the distcc demon. Because it didn't use the hard disk at all, preparation of the computers required little more than testing to make sure that they all booted off the CD and could get an IP.
Initially, all twelve computers (plus the build master) were plugged into a hub and switch that I had borrowed from a friend. The build master is a 2.7Ghz Linux box with two network cards. The first network card pointed to the Internet and the second card pointed to the build network. This was done to reduce the network latency as much as possible by removing other network traffic. More on this later though.
A note on power and noise, the computers all have on-board components. Any unnecessary pci cards that were found in the machines were removed. Because nothing is installed on the hard disks they were set to spin down shortly after the machines are turned on. (I debated just unplugging the hard disk, but wanted to leave the option for installation open for later.) After booting up and after the first compile when gcc is read off the CD the CD-ROM also spins down. With no extra components, no spinning CD-ROM or hard disk drives the noise and heat level in my cube really didn't change any that I c
1) If you are doing anything in Lightwave by all means don't use AMD's XP:) There must be some major tweak they are missing.
2) Encoding type work XP seems to be the best bang for the buck (right now)
3) I had a difficult time understanding the results because most of the graphs didn't have a scale to go by. Some of them like the games you could figure out that 500fps is twice as fast as the slowest at 250fps, but in either case you didn't care. With lame from the looks of it the slowest was still faster then what I could rip from cd (need to test, but just off the top of my head). Maybe on the larger scale for a particular test all of the cpu's are very close together, but in the view of close up it looks like one is _way_ faster.
4) With all of the tests there wasn't one compiler test:(
Sense 3.1 a lot of applications have been ported to use the KConfig_XT system (more will be ported before 3.3). One of the great features of this is that if you go into an applications settings it only stores those settings that you actually change. This way your home directory doesn't get filled with a zillion 1K files that are nothing more then the default values because you happen to look at the settings one day. And if you change the settings back to default it will even remove the file! Also you will notice that the configure dialogs (that use KConfig_XT) look and feel the same.:)
-Benjamin Meyer
P.S. Along the same topic why the &%$* does Open Office make a.netscape and.netscape6 directories in every users home directory that happens to run it?
Maybe working at Apple or Microsoft of Red Hat would be your dream job. Or maybe it would be building model trains or some other nitch thing. A number of my freinds and I talked about it last week. At the end we concluded that the company culture mattered 1000% more then the actual work. If the company is a fun place to work, feels rewarding, you arn't frustrated every other day, you arn't over managed, you arn't required to stamp in between 8:28 and 8:32 ever day, that is a dream job. When looking for a job the company culture should matter a lot more then it might currently to you. Maybe during lunch they have an old NES system set up in the lunch room and even the managers come over and play. Letting you buy books that can be marked as work related, helping you get a better degree. These are good companies. Working with people that have too big egos, try to over control everything makes the days horible even if you job is to read slashdot for neat ideas.
Having worked for Sharp and have stuff in Opie and delt with quite a lot of Linux in the PDA scene. I put together an article in my free time the last few years. Some ideas you may like, some you may disagree with. A few ideas you might not have known about, and many that you probably could list yourself. Without further delay here it is:
I can too! There is a difference between commercial and propriatery. You can sell GPL'd code all you want. (Why is this even brought up anymore, wasn't this beaten dead back in 1998? hehe those were some flame wars!)
-Benjamin Meyer
P.S. If anyone wants the Source code to Qt I am selling a GPL'd version for $1000 a copy (burned onto a DVD-R!). Just e-mail me.
Just a note for those Qt devs who are doing cross platform work. I have abstracted out KAutoConfig from KDE and made it into its own LGPL library recently and can be downloaded here to use in your free and commercial applications. (Stop wasting your time re-inventing the wheel!)
[Speal about what it is/does]
Do you want to add a full fledged configure dialog to your Qt application by only writing one, twenty line function? If so than the KAutoConfig library is what you want.
KAutoConfig is several classes that enables a developer to easily create a configure dialog for their applications. It automatically syncs GUI widgets values with values in the configuration file. It does this by looking for keys and widgets that have the same name. It obtains the default values from the initial values of the widgets. KAutoConfigDialog also manages all of the buttons in a normal configure dialog.
This is already being done to french fries to make sure that they arn't too long. They pass down a belt and a laser will cut them if they are too long. I guess McDonalds etc have all sorts of specs about what size the french fries need to come in. A quick google should be able to find these for they have been around for a while. They were even mentioned on the TLC show Modern Marvels (along with fun slow mo video).
And the *really* important feature: The native OSX theme I got working the other day:
here
So even thought some of the other screenshots are in the ugly Motif theme they will soon be all re-taken using the OSX theme.
Also notice how in the Dock the KDE applications icons show up (and scale wonderfully!). We have a script that generates OS X.app directories of the KDE applications and also generates those directories with the proper icons. You can see some of them in the background of the screenshot in Finder.
For the 'average' reader of Slashdot, the Fedora Project is the ideal Linux distribution.
The average slashdot reader runs windows and is a little technical. They need something that can work long term to play with when they want. They don't want something they have to upgrade every three months!!! I know enough to install Debian which is the hard part. The rest is easy. It just runs and is easy to update over a _long_ period of time without fuss. I have been running stable on some of my boxes for a number of years. I am not a kernel hacker, I enjoy just playing around in Linux and don't care having to get everything up and working every three months! Back when I ran windows I reloaded it every one-three months and I remember just how much of a pain in the ass it was, so much so that I tried Linux out... Especially when you make it painfully clear that Fedora is nothing more then a beta test for the enterprise beta/release don't fill me with happy thoughts of productivity. And the idea of having multiple rpm repositories gives me the willies. In the debian world most of the package are in one place (or heading to it). Because of that they can be made sure to be compatiable and well intigrated (or hell get this... just work!) This is a good thing. What happens when repository #8 in on your box just goes off line because the guy that was hosting it moved? I tried out the apt-rpm and found myself having to spend quite a lot of extra time updating because the servers were always busy. I have never gotten a busy reply from the debian repositories. Again they just are there and work. Just wait till the first time someone updates a Fedora box and repository 1 has kernel 2.6 and repostitory has kernel 2.4 and you grab parts from each and then turn on your computer the next morning. NO THANKS! You average slashdot user wants somthing that just works and continues to work, they don't care to re-install every three months or have to worry about which pagages work with what other packages.
What you really want it GUI Bloopers. GUI Bloopers take you step by step through the majority of the UI widgets out there and tell you what it is, why it is there, what it should do and what it should not do. This way you have a much better feel for WHY something should be one way over another. I own both the above books, but I tossed out the reviewed book. Way to much theory (some of which I very much disagreed with) and little to no substance at all. Yes every programer should know a little theory about how users interact, but the key words are "a little". What developers really need is what GUI Bloopers provides, an explination of what you should and shouldn't do with widgets.
Sharp Euro & Sharp USA has no plans to bring the new Zaurus's to thier local markets so unless you want to pay the price of a laptop to import, get over the pretty crap that Sharp Japan is putting out and move on to something better.
The parent may be flamebate, but sense bringing my Apple laptop to meeting I have noticed how just much noise everyone's else's wintel laptop makes while the Apple doesn't. No small external fans in the back and what is even more surprising/pleasent is the lack of hd seeking back and forth which occurs all the times in windows. Taking this to your main computer box, if you have to get fans, buy large slow fans and not fast small fans. They are a lot quieter. And spending $20 more on a good quite hd might surprise you. :)
-Benjamin Meyer
-Benjamin Meyer
If someone can provide me more information about how this works (and can work in Linux) I will gladly add it to the CD. -Benjamin meyer
The link is back up, so feel free to p2p the iso with [insert your fav p2p network] and have fun! -Benjamin Meyer
Probably the same way that I do it under Linux. I alias make to make -j 32 in my bash init file and in the top of my path I have gcc g++ etc all point to distcc (just like the distcc man page gives as an example). So Xcode would just be calling make (really make -j 32) which calls g++-3.3 (really distcc). -Benjamin Meyer
Hehe I learned my lesson before. I'll be putting the 46MB iso up later tonight, but if someone wants to host it you can e-mail me or im (aim: icefox2) me and I can get you the file.
-Benjamin Meyer
Well for joe shmo developer who has three computers distcc is "free" and is easy to set up. Little incentive to choose anything else.
-Benjamin Meyer
In the first paragraph I mention that you should use it and be familiar with it. Assuming that you already do use it, then the rest of the article applies about how you can improve a certain portion of it (distcc). You don't ignore all the books on optimizing C code just because there are plenty of algorithm books do you?
-Benjamin Meyer
Actually I mentioned it in the first paragraph...
Hmm didn't finish reading the article did you (that was in the parent poster!)? If you had you would see that in fact the noise level didn't rise in my cube. :D
-Benjamin Meyer
distcc optimizations - March 30th 2004
and how to compile kdelibs from scratch in six minutes
If you don't already know about distcc I recommend that you check it out. Distcc is a tool that sits between make and gcc sending compile jobs to other computers when free, thus distributing compiles and dramatically decreasing build times. Best of all it is very easy to set up.
This, of course, leads to the fantastic idea that anyone can create their own little cluster or farm (as it is often referred to) out of their extra old computers that they have sitting about.
Before getting started: In conjunction with distcc there is another tool called ccache, which is a caching pre-processor to C/C++ compilers, that I wont be discussing here. For all of the tests it was turned off to properly determine distcc's performance, but developers should also know about this tool and using it in conjunction for the best results and shortest compile times. There is a link to the homepage at the end of this article.
Farm Groundwork and Setup
As is the normal circle of life for computers in a corporate environment, I was recently lucky enough to go through a whole stack of computers before they were recycled. From the initial lot of forty or so computers I ended up with twelve desktop computers that ranged from 500MHz to 866MHz. The main limit for my choosing dealt with the fact that I only had room in my cube for fifteen computers. With that in mind I chose the computers with the best CPU's. Much of the ram was evened out so that almost all of the final twelve have 256MB. Fast computers with bad components had the bad parts swapped out for good components from the slower machines. Each computer was setup to boot from the CD-ROM and not output errors when booting if there wasn't a keyboard/mouse/monitor. They were also set to turn on when connected to power.
Having enough network administration experience to know better, I labeled all of the computers, the power cord and network cord that was attached to them. I even found different colored cable for the different areas of my cube. The first label specified the CPU speed and ram size so later when I was given faster computers, finding the slowest machine would be easy. The second label on each machine was the name of the machine, which was one of the many female characters from Shakespears plays. On the server side a dhcp server was set up to match each computer with their name and IP for easy diagnosis of problems down the line.
For the operating system I used distccKNOPPIX. distccKNOPPIX is a very small Linux distribution that is 40MB in size and resides on a CD. It does little more then boot, gets the machine on line and then starts off the distcc demon. Because it didn't use the hard disk at all, preparation of the computers required little more than testing to make sure that they all booted off the CD and could get an IP.
Initially, all twelve computers (plus the build master) were plugged into a hub and switch that I had borrowed from a friend. The build master is a 2.7Ghz Linux box with two network cards. The first network card pointed to the Internet and the second card pointed to the build network. This was done to reduce the network latency as much as possible by removing other network traffic. More on this later though.
A note on power and noise, the computers all have on-board components. Any unnecessary pci cards that were found in the machines were removed. Because nothing is installed on the hard disks they were set to spin down shortly after the machines are turned on. (I debated just unplugging the hard disk, but wanted to leave the option for installation open for later.) After booting up and after the first compile when gcc is read off the CD the CD-ROM also spins down. With no extra components, no spinning CD-ROM or hard disk drives the noise and heat level in my cube really didn't change any that I c
After reading it I get the following:
:) There must be some major tweak they are missing.
:(
1) If you are doing anything in Lightwave by all means don't use AMD's XP
2) Encoding type work XP seems to be the best bang for the buck (right now)
3) I had a difficult time understanding the results because most of the graphs didn't have a scale to go by. Some of them like the games you could figure out that 500fps is twice as fast as the slowest at 250fps, but in either case you didn't care. With lame from the looks of it the slowest was still faster then what I could rip from cd (need to test, but just off the top of my head). Maybe on the larger scale for a particular test all of the cpu's are very close together, but in the view of close up it looks like one is _way_ faster.
4) With all of the tests there wasn't one compiler test
-Benjamin Meyer
Sense 3.1 a lot of applications have been ported to use the KConfig_XT system (more will be ported before 3.3). One of the great features of this is that if you go into an applications settings it only stores those settings that you actually change. This way your home directory doesn't get filled with a zillion 1K files that are nothing more then the default values because you happen to look at the settings one day. And if you change the settings back to default it will even remove the file! Also you will notice that the configure dialogs (that use KConfig_XT) look and feel the same. :)
.netscape and .netscape6 directories in every users home directory that happens to run it?
-Benjamin Meyer
P.S. Along the same topic why the &%$* does Open Office make a
Guess that was a close one!
-Icefox
-Benjamin Meyer
http://www.csh.rit.edu/~benjamin/articles/linux_pd a.php
-Benjamin Meyer
-Benjamin Meyer
P.S. If anyone wants the Source code to Qt I am selling a GPL'd version for $1000 a copy (burned onto a DVD-R!). Just e-mail me.
[Speal about what it is/does]
Do you want to add a full fledged configure dialog to your Qt application by only writing one, twenty line function? If so than the KAutoConfig library is what you want. KAutoConfig is several classes that enables a developer to easily create a configure dialog for their applications. It automatically syncs GUI widgets values with values in the configuration file. It does this by looking for keys and widgets that have the same name. It obtains the default values from the initial values of the widgets. KAutoConfigDialog also manages all of the buttons in a normal configure dialog.
-Benjamin Meyer
This is already being done to french fries to make sure that they arn't too long. They pass down a belt and a laser will cut them if they are too long. I guess McDonalds etc have all sorts of specs about what size the french fries need to come in. A quick google should be able to find these for they have been around for a while. They were even mentioned on the TLC show Modern Marvels (along with fun slow mo video).
-Benjamin Meyer
So even thought some of the other screenshots are in the ugly Motif theme they will soon be all re-taken using the OSX theme.
Also notice how in the Dock the KDE applications icons show up (and scale wonderfully!). We have a script that generates OS X .app directories of the KDE applications and also generates those directories with the proper icons. You can see some of them in the background of the screenshot in Finder.
-Benjamin Meyer
-Benjamin Meyer
The average slashdot reader runs windows and is a little technical. They need something that can work long term to play with when they want. They don't want something they have to upgrade every three months!!! I know enough to install Debian which is the hard part. The rest is easy. It just runs and is easy to update over a _long_ period of time without fuss. I have been running stable on some of my boxes for a number of years. I am not a kernel hacker, I enjoy just playing around in Linux and don't care having to get everything up and working every three months! Back when I ran windows I reloaded it every one-three months and I remember just how much of a pain in the ass it was, so much so that I tried Linux out... Especially when you make it painfully clear that Fedora is nothing more then a beta test for the enterprise beta/release don't fill me with happy thoughts of productivity. And the idea of having multiple rpm repositories gives me the willies. In the debian world most of the package are in one place (or heading to it). Because of that they can be made sure to be compatiable and well intigrated (or hell get this... just work!) This is a good thing. What happens when repository #8 in on your box just goes off line because the guy that was hosting it moved? I tried out the apt-rpm and found myself having to spend quite a lot of extra time updating because the servers were always busy. I have never gotten a busy reply from the debian repositories. Again they just are there and work. Just wait till the first time someone updates a Fedora box and repository 1 has kernel 2.6 and repostitory has kernel 2.4 and you grab parts from each and then turn on your computer the next morning. NO THANKS! You average slashdot user wants somthing that just works and continues to work, they don't care to re-install every three months or have to worry about which pagages work with what other packages.
-Benjamin Meyer
Screenshots and photos here: http://www.csh.rit.edu/~benjamin/programs/program. php?program=KBinaryClock
Benjamin Meyer
Sharp Euro & Sharp USA has no plans to bring the new Zaurus's to thier local markets so unless you want to pay the price of a laptop to import, get over the pretty crap that Sharp Japan is putting out and move on to something better.