Just-in-time compilers offer the biggest achievable payoff performance-wise, but their implementation is a non-trivial, time-consuming task affecting the interpreter’s maintenance for years to come, too. Recent research addresses this issue by providing ways of leveraging existing just-in-time compilation infrastructures.
Though there has been considerable research on improving the efficiency of just-in-time compilers, the area of optimizing interpreters has gotten less attention as if the implementation of a dynamic translation system was the “ultima ratio” for efficiently interpreting programming languages. We present optimization techniques for improving the efficiency of interpreters without requiring just-in-time compilation thereby maintaining the ease-of-implementation characteristic that brought many people to implementing an interpreter in the first place.
PEMDAS is a simple but powerful calculator that lets you work with equations and variables.
It is designed to make calculating more efficient, and new and innovative features are being added that allow you to get work done faster and with less effort than other calculators.
WORDS Latin Dictionary is [an OSX dictionary] plugin based on William Whitaker’s Latin translation dictionary WORDS.
An Apple Design Award Winning scientific calculator with an easy-to-use interface for doing calculations with equations and variables.
In addition to the keypad, it also features an equation history view, which is activated by clicking on the the button next to the info button in the bottom bar. The equation history view gives one-click access to everything in the current session, including all equations and their associated results, and all variables. You can clear the session by pressing clear on your keyboard twice fast (shift+delete for notebook users), or double clicking the clear button on the calculator.
In addition, PEMDAS lets you switch between degrees and radians, and has support for percentages, trigonometric, hyberbolic, and logarithmic/exponential functions. You can also convert between hexadecimal, octal, binary, and decimal. PEMDAS lets you format the answer in scientific and engineering notation, has a preference for thousands separators, and lets you limit the amount of significant figures or decimal places displayed.
Kostenlose Plugins für Apples Lexikon-Programm (nur Mac OS X 10.5 oder höher).
Dieses Lexikon-Plugin erweitert Apples Lexikon-Programm (Dictionary.app) um einen deutschen Thesaurus.
- Man kann nach allen Synonymen suchen und nicht nur nach dem Hauptwort.
- Die Suche findet auch Wortbestandteile von Phrasen oder mit Bindestrichen zusammengesetzten Wörtern (Lexikon sucht normalerweise nur am Wortanfang).
- Es ist keine Internetverbindung nötig, da das komplette Wörterbuch in das Plugin integriert wurde. Dieser Thesaurus basiert auf dem Online-Thesaurus www.openthesaurus.de von Daniel Naber und enthält bereits über 60.000 Einträge.
Here I offer you a plugin that enhances Mac OS X Leopard’s (10.5) or Mac OS X Snow Leopard’s (10.6) Dictionary.App to provide the complete German-English vocabulary from the fabulous dict.cc dictionary for offline use. It works great in Dictionary.App and other core Mac OS X services like Spotlight or Dictionary-Widget.
In March, readers followed along as Nate Anderson, Ars deputy editor and a self-admitted newbie to password cracking, downloaded a list of more than 16,000 cryptographically hashed passcodes. Within a few hours, he deciphered almost half of them. The moral of the story: if a reporter with zero training in the ancient art of password cracking can achieve such results, imagine what more seasoned attackers can do.
Imagine no more. We asked three cracking experts to attack the same list Anderson targeted and recount the results in all their color and technical detail Iron Chef style. The results, to say the least, were eye opening because they show how quickly even long passwords with letters, numbers, and symbols can be discovered.
DC is a library for adding dataflow constraints to C/C++ programs.
Streamulus is a C++ library that makes it very easy to process event streams. You need to write code that handles a single event and the library turns this code into a data structure that handles infinite streams of such events. The stream operators you write can have side effects and they can maintain an internal state. An example is worth a thousand words.
This is the homepage of Shapes, a powerful functional drawing language with LaTeX support.
So, you guys finally finished reading Roger Penrose’s The Emperor’s New Mind? What did you think of it?
(Since I forgot to record this lecture, the class responses are tragically lost to history. But if I recall correctly, the entire class turned out to consist of – YAWN – straitlaced, clear-thinking materialistic reductionists who correctly pointed out the glaring holes in Penrose’s arguments. No one took Penrose’s side, even just for sport.)
Alright, so let me try a new tack: who can summarize Penrose’s argument (or more correctly, a half-century-old argument adapted by Penrose) in a few sentences?
How about this: Gödel’s First Incompleteness Theorem tells us that no computer, working within a fixed formal system F such as Zermelo-Fraenkel set theory, can prove the sentence
G(F) = "This sentence cannot be proved in F."
But we humans can just “see” the truth of G(F) – since if G(F) were false, then it would be provable, which is absurd! Therefore the human mind can do something that no present-day computer can do. Therefore consciousness can’t be reducible to computation.
Alright, class: problems with this argument?
Description from http://www.scottaaronson.com/democritus/lec10.5.html:
Years ago I parodied Penrose’s argument by means of the Gödel CAPTCHA. Recall from Lecture 4 that a CAPTCHA (Completely Automated Public Turing Test to tell Computers and Humans and Apart) is a test that today’s computers can generate and grade, but not pass. These are those “retype the curvy-looking nonsense word” deals that Yahoo and Google use all the time to root out spambots. Alas, today’s CAPTCHA’s are far from perfect; some of them have even been broken by clever researchers.
By exploiting Penrose’s insights, I was able to create a completely unbreakable CAPTCHA. How does it work? It simply asks whether you believe the Gödel sentence G(F) for some reasonable formal system F! Assuming you answer yes, it then (and this is a minor security hole I should really patch sometime) asks whether you’re a human or a machine. If you say you’re a human, you pass. If, on the other hand, you say you’re a machine, the program informs you that, while your answer happened to be correct in this instance, you clearly couldn’t have arrived at it via a knowably sound procedure, since you don’t possess the requisite microtubules. Therefore your request for an email account must unfortunately be denied.
I am a business analyst and linguist residing in Melbourne, Australia.
Ι am a member of the Link Affiliates team, working on interoperability in e-learning and e-research. I am also a research associate of the Thesaurus Linguae Graecae project at the University of California, Irvine.
I am now blogging at opɯdʒɯlɯklar (personal), Interoppo Research (work), and Ἡλληνιστεύκοντος (linguistics).
It’s the only web site I know that has versions in English, Greek, Esperanto, Latin, Klingon, and Lojban.
Mention prosgegrammeni to someone working on Unicode, and chances are they’ll turn several shades of purple. The interaction of capitals and mute iota has been troublesome; I’m letting you know about it, so you don’t contribute further to the trouble.
This discussion revolved around licensing issues (if any) for app developers using the different mobile ports of Qt, mainly focusing on iOS and Android.
The Boost.Polygon library provides algorithms focused on manipulating planar polygon geometry data. Specific algorithms provided are the polygon set operations (intersection, union, difference, disjoint-union) and related algorithms such as polygon connectivity graph extraction, offsetting and map-overlay. An example of the disjoint-union (XOR) of figure a and figure b is shown below in figure c. These so-called Boolean algorithms are of significant interest in GIS (Geospatial Information Systems), VLSI CAD as well all other fields of CAD, and many more application areas, and providing them is the primary focus of this library. The Boost.Polygon library is not intended to cover all of computational geometry in its scope, and provides a set of capabilities for working with coordinates, points, intervals and rectangles that are needed to support implementing and interacting with polygon data structures and algorithms.
The following problem relates to the sequence A126933 in the Online Encyclopedia of Integer Sequences, which apparently underlied a problem posed at the 1971 All (Soviet) Union Mathematical Olympiad.
LZ4 is a very fast lossless compression algorithm, providing compression speed at 300 MB/s per core, scalable with multi-cores CPU. It also features an extremely fast decoder, with speeds up and beyond 1GB/s per core, typically reaching RAM speed limits on multi-core systems.
A high compression derivative, called LZ4_HC, is also provided. It trades CPU time for compression ratio.
Snappy is a compression/decompression library. It does not aim for maximum compression, or compatibility with any other compression library; instead, it aims for very high speeds and reasonable compression. For instance, compared to the fastest mode of zlib, Snappy is an order of magnitude faster for most inputs, but the resulting compressed files are anywhere from 20% to 100% bigger. On a single core of a Core i7 processor in 64-bit mode, Snappy compresses at about 250 MB/sec or more and decompresses at about 500 MB/sec or more.
Proton is a library to provide Python-like interfaces for C++11, which try to make porting from Python to C++11 easier, and make programming in C++11 more convenient :)
The problem is that we’re using tabs and spaces to format text for aesthetic reasons rather than treating them semantically - tabs are for indenting and aligning text, spaces are for separating keywords.
The simple solution is to redefine how tabs are interpreted by the text editor. Rather than saying that a tab character places the text that follows it at the next Nth column, we should say that a tab character is a delimiter between table cells in a manner more reminiscent of how they’re used in tab separated value (TSV) files. Seen in this light, we can see that space aligned files are analogous to the old fixed width data files, and we all know the advantages that delimited files have over those. For one thing, you can use sed or other tools to substitute strings in files and everything will still line up when you load them in the editor. Another advantage is that proportional fonts can now be used (in itself not a new idea - see Smalltalk, Oberon and Plan 9’s Acme).