Domain: stanford.edu
Stories and comments across the archive that link to stanford.edu.
Comments · 4,853
-
certifying sw as secure, and BUG FREEIt should be obvious that certifying software as being secure must include certifying that that software does not contain any bugs. For anyone who thinks that this is easy, remember that Donald Knuth once said... ``Beware of bugs in the above code; I have only proved it correct, not tried it.'' It may be possible to assure oneself that small sections of code do one thing only, but for complete systems it is impossible.
Then, of course, there's the whole question of certifying that the way in which the software (or hardware, for that matter) is used is certifiably secure. Again, nobody can guarantee that lapses aren't possible.
Bruce Schneier has been saying recently that he's come to the conclusion that (paraphrasing) certification isn't the answer to computer security; if you want to feel secure (and protect your business in the case that there are lapses), then get insurance instead. Manage your risks, in other words, rather than placing blind trust in a particular technology or a paper certificate.
-
Re:While we're dreaming. . .
-
Don't use hard drivesBurn it onto an EEPROM. Of course, you'd need one of those tiny matchbox webservers, and house the whole thing inside a steel box.
Seems like it would be better to keep the Linux box on the sidelines, though.
-
Re:This is what we wanted, right?They are trying to make music available online, and to make it secure.
They're also doing it in a way that is contrary to a few laws:
- Copyright's Fair Use clause (eg. one backup copy, use a short snippet for research/study).
- Contitution's "exclusive right to their works for a limited time" (eg. if a piece of music is released only in SDMI, what happens to it when it's supposed to go into the public domain?)
-- -
You guys forgot a link....
Englebart's Unfinished Vision.
This man is truly a god and it just pisses me off thinking that some other clown gets all the attention because he can use his great marketing clout to rip off the public.
What sad times are these.
Vote Nader -
..but why?
Honestly, I don't get it. This would more than double the price of my Visor, when I could just spend $115 on the MPTrip that plays 'em off a CD-R/RW.
Sure, I could pretend to be working while I rearrange songs on a playlist, but for the money, I could get the MPTrip and, say, a cheap GPS receiver or something, heh. It just doesn't seem cost-effective, even compared to the other flash-based players.
-
Re:Why?
>...affordable player that can handle cds...
These do exist, and IMHO, they rock. The MPTrip, for example, plays 'em off of a cd-r/cd-rw and costs only $115.
-
This is a rather optimistic view...naive?On Saturday there was that link to Macintosh history, and from there, there was a link to this, which espouses a rather pessimistic view of the future... it had me questioning what is the point of it all. The author makes the point that in the 60's there were two opposing viewpoints - the belief that redemption will be found by returning to our natural state, and the opposite idea that technology is going to be our salvation - that the only path is forward, pressing on through the grimy industrial tunnel and hoping that there is a light at the other end. Or perhaps a third viewpoint would be an uneasy synthesis of the two - that after technology has eliminated all our drudgeries, we will be enabled to return to nature while still benefitting from the technology. That's pretty much the Star Trek philosophy. Seems kindof naive though doesn't it?
On the one hand, there is no point in trying to go back in time and live simpler lives. Any attempt to go backwards instead of forwards is doomed. But on the other hand, to go forwards in the same way we are currently doing will lead to more of the same problems - more environmental pollution, more overpopulation, depletion of natural resources, excessive use of artifical energy sources, and more exploitation. If present trends continue we will find ourselves in Neil Stephenson's world, more or less. But there doesn't seem to be any other choice either; the momentum will play out and either we will find our salvation afterall, or life will suck.
So for these guys (Rees-Mogg and Davidson) to say that somehow we're going to achieve further liberation, seems naive to me too. Nature abhors a vacuum. All of history is occupied by power struggles. Even the animals have them. If we can achieve a temporary state of complete freedom, then out of the ensuing chaos, some kind of power base will emerge. If it's not the government, as Stephenson would surmise, it'll probably be the big corporations (or organized crime... is there really a difference?). I hope that some kind of positive outcome is achieved, but I fear that it won't; we're just exchanging masters and maintaining the same old enslavement. As Roszak theorized (in the article I linked to at the top of this), the "information society" enables the big evil organizations (corporations, the military and other snoops) even more than it enables the individual. Can we keep up with the threats? Will it be possible for the state-of-the-art encryption techniques to outpace the ability of the snoops to crack them? Or will the state-of-the-art continue to be effectively illegal? Will our abilities to colonize space ultimately outstrip our reproductive rates? Only time will tell.
Meanwhile strangely enough it doesn't make me want to be a geek any less than I did before. I must still have a little hope left that technology will save us after all. Or at least, out of habit, I would think that my life was meaningless without doing something to advance the state of the art. Even if I'm ultimately building my own shackles, I don't know what else I could do that would have any long-term meaning.
-
Re:the imac in 1981?
The early Apple designers were aware of the wide area systems that were in place, such as the ARPANet, the question was how to develop applications on top of it. They even had the concept of POPs and ISPs down (calling them "A Nodes").
Where the disconnect happened was later on, when Apple's managers chose to build a proprietary network system and actively discourage connections to other systems. Wired 5.11 had a big expose of how Apple basically told corporate MIS to go to hell when people were requesting hetrogenius networking for the Mac:
Just as he had dismissed the importance of licensing, Gassée never saw the need for Apple's computers to communicate with anything except other Apple computers. ... This was a terrible strategy, of course, because it did not seamlessly link Macintoshes with IBM-compatibles. "We looked at Gassée and said, 'Who is this guy?'"
...
Jean-Louis Gassée had won nearly every fight. He was the undisputed master of engineering, the person who had almost always gotten his way. Now he would put another indelible stamp on Apple, one that would have repercussions as grave as the decision not to license.
-
Information Appliance
Kinda neat to see the term information Appliance being used back then:
What is desired is for the computer to become an appliance, but not a mere appliance. Its presence must be taken for granted by its user, but in the long run, the act of programming itself must be taken for granted as well. In the short run it will be, if successful, an information appliance.
(from computers by the millions)
Isn't that what all these companies are trying to do today?/p?
-
Re:the imac in 1981?I read the same thing, and I have to agree that apple saw the value and scalability of simplicity early in the development cycle. What amazes me is how clueless they were on Wide Area Networking at the time.
Consider this:
Communications Network Impact ...
" A real-time conversation involves two (or more) people with terminals carrying on an exchange. Such a conversation could easily last for hours. Or two computers could be co-operating on a problem, with the same duration of contact. Such usage could, in the face of a million users, tie up large portions of phone company equipment all out of proportion to the numbers using the system. "Wouldn't it have been amazing if apple was at the leading edge of networking in the 1980s and included BITNET with their little mac instead of pouring all those resources into their own networking thing? Imagine where we'de be today with the world "discovering" the net 15 years earlier?
-
Re:Mouse BallsCheck out the pics of these advertisments for meeces
...the mouse's name (the scientific-sounding X063X), and a $400 price tagWow, $400 for a clunky looking box-mouse thing! How far we've come in 25 years! I mean now I've got a sexy looking curvy-with-scroll-wheel-and-red-light-mouse thing. It enhances my computer experience so much.
Oh, and the of course the marketing has improved.
-
Re:New Partitioning Scheme
We can use a Slashdot style moderation scheme to decide who goes in
.stupid and in .smart. Of course by doing so, Slashdot runs the risk of being put in .stupid.
Of course, this will immediately put the internet into an infinite loop, trying to resolve this unexpected incarnation of Bertrand's Paradox. Chaos will ensue. It will be very messy.
Nothing says technology like a turtle-graphic based respository of knowledge.
-- -
Go to a technically-minded fuzzy school
From my own experience, Stanford is definitely a good choice. You've got a world class computer-science department alongside incredible "fuzzy" liberal arts departments. Since we are right in the middle of Silicon Valley and the technical departments are so strong, course offerings in the economics, history, and sociology departments often have a technology slant. Last year, there was a seminar which detailed the history of the Valley. A course in the communications department on the effects of digital media (which I couldn't take because class size was limited!). And even the computer science department hasn't forgotten its history. Gates (ugh) Computer Science building is full of computer artifacts, notwithstanding Don Knuth
:)
If not Stanford, find another top computer science department: UIUC, Carnagie-Mellon, MIT, etc. If the CS department is strong, it will flow into other departments who want to ride the wave.
As far as coursework goes, most schools allow majors to be designed if they don't have one which follows your exact path. Definitely take some CS courses to broaden your knowledge of technology, but a couple of history and economics courses wouldn't do any harm either. Just remember to get as much out of college as possible, since it's only four years.
OK. I'm on my soapbox; but I am a senior, so nostalgia has set in. Good luck and feel free to e-mail me if you have any questions. -
Go to a technically-minded fuzzy school
From my own experience, Stanford is definitely a good choice. You've got a world class computer-science department alongside incredible "fuzzy" liberal arts departments. Since we are right in the middle of Silicon Valley and the technical departments are so strong, course offerings in the economics, history, and sociology departments often have a technology slant. Last year, there was a seminar which detailed the history of the Valley. A course in the communications department on the effects of digital media (which I couldn't take because class size was limited!). And even the computer science department hasn't forgotten its history. Gates (ugh) Computer Science building is full of computer artifacts, notwithstanding Don Knuth
:)
If not Stanford, find another top computer science department: UIUC, Carnagie-Mellon, MIT, etc. If the CS department is strong, it will flow into other departments who want to ride the wave.
As far as coursework goes, most schools allow majors to be designed if they don't have one which follows your exact path. Definitely take some CS courses to broaden your knowledge of technology, but a couple of history and economics courses wouldn't do any harm either. Just remember to get as much out of college as possible, since it's only four years.
OK. I'm on my soapbox; but I am a senior, so nostalgia has set in. Good luck and feel free to e-mail me if you have any questions. -
Go to a technically-minded fuzzy school
From my own experience, Stanford is definitely a good choice. You've got a world class computer-science department alongside incredible "fuzzy" liberal arts departments. Since we are right in the middle of Silicon Valley and the technical departments are so strong, course offerings in the economics, history, and sociology departments often have a technology slant. Last year, there was a seminar which detailed the history of the Valley. A course in the communications department on the effects of digital media (which I couldn't take because class size was limited!). And even the computer science department hasn't forgotten its history. Gates (ugh) Computer Science building is full of computer artifacts, notwithstanding Don Knuth
:)
If not Stanford, find another top computer science department: UIUC, Carnagie-Mellon, MIT, etc. If the CS department is strong, it will flow into other departments who want to ride the wave.
As far as coursework goes, most schools allow majors to be designed if they don't have one which follows your exact path. Definitely take some CS courses to broaden your knowledge of technology, but a couple of history and economics courses wouldn't do any harm either. Just remember to get as much out of college as possible, since it's only four years.
OK. I'm on my soapbox; but I am a senior, so nostalgia has set in. Good luck and feel free to e-mail me if you have any questions. -
Some links:
-
Let Go of the Frog!Let go of the frog and answer this question:
"Why does the Cambridge combinatorial hierarchy (a mathmatics construct, pure and simple) generate the observed scale constants, such as vacuum energy, with great accuracy, whereas standard theory is off by 10 to the 120'th power?"
-
Question #4
Question #4 discusses Supersymmetry. The lab group that I am part of is working with simulating supersymmetry, if you want more information on supersymmetry then go to the University of Colorado NLC group site.
We only hope that the NLC, or Tesla, is built. Right now particle physicists around the world are trying to scrape up the ~$9 billion that it would require to build one of them.
I know that some of you will say, "We already have particle accelerators that can reach TeV (Tera Electron Volts), why do we need the NLC?" The particle accelarators today that can reach TeV, like the Tevatron at Fermilabs, accelerate Hadrons like protons. Although the physics gained from accelerating Hadrons is very useful, it cannot give us the information necessary for supersymmetry. Hadrons are composed of three quarks, and therefore when they collide not all six quarks are hitting at the same time, generally only one quark hits one quark. These kind of reactions are useful but not what we need. We need a particle accelerator that can accelarate leptons, like electrons and pions, to the TeV scale. When electrons hit we are getting the entire center of mass energy at one point at one time. This allows for physics that is extremely useful to supersymmetry.
I am just an undergrad so my understanding of this next aspect is kind of shakey. From what I have been able to understand, hadron colliders are really good for understanding the forces between particles, whereas lepton colliders are really good for discovering new particles. In order to prove, or disprove, supersymmetry we need to see if sparticles (supersymmetric particles) exist, therefore we need lepton colliders. Today the most powerful lepton collider in the US is SLAC (Stanford Linear Accelerator). -
Moore and the gang of 8 at Fairchild.Think back to the 50's when the semiconductor field was just "some wacky research" that never amounted to anything. In reading about this quantum research, I'm very much reminded of Bob Noyce and Gordon Moore doing their ground breaking work at Fairchild semiconductors. This interview with Gordon Moore talks in great detail about the early research years.
Gordon Moore from the interview:
Anyhow, while we were making these first mesa transistors, completing development of the process and putting them into production, we had a person whose background was as a theoretician, as part of the original group, by the name of John Hoerni. And particularly when we setting up the initial equipment, John was writing in his notebook and coming up with ideas of things to try, and he came up with a proposal... of instead of making a 'mesa,' which exposes the sensitive area of the transistor to the outside world, that one should just do more of these diffusions--oxide mask diffusions--and leave the oxide over the top of the junction, the sensitive part. Well, that was something that previously had been considered a bad idea because Bell Labs' conventional wisdom was that the oxide was dirty and you wanted to get rid of it.But we couldn't try John's idea right away because it took four index masking operations in order to make the structure he was proposing and Bob Noyce only bought three lenses!
[Laughter.]
-
Re:Vector quantization compression?For the purposes of texture compression, the basic idea behind VQ is that the texture is broken into (e.g.) 4x4 blocks and each of the blocks is analyzed. The algorithm finds n blocks of 4x4 pixels that "best" represent the overall texture. These are stored in a codebook. Then, each 4x4 block of pixels in the original texture is encoded by finding the one of the n codebook blocks that is closest to it in appearence; all those pixels can thus be represented by a single block number.
This is obviously a lossy compression method, since the total number of blocks in the codebook is much less than the number of blocks in the original texture.
There is some interesting trickiness in figuring out what are the best n blocks to store as well as given a region of the image, which codebook block to represent it with.
VQ tends to take a long time to encode--it's a CPU-intensive pre-process. However, decoding is *really* fast (just a table-lookup) and it can have very high compression ratios. For both of these reasons it fits well with graphics hardware.
See "Rendering from Compressed Textures", a paper from SIGGRAPH '96 that talks about VQ for texture compression and introduces some clever things that can be done with mip-mapped VQ textures.
-
Re:The last two paragraphs really some up the issuTo argue that all music should be free is a romantic notion, but one that is actually pretty hypocritical when you think about it. I like to drink lots of water, and water is free, and if anybody tried arguing against that I'd get really upset.
Let's look at the consumer end of the issue; the side which is supposed to come out in the top in our economic system.
Drinkable water is a resource. When you use it, it requires infrastructure to store and deliver and clean it; that is much of what you pay for. The more you consume, the less there is for everyone else. Thus it is economically efficient to control water usage by market pricing. If water were free, businesses/consumers would waste more of it and there would be little incentive to save it. Thus, in the end, it's far better that we price water through the free market.
In the case of digitizable art, such as digital music, the infrastructure already exists to deliver it to many people at very low costs. If I listen to a song, I am not depriving anyone else of the song. It is not a depletable resource. It is bits which can be duplicated over and over and over with trivial cost. The best outcome for the consumer is a maximal amount of art that they enjoy at the lowest possible price.
Usually, such a goal can be achieved through competition. However, in art, that's not the case. If you like the Beatles, you'll pay $20 for a CD, even though the Ruttles might only charge $10. Furthermore, there is additional price-fixing between the large labels (as evidenced by recent rulings against them).
What's the solution here? I don't know. Usually, businesses, which have maximizing profits as their goals, are the mediators of this optimization of consumer good. However, in this case, the maximization of profit by businesses is not coinciding with the best interest of the consumer. Furthermore, the profit motive of the businesses isn't coinciding with the best interest of the artists, who tend to sign on to the first thing they see (most good artists are in music because they enjoy music; not because they want to be the next millionaire).
Personally, I feel that there is far too much money in digitized music, and not nearly enough going into real music coming out of people (i.e. live performances). Here's some free digitized music: http://lsjumb.stanford.edu/Soundz/
-
The DSP never got used for anything?!?
Are you kidding me? The NeXT was the greatest computer music platform ever designed! Stanford's CCRMA was (and may still be) using NeXT machines a couple of years ago. Only the Capybara has exceeded the power of the NeXT. The MusicKit (designed by David Jaffe and Julius Smith) is a hallowed word in DSP circles. IMO, the DSP was the most significant piece of equipment in the package.
-
The DSP never got used for anything?!?
Are you kidding me? The NeXT was the greatest computer music platform ever designed! Stanford's CCRMA was (and may still be) using NeXT machines a couple of years ago. Only the Capybara has exceeded the power of the NeXT. The MusicKit (designed by David Jaffe and Julius Smith) is a hallowed word in DSP circles. IMO, the DSP was the most significant piece of equipment in the package.
-
Re:rational drug design
I don't know anything about the distributed computinfg effort, but I do know about the microarray data and the NCI Lab. of Molecular Pharmacology. You can find out more about the microarray effort at the Brown-Botstein group at Stanford or at the Weinstein group at NCI. This work is part of a larger effort to characterize the cell lines in the NCI cell line screen. For more information about the cell screen, see the DTP web site. A real quick summary is that >35,000 compounds and >15,000 natural product extracts have been tested for their ability to inhbit the growth of 60 human tumor cell lines in culture. There has been a lot of work that shows the usefulness of analysing correlations in this data. The latest effort is to use the microarray data to look at the correlation between gene expression and ability of compounds to inhbit cell growth. I contrast to the above poster, I think this is going to be a very valuable tool and I could expand on that if anyone is interested. Also, all this data is available for download at the DTP site, so any of you that think they have a nifty idea on how to mine the data are quite welcome to download and have at it.
-
Talk by Ditzel
There's a talk by Dave Ditzel on the Crusoe here.
htt p://stanford-online.stanford.edu/courses/seminars/ ee380/000209-ee380-100.asx
Great talk. Learn the facts. -
Re:486??
This is another RECYCLED Slashdot story... at any rate I came across the Tiqit website months ago either from a direct link on
/. or from this site. I assure you I was led to those sites from some story posted on /. Still pretty cool, but not new.
---- -
Get The Knuth!!!
I wish someone had pointed me towards the Knuth when I was in high school. It is the ultimate source of CS projects, and the ultimate resource upon their theory.
The Knuth (aka The Art of Computer Programming) is available from all reputable bookstores. You can get the boxed set or just the first book from barnesandnoble.com.
You can also go to Donald E. Knuth's homepage, or to his TAOP page
Please believe, if there is a deep and magic tome of computer science, this is it, and if you will ever truly have the love for CS, then you will love these books NO MATER YOUR SKILL LEVEL! Every chapter is filled with projects ranging from in your head to graduate thesis level, and they are labeled by difficulty and mathematical requirements.
-- Crutcher --
#include <disclaimer.h> -
Get The Knuth!!!
I wish someone had pointed me towards the Knuth when I was in high school. It is the ultimate source of CS projects, and the ultimate resource upon their theory.
The Knuth (aka The Art of Computer Programming) is available from all reputable bookstores. You can get the boxed set or just the first book from barnesandnoble.com.
You can also go to Donald E. Knuth's homepage, or to his TAOP page
Please believe, if there is a deep and magic tome of computer science, this is it, and if you will ever truly have the love for CS, then you will love these books NO MATER YOUR SKILL LEVEL! Every chapter is filled with projects ranging from in your head to graduate thesis level, and they are labeled by difficulty and mathematical requirements.
-- Crutcher --
#include <disclaimer.h> -
Re:This is NOT pointless in the general caseGot any references here to back up your claim that statistical techniques will lead us to more useful NLP systems?
Well, there are examples of "conventional" systems that, when augmented with some statistical constraints derived from corpora, exhibit an improvement in accuracy in things like picking the right parse for a syntactically ambiguous sentence. I saw a talk on this last week.
Anyway, Foundations of Statistical Natural Language Processing is a (the?) standard textbook here.
-
Re:Englebart is overrated
Englebart's grand vision was a little too grand to actually implement using the technology of the time, so he never shipped anything useful.
He was a researcher, not a software or hardware manufacturer. Dude, it was a small team that did amazing stuff and lost its funding.
As for other people doing better stuff outside SRI, can you give some details when you make such claims? It's acknowledged by patent records and archives that they were the first in this field. You can't ignore better work going on outside when there isn't any. The big demo w/ mouse+GUI was done in Dec. 1968. It was funded by univ. and govt. money, and suffered the disadvantage of being too good for its time. The grant money was yanked coz nobody felt this was of any use (remember, at that time the big thing was spending $$$ on AI, since the holy grail was a thinking, talking computer. Making personal computers useful was considered pointless).
he was better at self-promotion and grandious claims than at inventing anything concrete.
Quite the reverse. He was so bad at promoting his stuff he lost funding. As for inventing something concrete - mouse, GUI, video conferencing, groupware. These are substantiated by historical records and experts in the field. What more do you want? Magic fairies?
It's really funny how people dismiss Woz, Engelbart, etc. as overrated for not doing anything recently, or not being more successful. Shipping mediocre products successfully isn't as important as groundbreaking innovation.
Here, look at the evidence.
w/m -
Re:30G??? Try 10T...or 130TB
Things change with scale. My experiment, BaBar, has about 130TB in our Objectivity object databases at the moment. It grows at about 10MB/s.
Most of our servers are on Solaris, although we also support Compaq TruUNIX64 and Linux. There is a HPSS backend as we only have a few TB of disk.
We've had some problems bring up sites which use Linux servers, but I don't think any of these are different than the problems we had to solve for Solaris (we gave up on HP a long time ago).
-
Re:Not much point in faster hard drivesRelying on RAM to perform disk caching is great if you spend your days sitting around reading
/. If, however, you commonly read and write to more disk space than it is feasible to have RAM, a whole bunch of RAM does not really help.For instance, when you are streaming data to disk at a high rate, you really do not want it to hit the file system buffers. Suppose you have a workstation that is writing out a 100 gig of data. Suppose you are incredibly fortunate and have 4 gig of RAM on this machine. You do not want to use up all 4 gig of RAM 25 times as you are writing this data. If you do that, not only are you thrashing your RAM, but you are wasting lots of CPU cycles trying to figure out which buffers you should not use. Rather, you want the data to bypass the buffer cache so that your
/etc/resolv.conf lib*.so, and half of /usr/bin stay in FS buffers. See the "Veritas Performance" section in this paper for an intro to Discovered Direct I/O.Developers and users have a habit of looking at the falling price of storage and the increasing capacity as reasons that they can bloat software, use larger data sets in simulations, etc. The problem with this is that if capacity continues to increase faster than performance increases, the net result is that it takes longer for me to accomplish a similar task as time goes on. I can honestly say that my 386 with a WD 80 MB drive and 2 MB of RAM started WordPerfect 5.1 much quicker than either of my current Pentium PRO machines can load versions of WordPerfect or MS Word that were state of the art when my PPro machines were new.
-
I see you've been 'Harperized' too. (corrected)(Professor Robert Harper is one of the creators of Standard ML, and a very neat guy. BTW, if you could feed me some info on the TILT project, I'd love to study the compiler.. TILT is where the Python LISP compiler was about 8 years ago.)
I like SML a LOT, but there's a langauge which a lot of people aren't talking about. It's LISP. LISP has a public-domain compiler, an orphan of the Carnegie Mellon University lisp project from about 8 years ago. (CMUCL)
The compiler (Python) is fast; it compiles down to raw machine code, and it's performance is comparable to C, and has been for the last 5 years. (~30% slower at things like matrix multiplication, bench it yourself) , which isn't bad for a compiler that's had a fraction of the effort of EGCS. It can use non-descriptor arguments and structures. It will also use type inference where it can (Roughly, the monomorphic subset of the type system of SML.)
Now, the language Common Lisp is exremely nice. It has a variety of built-in things like lists, hash tables, structures, vectors, multidimensional arrays... It's got a lot of declarative things too. Loops, 'foreach', 'set'... Lisp programs can't crash because it does typechecks too. (Though if Python infers that they're unnecessary, it'll omit them.)
It was the first object-oriented langauge to be standardized. CLOS (Common Lisp Object System) is amazing. You can have dispatch based on multiple arguments unlike java/C++ which is only polymorphic based on the first argument. And you've got multiple inheritence. With the MOP, you can even write your OWN OO system on top of it.
Because the syntax is simple, it makes it easy to have programmed transformations of code 'macros'
A simple example is a 3-way if-then. (:less, :greater, :equal).
A slightly more complicated example is adding in c-style for-loops. (done with the 'loop' facility)
For a fairly complicated example, there's a package called 'SERIES' which adds in the equivalent of pipes to the language. You 'pipe' data between routines and it transforms the code into minimum-sized loops and other iteration constructs.
For example, if I have a list of triangles. My code looks like I first transform all of the triangles, then texture them, then transform them. again. This requires creating lots of superflouis triangles. SERIES will automagically turn this into a single loop on each triangle 'tranform -- texture -- transform'. Except that it'll handle multiple argument functions that return multiple results, and it'll handle conditionals in the functions. Not all loops can be merged, but it'll do what it can.
This is much like the one example of aspect-oriented programming, which was a realtime handwriting recognition program. It needed to do edge detects, averaging, convolutions. To do each operation in turn would have been horrific in time and space. The loops could be merged manually, but obfuscated the core algorithms and made it difficult to modify. The overhead of doing this transformation manually was a 50x code increase. From 700 lines to 35000 lines!
They implemented a new mini-langauge (Adding 'primitive' things like pointwise, convolve, etc to the language.) and used macro's do that merging automatically made the core algorithm obvious and trivial to change. The result was the core algorithm required only 700 lines of code, and another 1000 lines of code to do the merging and fusing of loops.. 2000 lines of code to do what took 35000 lines of code to do manually!
If you come from LISP, Aspect oriented programming is stupidly obvious. (If you don't, you think, 'wow' look at the cool stuff that they invented, and think that they created it.)
As a much much more complicated example, CLOS itself was implemented through macro's. Can you imagine a language powerful enough that you could 'transparently' layer a high-performance and very flexible OO system on top, WITHOUT REWRITING the underlying layer? Aspect oriented programming will never get this good.
:)
Yet another plus of this is that you can runtime-generate and compile code. Want to compile that encryption inner loop to make a custom version for this key? It's as easy as
(defun twofish-make-fun (key)
(compile nil `#'(lambda (block) (twofish-encrypt block ,key)))
This works because the function 'twofish-encrypt' will be declared maybe-inline. Thus it'll be compiled as normal, but the source code will also be saved. Normally, a function call to it will invoke the unspecialized version. But if we compile a call to it that has known arguments, the compiler will fully specialize and inline it, and create a specialized assembly. (This is how CLOS is implemented.)
There are some nice advantages to having a simple syntax.
:)
For hackers, there's the advantage that you can download ``Common Lisp The Language'' or the ``Common Lisp Hyperspec'' for a full specification of the language. No spending a hundred bux on a manual. (I'd give links, but I use my personal version so I don't know where to find them on the net anymore.)
Common LISP still has the features of a functional language. It has first-order and higher-order functions or closures. Python has a strong type system and it makes fast code. Your claim that LISP runs slow is false.
:) Like SML, it's interactive and incremental compilation. You can redefine functions without quitting. You can even redefine functions that are running in a different thread.
In fact, LISP was found to be almost 50% faster than C/C++ on average. There was a study done about a year ago where they compared C++ and Java. Unlike other study's between langauges, they had a dozen people implement the same program in C++ and Java and then compared the results. They found what you'd expect, Java was slow and sucked memory.
These guys decided to repeat the study, only comparing LISP and Java. Although the fastest implementation was in C++, they found that Lisp programs, as a group, were over 50% faster than the C++ programs as a group. Also, development time was a fraction that of C++ or Java, and the number of lines of code was half. Not only that, the variability in the number of lines of code and development times was signifigantly reduced.
(Tom, I'll be back at CMU in a month, if you want to talk about this, or let me get my greedy hands on the TILT compiler. Send mail to crosby@qwes.math.cmu.edu if interested.) -
Work for a university
One option is to work for a university - they need people to both sysadmin and write software which enhances the learning environment, but they can't pay huge salaries or offer stock options so have a hard time with recruiting. On the other hand, they tend to have great benefit and retirement packages and are not as insanely-paced as many startups.
<plug>
For example, I work for Highwire Press, a division of the Stanford libraries which puts scientific journals like Science magazine online. By helping scientific societies to publish online, we make scientists' jobs a lot easier.And yes, we have jobs open if you are interested
:)
</plug> -
Mizing JavaScript
It's so easy even us skr1pt k1ddiez can do it!
Sparkmania Skull page -
"Those boys at Stanford"?
To the article submitter who referred to "Those boys at Stanford", have you ever thought that maybe, just maybe, some of those Stanford researchers might not be boys?
Now the project link appears to be slashdotted, so I can't actually confirm that the project doesn't feature all "boys", but I suspect that this is not the case. And even if it is, I think it would be better not to emphasize this in light of some of the recent Slashdot articles about gender issues.
Maybe I'm overreacting, but I'd like to see the day when more than 5% of my Computer Science class is female, and I don't think girls hearing about "Those boys at Stanford" will help that.
-
Pragma: nocache & don't email itFrom the "more images" page:
"The images of Michelangelo's statues that appear on this web page are the property of the Digital Michelangelo Project and the Soprintendenza ai beni artistici e storici per le province di Firenze, Pistoia, e Prato. They may not be copied, downloaded and stored, forwarded, or reproduced in any form, including electronic forms such as email or the web, by any persons, regardless of purpose, without express written permission from the project director Marc Levoy. Any commerical use also requires written permission from the Soprintendenza. "
Hmph. Let's email the picutes to HIM. :) -
Be careful before you say that
Because you may well be mistaken about what is incorrect and what is just a different notation. Take a look at a random decent reference for a second and scroll down to momentum.
You will see that if you call the mass of the object its rest mass, then you need a relativistic correction term. If you call the mass of the object its total mass including the mass of its kinetic energy, Newton's formulation still holds.
It is entirely a question of definition. Here is a random argument for defining the mass one way. OTOH my background is in math. I learned physics from older texts, and from the point of view of a mathematician the concept of relativistic mass is a lot cleaner than carrying around the correction term.
Now when I am explicit about saying that I am using the word mass to mean mass with the relativistic correction (ie with the mass of the kinetic energy counted as mass), what I said becomes both unambiguous and clearly correct.
I can also point out that from the point of view of a purist it is cleaner to think that way. For instance a fraction of your mass is the mass of the heat of your body, which is just kinetic energy. Likewise a fraction of the mass of the Solar System is from the motion of the planets around the Sun. To me the mass of a system of objects should just be the sum of their masses. Using relativistic masses that is true. Using rest masses it doesn't quite add up.
Regards,
Ben -
Thumbcode anybody..?It looks quite nice but it's no damn use for my PSION is it..? HCI has tinkered along in the past, with no dire need for innovation in terms of input. It's only recently that the industry has really kicked off, so I expect a lot more cool things to come. Graffiti is smart, but I still find it a little too slow, compared to mini-keyboads.
For me though, the coolest has to be Thumbcode, developed over in Stanford University. There's an old (April 99) New York Times story here.
Read about it, but basically it's a glove/keyboard with receptors/keys on each segment of your finger, palm up, forming a 3x4 keyboard. One "types" by touching a finger segment with your thumb. Depending on whether the four fingers are together or apart, we end up with a 96-character keyboard. The nice thing is it's completely device independent so I could plug my 'thumbboard' into whatever device I wanted. I think one of the wearable manufacturers have produced a working model, but I haven't been able to find a page about it.
As a pianist, I reckon the fingers can be trained quite quickly to produce respectable wpm times. What I like most about it though, is it's really the first miniature input device that doesn't require you to hunch over squinting while you try to type in your shopping list... I also think it's very natural, so I'm looking forward to a production model someday.
"A goldfish was his muse, eternally amused" -
Thumbcode anybody..?It looks quite nice but it's no damn use for my PSION is it..? HCI has tinkered along in the past, with no dire need for innovation in terms of input. It's only recently that the industry has really kicked off, so I expect a lot more cool things to come. Graffiti is smart, but I still find it a little too slow, compared to mini-keyboads.
For me though, the coolest has to be Thumbcode, developed over in Stanford University. There's an old (April 99) New York Times story here.
Read about it, but basically it's a glove/keyboard with receptors/keys on each segment of your finger, palm up, forming a 3x4 keyboard. One "types" by touching a finger segment with your thumb. Depending on whether the four fingers are together or apart, we end up with a 96-character keyboard. The nice thing is it's completely device independent so I could plug my 'thumbboard' into whatever device I wanted. I think one of the wearable manufacturers have produced a working model, but I haven't been able to find a page about it.
As a pianist, I reckon the fingers can be trained quite quickly to produce respectable wpm times. What I like most about it though, is it's really the first miniature input device that doesn't require you to hunch over squinting while you try to type in your shopping list... I also think it's very natural, so I'm looking forward to a production model someday.
"A goldfish was his muse, eternally amused" -
STILL not perfect...
I know, I know, I'm just a whiny geek, but what about Thumbcode? You mean I learned a whole system of typing on my hands to produce letters just so they could come up with yet another layout?!? C'mon, man! It's tough enough to learn to type on one keyboard with the continuously-shifting backslash problem, now there's ANOTHER layout?
All whining aside, however, this looks like a really ingenious step toward making wearable computers *USABLE*, as well! -
Archimedes ProjectThe fine folks over at the Archimedes Project are researching a bunch of stuff, new GUI designs included.
The Total Access System project seeks to provide access to technology through a clean separation of the information to be accessed from the form of presentation required for individual users. The project is designing personal accessors that will talk to host computers and computer-based devices through infrared communications links. The accessors will thus become part of a three-way system, the Total Access System, that has been designed by Neil Scott. A complete TAS includes: an individualized accessor, an interface to a host computer or computer-based device, and a standardized link connecting them.
They are looking for volunteers if you're interested in helping out. I met them on a list-serv I was subscribed to and their work is very interesting. -
Be careful what you wish to calculate
Those who are serious about "calculating god" might try starting with the work on the combinatorial heirarchy. A good discussion of the combinatorial heirarchy is given by the inventor of bit-string physics, Pierre Noyes, in this paper.
-
Re:ok...but CD quality???
Ah, the joys of brainless audiophilia.
Learn something about the Nyquist criterion. Learn why (and how) an analog wavelength of a certain frequency is mathematically equivalent to a sampled waveform at twice the frequency.
There are problems with CDs; The frequency they chose for sampling (44.1kHz) gives a cutoff of 22050Hz, rather close to the 20kHz that is the _approximate_ top range of human hearing. Also, 16 bits of data turns out to be fairly borderline as well, and low-level jitter is a pretty tough nut to really crack.
At the same time, crosstalk is unheard of. The absolute noise floor is incredibly low. Tape stretch, surface noise, and so forth are nonexistent.
A casually thrown together CD will outperform an equally casually thrown together tape or record any day of the week. A very carefully created tape or record will beat that CD. (Mind you, the tape will only do so for a while--tape is an inherently unstable medium.) However, a very carefully recorded CD, even within the 44.1kHz/16bit limitations, will reproduce sound more accurately than any consumer format going.
Sorry for the long rant, but don't blame CDs for bad engineering, and DON'T blame the "evils" of digital sampling for bad CDs.
Some links:
-
Re:Musical MachinesOkay, I looked it up. It was an Altair 8800 at the Homebrew at the Peninsula School. The whine was picked up as radio interferance, and the first song done this way was "Fool On the Hill" by the Beatles. It was also predated by a "music" program for the PDP-1, but this was the first one for a "home" computer.
This is all out of Steven Levy's excellent book "Hackers: Heroes of The Computer Revolution." Most of it is available online here.
-
What about...Of course there have always been:
- The Harvard Journal of Law and Technology,
The Journal of Online Law,
The Virginia Journal of Law and Technology,
The Berkeley Journal of Law and Technology,
The Stanford Technology Law Review, and
The Berkman Center for Internet & Technology
-Alex
- The Harvard Journal of Law and Technology,
-
RoShamBo ClubFirst rule of RoShamBo club:
Don't talk about RoShamBo club.
Second rule of RoShamBo club:
Don't talk about RoShamBo club.
Why so many rules? Because if you told people about it, they'd realize how ignorant you were for taking RoShamBo so phenomenally seriously:
Hey, let's all write programs that attempt detect other people's patterns and base our moves off of that while, at the same time, making our program seem to be moving in a certain pattern, but not really patterning our moves after anything detectable, so as to seem random. Damn, we're bright!
Some choice words from Mr. RoShamBonehead:"..but the best strategy can be quite complicated when playing against fallible opponents"
Gee, that sounds strikingly like the skill level needed to win tic-tac-toe (play against stupid people)?"The game is trivial from a game-theoretic point of view"
I do agree that the game is trivial, but I'm not so sure about this so called "game-theoretic" stuff.. could someone explain some of the game-theoreticizationismifications to us, per chance? I'm not quite sure I see his point of view.."The optimal mixed strategy is to choose an action uniformly at random. This will ensure a break-even result in the long run, regardless of how strong (or how weak!) the opponent is"
Oh.. well if that's all. I just do the good old-fashioned mixed strategy of uniform randomness and then bing-zam-boom! I'm the winner? Okay. Not only that, but there's some sort of ensured result from this so-called randomness. Dammit, that makes so much sense it's like I'm sitting here saying "please don't be so crystally clear in your ignorance.. you're ruining my Pick-up Sticks (TM) programming contest""against predictable opponents, a player can attempt to detect patterns in the opponent's play"
This is just the introduction and it's already getting so damn complicated with all this jazz about being able to predict players that are predictable.. whew!"You can play Perry Friedman's original RoShamBot at: http://chappie.stanford.edu/cgi-bin/r oshambot"
Jeez! I guess he saved the best for last. Now, if only they had RoShamBo for Palm.. -
Napster Ethics
I just completed a final project on Napster Ethics and Legality, and we have a guestbook where you can voice your opinion about it. So far mainly pro-Napster people have posted, so I would appreciate any anti-Napster positions for contrast. Also, any ideas on what the future holds for online music would be interesting. Thanks for your time!
-
Napster Ethics
I just finished a group final for a Stanford class called Computers, Ethics, and Social Responsibility, and our project focused on the ethical issues surrounding Napster. We cloned the Napster design for our ethics website, which is apparently allowable under Napster's Terms of Use agreement, as long as we don't mock them or cause brand confusion. Anyway, if any of you have a particularly strong opinion about Napster, MP3s, the RIAA, or artists' and listeners' rights, please consider posting it on our Outside Opinions page. Thanks a lot!