[ del.icio.us poetry ]

http://blog.daimler.de/2010/04/21/gastbeitrag-social-media-chancen-und-wandel-fuer-die-unternehmenskommunikation/
http://allthemountains.blogspot.com/

Friday




noemie goudal.

Labels:

Thursday

Wednesday


kiki smith for third drawer down.

Labels:

Tuesday


james hopkins.

Labels:

Monday

Sunday

Friday

Thursday



tim robinson.

Labels:

Wednesday



baumraum.

Labels:

Tuesday



my lovely clever friend stephanie has made some beautiful wallpaper for anthropologie! yay!

Labels:

Monday


alice anderson.

..

Labels:

Friday

Thursday

Wednesday





la bolleur.

Labels:

Tuesday

Monday




talc.

Labels:

Friday

Thursday




photographer : jessica claire.
stylist : summer watkins.

Labels:

Wednesday



sohi.

Labels:

Tuesday

http://craft-victoria.blogspot.com/
https://ultranet.vic.edu.au/oamsso/login.html
Ultranet Logo

Sign In

Enter your username and password to sign in:

 

 

DEECD Staff Forgot/Change Password  |  Students & Parents Forgot/Change Password  |  About the Ultranet

http://love-pinto.livejournal.com/4324.html
http://www.emarketingsilo.com/
http://www.literateprogramming.com/

Literate Programming

Donald Knuth. "Literate Programming (1984)" in Literate Programming. CSLI, 1992, pg. 99.

I believe that the time is ripe for significantly better documentation of programs, and that we can best achieve this by considering programs to be works of literature. Hence, my title: "Literate Programming."

Let us change our traditional attitude to the construction of programs: Instead of imagining that our main task is to instruct a computer what to do, let us concentrate rather on explaining to human beings what we want a computer to do.

The practitioner of literate programming can be regarded as an essayist, whose main concern is with exposition and excellence of style. Such an author, with thesaurus in hand, chooses the names of variables carefully and explains what each variable means. He or she strives for a program that is comprehensible because its concepts have been introduced in an order that is best for human understanding, using a mixture of formal and informal methods that reinforce each other.

Donald Knuth. The CWEB System of Structure Documentation. Addison-Wesley. 1994. pg. 1.

The philosophy behind CWEB is that an experienced system programmer, who wants to provide the best possible documentation of his or her software products, needs two things simultaneously: a language like TeX for formatting, and a language like C for programming. Neither type of language can provide the best documentation by itself; but when both are appropriately combined, we obtain a system that is much more useful than either language separately.

The structure of a software program may be thought of as a "WEB" that is made up of many interconnected pieces. To document such a program we want to explain each individual part of the web and how it relates to its neighbors. The typographic tools provided by TeX give us an opportunity to explain the local structure of each part by making that structure visible, and the programming tools provided by languages like C make it possible for us to specify the algorithms formally and unambiguously. By combining the two, we can develop a style of programming that maximizes our ability to perceive the structure of a complex piece of software, and at the same time the documented programs can be mechanically translated into a working software system that matches the documentation.

Besides providing a documentation tool, CWEB enhances the C language by providing the ability to permute pieces of the program text, so that a large system can be understood entirely in terms of small sections and their local interrelationships. The CTANGLE program is so named because it takes a given web and moves the sections from their web structure into the order required by C; the advantage of programming in CWEB is that the algorithms can be expressed in "untangled" form, with each section explained separately. The CWEAVE program is so named because it takes a given web and intertwines the TeX and C portions contained in each section, then it knits the whole fabric into a structured document.

Ross Williams. FunnelWeb Tutorial Manual, pg 4.

A traditional computer program consists of a text file containing program code. Scattered in amongst the program code are comments which describe the various parts of the code.

In literate programming the emphasis is reversed. Instead of writing code containing documentation, the literate programmer writes documentation containing code. No longer does the English commentary injected into a program have to be hidden in comment delimiters at the top of the file, or under procedure headings, or at the end of lines. Instead, it is wrenched into the daylight and made the main focus. The "program" then becomes primarily a document directed at humans, with the code being herded between "code delimiters" from where it can be extracted and shuffled out sideways to the language system by literate programming tools.

The effect of this simple shift of emphasis can be so profound as to change one's whole approach to programming. Under the literate programming paradigm, the central activity of programming becomes that of conveying meaning to other intelligent beings rather than merely convincing the computer to behave in a particular way. It is the difference between performing and exposing a magic trick.

Daniel Mall. "Recommendation for Literate Programming"

The key features of literate programming are the organization of source code into small sections and the production of a book quality program listing. Literate programming is an excellent method for documenting the internals of software products especially applications with complex features. Literate programming is useful for programs of all sizes. Literate programming encourages meaningful documentation and the inclusion of details that are usually omitted in source code such as the description of algorithms, design decisions, and implementation strategy.

Literate programming increases product quality by requiring software developers to examine and explain their code. The architecture and design is explained at a conceptual level. Modeling diagrams are included (UML). Long procedures are restructuring by folding portions of the code into sections. Innovative ideas, critical technical knowledge, algorithmic solutions, and unusual coding constructions are clearly documented.

Literate programs are written to be read by other software developers. Program comprehension is a key activity during corrective and perfective maintenance. High quality documentation facilitates program modification with fewer conceptual errors and resultant defects. The clarity of literate programs enables team members to reuse existing code and to provide constructive feedback during code reviews.

Organization of source code into small sections. The style of literate programming combines source code and documentation into a single source file. Literate programs utilize sections which enable the developer to describe blocks of code in a convenient manner. Functions are decomposed into several sections. Sections are presented in the order which is best for program comprehension. Code sections improve on verbose commenting by providing the ability to write descriptive paragraphs while avoiding cluttering the source code.

Production of a book quality program listing. Literate programming languages (CWEB) utilize a combination of typesetting language (TeX) and programming language (C++). The typesetting language enables all of the comprehension aids available in books such as pictures, diagrams, figures, tables, formatted equations, bibliographic references, table of contents, and index. The typographic processing of literate programs produces code listings with elegantly formatted documentation and source code. Listings generated in PDF format include hypertext links.

Remember the Basics. There are many factors involved in developing excellent software. Literate programming is just a single technique to be used along with all the other well established software engineering practices. Here are some software practices related to program documentation:

  • Establish structures, processes, and outcomes (see Luke Holman).
  • Generate software requirements and design description (see IEEE standards).
  • Practice object oriented design.
  • Choose class names, function names, and variable names wisely.
  • Avoid duplicate code by creating shared functions.
  • Re-think or refactor code which is difficult to understand.
  • Develop small classes and small functions when feasible.
  • Keep it simple and straight forward as much as possible.
  • Organize large source code files using an outlining editor (Leo).
  • Comment source code effectively with header and in-line comments.
  • Document source code using an API documentation standard (doxygen).
  • Utilize pre-conditions and post-conditions using assertions.
  • Provide formal or informal proofs of source code correctness.
  • Conduct peer reviews of deliverables.
  • Implement automated unit testing which is also a form of documentation.
  • Examine source code metrics (lines, complexity, etc).
  • Execute static analysis for common coding errors.

Some of my favorite tools are CWEB and Leo for source code outlining, doxygen for API documentation, CCCC and LocMetrics for source code metrics, PC Lint for static error analysis, and cppunit for automated unit testing.

I am a performance analyst, algorithm designer, and software developer. My business is named Parzall.

For fantasy football fans I have written a book on draft strategy, Fantasy Football Draft Satisfaction 2010: Prepare for Draft Day, and developed software for value based drafting, FFDS 2010 VBD Engine (fantasyfootballds.com)

Matt Pharr and Greg Humphries. "Physically Based Rendering: From Theory to Implementation", Morgan Kaufmann, 2004

Writing a literate program is a lot more work than writing a normal program. After all, who ever documents their programs in the first place!? Moreover, who documents them in a pedagogical style that is easy to understand? And finally, who ever provides commentary on the theory and design issues behind the code as they write the documentation? All of that is here in the pages that follow.

This book presents a selection of modern rendering algorithms through the documented source code for a complete rendering system. The system, pbrt, is written using a programming methodology called literate programming that mixes prose describing the system with source code that implements it. We believe that the literate programming approach is a valuable way to introduce ideas in computer graphics and computer science in general. Often, some of the subtleties of an algorithm can be unclear or hidden until it is implemented, so seeing an actual implementation is a good way to acquire a solid understanding of that algorithm's details. Indeed we believe that deep understanding of a small number of algorithms in this manner provides a stronger base for further study of computer graphics than does a superficial understanding of many.

This book is a long literate program. This means that in the course of reading this book, you will read the full implementation of the pbrt rendering system, not just a high-level description of it. The literate programming metalanguage provides two important features. The first is the ability to mix prose with source code. This feature makes the description of the program just as important as its actual source code, encouraging careful design and documentation. Second, the language provides a mechanism for presenting program code to the reader in an entirely different order than it is supplied to the compiler. Thus the program can be described in a logical manner.

In some sense, the literate programming system is just an enhanced macro substitution package tuned to the task of rearranging source code. This may seem like a trivial change, but in fact literate programming is quite different from other ways of structuring software systems.

John Krommes.

The fundamental logic of the WEB system encourages "top-down" programming and "structured" design. Quoting from Kernighan and Plauger, 'Top-down design and successive refinement attack a programming task by specifying it in the most general terms, then expanding these into more and more specific and detailed actions, until the whole program is complete. Structured design is the process of controlling the overall design of a system or program so the pieces fit together neatly, yet remain sufficiently decoupled that they may be independently modified. ... Each of these disciplines can materially improve programmer productivity and the quality of code produced.' The WEB system encourages you to work top-down by giving you the ability to break up your code into independent segments (called "sections").

Bart Childs. "Literate Programming, A Practitioner's View", Tugboat, December 1992, pg. 261-262.

I use the following list of requirements to imply a definition of a literate program and the minimum set of tools which are needed to prepare, use, and study the resulting code.

  • The high-level language code and the system documentation of the program come from the same set of source files.
  • The documentation and high-level language code are complementary and should address the same elements of the algorithms being written.
  • The literate program should have logical subdivisions. Knuth called these modules or sections.
  • The system should be presented in an order based upon logical considerations rather than syntactic constraints.
  • The documentation should include an examination of alternative solutions and should suggest future maintenance problems and extensions.
  • The documentation should include a description of the problem and its solution. This should include all aids such as mathematics and graphics that enhance communication of the problem statement and the understanding of its challenge.
  • Cross references, indices, and different fonts for text, high-level language keywords, variable names, and literals should be reasonably automatic and obvious in the source and the documentation.

WEB's design encourages writing programs in small chunks which Knuth called modules (he also used the term sections). Modules have three parts: documentation, definitions, and code. At least one of these three parts must be non-null.

The documentation portion is often a verbal description of the algorithm. It may be any textual information that aids the understanding of the problem. It is not uncommon for a WEB to have a number of `documentation only' modules. These usually describe the problem independent of the chosen language for implementation. For example, a WEB for a subprogram that solves the linear equation, Ax = b, could have discussion of singularity, condition numbers, partial pivoting, the banded nature of the expected coefficient matrices, etc. It should be an unusual but not exceptional case when a module contains no documentation.

Wayne Sewell. "Integral Pretty-printing" in Weaving a Program: Literate Programming in WEB, Van Nostrand Reinhold, 1989, pg. 7.

Listings generated by the WEB system are unlike any other form of program listings in existence. They resemble programs from computer science textbooks rather than listings from executable programs. WEB utilizes the TeX document compiler, which includes a typesetting command language capable of tremendous control over document appearance. Even if the author of a WEB program does not directly utilize TeX capabilities in the source code, the combined efforts of WEB and TeX will create beautiful documents on their own. TeX automatically handles details such as microjustification, kerning, hyphenation, ligatures, and other sophisticated operations, even when the description part of the source is simple ASCII text. WEB adds functions which are specific to computer programs, such as boldface reserved words, italicized identifiers, substitution of true mathematical symbols, and more standard pretty-printer functions such as reformatting and indentation.

Wayne Sewell. "Reduction of Visual Complexity" in Weaving a Program: Literate Programming in WEB, Van Nostrand Reinhold, 1989, pg. 42.

The whole concept of code sections, indeed structured programming, is to reduce the amount of text that must be read in order to determine what a piece of code is doing. The code section is a form of data reduction in that the section name is a placeholder representing the code contained in that section. Anything that is logically part of the section should be moved into it, thereby reducing the complexity of the code where it is referenced.

Doug McIlroy. "Programming Pearls: A Literate Program", CACM, June 1986, pg. 478-479.

The presentation is engaging and clear. In WEB one deliberately writes a paper, not just comments, along with code. This of course helps readers. I am sure that it also helps writers: reflecting upon design choices sufficiently to make them explainable must help clarify and refine one's thinking. Moreover, because an explanation in WEB is intimately combined with the hard reality of implementation, it is qualitatively different from, and far more useful than, an ordinary "specification" or "design" document. It can't gloss over the tough places.

John Gilbert. "Literate Programming: Printing Common Words", CACM, July 1987, pg 599.

Literacy in programming means different things in different circumstances. It's not a matter of artistry or efficiency alone; it's more a question of suitability in context. Knuth's expository gem will teach future readers about programming style and data structures, whether they use the code or not. McIlroy's six liner is not itself an enduring piece of work, but it is a clear example of how to use enduring tools. Hanson's real-world code, then, must be evaluated according to whether it is robust, flexible, and easy to maintain. Despite roughness in low-level style, the program meets these goals well. Hanson demonstrates that "literate programming" is a viable approach to creating works of craft as well as works of art.

Marc van Leeuwen. "Requirements for Literate Programming" in CWEBx Manual, pg. 3-4.

The basic idea of literate programming is to take a fundamentally different starting point for the presentation of programs to human readers, without any direct effect on the program as seen by the computer. Rather than to present the program in the form in which it will be compiled (or executed), and to intercalate comments to help humans understand what is going on (and which the compiler will kindly ignore), the presentation focuses on explaining to humans the design and construction of the program, while pieces of actual program code are inserted to make the description precise and to tell the computer what it should do. The program description should describe parts of the algorithm as they occur in the design process, rather than in the completed program text. For reasons of maintainability it is essential however that the program description defines the actual program text; if this were defined in a separate source document, then inconsistencies would be almost impossible to prevent. If programs are written in a way that concentrates on explaining their design to human readers, then they can be considered as works of (technical) literature; it is for this reason that Knuth has named this style of software construction and description "literate programming".

The documentation parts of the program description should allow for the same freedom of expression that one would have in an ordinary technical paper. This means that the document describing the program should consist of formatted text, rather than being a plain text file. This does not exclude the possibility that the source is written as a plain text file, but then it should undergo some form of processing to produce the actual program description. The document should moreover contain fragments of a program written in some traditional (structured) programming language, in such a way that they can be mechanically extracted and arranged into a complete program; in the formatted document on the other hand layout and choice of fonts for these program fragments should be so as to maximize readability.

Parts of the program that belong together logically should appear near to each other in the description, so that they are visible from the part of the documentation that discusses their function. This means that it should be possible to rearrange program text with respect to the order in which it will be presented to the computer, for otherwise the parts that deal with the actions at the outer level of a subroutine will be pushed apart by the pieces specifying the details of inner levels. The most obvious and natural way to do this is to suppress the program text for those inner levels, leaving an outline of the outer level, while the inner levels may be specified and documented elsewhere; this is a bit like introducing subroutines for the inner levels, but without the semantic implications that that would have. There should be no restrictions on the order in which the program fragments resulting from this decomposition are presented, so that this order can be chosen so as to obtain an optimal exposition; this may even involve bringing together fragments whose location in the actual program is quite unrelated, but which have some logical connection.

Obviously there should be a clear indication of where pieces of program have been suppressed, and which other program fragments give the detailed specifications of those pieces. From the programming language point of view the most obvious method of identification would be to use identifiers, resulting in a simple system of parameter-less macros, with as only unusual aspect that uses of the macro are allowed to precede the definition, and indeed do so more often than not. Actually, literate programming uses a method that differs from this only trivially from a formal standpoint, but has a great advantage in practical terms: identification is by means of a more or less elaborate phrase or sentence, marked in a special way to indicate that it is a reference to a program fragment. This description both stands for the fragment that is being specified elsewhere, and also serves as a comment describing the function of that fragment at a level of detail that is appropriate for understanding the part of the program containing it. In this way several purposes are served at once: a clear identification between use and definition is established, the code at the place of use is readable because irrelevant detail is suppressed, with a relevant description of what is being done replacing it, and at the place of definition a reminder is given of the task that the piece of code presented is to perform. The documenting power of such a simple device is remarkable. In some cases the result is so clear that there is hardly any need to supply further documentation; also it can sometimes be useful to use this method to replace small pieces of somewhat cryptic code by a description that is actually longer than the code itself.

Mark Wallace. The Art of Donald E. Knuth

If his attention to the minutiae of programming has earned the annoyance of a younger generation of programmers, though, Knuth remains the minence grise of algorithm analysis, and one of the leading thinkers on programming in general.

Of course, other computer scientists have made contributions to the field that are every bit as substantial (most notably Edsger Dijkstra, Charles Hoare and Niklaus Wirth). But Knuth's work brings to life the complex mathematical underpinnings of the discipline, and deals with the logistics of programming on all levels, from the conceptual design of solutions to the most intimate details of the machine. The fundamental elements of any computer program are, perhaps not surprisingly, time and space. (In programming terms, time describes the speed with which a program accomplishes its task, while space refers to the amount of memory a program requires both to store itself -- i.e. the length of the code -- and to compute and store its results.) But Knuth is concerned not only with bytes and microseconds, but with a concept that has come to be known in coding circles as "elegance," and that applies to programming at any level.

Elegance takes in such factors as readability, modular coding techniques and the ease with which a program can be adapted to other functions or expanded to perform additional tasks. (Knuth's broader ideas about documentation and structured programming are laid out in his 1992 book, "Literate Programming.") Though rarely mentioned, "sloppy coding" often costs companies a great deal in terms of time and money; programmers brought in to update the code of consultants gone by must spend hours or days deciphering a poorly documented program, or hunting down bugs that might have been caught easily had the initial programmer simply been a bit more conscientious in the practice of his craft.

Besides demonstrating the techniques of clear, efficient coding, Knuth has sought to bring a deeper sense of aesthetics to the discipline. "You try to consider that the program is an essay, a work of literature," he says. "I'm hoping someday that the Pulitzer Prize committee will agree." Prizes would be handed out for "best-written program," he says, only half-joking. Knuth himself has already collected numerous awards, including the National Medal of Science from then-President Jimmy Carter and Japan's prestigious Kyoto Prize.

Donald Knuth. "Questions and Answers with Prof. Donald E. Knuth", CSTUG, Charles University, Prague, March 1996, pg. 227-229.

I was talking with Tony Hoare, who was editor of a series of books for Oxford University Press. I had a discussion with him in approximately 1980; I'm trying to remember the exact time, maybe 1979, yes, 1979, perhaps when I visited Newcastle? I don't recall exactly the date now. He said to me that I should publish my program for TeX. [I looked up the record when I returned home and found that my memory was gravely flawed. Hoare had heard rumors about my work and he wrote to Stanford suggesting that I keep publication in mind. I replied to his letter on 16 November 1977-much earlier than I remembered.]

As I was writing TeX I was using for the second time in my life ideas called "structured programming", which were revolutionizing the way computer programming was done in the middle 70s. I was teaching classes and I was aware that people were using structured programming, but I hadn't written a large computer program since 1971. In 1976 I wrote my first structured program; it was fairly good sized-maybe, I don't know, 50,000 lines of code, something like that. (That's another story I can tell you about sometime.) This gave me some experience with writing a program that was fairly easy to read. Then when I started writing TeX in this period (I began the implementation of TeX in October of 1977, and I finished it in May 78), it was consciously done with structured programming ideas.

Professor Hoare was looking for examples of fairly good-sized programs that people could read. Well, this was frightening. This was a very scary thing, for a professor of computer science to show someone a large program. At best, a professor might publish very small routines as examples of how to write a program. And we could polish those until ... well, every example in the literature about such programs had bugs in it. Tony Hoare was a great pioneer for proving the correctness of programs. But if you looked at the details ... I discovered from reading some of the articles, you know, I could find three bugs in a program that was proved correct. [laughter] These were small programs. Now, he says, take my large program and reveal it to the world, with all its compromises. Of course, I developed TeX so that it would try to continue a history of hundreds of years of different ideas. There had to be compromises. So I was frightened with the idea that I would actually be expected to show someone my program. But then I also realized how much need there was for examples of good-sized programs, that could be considered as reasonable models, not just small programs.

I had learned from a Belgian man (I had met him a few years earlier, someone from Liege), and he had a system-it's explained in my paper on literate programming. He sent me a report, which was 150 pages long, about his system-it was inspired by "The Ghost in the Machine". His 150-page report was very philosophical for the first 99 pages, and on page 100 he started with an example. That example was the key to me for this idea of thinking of a program as hypertext, as we would now say it. He proposed a way of taking a complicated program and breaking it into small parts. Then, to understand the complicated whole, what you needed is just to understand the small parts, and to understand the relationship between those parts and their neighbors. [Pierre Arnoul de Marneffe, Holon Programming. Univ. de Liege, Service d'Informatique (December, 1973). ]

In February of 1979, I developed a system called DOC and UNDOC ... something like the WEB system that came later. DOC was like WEAVE and UNDOC was like TANGLE, essentially. I played with DOC and UNDOC and did a mock-up with a small part of TeX. I didn't use DOC for my own implementation but I took the inner part called getchar, which is a fairly complicated part of TeX's input routine, and I converted it to DOC. This gave me a little 20-page program that would show the getchar part of TeX written in DOC. And I showed that to Tony Hoare and to several other people, especially Luis Trabb Pardo, and got some feedback from them on the ideas and the format.

Then we had a student at Stanford whose name was Zabala-actually he's from Spain and he has two names-but we call him Inaki; Ignacio is his name. He took the entire TeX that I'd written in a language called SAIL (Stanford Artificial Intelligence Language), and he converted it to Pascal in this DOC format. TeX-in-Pascal was distributed around the world by 1981, I think. Then in 1982 or 1981, when I was writing TeX82, I was able to use his experience and all the feedback he had from users, and I made the system that became WEB. There was a period of two weeks when we were trying different names for DOC and UNDOC, and the winners were TANGLE and WEAVE. At that time, we had about 25 people in our group that would meet every Friday. And we would play around with a whole bunch of ideas and this was the reason for most of the success of TeX and METAFONT.

Maurice V. Wilkes, David J. Wheeler, and Stanley Gill. The Preparation of Programs for an Electronic Digital Computer, with special reference to the EDSAC and the use of a library of subroutines. Tomash Publishers (reprint series), 1951, pg. 22.

3-1 Open subroutines. The simplest form of subroutine consists of a sequence of orders which can be incorporated as it stands into a program. When the last order of the subroutine has been executed the machine proceeds to execute the order in the program that immediately follows. This type of subroutine is called an "open" subroutine.

3-2 Closed subroutines. A "closed" subroutine is one which is called into use by a special group of orders incorporated in the master routine or main program. It is designed so that when its task is finished it returns control to the master routine at a point immediately following that from which it was called in. The subroutine itself may be placed anywhere in the store.

Pierre-Arnoul de Marneffe. Holon Programming: A Survey, 1973, pg. 8-9.

The "Holon" concept has been introduced in biological and behavior sciences by Koestler. This concept proceeds from the work of Simon. It is used for instance to analyze complex living organisms or complex social systems. This neologism is from Greek "holos", i.e., whole, and the suffix "-on" meaning "part". A holon is a "part of a whole". The reader is forewarned to not mix up the holon concept with the "module" one.

"Hierarchy": Each holon is composed by other holons which are "refinements" of the former holon. These holons are submitted to some rigid rules; they perform the "detail" operations which, put together, compose the function of the former holon.

"Tendency to Integration": The holon integrates with other holons in the hierarchy according to a flexible strategy. This integration must be understood as a will to close cooperation with the other holons for the emergence of a "tougher" and more efficient component.

Gregory Wilson. "XML-Based Programming Systems", Dr. Dobbs Journal, March 2003, pg. 16-24.

Many programming environments are completely controlled by specific vendors, who may well choose to switch from flat text to rich markup for their own reasons. If Microsoft had made source files XML, tens of thousands of programmers would already be putting pictures and hyperlinks in their code. Programming on the universal canvas is one revolution that can't possibly arrive too soon.

Astonished Reader. "On Misreadings", email, January 2009.

Read your first page: YOU GOT IT TOTALLY WRONG. Literate programming is NOT about documentation in the first place. All quotes you tore out speak of literate programming as if it's just a documentation system. While it is not.

Literate programming is a PROGRAMMING PARADIGM, or if you wish a "META-LANGUAGE", on top of machine-coding language, which was created with the purpose of: a) allowing humans to create abstractions over abstractions over abstractions with macros (which are phrases in a human language and if you wish are precise "new operators" in that meta-language, created on the fly). b) this system of macros can be created not in machine demanded order, but as need for logical thinking. Later it is reshuffled ("tangled", i.e. convoluted, scrambled) from the natural into the inhuman machine codes.

You totally missed the idea, and in the case of blind leading the blind quote scores of other misreaders. Literate programming is not a documentation system per ce, it's a programming paradigm.

Counters (since June 2000)
www.literateprogramming.com 333641
CWEB User Manual (cweb.pdf) 20995
CWEB Win32 Port (cweb.exe) 8013
CWEB Source Code (cweb.tar.gz) 5020
http://www.h5.fr/
REFERENCE H5
Dveloppement :Akrio
http://www.coolfrenchcomics.com/
http://countrycode.org/

Warning: file_get_contents(http://commons.wikimedia.org/wiki/Main_Page) [function.file-get-contents]: failed to open stream: HTTP request failed! HTTP/1.0 403 Forbidden in /hacks/deliciouspoetry.php on line 67
http://commons.wikimedia.org/wiki/Main_Page
http://www.ecobuild.co.uk/

ecobuild gallery

click here to see the ecobuild 2010 gallery

2010 review

click here for ecobuild highlights

experience ecobuild

click here to watch ecobuild videos

latest news

click here to see the latest ecobuild newsletter

Website by De Facto

http://www.timeshighereducation.co.uk/
03 September 2010

Advertisement

-

Advertisement

-

Advertisement

-
Main Page Content:

BREAKING NEWS

-

And now for something completely different, Wolverhampton v-c decides

3 September 2010

The vice-chancellor of the University of Wolverhampton is to retire next summer as she feels it is “time to do something else” after 40 years of full-time work.

-

Free market on fees threatens rough ride in 'perfect storm'Free

2 September 2010

Many universities set to lose income overall if cap is lifted, researcher warns. Simon Baker reports

More News

COVER STORY

THE cover 02 September 2010

-

We can work it outFree

2 September 2010

As graduates struggle to find employment, universities are having to think more creatively about how to prepare them for the workplace, says Rebecca Attwood

-

Leader: No creative buzz from the dronesFree

2 September 2010

Employability is about more than skills: it is about cultivating the independence, imagination and rigour to take on any task

More Features

READERS' REACTIONS

-

Graduate employability, all-new World University Rankings and counterproductive fee increases

THE

Have your say on graduate preparation for the workplace, our upcoming World University Rankings release and the potential impact of uncapped tuition fees

ONLINE COLUMNISTS

Blog Confidential

-

Blogconfidential: Let the new era of austerity commence?Free

2 September 2010

Your chance to advise on academic dilemmas. Each week, Dr Margot Feelbetter poses a dilemma and offers advice for readers to respond to online. This week: Let the new era of austerity commence?

BLOGCONFIDENTIAL

-

Blogconfidential: More smoke than fire?Free

26 August 2010

Each week, Dr Margot Feelbetter poses a dilemma and offers advice for readers to respond to online. This week: More smoke than fire?

PEOPLE

Celia Gallagher, 1967-2010

-

Celia Gallagher, 1967-2010Free

2 September 2010

A leading figure in the planning and funding of the Irish university sector has died.

-

AppointmentsFree

2 September 2010

University of Reading - Stephen Belcher

more people

RESEARCH

-

Research intelligence - Reach for the skyFree

2 September 2010

Royal Astronomical Society's new chief calls for farsighted and bold research funding. Paul Jump reports

more Research

BOOKS

The Moment of Caravaggio

-

Book of the Week: The Moment of CaravaggioFree

2 September 2010

Alex Danchev takes a thrilling ride that immerses the reader in the work of Caravaggio but bypasses his infamous personal life

Destination of the Species: The Riddle of Human Existence

-

Destination of the Species: The Riddle of Human ExistenceFree

2 September 2010

When people joke about the meaning of life, it is a sure sign they are fretful. Is life driven by point and purpose, or is it a chaotic, rudderless and aimless flux? Was Shakespeare's ruminating Macbeth right - is life "a tale/Told by an...

more books

OPINIONS AND LEADERS

-

Higher fees could be the undoing of England's universitiesFree

2 September 2010

If Lord Browne uncaps fees, the Golden Age of the English university may well come to an unseemly end, writes Paul Benneworth

more opinion articles and letters

NEW WORLD UNIVERSITY RANKINGS FOR 2010

-

Why was change needed?

THE

Since their first appearance in 2004, Times Higher Education’s global university league tables have been recognised as the most authoritative source of broad comparative performance information on universities across the world. As nations...

-

New data partner

THE

Times Higher Education has ended its arrangement with its former data provider, QS. From this year, Thomson Reuters, the world’s leading research-data specialist, will provide all the data and analysis for the annual Times Higher Education...

Advertisement

Featured Employers

Advertisement

Advertisement

Advertisement

THE CONFERENCES

-

Employer engagement

THE

Download speaker notes

LAURIE TAYLOR COLUMN

The Poppletonian

-

Last of the summer wineFree

2 September 2010

Yes, it's that time of year when we once again absent ourselves from felicity and return our noses to the familiar grindstone. But before we say goodbye to summer, here in the last of our Holiday Specials is a reminder of how another...

more Laurie

PILED HIGHER AND DEEPER

Cartoon by Cham

-

Cartoon by Cham

2 September 2010

 
-
Abacus E-media
Abacus e-Media
St. Andrews Court
St. Michaels Road
Portsmouth
PO1 2JH
-

Advertisement

http://www.newstatesman.com/blogs/mehdi-hasan/2010/08/saddam-iraq-weapons-report
http://www.hipmunk.com/
http://joshduck.com/periodic-table.html

HTML5 Elements

The table below shows the 104 elements currently in the HTML5 working draft and two proposed elements (marked with an asterisk).

Periodic Table of the Elements

<html>

Document root element.

html

<col>

Columns in a table.

col

<table>

Table of multi-dimensional data.

table

<head>

First element of the HTML document. Contains document metadata.

head

<span>

Container with no semantic meaning.

span

<fieldset>

Set of form controls grouped by theme.

fieldset
form

<body>

Document content.

body

<h1>

Heading for the current section.

h1

<section>

Contains of elements grouped by theme, for example a chapter or tab box.

section

<colgroup>

Defines a group of columns in a table.

colgroup

<tr>

A row of cells.

tr

<title>

Document title.

title

<meter>

Control for entering a numeric value in a known range.

meter

<select>

Control for selecting from multiple options.

select

<aside>

Content related to surrounding elements that doesn't belong inline, such as a advertising or quotes.

aside

<h2>

Heading for the current section.

h2

<header>

Navigation or introductory elements for the current section.

header

<caption>

Title of a table.

caption
td

<meta>

Document metadata that can't be represented with other elements.

meta

<rt>

Annotation of preceeding text.

rt

<dfn>

Term being defined by the parent section.

dfn

<em>

Text that should be emphasised.

em

<i>

Text in a alternate voice or mood, such as a technical term.

i

<small>

An aside, such as fine print.

small

<ins>

Text that has been inserted during document editing.

ins

<hr>

Thematic break within a paragraph.

hr

<p>

Paragraph content.

p

<div>

Container with no semantic meaning.

div

<blockquote>

Quote from another source.

blockquote

<legend>

Define a name for a fieldset.

legend

<optgroup>

Group of option.

optgroup

<address>

Contact information for the current article.

address

<h3>

Heading for the current section.

h3

<nav>

Contains a collection of links.

nav

<menu>

Set of commands.

menu

<th>

Table heading.

th

<base>

Specifies URL which non-absolute URLs are relative to.

base

<rp>

Contains semantically meaningless markup for browsers that don't understand ruby annotations.

rp

<abbr>

Abbreviation or acronym.

abbr

<time>

Time defined in a machine readable format.

time

<b>

Stylistically separated text of equal importance, such as a product name.

b

<strong>

Text that is important.

strong

<del>

Text that has been removed during document editing.

del
br

<figcaption>

Caption for a figure.

figcaption

<ol>

Ordered list.

ol

<dl>

List of term-description pairs.

dl

<label>

Caption for a form control.

label

<option>

Single option within a select control.

option

<datalist>

Define sets of options.

datalist

<h4>

Heading for the current section.

h4

<article>

Section of the page content, such as a blog or forum post.

article

<command>

Command the user can perform, such as publishing an article.

command

<tbody>

Contains rows that hold the table's data.

tbody

<link>

Other resources related to the document.

link

<noscript>

Contains elements that are part of the document only if scripting is disabled.

noscript
q

<var>

Mathematical or programming variable.

var

<sub>

Subscript text.

sub

<mark>

Text highlighted for referencing elsewhere.

mark

<kbd>

Example input (usually keyboard) for a program.

kbd

<wbr>

Opportunity for a line break.

wbr

<figure>

Contains elements related to single concept, such as an illustration or code example.

figure

<ul>

Unordered list.

ul

<dt>

Term which will be described.

dt

<input>

Generic form input.

input

<output>

Contains the results of a calculation.

output

<keygen>

Generates private-public key pairs.

keygen

<h5>

Heading for the current section.

h5

<footer>

Footer of the current section.

footer

<summary>

Caption of a details element.

summary

<thead>

Contains rows with table headings.

thead

<style>

Styling defined inline data.

style

<script>

Inline or linked client side scripts.

script

<cite>

Title of a referenced piece of work.

cite

<samp>

Sample output of a program.

samp

<sup>

Superscript text.

sup

<ruby>

Contains text with annotations, such as pronounciation hints. Commonly used in East Asian text.

ruby

<bdo>

Defines directional formatting for content.

bdo

<code>

Fragment of code.

code

<pre>

Text that is preformatted in the HTML code.

pre
li

<dd>

Description for the preceeding term.

dd

<textarea>

Multiline free-form text input.

textarea

<button>

A button.

button

<progress>

Control for displaying progress of a task.

progress

<h6>

Heading for the current section.

h6

<hgroup>

Collection of headings for the current section. The highest ranked heading repesents the group in the document outline.

hgroup

<details>

Contains additional information, such as the contents of an accordian view.

details

<tfoot>

Contains rows with summary of data.

tfoot
img

<area>

Hyperlink area in an image map.

area

<map>

Image map for adding hyperlinks to parts of an image.

map

<embed>

Reference to non-HTML content.

embed

<object>

External resource such as an image, iframe or plugin.

object

<param>

Parameters for the parent object.

param

<source>

Alternative sources for parent video or audio elements.

source

<iframe>

Nested browser frame.

iframe

<canvas>

Bitmap which is editable by client side scripts.

canvas

<track>

Specifies external timing track for media elements.

This element is still being drafted.

track*

<audio>

Audio file.

audio
video

<device>

Allows scripts to access devices such as a webcam.

This element is still being drafted.

device*
  • Root element
  • Text-level semantics
  • Forms
  • Tabular data
  • Metadata and scripting
  • Grouping content
  • Document sections
  • Interactive elements
  • Embedding content
http://cyberlaw.stanford.edu/documentary-film-program/film/a-fair-y-use-tale

A Fair(y) Use Tale

Synopsis: 

Professor Eric Faden of Bucknell University created this humorous, yet informative, review of copyright principles delivered through the words of the very folks we can thank for nearly endless copyright terms.

View (streaming) or download (mp4) the whole film or watch it on YouTube.


This work is licensed under a
Creative Commons Attribution-Noncommercial-Share Alike 3.0 License

Distributed on DVD by The Media Education Foundation.

Substantive Tags: Fair Use Project
Free tags: Fair(y) Use Tale
Comment by Anonymous1 (not verified), posted April 15, 2008 - 2:21pm

everytime I click on the download link it just opens it in stream view, it does not download. I want to use it in a classroom setting but I can't if I can't get it onto my computer.

Comment by Doug Fisher (not verified), posted May 28, 2008 - 7:44pm

Superb piece of work.

Comment by Jason Dempsey (not verified), posted July 3, 2008 - 2:57pm

Couldnt get the stream to work with my player but the MP4 download worked a treat. Nice project Eric very well thought out and excellent use of the different films :)

Comment by Nina Paley (not verified), posted September 1, 2008 - 1:49pm

This is absolutely brilliant! I just embedded the youtube clip at http://blog.ninapaley.com/2008/09/01/a-fairy-use-tale/
As an animator, I am particularly thrilled by it. Bravo!

Comment by Pyrate Anny (not verified), posted October 2, 2008 - 1:02pm

As a 'vidder' who creates "Transformative Artwork" from pieces of popular culture, I advocate the broadest possible definition of "Fair Use" as a necessary protection for freedom of expression.

Comment by Michael Zimmer (not verified), posted October 8, 2008 - 9:25pm

Is a transcript available of the spoken text?

Comment by Mike (not verified), posted March 7, 2009 - 11:52am

I would also like to know if it is available?

Mike

pit bike and bikes

Comment by Rob (not verified), posted October 9, 2008 - 9:36am

I've used this video in classes in the past, but something keeps bugging me. Isn't one of the basic limitations of educational fair use a requirement not to distribute the work on an open network (like YouTube or the internet if it's not part of a restricted environment)? Fair use allows portions of copyright protected works to be used under certain circumstances, but I didn't think posting to YouTube was one of those circumstances. Aren't I correct that educational fair use would allow, for example, a teacher or student to use a copyright-protected image or video clip in a PowerPoint show played in class, but it would prohibit them from displaying the same work on a web page that was published for anyone to view on the WWW?

Comment by Dr. G (not verified), posted October 29, 2008 - 5:00pm

As a university administrator and Disney fanatic, I found this to be simply incredible! You can bet I will be using it with my honors students. THANK YOU for this work!

Comment by Nathan Ricks (not verified), posted March 17, 2009 - 9:28pm

I liked the film. I think copyrights should only last until the death of the author unless the work is somehow willed to someone. Say your Dad is an author and dies partly through the completion of his second book in a series. I think you as family should have the option of releasing that copyright or keeping it.

http://www.pimpyourbrain.de/2010/05/25/viral-durch-personalisierung-videos-beispiele/
http://www.granicus.com/Streaming-Media-Government.aspx
Build Public Trust

Products   |   Solutions   |   Clients   |   News   |   Support   |   Company

Copyright © 2010 Granicus Inc.   |   Privacy & Legal Information   |   Sitemap

http://pxtoem.com/
Bookmark and Share

Select your body font size

Conversions based on 16px browser default size

Pixels EMs Percent Points
6px 0.375em 37.5% 5pt
7px 0.438em 43.8% 5pt
8px 0.5em 50% 6pt
9px 0.563em 56.3% 7pt
10px 0.625em 62.5% 8pt
11px 0.688em 68.8% 8pt
12px 0.75em 75% 9pt
13px 0.813em 81.3% 10pt
14px 0.875em 87.5% 11pt
15px 0.938em 93.8% 11pt
16px 1em 100% 12pt
17px 1.063em 106.3% 13pt
18px 1.125em 112.5% 14pt
19px 1.188em 118.8% 14pt
20px 1.25em 125% 15pt
21px 1.313em 131.3% 16pt
22px 1.375em 137.5% 17pt
23px 1.438em 143.8% 17pt
24px 1.5em 150% 18pt

Voila! Your conversions

Conversions based on your body font size

Pixels EMs Percent Points
6px 1em 100% 5pt
7px 1.167em 116.7% 5pt
8px 1.333em 133.3% 6pt
9px 1.5em 150% 7pt
10px 1.667em 166.7% 8pt
11px 1.833em 183.3% 8pt
12px 2em 200% 9pt
13px 2.167em 216.7% 10pt
14px 2.333em 233.3% 11pt
15px 2.5em 250% 11pt
16px 2.667em 266.7% 12pt
17px 2.833em 283.3% 13pt
18px 3em 300% 14pt
19px 3.167em 316.7% 14pt
20px 3.333em 333.3% 15pt
21px 3.5em 350% 16pt
22px 3.667em 366.7% 17pt
23px 3.833em 383.3% 17pt
24px 4em 400% 18pt
Pixels EMs Percent Points
6px 0.857em 85.7% 5pt
7px 1em 100% 5pt
8px 1.143em 114.3% 6pt
9px 1.286em 128.6% 7pt
10px 1.429em 142.9% 8pt
11px 1.571em 157.1% 8pt
12px 1.714em 171.4% 9pt
13px 1.857em 185.7% 10pt
14px 2em 200% 11pt
15px 2.143em 214.3% 11pt
16px 2.286em 228.6% 12pt
17px 2.429em 242.9% 13pt
18px 2.571em 257.1% 14pt
19px 2.714em 271.4% 14pt
20px 2.857em 285.7% 15pt
21px 3em 300% 16pt
22px 3.143em 314.3% 17pt
23px 3.286em 328.6% 17pt
24px 3.429em 342.9% 18pt
Pixels EMs Percent Points
6px 0.75em 75% 5pt
7px 0.875em 87.5% 5pt
8px 1em 100% 6pt
9px 1.125em 112.5% 7pt
10px 1.25em 125% 8pt
11px 1.375em 137.5% 8pt
12px 1.5em 150% 9pt
13px 1.625em 162.5% 10pt
14px 1.75em 175% 11pt
15px 1.875em 187.5% 11pt
16px 2em 200% 12pt
17px 2.125em 212.5% 13pt
18px 2.25em 225% 14pt
19px 2.375em 237.5% 14pt
20px 2.5em 250% 15pt
21px 2.625em 262.5% 16pt
22px 2.75em 275% 17pt
23px 2.875em 287.5% 17pt
24px 3em 300% 18pt
Pixels EMs Percent Points
6px 0.667em 66.7% 5pt
7px 0.778em 77.8% 5pt
8px 0.889em 88.9% 6pt
9px 1em 100% 7pt
10px 1.111em 111.1% 8pt
11px 1.222em 122.2% 8pt
12px 1.333em 133.3% 9pt
13px 1.444em 144.4% 10pt
14px 1.556em 155.6% 11pt
15px 1.667em 166.7% 11pt
16px 1.778em 177.8% 12pt
17px 1.889em 188.9% 13pt
18px 2em 200% 14pt
19px 2.111em 211.1% 14pt
20px 2.222em 222.2% 15pt
21px 2.333em 233.3% 16pt
22px 2.444em 244.4% 17pt
23px 2.556em 255.6% 17pt
24px 2.667em 266.7% 18pt
Pixels EMs Percent Points
6px 0.6em 60% 5pt
7px 0.7em 70% 5pt
8px 0.8em 80% 6pt
9px 0.9em 90% 7pt
10px 1em 100% 8pt
11px 1.1em 110% 8pt
12px 1.2em 120% 9pt
13px 1.3em 130% 10pt
14px 1.4em 140% 11pt
15px 1.5em 150% 11pt
16px 1.6em 160% 12pt
17px 1.7em 170% 13pt
18px 1.8em 180% 14pt
19px 1.9em 190% 14pt
20px 2em 200% 15pt
21px 2.1em 210% 16pt
22px 2.2em 220% 17pt
23px 2.3em 230% 17pt
24px 2.4em 240% 18pt
Pixels EMs Percent Points
6px 0.545em 54.5% 5pt
7px 0.636em 63.6% 5pt
8px 0.727em 72.7% 6pt
9px 0.818em 81.8% 7pt
10px 0.909em 90.9% 8pt
11px 1em 100% 8pt
12px 1.091em 109.1% 9pt
13px 1.182em 118.2% 10pt
14px 1.273em 127.3% 11pt
15px 1.364em 136.4% 11pt
16px 1.455em 145.5% 12pt
17px 1.545em 154.5% 13pt
18px 1.636em 163.6% 14pt
19px 1.727em 172.7% 14pt
20px 1.818em 181.8% 15pt
21px 1.909em 190.9% 16pt
22px 2em 200% 17pt
23px 2.091em 209.1% 17pt
24px 2.182em 218.2% 18pt
Pixels EMs Percent Points
6px 0.5em 50% 5pt
7px 0.583em 58.3% 5pt
8px 0.667em 66.7% 6pt
9px 0.75em 75% 7pt
10px 0.833em 83.3% 8pt
11px 0.917em 91.7% 8pt
12px 1em 100% 9pt
13px 1.083em 108.3% 10pt
14px 1.167em 116.7% 11pt
15px 1.25em 125% 11pt
16px 1.333em 133.3% 12pt
17px 1.417em 141.7% 13pt
18px 1.5em 150% 14pt
19px 1.583em 158.3% 14pt
20px 1.667em 166.7% 15pt
21px 1.75em 175% 16pt
22px 1.833em 183.3% 17pt
23px 1.917em 191.7% 17pt
24px 2em 200% 18pt
Pixels EMs Percent Points
6px 0.462em 46.2% 5pt
7px 0.538em 53.8% 5pt
8px 0.615em 61.5% 6pt
9px 0.692em 69.2% 7pt
10px 0.769em 76.9% 8pt
11px 0.846em 84.6% 8pt
12px 0.923em 92.3% 9pt
13px 1em 100% 10pt
14px 1.077em 107.7% 11pt
15px 1.154em 115.4% 11pt
16px 1.231em 123.1% 12pt
17px 1.308em 130.8% 13pt
18px 1.385em 138.5% 14pt
19px 1.462em 146.2% 14pt
20px 1.538em 153.8% 15pt
21px 1.615em 161.5% 16pt
22px 1.692em 169.2% 17pt
23px 1.769em 176.9% 17pt
24px 1.846em 184.6% 18pt
Pixels EMs Percent Points
6px 0.429em 42.9% 5pt
7px 0.5em 50% 5pt
8px 0.571em 57.1% 6pt
9px 0.643em 64.3% 7pt
10px 0.714em 71.4% 8pt
11px 0.786em 78.6% 8pt
12px 0.857em 85.7% 9pt
13px 0.929em 92.9% 10pt
14px 1em 100% 11pt
15px 1.071em 107.1% 11pt
16px 1.143em 114.3% 12pt
17px 1.214em 121.4% 13pt
18px 1.286em 128.6% 14pt
19px 1.357em 135.7% 14pt
20px 1.429em 142.9% 15pt
21px 1.5em 150% 16pt
22px 1.571em 157.1% 17pt
23px 1.643em 164.3% 17pt
24px 1.714em 171.4% 18pt
Pixels EMs Percent Points
6px 0.4em 40% 5pt
7px 0.467em 46.7% 5pt
8px 0.533em 53.3% 6pt
9px 0.6em 60% 7pt
10px 0.667em 66.7% 8pt
11px 0.733em 73.3% 8pt
12px 0.8em 80% 9pt
13px 0.867em 86.7% 10pt
14px 0.933em 93.3% 11pt
15px 1em 100% 11pt
16px 1.067em 106.7% 12pt
17px 1.133em 113.3% 13pt
18px 1.2em 120% 14pt
19px 1.267em 126.7% 14pt
20px 1.333em 133.3% 15pt
21px 1.4em 140% 16pt
22px 1.467em 146.7% 17pt
23px 1.533em 153.3% 17pt
24px 1.6em 160% 18pt
Pixels EMs Percent Points
6px 0.375em 37.5% 5pt
7px 0.438em 43.8% 5pt
8px 0.5em 50% 6pt
9px 0.563em 56.3% 7pt
10px 0.625em 62.5% 8pt
11px 0.688em 68.8% 8pt
12px 0.75em 75% 9pt
13px 0.813em 81.3% 10pt
14px 0.875em 87.5% 11pt
15px 0.938em 93.8% 11pt
16px 1em 100% 12pt
17px 1.063em 106.3% 13pt
18px 1.125em 112.5% 14pt
19px 1.188em 118.8% 14pt
20px 1.25em 125% 15pt
21px 1.313em 131.3% 16pt
22px 1.375em 137.5% 17pt
23px 1.438em 143.8% 17pt
24px 1.5em 150% 18pt
Pixels EMs Percent Points
6px 0.353em 35.3% 5pt
7px 0.412em 41.2% 5pt
8px 0.471em 47.1% 6pt
9px 0.529em 52.9% 7pt
10px 0.588em 58.8% 8pt
11px 0.647em 64.7% 8pt
12px 0.706em 70.6% 9pt
13px 0.765em 76.5% 10pt
14px 0.824em 82.4% 11pt
15px 0.882em 88.2% 11pt
16px 0.941em 94.1% 12pt
17px 1em 100% 13pt
18px 1.059em 105.9% 14pt
19px 1.118em 111.8% 14pt
20px 1.176em 117.6% 15pt
21px 1.235em 123.5% 16pt
22px 1.294em 129.4% 17pt
23px 1.353em 135.3% 17pt
24px 1.412em 141.2% 18pt
Pixels EMs Percent Points
6px 0.333em 33.3% 5pt
7px 0.389em 38.9% 5pt
8px 0.444em 44.4% 6pt
9px 0.5em 50% 7pt
10px 0.556em 55.6% 8pt
11px 0.611em 61.1% 8pt
12px 0.667em 66.7% 9pt
13px 0.722em 72.2% 10pt
14px 0.778em 77.8% 11pt
15px 0.833em 83.3% 11pt
16px 0.889em 88.9% 12pt
17px 0.944em 94.4% 13pt
18px 1em 100% 14pt
19px 1.056em 105.6% 14pt
20px 1.111em 111.1% 15pt
21px 1.167em 116.7% 16pt
22px 1.222em 122.2% 17pt
23px 1.278em 127.8% 17pt
24px 1.333em 133.3% 18pt
Pixels EMs Percent Points
6px 0.316em 31.6% 5pt
7px 0.368em 36.8% 5pt
8px 0.421em 42.1% 6pt
9px 0.474em 47.4% 7pt
10px 0.526em 52.6% 8pt
11px 0.579em 57.9% 8pt
12px 0.632em 63.2% 9pt
13px 0.684em 68.4% 10pt
14px 0.737em 73.7% 11pt
15px 0.789em 78.9% 11pt
16px 0.842em 84.2% 12pt
17px 0.895em 89.5% 13pt
18px 0.947em 94.7% 14pt
19px 1em 100% 14pt
20px 1.053em 105.3% 15pt
21px 1.105em 110.5% 16pt
22px 1.158em 115.8% 17pt
23px 1.211em 121.1% 17pt
24px 1.263em 126.3% 18pt
Pixels EMs Percent Points
6px 0.3em 30% 5pt
7px 0.35em 35% 5pt
8px 0.4em 40% 6pt
9px 0.45em 45% 7pt
10px 0.5em 50% 8pt
11px 0.55em 55% 8pt
12px 0.6em 60% 9pt
13px 0.65em 65% 10pt
14px 0.7em 70% 11pt
15px 0.75em 75% 11pt
16px 0.8em 80% 12pt
17px 0.85em 85% 13pt
18px 0.9em 90% 14pt
19px 0.95em 95% 14pt
20px 1em 100% 15pt
21px 1.05em 105% 16pt
22px 1.1em 110% 17pt
23px 1.15em 115% 17pt
24px 1.2em 120% 18pt
Pixels EMs Percent Points
6px 0.286em 28.6% 5pt
7px 0.333em 33.3% 5pt
8px 0.381em 38.1% 6pt
9px 0.429em 42.9% 7pt
10px 0.476em 47.6% 8pt
11px 0.524em 52.4% 8pt
12px 0.571em 57.1% 9pt
13px 0.619em 61.9% 10pt
14px 0.667em 66.7% 11pt
15px 0.714em 71.4% 11pt
16px 0.762em 76.2% 12pt
17px 0.81em 81% 13pt
18px 0.857em 85.7% 14pt
19px 0.905em 90.5% 14pt
20px 0.952em 95.2% 15pt
21px 1em 100% 16pt
22px 1.048em 104.8% 17pt
23px 1.095em 109.5% 17pt
24px 1.143em 114.3% 18pt
Pixels EMs Percent Points
6px 0.273em 27.3% 5pt
7px 0.318em 31.8% 5pt
8px 0.364em 36.4% 6pt
9px 0.409em 40.9% 7pt
10px 0.455em 45.5% 8pt
11px 0.5em 50% 8pt
12px 0.545em 54.5% 9pt
13px 0.591em 59.1% 10pt
14px 0.636em 63.6% 11pt
15px 0.682em 68.2% 11pt
16px 0.727em 72.7% 12pt
17px 0.773em 77.3% 13pt
18px 0.818em 81.8% 14pt
19px 0.864em 86.4% 14pt
20px 0.909em 90.9% 15pt
21px 0.955em 95.5% 16pt
22px 1em 100% 17pt
23px 1.045em 104.5% 17pt
24px 1.091em 109.1% 18pt
Pixels EMs Percent Points
6px 0.261em 26.1% 5pt
7px 0.304em 30.4% 5pt
8px 0.348em 34.8% 6pt
9px 0.391em 39.1% 7pt
10px 0.435em 43.5% 8pt
11px 0.478em 47.8% 8pt
12px 0.522em 52.2% 9pt
13px 0.565em 56.5% 10pt
14px 0.609em 60.9% 11pt
15px 0.652em 65.2% 11pt
16px 0.696em 69.6% 12pt
17px 0.739em 73.9% 13pt
18px 0.783em 78.3% 14pt
19px 0.826em 82.6% 14pt
20px 0.87em 87% 15pt
21px 0.913em 91.3% 16pt
22px 0.957em 95.7% 17pt
23px 1em 100% 17pt
24px 1.043em 104.3% 18pt
Pixels EMs Percent Points
6px 0.25em 25% 5pt
7px 0.292em 29.2% 5pt
8px 0.333em 33.3% 6pt
9px 0.375em 37.5% 7pt
10px 0.417em 41.7% 8pt
11px 0.458em 45.8% 8pt
12px 0.5em 50% 9pt
13px 0.542em 54.2% 10pt
14px 0.583em 58.3% 11pt
15px 0.625em 62.5% 11pt
16px 0.667em 66.7% 12pt
17px 0.708em 70.8% 13pt
18px 0.75em 75% 14pt
19px 0.792em 79.2% 14pt
20px 0.833em 83.3% 15pt
21px 0.875em 87.5% 16pt
22px 0.917em 91.7% 17pt
23px 0.958em 95.8% 17pt
24px 1em 100% 18pt

Oh la la! Custom conversions

Here’s a calculator for your custom EM needs

PX to EM
EM to PX

Results

Generated CSS should make it simple

All the CSS you need to get started using EMs

Pixels, EMs, and PXtoEM.com…oh my!

Daunting, but not quite lions, tigers, and bears thanks to PXtoEM.com

What is an EM?

Wikipedia puts it well: “An em is a unit of measurement in the field of typography, equal to the size of the current font.” If your font-size is at 16 pixels, then 1em = 16px

For more information visit Wikipedia and W3Schools.

What is the text sizing difference between PX, EM, %, PT?

Pixels and points are static measurements. 1 pixel is always 1 pixel. 1 point is always 1 point. Points are a little different because they change size based on DPI. On paper, with its higher DPI, 12 point text is actually more pixels that 12 point text on a computer monitor, which has a lower DPI than paper.

Percent and EMs on the other hand are relative measurements. The size of EM or percent-based text depends on its parent. If body text is sized at 12 pixels, then text set at 120% or 1.2 EM inside the body will be 1.2 * 12, or 14.4 pixels.

How do I convert between PX, EM, %, and PT?

Assuming you aren’t using PXtoEM.com to keep it simple, here’s the formulas PXtoEM.com uses.

Note:16px is used as the body text size in all conversions because that is the browser default on today’s browser. You will change 16px to your base text size.

  • PX to EM: text size in pixels / body text size in pixels = size in EMs
    • Example: 12px / 16px = .75em
  • PX to %: text size in pixels / body text size in pixels * 100 = size in %
    • Example: 12px / 16px * 100 = 75%
  • PX to PT: text size in pixels * points per inch / pixels per inch = size in pt
    • Example: 16px * 72 (72 points = 1 inch) / 96 (96 pixels per inch in Windows, 72 in Mac) = 12pt
  • EM to PX: text size in EMs * body text size in pixels = size in pixels
    • Example: .75em * 16px = 12px
  • EM to %: text size in EMs * 100 = size in %
    • Example: .75em * 100 = 75%
  • % to PX: text size in % * body text size in pixels / 100 = size in pixels
    • Example: 75 * 16px / 100 = 12px
  • % to EM: text size in % / 100 = size in EMs
    • Example: 75 / 100 = .75em
  • PT to PX: text size in pt * pixels per inch / points per inch = text size in pixels
    • Example: 12pt * 96ppi / 72ppi = 16px

Why size your text with EMs in CSS?

Style sheets that use EMs are easier to maintain for the designer (especially with PXtoEM.com at your side) and more accessible to end-users.

Style sheets become easier to maintain because all text set in EMs scale to the body font-size. Only one element’s font-size needs to change instead of individually changing the font-size of each element.

Accessibility is increased for end-users because text is scaled based on their preferences rather than set statically in pixels. Additionally, end-users can use hot keys to scale the text in all browsers. Many people have difficulty reading small text on a computer screen.

For more information visit A List Apart, informIT, Jon Tan’s Blog, and this SharePoint Blog.

This site uses Blueprint CSS to generate your yummy CSS.

What is PXtoEM.com?

PXtoEM.com is px to em conversion made simple. Choose your body font size in pixels (px)and out comes a complete pixel (px) to em conversion table, making elastic web design with CSS a snap. The once daunting challenge of converting pixels (px) to the elusive em has now been reduced to a booger eating pipsqueak. Thanks, PXtoEM.com!

PXtoEM.com takes it a step further and gives CSS to start with! After you select your body font size, go to “Get CSS” and there you go!

PXtoEM.com was created by Brian Cray

http://webdesignledger.com/tools/10-fresh-and-useful-jquery-plugins
http://www.channelchooser.com/

Watch online TV live on the internet

Watch live TV channels online on your computer. Free and fast.

Welcome! You are watching ChannelChooser. Pick, Push en Play.
category: popular - choose a channel

popular

(1302)

channeldescriptionaddedrating 
Movie FavoritesHollywood blockbusters, classic movies, action, drama and thrillers.22-02-2009rating-3Super Show TVHollywood blockbusters, classic movies, action, drama and thrillers.14-12-2009rating-4The Movies ChannelHollywood blockbusters, classic movies, action, drama and thrillers.08-05-2009rating-3Nostalgia MoviesClassic movies and old series.14-12-2009rating-3BBC CentralEntertainment, series, soaps and comedy from BBC.23-02-2009rating-4Creep MoviesHorror, thriller and suspense movies.14-12-2009rating-3Hollywood ClassicsHollywood blockbusters, classic movies, action, drama and thrillers.08-05-2009rating-4The CW LiveSeries such as Gossip Girl, 90210 and Americas Next Topmodel.23-06-2009rating-4Adventure Free TVAction, adventure, thriller and drama movies.20-02-2009rating-3BBC World NewsWatch the latest world news headlines from BBC World News.21-02-2009rating-3Discovery Channel NowAmazing stories from the world of science, history and engineering.23-02-2009rating-3Nick JuniorKids games, kids TV shows, videos and entertainment from Nickelodeon.23-02-2009rating-5Westerns Free TVWestern movies, cowboys and the wild west.23-02-2009rating-4MSNBC NewsLive breaking news headlines from MSNBC.21-02-2009rating-2Break TVAll crazy amazing videos of pranks, stunts and girls.01-03-2009rating-3Anime TVAnime shows, movies and cartoons.21-02-2009rating-3AnimaxCartoons and animation series.17-04-2009rating-4Play Centre TVTV from a family indoor play centre.20-02-2009rating-4ESPNAuto racing with nascar, champcar, formula 3 and formula 1.20-02-2009rating-4Toonami LiveLooney Tunes, Tom and Jerry, Betty Boop, Superman and more.23-02-2010rating-4France 24 EnglishInternational headlines, news, reports and interviews.20-02-2009rating-5CW TVLive series such as America's Next Top Model, One Tree Hil.20-02-2009rating-3ToonJetLooney Tunes, Tom and Jerry, Betty Boop, Superman and more.14-12-2009rating-4HBO DirectThe best of, short clips and trailers from HBO.08-05-2009rating-4Cartoon BoomClassic cartoons and entertainment such as Tom and Jerry.23-06-2009rating-4
http://lamasart.livejournal.com/6874.html

14

Adult Content Notice

The content that you are about to view could contain adult concepts which may not be suitable for minors. To continue, you must confirm that you are at least 14 years of age.

No, return me to Explore LJ.
Image by [info]clover71. Join the contest in [info]remixed!
 
http://www.topcoder.com/tc
http://www.professorcloud.com/mainsite/cloud-zoom.htm

Cloud Zoom

Cloud Zoom is a jQuery image zoom plugin, a comparable alternative to products such as Magic Zoom. Compared to the popular jQZoom plugin, Cloud Zoom is smaller, has more features and more robust compatability across browsers.

Standard Settings With Gallery

Thumbnail 1 Thumbnail 2 Thumbnail 3

Hover over the large image to see the zoom working.

These are the 'out of the box' settings, with the big image appearing to the right of the small image.

The appearance of the smaller image, lens and zoom window can be altered with regular CSS.

Features

  • Works with most browsers (tested on IE6+, Firefox, Chrome, Opera, Safari).
  • Easy integration with basic valid HTML.
  • Small 6Kb (minified) script.
  • Smooth zoom movement.
  • Gallery mode.
  • Tint, soft focus and inner zoom features.
  • Degrades gracefully with Javascript turned off.
  • Fully accessible with no CSS or text only browsers.
  • It's completely free.

Tints

Add a tint of any colour (including black or white) to the small image. The intensity of tint is fully customisable, shown here in red at 50%.

In this example, the movement smoothness is set to a higher value for a gentle drifting effect.

Inner Zoom

Zoom position can be inside the smaller image, useful if you would rather not obscure any other content.

Soft Focus

Apply a subtle soft-focus effect to the small image.

In this example, the zoom window position is specified as a div target which can be positioned anywhere. The movement smoothness is set to a lower value for a snappier feel.

blog comments powered by Disqus
Share |

Useful website? You can donate to support it. Thanks.

Drupal Users

Nick Thompson has kindly provided this Drupal module.

Need Good Hosting?

Hostgator Reliable Hosting

I use Host Gator for this site, and have found them to be good value and very reliable. Sign up now and use coupon code professorcloud to receive a $9.95 rebate.

http://www.razuna.org/

The professional way to manage all your multimedia files.

Razuna - efficient, free and safe management of your digital assets

Razuna is the open source alternative to digital asset management (DAM) Systems. You can save up to 90% compared to any proprietary system. Razuna is the first system which integrates the most common used DAM features in one single and simple to use application. Read more about Razuna

  • Simple - Manage digital assets of all formats (video, images, pdfs etc.)
  • Scalable - For small to large enterprises
  • Open standards - XML/SQL/CFML/XMP/IPTC fully supported
  • Robust - Superior asset engine built in
  • Flexible - Unlimited languages, assets, users, etc.
  • Cross platform - Windows, Linux, MacOS X, Java J2EE & Web based
  • Secure - Built on open, industry-proven technologies
       and many more
  • Why Razuna?

    100% Open Source
    100% Free
    100% Satisfaction guaranteed

    Download Razuna for free. More than 30.000 downloads as of May 2010.

    Have a look at our Support Plans - We help with any kind of deployment.

    You wish that we take care of all the technical aspects of Razuna? Enjoy the benefits of a hosted digital asset management system.

    http://www.economist.com/node/16941775

    Schumpeter

    Declining by degree

    Will America’s universities go the way of its car companies?

    FIFTY years ago, in the glorious age of three-martini lunches and all-smoking offices, America’s car companies were universally admired. Everybody wanted to know the secrets of their success. How did they churn out dazzling new models every year? How did they manage so many people so successfully (General Motors was then the biggest private-sector employer in the world)? And how did they keep their customers so happy?

    Today the world is equally in awe of American universities. They dominate global rankings: on the Shanghai Ranking Consultancy’s list of the world’s best universities, 17 of the top 20 are American, and 35 of the top 50. They employ 70% of living Nobel prizewinners in science and economics and produce a disproportionate share of the world’s most-cited articles in academic journals. Everyone wants to know their secret recipe.

    Which raises a mischievous question. Could America’s universities go the way of its car companies? On the face of it, this seems highly unlikely. Student enrolments are higher than ever this year, as Americans who cannot find jobs linger or return to education. Cambridge, Massachusetts, shows no outward sign of becoming Detroit. Yet there are serious questions about America’s ivory towers.

    Two right-wing think-tanks, the American Enterprise Institute (AEI) and the Goldwater Institute, have both produced damning reports about America’s university system. Two left-wing academics, Andrew Hacker and Claudia Dreifus, have published an even more damning book: “Higher Education? How Colleges are Wasting Our Money and Failing Our Kids and What We Can Do About It”. And US News & World Report, a centrist magazine, says in its annual survey of American colleges that: “If colleges were businesses, they would be ripe for hostile takeovers, complete with serious cost-cutting and painful reorganisations.”

    College fees have for decades risen faster than Americans’ ability to pay them. Median household income has grown by a factor of 6.5 in the past 40 years, but the cost of attending a state college has increased by a factor of 15 for in-state students and 24 for out-of-state students. The cost of attending a private college has increased by a factor of more than 13 (a year in the Ivy League will set you back $38,000, excluding bed and board). Academic inflation makes medical inflation look modest by comparison.

    As costs soar, diligence is tumbling. In 1961 full-time students in four-year colleges spent 24 hours a week studying; that has fallen to 14, estimates the AEI. Drop-out and deferment rates are also hair-curling: only 40% of students graduate in four years.

    The most plausible explanation is that professors are not particularly interested in students’ welfare. Promotion and tenure depend on published research, not good teaching. Professors strike an implicit bargain with their students: we will give you light workloads and inflated grades so long as you leave us alone to do our research. Mr Hacker and Ms Dreifus point out that senior professors in Ivy League universities now get sabbaticals every third year rather than every seventh. This year 20 of Harvard’s 48 history professors will be on leave.

    America’s commitment to research is one of the glories of its higher-education system. But for how long? The supply of papers that apply gender theory to literary criticism remains ample. But there is evidence of diminishing returns in an area perhaps more vital to the country’s economic dynamism: science and technology. The Kauffman Foundation, which studies entrepreneurship, argues that the productivity of federal funding for R&D, in terms of patents and licences, has been falling for some years. Funding is spread too thinly. It would yield better results if concentrated on centres of excellence, but fashionable chatter about the “knowledge economy” stirs every congressional backwoodsman to stick his fingers into the university pie.

    The Goldwater Institute points to a third poison to add to rising prices and declining productivity: administrative bloat. Between 1993 and 2007 spending on university bureaucrats at America’s 198 leading universities rose much faster than spending on teaching faculty. Administration costs at elite private universities rose even faster than at public ones. For example, Harvard increased its administrative spending per student by 300%. In some universities, such as Arizona State University, almost half the full-time employees are administrators. Nearly all university presidents conduct themselves like corporate titans, with salaries, perks and entourages to match.


    At least the Naval Academy is free

    Given the size and competitiveness of America’s higher-education system, you might expect these problems to be self-correcting. Why don’t some universities compete by hiring teaching superstars? And why don’t others slash prices? The big problem is that high-status institutions such as universities tend to compete with each other on academic reputation (which is enhanced by star professors) and bling (luxurious dormitories and fancy sports stadiums) rather than value for money. This starts at the top: Yale would never dream of competing with Harvard on price. But it also extends to second-division universities: George Washington University has made itself fashionable by charging students more and spending lavishly on its facilities.

    This luxury model is unlikely to survive what is turning into a prolonged economic downturn. Parents are much less willing to take on debt than they were and much more willing to look abroad for better deals. The internet also poses a growing threat to what Bill Gates calls “place-based colleges”. Online, you can listen to the world’s best lecturers for next to nothing.

    America’s universities lost their way badly in the era of easy money. If they do not find it again, they may go the way of GM.



    Advertisement

    Advertisement

    Latest blog posts - All times are GMT

    Meet Charlemagne
    From Charlemagne's notebook - September 3rd, 1:25
    And WiFi for all
    From Prospero - September 2nd, 22:15
    Link exchange
    From Free exchange - September 2nd, 20:58
    Nowhere to go
    From Free exchange - September 2nd, 20:51
    You know the drill
    From Democracy in America - September 2nd, 18:44
    More from our blogs »

    Products & events

    Stay informed today and every day

    Subscribe to The Economist's free e-mail newsletters and alerts.


    Subscribe to The Economist's latest article postings on Twitter


    See a selection of The Economist's articles, events, topical videos and debates on Facebook.

    Advertisement

    http://technet.microsoft.com/en-us/library/dd349337(WS.10).aspx