Domain: ic.ac.uk
Stories and comments across the archive that link to ic.ac.uk.
Stories · 32
-
Oxfam Launches Music Download Service
rahaydenuk writes "The BBC reports that Oxfam is backing the Big Noise Music website, which launches on Wednesday and will offer 300,000 songs for download. 10p of the 75p or 99p charge to download the songs will go to Oxfam and the service will be available across Europe." -
Y Window System Project Started
cuppm writes "Y, Mark Thomas's final year project for his masters degree, is back in active development (outlined here). Here is the email I received: '...Y development is about to start up again. If you are interested in participating, the website is at: http://www.y-windows.org/. There are links to mailing lists there, and you can download the latest development snapshot, which should compile this time :o). I apologise if I did not respond to your email personally. I was on holiday in Japan when the story broke, and by the time I got back I had over 80 emails about the subject, many of them in depth. If you had specific points that you'd like to raise, I suggest re-raising them on the y-devel mailing list.' So for all those who think it's time for a X replacement, here's your shot. And for those X lovers, use Y's extensibility to make it X compatible." See our previous story for more background. -
Funny Things You've Seen on Resumes?
noackjr asks: "Everyone wants a great job, but writing a quality resume requires creativity and a fair bit of work (we won't go into actually having the proper skills, qualifications, or experiences -- let's not cloud the issue). Alternatively, sprucing up your resume with a few choice pieces of quasi-truth might set you apart from other 'qualified' candidates (the HR person will never figure it out, right?). A friend from college included knowledge of 'C, C+, and C++' on his resume. He had worked in C and C++ and just figured there had to be a C+ as well (too bad he didn't list C+-). He ended up getting a $50,000+/yr job with a major US tech firm using that resume. Anyone else come across funny/pathetic attempts to improve a resume?" -
Y: A Successor to the X Window System
impto writes "Whenever someone brings up the topic of replacing X, everyone always says that's nice, but where's the code? Well, Mark Thomas put his money where his mouth is and produced a replacement that maintains network transparency while adding many of the features that people desire from X such as alpha blending and a built-in toolkit. It still needs a bit of work to be as featureful as X but it's a fresh start that takes advantage of current technology and ideas. Read the paper here in PDF (1.7MB) or PS or grab the source and start hacking." -
Y: A Successor to the X Window System
impto writes "Whenever someone brings up the topic of replacing X, everyone always says that's nice, but where's the code? Well, Mark Thomas put his money where his mouth is and produced a replacement that maintains network transparency while adding many of the features that people desire from X such as alpha blending and a built-in toolkit. It still needs a bit of work to be as featureful as X but it's a fresh start that takes advantage of current technology and ideas. Read the paper here in PDF (1.7MB) or PS or grab the source and start hacking." -
Y: A Successor to the X Window System
impto writes "Whenever someone brings up the topic of replacing X, everyone always says that's nice, but where's the code? Well, Mark Thomas put his money where his mouth is and produced a replacement that maintains network transparency while adding many of the features that people desire from X such as alpha blending and a built-in toolkit. It still needs a bit of work to be as featureful as X but it's a fresh start that takes advantage of current technology and ideas. Read the paper here in PDF (1.7MB) or PS or grab the source and start hacking." -
Y: A Successor to the X Window System
impto writes "Whenever someone brings up the topic of replacing X, everyone always says that's nice, but where's the code? Well, Mark Thomas put his money where his mouth is and produced a replacement that maintains network transparency while adding many of the features that people desire from X such as alpha blending and a built-in toolkit. It still needs a bit of work to be as featureful as X but it's a fresh start that takes advantage of current technology and ideas. Read the paper here in PDF (1.7MB) or PS or grab the source and start hacking." -
Soft Processors in FPGAs?
cybergibbons asks: "We're students in the Department of Electrical and Electronic Engineering, Imperial College, and are carrying out some research for Altera into FPGAs, softcore processors, and hardware software co-design. Most embedded systems are a combination of hardware (for performance) and software (for versatility), and the design of these systems is getting more and more complex. Previously, the hardware and software was partitioned at the early stages of design, leading to sub-optimal solutions. New languages such as SystemC and Handel C aim to merge the hardware and software design with one common language combining the high level algorithm design and low level RTL design ? the ultimate goal being to allow conventional C++ programs to be synthesized directly into working systems, without any human intervention. However, what we seem to have found is a lot of marketing spiel and conceptual papers with no practical ideas. Is anyone using any of these new tools? Are any of the current co-design tools any good? Do you think a computer can partition designs effectively into hardware and software? What features would you like to see in future tools? Do you envision any amazing new applications for FPGAs using new co-design tools?" -
Gobs Of Gaming Goodies
Warrior-GS writes "The final part of the Future of PC Gaming is up at GameSpy. This one deals with the future of user-created games and talks to developers and mod makers, as well as identifying tools that can assist them. There is also a Q&A with Warren Spector on where he thinks PC gaming is headed in the next several years." John Scabadone points to a "nice article featuring an update on the state of the handheld gaming industry along with a roundtable of some of the premier developers." Read on below for several more gaming updates, too.pandrew writes "Square has openly admitted to doing something people have been asking for for many years now: a sequel! Though not what most people have asked for (i.e. Final Fantasy 7) this is still a very big step in the Final Fantasy line, since no game in the series has ever had a follow up with a connecting storyline."
k-hell writes "The Mother of All Games, Scorched Earth has been updated to allow for playing on Internet. Rendered in OpenGL, Scorched 3D now features a 3D island environment and LAN and Internet play. See screenshots here. You can download a Windows binary package and/or Windows source package here. At the same time, you should also grab the excellent server browser The All-Seeing Eye."
Lucifer writes "'Sega announced a list of new Sega AGES game titles for PlayStation 2, remakes of their classic Master System, Mega Drive/Genesis, Saturn titles. Each game will retail for 2500 yen, and the first four titles are scheduled to release in Japan in summer 2003.' 15 years later and I'm going to start playing Phantasy Star again! ;-)"
Finally, bredroll writes "Attention fellow Geeks! Ever wanted to live 100ft underground in a ex British gov't nuclear bunker for three days and do nothing but geek at extreme levels and play LAN games? Well, we can help, This year's event includes food and bunks as well,
In-Bunker Events
- Battle Royale (Robot Wars-type event)
- Underground Noise Fest (see site)
- High-speed switched LAN
- Various LAN game tournaments
- NTK will be there
- + more ....
-
Gobs Of Gaming Goodies
Warrior-GS writes "The final part of the Future of PC Gaming is up at GameSpy. This one deals with the future of user-created games and talks to developers and mod makers, as well as identifying tools that can assist them. There is also a Q&A with Warren Spector on where he thinks PC gaming is headed in the next several years." John Scabadone points to a "nice article featuring an update on the state of the handheld gaming industry along with a roundtable of some of the premier developers." Read on below for several more gaming updates, too.pandrew writes "Square has openly admitted to doing something people have been asking for for many years now: a sequel! Though not what most people have asked for (i.e. Final Fantasy 7) this is still a very big step in the Final Fantasy line, since no game in the series has ever had a follow up with a connecting storyline."
k-hell writes "The Mother of All Games, Scorched Earth has been updated to allow for playing on Internet. Rendered in OpenGL, Scorched 3D now features a 3D island environment and LAN and Internet play. See screenshots here. You can download a Windows binary package and/or Windows source package here. At the same time, you should also grab the excellent server browser The All-Seeing Eye."
Lucifer writes "'Sega announced a list of new Sega AGES game titles for PlayStation 2, remakes of their classic Master System, Mega Drive/Genesis, Saturn titles. Each game will retail for 2500 yen, and the first four titles are scheduled to release in Japan in summer 2003.' 15 years later and I'm going to start playing Phantasy Star again! ;-)"
Finally, bredroll writes "Attention fellow Geeks! Ever wanted to live 100ft underground in a ex British gov't nuclear bunker for three days and do nothing but geek at extreme levels and play LAN games? Well, we can help, This year's event includes food and bunks as well,
In-Bunker Events
- Battle Royale (Robot Wars-type event)
- Underground Noise Fest (see site)
- High-speed switched LAN
- Various LAN game tournaments
- NTK will be there
- + more ....
-
W2K and MAC OS9 Flood Root Nameservers?
wizzy writes "Irelands toplevel domain registry has a notice on Microsoft and Apple DHCP clients sending dynamic DNS updates per RFC2136. The problem is they are not sufficiently careful about where they send it if they are in RFC1918 space - usually used for behind-firewall addressing, which is where they usually are.. This is resulting in bogus updates being sent at the rate of nearly one million an hour to root nameservers, only to be rejected - as reported on the NANOG mailing list." -
A Unified Theory of Software Evolution
jso888 writes "Salon has a nice article today on Meir Lehman's work on how software evolves and is developed. Lehman's investigation of the IBM OS/360 development process became the foundation for Brooks' Law: "Adding manpower to a late software project makes it later." He is hopeful that his work will make software development less of an art and more of an engineering science." -
IEEE Computing Covers Freenet
Rayban writes: "From the Freenet Project homepage: IEEE Internet Computing has an article (pdf) entitled 'Protecting Free Expression Online with Freenet.' It provides an excellent technical introduction to the core ideas behind Freenet." -
Why Your Silverware Rusts
Judebert writes: "Watching your stainless steel silverware rust is enough to drive a geek to apoplexy. Not that you care, just that it is stainless, after all. Well, some clever Brits at the Imperial College of Science, Technology and Medicine have figured out Why Stainless Steel Corrodes and published a like-named article in Nature. Science Daily, as usual, mirrored their press release. When stainless steel goes, the results can be catastrophic. Especially considering that the stuff is used in Formula 1 engines, industrial equipment, and thousands of other places. Turns out the problem is sulfur in the steel / chromium alloy. But they've also figured out ways to fix the problem without resorting to very expensive low-sulphur steels." -
OroborOSX: XDarwin Aqua-Like Window Manager
UnanimousCoward writes: "I've just downloaded OroborOSX, "A modified Oroborus-based X11 window manager for use with XFree86 and XDarwin on Mac OS X." It's truly a wm worthy of standing side-by-side with Aqua in rootless mode. Here are some screenshots from Jonathan Tyzack (I'm too lazy to create my own, but my experience is the same). Using MacGimp under OroborOSX is awesome ..." The original Oroborus looks interesting as well; the original author has discontinued work on Oroborus, but it looks like the code has found a nice new application. -
RSI, WIMPs and Pipes; What Next?
Tetard asks: "Long live the pipe! Since the `|' was invented by Doug McIlroy in 1973, has there ever been a more effective way of reusing tools and connecting data ? The mouse is a device of the Beatles era; Rather than try and provoke nostalgia in the older ones among us, I'm asking myself, as are others: when we don't try to reinvent the wheel, or at least improve it, why must we try and copy it every time ? Xerox PARC exposed us to WIMPs and we haven't done better: some innovation, some plastic surgery -- but no "paradigm shift" -- where's the creative destruction that will take us further ? Graphical component programming is turning us into click-happy bonobos^H^H^Hchimpanzees, as we fail to find new ways to manage and connect richer data streams. My web designer friends are damaged for life because of mice, and yet we persist... Where do we go from here ? If we ever invent the graphical pipe, let if have keyboard shortcuts." Yes, you've probably seen a similar question to this run by Ask Slashdot before, but this time I'm wondering if maybe we need new input devices before the WIMP paradigm is replaced with something better. Might any of you have ideas on what form these input devices might take?For those interested, here are the previous stories that have handled this type of question:
So what it will take to break us out of the WIMP box (or prison, depending on your bias), maybe new input devices would do it, but quite frankly, I wouldn't be surprised if a 3D interface might be another route (it would possibly spark interest in designing a new input device that would work better with 3D interfaces, or maybe data-gloves could serve this purpose?). Going on a limb, maybe this guy might just be the ticket.
-
Chuck Moore Holds Forth
A little while ago you asked Forth (and now colorForth) originator Chuck Moore about his languages, the multi-core chips he's been designing, and the future of computer languages -- now he's gotten back with answers well worth reading, from how to allocate computing resources on chips and in programs, to what sort of (color) vision it takes to program effectively. Thanks, Chuck!FFP, Combinator Calculus and Parallel Forth
by BaldrsonIn his 1977 Turing Lecture, John Backus challenged computists to break free of what he called "the von Neumann bottleneck". One of the offshoots of that challenge was work on massive parallelism based on combinator calculus a branch of mathematics that is far closer to Forth's formalism than parameter list systems (which are more or less lambda calculus derivatives).
The prolific Forth afficionado Philip Koopman did some work on combinator reduction related to Forth but seems not to have followed through with implementations that realize the potential for massive parallelism that were pursued in the early 1980s by adherents of Backus's Formal Functional Programming paradigm. Given recent advances in hierarchical grammar compression algorithms, such as SEQUITUR, that are one step away from producing combinator programs as their output, and your own statements that Forth programming consists largely of compressing idiomatic sequences, it seems Backus's original challenge to create massively parallel Formal Functional Programming machines in hardware are near realization with your new chips -- lacking only some mapping of the early work on combinator reduction machines.
It is almost certainly the case you are aware of the relationship between combinator reduction machines and Forth machines -- and of Backus's challenge. What have you been doing toward the end of unifying these two branches of endeavor so that the software engineering advantages sought by Backus are actualized by Forth machines of your recent designs?
Chuck Moore: What can I say? Backus did not mention Forth in his lecture. He probably didn't know of it then. Yet Forth addresses many of his criticisms of conventional languages.
He thinks a language needs or benefits from a formal specification. I grew up worshiping Principia Mathematica 'till I learned how Goedel refuted it. The result is that I distrust formal representations. For example, the ANSII Forth standard does not describe Forth, but a language with the same name.
Yes, I am struck by the duality between Lisp and Lambda Calculus vs. Forth and postfix. But I am not impressed by the productivity of functional languages. Even as research tools, they have failed to live up to their promise. By that I mean to do something with computers that I couldn't do more easily in Forth.
I designed the memory for the c18 to occupy the same area as the processor. This means small, fast and smart. c18 can respond to a bus request by fetching from its memory, accessing off-chip or performing a calculation. The 25x avoids the von Neumann bottleneck by making up to 27 memory accesses at the same time (2 off-chip). And its multiple buses do not substitute a network bottleneck for a memory one.
Standard code will be in the ROM of each computer. How this is customized in RAM and the computers assigned tasks is left to the ingenuity of the programmer, not a compiler. Automatically generated or factored code has never impressed me. Nor has automatic place and route for circuit boards or silicon. They are both an order-of-magnitude from human performance. Because humans understand the problem, judge the results and cheat as required.
Marginalizing of the blind
by MedievalistWhen I built my first Internet node, the web did not yet exist, and one of the amazing things about the Internet was how friendly it was to the blind.
Now, with some computer experts estimating that over 50% of the Internet is incomprehensible to braille interfaces, and most computer operating systems devolving to caveman interfaces ("point at the pretty pictures and grunt") we seem to be ready to take the next step - disenfranchising the merely color-blind.
I realize that colorforth is not inherently discriminatory, in that there are a great many other languages that can be used to do the same work. The web is also not inherently discriminatory, because it does not force site designers to design pages as stupidly as, for example, Hewlett-Packard.
Would you care to comment on the situation, speaking as a tool designer? How would you feel if a talented programmer were unable to get a job due to a requirement for colored sight?
CM: I'm amazed at how effective blind programmers can be. I rely so strongly upon seeing the code that it's hard to imagine listening to it. Yet I know it can be done. Not being color-blind, it's hard to appreciate the degree of information loss. But it's less than being blind.
My goal is to develop tools that augment my abilities. If others can use them, fine. It would be foolish to lose an opportunity to explore or excel just to conform to some equalitarian philosophy. Too often our culture seeks the lowest common denominator.
20-20 vision is required for fighter pilots. I have no qualms about requiring color vision for programmers. Everyone does not need to be a programmer.
But in fact, color is merely a property of words that helps to distinguish them. As is intensity, size, font, volume and tone. I'm sure colorForth will be translated into these other representations. I, myself, will be exploring spoken colorForth. (As soon as I can decipher PC sound cards.)
Massively Parallel Computing
by PureFictionThe 25X system reminded me of IBM's Blue Gene computer, where a large number of inexpensive CPU cores are placed on a single chip.
The biggest problem in dealing with a large number of small cores lies in the programming. I.e. how do you design and code a program that can utilize a thousand cores efficiently for some kind of operation? This goes beyond multi-threading into an entirely different kind of program organization and execution.
Do you see Forth (or future extensions to Forth) as a solution to this kind of problem? Does 25X dream of scaling to the magnitude that IBM envisions for Blue Gene? Do you think massively parallel computing with inexpensive, expendable cores clustered on cheap dies will hit the desktop or power-user market, or forever be constrained to research?
CM: Forth is a massively pragmatic language: do whatever you can to solve a problem. Its strength is in the ease of violating whatever rules it has. The 25x is similarly pragmatic. I don't know how to program it yet, but I'm confident I can. It's just another level of factoring.
The parallelism provided by the 25x has a different slant from other parallel architectures. The computers are not identical. I expect many will have different ROM and different interface to the real world. This asymmetry is a powerful clue as to how applications will be factored.
A 10x10 array of 25x chips is an easy board to build. At 50 Watts, it needs as much power as a notebook. That's 2500 computers providing 6M Mips. I can't imagine programming them any other way than Forth.
The advantage of Forth in this kind of context is that it scales. Forth is the machine language, Forth is the high-level language, Forth is the task-control language, Forth is the supervisory language. Each of these has a different vocabulary, but they share syntax, compiler and programmer skills.
Back to the array of 25x chips. Each chip could be on a vertical and horizontal serial bus with 10 others. A half-duplex bus requires a computer to manage, so that accounts for 200 computers. Now whatever the application, data must be provided. Say 1GHz Ethernet. Data (and program) is received, distributed and crunched. The assignment and coding of computers follows the data flow. Results are routed back to Ethernet, or displayed or whatever. It's a nice programming problem, well within the ability of a human to organize.
Will this ever reach the mass market? I don't know.
The direction of 25x Microcomputer...
by Midnight RyderThe 25x concept looks like it could really a damned interesting idea. But one of the questions in my mind is where you want to head with it? Is this something that is to be used for very specialized research and scientific applications, or is this something that you envision for a general 'desktop' computer for normal people eventually?
Secondly, if you are considering the 25x for a desktop machine that would be accessible by people that aren't full-time geeks, what about software? Forth is a lost development art for many people (It's probably been 10 years since I even looked at any Forth code) and porting current C and C++ application would be impossible - or would it? Is there a potential way to minimize the 'pain' of completely re-writing a C++ app to colorForth for the 25x machines, which could help to speed adoption of a platform?
CM: At this stage the 25x is a solution looking for a problem. It's an infinite supply of free Mips. There's no obligation to use them all, or even very many. But they can effectively be used to eliminate hardware. To bit-bang what would otherwise need a controller. So if you want video or audio or radio or ...
The first applications will doubtless be embedded. These offer greater volume, less software and less market resistance than a general-purpose computer. I see 25x reaching the desktop as dedicated appliances rather than universal golems.
I'm not interested in recoding C applications. My experience indicates that most applications are hardware-dependent. The 25x is as large a change in the hardware environment as I can imagine. This changes the program so much it might as well be rethought and recoded. The most efficient way to do that is Forth.
Forth is a simple, interactive language. Its learning curve is steep with a long tail. You can be productive in a day/week. This depends only on how long it takes to memorize pre-existing words. Good documentation and management helps mightily. I'd rather train programmers than fight code translators.
That said, there are those who look at the mountain of existing applications and want to mine it. C to Forth translators exist and with some pre/post editing could produce code for the c18 core. How to distribute the application among 25 tiny computers would be a good thesis.
Quick question
I have often conjectured that multi-threaded processors (ie: processors that can store multiple sets of internal states, and switch between them) could be useful, as the bottleneck moves from the processor core to communications and dragging stuff out of memory.
by jd(If you could microcode the "instruction set", all the better. A parallel processor array can become an entire Object Oriented program, with each instance stored as a "thread" on a given processor. You could then run a program without ever touching main memory at all.)
I'm sure there are neater solutions, though, to the problems of how to make a parallel array useful, have it communicate efficiently, and yet not die from boredom with a hundred wait-states until RAM catches up.
What approach did you take, to solve these problems, and how do you see that approach changing as your parallel system & Forth language evolve?
CM: The 25x could implement a multi-thread application nicely indeed. Except that most applications expect more memory that a c18 core has. Whereupon memory remains the bottleneck.
It's important to choose problems and solutions that avoid using off-chip memory. Even so, with 25 computers to support, I expect that every memory cycle will be utilized. The computer controlling memory can be smart about priorities and about anticipating requirements. For example, it could guarantee enough access to support display computers.
And the nice thing about memory-mapped communication is that a computer need not be aware of its environment. It's an ordinary Forth program accessing data asynchronously. Delays are invisible, as is synchronization. Of course, due care is required to avoid lock-up loops.
These conjectures are fun. But in a year we'll have real applications to review. And a much better appreciation of the advantages and drawbacks of so many tiny computers.
Programming languages...
by Midnight RyderThis one would probably require a bit more time to answer than you probably have available, but a quick rundown would be cool: Where do you see programming languages headed -vs- where do you think they SHOULD be headed?
Java, C#, and some of the other 'newer' languages seem to be a far cry from Fourth, but are languages headed (in your opinion) in the proper direction?
CM: I've been bemused with the preoccupation of new languages with text processing. I've been accused of not providing string operators in both Forth and colorForth. Indeed, I haven't because I don't use them. Editing a file to pass on to another program never struck me as productive. That's one reason I chose pre-parsed source, to break the dependence upon strings and text processors.
Languages are evolving, as evidenced by the new ones that arise. But as with natural evolution, the process is not directed. There is no goal to approach nor any reward for approaching it. But whatever progress you might perceive, I don't. New languages seem only to propose new syntax for tired semantics.
These languages are all infix. Which is extraordinarily clumsy for anything but arithmetic expressions. And even those are comfortable only because we learned them in Algebra 101. Do you remember the learning curve?
Does everyone really think that 50 years into the computer age we have hit upon the ultimate language? As more and more C code accumulates, will it ever be replaced? Are we doomed to stumble over increasingly bloated code forever? Are we expecting computers to program themselves and thus save civilization?
I'm locked in the Forth paradigm. I see it as the ideal programming language. If it had a flaw, I'd correct it. colorForth uses pre-parsed source to speed and simplify compilation. This solves a non-problem, but it's neat and worth exploring. At least it proves I haven't gone to sleep.
What about memory protection?
by jcrFrom the web pages, I don't see any mention of access control.
Can this processor be used in a multi-user, general-purpose mode?
CM: If you had a chip, you'd physically control access to it. It doesn't make sense for another person to share your chip. He can get his own. Certainly an individual c18 has too little memory to multi-task. And I doubt 25 computers could run 25 tasks.
But the 25 computers can certainly perform more than one task. They have to share resources: communication buses, off-chip memory and interfaces. Access is negotiated by the computer in charge of the resource. There is no hardware protection. Memory protection can be provided by the access computer. But I prefer software that is correct by design.
Communication with other computers, via internal or external buses, is subject to the usual problems of scheduling, routing and authentication. Internally, at least, my goal is to minimize delay rather than attempt protection. I anticipate spectacular crashes while software is developed. (Have you ever crashed 2500 computers?)
Where is forth going?
by JanneMI learned forth early on in my programming career; it was very memory and CPU efficient, something that was important on early microcomputers. It was also a great deal of fun (though far less fun to try and understand what you wrote a week earlier...). Today, even small, cheap microcontrollers are able to run fairly sophisticated programs, and it is far easier to cross-compile stuff on a 'big' machine and just drop the compiled code onto the development board.
Forth has (in my eyes) always been about small and efficient. Today, though, embedded apps are more likely to be written in C than in forth, and the "OS as part to the language" thing isn't as compelling today as it was in the eighties. Where is forth being used today, and where do you see it going in the future?
CM: Forth is being used today as it always has been. In resource-constrained applications. I think they will always exist. I'm creating some with the tiny c18 computers in the 25x. I imagine molecular computers will be limited when they first appear.
Personally, I don't mind losing a mature market that can afford abundant resources. Such applications aren't as much fun. But Forth isn't restricted to small applications. Even with huge memories and fast processors, small, reliable programs have an advantage.
The major project cost has become software, to the dismay of managers everywhere. On-time, bug-free software is the grail. Forth doesn't guarantee it, but sure makes it easier. Will this ever be convincingly demonstrated? Will management ever value results over procedures?
The currently popular language is selected by uninformed users. The only thing in favor of such democratic choice is that it's better than any other. But why would anyone want to debug 1M lines of code instead of 10K?
What's the next Big Computational Hurdle?
by DGNow that sub-$1k computers are running in the GHz range, it seems that all the computational tasks on a common desktop system are not processor-bound.
3D, rendered-on-the-fly games get well over 30 frames per second at insanely high resolutions and levels of detail. The most bloated and poorly-written office software scrolls though huge documents and recalculates massive spreadsheets in a snap. Compiling the Linux kernel can be done in less than 5 minutes. And so on.
It seems that the limiting speed of modern computers is off the processor, in IO. What then, do you forsee coming down the pike that requires more processor power than we have today? What's the underlying goal you intend to solve with your work?
CM: Memory is cheap. I don't mind wasting memory as long as it's not full of code that has to be debugged.
Likewise, Mips are cheap. The trick is to find productive ways to waste them. A Pentium waiting for a keystroke isn't very clever.
So here's a huge pool of Mips. What can you do with them? Voice recognition comes instantly to mind. Image recognition close behind. The brain deploys substantial resources to these tasks, so I suspect a computer must.
IO is indeed a bottleneck, but not in principle. If you can't get data from the camera to the computer, combine them. Put the image recognition algorithms in the camera. Analyse, reduce, compress data at the source. Meanwhile, it helps to have multiple paths off-chip.
revolutionary
by rndWhat is the most revolutionary (i.e., it is scoffed at by those in control/power) idea in the software industry today? Explain how this idea will eventually win out and revolutionize software as we know it.
CM: Forth! But then I haven't been out looking for revolutionary ideas. I like the phrase Baldrson used above: compressing ideomatic sequences. If you do this recursively, you obtain a optimal representation. I see no way to get a more compact, clear, reliable statement of a problem/solution.
Forth clearly revolutionizes software as most know it. It could lead to efficient, reliable applications. But that won't happen. A mainstay of our economy is the employment of programmers. A winnowing by factor 100 is in no one's interest. Not the programmers, the companies, the government. To keep those programmers busy requires clumsy languages and bugs to chase.
I don't have to be glib or cynical. Those are facts of life. Society must cope with them. But I don't have to. Nor you. There are niches in which you can be creative, productive, inspired. Not everyone can be so lucky.
Forth as intermediate language
by Ed AvisMany high-level languages compile into C code, which is then compiled with gcc or whatever. Do any use Forth instead? I understand Forth is a stack-based language: doesn't that present problems when compiling for CPUs that mostly work using registers?
CM: I remember my shock at learning that Fortran compiled into Assembler, that then had to be assembled. A language that can be translated into another is clearly unnecessary. Truely different languages cannot be translated: C into Lisp.
Forth would make a fine intermediate language. But why have an intermediate language? It introduces another layer of confusion and inefficiency between the programmer and her computer. Macros were invented to support compiling directly to machine code.
Stacks are a compiler-friendly construct. Every compiler has to use one to translate infix notation to postfix. If this stack solution has to be assigned to registers, it's an extra step. Forth uses stacks explicitly and avoids the whole subject.
Register-based CPUs have more problems than just the complexity of their compilers. Their instructions must contain register addresses, which makes them longer and programs bigger. And it is rare that every register can be used in every instruction.
Moreover registers need to be optimized. After assigning system registers, performance depends on how well the remaining registers are handled. Compilers can optimize infix expressions better than humans. But such expressions are no longer the preferred means of doing arithmetic. DSPs and super-computers integrate difference equations.
Design guidelines encourage code with many subroutine calls each with only a few arguments. This is the style Forth employs. But it plays havoc with optimization, since register usage must be resolved before each call. So apart from being unnecessary and difficult, optimization has no effect on good code.
-
The Delights of Chemistry
Dan Ormsby writes: "No news on this site, just great photos of chemical phenomena along with instructions on how to perform them yourself. Don't try this at home!" -
TCP/IP Over HTTP
Nick Towers sends news of a nifty new RFC that has just come out - RFC 3093, the Firewall Enhancement Protocol, promises to reduce the hassle of setting up a firewall by tunneling any TCP/IP application over HTTP. -
Distributed Video Systems Under Linux?
Second_Derivative asks: "One of the projects that I've undertaken in our new home is installing a LAN, and in turn this has spawned a whole slew of subprojects, one of them being apparently trivial but one that I can find no existing solutions for. I have a server up in my loft which does all the usual stuff (NAT, 40Gb hard disk, etc). I've installed a WinTV (Linux BTTV compatible) card in this and wired our cable TV into it. The idea is as follows: from any computer in the house you can just connect to the server and view whatever channel you want or view a previously recorded program off the hard disk. However, despite doing plenty of searching all I could find was this which fits my needs perfectly except for one little detail: it's only a research proposal. Anyone know of a ready-made solution for this? I'm sure I'm not the only one who's after it; it needs to stream TV with some minor compression (my LAN is 100MBps) but the client also needs to be able to control the tuner and tell the server to record to disk." -
Anti-Gravity Research Confirmed
Anotherone was among a large number of people over the last few days who've written in about research that BAe seems to be funding on Project Greenglow, an anti-gravity project. -
Chemists Build an Explosive Super-Molecule
Lockle writes "A new super explosive has been invented at the University of Chicago. It's based on an existing explosive molecule called "Cubane" but it has oxygen and nitrogen bonded to it for a bigger boom. It's called Octanitrocubane. The news release can be found at Angewandte Chemie International Edition which is a German chemistry magazine (page is in English). More detailed info about Cubane, Octanitrocubane's predecessor, can be found at a site devoted to it." -
Indexing the Entire Web?
cah1 writes "BBC is carrying a story about another new search engine All The Web. The designers are planning to have the whole shooting match, all billion pages, indexed by the end of the year. " You can also read press from the company as well. I'm skeptical-they claim to be able to catch up within the first year, and keep up thereafter. But they claim to have 200 million already, so who knows? -
Mozilla M3 Release Available Now
Makali writes "Just took a quick peek at the Sunsite FTP mirror of ftp.mozilla.org and Sunsite.doc.ic.ac.uk is up and contains tarballs for several platforms. Fetch! " Downloading my copy now, now considering how badly screwed up my machine is right now, the odds of it actually running is about 1 in 12 *grin*. -
O'Reilly reponse to "Open Source" Books
Nick Towers writes "Interesting response from Tim O'Reilly about releasing books in a similar way to Open Source software" This is getting to be a hot topic these days. This is worth reading. -
Operation Desert Slash
EngrBohn writes "I ran across an (ahem) article about Operation Desert Slash which describes how Pentagon planners want to use the Slashdot Effect to disable the Iraqi defense systems in preparation for the anticipated air strikes against Iraq." All this time I thought I was just running a web site. -
Woohoo we're famous!
Jon Abbott writes "I know, this isn't the most *exciting* thing in the world, but hey it's cool. over at wombat.doc.ic.ac.uk, where they have the "Free On-line Dictionary of Computing", I've convinced them to add "slashdot effect" to the dictionary! They even bash IIS! :^) The definition can be found at: link " In humour of a somewhat different kind go here to see Microsoft's response to the Halloween documents ("The existence of these documents demonstrates the vigorous competition that exists in the OS industry.") and a gob-shot of that omnipresent Ed Muth. Thanks to Javier Alvarado for the link. -
Linux and Intel: implications?
Nick Towers wrote to tell us of an interesting editorial which outlines the risks associated with closer industry ties for the linux community and distributors: we think open, they think proprietary. Nick got this from the The Register before it was published on the main page... And you work for, Nick? -
Bounds Checking for C?
Kevin Postlewaite writes "This web page describes a modified gcc that protects against stack-smashing attacks by appending a character to return addresses that it pushes to the stack. The program then checks to make sure that the character hasn't been changed, which it must be (though possibly undetectably) in order to overwrite the return address with a buffer overflow. " You can read Some discussion here or some more here. and a project with a similiar goal, to Bounds Checking to C. " -
Adam Clark's Legendary Compression
chris harrison writes "I guess as a follow up to the discussion here, I got an email from a guy in Melbourne who will be interviewing Adam Clark and relaying it live via RealAudio. More details at link I still think he's a loon, but am willing to listen before laughing .... " I still say if it was true, it would be absolutely awesome. But that is one mighty large 'if'. -
US Reminded That Internet is International
Matthew Booth writes " this wired link has a story about proposals for new top level domains. It seems the US yet again forgot that planet earth doesn't stop at its borders." -
New Kaffe Released
Alessandro Vernet wrote in to tell us that the long awaited Kaffe is now out. You can read about it here or cut to the chase and download 0.10.0 from this FTP site.