Domain: uni-kiel.de
Stories and comments across the archive that link to uni-kiel.de.
Comments · 17
-
Re:News for nerds or not
So did you read the two paragraphs that followed? And in case you think I'm imagining these compilers, flip to PDF page 129 (page 119 in the text) and see:
High-level optimizations (HLO) exploit the properties of source code constructs, such as loops and arrays, in the applications developed in high-level programming languages, such as C++. They include loop interchange, loop fusion, loop unrolling, loop distribution, unroll-and-jam, blocking, data prefetch, scalar replacement, data layout optimizations, and others. The option that turns on the high-level optimizations is -O3.
The optimizations I highlighted all will affect the data access pattern, especially loop interchange, blocking and data layout optimization. Next, check the date on the document: 2003. That's a decade ago. It's reasonable to expect they've only gotten more aggressive since then.
This much shorter survey of modern compilers also goes into optimizations that might change access order. They even call this reordering out: "Since loop interchanging may change the access pattern, care must be taken to not introduce non-unit stride access."
Welcome to modern compilers.
-
Good Job! Univ.ofKiel created the pro version 2003
The University of Kiel (Germany) presented quite exactly the same stuff (without the need of manually marking objects or object boundaries) at CeBiT 2003.
check this video (scroll page to "Movie for presentation on CeBIT 2003").
http://www.mip.informatik.uni-kiel.de/tiki-index.php?page=3D+reconstruction+from+images -
Re:Magnets BENDING light beam?!?!
-
Silicon!
There are obstacles, though: One of the key components needed for silicon PICs is the very high-speed silicon optical modulator, which is used to encode data on optical beam.
* Historical overview of silicon crystal pulling [pdf]
* Sam's Laser FAQ
Catalyzing development. (hopefully) :)
- Does anybody have links or papers re: manufacturing of fiber optics or very small optical beams? Would be great to have. -
Re:Not being a chemist
Let's do the math. The hydrogen sits in the space between the atoms in a Pd crystal. We have to find out how many atoms fit in one unit cell, and what the volume of the unit cell is.
Pd has a ccp crystal structure (see here for details). That is convenient, because that means there is one interstitial space per unit cell. The volume of the unit cell is 389.07^3 pm^3 or 5.89 * 10^-29 m^3. When hydrogen is absorbed by Pd, it splits in its atoms: H2 -> 2H. One interstitial space can contain one hydrogen atom. This means one molecule of hydrogen takes up 1.2*10^-28 m^3 in Pd.
At room temperature and pressure an ideal gas takes up 22.4 l/mol. One mol contains 6.022 * 10^23 molecules. This means in the gas, one molecule of hydrogen takes op (22.4*10^-3)/(6.022*10^23) = 3.7* 10^-26 m^3. This is a factor of 315 more than it takes up in the Pd crystal. Indeed the value of 900 is either grossly overstated, or I have made an error in my calculation. -
How to program for multiple coresThere are three ways to implement concurrency in a programming language:
- Shared-state concurrency
- Message-passing concurrency
- Declarative concurrency (synchronization on logic variables)
A post from this mailing list: Lambda the Ultimate
Peter Van Roy - Concurrency-oriented programming blueArrow
10/21/2003; 5:06:42 AM (reads: 1765, responses: 20)
Concurrency-oriented programming is a phrase invented by Joe Armstrong, the main designer of Erlang. Basically, we would like to write applications where the concurrency follows the concurrency of the problem. This should be easy (language support) and cheap (implementation support). As far as I know, there are only two languages that support COP: Oz and Erlang (I would love to be proven wrong here--please give me evidence for others, if they exist! I mean good implementations, not paper designs.)
The majority of existing languages are sequential; concurrency was added as an afterthought. This makes concurrent programming difficult for them. A typical example is Java: it has monitors (shared-state concurrency) and expensive threads. Two years ago, when I told the head of our department I wanted to teach concurrent programming in a second-year course, he exploded "That's impossible!".
The reaction of our department head is understandable: shared-state concurrency, the kind that Java has, is the hardest to program in. There are two other kinds of concurrency that are just as practical, but much easier to program: message-passing concurrency (asynchronous messages between sequential objects) and declarative concurrency (threads and dataflow synchronization added to functional programming).
The easiest is declarative concurrency (see chapter 4 of CTM). This seems to have been forgotten by almost everybody. Yet it is not new: the first article on it I found was by Gilles Kahn in 1974.
Declarative concurrency is so nice that I believe it should be the baseline execution model for functional programming. (Not strict or lazy evaluation, which are both sequential.) This leads to many good things, for example here are two. (1) All the usual functional building blocks become concurrency patterns. For example, Map is a broadcast that collects results, and FoldL is the heart of a concurrent object with internal state (it accumulates an internal state from a stream of messages). (2) I/O becomes very simple: program input is a stream and program output is a stream. This is a perfectly good solution to the problem of declarative I/O.
When you compare the three ways of concurrency programming, shared-state is the worst and declarative concurrency is the best. Declarative concurrency prevents the most bugs and makes you waste the least amount of thought effort on concurrency. There are implementations of the different kinds of concurrency:
- Message-passing concurrency:- Erlang Developed by Ericsson for their realtime telephone servers. Is mature and has concurrent communications and database libraries among other things.
- Oz was made as an implementation of the ideas in the book: "Peter van Roy (2004). Concepts, Techniques, and Models of Computer Programming. MIT Press" Where the idea was that different kinds of programming (concurrency, OO, Logic) could be implemented and cooperate in the same language. Not as mature as Erlang.
- Declarative concurrency (synchronization on logical variables):
- Curry is a extension of the language Haskell and, like Oz, combines different kinds of programming in one language. Unlike Oz, Curry uses declarative concurrecy. Curry is in an even earlier stage of development than Oz.
All these languages are open source and free but they are functional programming languages. The difference betwee
-
Porous Silicon
Is this too much different from photoluminesence from porous silicon ? That was shown in 90s and yes it wasn't coherent.
-
The guy is psycoLook at Gosling's homepage, especially what he wrote for the picture, where he hits Bill Gates' mask with a cake:
Of course, I couldn't resist joining in the fun. This is a picture of me opening JavaOne'98 about to pie one of the stage hands wearing a Bill Gates mask.
It just proves that on a top of Sun management, their major beleif is in hate. They hate enimies: the other Unix companies, Microsoft, now Linux.
I don't love Microsoft either, but I would consider myself as a psyco if I would dream of hitting the face of Bill Gates with a cake.
Now, why are we listening to him? What kind of smart ideas are in his proposals? Generic programming with self-reflections? It's done for decades in Lisp and MOP. Syntax-free programming language? It's alreadydone in FlatCurry (Curry is LP ancestor of FP language Haskell).
What he is done? Besides Java, everything else he's invented is dead. Java is designed conceptually so badly that it survives only due to a huge money investment from Sun. All his dreams about Java on the thin-client side are dead: web-designers prefer Flash rather than Java Applets. SWING is dead. The only place where Java is still demanded (by whom? by non-programming hype-addicted managers?) is the server room with Solaris servers (no wonder, huh?).
By the way, he was one of who killed Tcl (the best scripting language of that time (1995) b/c it was extremely extensible, i.e. OOP, FP, tcl2c, extensions), by kicking out the project of John Osterought, the Tcl inventor who worked for Sun that time.
Now all he is doing is reading old (and thus not very well known among the public) LISP/MOP books as well as academic FlatCurry papers (also not very well known) and stealing ideas for his Jackpod project.
-
The guy is psycoLook at Gosling's homepage, especially what he wrote for the picture, where he hits Bill Gates' mask with a cake:
Of course, I couldn't resist joining in the fun. This is a picture of me opening JavaOne'98 about to pie one of the stage hands wearing a Bill Gates mask.
It just proves that on a top of Sun management, their major beleif is in hate. They hate enimies: the other Unix companies, Microsoft, now Linux.
I don't love Microsoft either, but I would consider myself as a psyco if I would dream of hitting the face of Bill Gates with a cake.
Now, why are we listening to him? What kind of smart ideas are in his proposals? Generic programming with self-reflections? It's done for decades in Lisp and MOP. Syntax-free programming language? It's alreadydone in FlatCurry (Curry is LP ancestor of FP language Haskell).
What he is done? Besides Java, everything else he's invented is dead. Java is designed conceptually so badly that it survives only due to a huge money investment from Sun. All his dreams about Java on the thin-client side are dead: web-designers prefer Flash rather than Java Applets. SWING is dead. The only place where Java is still demanded (by whom? by non-programming hype-addicted managers?) is the server room with Solaris servers (no wonder, huh?).
By the way, he was one of who killed Tcl (the best scripting language of that time (1995) b/c it was extremely extensible, i.e. OOP, FP, tcl2c, extensions), by kicking out the project of John Osterought, the Tcl inventor who worked for Sun that time.
Now all he is doing is reading old (and thus not very well known among the public) LISP/MOP books as well as academic FlatCurry papers (also not very well known) and stealing ideas for his Jackpod project.
-
The guy is psycoLook at Gosling's homepage, especially what he wrote for the picture, where he hits Bill Gates' mask with a cake:
Of course, I couldn't resist joining in the fun. This is a picture of me opening JavaOne'98 about to pie one of the stage hands wearing a Bill Gates mask.
It just proves that on a top of Sun management, their major beleif is in hate. They hate enimies: the other Unix companies, Microsoft, now Linux.
I don't love Microsoft either, but I would consider myself as a psyco if I would dream of hitting the face of Bill Gates with a cake.
Now, why are we listening to him? What kind of smart ideas are in his proposals? Generic programming with self-reflections? It's done for decades in Lisp and MOP. Syntax-free programming language? It's alreadydone in FlatCurry (Curry is LP ancestor of FP language Haskell).
What he is done? Besides Java, everything else he's invented is dead. Java is designed conceptually so badly that it survives only due to a huge money investment from Sun. All his dreams about Java on the thin-client side are dead: web-designers prefer Flash rather than Java Applets. SWING is dead. The only place where Java is still demanded (by whom? by non-programming hype-addicted managers?) is the server room with Solaris servers (no wonder, huh?).
By the way, he was one of who killed Tcl (the best scripting language of that time (1995) b/c it was extremely extensible, i.e. OOP, FP, tcl2c, extensions), by kicking out the project of John Osterought, the Tcl inventor who worked for Sun that time.
Now all he is doing is reading old (and thus not very well known among the public) LISP/MOP books as well as academic FlatCurry papers (also not very well known) and stealing ideas for his Jackpod project.
-
Haskell next?While I like ML (whole family) so much more than any imperative legacy (Java, C++, C, Perl), I see the main problem that any ML has with for modern RAD and with scripting is its static typing. And that's why I like (more than ML) Haskell - it's dynamically typed and thus it's much more appropriate both for operating scripting and for big app RAD.
Until today, both ML and Haskell had a common problem: a lack of commercial and real world interest in it and therefore a lack of real-world libraries and supporting frameworks. But now things are going to be changed.
First Ericson came with Erlang, an excelent essence of FP, LP, scripting and networking. Now M$ (I know - evil, but anyway) came with F# bringing OCaml to the real world saving from being forgotten somewhere in Inria.
What next? I think that would be Haskell, the language even more suprior to ML, with already OOP, Parallel and Cuncurrent extensions. Also I like its Functional-Logical dialect - Curry. But who will bring it to the real world? IBM?
-
Re:Yet another reason to switch to LispThere are many examples of programming in XML. XSL is one of them, XQuery is another one. Also, I can mention XSP (XML server pages for either Cocoon or Axkit) and DPT (Zope analog of XSP). You can find also various ontology programming dialects of XML on Semantic Web
The good point of XML is its unified syntax - you don't need a new parser each time, you already have one and you concentrate on semantics rather than syntax.
That's why there are such projects as XML representation of FlatCurry. Similar implementations I've met also in mail-lists about Mercury (BTW, they have also discussed S-exps as a basis of new syntax). Even ASN.1 goes to XML.
Again, I think XML tags are worse readable (and less compact) than Lisp S-expressions. Thast's why I believe that eventualy the market attraction of Lisp-like languages will tise again.
-
Re:I send you this post to have your adviceOnce we list here well designed, easy to use, rapid to program, fast to run, possible to compile FP languages, then don't forget about Oz/Mozart programming language and system.
The preformance of the FPL programmers working with very extremely complex requirements will always outrun the performance of C programmers. And that is more important than the runtime performance (remember Javaistic argumets about cheap and fast hardware resources?). There are many cases when run-time performance of FP programs will be better than C one, as most of low level details are already optimized and hidden in libraries and interpreters, while C programmers are still moving through lots of errors and mistakes in their reinventing the wheel projects.
The only problem is that all stupid managers, after reading commercials, don't want anythng else, but only C, Java and VB. I heard about projects where people use XML syntax for interpreted Lisp or Scheme code because they can tell the boss: "look, boss, it's not Lisp, it's just XML". Managers today just love XML and usually buy the trick. No wonder there is an official project of "flat" and XML notations for Curry, the language with Haskell and Prolog ideas.
-
Fox Graphics Library
We use the Fox Graphics Library in our shop quite a bit, and a good, throrough reference on that would be invaluable. As far as I know, there's no hard copy documentation available, it's all on line. And most of us would prefer to have the information in book form.
-
A cool link
-
Applet-screenshot: here!
A screenshot of a well-known applet in kicker (formerly known as kpanel) can be found here.
The new hicolor-icons are not in CVS-HEAD yet though. So if you don't like the icon above, be aware of the fact that it is still one of the old locolor-icon for people with 8-bit-graphics-adapters.
If you haven't seen the new icons yet, have a look here (PNG) or here (JPG)!
(This one is a screenshot of KDE 1.1.2)
Have a nice day,
ac -
Kpanel/Kicker: applet-screenshot: here!
A screenshot of a well-known applet in kicker (formerly known as kpanel) can be found here.
The new hicolor-icons are not in CVS-HEAD yet though. So if you don't like the icon above, be aware of the fact that it is still one of the old locolor-icon for people with 8-bit-graphics-adapters.
If you haven't seen the new icons yet, have a look here (PNG) or here (JPG)!
Have a nice day,
ac