I love having fun at Browserling, so I hired a comedian to write some new, original jokes and one-liners about web developers, web designers, web, and browsers.

Here they are! I hand picked the best jokes:

- What did Times New Roman say to Comic Sans? ... I hate your type.
- You're in a
`.class`

of your own. - Both my parents are web devs. They named me Bob... They named my brother, Bob12459.
- What was the web developer doing in the bathroom?... Taking a crop.
- You can't tell me what to do - you're not my web developer.
- Say that to my interface!
- If you can't make a web design... you may have a future
*teaching*web design. - We were designed to be together. Mark it up to fate!
- We sent a web developer to the store to get the newspaper. He came back with The Times New Roman.
- I design websites for people... if you're on a budget, no problem... as long as it's a big budget.
- Don't be self-conscious, but I love looking at your <body>.

This is a cross-post of Web Developer Jokes from Browserling's Cross-Browser Testing Blog.

Have fun and until next time!

Exciting news everyone! We just created a new logo and design for Browserling!

We put accent on the word "browser" instead of "ling" because Browserling is all about browsers and not lings. ;) Alien ship has a history. In the previous logo the alien ship was illuminating "e" as in Internet Explorer so we decided to use it as Browserling's mascot in the new design.

Here is the new design (click it for full scale image or visit www.browserling.com to see it live).

Just for comparison, here's the old design.

Browserling is an interactive cross-browser testing service that lets you quickly test your webpages in all most popular web browsers - Internet Explorer, Firefox, Chrome, Opera, and Safari.

Until next time!

Exciting news everyone! I love simplicity so I just created a Chrome extension for Browserling. The extension lets you quickly access all the platforms and browsers with one click. No need to go to browserling.com first to start cross-browser testing. Just install the extension and you're ready to go.

Try it out now and let me know what you think!

Give it 5 stars. :)

In the next few months I'll also be rolling out extensions for Firefox, Safari, Opera and IE. Follow @browserling and me for updates and until next time!

This blog post is a repost of Announcing Browserling's Chrome Extension from Browserling's cross-browser testing blog.

It's been another year and this blog is now officially 8 years old. I got catonmat.net in 2005 but started blogging in 2007. When I started blogging all I had was this big dream to create a popular programming blog. I worked hard and now 8 years later my blog gets visited by over a million people. Hard work pays off and dreams come true.

In this post I'll quickly summarize this year's statistics. Here are links to previous years' stats: 1, 2, 3, 4, 5, 6, and 7 years of blogging.

Here's traffic statistics for Jul 2014 - Jul 2015:

Statcounter traffic statistics for Jul 1, 2014 - Jun 30, 2015.

Catonmat was visited 1.32 million times and had 1.69 million page views. Quick comparison between last and this year:

This year: 1,318,518 uniques. 1,690,927 page views.

Last year: 784,992 uniques. 1,376,933 page views.

Delta: +533,526 uniques. +313,994 page views.

I've written some great articles this year that explains +half a million uniques this year. The traffic spike in April happened because of my new article series about my favorite books. I've about 250 articles in drafts so stay tuned for even more interesting articles soon!

Subscriber statistics: At 20,316 (email+rss) subscribers. Last year 16,343. Delta +3,973. subscribe.

Github stats: At 1,900 followers this year. Last year 1,700. Delta +200. follow me.

Total articles written: 19. Top 10 most read articles:

- My Top 100 Programming, Computer and Science Books: Part One (151,341 views)
- Being good at programming competitions doesn't mean you'll be good on the job (148,455 views)
- I was interviewed by Fog Creek (75,677 views)
- My Top 100 Programming, Computer and Science Books: Part Three (70,758 views)
- My Top 100 Programming, Computer and Science Books: Part Two (67,245 views)
- A new browsing URL scheme for Browserling (54,480 views)
- Creating outgoing bandwidth summary for Rackspace cloud servers (54,250 views)
- How to remember ./configure script arguments a year later (51,487 views)
- Creating tables with console.table in Chrome (48,096 views)
- cards.dll - a fun dll that came with windows (47,696 views)

My personal top 5 favorite articles:

- My new workstation for the next two years (with pics)
- How to pay $400 instead of $70,000 in Delaware franchise tax
- Announcing Browserling's Live API
- My Top 100 Programming, Computer and Science Books: Part One
- I was interviewed by Fog Creek

Here are catonmat's goals for year 9:

- Publish at least 10 parts of My Favorite Books.
- Start a new article series about my favorite scientific papers.
- Start a new article series about Linux networking.
- Grow the blog to 1.5 million uniques, 2 million page views.

That's all folks! Now let's have some 8 year birthday cake,

And let's meet for cake next year again! See you!

**30**Comments July 05, 2015

# My Top 100 Programming, Computer and Science Books: Part Four

Hey everyone! Here's part four of my 100 favorite programming, computer and science books. If you're just joining, please see part one, part two and part three for introduction.

This time I'm sharing my favorite books about fundamentals of computation, mathematical foundations of cryptography, type-directed functional programming, low level bit hacks, and visual thinking.

I love reading. The most fun part about reading a lot is that you never know how ideas will click together and where you'll need them. The more I read the more cross-linked ideas I've. Here's an interesting insight about how I approach reading. I rarely have time to read books cover to cover in one sitting as I'm so busy running Browserling. I split reading the whole book into reading 5 pages a day, put every reading session in calendar and a month or two later later I'm done with the book. Actually I apply this approach to getting anything done. Split it in parts. Get each part done separately. Merge results. Divide and conquer in real life (except with one execution branch). Just like I've split writing this article series five books at a time. It will take me a year or two but the end result is going to be awesome and I'll get the whole series done.

If you're interested in this article series, you can subscribe to rss feed of my blog and follow me on twitter for updates.

I read a lot. This is my bookshelf.

Here are this week's five books.

## #16 Feynman Lectures on Computation

A timeless classic by Feynman. It's one of Feynman's least known books but it's also one of his best books, especially if you love computers, theory of computation and physics. In this book Feynman explores the fundamental ideas in theory of computation, information theory and physical limits of computing processes.

This book is geek's dream come true. It's a pleasure to read as it's written in Feynman's pedagogical writing style and is packed with so many topics. Feynman starts with basic logic gates, proceeds to finite state machines, Turing machines, and Halting problem. Then he discusses coding and information theory, Hamming codes, Shannon's theorem, and Huffman coding. He then explains reversible computation and thermodynamics of computing, entropy in thermodynamics and information theory and Maxwell's daemon. This chapter demonstrates a **billiard ball computer**, which is a reversible computer that can actually do calculations. Mind=blown. The book ends with a brief introduction to quantum computing (quantum computing was just starting when the book was written), and then explains physical aspects of computation.

Maxwell's Demon at work.

Author: Richard P. Feynman

## #17 A Course in Number Theory and Cryptography

I won't be sharing too many textbooks but this one needs attention. Written by Neal Koblitz, one of my favorite mathematicians and the inventor of elliptic curve cryptography. I love two of his books. This is one of them. I'll keep the other book secret until the next part of the series. I love Neal's book because he gets straight to the point and uses a smaller font in his books to pack more information on one page.

This is one of the first books I ever read on mathematical foundations of cryptography. It says graduate on the cover but don't listen to that. It's really an undergraduate level book. All you need to know is a bit of algebra. Book starts with a review of several key number theory topics, moves to finite fields, then to the public key cryptography, RSA, zero-knowledge proofs, then primality testing, factoring and finally elliptic curves.

This book follows definition-theorem-proof-example style that I like and it has many exercises with answers. If you like math but don't have experience with fundamentals of cryptography then this is the book to get to quickly get yourself up to speed. Fundamentals don't change and once you master what's in this book (shouldn't take more than a week or two if you're smart and dedicated), you'll be able to read any crypto text.

Asymptotic running time of quadratic sieve algorithm.

Author: Neal I. Koblitz.

## #18 The Little MLer

In parts one, two and three I listed The Little Schemer, The Seasoned Schemer, and The Reasoned Schemer, and now it's time for The Little MLer.

The Little MLer takes you on a new super fun adventure! This book teaches you programming with types, pattern matching, lambdas, recursion, type inference, schonfinkeling, exceptions, and modular programming with signatures, structures and functors (keep in mind functors mean different things in different languages). After the first few chapters your mind will bend. After the next few chapters your hat won't fit anymore. This book will really make you think. A willingness to use pen and paper to ensure understanding is absolutely necessary!

You'll truly appreciate this book only after having read the other books in the series. Get those first, and then read this book. And then read all the books again for full effect.

Chapter 7, Functions are people, too.

Here's my github repository with all the exercises and code examples from The Little MLer, including the hidden code for loyal Schemers: the-little-mler github repo. My repository also contains a very detailed review of all 10 chapters of the book.

I just can't hide my excitement for these books. In a few weeks another book in this series will be released called The Little Prover. The Little Prover will teach inductive proofs as a way to determine facts about computer programs. I can already imagine how fun this book is going to be. I haven't even seen it but this book has already made it to my favorite books because I've such high expectations for it. I preordered my copy already a month ago! Preorder yours too! I will in fact take a day off at Browserling for the first time in years just to read this book cover to cover in one sitting.

Authors: Matthias Felleisen and Daniel P. Friedman.

## #19 Hacker's Delight

Any book with the word "hacker" catches my attention. I probably have 10 books or more with this word in the title. This book is special because it was the first books with the word "hacker" that I ever got. The word "hacker" in this book is meant in original sense of an aficionado of computers - someone, who enjoys making computers do new things, and do old things in a new and clever way.

Hacker's Delight is another timeless classic. It's a collection of small programming tricks that the author, Harry Warren, software veteran with 50 years of experience, has come across in his career. These programming tricks exclusively revolve around low-level bithacks, creative arithmetic, and finding the most effective ways to count the number of 1 bits in a word, transposing bit matrices, permuting bits, reversing and rearranging bits and bytes, dividing by constants, and many more.

Some of the most interesting parts of the book include computing reminders without computing quotient, cyclic redundancy checking (CRC), Hamming SEC-DED algorithm and error correcting codes, unusual bases for number systems, such as bases -2 and -1+i, generating Hilbert curves, and formulas for generating primes, and a gallery of graphs of discrete functions.

Sheep and goats function SAG(x, m). Read pages 161-165 for explanation.

If you spend more than a week with this book you'll start dreaming in binary and hex, and your brain will get filled with tons of geeky magical numbers, such as, 0x40490FDB and 0x7F80000.

The author has also composed a poem about division, found on page 202 (1st Edition) and page 278 (2nd Edition):

I think that I shall never envision

An op unlovely as division.

An op whose answer must be guessed

And then, through multiply, assessed;

An op for which we dearly pay,

In cycles wasted every day.

Division code is often hairy;

Long division's downright scary.

The proofs can overtax your brain,

The ceiling and floor may drive you insane.

Good code to divide takes a Knuthian hero,

But even God can't divide by zero!

Author: Henry S. Warren, Jr.

## #20 Proofs Without Words: Exercises in Visual Thinking

Wow! When I found these books I immediately fell in love. I'm a visual thinker and I love visual proofs. These books have no words but have hundreds of proofs. One proof per page. I wish I had more time to work through all these proofs. Some of the proofs take a few seconds to understand but many others take hours. These books are the real vitamins for the brain.

Here are some of my favorite proofs from these books. Proof that sum of odd numbers always gives a perfect square:

1 + 3 + 5 + ... + (2n-1) = n^{2}.

Proof that 1/4 + 1/16 + 1/64 + ... = 1/3:

1/4 + (1/4)^{2} + (1/4)^{3} + ... = 1/3.

Proof that e^{π} > π^{e}:

e^{π} > π^{e}.

Author: Roger B. Nelsen.

## Until next time!

As always, I hope you liked these five book recommendations. Let me know in the comments what your favorite books are, subscribe to my blog, follow me on twitter, and until next time! I can't wait to publish the next part already.