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).
Temperaturmonitor ist ein Programm, um Messwerte aller zugreifbaren Temperatursensoren in Macintosh-Computern abzufragen, die zwischen August 2002 und Oktober 2012 freigegeben wurden. Das Programm kann die Messwertverläufe veranschaulichen, in verschiedensten Arten anzeigen oder per Sprachausgabe melden. Ebenso können Werte gespeichert und exportiert werden.
Temperaturmonitor ist die kleine, kostenlose Fassung des Programms Hardwaremonitor. Hardwaremonitor kann darüberhinaus andere “Nicht-Temperatur”-Sensoren und künstliche Betriebssystemsensoren anzeigen, sowie externe LCD-Anzeigen steuern. Temperaturmonitor ist Teil einer Suite aus insgesamt 9 verschiedenen Überwachungsprogrammen für verschiedene Einsatzzwecke.
Temperaturmonitor ist ein elektronisch vertriebenes Software-Produkt. Sie können das Programm kostenlos herunterladen.
Neko is a everyone’s favorite computerized cat, finally available for Mac OS X. There’s already a screensaver version, but this gives you a little kitten running around on your desktop. Neko works with Mac OS X 10.4 and up, and is a universal binary.
With DrawBerry, you have all the possibilities the vectorial drawing offers you in a free, easy to use and powerful application. If you don’t need applications such Illustrator or Inkscape and you want to create some simple (or less simple) illustrations, DrawBerry is for you.
nvALT 2 is a fork of the original Notational Velocity with some additional features and interface modifications, including MultiMarkdown functionality. It has been developed by Elastic Threads (David Halter) and Brett Terpstra, and made available for free (donations accepted).
Join is an asynchronous message coordination and concurrency library based on concepts and techniques developed in JoCaml[1] and Cω[2]. It is applicable both to multithreaded applications and to the orchestration of asynchronous message flows.
Channel is a C++ template library to provide name spaces for asynchronous, distributed message passing and event dispatching. Message senders and receivers bind to names in name space; binding and matching rules decide which senders will bind to which receivers; then message passing and event dispatching could happen among bound senders and receivers.
This library provides an implementation of the actor model for C++. It uses a network transparent messaging system to ease development of both concurrent and distributed software.
libcppa uses a thread pool to schedule actors by default. A scheduled actor should not call blocking functions. Individual actors can be spawned (created) with a special flag to run in an own thread if one needs to make use of blocking APIs.
Writing applications in libcppa requires a minimum of gluecode and each context is an actor. Even main is implicitly converted to an actor if needed.
Concurrency Kit provides a plethora of concurrency primitives, safe memory reclamation mechanisms and non-blocking data structures designed to aid in the design and implementation of high performance concurrent systems.
Theron is a lightweight C++ concurrency library based on the Actor Model. Its Actor Model foundations make Theron an intuitive and productive way to write parallel and distributed applications.
Theron brings this natural expression of concurrency to C++ with a clean, lightweight, portable API. Freely distributed under the MIT license, Theron is portable C++ and is widely used in Linux, Windows, Mac, ARM and Matlab environments. It supports pthreads, Windows threads, boost::thread and C++11 threads.