Were Intelligence Agencies Using Heartbleed in November 2013?
Yesterday afternoon, Ars Technica published a story reporting two possible logs of Heartbleed attacks occurring in the wild, months before Monday's public disclosure of the vulnerability. It would be very bad news if these stories were true, indicating that blackhats and/or intelligence agencies...
How I wrote Game Programming Patterns
Update 2014/04/28: In case you missed the link, the web site for my book is gameprogrammingpatterns.com .
Use SQL subqueries to count distinct 50x faster
NB: These techniques are universal, but for syntax we chose Postgres. Thanks to the inimitable pgAdminIII for the Explain graphics. So useful, yet so slow
Beyond Light Table
I have three big announcements to make today. The first is the official announcement of our next project. We’ve been quietly talking about it over the past few months, but today we want to tell you a bit more about it and finally reveal its name:
Reimplementing “git clone” in Haskell from the bottom up (2013)
In order to give some structure to my ongoing investigation of git’s data structures, protocols and implementation I decided to re-implement git clone without using any of git’s plumbing commands or any of the existing git libraries. Along the way I tried to keep some implementation notes that should help to…
Lotus, a web framework for Ruby
Lotus is a complete web framework for Ruby with a strong emphasis on object oriented design and testability. If you use it, you employ less DSLs and more objects, zero monkey-patching, separation of concerns between MVC layers. Each library is designed to be small, fast and testable.
Parsing English with 500 lines of Python (2013)
A syntactic parser describes a sentence’s grammatical structure, to help another application reason about it. Natural languages introduce many unexpected ambiguities, which our world-knowledg…
Obfuscating “Hello World” in Python
Fun with functional programming in Python | Ben Kurtovic's blog
Making GIFs From Video Files With Python
Sometimes producing a good animated GIF requires a few advanced tweaks, for which scripting can help. So I added a GIF export feature to MoviePy, a …
OpenGL in 2014
Valve is investing in OpenGL to hedge themselves against Microsoft. Some well-known developers have written about the deficiencies in the API. A few competing, proprietary APIs have popped up. In an effort to remain competitive, Khronos announces glnext: a ground-up rethinking of the OpenGL and OpenGL ES APIs. This…
Python 3.4.0 released
The official home of the Python Programming Language
Abstract software patents struck down by Supreme Court
In a long-awaited decision, the Supreme Court issued its opinion in Alice Corp. v. CLS Bank today, striking down an abstract software patent. Essentially, the Court ruled that adding “on a computer” to an abstract idea does not make it patentable. Many thousands of software patents—particularly the...
The Mid-Career Crisis of the Perl Programmer
How do you keep the profession of programming fresh throughout your career? (And how do you explain that your résumé says
Frameworkless JavaScript
Le tecnologie in tempo reale stanno trasformando il digitale. Permettono interazioni immediate e autentiche🎯 Scopri come migliorano l'esperienza utente e favoriscono il coinvolgimento.
Clasp – A Common Lisp with LLVM back end and interoperation with C++
Hello, everyone! Click here for up to date build instructions Today I am happy to make the first release of the Common Lisp implementation “Clasp”. Clasp uses LLVM as its back-end and generates nat…
Docker Misconceptions
IOSBET adalah platform resmi dari agen situs sportsbook dengan pasaran terlengkap setiap negara pada tipe bet mix parlay hadiah besar dan casino online paling lengkap di Indonesia.
PostgreSQL’s New LATERAL Join Type
This post walks through a conversion funnel analysis that wouldn’t be possible in PostgreSQL 9.2
How to zero a buffer
Now, we don't want to truly change the observable behaviour of our software — but fortunately the C standard has a more liberal concept of "observable" than most people. In particular, the C standard states that the observable behaviour includes accesses to volatile objects . What is a volatile object, you ask? It is…
Learn regular expressions in about 55 minutes
// For flipping between displayed things const toggle = id => { const element = document.getElementById(id) element.style.display = element.style.display === "none" ? "" : "none" } Regular expressions ("regexes") are supercharged Find/Replace string opera...
You Got Your Web Browser in my Compiler
I recently discovered that Microsoft’s VC++ compiler loads mshtml.dll – also known as Internet Explorer. The compiler does this whenever the /analyze option (requesting static code analysis) is use…
“The Mill” – It just might Work
The Mill is a new general-purpose high-performance processor design from out-of-the-box computing ( http://ootbcomp.com/ ). They claim to beat typical high-end out-of-order (OOO) designs like the Intel Haswell generation by crazy factors, such as being 2.3x faster while using 2.3x less power compared to a Haswell. All…
Building Good Docker Images
The docker registry is bursting at the seams. At the time of this writing, a search for “node” gets just under 1000 hits. How does one choose?
Post mortem of my one game a month
Report of my one game a month challenge during 2014.