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 ...
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...
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...
RECENT
- The Role of Coding Skills in Advancing Tech Careers
- Tips for Socializing With Friends During College
- Proximity Cards Do More Than Just Open Doors
- How to choose quality painted auto parts
- Oval engagement rings from MoonOcean: Elegance of form and individual approach
- Hologres vs AWS Redshift
- GoLand connect to Hologres
- A journey to investigate a goroutine leakage case
- Understanding Slice Behavior in Go
- Breaking Barriers: How 3D Printing is Democratizing Product Development
- more>>