Domain: nec.com
Stories and comments across the archive that link to nec.com.
Comments · 437
-
Re:Overhaul SQLThe best "functional-relational" language I've ever read about was Datalog (1993). But there is still the same question - why hasn't it become popular?
The only answer I can see myself is that most of limitations in "pure" ANSI SQL are compensated (somehow) by integration (embedding) SQL with conventional (mostly procedural) programming languages. I agree that the result of such integration is "dirty". However does anyone else (besides me and you) in the world understand it?
Actually, there other such people, but their ideas about post-SQL are considered as crazy and no one commercial company wants to adopt it.
Perhaps open source can? How about functional programming extention to PostgreSQL? It's already got PL/* extension to integrate SQL with procedural languages. How about FL/*? It would be exciting to have FL/Haskell, FL/Lisp, FL/Scheme and FL/ML in PostgreSQL! Just remember, when I mean FL/Schema I don't mean pgsql *client* library linked to the guile or gauche interpreter. I mean that the scheme interpreter library will be added (embedded) to PostgreSQL *server* as a server-side FL/Scheme programming extension in a way similar how Python interpreter library is added (embedded) to PostgreSQL *server* as a PL/Python server-side language extension.
And why stop on FL? How about Logical and Function-Logical programming language extensions in PostgreSQL? LL/Prolog, FLL/Curry - you name it!
:)Now the question is who will do it and on what budget?
-
Re:Go client/server?
Ah good, someone got in before me
:) It is definatly a good idea to separate out the GUI part when dealing with cross-platform applications, since a lot of portability problems reside there.In all honesty, I don't recommand Qt or wxWindows - they are great toolkits, but you lose out heavily on productivity compared to visual development environments with GUI builders. While both of these have associated builder tools, I don't consider them very mature of capable compared to VB or Delphi/C Builder. There is also a write-once-debug-and-tweak-everywhere concern (just getting wxWindows looking good on Windows and Solaris takes some effort).
Java is a great choice as it is supported on many platforms, has powerful GUI classes, a couple of builder products, and has several means for client/server support, including CORBA. But for UI applications it isn't hugely productive (strangely enough).
Some of your other options include ParaGUI and SDL, gTk, GraphApp, V, Mozilla's XPToolkit and XUL, and WideStudio.
I have grappled with exactly this question (legacy C/C++ needing to go cross platform with GUIs), and the best answer I've come up with so far is to keep your main code in C/C++ (since you have the legacy code AND the skills), define a clear UI abstraction layer, and create the UI in a scripting language such as Tcl or Python. Use SWIG to tie the script to native C functions.
I have more experience with Tcl/Tk, and believe it is more widely portable (especially the GUI consistency), but it is slower and arguably more difficult to program than Python. Still, this depends on what skills you can acquire, and what your UI requirements are.
Prechelt has an empirical comparison of some languages, including C/C++, Python, Tcl and Perl, and most importantly he has productivity figures! Keith Waclena has a Language Crisis page of comparisons, and Doug Bagley hosts the Great Computer Language Shootout. There are all invaluable resources for determining a balance between portability, functionality and productivity.
-
Earlier Tetris Papers on 'Loseability'
Some little-known related references: A CS student at Univ of BC, John Brzustowski, did his Master's thesis on the problem of winning at Tetris if the computer is aware of your moves and reacting to them. He apparently proved that there is a finite sequence of tetrominos, which, if the machine selects them, you must lose. His work is cited in this later paper by H. Burgiel called "How to Lose at Tetris", which proves more generally that the computer can always produce a sequence of lose-forcing tetrominos, whether or not it's aware of your moves: paper is here.
-
NP-Completeness
-
Related Philosophic Bibliography
... Just a few more things to throw in. If you're interested in Philsophy of Language and Phil. of Mathematics, you're also likely to be interested in formal semantics and other programming language areas, which are not neccessarily linked to "Theory of Computation". These fields delve much more into meaning of programming languages, rather than merely the computational or algorithmic side.
For semantics, I don't have any good sources to refer you to, as I've only got lecture notes explaining the basics, but you want to look for discussion of "denotational semantics" These are discussed most in the functional language community. The Scheme spec (r5rs) has a denotational semantics for the language. "Monads" are also an area of some interest... but monads and category theory may be leaning more towards the mathematical side.
Another related article:
Rayside, Derick, Gerard T. Campbell
"An Aristotelian Understanding of Object-Oriented Programming"
OOPSLA '00 10/00 Minneapolis, MN USA
[conference procedings]
http://citeseer.nj.nec.com/rayside00aristotelian.h tml
Here are two cites ripped from a course web page somewhere:
J.C.Reynolds, Theories of Programming Languages, Cambridge University Press 1998, ISBN 0-521-59414-6
D.A.Schmidt, Denotational Semantics: A Methodology for Language Development, WCB Publishers, Dubuque, Iowa 1988, ISBN 0-697-06849-8
A few other things that may or may not be of interest in object oriented areas:
Black, Andrew, Jens Palsberg. Foundations of Object-Oriented Languages ACM SIGPLAN Notices. Volume 29, No. 3, March 1994.
Cook, William R., Walter L. Hill, and Peter S. Canning. Inheritance Is Not Subtyping. in Theoretical Aspects of Object-Oriented Design. ed. Carl A. Gunter and John C. Mitchel. MIT Press, Cambridge, Mass.: 1994.
Danforth, Scott, Chris Tomlinson. Type Theories and Object-Oriented Programming. ACM Comput-ing Surveys, Vol. 20, No. 1, March 1988, p. 29 -
Re:No, computers don't need math
Actually even if you're just doing basic sorts, searches and manipulate data structures, its amazing how much math goes into it. Ever considered the algorithmic complexity of using binary trees versus randomized data structures like skip lists?
You can be a "computer programmer", but to be a good one that actually has a brain and knows the pros and cons of the algorithms you're coding out requires math. At least the basics of probability theory and calculus. -
Re:Neglected subject, good review, integer!=assemb
A year (or so) ago I attended a lecture given by Guy Steele (of Lisp/Java/ Crunchly fame) on his proposal to alter how IEEE floating point numbers are mapped to real numbers. It quickly flew over my head, but gave a great insight into the whole field.
Steele is God. He also invented Scheme, wrote the original Common Lisp manual, co-wrote with Harbison a classic reference manual for C, and wrote parallel languages for the Connection Machine.
On trying to do some "why didn't I get this stuff at college" reading, I found there wasn't a great deal of literature.
This is widely considered a good introduction. -
Nada new under the sun
Costa Rica did it 5 years ago with AT&T. It was based on quite interesting technology called Byzantine Quorums. The goal was an effecient replication of the same info over a network. The idea is that you don't have to copy the data to all participating nodes, only to a Quorum... (The name Byzantine comes from much earlier "Byzantine Generals" problem).
-
Are you sure you don't have it backward?
The trouble is, that functional languages, while they may be more powerful, are much harder to write well in, generally taking you far longer to get to the finished state you want.
Are you sure you don't have it backward about the amount of time it takes to write software in functional languages? Most of the people I know who are good programmers of both functional and imperative languages consider the former to be considerably more efficient when it comes to programmer time. My experience with functional vs. imperative languages has certainly shown this to be the case. Likewise, industry groups that have made investments in functional programming have found significant increases in programmer productivity.But don't take my word for it:
- Prototyping Real-Time Vision Systems: An Experiment in DSL Design (1998) Abstract: We describe the transformation of XVision, a large library of C++ code for real-time vision processing, into FVision (pronounced "fission"), a fully-featured domain-specific language embedded in Haskell. The resulting prototype system substantiates the claims of increased modularity, effective code reuse, and rapid prototyping that characterize the DSL approach to system design....
- Four-fold Increase in Productivity and Quality: Industrial-Strength Functional Programming in Telecom-Class Products (PDF) Abstract: The AXD 301 ATM Switch is the flagship in Ericsson's line of Datacom products. A fault tolerant and highly scalable backbone ATM switch, AXD 301 has enabled Ericsson to take the lead in the migration of public telephony networks to becoming true multiservice networks, offering both quality voice and broadband data services on the same backbone.... This paper demonstrates how the development of such systems is supported by the Erlang/OTP technology. The Erlang [functional] programming language was developed by Ericsson specifically for the purpose of building fault tolerant, distributed and complex systems.... The paper demonstrates how Erlang supports the characteristics mentioned, while offering unusually high productivity.
- Haskell vs. Ada vs. C++ vs. Awk vs.
... : An Experiment in Software Prototyping Productivity: Abstract: We describe the results of an experiment in which several conventional programming languages, together with the functional language Haskell, were used to prototype a Naval Surface Warfare Center (NSWC) requirement for a Geometric Region Server. The resulting programs and development metrics were reviewed by a committee chosen by the Navy. The results indicate that the Haskell prototype took significantly less time to develop and was considerably more concise and easier to understand than the corresponding prototypes written in several different imperative languages, including Ada and C++. - Functional languages in microcode compilers (ACM Digital Library). Abstract: This paper discusses the advantages of using high-level languages in the development of microcode. It also describes reasons functional programming languages should be considered as the source language for microcode compilers. The emergence of parallel execution in microarchitectures dictates that parallelism must be extracted from the microcode programs. This paper shows how functional languages meet the needs of microprogrammers by allowing them to express their algorithms in natural ways while allowing the microcode compiler to extract the parallelism from the program.
-
Whither rproxy?The article mentioned how great rsync is for HTTP traffic, and left it at that. I've seen rproxy in the rsync source tree, but I wonder how active it is these days, and whether it has a chance for wide adoption. What good is cutting the transfer down by 90% if no one uses it? Also, there's a somewhat dated study of delta-encoding (and rsync/rproxy is in this genre) that raises the issue of how frequently the same data is retrieved repeatedly.
Does anyone have empirical evaluations of deltas (including, but not necessarily limited to, rproxy) on today's workloads?
-
Re:#8 = Internet Explorer.Not perfect, but at least the lizard has a verifiable codebase.
Not in the sense people who talk about verifying means. Mozilla would probably take at least 1k man years to verify. If you don't understand what I mean, take a look at e.g. this, which should give you an idea of what verifyable programming means.
-
Re:What other schools and students have done (both
Throttling creates a shit load of traffic inself.
not if they use TCP rate control (which a PacketShaper can do)
-
So many DHTs, so little time....
All the major DHT groups are involved. I wonder which DHT they're going to use.....
Rice: Pastry (n-Hypercube)
MIT: Chord (Ring-based)
Berkeley: Tapestry
ICSI: CAN (Mesh-based) -
So many DHTs, so little time....
All the major DHT groups are involved. I wonder which DHT they're going to use.....
Rice: Pastry (n-Hypercube)
MIT: Chord (Ring-based)
Berkeley: Tapestry
ICSI: CAN (Mesh-based) -
So many DHTs, so little time....
All the major DHT groups are involved. I wonder which DHT they're going to use.....
Rice: Pastry (n-Hypercube)
MIT: Chord (Ring-based)
Berkeley: Tapestry
ICSI: CAN (Mesh-based) -
So many DHTs, so little time....
All the major DHT groups are involved. I wonder which DHT they're going to use.....
Rice: Pastry (n-Hypercube)
MIT: Chord (Ring-based)
Berkeley: Tapestry
ICSI: CAN (Mesh-based) -
Re:Good for more then PDA's
That's just not true; Shor's algorithm transfers quite nicely to solving what is essentially the discrete log problem in a group. IOW: Elliptic curve cryto is not any safer. See This
-
Re:Good for more then PDA's
there is no known weakening from quantum computers of elyptic curve cryptosystems
Huh? "Using the Quantum Computer to Break Elliptic Curve Cryptosystems" -
Naive Bayesian Learning
Finally it is worth mentioning that if you really want to go a 100% Bayesian route, try Charles Elkan's paper, "Naive Bayesian Learning". That approach should work very well but is a good deal more complicated than the approach described above.
Here is the article[citeseer.nj.nec.com] -
Re:Did you *READ* the article?
AFAIK, the free and open-source PostgreSQL also has similar technology built in.
Not AFAIK -- the PostgreSQL query optimizer uses statistics collected periodically (namely, when the ANALYZE or VACUUM ANALYZE commands are run); optimizer statistics are not updated with any data collected by during query execution. I'm not saying that self-tuning optimizer statistics are a bad idea, but they haven't yet been implemented in PostgreSQL. You might be referring to GEQO (a version of the query optimizer built-in to PostgreSQL that uses a genetic algorithm to avoid an exhaustive search of the solution space for large join queries), but that is obviously completely different.
Here's a good paper on a related Microsoft technology: STHoles: A Multidimensional Workload-Aware Histogram. IMHO that's the most interesting part of the AutoAdmin stuff mentioned in the article -- I don't care for the performance tuning wizard so much. Also, the design of the IBM LEO query optimizer, mentioned in the article, is described in this paper: LEO - DB2's LEarning Optimizer. -
Re:Did you *READ* the article?
AFAIK, the free and open-source PostgreSQL also has similar technology built in.
Not AFAIK -- the PostgreSQL query optimizer uses statistics collected periodically (namely, when the ANALYZE or VACUUM ANALYZE commands are run); optimizer statistics are not updated with any data collected by during query execution. I'm not saying that self-tuning optimizer statistics are a bad idea, but they haven't yet been implemented in PostgreSQL. You might be referring to GEQO (a version of the query optimizer built-in to PostgreSQL that uses a genetic algorithm to avoid an exhaustive search of the solution space for large join queries), but that is obviously completely different.
Here's a good paper on a related Microsoft technology: STHoles: A Multidimensional Workload-Aware Histogram. IMHO that's the most interesting part of the AutoAdmin stuff mentioned in the article -- I don't care for the performance tuning wizard so much. Also, the design of the IBM LEO query optimizer, mentioned in the article, is described in this paper: LEO - DB2's LEarning Optimizer. -
Re:Mac tech promised, demo'd, here-and-gone, whate
Here's the archive of Apple's official Hotsauce (aka Project X) homepage, which is what you're thinking of. Yeah, even Yahoo was up on the Meta-Content Framework deal.
V-Twin was the basis for the summarize feature, I think there's still an SDK up for it.
Personally, I liked PowerTalk. A system-wide, integrated mail and collaboration framework with a standardized mailing interface.
Even if the implementation is done with LDAP, PGP, and Sendmail now, I really wish they'd bring back those APIs for application code. The "digital signing" concept integrated into the API was better integrated than Apple File Security in Mac OS 9, and better than anything in OS X right now. Remember being able to verify a document's signiature from the Get Info window? The Keychain is the only concept that survived.
QuickDraw GX ( here or here) was WAY ahead of its time. Although a lot of its features found their way into ATSUI with Unicode, QDGX still had soul. I still don't know of any program that can do all the really really fancy and obscure ligatures properly.
Probably my FAVORITE technology was/is Apple Guide. There's nothing quite like a help system that draws coach marks on the screen when telling you how to perform a step. That plus hilighting proper menu options in red, and the fact that it wasn't glacially slow once it became PowerPC native, made it a really amazing conversion tool.
Balloon Help was quirky and fun. I don't really understand why they replaced something so cool with something as lame as Tooltips. =(
QuickDraw 3D and Apple Data Detectors had some cool concepts too. Maybe we should get them to re-write Data Detectors using Perl regexps :)
Arrgh.. the OS that Could Have Been... Try the old Apple Advanced Technology Research Group website for more stuff. -
use a verified virtual machine and compilerTrying to write such a system in C/C++ strikes me as rather stupid. It is extremely hard to write reliable software in C/C++. That may not matter much for desktop applications, but it matters when billions of dollars are in the balance.
They obviously don't need very high performance, since it runs on 1970s hardware, but they do need high reliability and low development costs.
That means that they should be using a safe, secure high-level language. Something with a virtual machine might be a good idea so that it will be easy to adapt to new hardware platforms: you verify the virtual machine on the new machine and then have reasonable confidence that your code runs.
If they want something in widespread use, a home-built Java byte-code interpreter (not a JIT--they are too buggy) might be a reasonable choice--it's well specified and there are lots of people who know how to program it. They should probably avoid JNI like the plague and instead add new bytecodes for I/O and communications and verify them the same way that they do the virtual machine itself.. VLISP might be another good choice--or at least a source of ideas for how to implement a verified Java interpreter--DARPA already has paid for its development.
And they should hire someone who doesn't recommed COTS with C++, lest we see the next shuttle go up in flames again.
-
Donate some of it to Science
Take a few of your back catalog of music and make MIDI files of them. Release them as Public Domain for music search engine research, like what is done here. What is truely keeping searching technology down is the lack of a standard large and public corpus that can be used to compare different techniques. RIAA won't allow any of thier catalogue to be used. If only non-RIAA people show up in these public research indices, then only non-RIAA artists will be findable from them. And if people like the midi, they might look for/purchase the originals. Something to think about.
-
GPL for research papers!
I agree, that the journal publishers provide nothing more than a peer-mating service and copyediting.
That's why I find it a scandal that they charge that much for a copy. It is not, that they actually have pay to much for, because AFAIK peer-review is done for the fame alone. As I see it, they get copyright on articles, written by tax-funded researchers... and earn quite well on it.
I would be very much on favour for kind of a GPL for research papers. Anyone knows about such tendencies?
(By the way: I always found this link quite useful)
-
A solution already exists: citeseer!
http://citeseer.nk.nec.com/
Papers are linked by citations, as well as similarity based on content. Much citations can be considered as good paper. -
Re:Boo Hoo
AFAIK the page views do not increase the ranks. Only the links that determine hubs/authorities do. Here are some of the papers relevant to the original research: [1] [2] [3] [4] [5] Or just go here to see all the 500+ relevant papers. Btw, [1] seems to be the original google algo so check that out first.
-
Re:Boo Hoo
AFAIK the page views do not increase the ranks. Only the links that determine hubs/authorities do. Here are some of the papers relevant to the original research: [1] [2] [3] [4] [5] Or just go here to see all the 500+ relevant papers. Btw, [1] seems to be the original google algo so check that out first.
-
Re:Boo Hoo
AFAIK the page views do not increase the ranks. Only the links that determine hubs/authorities do. Here are some of the papers relevant to the original research: [1] [2] [3] [4] [5] Or just go here to see all the 500+ relevant papers. Btw, [1] seems to be the original google algo so check that out first.
-
Re:Boo Hoo
AFAIK the page views do not increase the ranks. Only the links that determine hubs/authorities do. Here are some of the papers relevant to the original research: [1] [2] [3] [4] [5] Or just go here to see all the 500+ relevant papers. Btw, [1] seems to be the original google algo so check that out first.
-
Re:Boo Hoo
AFAIK the page views do not increase the ranks. Only the links that determine hubs/authorities do. Here are some of the papers relevant to the original research: [1] [2] [3] [4] [5] Or just go here to see all the 500+ relevant papers. Btw, [1] seems to be the original google algo so check that out first.
-
Re:Boo Hoo
AFAIK the page views do not increase the ranks. Only the links that determine hubs/authorities do. Here are some of the papers relevant to the original research: [1] [2] [3] [4] [5] Or just go here to see all the 500+ relevant papers. Btw, [1] seems to be the original google algo so check that out first.
-
ComfortManagers spend money on projects because they often have a certain annual budget. They may be presented with three similar solutions and go for the most expensive because they may feel more comfortable with the supplier (something economists might term 'goodwill'). If their annual budget allows the spend it is not a problem. A manager would sooner spend twice as much money and have more assurance that the project will be successful and that he won't get fired!
Spending obscene amounts of money is also part of a manager's job. It gives them a feeling of self-worth. Just like a geek buying the latest quad processor Linux box. You don't need it but it is nice to spend money on things, epecially other people's.
It is not always like this. Government departments are notorious for taking the lowest bidder even when it doesn't make good sense. The big consultancies know how to play this game and put in very low bids but with very tight requirements. They know that they can make all the money back and then some on all the requirements changes the civil servants will make.
Some low bids are silly and show a lack of understanding of the complexity of the project. In the UK there is a famous project called the London Ambulance Service. The mission critical emergency service contract was given to a bidder an order of magnitude lower than the principle bids. The supplier did not grasp the complexity and mission critical nature of running an ambulance system. The result were a number of deaths as the system collapsed under the load. This failure has been very well documented in project management litterature and nobody wants to go there again.
Often big companies will win 'zero cost' bids in an order to freeze out the little guys. In 1995 my Internet startup put in a bid to build a small web site for a publisher (Letts). We quoted $8,000 dollars only to have a big multinational quote $0!. The multinational wanted to build a Web team, but we looked at their proposal and they had no understanding of the Web, it was rubbish. The client said 'you can't argue with $0' can you? Well you can if it is rubbish but whatever.
So in conclusion it is easy to look at your failure and draw the conclusion that only high price bids will win. But often there is a lot more invovled in the decision process than that. Also never underestimate the stupidity of the person making the purchasing decision.
If all that fails, try bribery. According to the accepted measures the US is quite low down on the bribery scale but in some countries it is the only way to win contracts. The cost reflects the amount of 'consultancy' you paid to the manager in the client firm.
David
-
Re:One of the worst technical articles....
"the idea of transferring back rendered images over the AGP bus for TV / film / etc. is a joke..."
Why? You don't seem to follow up this opinion with any facts to back yourself up. Being able to do things like Interactive Multi-Pass Programmable Shading means that you can achieve near-PRman levels of graphics quality, using standard graphics hardware. But, of course, you need to capture that back to main memory for it to be any use. That hardly seems worthy of your ridicule.
"as someone else pointed out, transferring back high-res images would take up over 200MB - that's a quarter of your AGP bandwidth!"
Who are you to decide what's a good use case, and what's a bad one? This sounds to me like a case where several different people have presented reasonable requests for features - and you're shooting them down because you think what they want to do is "a joke". Since this can be fixed with a software update, I think it's a pretty reasonable request.
"you simple couldn't realise the full potential of the bandwidth without a lot of other (expensive?) hardware..."
Why on earth do you make that claim? Could you back that up with some facts? The article is claiming that it's a software issue, only. In fact, the test they put together sounds like a very reasonable one - they're not coming anywhere NEAR using the bandwidth in creating the images, and still, they're getting horrible bandwidth, downloading them. That doesn't sound like contention and timing - that simply sounds like bad, bad drivers.
"you would be *far* better off taking a stream of data from the DVI connector"
So, now, to solve the bandwidth issue, you're going to add a second card to the motherboard. What magical, ethereal bus bandwidth will this second card use? I think you need to re-examine your argument on this point.
"However when does that require 3d rendering to be taking place?"
This isn't just talking about 3d rendering. This is all screen capturing.
"There should be no contention and no reason why the AGP bus couldn't be utilised fully"
Wait a minute - now you're switching your argument?
"would the graphics companies make enough out of this to justify the effort?"
As everyone keeps saying, this sounds like it can be fixed in software. That's a pretty negligible cost for the vendors to spend.
"As for internet streaming - how many people have access to bandwidth fast enough for high quality, full screen video streaming?"
What about intranet? Lots of companies have intranet bandwidth fast enough for what you're talking about.
Enough said... -
Dijkstra's work
Dijkstra was one of the pioneers in computer science. In most CS courses you can learn about Dijkstra work on semaphores and concurrency.
The Dining Philosophers problem is a famous synchronization problem proposed by Dijkstra concerning resource allocation between processes.
Here you can see some of his papers.
-
Re:One big thing Java needs
-
Good booksThese are the best books I've read:
Hofstadter: Gödel, Escher, Bach, an Eternal golden braid
Gamma et. al: Design Patterns, Elements of Reusable OO software.
Abelson, Sussman: Structure and Interpretation of computer programs.
Lakos: Large scale C++ software design.
Barendregt: Lambda calculi with types. http://citeseer.nj.nec.com/barendregt92lambda.htm
l Sorensen: Lectures on the Curry-Howard isomorphism. http://citeseer.nj.nec.com/519604.html
Knuth: The art of computer programming. (all volumes)
Rumbaugh et. al: Object oriented modeling and design
Brown et. al: Antipatterns, Refactoring software, architectures and projects in crisis.
Hopcroft, Ullman: Introduction to automata theory, languages and computation.
Henning, Vinoski: Advanced CORBA Programming with C++.
McConnell: Code complete, A practical handbook of software construction
McConnell: Rapid developement, taming wild software schedules
Brooks: The mythical man-month.
Meyer: Object oriented software construction
Andrews: Concurrent programming, principles and practice.
Russel, Norvik: Artificial intelligence, a modern approach
Meyers: Effective C++, 50 specific ways to improve your programs and designs.
Meyers: More effective C++, 35 new ways to improve your programs and designs.
These were selected from about 60 different books.
-
Good booksThese are the best books I've read:
Hofstadter: Gödel, Escher, Bach, an Eternal golden braid
Gamma et. al: Design Patterns, Elements of Reusable OO software.
Abelson, Sussman: Structure and Interpretation of computer programs.
Lakos: Large scale C++ software design.
Barendregt: Lambda calculi with types. http://citeseer.nj.nec.com/barendregt92lambda.htm
l Sorensen: Lectures on the Curry-Howard isomorphism. http://citeseer.nj.nec.com/519604.html
Knuth: The art of computer programming. (all volumes)
Rumbaugh et. al: Object oriented modeling and design
Brown et. al: Antipatterns, Refactoring software, architectures and projects in crisis.
Hopcroft, Ullman: Introduction to automata theory, languages and computation.
Henning, Vinoski: Advanced CORBA Programming with C++.
McConnell: Code complete, A practical handbook of software construction
McConnell: Rapid developement, taming wild software schedules
Brooks: The mythical man-month.
Meyer: Object oriented software construction
Andrews: Concurrent programming, principles and practice.
Russel, Norvik: Artificial intelligence, a modern approach
Meyers: Effective C++, 50 specific ways to improve your programs and designs.
Meyers: More effective C++, 35 new ways to improve your programs and designs.
These were selected from about 60 different books.
-
Re:WTH?!?!?
I love this. "Some benchmarks less than a year ago." How about a citation for that? I'd certainly be interested.
These sorts of comparisons are notoriously difficult because they are often inherently apples-and-oranges comparisons. However, here are a few reasonable (and recent) citations that document a persistent performance gap between Java and C/C++.
@article{ fitzgerald00marmot, author = "Robert P. Fitzgerald and Todd B. Knoblock and Erik Ruf and Bjarne Steensgaard and David Tarditi", title = "Marmot: an optimizing compiler for Java", journal = "Software - Practice and Experience", volume = "30", number = "3", pages = "199-232", year = "2000 }
@inproceedings{ veldema01optimizing, author = "Ronald Veldema and Thilo Kielmann and Henri E. Bal", title = "Optimizing Java-Specific Overheads: Java at the Speed of C?", booktitle = "{HPCN} Europe", pages = "685-692", year = "2001"}
@article{ prechelt00empirical, author = "Lutz Prechelt", title = "An Empirical Comparison of Seven Programming Languages", journal = "IEEE Computer", volume = "33", number = "10", pages = "23-29", year = "2000" } -
Re:WTH?!?!?
I love this. "Some benchmarks less than a year ago." How about a citation for that? I'd certainly be interested.
These sorts of comparisons are notoriously difficult because they are often inherently apples-and-oranges comparisons. However, here are a few reasonable (and recent) citations that document a persistent performance gap between Java and C/C++.
@article{ fitzgerald00marmot, author = "Robert P. Fitzgerald and Todd B. Knoblock and Erik Ruf and Bjarne Steensgaard and David Tarditi", title = "Marmot: an optimizing compiler for Java", journal = "Software - Practice and Experience", volume = "30", number = "3", pages = "199-232", year = "2000 }
@inproceedings{ veldema01optimizing, author = "Ronald Veldema and Thilo Kielmann and Henri E. Bal", title = "Optimizing Java-Specific Overheads: Java at the Speed of C?", booktitle = "{HPCN} Europe", pages = "685-692", year = "2001"}
@article{ prechelt00empirical, author = "Lutz Prechelt", title = "An Empirical Comparison of Seven Programming Languages", journal = "IEEE Computer", volume = "33", number = "10", pages = "23-29", year = "2000" } -
Re:WTH?!?!?
I love this. "Some benchmarks less than a year ago." How about a citation for that? I'd certainly be interested.
These sorts of comparisons are notoriously difficult because they are often inherently apples-and-oranges comparisons. However, here are a few reasonable (and recent) citations that document a persistent performance gap between Java and C/C++.
@article{ fitzgerald00marmot, author = "Robert P. Fitzgerald and Todd B. Knoblock and Erik Ruf and Bjarne Steensgaard and David Tarditi", title = "Marmot: an optimizing compiler for Java", journal = "Software - Practice and Experience", volume = "30", number = "3", pages = "199-232", year = "2000 }
@inproceedings{ veldema01optimizing, author = "Ronald Veldema and Thilo Kielmann and Henri E. Bal", title = "Optimizing Java-Specific Overheads: Java at the Speed of C?", booktitle = "{HPCN} Europe", pages = "685-692", year = "2001"}
@article{ prechelt00empirical, author = "Lutz Prechelt", title = "An Empirical Comparison of Seven Programming Languages", journal = "IEEE Computer", volume = "33", number = "10", pages = "23-29", year = "2000" } -
Maybe not so pointless after all
What a pointless "technology".
"Pointless" would be to argue with you about the meaning of higher education.
Let's think what the article actually says: IBM has employed a technique which lets them estimate the original distribution of data by adding a certain amount of random data with know distribution. That surely should be useful in other areas as well?!
A Google seachr on Random Perturbation gives quite a long list with applications in wheather simulation, computer graphics, chaotic dynamical systems, etc.
Still pointless? What about a search in the then NEC Research Index? Wowwww... Pointless, eh...? -
NEC ResearchIndex CiteSeer
ResearchIndex is the best resources on the web when looking for anything pertaining to computer science technical reports. Learn it. Use it. Love it.
-
Re:Huh?I've never figured out how to check the moderation stats except in "Parent".
Click the (#3914122) in the header. You'll see he has one Underrated moderation and is currently at Score: 0, so he must've started at -1.
I still think he got the explanation right. ADSL is probably the issue.
Well, maybe he got it "right" in a trivial sense... but not in any useful sense.
Paraphrase of poster: "I have a DSL line where the upstream and downstream speeds are asymmetrical. Whenever I upload, it kills my downstream bandwidth because the ACKs aren't getting through fast enough. What can I do to fix this?"
Paraphrase of teknopurge's reply: "HAHAHAA!!1 The probelm isnt TCP dumbass! teh probem is that U SUXX0RZ cuz u have ADSL!! I M so l33t and have SDSL. Rawk!"
I think it's pretty obvious the poster has ADSL; he basically says so. And sure, SDSL doesn't have this problem. That wasn't the question though... and the problem has everything to do with TCP and its behavior on asymmetrical links... there have even been a few papers on the subject.
-
Re: It's been proposed.
try this paper. there are others, of course, this is only part of the architecture.
-
Re:Free sites already foil this, IIRC
there are methods that survive heavy recompression that show extreme resiliance even after being photocopied, scanned, and reprinted, being clipped rotated, etc. here's one though there's probably newer and better methods
-
Interestin paper on Checksums, CRCs
This is a very interesting paper on why things don't always work like we think they should...
Derek -
Re:You folks don't no sh*t about patent lawCryptome is slashdotted at the moment, so I can't go look at "Claim 1". But here's some interesting prior art, drawn from a paper "Signed Executables for Linux" by Leendert van Doorn, Gerco Ballintjin, and William A. Arbaugh, CS-TR-4259, June 2001"
- Pozzo and Gray first proposed signed executables for the Locus distributed system in 1986 .
- The IBM 4758 uses a signed package mechanism to load executables into the device, Smith and Weingart, 1990.
- Arbaugh built a mechanism for signed executables for SunOS and then FreeBSD in 1994.
----
Crispin Cowan, Ph.D.
Chief Scientist, WireX Communications, Inc.
Immunix: Security Hardened Linux Distribution
Available for purchase -
Re:You folks don't no sh*t about patent lawCryptome is slashdotted at the moment, so I can't go look at "Claim 1". But here's some interesting prior art, drawn from a paper "Signed Executables for Linux" by Leendert van Doorn, Gerco Ballintjin, and William A. Arbaugh, CS-TR-4259, June 2001"
- Pozzo and Gray first proposed signed executables for the Locus distributed system in 1986 .
- The IBM 4758 uses a signed package mechanism to load executables into the device, Smith and Weingart, 1990.
- Arbaugh built a mechanism for signed executables for SunOS and then FreeBSD in 1994.
----
Crispin Cowan, Ph.D.
Chief Scientist, WireX Communications, Inc.
Immunix: Security Hardened Linux Distribution
Available for purchase -
Re:isn't SLOC junk?SLOC is not a good measure of how "good" software is; merely of how complex it is, and how long it takes to develop. Studies have shown that SLOC is better at this than most other metrics:
(Citeseer says it was published in 1996, but it's actually from 1998.) ...lines of code has commonly been found to outperform many of the more complex composite measures of software development.- Powell, 1998