Here’s an entertaining collection of bug reports:
A bug report is sometimes entertaining either because of the personalities involved or because of the bug itself. Here are a collection of links into public bug trackers; I learned about most of these in a recent Twitter thread.
GitHub blog brings us a piece of exciting news – now you can add more attachment types to comments. The list is no longer limited by images alone. Now you can attach Microsoft Word, Excel, and PowerPoint files, as well as plain text and PDF documents. This feature alone will make GitHub Issues into a much more viable bug tracking option for many projects and companies.
Toptal runs the article “One Size Fits Some: A Guide to Responsive Web Design Image Solutions“, which discusses one of the trickiest problems of today’s web design and development – responsive images. They cover several tools and approaches – from HTML5 elements to on-the-fly image resizing and source shuffling.
I don’t deal with Unicode and other character encoding on the daily basis, but when I do, I need every piece of information that has been written on the subject. Hence the link to this interesting issue :
As long as you stick to precomposed Unicode characters, and Western scripts, things are relatively straightforward. Whether it’s A or Å, S or Š – so long as there are no combining marks, you can count a single Unicode code point as one character width. So the following works:
Nice and neat, right?
Unfortunately, problems appear with Asian characters. When displayed in monospace, many Asian characters occupy two character widths.
I’m saving this here for current and future generations of programmers:
Latency Comparison Numbers
L1 cache reference 0.5 ns
Branch mispredict 5 ns
L2 cache reference 7 ns 14x L1 cache
Mutex lock/unlock 25 ns
Main memory reference 100 ns 20x L2 cache, 200x L1 cache
Compress 1K bytes with Zippy 3,000 ns
Send 1K bytes over 1 Gbps network 10,000 ns 0.01 ms
Read 4K randomly from SSD* 150,000 ns 0.15 ms
Read 1 MB sequentially from memory 250,000 ns 0.25 ms
Round trip within same datacenter 500,000 ns 0.5 ms
Read 1 MB sequentially from SSD* 1,000,000 ns 1 ms 4X memory
Disk seek 10,000,000 ns 10 ms 20x datacenter roundtrip
Read 1 MB sequentially from disk 20,000,000 ns 20 ms 80x memory, 20X SSD
Send packet CA->Netherlands->CA 150,000,000 ns 150 ms
1 ns = 10-9 seconds
1 ms = 10-3 seconds
* Assuming ~1GB/sec SSD
By Jeff Dean: http://research.google.com/people/jeff/
Originally by Peter Norvig: http://norvig.com/21-days.html#answers
Some updates from: https://gist.github.com/2843375
Great 'humanized' comparison version: https://gist.github.com/2843375
Visual comparison chart: http://i.imgur.com/k0t1e.png
Nice animated presentation of the data: http://prezi.com/pdkvgys-r0y6/latency-numbers-for-programmers-web-development/
This is a copy-paste of this gist, referenced from this blog post. Read and share both, for the better world.
I came across a collection of free data science books:
Pulled from the web, here is a great collection of eBooks (most of which have a physical version that you can purchase on Amazon) written on the topics of Data Science, Business Analytics, Data Mining, Big Data, Machine Learning, Algorithms, Data Science Tools, and Programming Languages for Data Science.
Most notably, there are introductory books, handbooks, Hadoop guide, SQL books, social media data mining stuff, and d3 tips and tricks. There’s also plenty on artificial intelligence and machine learning, but that’s too far out for me.
“Logging with Monolog: From Devtools to Slack” is a handy quick article for anybody who wants to use Monolog for logging in PHP applications. After all, monolog/monolog is one of the most popular libraries on Packagist.
ImageMagick is one of my favorite tools ever. I’ve used for years for a whole lot of different things – from simple image resizing, through animation generation, to palette manipulation. And still, I don’t really know it that well, so when I see articles like this – “Efficient Image Resizing With ImageMagick“, I get excited. Not only it gives you a better way of doing things, but it also explains the path of how to get there. From a simple command like:
convert input.jpg -resize 300 output.jpg
to something as advanced as this:
-path OUTPUT_PATH \
-filter Triangle \
-define filter:support=2 \
-thumbnail OUTPUT_WIDTH \
-unsharp 0.25x0.25+8+0.065 \
-dither None \
-posterize 136 \
-quality 82 \
-define jpeg:fancy-upsampling=off \
-define png:compression-filter=5 \
-define png:compression-level=9 \
-define png:compression-strategy=1 \
-define png:exclude-chunk=all \
-interlace none \
-colorspace sRGB \
What’s even more exciting is that it looks like this optimization will make its way into WordPress 4.4, together with some other improvements for the responsive images.
“How does a relational database work” is an excellent (lengthy, technical, but simply written and well explained) article on some of the most important bits inside the relational database. It’s somewhat of a middle ground between a theoretical database discussion in college and vendor-specific documentation of a database engine.
Though the title of this article is explicit, the aim of this article is NOT to understand how to use a database. Therefore, you should already know how to write a simple join query and basic CRUD queries; otherwise you might not understand this article. This is the only thing you need to know, I’ll explain everything else.
I’ll start with some computer science stuff like time complexity. I know that some of you hate this concept but, without it, you can’t understand the cleverness inside a database. Since it’s a huge topic, I’ll focus on what I think is essential: the way a database handles an SQL query. I’ll only present the basic concepts behind a database so that at the end of the article you’ll have a good idea of what’s happening under the hood.
Whether you are a young programmer or an experienced DBA, I think, you’ll still find something in there which you either didn’t know or didn’t think about in this particular way. Even if you know all this stuff, it’s a good memory refresher.
HTTP Status Dogs – Hypertext Transfer Protocol response status codes. And dogs. If you are even a tiny bit familiar with HTTP or dogs, this will put a smile on your face. I’m thinking to use these as default error pages from now on.