Announcing Topaz: A New Ruby
I’m extraordinarily pleased to today announce Topaz, a project I started 10 months ago, to create a brand new implementation of the Ruby programming language (version 1.9.3).
Posts that commenters keep linking to, ranked by how many different people have cited them in Hacker News comments. 184 posts.
I’m extraordinarily pleased to today announce Topaz, a project I started 10 months ago, to create a brand new implementation of the Ruby programming language (version 1.9.3).
jQuery: The Write Less, Do More, JavaScript Library
Update (July 2015): This post is now rather outdated, and the procedure for modifying your private key files is no longer recommended. A better solution is to use ssh-keygen -o .
On your journey to Clojure mastery, your editor will be your closest ally. I highly recommend working with Emacs, but you can, of course, use any editor you want. If you don’t follow the thorough Emacs instructions in this chapter, or if you choose to use a different editor, it’s worthwhile to at least invest some…
This PEP proposes that the Installing Python Modules guide in Python 2.7, 3.3 and 3.4 be updated to officially recommend the use of pip as the default installer for Python packages, and that appropriate technical changes be made in Python 3.4 to provide...
Thinking procedurally is one of the hardest concepts to grasp for the beginning programmer.
Furthermore I am of the oppinion that Python developers should write more classes.
During my recent trip to Vietnam I took the opportunity to visit some schools and see how computer science was taught there. Officially, foreigners require permission from the department of education to enter schools. But it's much simpler (and the results are more representative) to simply show up unannounced. A…
If you haven’t heard of Alan Kay you’ll likley have heard one of his many famous quotes, the most popular, likely his 1971 gem: The best …
This PEP proposes adding an enumeration type to the Python standard library.
To many Web developers, being good at CSS means you can take a visual mock-up and replicate it perfectly in code. You don't use tables, and you pride yourself on using as few images as possible. If you're really good, you use the latest and greatest techniques like media queries, transitions and tra
Disqus has a history of using one tool for the job and hammering through everything. Until now, that tool has been Python. This mentality has been extremely beneficial for us since we are a small team. Everyone is able to jump in to any piece of our stack with minimal effort.
On February 13, 2013, the Computer History Museum reported that they had received the source code for version 1.1 of Photoshop from Adobe, and had permission to release it for non-commercial use. This is the second time recently that something like this has happened, the first being the release of the Quickdraw and…
On November 4th, the HHVM team went on a 3-week performance and parity lockdown. The lockdown officially ended on November 22nd. Overall, this lockdown was a...
An interview with Felix Winkelmann about CHICKEN Scheme, the SPOCK Scheme-to-JavaScript compiler, and what motivates him to keep programming.
One of the big features for Go 1.1 is the new scheduler, contributed by Dmitry Vyukov. The new scheduler has given a dramatic increase in performance for parallel Go programs and with nothing better to do, I figured I'd write something about it.
If you ignore the practical issues of computers like size, weight, cost, heat, and so on, what do you really need in a programming language? Let's play around with this question.
New paper: “Security Analysis of Pseudo-Random Number Generators with Input: /dev/random is not Robust, by Yevgeniy Dodis, David Pointcheval, Sylvain Ruhault, Damien Vergnaud, and Daniel Wichs. Abstract: A pseudo-random number generator (PRNG) is a deterministic algorithm that produces numbers whose distribution is…
Real-Time Garbage Collection (RTGC) tests the limits of what we typically think is possible in production software. You might hear “Real-Time” and “Garbage Collection” together and think “If you truly need real-time guarantees, why would you use a garbage collected language?” or “How is real-time Garbage Collection…
An “optimizer” should really be called an “improver”, and a “superoptimizer” should be called an “optimizer” 🙂
Home Page for Charles Rosenberg
The structure of this tutorial assumes an intermediate level knowledge of Python but not much else. No knowledge of concurrency is expected. The goal is to give you the tools you need to get going with gevent, help you tame your existing concurrency problems and start writing asynchronous applications today.