1: If you do not want to warm your house but instead want to cool it (I assume that is the case i most of California) then the waste heat has to be removed - by using more energy on air conditioning. I vaguely remember that it takes roughly 4W energy to remove 1W heat.
2a: If you want to heat your home then then there are better ways than electricity due to the power loss in the power lines. The energy used to transfer oil to your own furnace and the waste heat of your furnace is typically lower than the loss in the power lines.
2b: Of course, if the energy starts as electricity (dams, nuclear) then (2b) is more or less irrelevant.
2c: If the oil/coal power plant is near your home then (2a) may not apply.
3. If you have electrical heating in your house then I would argue that using that is better than using your TV (heats at the desired spots, more comfortable afterheat from oil/electricity radiators).
After I switced off my old dual-pentium server the temperature in my living room dropped by 1C. But I usually can manage with the waste heat from the neighbouring apartments:-)
Technology evolves, but I cannot help think that it is a bit curious that this announcement comes when mobile wimax is starting to be implemented. The mobile phone companies have heavy investment in equipment, and wimax equipment was designed to be cheap. Mobile phone companies don't like mobile wimax as it is a threat to some of their revenue.
The salespeople may be forced to do this. There are industries (eg. telco) where the procurement managers won't sign a contract unless there is a discount. If the salespeople know that then they are forced to advertise a higher base price.
On the other hand, in some cases the discounts and negotiations are ridiculous. I once experienced a router vendor salesman responding to a coworker's concern for the price with "oh, no problem. You can get 50% discount". That is a bit silly.
Haggling over the service, options and price is ok. I don't like haggling over the price only.
A debugger is not always feasible. I have worked on systems (and still am. sigh...) where there are 3 debuggers: Debugger A can run the program but cannot show symbols in shared libraries. Debugger B version X cannot run the program due to threads but can show a stack backtrace from a core dump. Debugger B version Y cannot run the program due to threads but can show values of variables in a core dump.
Not a bad idea - plenty of names and all of them inoffensive. But there are two things to watch out for:
- Names that are not easy to spell. How do you spell Ruchbah or Rukbah? (Cassiopeia delta)
- Avoid the name "sun". We have one machine called that in my company and the system adminstrators dislike it because they usually manage Sun and HP machines, and "Sun" is actually a Windows server:-)
Or more thorough UI customization - even for the little things. Maybe a "customize this" click feature For instance, in firefox 3 I would like to remove: - Site icon / drag point. It is nice, but I rarely use it for dragging the URL to another application. - XML feed thing in the address bar. Never used it. - bookmark this page icon. There is a fine menu item for that, and I can live with that if I get more space in the address bar. - The spyglass icon in the search box. I know what the box is for and [enter] works fine. I would also like to make the bookmark management menu items in the bookmark menu a sub-menu. FF3 added two menu items and now I have to live with the scrolling menu.
I would also like to make the browser load plugins in a separate process. I seems that plugin initialization locks the browswer. This is not ideal when clicking on a 20MB PDF file and having to wait for it to download while I could be browsing something else.
I use a failover setup where the primary connection is an xDSL connection and the backup connection is cable.
Some details make failover non-trivial to do. The ADSL occasionally gets the DSL line up but no IP connectivity. The cable modem is very stable but slow. I ended up configuring linux on a small embedded computer (soekris net4801). I have a script running from crontab that pings the next-hop. If the primary connection fails, the default route is changed to the backup interface. One interesting complication is that I also use bandwith shaping with tc/htb, so iptables is configured to mark packets based on which interface they come from, which tc then can pick up and shape. I don't think there is any box/product that can fulfill all my needs, but I would have saved me much time if there were.
The saddle-shaped seat and the weird shaped back allows many sitting positions. It is comfortable for up to 20 minutes after which you invariably change position. The only complaints I have heard about is that it is not ideal if you like to fold one of your legs up on the seat (some people do) or if you're wearing a skirt (which I assume isn't a problem for your husband). You can order it with and extended lift if he likes to sit almost standing up at a height-adjustable desk.
Come to think of it: maybe a height-adjustable desk would be better?
Already done in the comic Gaston, where he invented such a device which could press the juice from 4 oranges, grind 30g coffee and stamp 5 letters. His coworkers were not pleased.
Actually, Booch notation isn't half bad. I does not have all the details and precision of UML, but it is sufficient. And classes and objects are fluffy clouds - not boxes. Grady Booch's rationale for that shape was that the drawings were approximations anyway. the story goes that when UML was designed the others wanted nice rectangular boxes for classes and Booch had to give in, but commented "but they are really just rectangular floffy clouds"
IMHO, A mix of GUI+command-line works best. I use Yast for the initial setup, and the command-line for tweaking. I wouldn't dream of setting up network cards initially via the command-line. I guess that it depends on whether the GUI simplifies a task without being too limited. Examples: Adding network cards: Yast manages udev detection, persistent interface naming, and ip/mask. Command-line would be too cumbersome. Adding NFS mount: command-line wins here (1 line in/etc/fstab) Adding software: yast is OK. Yum is nice too. download+untar+compile+install? Only if I have to. Adding a user: I always end up using "useradd" and "groupadd" to have complete control. Configuring init.d: GUI runlevel management is easier than making symbolic links myself. Adding a printer to cups: GUI wins here.
So I think the whole idea of managing unix and linux from a Windows GUI tool depends on on the quality of the software an whether it offers any value for a system administrator.
It is also a waste of time. Instead of spending time hot-patching a kernel, jotting down which patch it was, verify that it actually installed, and considering you cannot change the layout of structures anyway in a hot-patch, the time would be better spent designing protocols that can handle a hot-standby switchover.
Yes, there are a few scenarios where the hardware is so expensive that you cannot afford redundancy, but that is rare.
That reminds me of some remarks in the book "Gesta Danorum" where the author, Saxo Grammaticus, notes that in old times they had a much better system where the disagreeing parties simply fought over who was right. Nothing about the soft and new-fangled way with oaths and proofs. That book was written in the 12th century.
On desktops I use adapters from LinITX (LinITX CF adapters).
The only problem that I have had is at not all motherboards support booting from a CF behind a SATA-to-CF adapter.
It is still a bit expensive to use CF, but CF usually comes with higher performance than most USB sticks.
I recently changed the traditional HD to a flash (sata-to-compactflash adapter from Linitx, and a 16GB extreme3 from sandisk). The benefits so far: No noise. Less power use. Much faster startup (essentially no seek time). Alle my writes usually is done on files located on NFS.
FWIW, Sun's operating system (SunOS) has been fairly close to Unix standards over its lifetime
It is still a long way from following IEEE Std 1003.1 Solaris still defaults to non-compliant tools (/usr/xpg4/bin is not in PATH,/usr/bin/sh points to a non-compliant shell, etc). I understand Sun's reason for doing it that way (don't make old customers afraid of upgrades), but it is a pain when trying to make cross-platform shell scripts.
AIX has a SIGDANGER signal that tells each application that the memory load is getting critical. By default, the signal is ignored. After that signal has been sent and if the memory load gets critical SIGKILL is sent to all processes that don't have a SIGDANGER handler.
Linux doesn't have a SIGDANGER signal, but instead uses a different mechanism: The Out-Of-Memory handler (OOM) that kicks in when memory has been exhausted, and kills processes. There have been a lot of tweaks the past few years. The initial implementation selected the larges process to kill first, which tended to kill the X server, the database processes etc. which sure keeps the system going but is probably not what you want.
You can also limit the memory use per process using the "ulimit" command. Most unixes support limiting the stack and heap size. Some support limiting shared memory, code size, etc. YMMV.
Not me, but one of my colleagues took over maintenance of a system which included a date library. The dates and times were treated as floating-point, leading to much conversion and adjustinging. Eg. 12:30 was 12.30, so when adding 40 minutes getting 12.70, and then adjusting that to 13.10, No input validation was done. My colleague tried cleaning that up, but then got complaints from the users. They had discovered the "features" and were now using eg:
January -6th meaning december 24th the previous year.
My colleague had to remove the input validation again and keep the features.
I think half of experience inside software development is maintaining your old code for multiple generations of the software. That will usually show that a few initially clever decision weren't. Eg. after a couple of major releases you realize that some flexibility you built into the software wasn't needed. Or worse: flexibility that you eliminated would be usefull a few releases later and now requires major work to implement.
The other half of experience is having tried a lot.
Bjarne Stroustrup described that professionals mastering either of these two parts as "short, fat men" (broad knowledge) and "tall, skinny men" (deep, narrow knowledge).
Changing jobs often will tend to make you "short and fat", while staying in the same job/industry will make you "tall and skinny".
I think it is easier to stay in a job getting deep knowledge, and getting broad knowledge in your spare time or one-off projects. Changing jobs jobs often will prevent you from getting deep knowledge and it is difficult to get that in hobby/minor projects.
Stroustrup also mentioned that for important projects you need "tall, fat men":-)
In Denmark the rules are similar but more in the favor of the (salaried) employee: The employer and the employee can agree that up to the first 3 months is probation time, in which there is 14 days notice for both parties. 0-5 months: 1 month notice from the employee; 1 month notice from the employer. 6 months - 3 years: 1 month notice from the employee; 3 months notice from the employer. 3-6 years: 1 month notice from the employee; 4 months notice from the employer. 6-9 years: 1 month notice from the employee; 5 months notice from the employer. 9- years: 1 month notice from the employee; 6 months notice from the employer.
All notices are from the end of a month.
In addition, after 12 years employment there is mandatory compensation (1, 2 or 3 months pay depending on time).
What happens during the notice time depends on the company and environment. The employer can require the employee to work during the notice time. What usually happens is that if the employee resigns then he will spend up to 2 months finishing projects, transferring knowledge, using earned vacation time etc. If the employee is fired for a cause then he is usually asked not to show up again. If fired due to downsizing etc. he is usually asked to transfer knowledge and finish projects that are close to finished, and otherwise use earned vacation time. In either case (fired or resigned) the employee has the right to (reasonable) time off for seeking a new job.
My company had a major downsizing in september. Most of the fired colleages were asked to come in a day or two to transfer knowledge and clean up their workstations. I keep in touch with them. One of them have essentially spent the 4 months as a vacation, renovating his house, learning new skills, etc.
Historians are studying written documents that are thousands of years old.
Probably not paper documents. Parchment and papyrus. Paper made from trees contain acid that destroys the paper after 200-400 year. There are treatments that remove the acid from the paper. There is also paper with higher content of cotton, but that is expensive. The paper in old books that were made more than 400 years ago were not made from tree pulp.
Your marriage cercificate? Gone in 100 years. All paper trails from you? 200 years maybe.
If you are lucky your tombstone may last a few thousand years before it is reused or destroyed by acid rain.
But paper is still way better than low-quality writable CDs, hard drives, magnetic tapes etc. The jury is still out on high-quality CD-ROMs and laserdiscs.
It is a bit more complicated than that.
1: If you do not want to warm your house but instead want to cool it (I assume that is the case i most of California) then the waste heat has to be removed - by using more energy on air conditioning. I vaguely remember that it takes roughly 4W energy to remove 1W heat.
2a: If you want to heat your home then then there are better ways than electricity due to the power loss in the power lines. The energy used to transfer oil to your own furnace and the waste heat of your furnace is typically lower than the loss in the power lines.
2b: Of course, if the energy starts as electricity (dams, nuclear) then (2b) is more or less irrelevant.
2c: If the oil/coal power plant is near your home then (2a) may not apply.
3. If you have electrical heating in your house then I would argue that using that is better than using your TV (heats at the desired spots, more comfortable afterheat from oil/electricity radiators).
After I switced off my old dual-pentium server the temperature in my living room dropped by 1C. But I usually can manage with the waste heat from the neighbouring apartments :-)
Technology evolves, but I cannot help think that it is a bit curious that this announcement comes when mobile wimax is starting to be implemented. The mobile phone companies have heavy investment in equipment, and wimax equipment was designed to be cheap. Mobile phone companies don't like mobile wimax as it is a threat to some of their revenue.
The salespeople may be forced to do this. There are industries (eg. telco) where the procurement managers won't sign a contract unless there is a discount. If the salespeople know that then they are forced to advertise a higher base price.
On the other hand, in some cases the discounts and negotiations are ridiculous. I once experienced a router vendor salesman responding to a coworker's concern for the price with "oh, no problem. You can get 50% discount". That is a bit silly.
Haggling over the service, options and price is ok. I don't like haggling over the price only.
A debugger is not always feasible. I have worked on systems (and still am. sigh...) where there are 3 debuggers:
Debugger A can run the program but cannot show symbols in shared libraries.
Debugger B version X cannot run the program due to threads but can show a stack backtrace from a core dump.
Debugger B version Y cannot run the program due to threads but can show values of variables in a core dump.
So logging and printf are my friends.
Not a bad idea - plenty of names and all of them inoffensive. But there are two things to watch out for: :-)
- Names that are not easy to spell. How do you spell Ruchbah or Rukbah? (Cassiopeia delta)
- Avoid the name "sun". We have one machine called that in my company and the system adminstrators dislike it because they usually manage Sun and HP machines, and "Sun" is actually a Windows server
Or more thorough UI customization - even for the little things. Maybe a "customize this" click feature
For instance, in firefox 3 I would like to remove:
- Site icon / drag point. It is nice, but I rarely use it for dragging the URL to another application.
- XML feed thing in the address bar. Never used it.
- bookmark this page icon. There is a fine menu item for that, and I can live with that if I get more space in the address bar.
- The spyglass icon in the search box. I know what the box is for and [enter] works fine.
I would also like to make the bookmark management menu items in the bookmark menu a sub-menu. FF3 added two menu items and now I have to live with the scrolling menu.
I would also like to make the browser load plugins in a separate process. I seems that plugin initialization locks the browswer. This is not ideal when clicking on a 20MB PDF file and having to wait for it to download while I could be browsing something else.
There's a bit more to it than that [...]
That is the understatement of the year :-)
The 'weight' feature is quite nice. It evens keeps the route selection sticky per-flow.
I use a failover setup where the primary connection is an xDSL connection and the backup connection is cable.
Some details make failover non-trivial to do. The ADSL occasionally gets the DSL line up but no IP connectivity. The cable modem is very stable but slow. I ended up configuring linux on a small embedded computer (soekris net4801). I have a script running from crontab that pings the next-hop. If the primary connection fails, the default route is changed to the backup interface. One interesting complication is that I also use bandwith shaping with tc/htb, so iptables is configured to mark packets based on which interface they come from, which tc then can pick up and shape. I don't think there is any box/product that can fulfill all my needs, but I would have saved me much time if there were.
If your husband is not severely overweight, and has had issues with his back then the Capisco chair may be what he wants: http://www.hag.no/hag_us.nsf/pages/hag_capisco_8107
The saddle-shaped seat and the weird shaped back allows many sitting positions. It is comfortable for up to 20 minutes after which you invariably change position. The only complaints I have heard about is that it is not ideal if you like to fold one of your legs up on the seat (some people do) or if you're wearing a skirt (which I assume isn't a problem for your husband). You can order it with and extended lift if he likes to sit almost standing up at a height-adjustable desk.
Come to think of it: maybe a height-adjustable desk would be better?
Already done in the comic Gaston, where he invented such a device which could press the juice from 4 oranges, grind 30g coffee and stamp 5 letters. His coworkers were not pleased.
Actually, Booch notation isn't half bad. I does not have all the details and precision of UML, but it is sufficient. And classes and objects are fluffy clouds - not boxes. Grady Booch's rationale for that shape was that the drawings were approximations anyway. the story goes that when UML was designed the others wanted nice rectangular boxes for classes and Booch had to give in, but commented "but they are really just rectangular floffy clouds"
IMHO, A mix of GUI+command-line works best. I use Yast for the initial setup, and the command-line for tweaking. I wouldn't dream of setting up network cards initially via the command-line. I guess that it depends on whether the GUI simplifies a task without being too limited. Examples: /etc/fstab)
Adding network cards: Yast manages udev detection, persistent interface naming, and ip/mask. Command-line would be too cumbersome.
Adding NFS mount: command-line wins here (1 line in
Adding software: yast is OK. Yum is nice too. download+untar+compile+install? Only if I have to.
Adding a user: I always end up using "useradd" and "groupadd" to have complete control.
Configuring init.d: GUI runlevel management is easier than making symbolic links myself.
Adding a printer to cups: GUI wins here.
So I think the whole idea of managing unix and linux from a Windows GUI tool depends on on the quality of the software an whether it offers any value for a system administrator.
> "this is pure gold"
It is also a waste of time. Instead of spending time hot-patching a kernel, jotting down which patch it was, verify that it actually installed, and considering you cannot change the layout of structures anyway in a hot-patch, the time would be better spent designing protocols that can handle a hot-standby switchover.
Yes, there are a few scenarios where the hardware is so expensive that you cannot afford redundancy, but that is rare.
That reminds me of some remarks in the book "Gesta Danorum" where the author, Saxo Grammaticus, notes that in old times they had a much better system where the disagreeing parties simply fought over who was right. Nothing about the soft and new-fangled way with oaths and proofs. That book was written in the 12th century.
It is still a bit expensive to use CF, but CF usually comes with higher performance than most USB sticks.
I recently changed the traditional HD to a flash (sata-to-compactflash adapter from Linitx, and a 16GB extreme3 from sandisk). The benefits so far: No noise. Less power use. Much faster startup (essentially no seek time). Alle my writes usually is done on files located on NFS.
FWIW, Sun's operating system (SunOS) has been fairly close to Unix standards over its lifetime
/usr/bin/sh points to a non-compliant shell, etc). I understand Sun's reason for doing it that way (don't make old customers afraid of upgrades), but it is a pain when trying to make cross-platform shell scripts.
It is still a long way from following IEEE Std 1003.1
Solaris still defaults to non-compliant tools (/usr/xpg4/bin is not in PATH,
AIX has a SIGDANGER signal that tells each application that the memory load is getting critical. By default, the signal is ignored. After that signal has been sent and if the memory load gets critical SIGKILL is sent to all processes that don't have a SIGDANGER handler.
Linux doesn't have a SIGDANGER signal, but instead uses a different mechanism: The Out-Of-Memory handler (OOM) that kicks in when memory has been exhausted, and kills processes. There have been a lot of tweaks the past few years. The initial implementation selected the larges process to kill first, which tended to kill the X server, the database processes etc. which sure keeps the system going but is probably not what you want.
You can also limit the memory use per process using the "ulimit" command. Most unixes support limiting the stack and heap size. Some support limiting shared memory, code size, etc. YMMV.
Not me, but one of my colleagues took over maintenance of a system which included a date library. The dates and times were treated as floating-point, leading to much conversion and adjustinging. Eg. 12:30 was 12.30, so when adding 40 minutes getting 12.70, and then adjusting that to 13.10, No input validation was done. My colleague tried cleaning that up, but then got complaints from the users. They had discovered the "features" and were now using eg:
January -6th
meaning december 24th the previous year.
My colleague had to remove the input validation again and keep the features.
How can you be sure your Linux systems are ready, and what can you do to get them ready if they're not?
Move to Antarctica.
I think half of experience inside software development is maintaining your old code for multiple generations of the software. That will usually show that a few initially clever decision weren't. Eg. after a couple of major releases you realize that some flexibility you built into the software wasn't needed. Or worse: flexibility that you eliminated would be usefull a few releases later and now requires major work to implement.
:-)
The other half of experience is having tried a lot.
Bjarne Stroustrup described that professionals mastering either of these two parts as "short, fat men" (broad knowledge) and "tall, skinny men" (deep, narrow knowledge).
Changing jobs often will tend to make you "short and fat", while staying in the same job/industry will make you "tall and skinny".
I think it is easier to stay in a job getting deep knowledge, and getting broad knowledge in your spare time or one-off projects. Changing jobs jobs often will prevent you from getting deep knowledge and it is difficult to get that in hobby/minor projects.
Stroustrup also mentioned that for important projects you need "tall, fat men"
In Denmark the rules are similar but more in the favor of the (salaried) employee:
The employer and the employee can agree that up to the first 3 months is probation time, in which there is 14 days notice for both parties.
0-5 months: 1 month notice from the employee; 1 month notice from the employer.
6 months - 3 years: 1 month notice from the employee; 3 months notice from the employer.
3-6 years: 1 month notice from the employee; 4 months notice from the employer.
6-9 years: 1 month notice from the employee; 5 months notice from the employer.
9- years: 1 month notice from the employee; 6 months notice from the employer.
All notices are from the end of a month.
In addition, after 12 years employment there is mandatory compensation (1, 2 or 3 months pay depending on time).
What happens during the notice time depends on the company and environment. The employer can require the employee to work during the notice time. What usually happens is that if the employee resigns then he will spend up to 2 months finishing projects, transferring knowledge, using earned vacation time etc. If the employee is fired for a cause then he is usually asked not to show up again. If fired due to downsizing etc. he is usually asked to transfer knowledge and finish projects that are close to finished, and otherwise use earned vacation time. In either case (fired or resigned) the employee has the right to (reasonable) time off for seeking a new job.
My company had a major downsizing in september. Most of the fired colleages were asked to come in a day or two to transfer knowledge and clean up their workstations. I keep in touch with them. One of them have essentially spent the 4 months as a vacation, renovating his house, learning new skills, etc.
Radioactive frozen snails?
Would make a great B-movie, though.
Historians are studying written documents that are thousands of years old.
Probably not paper documents. Parchment and papyrus.
Paper made from trees contain acid that destroys the paper after 200-400 year. There are treatments that remove the acid from the paper. There is also paper with higher content of cotton, but that is expensive. The paper in old books that were made more than 400 years ago were not made from tree pulp.
Your marriage cercificate? Gone in 100 years.
All paper trails from you? 200 years maybe.
If you are lucky your tombstone may last a few thousand years before it is reused or destroyed by acid rain.
But paper is still way better than low-quality writable CDs, hard drives, magnetic tapes etc. The jury is still out on high-quality CD-ROMs and laserdiscs.
I have already made an UI named Flogiston :-)