The nuts are bolts are still important. Java framework hell is partially a result of the language's shortcomings. Clearly some languages and tools can do some jobs in hours/days when it takes days/months using others, but then seemly productive tools fall to bits when used for other kinds of jobs. There is much to look at this level, it cannot be dismissed so lightly.
There's no doubt that with smart phones now sub-$100, there will be a shakeout. It may be calculators and corded phones all over again. As for what nationality to buy, most of the world is now buying Asian, and much of the "Chinese crap" you write of gets reasonable reviews and appears to last the required 2 year life span.
Nokia failed to realise is that their customers were buying because they had a reliable brand with a respectable name, but that in most other respects, most of their customers considered Nokia's phones to have similar features as all the rest. They were trusted and reliable - they were an IBM, not an Apple. When they stopped making phones with similar features as all the rest, they were taking a big step into unknown territory.
If they had simply built a solid android phone, they could have retained much of their customer base and charged a premium for brand/quality. I guess they still could.
The government's economic development plans for the region is to move up market into more advanced, higher valued, manufacturing and services. Part of the plan is to is to encourage more workers rights, higher wages, increased health-care, welfare, improved education, move the workforce up market, and help force low paid manufacturing out. Lower value manufacturing is now being encouraged to move the interior regions to lift the economy and incomes there. It's all well documented and written about. It should come as no surprise that there will be some labour issues in the southern coastal regions during the transition.
They're directing and regulating competitive market forces to achieve national growth. Milton Friedman probably wouldn't approve - but it's worked so far.
I've sat in front of a Linux desktop ever since a Linux desktop became possible. As a UNIX desktop it matured long ago, but it hasn't moved very far since. The separation of kernel and desktop has always been the elephant in the room. The desktop developers are fiddling around the edges, creating a desktop for UNIX without considering that they could also create a UNIX for the desktop. Why is it that user file history and the trashcan are not implemented in the operating system so that command-line and desktop-functionality are unified? Why is it that user level file sharing is not implemented in the file system instead of being implemented in the desktop file managers? Why is it that user level desktop applications can bring the system to its knees without any chance for a user to intervene?
I guess I'm part of the problem, because like many Linux users, I'm a command line user, the shortcomings of the desktop are simply not irritating enough to make me want to do much about them (although I have tried - e.g. collectfs).
Python Matplotlib covers some of what you might be interested in and it can be used with other GUI toolkits see http://www.scipy.org/Cookbook/Matplotlib and http://matplotlib.sourceforge.net/ - at the very minimum it might provide some food for thought about the feature-set you're seeking.
Some argue this is a fallacy - manufacturing is making gains in efficiency much much faster than the service sector - this overstates the degree to which manufacturing has declined and understates its importance - from Ha-Joon Chang "23 things they didn't tell you about capitalism". He goes on to point out that although increased efficiencies have reduced the relative contribution of manufacturing, manufacturing is still quite important to some very successful advanced economies. Japan, Switzerland, Singapore, Finland, and Sweden have the highest levels of industrial output per head of population. The same author also points out that the low tradability of services may result in service based economies having problems with their balance of payments.
Similar background: 30 years of coding - academic, commercial, COBOL, C, C++, Java, Javascript, Python,...
I've recently been looking at Java code so full of horribly complex calls to combinations of outdated horrible frameworks, that I was thinking the same thing - "We may well look back on these years of great web development as building a legacy that a lot of us spend the rest of our lives trying to reverse-engineer, fix and replace."
I was thinking that Rails or Django might at least reduce the amount of stuff to learn to get maintenance done.
Are we stuck in a general purpose 3GL+API rut? Rails, Django, HTML and SQL show that stepping beyond a general purpose language can sometimes simplify creating programs. When do we decide to cross over from API's to domain specific languages, and what does that say about the limitations of 3GL's and API's?
Twenty years ago processors were slow, but some UNIX boxes had more than one. Where this was the case, pipes and named pipes could be used to keep more than one CPU busy. Such techniques were often used to for linking troff, eqn, etc. The skill required was not much more than the ability to break a task down into large sized units that could work independently. Of course not all tasks are amenable to such an approach, but many are.
Similar experience here. After at least 10 years with Fedora and Red Hat, I've switched to OpenSUSE to get access to a stable KDE.
I'm quite used to modifying my Linux environment to get where I want to be. I did evaluate Fedora 10, but at the moment, Fedora doen't seem to be a good starting base for a KDE user. So I can see why people are switching.
Nick Bostrom asks whether we live in a computer simulation (18 November, p 38). What would that run on, then? The class of programming languages called functional languages - and their close relative Lisp - often make use of a technique called "lazy evaluation": they defer computing a result until it is actually needed.
Perhaps the developers of our simulation are using such a functional language, and the wave-particle duality is visible evidence of their choice of development tools.
This site - which I highly recommend - may describle something similar to this Mars ship:
http://www.astronautix.com/craft/marpost.htm
To quote a little from this site:
In December 2000 Leonid Gorshkov of RKK Energia proposed a manned Mars orbital expedition as an alternative to Russian participation in the International Space Station. The expedition would also provide the means for reviving Russian ascendancy in space.
The Marpost (Mars Piloted Orbital Station) spacecraft would have a total mass of 400 tonnes and be assembled in low earth orbit from components assembled in four launches of a revived Energia launch vehicle. As in the 1989 Energia Mars design, it would be powered to and from Mars by matrices of hundreds of solar-powered ion thrusters using xenon as propellant.
The DI layer is only a minor point of difference. Many developers are still using JDBC..Net is superior at the JDBC level of coding. I read somewhere that there is an effort to port hibernate to.Net. Many good open source utils such as log4j have been, or are being, ported to.Net. I've also heard that Microsoft is looking at a ORM layer. Full J2EE will take them longer - but small to medium sized systems don't need J2EE (too heavy, too complex, good J2EE developers are too rare/expensive).
Perhaps D (which isn't open source) shows how to ground a language more in the existing C world. The D language appears to offer the strengths of Java/C# rooted more firmly in a C-based environment.
FreeSWAN is a real pain to configure if you want a true VPN, with you own VPN address space, tunneling through a carrier network with a different address space. At least it was when I first tried to do this three years ago. But if the MTU is set right, FreeSWAN is extremely tolerant of bad connections. The network I helped setup had about 450 servers some connected by 8 kbit/s frame relay and others by ppp-dialup, and FreeSWAN performed wonderfully. Some servers were in rural and mountainous sites - no worries - FreeSWAN could cope. But yes, it was definitely a major pain to figure out how to configure the beast.
I had no trouble with ide-scsi in 2.6.2, only with 2.6.3. Ide-scsi will continue to be supported, but it's recommended to switch. I corresponded with the maintainer of ide-cd: it is a known problem, with a patch available from the maintainer. In my case it was easier/better to make the switch to ATAPI.
In my experience the upgrade was straight forward. But you should be comfortable with getting your hands dirty - you should understand the basics of init scripts, be comfortable with editing scripts and compiling the kernel. Using techniques such as those mentioned in the whitepaper and other sites, its straight forward to make an/etc/rc.d/rc.sysinit that could boot either 2.4 or 2.6. I based my upgrade on mainly on instructions at these links:
For RH9, prior to the upgrade I only had to get the latest devlabel and module-init-tools. It took me about 4 evenings to resolve most issues.
Was it worth it. If you're keen, probably - boot times are reduced and the system seems more responsive when under load. But for the most part - if you already have fast hardware - you might not notice the difference. A safe approach might be to wait for distro's to catch up - I have no idea how easy it's going to be to upgrade my RH 9 system to RH-Fedora now that I've changed all these things.
Here's the major things I had to do after the upgrade...
I had to stop using ide-scsi for my burner - 2.6.3 can lock up totally if I use ide-scsi. According to the ide-cd maintainer ide-scsi is on the way out. The cdrecord (v2) in RH 9 is capable of using ATAPI devices - see the man page. If you're using k3b, just point it a/dev/hd? instead of/dev/scd?.
I have es1371 on board sound. I found ALSA sound was worse than OSS - annoying clicks at the ends of sounds when transitioning to silence - might be able to fixed with tweaking pci priorities. I found it easy to stick with OSS - if fact, originally after first upgrading, OSS kept working without me doing anything (just make sure enable the OSS kernel build options as well as the ALSA ones).
Rpm has some kind of issue - threading? Using the LD_ASSUME_KERNEL environment variable fixes it. I use the following script to run it:
It's also been reported that upgrading to the latest rpm will fix it. You can also use my script to run anything that doesn't like the new threading model - for example, older versions of xine.
Getting 3D under X11 to work was a pain. In an effort to get it to work I downloaded and built the latest X11 driver. But I'm not sure this is necessary because I later found my major hurdle was that the AGP module had been split and I now need to load four modules to get it to work:
ati_agp, via_agp, amd_k7_agp, agpgart
Obviously which agp related modules to load now varies depending on your hardware. In my case this is a AMD processor, VIA mainboard, and an ATI 9200 graphics card. Here is my modprobe.conf entry:
I suspect this is all I really needed to do to get 3D running.
I had to upgrade to lm_sensors-2.8.4 to get temperature and RPM monitoring to function - and I had to reconfigure the settings to get good fan RPM readings. Ksensors needed a rebuild.
It may not even be your fault. I felt I could handle building my own system. I read many, many reviews and carefully selected a range of reasonably priced quality parts and assembled the system myself.
It turns out the mother-board had a voltage regulation problem. The system failed unpredictably for weeks. In between using the system for real work, I spent many days trying to track down the problem. The motherboard eventually fried itself and the processor. Fortunately, I bought all the parts locally from one place - www.ascent.co.nz - and they offered to try to sort the problem out. They identified the problem, and then they replaced both the motherboard and processor at no charge (pretty nice of them). By the time it was sorted, and I had restored my confidence in the stability of the machine, I had lost three months of elapsed time.
A friend assembled almost the same system as me. His CPU fan failed on the second time up sending the processor temperature to 100C - once the fan was replaced, the system still seemed to work. This is why you should consider buying a CPU boxed set that includes a heatsick and fan, this avoids any problem with the fan from causing uncovered consequential damages to the CPU.
Building it yourself can give you a buzz. But you have to be prepared to spend time and money sorting out any unexpected problems. There's a element of luck involved as to whether it goes smoothly. Also, if you buy enought parts for two machines you have more chance to try an diagnose problems by swapping parts.
A compromise is to go to a place like www.ascent.co.nz, choose the parts, and then have them build and test the unit.
IBM's low end Netfinity PC servers do a pretty good job of minimizing noise. They achive this by isolating anything that vibrates from the chassis and case.
In the Netfinity the drives are mounted using rubber grommets that isolate the drive from the bay or drive rails. If you could source the IBM 5.5" mounting rails with grommets - you might be able to use them in a standard PC. At one time I was thinking about cutting my home 3.5" drive in half and then bolting it back together using
aluminum cake-pan as a bridge - this would make it wide enough to accommodate some grommets I bought from the hardware store - but I got used to the noise and never bothered.
The Netfinity power-supply and chassis fans are mounted using rubber plugs that isolate them from the chassis. The fan mounting plugs are tapered at each end with a buffer in the middle - so you just push fit the fan and then push fit the other ends of the plugs into the chassis - the buffer stops the two from directly contacting each other. If these plugs could be
sourced, they could probably be used for mounting fans in standard PC's.
The sum total of these efforts really cut down the noise.
In both IBM and HP desktop PC's I seen models that make do with one fan in the power-supply by fitting a cowling that directs air sucked
through the power-supply over the processor heatsink.
The nuts are bolts are still important. Java framework hell is partially a result of the language's shortcomings. Clearly some languages and tools can do some jobs in hours/days when it takes days/months using others, but then seemly productive tools fall to bits when used for other kinds of jobs. There is much to look at this level, it cannot be dismissed so lightly.
It's not like the ones we have are so fantastic, the more experimentation the better.
There's no doubt that with smart phones now sub-$100, there will be a shakeout. It may be calculators and corded phones all over again. As for what nationality to buy, most of the world is now buying Asian, and much of the "Chinese crap" you write of gets reasonable reviews and appears to last the required 2 year life span.
Nokia failed to realise is that their customers were buying because they had a reliable brand with a respectable name, but that in most other respects, most of their customers considered Nokia's phones to have similar features as all the rest. They were trusted and reliable - they were an IBM, not an Apple. When they stopped making phones with similar features as all the rest, they were taking a big step into unknown territory.
If they had simply built a solid android phone, they could have retained much of their customer base and charged a premium for brand/quality. I guess they still could.
The government's economic development plans for the region is to move up market into more advanced, higher valued, manufacturing and services. Part of the plan is to is to encourage more workers rights, higher wages, increased health-care, welfare, improved education, move the workforce up market, and help force low paid manufacturing out. Lower value manufacturing is now being encouraged to move the interior regions to lift the economy and incomes there. It's all well documented and written about. It should come as no surprise that there will be some labour issues in the southern coastal regions during the transition.
They're directing and regulating competitive market forces to achieve national growth. Milton Friedman probably wouldn't approve - but it's worked so far.
I've sat in front of a Linux desktop ever since a Linux desktop became possible. As a UNIX desktop it matured long ago, but it hasn't moved very far since. The separation of kernel and desktop has always been the elephant in the room. The desktop developers are fiddling around the edges, creating a desktop for UNIX without considering that they could also create a UNIX for the desktop. Why is it that user file history and the trashcan are not implemented in the operating system so that command-line and desktop-functionality are unified? Why is it that user level file sharing is not implemented in the file system instead of being implemented in the desktop file managers? Why is it that user level desktop applications can bring the system to its knees without any chance for a user to intervene?
I guess I'm part of the problem, because like many Linux users, I'm a command line user, the shortcomings of the desktop are simply not irritating enough to make me want to do much about them (although I have tried - e.g. collectfs).
Python Matplotlib covers some of what you might be interested in and it can be used with other GUI toolkits see http://www.scipy.org/Cookbook/Matplotlib and http://matplotlib.sourceforge.net/ - at the very minimum it might provide some food for thought about the feature-set you're seeking.
Some argue this is a fallacy - manufacturing is making gains in efficiency much much faster than the service sector - this overstates the degree to which manufacturing has declined and understates its importance - from Ha-Joon Chang "23 things they didn't tell you about capitalism". He goes on to point out that although increased efficiencies have reduced the relative contribution of manufacturing, manufacturing is still quite important to some very successful advanced economies. Japan, Switzerland, Singapore, Finland, and Sweden have the highest levels of industrial output per head of population. The same author also points out that the low tradability of services may result in service based economies having problems with their balance of payments.
Similar background: 30 years of coding - academic, commercial, COBOL, C, C++, Java, Javascript, Python, ...
I've recently been looking at Java code so full of horribly complex calls to combinations of outdated horrible frameworks, that I was thinking the same thing - "We may well look back on these years of great web development as building a legacy that a lot of us spend the rest of our lives trying to reverse-engineer, fix and replace."
I was thinking that Rails or Django might at least reduce the amount of stuff to learn to get maintenance done.
Are we stuck in a general purpose 3GL+API rut? Rails, Django, HTML and SQL show that stepping beyond a general purpose language can sometimes simplify creating programs. When do we decide to cross over from API's to domain specific languages, and what does that say about the limitations of 3GL's and API's?
Twenty years ago processors were slow, but some UNIX boxes had more than one. Where this was the case, pipes and named pipes could be used to keep more than one CPU busy. Such techniques were often used to for linking troff, eqn, etc. The skill required was not much more than the ability to break a task down into large sized units that could work independently. Of course not all tasks are amenable to such an approach, but many are.
Similar experience here. After at least 10 years with Fedora and Red Hat, I've switched to OpenSUSE to get access to a stable KDE.
I'm quite used to modifying my Linux environment to get where I want to be. I did evaluate Fedora 10, but at the moment, Fedora doen't seem to be a good starting base for a KDE user. So I can see why people are switching.
From issue 2583 of New Scientist magazine, 23 December 2006, page 27
This site - which I highly recommend - may describle something similar to this Mars ship:
http://www.astronautix.com/craft/marpost.htm
To quote a little from this site:
In December 2000 Leonid Gorshkov of RKK Energia proposed a manned Mars orbital expedition as an alternative to Russian participation in the International Space Station. The expedition would also provide the means for reviving Russian ascendancy in space.
The Marpost (Mars Piloted Orbital Station) spacecraft would have a total mass of 400 tonnes and be assembled in low earth orbit from components assembled in four launches of a revived Energia launch vehicle. As in the 1989 Energia Mars design, it would be powered to and from Mars by matrices of hundreds of solar-powered ion thrusters using xenon as propellant.
www.astronautix.com has a good description of the design with a cut-a-way drawing. It's a great web site.
The DI layer is only a minor point of difference. Many developers are still using JDBC. .Net is superior at the JDBC level of coding. I read somewhere that there is an effort to port hibernate to .Net. Many good open source utils such as log4j have been, or are being, ported to .Net. I've also heard that Microsoft is looking at a ORM layer. Full J2EE will take them longer - but small to medium sized systems don't need J2EE (too heavy, too complex, good J2EE developers are too rare/expensive).
Perhaps D (which isn't open source) shows how to ground a language more in the existing C world. The D language appears to offer the strengths of Java/C# rooted more firmly in a C-based environment.
http://www.digitalmars.com/d/
FreeSWAN is a real pain to configure if you want a true VPN, with you own VPN address space, tunneling through a carrier network with a different address space. At least it was when I first tried to do this three years ago. But if the MTU is set right, FreeSWAN is extremely tolerant of bad connections. The network I helped setup had about 450 servers some connected by 8 kbit/s frame relay and others by ppp-dialup, and FreeSWAN performed wonderfully. Some servers were in rural and mountainous sites - no worries - FreeSWAN could cope. But yes, it was definitely a major pain to figure out how to configure the beast.
I had no trouble with ide-scsi in 2.6.2, only with 2.6.3. Ide-scsi will continue to be supported, but it's recommended to switch. I corresponded with the maintainer of ide-cd: it is a known problem, with a patch available from the maintainer. In my case it was easier/better to make the switch to ATAPI.
Was it worth it. If you're keen, probably - boot times are reduced and the system seems more responsive when under load. But for the most part - if you already have fast hardware - you might not notice the difference. A safe approach might be to wait for distro's to catch up - I have no idea how easy it's going to be to upgrade my RH 9 system to RH-Fedora now that I've changed all these things.
Here's the major things I had to do after the upgrade...
I had to stop using ide-scsi for my burner - 2.6.3 can lock up totally if I use ide-scsi. According to the ide-cd maintainer ide-scsi is on the way out. The cdrecord (v2) in RH 9 is capable of using ATAPI devices - see the man page. If you're using k3b, just point it a
I have es1371 on board sound. I found ALSA sound was worse than OSS - annoying clicks at the ends of sounds when transitioning to silence - might be able to fixed with tweaking pci priorities. I found it easy to stick with OSS - if fact, originally after first upgrading, OSS kept working without me doing anything (just make sure enable the OSS kernel build options as well as the ALSA ones).
Rpm has some kind of issue - threading? Using the LD_ASSUME_KERNEL environment variable fixes it. I use the following script to run it:For example:It's also been reported that upgrading to the latest rpm will fix it. You can also use my script to run anything that doesn't like the new threading model - for example, older versions of xine.
Getting 3D under X11 to work was a pain. In an effort to get it to work I downloaded and built the latest X11 driver. But I'm not sure this is necessary because I later found my major hurdle was that the AGP module had been split and I now need to load four modules to get it to work:Obviously which agp related modules to load now varies depending on your hardware. In my case this is a AMD processor, VIA mainboard, and an ATI 9200 graphics card. Here is my modprobe.conf entry:I suspect this is all I really needed to do to get 3D running.
I had to upgrade to lm_sensors-2.8.4 to get temperature and RPM monitoring to function - and I had to reconfigure the settings to get good fan RPM readings. Ksensors needed a rebuild.
It may not even be your fault. I felt I could handle building my own system. I read many, many reviews and carefully selected a range of reasonably priced quality parts and assembled the system myself.
It turns out the mother-board had a voltage regulation problem. The system failed unpredictably for weeks. In between using the system for real work, I spent many days trying to track down the problem. The motherboard eventually fried itself and the processor. Fortunately, I bought all the parts locally from one place - www.ascent.co.nz - and they offered to try to sort the problem out. They identified the problem, and then they replaced both the motherboard and processor at no charge (pretty nice of them). By the time it was sorted, and I had restored my confidence in the stability of the machine, I had lost three months of elapsed time.
A friend assembled almost the same system as me. His CPU fan failed on the second time up sending the processor temperature to 100C - once the fan was replaced, the system still seemed to work. This is why you should consider buying a CPU boxed set that includes a heatsick and fan, this avoids any problem with the fan from causing uncovered consequential damages to the CPU.
Building it yourself can give you a buzz. But you have to be prepared to spend time and money sorting out any unexpected problems. There's a element of luck involved as to whether it goes smoothly. Also, if you buy enought parts for two machines you have more chance to try an diagnose problems by swapping parts.
A compromise is to go to a place like www.ascent.co.nz, choose the parts, and then have them build and test the unit.
IBM's low end Netfinity PC servers do a pretty good job of minimizing noise. They achive this by isolating anything that vibrates from the chassis and case. In the Netfinity the drives are mounted using rubber grommets that isolate the drive from the bay or drive rails. If you could source the IBM 5.5" mounting rails with grommets - you might be able to use them in a standard PC. At one time I was thinking about cutting my home 3.5" drive in half and then bolting it back together using aluminum cake-pan as a bridge - this would make it wide enough to accommodate some grommets I bought from the hardware store - but I got used to the noise and never bothered. The Netfinity power-supply and chassis fans are mounted using rubber plugs that isolate them from the chassis. The fan mounting plugs are tapered at each end with a buffer in the middle - so you just push fit the fan and then push fit the other ends of the plugs into the chassis - the buffer stops the two from directly contacting each other. If these plugs could be sourced, they could probably be used for mounting fans in standard PC's. The sum total of these efforts really cut down the noise. In both IBM and HP desktop PC's I seen models that make do with one fan in the power-supply by fitting a cowling that directs air sucked through the power-supply over the processor heatsink.