Domain: mit.edu
Stories and comments across the archive that link to mit.edu.
Comments · 7,673
-
Re:Font Handling
Check out the webpage on Netscape (Mozilla) Fonts. If you install these fonts web pages will look *exactly* the same as on your Windows box. BTW, don't blame X for crappy fonts in Netscape, blame Netscape. Mozilla does a much better job at font handling. As for anti-aliased fonts; I'm fortunate enough to have a 19" monitor, font blurring is not needed at 1376x1032
:) -
Re:Ants & IP Routing
The first link should be:Computational Beauty of Nature
-
Ants & IP RoutingI recently took a class covering some topics like this.
Ants use pheremone trails to find fairly optimized paths to food. Some researchers have adapter their strategy to route IP packets. They use 'pheremone bits' attached to the packets headers to get information about the networks. They then use the information to route packets more efficiently. As the network properties change the routing algorithm adapts. Supposedly, it works much better than the current method (which finds the shortest path - i think ?).
Some links: Computational Beauty of Nature
Mobile Software Agents for Dynamic Routing -
Re:Another Victory!I would think that the best thing that developers of free software could do is to publish their techniques so that they can be seen as prior art.
Agreed. However, I wouldn't mind seeing a coherent implementation of Mutual Defense Against Software Patents. Fight copyright with copyleft. Fight patents with mutual defense.
-
Re:Why do we need windowing systems anyway?
yeah, my school also supplies a LaTeX thesis style, makes for a very nice looking thesis, and you don't have to waste any time reading the thesis specs.
-
Look and Feel
-
Related: Chaffing and WinnowingSee the paper by Dr. Ronald Rivest at http://theory.lcs.mit.edu/~rivest/ch affing.txt. It describes a similar method.
Remember, people, this is steganography, not encryption (Ok, there are some encryption aspects, too). Don't complain that it's not secure to eavesdroppers - its purpose is to obfuscate data, not make them unreadable.
-
Re:the ISO sources weren't the issue
From the MPEG, Patents, and Audio Coding FAQ (recommended reading):
- Q15. If I don't use their source, can I make my own MP3 decoder without paying FhG?
- A15. Legally, FhG may or may not have rights regarding patented technology that is necessary to make an MP3 decoder. If they do, it is within their right to enforce it and prevent you from making any MP3 decoder, whether or not you had help from them to do it.
- Q16. If I don't use their source, can I make my own MP3 encoder without paying FhG?
- A16. If you infringe on their techniques, it is within their rights to seek recourse, whether or not you had help from them, or whether or not you intentionally or knowingly infriged.
- Q17. If I don't use any of their techniques, can I make my own MP3 encoder without paying FhG?
- A17. Yes.
So it seems you will have to just invent your own techniques/algorithms for encoding, but what this precisely means is not entirely clear.
In the case of LAME, because there now is a totally independent implementation with maybe totally independent techniques/algorithms, it could really be free. At least I hope so.
:-)Oh, and don't forget that not all countries allow patents on algorithms, like Sweden (where BladeEnc comes from).
-- -
Re:Still Needs a lot of Systems workWe need new computing models (i.e. Quantum Computing) not just smaller/faster version of what we have.
You can have new models of computation without busting your noggin against exotic new physics. One easy way to do that is with new algorithms. Public-key cryptography opened up all kinds of interesting opportunities, running on tedious conventional hardware.
A couple years ago, I heard a talk at MIT about amorphous computing. It is basically a way of thinking about algorithms and communication so that we can successfully program low-reliability hardware (ordinary lithography/silicon stuff) to get reliably high performance. It's approximately the art of coordinating behavior in the presence of noise and unpredictability.
As a side benefit, this work is applicable to a lot of different scenarios for nanocomputing. They assume systems where processors or the communication pathways between them may be unreliable, or where there isn't a regular geometry, so this is the kind of thinking you'd need to program plaque-cleaning bots wandering around your arteries.
-
Re:Current Relevance of Moore's Lawwhat I really need to simulate are emergent behavior algorithms
There is some interesting work along these lines at MIT's Amorphous Computing web site. What these people are doing will be of very great importance when nanocomputing hardware starts to exist. Luckily, they will be able to apply it long before then, since their assumptions also apply to very-inexpensively-manufactured silicon.
-
Re:Still Needs a lot of Systems workwell, if we want nanorobotics (and I'm sure that I do), we need some computers to power them. would you like to try to stick a pentium in my nanorobot that's the size of a blood cell?
probably the best solution to the heat dissipation problem is reversible computing. I looked on google and found some links:
- Zyvex has a bit on the subject
- a group who say they've made a reversible-architecture CPU
- Mike's BibTeX file. I have no idea who the guy is, but there are some papers on the concept.
Lea
-
Re:'Hack'
The page gets it right when it says:
How right of you to point to MIT for origions to the "hacker" name! And the quote is a nice point, but an even better explanation can be found when you follow the link to their FAQ . There you will find the following:
"Note that this has nothing to do with computer (or phone) hacking (which we call "cracking")."Aren't hackers the people that break into computer networks?
And there's the crux of the problem. The "hacking" culture is generally a creative one - if a bit unorthodox. MIT, and other hotbeds of activity, generated their own culture way before the media dreamed it would devote so much front-page ink to computer issues.Maybe to the rest of the world.
Many of us at MIT call those who break into (crack) computer systems "crackers." At MIT, a "hacker" is someone who does some sort of interesting and creative work at a high intensity level. This applies to anything from writing computer programs to pulling a clever prank that amuses and delights everyone on campus.The vandalism and network attacks that so often are labled as "hacks" have little to do with this creative culture. No wonder "hackers" would rather the media latch on to another buzzphrase for their headlines.
-
'Hack'What I find funny, is the word 'hack' actually had/has another meaning, even before the computer term arose to it's current status.
MIT is famous for it's constant barrage of practical jokes around campus. These usually range from putting a police car on the top of one of the buildings to Smiley Faces placed at strategic points. These jokes are referred to as 'hacks', and to my knowledge, always have been.
The MIT Hack Gallery is here:
http://hacks.mit.edu/Gallery.html
There's some pretty creative stuff in there, and most of the hacks follow a strict "Code of Ethics" guideline, and usually anything that violates the code wouldn't be considered a hack. (A tip of the hat to the CORRECT usage of the word.)
The page gets it right when it says:
"Note that this has nothing to do with computer (or phone) hacking (which we call "cracking")."
-- Give him Head? Be a Beacon?
-
LispSeriously. There's a good chance you've already visited a web site running Lisp, and didn't know it (Yahoo Store for one). Lisp's forte is extreme dynamic content that requires persistence or cross-session communications.
Check out any of the following:
SIOD - A small, easy-to-extend Scheme interpreter that can be used to do CGI.
AllegroServe - This is a small Common Lisp based web server which can sit behind Apache or do it all itself. They have a very nice mapping between Lisp lists and HTML that makes dynamic content generation a breeze. The source is currently implementation-specific, but it's LGPLed and available at Sourceforge.
CL-HTTP - If you want to do dynamic content and don't want to learn HTML, this is what you want. Query processing and page generation are buried behind deep and powerful abstractions. Long learning curve, but worth it for really complex stuff.
There are others, but I don't have the links handy right now.
-
It's about eleganceThe creators of the contest were smart to insist that all submitted projects be python-scriptable. Don't forget, they are thinking of _all_ the tools as a framework.
So what's elegance? Most people say it's the combo of simplicity and power. Not only does the python language itself possess these qualities, but by requiring python scriptability in project proposals, they pass on these qualities to the entire development process . Simplicity, because only one very simple language is required to enhance all tools in the environment. Power, because python is a modern object-oriented scripting language whose focus on usability, consistence and extensibility is extreme.
I mean, I love unix and the whole toolset philosophy as much as the next guy, but all those little languages are ad-hoc, limited and a pain to learn. By focusing on one very good language the software carpentry project can bring a significantly more elegant development environment into widespread use.
course, I think they picked the wrong language
:-) Check out Olin Shivers' paper for the knockout blow. -
Re:Some Good Software
Dun dun dun. Crash course in Managing Software(and hardware) Development. There are millions of links out there. So here's an introduction so people know what to look for. Remember, there is no magical model that automatically works!
---
This is why you learn different management in software development models, because there is no one model that suits everyone. There are generally held principles that anyone can come to, but they aren't solutions that you can work out by common sense.
Here are some general statements:
"Software development is multi-dimensional."
OK, duh.
"Developers pay attention to what they are measured on"
OK, that makes sense. People _respect_ what management _inspects_.
"Some performance dimensions in software may be in conflict"
Makes sense, although a little more complex. (e.g., min memory, min SLOC vs. min effort and max user satisfaction vs max maintainability...)
Objectives in managing software development:
* define the process by which projects are conceived approved, and delivered
* define the guidelines and standards that are used by architects, developers and managers who will develop software
* define the mechanisms used to deliver the software to the marketplace
* general models to develop specific models in particular niche's such as "shrink wrapped" or "web based" or "b2b" or "b2c" or "OEM" etc
* define who is involved (e.g., product management, project management, development, technical writers, human factors/ui, localization etc) and their roles and their tasks.
* Specifications documents should follow these definitions and management models such as that for cost estimation (e.g., COCOMO, other models).
* once tasks are defined, you can help employees do what they are supposed to and evaluate them for future changes to development model
Interesting links:
a n article
The CMU software engineering institute
more
Defense system management college introduction to project management
wooha lots of links.
needed skepticism regarding empirical analysis with models!!!
"Commercial software models"
Example of cost estimation in use (findings from them at least):
http://www.ll.mit.edu/llrassp/jca/mcmb w.html
_Development models_ include (*== > in double sided->):
The incremental model;
AKA. The market model. Often dictated by management and generally follows QA builds.
(P.1)()()()()(1.0)()()()...(2.0)..
The evolutionary model;
AKA. The pseudo academic model
(Product Idea)*-*(Prototype)->(Clean Code)->(test and rinse)->(evolve)->(repeat)
The spiral model:
This model makes you ask the question as to the value of functionality and what process one would take in implementation.
(Kernel)->(Kernel+key or riskiest functionality)->(kernel+key+less troublesome components)->(K.+key+LTC+Less troublesome functionality)
Waterfall Model:
Intent:
(Product Idea)->(Analysis)->(Design)->(Implementation)->(te sting)->(Product life)
Reality:
(PI)*-*(Analsysis)->(design)*-*(implementation)* -*(testing)->(product life)*[arrows back to design and analysis]
Rapid Prototype model:
(product idea)->(prototype & analysis & design)->(implementation)->(testing)->(product life)
Common misuse:
(Product Idea)->(Prototype)->(More Code)->(Test)->(release)
etc, and hybrids like the "extreme programming" model, which seems to be a more detailed rapid prototype model
_Requirements methodologies_:
* generally: Requirements are what. Specifications are how (although they mix).
Incorrect requirements = no product, or bogus development plan
The method from which we develop requirements is:
discovery
refinement
modeling
specifications
requirements elicitation(href="http://www.se i.cmu.edu/pub/documents/92.reports/pdf/tr12.92.pdf ) -- more detail (http://www.incose.org/rwg/97panel/97 panel.html) - etc - (http://www.kingst on.ac.uk/~ma_s435/personal/work/CO1032B/tools_5/)
How to defend against requirements crep:
* use formal methods !
* use customer requirements formats such as manuals or other docs !
* your answer must not always be yes !
* proposed changes must be evaluated and rational !
* there is always nearly a version 2.0 !
* the customer almost always values quality over a short delay !
* remain flexible enough to react to the work-place !
"without a manual, we don't have a product". -
MIT AI Infolab/START project
Perhaps this could be a potential use for a beefed-up version of MIT's START system. It essentially does natural language parsing and is hooked into resources feeding it all sorts of geopolitical information, movies/entertainment (via IMDB), dictionary lookups, etc., etc.
http://www.ai.mit.edu/projects/infolab/
The system was built in 1993 and seems to be maintained to a minor extent, with features added and updated, but to get it to the scale required for something like this would require a lot more processor power I'd imagine as well as some serious expansion. -
What these guys are doing is stupidAt MIT, hackers don't endanger anyone or leave a mess for campus staff to clean up. Part of the unwritten rule of hacking is that you take down your hack when it is done, leave a nice note for the authorities explaining why what you did is structurally sound, and you don't break anything or vandalize property.
Oh, yeah, and MIT hacks are clever. Many involve an aspect of "how the heck did somebody get up there/pull this off without being seen." Dropping stuff down a stairway then making a janitor clean it up is just immature. When people drop things at MIT (like pianos, TV's, various exploding chemicals), they clean it up themselves and take safety precautions.
Visit http://hacks.mit.edu/ for a gallery of real hacks. Don't condone stupid pranks like what the RPI kids did; they are just perpetuating the idea of spoiled rich kids abusing their college opportunity. They should get some manners and some class.
magic
-
Pranks vs. vandalismI'm sorry, but from what I've read about pranking ethics these guys aren't hacks in the MIT sense, but rather unoriginal vandals.
"According to the "hacker ethic," a hack must: be safe / not damage anything/ not damage anyone, either physically, mentally or emotionally / be funny, at least to most of the people who experience it "
Throwing University owned telephones down stairwells... without care about what lands on who... doesn't seem very funny or safe to me. -
Always amusing...
-
Re:Depends on the StudentPlease mod up the above comment - it's an excellent point, and one missed far too often.
As a note, there are interesting aspects to many programs' admission criteria. The admission requirements for the Philosophy/Linguistics graduate program at MIT are one such example. If a school offers an "elite" degree or outstanding facilities, it is most likely a very selective program. It is technically possible (in my understanding) for someone with no formal background to be accepted to the above program. Granted, it's philosophy. On the other hand, philosophy actually has a lot in common with technical fields like computer science - much of your value as a student is derived not from past grades or test scores, but from life experience, personality, and achievement.
If I cannot submit an SAT score or the score is painfully low, I should be able - and encouraged - to compensate for that with demonstrable talent, drive, and education, no matter what the source.
There were no real requirements for admission at the undergraduate college I attended. It's a school that should be notorious for allowing people to gain a degree without completing much rigorous academic work at all. The strong point and the great weakness are the same: you need to learn to motivate yourself and accomplish your own goals to get a good education. I feel that my education was far superior to most, and yet I know that someone familiar with the school I attended could discount my degree and 'transcript' just as easily as they could congratulate me for my college's historical reputation. Both of those possibilities are equally unfair.
If I have a chance to present my work - which exposes my skills, knowledge, talent, and creativity, good or bad - then I have the chance to be evaluated fairly.
A school like ArsDigita U., especially with its stated focus, should realize that the greatest benefit both to students and school will be realized by a rational and fair admissions process... even if the administrative overhead is higher. A word-limited essay, portfolio, and resume/CV would be more accurate than any test score.
-
Object->Action vs. Action->Object
Most modern GUIs focus on the object->action technique: select an object, then select an action to apply to that object. For example, select an icon on the desktop, then double-click to Open or right-click to see other options...
The problem with this is that it doesn't intuitively allow someone to start new documents or find old ones. To start a new letter, you first need to start the application for letter writing, which means you have to know where to look. To load an old letter, you wither have to go through the application, the "recent documents list", or the file system...
As you can see, the verbs here are "start", "continue". and "write". The user's action is TASK oriented, not object-oriented. An interface that allows you to do choose a TASK at the top level gives a better starting point to the user (I use uppercase to denote the specific idea I'm discussing here). Note that none of what I'm about to describe are new ideas, but they're worth considering...
A TASK menu might have choices like "write an e-mail" or "play a game"; though, of course, more specific. Some may think at this point, "Well, that's just like the "Start" menu in Windows!" Not quite: the TASKs must be listed with intuitive, easy to understand names. "Write a Letter" as opposed to "MS Word 2000" or "Emacs". In a sense, the TASK menu is more like the "New..." submenu you'll find when you right-click on the Windows desktop, except TASKs are not always for document-creation.
A TASK menu wouls also support continuing saved work: "Work on an existing letter", "Continue a StarCraft campaign", etc. One must be careful to balance what is available at the top-level and what choices become available under specific applications. "Print letter" may be useful at the top-level, but it would be better if this option were only available whle one was working on the letter.
A few more notes:
1) The file system should be invisible. As someone proposed in another comment, the OS should support finding saved work using searches or heuristics (ie. recent document lists, etc). A hierarchical directory scheme should still be available for users who like to organize their data that way, but it need not necessarily reflect the underlying data structures.
2) Applications should be invisible. Applications implement some set of TASKS for the user; we might expect that in the near future all apps will be downloaded, so users can simply search the net for a new TASK they may want to do. For example, I may not have "Create flow chart" implemented by any app on my local machine, but I could search for that task and find a number of apps (Visio, etc) that can implement it. I choose one, it downloads and installs itself, and I'm up and running. Maybe even better, the actual app is stored remotely -- my system just stores my files and configuration information.
3) There's no idea of "saving" a document: all work is logged (as with a versioning system); users can return to any snapshot of their work through history. By default, the most recent version is loaded, but a "Continue from old version" option might be available as well. Check out the Elephant File System to get a better idea of how this might work.
Well, I've gone on quite a bit about what I hope is a different way of looking at things than what you're used to. I'm sure there are plenty of issues that would make this sort of system a pain for current computer users, but remember we're thinking about future users. Also note that voice recognition won't solve anything without a redesign of the standard UI: I'd hate to have to spell out filenames and name specific applications when all I want to do is "Start a new letter..."
--Sameer -
Problems and Alternatives.
- Pricing.
It is notoriously difficult to get pricing information for QNX.
I have heard differing reports on comp.os.qnx, including that it is "very expensive, hundreds of dollars per system," or, on the other hand, the vague answer of "you can license it reasonably economically." (With no definition of what "reasonably economical" means, of course.)
- If people should start thinking of QNX, then they should also start thinking of:
- VSTa
A copylefted system that "lifts" ideas from QNX and Plan 9
It looks like development has not been terribly active lately.
- MIT Exokernel
Again, not terribly active, but an interesting OS kernel.
- EROS
Eric Raymond thinks it's mindblowing, so the Eric Raymond Personality Cult should all be preparing to drop Linux in favor of EROS. (Of course, it isn't yet capable of self-hosting, which indicates that it's not all that useful at this point. But, to cultists, usefulness is irrelevant...)
- Possibly even Hurd
It's different from the other options; certainly not a tiny OS option...
- eCos
- RTEMS
Which, like QNX, appears to be used in some reasonably critical system environments...
- Fiasco
Which is a "lighter microkernel than Mach"...
- On Linux, people interested in QNX should almost certainly look at SRR -- QNX API compatible message passing for Linux
This is the critical programming abstraction that QNX uses heavily which isn't all that widely used on traditional UNIXes, namely asynchronous messaging.
- VSTa
- Pricing.
-
Re:No more PDA's, cell-phones, laptops, AND...
The "embedded screen in glasses" are built by MicroOptical and are currently unavailable to the general public. Development was funded by DARPA and they are still being developed. There are various clip on and other borg-like things, but you wouldn't want to wear them to Easter dinner.
The keyboard most wearable computing folks use is called the Twiddler. Don't know about power generation. You'd have to type a lot to generate enough for wireless IP PLUS hard drive PLUS "additional storage". I guess you did say a 9 volt battery. I'd be interested to see your power budget.
You should look at the StrongARM chip. Unless you want to run Windows, there's no need for x86 compatibility. Might as well go right for the lower-power ARM if you're running Linux.
Anyway, I think if this were possible, the folks at MIT's Wearable Computing Group would have done it already.
Don't let me discourage you, however. Good luck and let us know when you have something. I'll shell out the $, that's for sure.
-
Patents never workedSo that patents should "still" work, it would require that they worked once. But there is NO EVIDENCE that they ever worked.
Oh, of course, lots of people (the racketeers that make money with patents, and their lackeys), will tell you that all research would stop without patents. As if research had ever waited for patents so as to begin! Yeah, some people even pretended that without a monopoly, there would be no trade between Europe, Asia, and America; but their tea ended in the sea near Boston.
Patents have ALWAYS been a way to STIFFLE, not ENCOURAGE, coopetitive creation. Witness these Quotes from the LPF.
Free Software! Free Information!
-- Faré @ TUNES.org
-
What is the difference?When digital books can be presented in a way virtually indistinushable from the paper variety, will the differences really matter? Some of the projects on the horizon, such as the electronic paper project at the MIT Media Lab create the potential for a high-resolution digital reader which would look and feel like a hardback book, pages and all. The interface for the system could be as simple as turning pages. I have a whole bookshelf full of big, heavy, and rapidly-obselete books in my office (The Java Class Libraries books, for example) that I would love to replace with something like that. Add to that books which are primarily available online like the GIMP User's Manual and the contents of something like Project Guttenberg, and you have real potential.
If the only limitations are resolution and expense (as it is for me,) it is only a matter of time, as better and cheaper readers become available. For those like Billington, one wonders if there is more than simple satisfaction over piles of paper...
-
What is the difference?When digital books can be presented in a way virtually indistinushable from the paper variety, will the differences really matter? Some of the projects on the horizon, such as the electronic paper project at the MIT Media Lab create the potential for a high-resolution digital reader which would look and feel like a hardback book, pages and all. The interface for the system could be as simple as turning pages. I have a whole bookshelf full of big, heavy, and rapidly-obselete books in my office (The Java Class Libraries books, for example) that I would love to replace with something like that. Add to that books which are primarily available online like the GIMP User's Manual and the contents of something like Project Guttenberg, and you have real potential.
If the only limitations are resolution and expense (as it is for me,) it is only a matter of time, as better and cheaper readers become available. For those like Billington, one wonders if there is more than simple satisfaction over piles of paper...
-
And another thing...
Now, I'm a real bookworm, and spent LOTS of time as a kid in the brick&mortar library flexing the old imagination, and the advent of Hypertext was like a dream come true - there are so many times one is reading a book and come across a footnote that links you to another book, or a certain line makes you think, "hey, that's just like a line in another book - now where was that" so you start to see a body of knowledge as not just a stack of books on shelves but as a real intertwined web of cross linked referances woven into a larger tapestry, lines of influence and schools of thought
.... the web was made for publishing research and refrenching and building upon prior research. -
Re:other componentsA few other ideas come to mind: There is that rollable, waterproof keyboard covered on
/. last year. They became sorta hot again with the i-opener; not sure where you can find them in stock now, but I seem to come across them while shopping for parts every so often.The company that makes the folding palm keyboard that you mentioned may be willing to make a compatible keyboard, esp. since the standard connectors are available on this machine. There is also the Happy Hacking Keyboard you see frequently in SysAdmin and the Linux mags that may be "small enough" for some people's uses.
Smaller LCD screens can be found at EIO and partsexpress.com...problem is, they probably won't work well as computer screens. The obvious other choice is to use the i-opener's LCD screen. Personally, I wish there was a company that sold 10-13" LCD screens for a reasonable price (iow, not the same price as a 15" you can get for $620). I wish there was a good site that detailed specs on various laptop screens...unfortunately, the stuff seem so proprietary as to make the effort painful and almost not worth the effort.
Heck, with a decent 10" LCD screen, with the CD/DVD option, you could have car GPS in addition to MP3 very easily and nicely and still stuff it in a Dodge Neon comfortably and neatly.
There is also, of course, the entire wearable computer scene...hand twiddlers, head mounted displays, etc. that folks have already mentioned. For that, you might want to start with the MIT site. There a lot of links for peripherals that could be used with this machine.
Personally, I think it would be cool to have a program that allowed handwriting recognition through the trackpad...something that if you hit a certain combination allowed you to flip back and forth between "mouse/pointer" and "keyboard" functions. I thought I saw such a program around, but I'm not finding it in my bookmarks right now. This would do away with a keyboard entirely for some uses.
-
Re:His comments on LISP and Perl
And that's another comment I'd like to make. Almost every LISP bigot I've heard of talks about how "beautiful" LISP is. My reaction is, So what if it's beautiful? Computer languages are written to be useful, not just beautiful. Is anyone actually developing anything useful in LISP? I think it's pretty obvious that Perl is very useful.
Let me first quote RMS:
"LISP is the most powerful programming language."
Why isn't it used more ? Read Richard P. Gabriel's article"LISP: Good News, Bad News, How to Win Big" for some of the reasons.As for LISP successes (they were asked for in an earlier post): Common Lisp had the first standardized object oriented language (CLOS). There are few, if any, OO languages that can even begin to touch the dynamism possible in CLOS (with the meta-object protocol, of course). EMACS anyone ? Garbage collection hmmm... user extensible programs ? ahem. I think it has been very successful, it just took a lot of flak from the failure of AI in the 80's.
The beauty in LISP is that it is really the language that you want it to be. LISP macros are actually code that transforms expressions into other expressions before evaluation or compilation; so in essence you can write a compiler (yes, LISP is usually compiled to native code) for your own language. This means abstraction without the usual overhead. This property has been used for instance to implement Prolog(ish) compilers on top of LISP.
LISP is the second oldest programming language still in use (Fortran is older) and it has been designed to be extensible; for instance, today's usual plugin hacks with DLL's or
.so's are as easy as (load "filename"). Lisp has evolved for 40 years and IMO Common Lisp is a very mature language. All this dynamism is not without a cost however. Real CL systems take up a lot of memory, because the environment is almost like an OS. Imagine keeping GCC in memory for every C program you run.Why do I like it ? Bottom-up programming, self-modifying programs, goto
;), function builders, macros, strong typing, closures, extreme multi-paradigm support... actually I can't specify, it's the whole package that rocks. -
Re:Tuition-Free Education
To go to a good colledge (really good one) will cost you around $30,000 a year.
If only! I see that the cost now to attend Harvard is $35000 + travel expenses. MIT weighs in at about the same. Stanford is $1k cheaper (Bargain!), and you pay a meager $30,000+ for a year at CalTech.
No wonder going off to college feels like an Expedition - they cos t about the same! Makes me thankful for the "paltry" $10K/yr I paid a decade ago (compare at $20,000 for Stanford).
Of course, $20,000 to $35,000 in 10 years is only 6% per year, or twice the rate of inflation. If the stock market keeps growing at 15% like it has for the last decade, the $125,000/year our kids will feel like $5500 today. That's only a little bit more than my freshman tuition was. Go, bull, go!
;-) -
Re:Lisp hackers were too busy arguing with Perl ha
I have no idea if it is a "good" web server but I thought people might be interested to know that there is a Lisp-based web server project at MIT.
-- OpenSourcerers -
Re:wacked
"it costs these people the $125k they'd be making at work"
The $125K is called "opportunity cost." It's the same thing you're doing by going to college, or entering a graduate program: giving up the chance to earn wages in the expectation that you'll be able to recover those loses later with your increased earning ability.But that's not the issue here. As philg mentioned in his post, and in his 6.916 lectures, (paraphrasing here) people should be using the full potential of the web to provide useful services. He's looking to train people who might make a difference.
Also, isn't the point of learning to take advantage of the time others have spent? Think about it: when someone teaches you something, you're benefitting from all of the time they've sacrificed to gain that valuable experience/knowledge.
"...being in school 12 hours a day..."
That's what going to MIT is like - a ridiculously intense regimen of work, but we still find plenty of time to play. ;o)
It's Marathon Day! -
Re:His comments on LISP and PerlTo quote from the introduction to Tcl for Web Nerds :
If in reading this introduction, you've come to realize that "Hey, Tcl is just like Lisp, but without a brain, and with syntax on steroids", you might wonder why Lisp isn't a more popular scripting language than Tcl. Lisp hasn't been a complete failure, by the way; it is used as an extension language by users of some popular programs, notably AutoCAD. But Tcl has been much more successful. It has been compiled into hundreds of larger programs, including AOLserver, which is why we wrote this book.
As a software developer, you're unlikely to get rich. So you might as well try to get through your life in such a way that you make a difference to the world. Tcl illustrates one way:
- make something that is simple enough for almost everyone to understand
- give away your source code
- explain how to weave your source code in with other systems
Tcl was available. Tcl was easy to download and designed to fit inside larger application programs. But the Tcl interpreter as distributed had one terrible bug: it wasn't thread safe, i.e., you couldn't have two copies of the Tcl interpreter running inside the same program at the same time. Doug and Jim had to read through the Tcl source code and modify it to be thread safe. So it was critically important for them that Tcl was open-source and simple enough so as to not require months or years of study to understand the whole system. Compare this to Lisp. Some of the best and brightest computer scientists raised money to build commercial Lisp implementations that they then went out and hawked in an indifferent and confused marketplace. They succeeded only in breaking their hearts and their investors' wallets. A handful of academics produced free open-source implementations, notably CMU Common Lisp (see http://www.cons.org/cmucl/) and various versions of Scheme (see http://www-swiss.ai.mit.edu/scheme-hom e.html; Scheme 48 is the closest to Tcl in spirit). But these multi-megabyte monsters weren't designed to fit neatly into someone else's program. Nor was there any document explaining how to do it.
Lisp developers have the satisfaction of knowing that they got it right 30 years before anyone else. But that's about all they have to show for 40 years of hard work and hundreds of millions of dollars in government and private funding. These days, most former Lisp programmers are stuck using Unix and Microsoft programming environments and, not only do they have to put up with these inferior environments, but they're saddled with the mournful knowledge that these environments are inferior.
--
"But, Mulder, the new millennium doesn't begin until January 2001." -
Re:His comments on LISP and PerlTo quote from the introduction to Tcl for Web Nerds :
If in reading this introduction, you've come to realize that "Hey, Tcl is just like Lisp, but without a brain, and with syntax on steroids", you might wonder why Lisp isn't a more popular scripting language than Tcl. Lisp hasn't been a complete failure, by the way; it is used as an extension language by users of some popular programs, notably AutoCAD. But Tcl has been much more successful. It has been compiled into hundreds of larger programs, including AOLserver, which is why we wrote this book.
As a software developer, you're unlikely to get rich. So you might as well try to get through your life in such a way that you make a difference to the world. Tcl illustrates one way:
- make something that is simple enough for almost everyone to understand
- give away your source code
- explain how to weave your source code in with other systems
Tcl was available. Tcl was easy to download and designed to fit inside larger application programs. But the Tcl interpreter as distributed had one terrible bug: it wasn't thread safe, i.e., you couldn't have two copies of the Tcl interpreter running inside the same program at the same time. Doug and Jim had to read through the Tcl source code and modify it to be thread safe. So it was critically important for them that Tcl was open-source and simple enough so as to not require months or years of study to understand the whole system. Compare this to Lisp. Some of the best and brightest computer scientists raised money to build commercial Lisp implementations that they then went out and hawked in an indifferent and confused marketplace. They succeeded only in breaking their hearts and their investors' wallets. A handful of academics produced free open-source implementations, notably CMU Common Lisp (see http://www.cons.org/cmucl/) and various versions of Scheme (see http://www-swiss.ai.mit.edu/scheme-hom e.html; Scheme 48 is the closest to Tcl in spirit). But these multi-megabyte monsters weren't designed to fit neatly into someone else's program. Nor was there any document explaining how to do it.
Lisp developers have the satisfaction of knowing that they got it right 30 years before anyone else. But that's about all they have to show for 40 years of hard work and hundreds of millions of dollars in government and private funding. These days, most former Lisp programmers are stuck using Unix and Microsoft programming environments and, not only do they have to put up with these inferior environments, but they're saddled with the mournful knowledge that these environments are inferior.
--
"But, Mulder, the new millennium doesn't begin until January 2001." -
Re:Fit four years into one? Thats going to be toug
Differential and Integral calculus are covered in the most basic math course (18.01) at MIT. Most students have finished Multivariable (18.02) and Differential Equations (18.03) by their freshmen year. Both 18.01 and 18.02 are "General Institute Requirements" (necessary for graduation regardless of your major).
I don't think the ArsDigita course intends to go past the material present in 18.01. Fitting single-variable calculus into a month isn't as bad as you might think. Remember, they're going after the best and brightest grads, people who have learned how to learn. -
Re:Fit four years into one? Thats going to be toug
Differential and Integral calculus are covered in the most basic math course (18.01) at MIT. Most students have finished Multivariable (18.02) and Differential Equations (18.03) by their freshmen year. Both 18.01 and 18.02 are "General Institute Requirements" (necessary for graduation regardless of your major).
I don't think the ArsDigita course intends to go past the material present in 18.01. Fitting single-variable calculus into a month isn't as bad as you might think. Remember, they're going after the best and brightest grads, people who have learned how to learn. -
Re:Fit four years into one? Thats going to be toug
Differential and Integral calculus are covered in the most basic math course (18.01) at MIT. Most students have finished Multivariable (18.02) and Differential Equations (18.03) by their freshmen year. Both 18.01 and 18.02 are "General Institute Requirements" (necessary for graduation regardless of your major).
I don't think the ArsDigita course intends to go past the material present in 18.01. Fitting single-variable calculus into a month isn't as bad as you might think. Remember, they're going after the best and brightest grads, people who have learned how to learn. -
Re:Fit four years into one? Thats going to be toug
Differential and Integral calculus are covered in the most basic math course (18.01) at MIT. Most students have finished Multivariable (18.02) and Differential Equations (18.03) by their freshmen year. Both 18.01 and 18.02 are "General Institute Requirements" (necessary for graduation regardless of your major).
I don't think the ArsDigita course intends to go past the material present in 18.01. Fitting single-variable calculus into a month isn't as bad as you might think. Remember, they're going after the best and brightest grads, people who have learned how to learn. -
Re:Alexander Pojitnov's Legacy
Rumors of Alexey Pajitnov's death have been greatly over-stated.
(It wasn't him, it was a business associate.)
Pushed past the brink: Business pressures led Palo Alto exec to kill wife, son and self
http://www.sfgate.com/cgi-bin/article.cgi?file=/ex aminer/archive/1998/09/24/NEWS7742.dtl
WHILE HE WRESTLED with the financial difficulties of his San Francisco-based software company, Vladimir Pokhilko watched from the sidelines as business associates and friends readied the lucrative relaunch of Tetris, the world's most popular video game.
Apparently pushed to the edge, Pokhilko - president of AnimaTek, a San Francisco-based software design company - brutally murdered his 39-year-old wife, Elena Fedotova, and their 12-year-old son, Peter Pokhilko, before killing himself, police said Wednesday.
A business associate said Pokhilko had been wrestling with company problems brought on, in part, by the economic upheaval in Russia, where 70 of AnimaTek's 82 employees work.
Adding to those pressures, said Henk Rogers, who helped found AnimaTek in 1988, was a push to get more financing to create software that would yield "Hollywood-type" computer effects.
"We were in the middle of raising money," said Rogers. "It was nothing out of the ordinary. Nothing that we couldn't see past the end of."
But sometime Monday night, in the family's home on the 400 block of Ferne Avenue in southern Palo Alto, Pokhilko killed his family and then himself, police believe. Pokhilko hit Fedotova, a popular yoga instructor, and Peter, a seventh-grader, with a hammer, and repeatedly stabbed them with a hunting knife, apparently as they lay sleeping.
Then he stabbed himself once in the throat with the knife, police said.
"It's unfathomable that someone would do this to themselves and a child," said Palo Alto police spokeswoman Tami Gage.
A close family friend called police at 3:30 p.m. Tuesday, after he arrived at the family home, having failed in repeated attempts to reach the family by phone.
The pajama-clad bodies of Fedotova and Peter were found in their beds by police. There was no sign of a struggle, indicating they may have been sleeping when they were attacked.
Pokhilko's body was found in Peter's room, with the hunting knife in his hand, police said.
Along with the knife, police recovered the hammer believed to have been used in the attacks, and they found a note. Investigators would not release its contents.
"Not a suicide note'
"It is not a suicide note," Gage said. "We don't even know who wrote the note or how significant it might be."
Wednesday, the community was reeling from the horrific incident.
Flags at Jane Lathrop Stanford Middle School, where Peter was a student, flew at half-staff. And during the day, about 40 of his classmates placed a makeshift memorial of poster board in front of the family house. The poster board carried messages such as "In loving memory of Peter" and was covered with signatures of classmates and teachers.
Meanwhile, more was learned about Pokhilko, 43, whose firm, AnimaTek, emerged from a partnership formed in Moscow more than a decade ago with Rogers and Russian computer scientist Alexey Pajitnov, who invented the video game Tetris in 1985.
Pajitnov based Tetris, which entails lining up stacks of blocks as they drop to the bottom of a computer screen, on an ancient Roman puzzle called Pentamino.
Pokhilko, a Russian clinical psychologist and a longtime friend of Pajitnov's, had been experimenting with using puzzles as psychological tests when Pajitnov first showed him his invention, said Rogers.
Mass appeal of puzzle
Pokhilko immediately saw the mass appeal of the puzzle and convinced Pajitnov it would make a great computer game. But in 1986, before the game was published, Soviet authorities demanded that Pajitnov sign over all rights to the game.
Later, Pokhilko and Pajitnov teamed to create other digital diversions, including El-Fish, a virtual aquarium.
In a 1996 Examiner interview, Pajitnov said he had acquiesced to the Soviet demand to sign over the rights of Tetris because he feared reprisals.
"I would have been in prison for sure had I gone directly to Nintendo," Pajitnov said. "I would have had to be a dissident and possibly be cheated for everything anyway. So it wasn't worth it."
During the 10 years the Soviet government brokered deals with Nintendo, Atari and other video-game makers, Pajitnov lost an estimated $40million in royalties.
One of those who brokered the largest license agreement was Rogers, whose Japan-based Bullet Proof Software locked in the rights to sell Tetris to its largest market, the hand-held gaming-device industry.
"That was the biggest market for Tetris," Rogers said. "That's what made the game huge."
Rights revert to inventor
In 1996, the Soviet restrictions expired and Tetris rights reverted to inventor Pajitnov, who, at Roger's urging, had immigrated to the United States five years earlier with Pokhilko.
Rogers had helped the pair open AnimaTek International Inc., a software development company creating computer-generated terrains and characters for the gaming industry. Pokhilko became president of the company. Rogers was the chairman and largest stockholder.
But two years ago, when the Soviet rights to Tetris expired, Rogers said, he formed the Tetris Co., which bought the rights to the game from Pajitnov, leaving Pokhilko out of the loop.
Rogers also launched Blue Planet Software, which he said was to publish the next-generation Tetris computer games, including versions that would allow players to conduct Tetris matches over the Internet.
The new version is expected to be a big hit.
"There's a lot of anticipation around (the new Tetris)," said Cindy Blair, publisher of the San Francisco-based Game Developer magazine. "It's huge. It's one of the biggest games, ever."
Btw, you can download the original tetris.exe.
For more some background read The Tetris saga. -
Been there, done that
This has already been done. Check out MIT's Hacks gallery.
-
A Brief History of Wearable Computing
They didn't mention A Brief History of Wearable Computing.
-
Re:About #^@%!$* Time!
Somebody get me Ada, we've got work to do...
I found GNAT (the GNU Ada compiler) on Google.
Kill Unisys and all the rest of the software patenters. -
Economist Paul Krugman has a relevant column
At In praise of cheap labor, MIT Economist Paul Krugman argues, "Bad jobs at bad wages are better than no jobs at all..."
-
Economist Paul Krugman has a relevant column
At In praise of cheap labor, MIT Economist Paul Krugman argues, "Bad jobs at bad wages are better than no jobs at all..."
-
Something in Java?
I found this
which seems to do PERT Charts at least. -
openbsd v. the worldi have to clarify something, after reading too many of the same posts about openbsd. many people are under the impression that openbsd is the same as free- or netbsd, and it just comes packaged with more crypto software.
actually, the encryption mechanisms are built right into the operating system, in such a way which would make it illegal to export, if the project were based in the us (which it obviously isn't).
this cryto-integration is what makes openbsd unique.
so yes, you could make freebsd or linux "as secure" as openbsd*, but you won't get crytography on the same level. that's why cypherpunks like myself find openbsd to be such a worthy project.
*(if you can really measure security in such an immature way. security is as much a function of proper administration as it is software. "security is a process, not a product" (paraphrased))
the orange book (and most of the other books in the rainbow series) provide standards for trusted (ie secure) operating systems in different levels of government and military facilities. "trusted" means just that -- a system of trusts, to guarantee that you can trust data to be valid.
trust systems and crytography are two different things.
for instance kerberos (my favorite trust/authentication system) is NOT a type of encryption, as many here seem to think, but a trust system which USES encryption as part of its processes. kerberos in particular is interesting because it authenicates (gains trust) with multiple methods, including passwords, box address, et cetera. you can put the authenication on one server, the password database on another, and do all sorts of devious little things to make it *very* difficult for interlopers. read some of the MIT material and you'll probably be as impressed as i was when i first began studying it.
the best introduction you can possibly find is this one, which explains kerberos' theories of authentication in the form of a short play, where two developers are designing an authenication system. it shows exactly why kerberos has to be as complex as it is, to establish true trust between hosts.
kerberos can use any type of encryption to do its work. the system isn't tied to one method, even though it usually seems to be implemented with a DES-derived algorithm. if you need maximum data integrity, go with 3DES. if you need speed, use blowfish. do whatever you want.
i seem to have gotten quite a ways off-topic. oh well. just remember that openbsd is NOT just freebsd with the evil daemons turned off.
openbsd users can back me up on this. theo really is a paranoid son a a bitch, and i congratulate him for it. the point is, openbsd probably ALREADY qualifies for most of the rainbow book certifications. plus, theo and crew have a track record of finding and fixing security bugs long before the "competition".
probably the biggest thing holding it back is the lack of smp support, which should be changing in the next year. i'd like one of the openbsd core team members to comment on this, if possible. can you guys use any of the freebsd 4.0 code for the smp kernel? freebsd 4.0 really has some decent locking mechanisms, among other things. if you could take advantage of their work, openbsd-smp could really hit the ground running. god bless the bsd license!
-
openbsd v. the worldi have to clarify something, after reading too many of the same posts about openbsd. many people are under the impression that openbsd is the same as free- or netbsd, and it just comes packaged with more crypto software.
actually, the encryption mechanisms are built right into the operating system, in such a way which would make it illegal to export, if the project were based in the us (which it obviously isn't).
this cryto-integration is what makes openbsd unique.
so yes, you could make freebsd or linux "as secure" as openbsd*, but you won't get crytography on the same level. that's why cypherpunks like myself find openbsd to be such a worthy project.
*(if you can really measure security in such an immature way. security is as much a function of proper administration as it is software. "security is a process, not a product" (paraphrased))
the orange book (and most of the other books in the rainbow series) provide standards for trusted (ie secure) operating systems in different levels of government and military facilities. "trusted" means just that -- a system of trusts, to guarantee that you can trust data to be valid.
trust systems and crytography are two different things.
for instance kerberos (my favorite trust/authentication system) is NOT a type of encryption, as many here seem to think, but a trust system which USES encryption as part of its processes. kerberos in particular is interesting because it authenicates (gains trust) with multiple methods, including passwords, box address, et cetera. you can put the authenication on one server, the password database on another, and do all sorts of devious little things to make it *very* difficult for interlopers. read some of the MIT material and you'll probably be as impressed as i was when i first began studying it.
the best introduction you can possibly find is this one, which explains kerberos' theories of authentication in the form of a short play, where two developers are designing an authenication system. it shows exactly why kerberos has to be as complex as it is, to establish true trust between hosts.
kerberos can use any type of encryption to do its work. the system isn't tied to one method, even though it usually seems to be implemented with a DES-derived algorithm. if you need maximum data integrity, go with 3DES. if you need speed, use blowfish. do whatever you want.
i seem to have gotten quite a ways off-topic. oh well. just remember that openbsd is NOT just freebsd with the evil daemons turned off.
openbsd users can back me up on this. theo really is a paranoid son a a bitch, and i congratulate him for it. the point is, openbsd probably ALREADY qualifies for most of the rainbow book certifications. plus, theo and crew have a track record of finding and fixing security bugs long before the "competition".
probably the biggest thing holding it back is the lack of smp support, which should be changing in the next year. i'd like one of the openbsd core team members to comment on this, if possible. can you guys use any of the freebsd 4.0 code for the smp kernel? freebsd 4.0 really has some decent locking mechanisms, among other things. if you could take advantage of their work, openbsd-smp could really hit the ground running. god bless the bsd license!
-
Mental Illness and American Society...
Not to disrespect the other cultures reading this, but I'm an American, and thus, this post reflects my culture. YMMV for your country.
I've had at last count 4 friends with bipolar manic-depressive illness. One managed to succeed in killing himself: you may have known him. I lived with a mildly (ie, not bad enough to be clinically diagnosed, but definately there) bipolar friend for 2 years, so I've seen exactly what this does to people.
The real problem here in the US is the lack or recognition that mental illness is a real disease. Alot of the pseudo-bullshit "new" mental illness diagnosis that seem to pop up (with the sole purpose (or so it seems) to get compensation under the Americans with Disabilities Act) certainly re-inforce this view in the public's eyes. The shame that often goes with the formal diagnosis of mental illness merely is the last turn in a vicious circle.
In answer to the Pinkerton WAVE thing, the NYTimes has a great article on so-called "ramage killers". Guess what? A majority of them were diagnosed with a clinical mental illness. Were they getting proper treatment? Nope. Were they being supported in a reasonable manner? Nope. Hmmmmm.
A poster awhile back suggested that school children undergo mandatory psych exams, and that they be put on (drug) therapy if they showed any signs of being a "problem". Actually, I think the basic idea is a good one. Early diagnosis of a disease is critical to long-term survial (ask any doctor). The rest of the idea isn't so hot. But I think it would be a good idea if schools had everyone talk to a psychologist once a semester. It'd cut down the biggest barrier to helping those with mental illness - the stigma of asking for help. Kids would be able to get help without being even more of an outcast. And you'd have a great opportunity to bring in the parents, who are going to be the biggest help to the kid.
I don't think anything could have help Marty, as much as I wonder if there was something I missed or could have done. However, I'm now really sensitive to people who show any of these signs, and do what I can for them - which is often hard, as accepting such help is often the last thing someone is willing to do. <sigh>
Lastly, I don't see any particular concentration or statistical blip on bi-polar people being programmers/geeks. Sorry, but this is something that I've seen in virtually all sorts of people. It's a disease. Attempting to pigeon-hole bipolars as geeks (or vice versa) is incorrect. Period.
5 years, 2 months, 8 days - Marty, you idiot.
-Erik
-
Some online AI resourcesSome online AI resources:
The Hitch-hiker's Guide to Evolutionary Computation contains links to some online software, most of which is free and open-source.
The about.com AI page appears to be a good starting point for many AI related web sites.
Hope this helps.