A human being is a part of a whole, called by us _universe_, a part limited in time and space. He experiences himself, his thoughts and feelings as something separated from the rest… a kind of optical delusion of his consciousness. This delusion is a kind of prison for us, restricting us to our personal desires and to affection for a few persons nearest to us. Our task must be to free ourselves from this prison by widening our circle of compassion to embrace all living creatures and the whole of nature in its beauty.
Most people overestimate what they can do in one year and underestimate what they can do in ten years.
When using Virtual Memory is a good idea in Redis
Before using VM you should ask yourself if you really need it. Redis is a disk backed, in memory database. The right way to use Redis is almost always to have enough RAM to fit all the data in memory. Still there are scenarios where this is not possible:
- Data access is very biased. Only a small percentage of keys (for instance related to active users in your web site) gets the vast majority of accesses. At the same time there is too much data per key to take everything in memory.
- There is simply not enough memory available to hold all the data in memory, regardless of the data access pattern, and values are large. In this configuration Redis can be used as an on-disk DB where keys are in memory, so the key lookup is fast, but the access to the actual values require accessing the (slower) disk.
An important concept to take in mind is that Redis is not able to swap the keys, so if your memory problems are related to the fact you have too much keys with very small values, VM is not the solution.
However if a good amount of memory is used because values are pretty large (for example large strings, lists, sets or hashes with many elements), then VM can be a good idea.
Sometimes you can turn your “many keys with small values” problem into a “few keys but with very large values” one just using Hashes in order to group related data into fields of a single key. For example, instead of having a key for every attribute of your object you have a single key per object where Hash fields represent the different attributes.
Source: redis.io
Redis, Performance, Snapshots
The performance is principally down to Redis keeping the entire dataset in memory, and only periodically syncing to disk. You can trade performance for improved durability in various ways.
Snapshot backups are not perfect. If Redis fails between snapshots, you can lose data. You need to make sure that’s acceptable for any application you use it in.
The safer alternative to snapshots, though less performant: Redis can be configured to write every command to an append-only log file, which can then be replayed to recover the server’s state in the event of a crash. Again you get to tune the trade-off between durability and performance by setting how often Redis should ensure the file has been fsyncd to disk.
Redis, Performance, Snapshots
The performance is principally down to Redis keeping the entire dataset in memory, and only periodically syncing to disk. You can trade performance for improved durability in various ways.
Snapshot backups are not perfect. If Redis fails between snapshots, you can lose data. You need to make sure that’s acceptable for any application you use it in.
The safer alternative to snapshots, though less performant: Redis can be configured to write every command to an append-only log file, which can then be replayed to recover the server’s state in the event of a crash. Again you get to tune the trade-off between durability and performance by setting how often Redis should ensure the file has been fsyncd to disk.
AWS ELB for VPC Internal Network
Too many abbreviations in one title but this the trend these days. One invents a name others have to know what each one of these mean as if they were there for ages.
Anyway I am not bothered by this as much as I am bothered why still ELB is only for internet facing applications. We need load balancing for our application servers as much as we need it for user (internet ) facing servers. I am pretty much sure anyone with a VPC setup had to implement a software load balancer which is a pain considering the importance of the service it provides so the effort it requires to be a solid solution.
You will need two of these servers which you will have to manage.
Same applies to NAT instances in VPC. Two of them. Then comes your software vpn server which you implemented to support user connections.
Then, you will have several regions. Each zone needs a NAT instance as well as a VPN instance.
Total number of instances that you will have to manage a VPC setup is way more than you will like to do.
I don’t want to add at least load balancing to this.
(I will update this in a few days)
AWS CloudSearch IAM
I wasn’t able to find IAM related documentation on AWS CloudSearch but was able to figure out how to give full permission for a user on CloudSearch. Here it is;
{
"Statement": [
{
"Sid": "Stmt1335291234152",
"Action": [
"cs:*"
],
"Effect": "Allow",
"Resource": [
"*"
]
}
]
}
3 miles in 21 minutes, achieved
Today was the first time I was able to run 3 miles in less than 21 minutes. I ran in 20:39s with a pace of 6:50s. 29 seconds better than my previous best time which was 21:08s. My new goal is 18 minutes which will take a while to hit. I have only 6 weeks to the race.
Duru (Taken with picplz.)
Passion: the love for reasons
You would have to work hard if you wanted to be good at what you are doing and to be pronounced as successful. Since that first day at my first job, I’ve hardly worked at all, if not none.
Passion is a compelling feeling, lets you see the world as a place of infinite potential. It makes you feel full on throttle, ready to release brakes. It brings more of you into what you do. You can see passion in peoples eyes, it sparkles, it is contagious.
Passion makes each day a journey to many directions. Like a tree growing upwards with branches growing all sides. It gives you dimensions, reasons to love, or the love for reasons. When you are about to start a “work” day, it makes you feel connected to your reasoning.
I find myself lucky for having passion for my job for all those years while what I do was changing over time. It started with programming in C and Java, managing Unixware. Evolved into Linux, kernel, open source software, operating systems, network appliances, storage systems and lately cloud services. Year by year, I experienced over and over again that tools are not any better than the hands holding them. So exciting were the possibilities those technologies brought but just because of the potential the people using these technologies were holding. My journey continues with different dimensions. Lucky me, I am in an industry where we invent, improve and have to change.
You would have to have passion if you wanted to be the best at what you are doing. Since that first day at my first job in 1997, I’ve hardly worked, if not at all.

