Domain: ethz.ch
Stories and comments across the archive that link to ethz.ch.
Comments · 364
-
Reminds me of Oberon...
Anyone with Oberon experience out there?? It started out as a tiled windows system only, but now they've developed an overlapping windows desktop as well. Checkout the screenshots.
Their comment on tiled display is useful: The Gadgets desktop also has a tiled display mode with two vertical tracks. In this mode a newly opened viewer automatically covers half of the largest existing viewer in the track. This is ideal for text-based work, e.g., programming or text editing. Viewers can be resized vertically and moved, but they always use the full track width. Because there are fewer degrees of freedom, it is much quicker to arrange viewers optimally. newly opened viewer automatically covers half of the largest existing viewer in the track. BTW, windows are called viewers in Oberon. -
Oberon had all this
take a look at Oberon. Wirth/Gutknecht had the same thoughts back in 1986, and i still think they were right. but still, a gui like that is not so easy to teach to the masses. looking at the all the messy blobbs and popps on a winXP or MacOSX screen, i think the trend is going the oposite way.
-
Re:The Israeli Intelligence Version
I know 99.999% of people here are uninformed about the various bombings in China by muslim extremists. Since this is about China, I'm not surprised that 99.999% of you people either wouldn't care or simply refuse to believe that the PRC is capable of being truthful. Beyond that, yes, China does have problems with muslim extremists, some possibly supported by the Taliban. A strong indication of this is the creation of the Shanghai Cooperation Organisation (SCO) with Russia, China, Kazakhstan, Kyrgyzstan, Tajikistan and Uzbekistan as members (read here and here). So, are you people still insistent that China's "full of it?"
-
As simple as possible, but no simplerAs long as people are plugging their favorite obscure OSes, the Oberon system, started by Niklaus Wirth, has had a strong though small community of users and developers since the 80s. It's a multi-platform, desktop OS emphasizing simplicity, extensibility, and low overhead (in fact, it could be used for embedded systems too, I think). The quote, attributed to Einstein, to make things as simple as possible but no simpler was Oberon's motto.
I've always thought it was a shame that Oberon didn't have the PR budget that Java did.
-
Re:They forgot to cover Sun's most essential comma
{ahem} I believe you mean... reboot -- -r
However, I'd argue that one of the most important sun commands are "eeprom" and such. If you're not spending much money, the boot prom is the main advantage of having a sun system. Of course, if you have the cash for a big system, Sun's scalability is the reason to buy. Slowaris can get really good with the SMP, and I'd love to try out those sunfire systems; unix acting like a mainframe. Oh, and lest I forget the other *really* important commands; how to soft reboot (this will pretty much update everything except the kernel - useful for hotswapping)... killer feature. Oh, and one other note, use SEPP (from the people who brought you MRTG!) or some other concurrent software control system for that java muck. You'll be much happier in the long run.
Soft reboot commands: (in /usr/sbin) drvconfig, devlinks, disks, ports, tapes, audlinks & /usr/ucb/ucblinks. -- no reboot (Take that Win2k!)
Sometimes silence is the most beautiful sound
-
ccmalloc
I went through this phase of trying to fix up the memory of all the code I'd ever written. I found ccmalloc to be the best. Its the easiest, instead of gcc -o prog prog.o you just prefix with ccmalloc eg. ccmalloc gcc -o prog prog.o. It provides a nicely formatted output log file, with configurable filtering, showing the stack trace of each unfreed leak, and also catches over/underflows, and lots of other stuff. hint: if you are using the c++ std library get g++-3 (with libstdc++-3) and #define __USE_MALLOC to disable malloc pooling. RPMs here
-
Re:JSP Garbage
-
Use oberon
A few European Universities use Oberon - it's a nice language to learn programming. More at http://www.oberon.ethz.ch
Is it really so difficult to switch between different languages? C'mon ... you are spending time at school not for learning somewhat that will become old in a decade or less (or more, it depends ;-P). I find it more important that you can learn how to build complex and correct algorithms in each situation. For example, once you've learned how to implement an AVL Tree, well ... I do not find it too difficult to implement something similar on other languages. After all, you have book for this (reference manuals of different languages, I mean). In every modern programming language you have similar structures. So, if someone wants to teach Java, or C++, or Oberon... i really don't care, it just matters that the language is modern. Bye -hornet -
Slow searching
> yet Google can search the entire web in under 1/2 a second for me?
Because google has over 4,000 !! linux boxes with custom clustering software.
http://www.ee.ethz.ch/~slist/ee-talks/msg00056.htm l
http://www.slashdot.org/articles/00/05/31/1242237. shtml
Cheers
-
Re:Crazy Like a Fox...
I wonder if the specs for DAG will be open so that code can be compiled directly to it, optimized, and then distributed, saving the first two steps in the process. I can see commercial software vendors being all over this idea.
Target CPU neutral binary formats have been around for a while. OSF has ANDF (Architecture-Neutral Distribution Format). Also check SDE (Semantic Dictionary Encoding).
A hardware neutral distribution format is not the complete solution, though. The target platform that you want to run the executable on has to provide the software environment and APIs that the executable needs.
So, it is only suitable for distributing CPU-neutral but OS/environment-dependent user-space applications. What it really does is to save you the job of recompiling an application for PPC/x86/SPARC/whatever-Linux. This would certainly make life easier for non-x86 Linux users, but it is not a general solution for making applications platform-independent.
If you want a run-anywhere solution you also need to define a runtime environment, which is exactly what Java does. -
Re:Process Info, answering my own Question.
I did find the pictures informative. I believe we have a long way to go before these are really usefull. The display may be small and efficient, but the frickin bolts they use to hold the thing on are decidedly heavy looking.
-
Acronym deciphering
-
Process Info, answering my own Question.
Dug around, found a site which has pictures of the process.
-
Re:Not more experimenting in amateur radio?This in my mind is pointless experimentation
Pointless experimentation? You admit it is an experiment. Voice-over-IP isn't something everyone uses often, and here is a non-profit low-cost effort to build a global network of linked repeaters using VoIP. Sounds interesting to me.
Yes using it isn't may not be exciting to use if you are using to using HF communications directly, but not everyone has HF privileges. It sounds quite interesting to build. It would be one of the easiest ways that an amateur with only VHF privileges can communicate world-wide, using a low-power handheld 2m or 70cm radio. Sounds like a neat experiment, and something that a new ham might find inspiring to work towards HF qualifications because of.
Using an Internet link does not always mean using a "phone line". If you checked out the site, you'd see part of their link in BC uses wireless ethernet. You could build a node that uses HF packet carring TCP/IP and VoIP. Nothing is to prevent that, and it would be compatible with other wired repeaters.
A lot of your message sounds like what was said about repeaters back in the 70s or any new digital mode from RTTY to PSK31, AMSAT, and likely about SSB[1] versus AM.
1. single sideband, suppressed carrier, uses less bandwidth than AM
-
Oberon OS
The Oberon operating system uses special clicks like in Opera for years. For example, clicking the left mouse botton while marking text with the right button deletes the marked text. The Oberon mouse has 3 buttons, and most possibilities of interclicking are actually used. This is very powerful, once your used to it.
-
Resisting Power-Outtages, Lightning, and the Cat
Running a DSL from Qwest since October 2000, and have been very pleased with it. I pay a little extra, but, last Sunday, I toasted my 675 with a CBOS update at 5:30 am, and, had a 678 replacement by 11:30 am Tuesday, courtesy of UPS as an RMA. My Hat's off to Qwest, for this. They truly came through for me.
Friday, I had a power outtage (first since I moved here). Was only about a minute and a half, but, that was enough to knock all the machines and the router off-line. So, yesterday, I headed to Fry's and picked up APC 500VA BACK-APC Back-Ups and started my planning.
I used Xfig to draft up a decent network layout and to plan my UPSes and which machines to plug into them based on power needs, and availability priorities. Then, I set out on the physical changes by starting from the left and moving right. I was able to remove 4 power strips (along with the concommitant electrical hazard and wiring mess) by using the 3 UPS-powered outlets in the APC's for the machines, and, the 3 surge-protected outlets for monitors, printers, alarm clocks, sound-card power adaptors, etc. I ran the RJ-11 phone chord through the small UPS that only has the router and the primary server to thwart electrical charges from coming through at the DeMarc.
I also made sure to take up all slack on CAT-V cables so there was little cable left dangling that might attract the cat (feline type of device) to chew on it. Trust me: this is important if you have one of these biological devices with access to the server room. Just coil them up and use twisties to secure them (the CAT-V cables; not the cat).
I use my 2nd bedroom that has a stand-alone air-conditioner in it that keeps the temperature at 78 degrees so they don't overheat. Also, don't smoke (if you do) in the room you reserve for your machines. I have one of these machines (can you guess which) in a different room with a 19" monitor that I use for all my other needs.
Lastly, I'm using Multi Router Traffic Grapher (MRTG) to keep an eye on things and check it in the morning to make sure no one's using the DSL router, but, me. A quick check on traffic usage, and, then, another check to make sure there are no machine crashes let's me start the day. Then, I start by checking mail to deal with the port-scanners, my customers, and, make my tour of the latest security news.
Linux rocks!!! www.dedserius.com -
It's All About Bandwidth...I run a very small ISP here in North Carolina, USA. We began experimenting with DSL connections last year.
Originally we were loath to try, since our backbone is priced based on usage. We assumed that if we connected a customer up at 768Kbps our usage might go up that much.
Boy were we wrong! We couldn't even see a difference on our backbone connection in spite of the additional load. After a few days running MRTG on that interface we found out why. The total usage was less than a modem would have been running full speed.
This DSL connection was to a graphic design business with 8 artists connected 24/7!
What we have discovered to be the rule is that most customers don't want bandwidth (yet, anyway!!!) they want SPEED! They don't run servers, they just want fast web page downloads.
I don't know how mulitmedia on the internet is going to change things, but so far we've found the bandwidth doesn't really go up that much. The usage is extremely bursty in nature with orders of magnitude more 0% usage than 100%.
That's why DSL is being distributed at such low costs, because most users don't cause the bandwidth to go up. The phone companies are planning on tax write-offs for the DSL equipment anyway so they aren't worried about it's cost. They just want to keep their service and bandwidth costs under control.When customers start running servers, the low-bandwidth-usage rule goes out the window and that's why they don't allow them.
If you've got $40/month DSL, you aren't paying for the amount of bandwidth you think you have. If all the DSL users suddenly started downloading service packs, they'd find out that their provider has dramatically oversubscribed their available bandwidth. But in reality that never happens. Same deal with cable modems.
If you need real bandwidth (big company, service provider, etc.) you're going to have to pay for it unless you can "get one over" on your upstream!
Good Luck!
-
Well, almost like java
... it just can compile different programming languages in virtual machine code (that is it's languange indipendent) - for example at ethz we are developing Lightning Oberon - which is a release of the Oberon language for the
.NET technology, see http://www.oberon.ethz.ch/lightning/ -steve -
some toolswell, I am usnig various tools. As of yet I haven't found one package that does it all, but a lot of small programs that make an pretty nice package. I don't know what you mean exactly with Networkmanagment/I think there a different meanings which all focus on differnet areas of networking)
Netsaint I think netsaint i very cool. I.t checks for services in various network devices therefore reporting on uptime etc.. Sends out emails if one device goes down and so on. Very configurable. Love it, also ties in nicely with Cricket(link the devices with their respective cricket pages).A reporting tool for netsaint(Impress your boss!!)here
Cricket bases on rrdtool which is written by Tobi Oetikers(the guy who wrote MRTG. If you look at the rrdtool page you see various other frontends, I just happen to like cricket. Great for graphing routers and switches(and pretty much else) through snmp(you can configure it to graph other things, for example their is a package that creates graphs of the RTA's of devices in netsaint(look at the cricket contrib page.
ntop ntop, a sniffe with a web based interfaces(and a console one) were nice for monitoring various aspects of parts the network. Check out one of the newer cvs snapshots
I haven't had time to check out OpenNMS yet. Another nice tool is ethereal, a awesome gui sniffer.
One thing that is especially great about netsaint and cricket and netsaint is the great number of 3rd party addons, which make life a lot easier -
FreshVegetables
My favorite 'NMS' program is definitely MRTG which produces many interesting graphics but may not fit your needs. But, if you have some time, you can program your own shell script that may ask your cisco switches some info
...Anyway, OpenNMS is also fine and maybe you can be interested in Extreme Happy Netflow Tool", more related to cisco and netflow.
For spanning tree info, I don't see anyhting but I don't see everything too so
...Slightly off-topic : if you want see MRTG graphics, just have a look at our Student network or the Linux box who is currently on his knees because of users (P133 - 32 Mo RAM with apache, squid, mysql,
... -
EyetrackOne shortcoming of using a mouse is in moving ones hand away from the keyboard and back. Taking information from a users gaze for cursor positioning seems to be a natural development. IBMs MAGIC is a step in the right direction but still suffers from the shortcoming mentioned above.
An alternative might be in using the head movement for the second step of the positioning. This two-step mechanism could be activated by a additional key (e.g. those ones on laptops beneath the space bar). Look here for further information about this idea.
-
My favorites
Given that you're posting around here, I'm guessing you have a Linux box handy. Here are some of my favorite sysadmin tools:
- dig - This is a more advanced tool for seeing what's going on with DNS.
- nmap - A great tool for probing your server to make sure you haven't left anything open.
- Apache Bench (ab) - This simple but effective benchmarking tool comes with the Apache server. It's great to see how your site will perform under load.
- wget - a tool for remotely getting web pages; it's very versatile -- you can even use to save a copy of your whole site, just in case.
- Ethereal - Having trouble figuring out what's going on between the browser and your server? This will capture all the packets and decode them into a nice conversation for you.
- vmstat - want to know why your server is slow? Get used to watching the vmstat numbers while it's fast, so you can see what's different when it's slow. It's raw numbers that are hard to interpret, but it's worth getting to know. Maybe this should be another Ask Slashdot question?
- Netsaint - this is my favorite automatic monitoring package. Once your site is in production, you can set this up to patrol things and make sure everything is working. That lets you get on with other stuff, knowing you'll hear about trouble pronto.
- MRTG - A tool that makes excellent long-term graphs of bandwidth use.
- IPtraf - Where MRTG gives you the broad overview, this gives you the second-by-second nitty gritty.
- perl - Last but most is Perl, a Swiss Army chainsaw of languages. If you'll be doing any web stuff, pick up a copy of Learning Perl and spend a little time with it. Once you learn the magic of regular expressions, you will never again say "that's impossible!" to a problem.
As far as non-sysadmin stuff goes, here are some of my other favorites:
- Bugzilla - this is a free and flexible bug tracking system. Highly recommended, especially for those people who don't think they need a bug tracking system. Our designers thought it was silly to start, but even they use it all the time now.
- CVS - Like bug tracking, most web sites don't think they need version control. Most web sites are wrong! CVSweb is also recommended.
- HTML Tidy - bad HTML in, good HTML out.
- WebTV Simulator - Sure, you and I don't use WebTVs, but a lot of people do. Browse your site with this to see how the other half surfs.
- VMWare - Along similar lines, VMWare is a Windows box emulator. I use it to keep a bunch of synthetic windows machines with a variety of OS versions and browser versions. It makes QA much easier.
And if there are particular tasks that have you stumped, come back and ask again. 'Round these parts, we have big toolboxes.
-
Re:been there, done thatright, it's been there. we had a real OS booting in your browser back in 1997. here's the link: Topsy on MIPS sim in your browser.
our approach was different: we put a virtual MIPS R3000 machine on top of the java VM, so it runs any OS that has support for the MIPS.
George
-
another example for quake in architecture schools
Another example for the use of Quake in architecture is the project Level5 / Next Level a seminary week held at the Swiss Federal Institute of Polytechnics (ETH) Department of Architecture at the Chair of Architecture & CAAD by Prof. Maia Engeli in November 1999. Students where creating Architectural Quake levels in a one-week crash course seminary.
-
another example for quake in architecture schools
Another example for the use of Quake in architecture is the project Level5 / Next Level a seminary week held at the Swiss Federal Institute of Polytechnics (ETH) Department of Architecture at the Chair of Architecture & CAAD by Prof. Maia Engeli in November 1999. Students where creating Architectural Quake levels in a one-week crash course seminary.
-
another example for quake in architecture schools
Another example for the use of Quake in architecture is the project Level5 / Next Level a seminary week held at the Swiss Federal Institute of Polytechnics (ETH) Department of Architecture at the Chair of Architecture & CAAD by Prof. Maia Engeli in November 1999. Students where creating Architectural Quake levels in a one-week crash course seminary.
-
another example for quake in architecture schools
Another example for the use of Quake in architecture is the project Level5 / Next Level a seminary week held at the Swiss Federal Institute of Polytechnics (ETH) Department of Architecture at the Chair of Architecture & CAAD by Prof. Maia Engeli in November 1999. Students where creating Architectural Quake levels in a one-week crash course seminary.
-
Re:good in a way, bad in a way
Try programming an operating system in anything besides C or a derivative. It's not going to happen unless your willing to handcode assembly language.
Try Oberon. C isn't the only game in town. Usable, commercial OSs have been written in all sorts of strange languages, including LISP, PL/1, and ALGOL68.
I'm willing to put up with C's funky syntax and radical lack of safety when I am working "on the metal" or when I need the absolute maximum speed. Any other time, it's a pain in the arse.
Also, the number of applications that really need the speed is a *lot* smaller than most people think. I've seen major programming efforts for things like Web applications burn a vast amount of programmer time doing CGI scripts in C/C++ instead of Perl because "it has to be fast". Difference to the user turns out to be unmeasurable, due to Net and database delays. -
NTOP and MRTG
Here we use two Linux based systems to monitor traffic, NTOP and MRTG
NTOP stands for Network TOP and displays usage broken down by machine and protocol. I have successfully implemented this on RedHat 5.1 running on a 486 with 6 meg of RAM and a 500 meg HDD. I install the NTOP servers between the LAN and the router, connected to a hub where they can look at the traffic. Check out http://www.ntop.org for screenshots, etc.
MRTG is the Multi-Router Traffic Grapher. MRTG interrogates devices such as routers, switches and servers by using SNMP, and displays the results for a day, week, month and year on a webpage. For MRTG you need a slightly more meaty machine - I'm currently monitoring 12 sites every five minutes, using a P133 with 32M of RAM and a 1Gig HDD. (Mandrake 6.1 for this one). Site for this one is http://ee-staff.ethz.ch /~o etiker/webtools/mrtg/mrtg.html
I don't know if the above will be of any use - I think you'll have more luck with MRTG.
Good luck!
Matt (matt_brunton@hotmail.com) -
Re:Be sceptical of computational chemistryI think there are good reasons to believe that a reasonable description of protein dynamics is possible without quantum calculations.
Proteins are built up out of twenty standard amino acids, and it turns out that if you can make a model which describes the behaviour of individual amino acids well (with reference to quantum calculations, or experimental data), then you can describe their collective behaviour in proteins quite well too.
The Amber, CHARMM, and GROMOS parameter sets for doing this are quite refined, and simulations using these parameters appear to agree pretty well with reality.
The big problem is that, as the project pages mention, computer simulations of proteins have only recently hit the 1 microsecond range. What they don't tell you is that many common-or-garden proteins fold on a millisecond, second, or longer timescale. That's a factor of a million you have to brute-force your way through. A simulation also deals with one protein molecule at a time, while nature tends to fold a couple of billion of them at once, so it doesn't matter if a few don't quite make it to the correct fold in a reasonable time.
-
Umm, what new breed?
Alastair Reynolds is one of the breed of science fiction writers who is also a professional scientist.
This is hardly a "new breed", try for instance, Stephen Baxter who has a PhD in mathematics and whose Xeelee sequence contains some of the most epic ideas in all of SF (neutron stars as weapons? engineered singularities a billion light years wide?). Or check out Greg Egan's homepage, which has some of his fiction and a load of Java applets which he has programmed.
Seriously, there are a lot of tecnically accomplished science-fiction writers out there today who really do know what they're talking about. The two above are IMHO the best, but they're far from the only ones...
-
Re:Early C historyModula is fully capable of support systems programming: you can write OSes, drivers, whatever. In that regard, it is as powerful as C. Unlike C, it has an excellent syntax and superlative large-project structures. You haven't experienced wonderful programming until you've experienced interface modules that are kept completely seperate from the corresponding code modules.
Having actually written the entire I/O system, all the device drivers, and a file system for a secure operating system in the original Modula I, I'm not as impressed with it. Neither was Wirth. When he spoke on Modula II, he referred to Modula I as an unsuccessful experiment.Modula II wasn't bad. I did a fair amount of embedded-system programming in Modula II, and it really was what you needed when you had to make a EPROM to run the program and had very limited debugging tools. Most of the time, if the program compiled, it ran properly. This is the real advantage of restrictive languages - a higher percentage of the bugs are caught at compile time.
Modula III, the first object-oriented member of the family, never really caught on outside of DEC's old Palo Alto research operations. A free compiler is available for both NT and Linux, but it's not really maintained. Compaq has stopped all work in that area.
Oberon is an OS and language, combined. I don't know enough about it to provide any greater detail.
You're not missing much. Oberon's idea of a user interface is, well, painful. Again, there are free Linux and NT versions, so you can download and try it.One always wonders how it would have turned out if the Stanford CS department hadn't denied Wirth tenure.
-
Re:Early C history
Oberon is an OS and language, combined. I don't know enough about it to provide any greater detail.
Okay, let's see. First of all, it's available for download here, if memory serves me right. It runs as an application under Windows, Mac OS and Linux, as well as natively on PCs and on the ETH's own architecture.
For those who haven't programmed in Modula: it feels quite a bit like Pascal. But in a good way. It's high(er)-level, safe(r), "really" OO - all those things that C/C++ isn't. It's a joy for programming big systems, although a bit cumbersome for small ones - you do find yourself wishing you were using Perl. The OS itself is quite different from anything I'd ever used before, both its UI (not window-based, rather more reasonable, and I suppose it'd be easier to learn for a newbie, but I'm addicted to this damned WIMP paradigm, so I had a hard time with it) and its guts (it's a truly open system; everything is a module, written in the same language, communicating directly through the language primitives - no need for dumb-ass IPC, marshaling or "lowest common denominator" file formats; it reminds me a bit of Symbolics' Genera OS that ran on Lisp Machines).
I can't really say much more about it, but I do recommend that the reader downloads it and tries it out for himself.
-
Re:French roots of Pascal?
Swiss roots, actually. Pascal was created by Niklaus Wirth of the University of Zurich. (He also created Module II, a language that unfortunately got trampled in the stampede towards OOP.
-
Programming Contests
ACM has a intercollegiate programming contest each year; here's an archive of old problems: Problem Set Archives. Granted that the question is for high school students, but there are still problems easy enough for high school students to do. You could also tweak some of the problems to make the easier. To do the problems, you could either assign them as homework, or better yet, you could run a mock tournament. Make teams of 3 students with one terminal per team and give them a few problems to do. This probably wouldn't work in a single class period, but I think it's fun as a weekend activity. Also, if you look around, some of the colleges nearby might run a programming contest for high schoolers. I know that those of us who go to the ACM programming contest from Miami University of Ohio, also host a contest for high schoolers each spring.
-
Re:Some replies
Can I ask why text files with XML structure are not good enough?
Because it just pushes the burden of structure interpretation up to the application programmer. Ideally, when you're programming in a high-level language, you should be able to handle any objects in the system through a consistent set of primitives; the actual representation of your data on the computer should be implicit and left for the system to decide, unless the programmer himself specifies otherwise.
I see no reason why the Unix security model in particular cannot be extended to support safe, shared control of user applications.
The reason is that the Unix model (like most others today) is based on a "stupid" executive which, essentially, just goes around giving control to any piece of binary data which is tagged as "executable" and has the right headers (a.out or ELF). The web site for ETH Oberon goes into significant detail about an alternative executive model which is much smarter.
I think Sun calls that Java. :-)
Well, all of Java's essential flaws aside (and Ghod knows there are plenty of those :), I dare claim that an OS based on a Java VM would be far superior in all the aspects discussed here to our current crop of C/C++-based ones. (I'm not sure whether the JOS project for a Java-based OS is still going on... they seemed to have the right idea, kind of.)
??? Please elaborate.
You obviously weren't here the last time Slashdot had a "X sucks/X rocks" flamewar :) If you're interested, you can check the archives for the last two weeks or so. (Evidently, I stand on the "X sucks" side :)
After all, you can try all the variations you want, but you always end up with a flat cylinder for the wheel.
But that's already assuming that the software you started out to imitate is comparable to the wheel. Maybe it's not; maybe it's comparable to those squareish rock wheels you see on "The Flintstones" :)
And it's why we still use X11 and the WIMP model. They work well.
Well, "works well" is subject to discussion. IMAO, "works just barely well enough and it'd be a damned shame to start all over" is more fitting. And what you call "pragmatic", other people call "worse is better". (Then again, this kind of philosophy, "if it works, however barely, don't fix it", seems oddly fitting for a man who recently claimed that systems research was over. Again IMAO, that's akin to (Lord Kelvin's?) claim in the 1890s (less than two decades before Special Relativity and Bohr's atom) that essentially all of physics had been figured out, or to Hilbert's call in the 1900s (three decades before Gödel's Incompleteness Theorem) for a mechanic universal theorem decider.)
As for your comments regarding UIs (i.e., the part of the discussion which is actually on-topic :), I really think you should take a look at the unorthodox projects I mentioned in some other post. A look at Tunes' User Interfaces Review page should also prove interesting.
-
Re:Some things
Sure thing. Here's Squeak; it's an all-in-one high-level OS, virtual machine and user interface based on a Smalltalk variant. Also interesting is ETH Oberon, another high-level OS based on the Son-of-Modula of the same name. Both sites have screenshots; both systems can run as applications on top of most popular OSs.
-
Re:Paridigmns for a new OS?
Or how about this...the GUI is the text. Multiple windows of text ala an Xterm, clicking on the word disk0 or some such thing would open up another window showing you the contents of the disk0 object.
If I understand your point, I think you might be interested in Oberon. This is an OS designed by Niklaus Wirth back in the early 90s. I quote:
Every piece of text is a mouse clickable object. If you type in disk0 it becomes a mouse clickable object which links to the contents of disk0.The system is completely modular and all parts of it are dynamically loaded on-demand. Persistent object and rich text support is built into the kernel. Clickable commands embedded in "tool" texts are used as a transparent, modeless, highly customizable and low-overhead user interface, which minimizes non-visible state information. Mouse "interclicks" enable fast text editing. An efficient multitasking model is supported in a single-process by using short-running commands and cooperative background task handlers. The basic system is small - it fits on one 1.44Mb installation diskette, including the compiler and TCP/IP networking. It is freely downloadable (with source code) for non-commercial use.
They've got a version up for Linux, as well as a "Native PC" one. Doesn't require a hell of a lot of hardware (e.g. a 486DX is okay). -
OberonProject Oberon (started in 1985!), and the Oberon system, especially, Oberon V4 is a very different GUI than the usual Mac/Win/Xish thing. Plan 9's UI 8.5 is based on it somewhat, as is Wily.
Just for starters, Oberon V4 has:
- no overlapping windows
- chorded mouse actions
- no menus, or
..., all text is a menu - There is no concept of "shell"
- There are no interactive programs, all commands complete without user interaction
- The user interacts with documents, not programs.
- All commands can be applied to almost any document
- Commands are subroutines loaded into the system.
You can find our more at: http://www.oberon.ethz.ch
There are lots of downloadable verions too:- Linux version of V4: http://sport1.uibk.ac.at/tanis/oberon.linux.html
- Native PC (bare hardware) version of System 3: http://www.oberon.ethz.ch/native/
Check it out.-dg (dg@suse.com)
-
OberonProject Oberon (started in 1985!), and the Oberon system, especially, Oberon V4 is a very different GUI than the usual Mac/Win/Xish thing. Plan 9's UI 8.5 is based on it somewhat, as is Wily.
Just for starters, Oberon V4 has:
- no overlapping windows
- chorded mouse actions
- no menus, or
..., all text is a menu - There is no concept of "shell"
- There are no interactive programs, all commands complete without user interaction
- The user interacts with documents, not programs.
- All commands can be applied to almost any document
- Commands are subroutines loaded into the system.
You can find our more at: http://www.oberon.ethz.ch
There are lots of downloadable verions too:- Linux version of V4: http://sport1.uibk.ac.at/tanis/oberon.linux.html
- Native PC (bare hardware) version of System 3: http://www.oberon.ethz.ch/native/
Check it out.-dg (dg@suse.com)
-
Some referencesOff the top of my head...
- Squeak, a Smalltalk-based language/OS/IDE/VM developed by Disney. Specifically, try to find stuff about Morphic there; it was born in Self, a prototype-based (classless) relative of Smalltalk, but it's been adopted officially as Squeak's UI system. It's pretty innovative, taking the approach of representing all objects graphically on screen through the notion of "morphs".
- ETH Oberon, another integrated language/OS hybrid, with a very different UI with some interesting ideas.
- Gentner and Nielsen's amazing article The Anti-Mac, which, by starting out with the goal of violating all the reasoning behind Apple's Human Interface Design Guidelines, ends up with a very interesting - and very implementable in the near future - UI design for high-performance workstations.
So, no, GUI research ain't dead. ("It's pining for the fjords." :))
- Squeak, a Smalltalk-based language/OS/IDE/VM developed by Disney. Specifically, try to find stuff about Morphic there; it was born in Self, a prototype-based (classless) relative of Smalltalk, but it's been adopted officially as Squeak's UI system. It's pretty innovative, taking the approach of representing all objects graphically on screen through the notion of "morphs".
-
original article
Check out the original article, in the letters to nature section. Rodney Douglas' web adress www.ini.unizh.ch/~rjd/
Enjoy
Jan-Jan -
Re: Big Brother -- I Second MRTG
My company spent over $75,000 on OpenView plus training. Within two years we dropped it in favor of MRTG
.MRTG is one of the most flexiable, easy to use (not so easy to setup) monitoring tools around. It doesn't do notification but that's what Big Brother is for.
I give the combination two thumbs up.
InitZero
-
If you want to rewrite, pick better...C++ and Java are the "obvious" choices, even to illiterate Pointy-Haired Bosses, but unfortunately have a need for considerable runtime systems, particularly Java. A JVM requires a memory manager, which leaves you having to lift yourself by your own bootstraps if you write the JVM in Java, and thereby require a JVM and a memory manager, which leaves you recursing infinitely...
More reasonable alternatives would include:
- Modula-3 , in which is written Spin.
- Or perhaps Oberon, which has been used to construct several OS-like environments.
- Or perhaps even Eiffel, whose Design By Contract approach makes claims that C++ can provide anything describable as rock solid look very silly.
- Based on the number of language compilers being built using ML, I'd think it to perhaps be a candidate. The ability to do heavy-duty static type inference would, not unlike with Eiffel, make claims of C++ being "rock solid" look pretty sad.
Yes, these languages don't have syntax that slavishly resembles C. But it's not as if the actual semantics of C++ or Java are actually that much like C...
-
ReferancesAdamic and Huberman (1) 99. L. Adamic and B. Huberman. The nature of markets on the World Wide Web, Xerox PARC Technical Report, 1999.
Adamic and Huberman (2) 99. L. Adamic and B. Huberman. Scaling behavior on the World Wide Web, Technical comment on Barabasi and Albert 99.
Aiello, Chung, and Lu 00. W. Aiello, F. Chung and L. Lu. A random graph model for massive graphs, ACM Symposium on the Theory and Computing 2000.
Albert, Jeong, and Barabasi 99. R. Albert, H. Jeong, and A.-L. Barabasi. Diameter of the World Wide Web, Nature 401:130-131, Sep 1999.
Barabasi and Albert 99. A. Barabasi and R. Albert. Emergence of scaling in random networks, Science, 286(509), 1999.
Barford et. al. 99. P. Barford, A. Bestavros, A. Bradley, and M. E. Crovella. Changes in Web client access patterns: Characteristics and caching implications, in World Wide Web, Special Issue on Characterization and Performance Evaluation, 2:15-28, 1999.
Bharat et. al. 98. K. Bharat, A. Broder, M. Henzinger, P. Kumar, and S. Venkatasubramanian. The connectivity server: fast access to linkage information on the web, Proc. 7th WWW, 1998.
Bharat and Henzinger 98. K. Bharat, and M. Henzinger. Improved algorithms for topic distillation in hyperlinked environments, Proc. 21st SIGIR, 1998.
Brin and Page 98. S. Brin, and L. Page. The anatomy of a large scale hypertextual web search engine, Proc. 7th WWW, 1998.
Butafogo and Schniederman 91. R. A. Butafogo and B. Schneiderman. Identifying aggregates in hypertext structures, Proc. 3rd ACM Conference on Hypertext, 1991.
Carriere and Kazman 97. J. Carriere, and R. Kazman. WebQuery: Searching and visualizing the Web through connectivity , Proc. 6th WWW, 1997.
Chakrabarti et. al. (1) 98. S. Chakrabarti, B. Dom, D. Gibson, J. Kleinberg, P. Raghavan, and S. Rajagopalan. Automatic resource compilation by analyzing hyperlink structure and associated text, Proc. 7th WWW, 1998.
Chakrabarti et. al. (2) 98. S. Chakrabarti, B. Dom, D. Gibson, S. Ravi Kumar, P. Raghavan, S. Rajagopalan, and A. Tomkins. Experiments in topic distillation, Proc. ACM SIGIR workshop on Hypertext Information Retrieval on the Web, 1998.
Chakrabarti, Gibson, and McCurley 99. S. Chakrabarti, D. Gibson, and K. McCurley.Surfing the Web backwards, Proc. 8th WWW, 1999.
Cho and Garcia-Molina 2000 J. Cho, H. Garcia-Molina Synchronizing a database to Improve Freshness . To appear in 2000 ACM International Conference on Management of Data (SIGMOD), May 2000.
Faloutsos, Faloutsos, and Faloutsos 99. M. Faloutsos, P. Faloutsos, and C. Faloutsos. On power law relationships of the internet topology, ACM SIGCOMM, 1999.
Glassman 94. S. Glassman. A caching relay for the world wide web , Proc. 1st WWW, 1994.
Harary 75. F. Harary. Graph Theory, Addison Wesley, 1975.Huberman et. al. 98. B. Huberman, P. Pirolli, J. Pitkow, and R. Lukose. Strong regularities in World Wide Web surfing, Science, 280:95-97, 1998.
Kleinberg 98. J. Kleinberg. Authoritative sources in a hyperlinked environment, Proc. 9th ACM-SIAM SODA, 1998.
Kumar et. al. (1) 99. R. Kumar, P. Raghavan, S. Rajagopalan, and A. Tomkins. Trawling the Web for cyber communities, Proc. 8th WWW , Apr 1999.
Kumar et. al. (2) 99. R. Kumar, P. Raghavan, S. Rajagopalan, and A. Tomkins. Extracting large scale knowledge bases from the Web, Proc. VLDB, Jul 1999.
Lukose and Huberman 98. R. M. Lukose and B. Huberman. Surfing as a real option, Proc. 1st International Conference on Information and Computation Economies, 1998.
Martindale and Konopka 96. C. Martindale and A K Konopka. Oligonucleotide frequencies in DNA follow a Yule distribution, Computer & Chemistry, 20(1):35-38, 1996.
Mendelzon, Mihaila, and Milo 97. A. Mendelzon, G. Mihaila, and T. Milo. Querying the World Wide Web, Journal of Digital Libraries 1(1), pp. 68-88, 1997.
Mendelzon and Wood 95. A. Mendelzon and P. Wood. Finding regular simple paths in graph databases, SIAM J. Comp. 24(6):1235-1258, 1995.
Pareto 1897. V Pareto. Cours d'economie politique, Rouge, Lausanne et Paris, 1897.
Pirolli, Pitkow, and Rao 96. P. Pirolli, J. Pitkow, and R. Rao. Silk from a sow's ear: Extracting usable structures from the Web , Proc. ACM SIGCHI, 1996.
Pitkow and Pirolli 97. J. Pitkow and P. Pirolli. Life, death, and lawfulness on the electronic frontier, Proc. ACM SIGCHI, 1997.
Simon 55. H.A. Simon. On a class of stew distribution functions, Biometrika, 42:425-440, 1955.
White and McCain 89. H.D. White and K.W. McCain, Bibliometrics, in: Ann. Rev. Info. Sci. and Technology, Elsevier, 1989, pp. 119-186.
Yule 44. G.U. Yule. Statistical Study of Literary Vocabulary, Cambridge University Press, 1944.
Zipf 49. G.K. Zipf. Human Behavior and the Principle of Least Effort, Addison-Wesley, 1949.
___ -
as a new user of linux
I'm offering this up as an example of an open-source project which has achieved documentation!
Let me give an example of an open-source project which has fairly good documetation. The R language has documentation which you can check out on the web here I think that good doc's means run-able examples, reasonably organized information, with cross-referencing, and source code. The R language has that, mostly. Its documentation makes linux doc's look pretty shabby. I think that one reason for this is that most of the contributions are by Ph.D. statisticians, who are accustomed to technical writing. Another reason is that documentation is a standard part of an R package: if you want to make a contribution, you document it.
Hope this helps. -
"haven't seen much UI innovation recently"
but I haven't seen much UI innovation recently
That's because you didn't go look for it.
Morphic
Native Oberon
Bricks
Merlin
Photon
There's more... -
Re:use topsy or something similarI might add the URL to the Topsy home page here
the cool part for teaching is its highly modular structure. For example, you can plug-in a scheduler by defining 4 functions.
Or, the hardware abstraction layer (HAL) may be replaced for porting. The original HAL was written for MIPS R2000/R3000 processors and is quite small. Alternative HALs exist for R4000, i386, m68k and it even has a Solaris HAL to run it inside a Unix process...
For teaching I'd strongly recommend to use something simple like MIPS or ARM as a basis.
-
here are the links
It's not complete, and it's not meant to be.
Maybe this will help make it more so: homepages for some of the software you discuss.
- OpenSSH - http://www.openssh.com/
- [Commercial] SSH - http://www.ssh.com/
- Kerberos Network Authentication - http://web.mit.edu/kerberos/www/
- ENskip - http://www.tik.ee.ethz.ch/~skip/
- Linux FreeS/WAN - http://www.xs4all.nl/~freeswan/
Anyone interested in the software mentioned above, or even just general UNIX security, would do good do take a gander at OpenBSD (http://www.openbsd.org). It's based on 4.4 BSD, like most of the Freenixes, and is designed with security foremost in mind. Think of it as FreeBSD after reading "1984".
;-)It comes with OpenSSH. And Kerberos.
Ooh, and also... stickers! Put them on your box, and maybe the MiBs that break into your house while you're at work won't even bother trying to crack yer system.
Remember: paranoia is good. Anyone with doubts regarding the truth of that statement should check out the Echelon links that have been appearing here lately.
Ciao.
I am the Lord.
-
Re:Government Interferance?I make a PhD at ETHZ on this field. I don't think the NSA is worried about holographic storage, because it is still in research stage (what you have on the optical table is worth 100,000$) and because the storage densities won't be much higher than in HDs or in CD like media.
But one thing you can do very efficiently with photorefractive crystals is comparing images (at some Terabit/s). This is because to calculate the correlation of two images (which tells you if two images are similar or where a smaller image is located in an image) you need fourier transform the images. Optically you can do a Fourier transformation very efficiently simply with a lens (in 10^-10 s = 100 ps): at the focus of the lens you have the Fourier transformation of the image and the time you need is just the time the light has to cover the distance of a few centimeters. A good image comparing system can be useful for military applications (guided missiles), security checking (fingerprints, face and voice recognition), person tracking, internet traffic filtering,... All dreams for the NSA, horror for me!