True Scala complexity
Due to the recent php2shell vulnerability , to save time and effort for both users and maintainers alike, and out of an overabundance of caution, all Scripts sites have had PHP (php-cgi) disabled until a patch is available and backported.
Things I like about programming in Go
I recently wrote a blog post for CloudFlare about our use of Go . I thought it was worth following up with a bit more detail about why I li...
PyPy funded to begin support for Python 3 and Numpy
Last year was quite successful for PyPy fundraising through the Software Freedom Conservancy , and Conservancy and PyPy are very excited to ...
Both true and false: a Zen moment with C
I ran into a really fun bug at work yesterday, where I discovered that my C program was branching down logically inconsistent code paths. After drinking another cup of coffee and firing up GDB I realized that somehow, a boolean variable in my code was simultaneously testing as both true and not true.
PyPy 2.0 beta 1 released
We're pleased to announce the 2.0 beta 1 release of PyPy. This release is not a typical beta, in a sense the stability is the same or bette...
Lisp Hackers: Peter Seibel
Peter Seibel has helped more people (including me) discover and become user of Lisp as probably noone else in the last decade with his Pract...
Such a Little Thing: The Semicolon in Rust
Look at a tiny syntax detail that shows up in current versions of rust that has profound implications on how the language deals with almost everything being an expression.
LuaJit 2.0 is out
LuaJIT is only made available as source code from a git repository. To access this repository, you need to install the git command for your operating system. Please refer to the git version control system documentation for details.
The Future of JavaScript
The ECMA committee is working hard on designing the next version of JavaScript, also known as " Harmony ". It is due by the end of next year...
Go at Google: Language Design in the Service of Software Engineering
(This is a modified version of the keynote talk given by Rob Pike at the SPLASH 2012 conference in Tucson, Arizona, on October 25, 2012.)
Refining Ruby
What does the following code do? If you answered
PyPy 1.8 - business as usual
We're pleased to announce the 1.8 release of PyPy. As habitual this release brings a lot of bugfixes, together with performance and memory i...
Java 8 Lambdas
Scheduled for release in 2013 , Java 8 will include language support for lambda functions. Although the specification is still in flux, lam...
Confession of a Haskell Hacker
I have a confession to make. I recently released two Haskell packages, lens-family-core and lens-family based on my previous blog post and Edward Kmett’s blog post . However, I never tested this code before releasing it. By “never tested”, I mean that I am pretty sure that I never once executed any of this code. I did…
A Boggling Return to C
My first real programming class, back in high school, was taught in C. I found it difficult and I remember spending the whole year thinking that I really had no aptitude for programming. I think I got an OK grade in the end, but I felt like I was really struggling compared to the other students in the class. It wasn’t…
Common Lisp: The Untold Story
A version of the paper below was published in Celebrating the 50th anniversary of Lisp , edited by Charlotte Herzeel, the conference record of Lisp50 @ OOPSLA’08 (Nashville, Tennessee, USA, 2008). That collection is available through the ACM Digital Library .
Prototype PHP interpreter using the PyPy toolchain - Hippy VM
Hello everyone. I'm proud to release the result of a Facebook-sponsored study on the feasibility of using the RPython toolchain to produce ...
Why Erlang?
The chance that you are reading this blog post on a device with a multicore cpu is increasing on a daily basis which is why everybody is talking about concurrency now. Concurrency for our web applications and API backends means that we’d like our htop to look like this:
New to Ruby? Tips for the new Rubyist.
Jasim's homepage
Introduction to monads in JavaScript
I know, I know, the world does not need yet another introduction to monads (or yet another article complaining that world does not need yet another introduction to monads). So you’ll be glad to know this isn’t one of those, in the sense that it’s not new. I thought I’d write it because, first, monads are worth knowing…