SEARCH KEYWORD -- TRUE RANDOM
Method chaining and lazy evaluation in Ruby
Method chaining has been all the rage lately and every database wrapper or aything else that’s uses queries seems to be doing it. But, how does it work? To figure that out, we’ll write a library that can chain method calls to build up a MongoDB query in this article. Let’s get started! Oh, and don’t worry if you haven’t used MongoDB before, I’m just using it as an example to query on. If you’re using this guide to build a querying library...
Ruby,Method chaining,Lazy evaluation,Implementation 2011-11-29 08:51:17
File System vs Core Data: the image cache test
Code for this project is on GitHub While doing a full re-write of Droplr's iOS app for the 2.0 launch, I couldn't find any good file/image caches out there had a particular feature I really wanted: extending item expiration whenever it's touched. I set out to write my own — which wasn't that much of a challenge — but somewhere along the process I had this crazy idea that perhaps (SQLite-backed) Core Data would be a much better tool for the job: No mismatch between cache index ...
File system.Image cache,Multimedia 2012-02-01 08:52:02
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
Java Cipher encryption/decryption example
In Java, Cipher is the API for doing data encryption/decryption. Many cryptographic algorithms such as AES, DES, RC4 etc can be specified when creating Cipher instance. The Cipher instance calls the underlying algorithm specific implementation to do the actual encryption/decryption. Before doing the encryption/decryption, a key needs to be created and it will be used to do the encryption/decryption. A sample program for performing all these is : import java.security.Key; import javax.cryp...
Java, Java Security, Cipher, Example, Sample 2015-08-14 07:07:10
About short URL and its implementation
IntroductionURL shortening is a kind of technique to convert a long URL to a short URL. There are many companies now providing this kind of service, we now take Google's URL shortener service http://goo.gl/ as an example.First we navigate to http://goo.gl/, then we enter a random URL into the text field, here we use http://www.url-to-be-shortened.com as the input, it will return us an shortened URL : http://goo.gl/ZSVMM. URL ParsingWhen we type http://goo.gl/ZSVMM in browser address bar, the DNS...
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...
Redis Cluster and Common Partition Techniques in Distributed Cache
In this post, I will discuss a few common partition techniques in distributed cache. Especially, I will elaborate on my understanding on the use of Redis Cluster. Please understand that at the time of writing, the latest version of Redis is 4.0.10. Many articles on the same topic have a different idea from this post. This is mainly because, those articles are probably outdated. In particular, they may refer to the Redis Cluster implementation in Redis 3. Redis Cluster has been improved...
REDIS,DISTRIBUTED CACHE,CLOUD COMPUTING 2019-01-17 08:10:37
IDC lists top 6 myths, realities about open source
Summary: What are the top 6 myths? That open source software will enter every market, is inherently innovative, it improves faster than commercial software, that it has less lock-in, that it’s free and that it has little benefit if one is not involved in the community. IDC calls these ideas “myths†but acknowledges there’s more than a grain of truth to all of them At its Directions 2012 conference in Boston today, IDC rev...
IDC,Open source,Reality,Free,Contribution 2012-03-16 08:47:53
10 design flaws of JavaScript
JavaScript's design took only ten days. Moreover, the designer didn't want to design it initially, he just wanted to complete the task assigned by company. It is now a very powerful client side programming language used in almost all the websites. It's an excellent language, but it also has some flaws. 1. Not suitable for large projects JavaScript doesn't have namespace, it's hard to be modular, there is no standard for putting codes in multiple source files. It allows defining functions with th...
JavaScript, Design flaw, Object 2012-11-29 11:39:35
How many bytes a boolean value takes in Java?
Have you ever wondered how many bytes a boolean value takes in Java? One byte, this might be the answer comes out of your mind right away. But is it? Let's dig in more. Per Oracle documentation on boolean value definition, there is below statement: boolean: The boolean data type has only two possible values: true and false. Use this data type for simple flags that track true/false conditions. This data type represents one bit of information, but its "size" isn't something that's precisely defin...
RECENT
- Fix Surface Keyboard not Working Issue
- Python Process Protection Watchdog
- The Strange Behavior of the void Type in TypeScript
- MySQL Index Merge Optimization Practices
- Applying Large Language Models (LLMs) to Solve Cybersecurity Questions
- Everyone Can Write Tech Blogs
- Python SSH Connection Tools
- Revolutionize Your Event Planning with Interactive Presentation Templates
- New Unreal Engine 5 and Nvidia Technology in Black Myth: Wukong
- 10-32 rack screws
- more>>