→ An example of the CPU caches effects on almost simple loops, see the pictures of the measurements for different sizes and access patterns (and Hacker News discussion). Many thanks to Ace for the link.
→ Gestures instead of passwords: a new way to sign up in Windows 8.
→ File size reported by FindFirstFile can be incorrect (by Raymond Chen).
→ VP trees: A data structure for spatial search by Steve Hanov.
→ Don't let more than one process try to read from stdin at the same time by Raymond Chen.
→ Profiling without a Profiler by Lockless Inc.
→ Why Stack Exchange Isn’t in the Cloud by Kyle Brandt.
→ Lossless and Transparency Encoding in WebP: the lossy compression is more effective than JPG and the lossless compression is better than PNG. There is support for animation and transparency.
→ How to use a hash table to cache the result of conversion from UTC to local time for different time zones by Raymond Chen.
→ Passion Versus Professionalism by Ernest Adams.
→ Asynchronous UIs: don't make your users wait.
→ Adobe is stopping development on Flash Player for mobile browsers; Flash will work in mobile apps through Adobe AIR.
→ Dwolla, a payment network charging $0.25 per transaction.
→ Intel 4004, the first CPU, is 40 years old today.
→ John McCarthy, the creator of LISP, died at 84.
→ The Ksplice Pointer Challenge. Test yourself: do you understand the difference between arrays and pointers in C?
→ Herb Sutter and Bjarne Stroustrup about Dennis Ritchie: he created “a high-level, portable, efficient systems programming language. Everyone knew it couldn’t be done, and he did it”.
→ What's New in Visual Studio C++ 11. Auto-vectorization (using SIMD for a loop) and auto-parallelization (splitting a loop into multiple threads) will be supported in the next version of Visual C++.
→ Memory capacity and commercial compiler development. In 1980s, many compilers were written by one person. With the increase in memory capacity, more optimizations became viable, and you cannot write a compiler alone anymore.
→ An interactive tour of Google Go: learn the language by writing programs and running them in your browser.
→ "Algorithm" is Not a Four-Letter Word: algorithms for generating random mazes.
→ Don't make objects that end with 'er' by Travis Griggs.
→ Windows 8 Developer Preview is available for download (requires installation on a separate partition, includes Visual Studio 11 and SDKs).
→ Introduction to Artificial Intelligence, a free on-line course from Stanford University taught by Sebastian Thrun and Peter Norvig. Enrollment is now open.
→ The Programming Languages Beacon: a list of major software products, with details about the programming languages used to implement them.
→ Python 3.2.2 has been released.
→ Building Windows 8, the next version of Windows (blog).
→ How Browsers Work: Behind the Scenes of Modern Web Browsers
→ Hyperpolyglot: Programming Languages Syntax Comparison
→ What every computer science major should know by Matt Might.
→ PHP 5.3.8 Released with over 90 fixed bugs. Version 5.2 is not supported anymore; the users should upgrade to 5.3.x.
→ Stories about the B5000 and people who were there. The memories of early computer history, specifically the development of the early ALGOL (the origin of Pascal and C) compiler and first computers supporting it, discovering recursive descent and involving, among others, Don Knuth as a student writing a compiler in some three months, earning a yearly pay from it and obtaining masters degree instead of bachelors. Many thanks to Ace for the link.
→ CSS Lint: a CSS checker.
→ How To Safely Store A Password: use bcrypt.
→ Boost your productivity: Cripple your technology by Matt Might.
→ BrowserID: A better way to sign in (developed at Mozilla Labs).
→ Google launched a social network called Google+
→ Intel released AVX2 instruction reference, including 256-bit wide SIMD, a hardware random number generator (the RDRAND instruction), vectorized table-lookup (VGATHERxx), bit-manipulation instructions (LZCNT, which is already supported by AMD, parallel extract and deposit, ANDN, etc.). The new instructions will be available in future Intel processors (Haswell microarchitecture). Agner Fog commented the new instructions.
→ Firefox 5 was released.
→ The Architecture of Open Source Applications by Amy Brown and Greg Wilson. How do Audacity, Bash, Eclipse, LLVM, Mercurial, sendmail, and other OSS work.
→ Experience porting 4k lines of C code to Google Go by Krzysztof Kowalczyk. He was able to port them in a few days and found an out-of-bounds bug along the way.
→ Windows 8 user interface presented by Jensen Harris.
→ Practical Cryptography Corrected by Bram Cohen (the guy who created BitTorrent): one-page advice to implementers.
→ Incompetent Research Skills Curb Users' Problem Solving by Jakob Nielsen. Users rarely change search strategy or critically evaluate search results.
→ Lock-free algorithms by Raymond Chen.
→ What I like and don't like to see in a technical presentation by Grig Gheorghiu.
→ Optimizing a Screen for Mobile Use by Jakob Nielsen. A great example of redesigning for increased usability.
→ Mirah: Ruby-like syntax which translates directly to pure Java (no additional run time libs). Thanks to Ace for the link.
→ The final version of Internet Explorer 9 was released.
→ XML is really, really slow by Krzysztof Kowalczyk.
→ Final five IPv4 blocks are allocated to registries. No unallocated blocks remain.
→ How to optimize the Euclidean Algorithm by Lockless Inc.
→ The case of the inconsistent right shift results by Larry Osterman. When you shift a 64-bit variable by more than 64 bits, the result will be different on 32-bit and 64-bit compilers.
→ PHP crashed because of excess precision (80-bit long double instead of 64-bit double) in x87 registers. The problem was solved by forcing to store the value in memory in lower precision (using 'volatile'). Rasmus Lerdorf pointed to a similar bug report for GCC and a good paper on floating point (pdf). Later, the same bug was discovered in Java.
→ Underhanded C. Hiding malicious behavior in innocent-looking C code.
→ The history of MOS 6502: the chip was laid out by hand and it worked the first time.
→ Using averages — a common performance measurement mistake. Using the time of the fastest run is more accurate.
→ You're On The News. Get an instant email when your blog is submitted to Hacker News.
→ Understanding Hash Functions and Keeping Passwords Safe: how to use salted passwords and crypt() in PHP.
→ Responsive Web Design: adapting to screen resolution by resizing images, moving or hiding content (important for mobile users).
→ Why Is Eric Schmidt Stepping Down at Google? Larry Page will head the company.
→ The polynomial algorithm for 3-SAT problem (if it's correct, then P=NP).
→ Simple Email Service, Amazon's solution for sending newsletters and notifications by email.
→ Test results for Intel's Sandy Bridge processor by Agner Fog. Old bottlenecks were removed, but throughput of the decoders is usually too low.
→ Test-Taking Enhances Learning by Jakob Nielsen. People who took a free-recall test remembered 145% more; it's also useful to add quizzes to educational websites.
New items are in bold typeface. Feel free to add your links below.