Today's Question:  What does your personal desk look like?        GIVE A SHOUT

SEARCH KEYWORD -- pretty



  A turing machine in 133 bytes of javascript

Multiply turing machine The fact it took me 20 lines of javascript to implement a nondeterministic turing machine simulatorlast week kept me up at night. All weekend. Too much code for something so simple and I kept having this gut feeling implementing a basic version shouldn’t take more than 140 bytes. Sunday afternoon I sat down for about an ...

   Turing machine,JavaScript,Simple code     2011-11-28 09:27:28

  The worst program I ever worked on

Most contract jobs fade pretty quickly in memory after the work is done, but some you remember for the rest of your life. This is one of the latter variety. This happened long ago, at a (fair sized) company that shall remain nameless. The software was a chunk of code that had been maintained by a single guy that had been fired recently and was a core component of a commercial system. So far nothing unusual, companies tend to find out that they have a piece of critical knowledge in one head all ...

   Program,worst     2011-03-17 13:58:36

  Why We Moved Off The Cloud

Cloud computing is often positioned as a solution to scalability problems. In fact, it seems like almost every day I read a blog post about a company moving infrastructure to the cloud. At Mixpanel, we did the opposite. I’m writing this post to explain why and maybe even encourage some other startups to consider the alternative.First though, I wanted to write a short bit about the advantages of cloud servers since they are ideal for some use cases.Low initial costs. Specifically, you...

   Cloud,Cloud computing,Mixpanel,Get off,Disadvantage,Drawback     2011-10-28 10:22:32

  Why are column oriented databases so much faster than row oriented databases?

I have been playing around with Hybrid Word Aligned Bitmaps for a few weeks now, and they turn out to be a rather remarkable data structure.  I believe that they are utilized extensively in modern column oriented databases such as Vertica and MonetDB. Essentially HWABs are a data structure that allows you to represent a sparse bitmap (series of 0's and 1's) really efficiently in memory.  The key trick here is the use of run length encoding to compress the bitmap into fe...

   Database,Column oriented,Speed analysis,Vertica     2012-01-29 04:27:05

  Processing Unicode Data in Python - A Primer to Understand Non-English Data Processing

Introduction: Currently we live in a world where people of diverse cultures/backgrounds use electronic devices to express their ideas, do their daily work that earns them their daily bread, and entertain themselves using content that is created using their own language and so on. Naturally, in order to make all these things happen, any computational instrument, be it a laptop or a desktop computer, or a smartphone, or something else, should be capable enough to serve all of these things in a man...

   PYTHON,UNICODE,UTF-8,NON-ENGLISH DATA,ASCII CODE     2019-04-10 00:55:19

  The Book That Every Programmer Should Read

No, it’s not Knuth’s “The Art of Programming”. I’m talking about quite an easy-to-read (compared to TAoP) book, which, in fact, does not require any engineering or mathematical background from the reader.I am talking about C. Petzold’s “CODE”. It is a truly remarkable book about how computers work. Let me explain why I think this book is so awesome.The book starts from the very beginning, from explaining what code is, bringi...

   Programmer,Book,Must read,CODE,C. Petzold     2011-10-31 10:43:58

  Mozilla Firefox Browser Tips & Tricks You Didn't Know About

Chrome might be all the rage right now, but Mozilla’s Firefox browser has always held its own in the browser wars. This open-source browser has its core set of dedicated fans and is popular under a broad user base across the world. With Firefox’s faster web page download speeds and strong privacy policies, it’s not hard to imagine why. But there are some other brilliant features that many might have missed. Take a look at these seven Firefox tricks that many users don’t k...

   NORDPASS,FIREFOX     2020-01-07 09:18:53

  The biggest iOS 5 bug you've never heard of

There is a huge bug when Group Messaging is disabled in iOS 5. I'm shocked Apple hasn't fixed this yet. Today a friend sent out a text message blast, announcing they got a new phone number. Shortly after, I got text messages from three random people I don't know. I was confused how these people got my number, but then I realized they were replies intended for my friend who sent out the text blast. If you've ever used the Group Messaging feature,...

   iOS5,Bug,Group Messaging     2011-12-10 06:04:39

  OpenLDAP Proxy -- Installation and configuration

After understanding what the configuration would be for an OpenLDAP proxy, it's time to explain the installation of OpenLDAP proxy and how to make it run. In this post, we will cover how to install OpenLDAP proxy both locally and using docker. Local installation The installation is quite easy, there are a few packages to be installed including the ldap server, ldap client and some utilities. Below steps are for CentOS, the instructions for other platforms should be similar with minor differ...

   INSTALLATION,CENTOS,DOCKER,OPENLDAP,OPENLDAP PROXY     2017-11-03 20:26:41

  Supercolliding a PHP array

Did you know that inserting 2^16 = 65536 specially crafted values into a normal PHP array can take 30 seconds? Normally this would take only 0.01 seconds. This is the code to reproduce it: <?php echo '<pre>'; $size = pow(2, 16); // 16 is just an example, could also be 15 or 17 $startTime = microtime(true); $array = array(); for ($key = 0, $maxKey = ($size - 1) * $size; $key <= $maxKey; $key += $size) { $array[$key] = 0; } $endTime = microtime(true); echo 'Inserting...

   PHP,Array,hashtable,Slow,Colliding     2011-12-29 09:02:01