Monty, the inventor of Ogg Vorbis, writing a comprehensive article on audio perception, and why 16-bit 44.1KHz (i.e. CD-quality music) is enough for everyone. "Misinformation and superstition only serve charlatans. So, let's cover some of the basics of why 24/192 distribution makes no sense before suggesting some improvements that actually do."
- andrep
One sentence says it all: "The fundamental reason IDE’s have dead-ended is that they are constrained by the syntax and semantics of our programming languages."
- andrep
A long, worthwhile summary of what BitC got wrong. Interesting if you're a programming language enthusiast. "We measured this at one point on a very early (pre templates) C++ product and found that we processed more than 150 header lines for each "source" line. The ratio has grown since then by at least a factor of ten, and (because of templates) quite likely 20."
- andrep
Teller (of Penn & Teller fame) talks about some of the tricks that he uses to perform, and how magicians are the best in the world at deceiving other people. "Neuroscientists are novices at deception. Magicians have done controlled testing in human perception for thousands of years."
- andrep
The title kinda says it all. "The key takeaway away of the talk for me was doing a lot with really simple tools. While many teams are moving on to more complex ecosystems, YouTube really does keep it simple. They program primarily in Python, use MySQL as their database, they’ve stuck with Apache, and even new features for such a massive site start as a very simple Python program."
- andrep
"I was very surprised to find out that designers were using Keynote for laying out presentations. My surprise turned to alarm when I found out that they were also using it as a design tool to build UI designs for websites and apps. It turns out that I was absolutely wrong. Keynote is an incredibly powerful design tool. Less then one year later, I now rarely (if ever) use InDesign to layout presentations, and I have started using Keynote almost exclusively for any web layouts I do. And not just UX wireframes, but full UI designs."
- andrep
An old but still useful article on Django debugging tips from Simon Willison, such as using asserts, logging with stack traces, and using pdb after-the-fact.
- andrep
"There are a lot of similarities between pixel-perfecting vector graphics and auto-hinting of font glyphs. Both aim to address a very similar problem. Both operate in a flow where the master version is created under extremely high resolutions to look well in booklets, portfolios and promotional material, but versions scaled down to the “real world” use suffer from poor grid fitting, detail clutter, detail loss and blurriness. In fact, some designers go as far as proposing to forgo the standalone icons altogether and use the advanced capabilities of type engines instead."
- andrep
One of my favourite answers from Jony: "What is more difficult is when you are intrigued by an opportunity. That, I think, really exercises the skills of a designer. It’s not a problem you’re aware or, nobody has articulated a need. But you start asking questions, what if we do this, combine it with that, would that be useful? This creates opportunities that could replace entire categories of device, rather than tactically responding to an individual problem. That’s the real challenge, and that’s what is exciting."
- andrep
In particular, I've created shell scripts for catching three problems: abuse of the passive voice, weasel words, and lexical illusions. And, I've integrated these into the build system of our LaTeX documents.
- andrep
"Over the years, each time I have had an opportunity to see the impact of adding a new layer of error detection, the result has been the same. It fires fast and it fires frequently. In each of these cases, I predicted we would find issues at scale. But, even starting from that perspective, each time I was amazed at the frequency the error correction code fired." We add error-checking in all our code that produces images at Pixar. These days, we generally do trust the filesystem (which is often NFS), which we didn't use to. However, we still read every image that we produce and compare to the original, because humans are bad at detecting problems that span just a few pixels over 120000 frames of a movie.
- andrep
This looks like a great resource for algorithm-deficient folk like me: "The Algorithmist is a resource dedicated to anything algorithms - from the practical realm, to the theoretical realm. There are also links and explanation to problemsets."
- andrep
"If you want to write an application that is not limited to Mac OS X and its Cocoa, you are usually told to port it to GNUstep. But this is already where it starts: You have to port it. And there are differences between Cocoa and GNUstep which can be quite huge sometimes. Cocoa does not have some stuff anymore that's still in GNUstep and GNUstep often does not have stuff that was introduced in Cocoa. So why not have a framework that runs everywhere - on Mac OS X, on other Unices like Linux and even Windows? This way you don't have to write your code for Cocoa and GNUstep. If a function exists in that portable framework, you can be sure it works on any platform. And that portable framework is exactly what ObjFW is."
- andrep
D3's a wonderful example of both the Web being a serious platform to develop rich client-side apps, and an amazing framework that solves a huge number of visualisation problems with a much higher-level abstraction. Very, very nice!
- andrep
An introduction to algebraic data types, which are used in most (all?) statically-typed functional programming languages, such as Haskell, O'Caml, F#. (For C++ people, this is actually the same as boost::variant.) It's a good introduction if you know more classical programming languages like C, since it describes how it maps to structs & unions, but it also describes some of the theory behind it (i.e. why it's called an _algebraic_ data type).
- andrep
If you don't know tmux, it's basically newskool GNU screen that's arguably better (e.g. more scriptable). This makes iTerm 2 Tmux-aware, which is… awesome.
- andrep
Looks wonderful for Web development. "Bootstrap is a toolkit from Twitter designed to kickstart development of webapps and sites. It includes base CSS and HTML for typography, forms, buttons, tables, grids, navigation, and more."
- andrep
"Unix is a bestiary of ad hoc databases: comma-, colon-, tab- and space-separated tables. Think of /etc/* or /var/log/*, or of columnar commands. Shell scripts commonly, if unknowingly, compose five (of six) primitive relational-algebraic operations on these tables: union, difference, projection, selection and renaming."
- andrep
Or, what Objective-C has been doing for the past 20 years: "Rather than having to fix everything up before exploring the consequences of my change I find that it is sometimes handy to work in a more piecemeal fashion, restoring sense to some parts and exploring the consequences. Compilers that can treat type errors as warning support that work style."
- andrep
This is awesome. Just as I loved how AppleScript actually did user testing to try to figure out its syntax, these guys are taking an empirical approach to programming language design rather than making assumptions about what's intuitive. This one line says it all: "Results showed that while Quorum users were afforded significantly greater accuracy compared to those using Perl and Randomo, Perl users were unable to write programs more accurately than those using a language designed by chance."
- andrep
"… a comment section is more like a letters to the editor page. It is thoughtfully curated by staff who read all the letters, consider them, and decide which should be published. Those letters may well include opposing views, as well as expansions upon the discussion or more topical letters. Newspapers are not accused of violating free speech rights when they decline to publish letters to the editor; The New York Times, for example, didn’t violate my rights when they declined to publish an op-ed I recently submitted. Likewise, the comment sections on blogs, on online newspaper articles, and in other areas of the Internet, are not free speech zones."
- andrep
"We present a new image-based, post-processing antialiasing technique, that offers practical solutions to all the common problems of existing filter-based antialiasing algorithms. It yields better pattern detection to handle sharp geometric features and diagonal shapes. Our edge detection scheme exploits local contrast features, along with accelerated and more precise distance searches, which allows to better recognize the patterns to antialias. Our method is capable of reconstructing subpixel features, comparable to 4x multisampling, and is fully customizable, so that every feature can be turned on or off, adjusting to particular needs. We propose four different presets, from the basic level to adding spatial multisampling and temporal supersampling. Even this full-fledged version achieves performances that are on-par with the fastest approaches available, while yielding superior quality."
- andrep
"Knuth wrote his program in WEB, a literate programming system of his own devising that used Pascal as its programming language. His program used a clever, purpose-built data structure for keeping track of the words and frequency counts; and the article interleaved with it presented the program lucidly. McIlroy’s review started with an appreciation of Knuth’s presentation and the literate programming technique in general. He discussed the cleverness of the data structure and Knuth’s implementation,1 pointed out a bug or two, and made suggestions as to how the article could be improved. And then he calmly and clearly eviscerated the very foundation of Knuth’s program."
- andrep