Curious Cat Science and Egineering blog full tag cloud
Rumors of Software Engineering’s Death are Greatly Exaggerated by Steve McConnell
Related: Who Killed the Software Engineer? - Is Computer Science a Science? - What Ails India’s Software Engineers? - Federal Circuit Decides Software No Longer Patentable - A Career in Computer Programming
How We Found the Missing Memristor By R. Stanley Williams
Related: Demystifying the Memristor - Understanding Computers and the Internet - 10 Science Facts You Should Know
The chip that designs itself by Clive Davidson , 1998
By generation 220 there was some sign of improvement. The fittest circuit could produce an output that mimicked the input - wave forms that corresponded to the 1KHz or 10KHz tones - but not a steady zero or five-volt output.
By generation 650, some evolved circuits gave a steady output to one tone but not the other. It took almost another 1,000 generations to find circuits that could give approximately the right output and another 1,000 to get accurate results. However, there were still some glitches in the results and it took until generation 4,100 for these to disappear. The genetic algorithm was allowed to run for a further 1,000 generations but there were no further changes.
See Adrian Thompson’s home page (Department of Informatics, University of Sussex) for more on evolutionary electronics. Such as Scrubbing away transients and Jiggling around the permanent: Long survival of FPGA systems through evolutionary self-repair:
Related: Evolutionary Design - Invention Machine - Evo-Devo
Scale: How Large Quantities of Information Change Everything
There’s the nature of scale. Tasks that were once simple have become hard or even impossible, because they can’t be done at scale. Tasks that were once impossible have become easy because scale makes them possible. Scale changes everything.
I discussed related ideas on my Curious Cat Management Improvement blog recently: Does the Data Deluge Make the Scientific Method Obsolete?
Related: Seeing Patterns Where None Exists - Mistakes in Experimental Design and Interpretation - Optical Illusions and Other Tricks on the Brain - Data Based Decision Making at Google
We each use computers a great deal (like to write this blog and read this blog) but often have little understanding of how a computer actually works. This post gives some details on the inner workings of your computer.
What Your Computer Does While You Wait
Related: Free Harvard Online Course (MP3s) Understanding Computers and the Internet - How Computers Boot Up - The von Neumann Architecture of Computer Systems - Five Scientists Who Made the Modern World (including John von Neumann)
“This opens up a whole new door in thinking about how chips could be designed and operated,” Williams says.
Engineers could, for example, develop a new kind of computer memory that would supplement and eventually replace today’s commonly used dynamic random access memory (D-RAM). Computers using conventional D-RAM lack the ability to retain information once they are turned off. When power is restored to a D-RAM-based computer, a slow, energy-consuming “boot-up” process is necessary to retrieve data stored on a magnetic disk required to run the system.
Related: How Computers Boot Up - Nanotechnology Breakthroughs for Computer Chips - Delaying the Flow of Light on a Silicon Chip - Self-assembling Nanotechnology in Chip Manufacturing

“Jaguar is one of science’s newest and most formidable tools for advancement in science and engineering,” said Dr. Raymond L. Orbach, DOE.s Under Secretary for Science. The new capability will be added to resources available to science and engineering researchers in the USA.
80 percent of the Leadership Computing Facility resources are allocated through the United States Department of Energy’s Innovative and Novel Computational Impact on Theory and Experiment (INCITE) program, a competitively selected, peer reviewed process open to researchers from universities, industry, government and non-profit organizations. Scientists and engineers at DOE’s Oak Ridge National Laboratory are finding an increasing variety of uses for the Cray XT system. A recent report identified 10 breakthroughs in U.S. computational science during the past year. Six of the breakthroughs involved research conducted with the Jaguar supercomputer, including a first-of-its-kind simulation of combustion processes that will be used to design more efficient automobile engines. Read the computational science report. Read full press release.
ORNL’s Jaguar fastest computer for science research
Zacharia said ORNL’s Jaguar was upgraded by adding 200 Cray XT5 cabinets - loaded with AMD quadcore processors and Cray SeaStar interconnects - to the computer’s existing 84 Cray XT4 cabinets. The combined machine resulted in the new standard for computational science.
The peak operating speed is apparently just below that of Los Alamos National Laboratory’s IBM Roadrunner system, which is designed for 1.7 petaflops. But the Jaguar reportedly has triple the memory of Roadrunner and much broader research potential.
…
Because the Jaguar has come online sooner than expected, Zacharia said an alert was sent to top U.S. scientists inviting them to apply for early access to the Oak Ridge computer. Their scientific proposals will be reviewed on an accelerated timetable, he said.
The peak capability of 1.64 petaflops is attributed to 1.384 petaflops from the new Cray XT5, combined with 0.266 petaflops from the existing Cray XT4 system, Zacharia said.
How fast is a quadrillion calculations per second? “One way to understand the speed is by analogy,” Zacharia said recently. “It would take the entire population of the Earth (more than 6 billion people), each of us working a handheld calculator at the rate of one second per calculation, more than 460 years to do what Jaguar at a quadrillion can do in one day.”
Related: National Center for Computational Sciences at ORNL site on Jaguar (photo from here) - Open Science Computer Grid - Donald Knuth, Computer Scientist - Saving Fermilab - New Approach Builds Better Proteins Inside a Computer - Does the Data Deluge Make the Scientific Method Obsolete?
The Bilski Decision Is In: Buh-Bye [Most] Business Methods Patents
Buh-bye business methods patents!
Court Reverses Position on Biz Methods Patents
Related: Ex Parte Bilski: On the Briefs - Patent Policy Harming USA, and the world - Are Software Patents Evil? - Patent Gridlock is Blocking Developing Lifesaving Drugs - The Pending Problem With Patents - More Evidence of the Bad Patent System
Arithmetic Is Hard - To Get Right by Mark Sofroniou
Take multiplying integers, for example. The standard “schoolbook” long-multiplication algorithm uses n^2 multiplications to multiply two n-digit numbers. But many of these multiplications are actually redundant, and we now know clever algorithms that take n^1.58, n log n, or even fewer multiplications for large n. So this means that if one wants to do a million-digit multiplication, Mathematica can do it in a fraction of a second using these algorithms–while it would take at least a few minutes using standard long multiplication.
…
It’s not easy to get reliable numerical computation, and it’s not something one can “bolt on” after the fact. It’s something one has to build in from the beginning, as we’ve done in Mathematica for nearly 20 years.
Related: Who Killed the Software Engineer? - Sexy Math - Freeware Math Programs - 1=2: A Proof - Things You Need to be a Computer Game Programmer
| Paul Rothemund, scientist at Cal Tech, provides a interesting look at DNA folding and DNA based algorithmic self-assembly. In the talk he shows the promise ahead for using biological building blocks using DNA origami — to create tiny machines that assemble themselves from a set of instructions.
Algorithmic Self-Assembly of DNA Sierpinski Triangles, PLoS paper. I posted a few months ago about how you can participate in the protein folding, with the Protein Folding Game. Related: Viruses and What is Life - DNA Seen Through the Eyes of a Coder - Synthesizing a Genome from Scratch - Evidence of Short DNA Segment Self Assembly - Scientists discover new class of RNA |

Stanford’s “autonomous” helicopters teach themselves to fly
Very cool. Related: MIT’s Autonomous Cooperating Flying Vehicles - The sub-$1,000 UAV Project - 6 Inch Bat Plane - Kayak Robots
Technology: It’s Where the Jobs Are by Arik Hesseldahl, Business Week:
Now for the answer to the question on everyone’s mind: Where are the highest salaries? That would be Silicon Valley, where the average tech worker is paid $144,000 a year. That’s nearly double the $80,000 national average for tech jobs.
…
More than 850,000 IT jobs will be added during the 10-year period ending in 2016, which would be a rise of 24%. Add all the jobs that will replace retiring workers, and the total increase could be a tidy 1.6 million. That means one job in every 19 created over the course of the next decade will be in technology.
And while demand for tech-savvy employees is certainly multiplying, another survey, this one from the Computing Research Assn. and released in March, found a 20% drop in the number of students completing degrees in computer-related fields, and the number of students enrolling in these programs is the lowest it’s been in 10 years, as far back as the data go.
Related: Engineering Graduates Again in Great Shape - What Graduates Should Know About an IT Career - IT Employment Hits New High Again - The IT Job Market - posts on technology, science and engineering careers
If all is well the CPU starts running. In a multi-processor or multi-core system one CPU is dynamically chosen to be the bootstrap processor (BSP) that runs all of the BIOS and kernel initialization code. The remaining processors, called application processors (AP) at this point, remain halted until later on when they are explicitly activated by the kernel. Intel CPUs have been evolving over the years but they’re fully backwards compatible, so modern CPUs can behave like the original 1978 Intel 8086, which is exactly what they do after power up. In this primitive power up state the processor is in real mode with memory paging disabled. This is like ancient MS-DOS where only 1 MB of memory can be addressed and any code can write to any place in memory - there’s no notion of protection or privilege.
Related: Harvard Course on Understanding Computers and the Internet - Programming Ruby - Babbage Difference Engine In Lego
Once again engineering and computer science graduates are receiving the highest starting salaries. Previous posts: Lucrative college degrees (2006) - starting salaries for engineers (2005) - High Pay for Engineering Graduates 2007.
According to a survey, these are the top-paying majors for 2007-08 bachelor degree graduates:
$63,616 — Chemical engineering (up 6.5%)
$59,962 — Computer engineering
$59,873 — Computer science (up 14.7%)
$58,252 — Industrial/manufacturing engineering
$57,821 — Mechanical engineering (up 5.7%)
$57,999 — Aerospace/aeronautical/astronautical engineering
Source: Spring Survey, National Association of Colleges and Employers
Engineering Jobs Top U.S. Skills Shortage List
Grads’ job prospects weakening by degrees
“I’m finding jobs pulling at me left and right,” he said last week at a manufacturing industry job fair at the college. “The professors told us there’s such a demand, if you go to a job fair, you can walk out with a job.”
Vela, 35, happens to be in a field where demand remains strong, despite the uneven economy. Overall starting wages for mechanical engineering grads will be up 3.4 percent this year, with an average salary offer of $56,429, according to the National Association of Colleges and Employers. For many other college grads looking for a job at this time of year, the prospects are not as sweet.
Related: Career Center report high increase in demand for computer science graduates - IT Employment Hits New High Again - S&P 500 CEOs - Again Engineering Graduates Lead
Interview with Donald Knuth by Andrew Binstock, April 2008:
Still, I hate to duck your questions even though I also hate to offend other people’s sensibilities - given that software methodology has always been akin to religion. With the caveat that there’s no reason anybody should care about the opinions of a computer scientist/mathematician like me regarding software development, let me just say that almost everything I’ve ever heard associated with the term “extreme programming” sounds like exactly the wrong way to go…with one exception. The exception is the idea of working in teams and reading each other’s code. That idea is crucial, and it might even mask out all the terrible aspects of extreme programming that alarm me.
I also must confess to a strong bias against the fashion for reusable code. To me, “re-editable code” is much, much better than an untouchable black box or toolkit. I could go on and on about this. If you’re totally convinced that reusable code is wonderful, I probably won’t be able to sway you anyway, but you’ll never convince me that reusable code isn’t mostly a menace.
Related: Donald Knuth - Computer Scientist - Programmers at Work - Preparing Computer Science Students for Jobs - Teach Yourself Programming in Ten Years - Curious Cat Ubuntu posts
Is computer science a science?
(1) it uses the scientific method (i.e., empirical research and observation)
(2) it involves studying “fundamental principles” of the natural or physical world
(1) is, I think, a bit easier to address. I use the scientific method all the time in my work: I form hypotheses about how a particular system or algorithm should behave, develop experiments to test the hypothesis, gather data, analyze, etc. Several commenters to the first post in the series discuss the same thing. Joe, for instance, says this about his work: “One of the things I’ve noticed as a developer/engineer for the last 20 years is that I use the techniques of science all the time, only I’m not studying “nature” (be it the physics world, chemicals, biology, or people). I’m applying the disciplines and the scientific process to stuff that other people have done.” (I’ll get back to this point in a minute.)
Related: Computer Science as Science - Computer Science PhD Overview - Who Killed the Software Engineer? - Electrical Engineering vs. Computer Science
Curious Cat Science and Engineering Blog © curiouscat.com 2005-2008 powered by WordPress
USA High School Alumni