- JVM Bytecode for Dummies
Awesome presentation by Charles Nutter on JVM Bytecode. No matter if you are just curious or want to write your own programming language, this is interesting! - Cutting out the middle men
Great pilot project in the UK, empowering homeless people instead by directly giving them money. - Can’t play, won’t play
Lots of websites and incentive programs nowadays try to “gamify” themselves by adding badges and point systems. Read why in most cases this has nothing to do with real games. - Obscene Losses
Very detailed article on how YouPorn and other amateur sites damage the business of established adult movie producers. - Mystery of how cats lap is revealed
Cats even drink in cool ways. - 10 centuries in 5 minutes
Absolutely fantastic 5 minute video of 1000 years of European history. This is fascinating and a good reminder that today’s empires may very well be tomorrow’s ashes. - 20 Awesomely Untranslatable Words from Around the World
Interesting collection of untranslatable words from around the world. This made the language geek in me very happy. - What I Would Do With This: Groceries
The mathematics of grocery shopping. - Skateistan: To live and skate Kabul
Short movie about a co-educational Skateboarding school in Kabul, Afghanistan. - Hubris Versus Humility: The $15 billion Difference
While I think that the comparison in this article is a bit apples and oranges, it’s an interesting take on initial market positioning.
Review: Create Your Own Programming Language
Synopsis:
Create Your Own Programming Language by Marc-Andre Cournoyer is a guide on – surprise – creating your own programming language, consisting of a 53 page PDF, exercises and solutions, a toy language written in Ruby and a more full-featured one hosted on the JVM. There’s also a 10 minute long screencast on extending the latter, as well as an online community.
The author:
Hailing from Montreal, Marc-Andre is no stranger, especially if you are a Rubyist. Some of his notable projects include the web server Thin, the Ruby interpreter tinyrb and the web site Refactor My Code. He also co-founded a company and is now CTO of another one.
The book:
Obviously 53 pages are not enough to teach you everything about writing your own production-ready programming language, but that’s also not what the author advertises. What you do get is a quite well-made little PDF, explaining all the important components – lexer, parser, interpreter, runtime model, compiler and virtual machine – of a toy language called “Awesome”, which is basically a subset of Ruby with Python-style indentation.
After the introduction, all chapters follow the same basic structure. First a brief introduction of the topic at hand, including pointers to well established projects like Flex, Ragel, Bison or LLVM. After that you’ll find some well-documented and easy to understand Ruby code, implementing what you just learned about. Chapters finish with small exercises, e.g. implementing the WhileNode in the interpreter or adding inheritance to the runtime. In the end there are some parting thoughts on topics like homoiconicity and self-hosting, as well as a resources section including pointers to events, forums, blogs and notable languages. If you are a language geek there’s probably not much new here, but it’s a nice addition. Last but not least you’ll find solutions to the exercises. Once you came this far you can dive into the JVM language and experiment with extending it.
Summary:
Would I recommend this book? That depends on what you are looking for. If you want a detailed academic text, Create Your Own Programming language is definitely not for you. Likewise if you already implemented your own language or have a good idea about what’s involved in doing so, there are also better books to spend your money on. If however you are looking for a fun quick intro to the topic, including easy to understand and well-document code, as well as the right terms to feed into your preferred search engine, this might just be what you are looking for, but you’ll have to decide if you are willing to spend US$40 on that, which I personally find a bit too steep.
Information Overload 2010-11-07
- The OS Doesn’t Matter…
Interesting take on why OS wars don’t really matter anymore, since basically everything except for Windows has moved in a Unix direction or will do so in the near future. Quote: “This is today’s OS. User experience. Development tools.” - Why newspapers make you stupid
On media bias and why you will need more background information and context than newspapers generally provide. - TryClojure – A Call To Action
TryClojure’s author is asking for help in keeping the project alive and kicking. Check out the related Google Group if you may be interested in helping out. - The Fed’s $600 Billion Statement, Translated Into Plain English
The Fed latest statement in plain English. Created with this awesome tool by Slate, there should be more articles like this. - Man in disguise boards international flight
This week’s hilarious contribution to the aviation security circus: an Asian male boards an Air Canada flight in Hong Kong disguised as an elderly Caucasian and asks for refugee protection upon arriving in Vancouver. - What Is This Devops Thing, Anyway?
Now that the term “devops” is slowly becoming a bit more popular, it’s about time to find out what the hype is all about. - The New War Between Science and Religion
Maybe even more dangerous in the long run than followers of “intelligent design”, the “accommodationists” are trying to fend off science by declaring certain aspects as off-limits to scientific scrutiny. - Chatbot Wears Down Proponents of Anti-Science Nonsense
While I can partly understand the frustration that led to writing said bot, I don’t think that Twitter spamming people who obviously don’t care about rationale arguments is doing but worsen the divide between the religiously and the scientific minded. - Fractals without a Computer!
This is clever and beautiful at the same time! - The graffiti knitting epidemic
This makes me want to learn handycraft, anyone in? ;-)
Viennale 2010
Another Viennale has finished, time for a little recap of the five movies we saw this year:
- Los labios (Ivan Fund & Santiago Loza)
This had potential, but didn’t really live up to it. Usually I’m all for mixing professional and amateur actors, but in this case it didn’t work for me. A documentary on this topic would probably haven been more interesting. - Vincere (Marco Bellocchio)
Probably my favorite movie of this year’s festival. An interesting – and true – story, great acting and beautiful presentation, what more can you ask for? - Un homme qui crie (Mahamat-Saleh Haroun)
A solid movie about present-day Chad. Told in a very dry manner, I really enjoyed the first half of this, but found it a bit of a drag towards the end. The lead actor was great though! - The Oath (Laura Poitras)
A documentary about two men from Yemen who worked for Osama Bin Laden. I found this very interesting and as always it’s good to hear the other side of a story. - Engkwentro (Pepe Diokno)
The life of two brothers in a ghetto somewhere in the Philippine – violence, drugs and gangs. This seems to have been made with a fairly low budget, and the nervous handheld camera may upset some people. Overall it was pretty interesting though and I’m glad we saw this.
Information Overload 2010-10-31
- Designing For Jedi
On libertarians and the Victorian Era. - Full-body scanners are waste of money, Israeli expert says
The former chief security officer of Tel Aviv’s Ben Gurion airport explains why he thinks full-body scanner are a waste of money. - Sweet bypass for student finger scanner
Australian school’s plan to use fingerprint readers to track students’ attendance might be foiled by the good old gummy bear attack? - Scale of Universe
An interactive tool to visualize the scale of the universe from quantum foam to beyond the observable universe. Mind-boggling! - What a Rotten World It Can Be: Report Says Three-Fourths of World Is Corrupt
Transparency International’s Corruption Perceptions Index 2010 is out, once again with depressing results. - Composing J in my mind
Also over a year old, this post by @kaleidic on J is a good reminder why it’s such an awesome language that I want to spend more time with. - Peter Bossman becomes Eastern Europe’s first black mayor
After many depressing elections in Europe, it’s good to have some positive news at last. - Andrew Horner: The reverse job applicant
An interesting way to look for a job, good luck to the author! - Think Again: Global Aging
Awesome article on global aging and the reasons for and consequences of demographic shifts. - Super Mario Bros.’ 25th: Miyamoto Reveals All
Happy birthday Super Mario Bros!
Information Overload 2010-10-24
- How Hacker News ranking algorithm works
Arc source code of the Hacker News scoring algorithm, including an explanation and a translation to Python. - When the brain drain is healthy for democracy
A neglected aspect in the study of brain drain, is it actually good for democracy? - The Horror of Canadian Obscenity Law
A Canadian horror movie producer got prosecuted for “corrupting morals”. - Pilot tells TSA: ‘No Naked Photos’
Best summarized by this quote by the pilot in question: “Better people than I have sacrificed more than their careers, their livelihood, for the cause of freedom,” he says. “Americans need to wake up and stand up.” - Aircraft crashes after crocodile on board escapes and sparks panic
On the other end of the spectrum of air travel security, a man in Congo smuggled a crocodile into a plane which crashed as a result of the ensuing panic. - The Tax Haven That’s Saving Google Billions
By using a complicated structure involving Ireland, the Netherlands and Bermuda, Google keeps its corporate tax rate at only 2.4 percent. - Every email and website to be stored
Monitoring citizens’ communication data is back on the political agenda in the UK. - The End of x86?
Will the ARM architecture replace the x86 architecture? - How Aging Populations May Crimp the World’s Finances
For the first time in human history, people older than 65 will outnumber children younger than 5. - IPv4 Space Shrinks To 5% – Final Addresses To Be Issued In Early 2011
Not exactly news, but includes a nice video to show to your less tech-savvy friends.
Quick and Dirty Simhash in Ruby
Today at work we ended up talking about simhashing (a hash function which generates similar hashes for similar inputs) and I found this nice article with a step by step explanation of the algorithm, so I wrote a quick Ruby version (needs 1.9):
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 |