<![CDATA[Husni Adil Makmur | Blog]]> http://husni.github.io/blog Husni Adil Makmur blog Copyright 2015 2015-05-04T01:49:03+07:00 <![CDATA[How is Google Street View Captured?]]> http://husni.github.io/blog/how-is-google-street-view-captured http://husni.github.io/blog/how-is-google-street-view-captured According to Wikipedia:

Google Street View is a technology featured in Google Maps and Google Earth that provides panoramic views from positions along many streets in the world. It was launched in 2007 in several cities in the United States, and has since expanded to include cities and rural areas worldwide. Streets with Street View imagery available are shown as blue lines on Google Maps.

Google Street View is available on certain places. USA, Australia, New Zealand, South Africa, Chile, Japan, and some countries in Europe are most fully supports this feature on Google Maps. Some countries only get partial supports as of now, and most of countries in Africa and Middle East Asia are not currently planned to be supported. You can see the complete coverage of Google Street View in map below:

Google Street View coverage

  Countries and dependencies with mostly full coverage
  Countries and dependencies with partial coverage
  Countries and dependencies with full or partial coverage planned (official)
  Countries and dependencies with full or partial coverage planned (unofficial)
  Countries and dependencies with views of selected businesses and/or tourist attractions only
  Countries and dependencies with no current or planned coverage

Finally, since August 20, 2014, Google Street View has been available in Indonesia (I’m Indonesian). Hopefully the project will fully supports all streets in the future.

So, how do they make this? Mostly they use a car with camera to capture 3D views on street.

Google Street View Car Subaru Impreza at Google Campus

Google Street View Camera Closeup

Rear view of Google Street View car

And here the Google Street View app, try to move on the street and you will notice that surrounding cars are moving. That’ cool, eh?

I am now imagining that they drive from Jakarta to Pati in order to complete their database (see blue line on the image below).

Google Street View in Java





Image Credit: Wikipedia and Google Maps
Video Credit: YouTube

]]>
2015-05-03T23:03:00+07:00
<![CDATA[How does SSD caching work?]]> http://husni.github.io/blog/how-does-ssd-caching-work http://husni.github.io/blog/how-does-ssd-caching-work SSD caching is not a new technology, it was called SSD Caching, now it is [Intel Smart Response Technology (Intel SRT)]().

In computing, Smart Response Technology (SRT, also called SSD Caching before it was launched) is a proprietary caching mechanism introduced in 2011 by Intel for their Z68 chipset (for the Sandy Bridge–series processors), which allows a SATA solid-state drive (SSD) to function as cache for a (conventional, magnetic) hard disk drive (HDD). Source.

This technology is intended to provide improved performance for computers that use traditional hard drives but does not take much cost. You will just need small SSD, for example 8GB, 16GB, 24GB, …, or 64GB (max). The SSD is used to cache or store commonly accessed data. Because of SSDs’ speed are much faster than traditional HDD, this will allow the computers read the cached data much faster if it had to read the same data directly from the HDD.

How it works?

The fastest memory module on a computer is CPU Cache, and then followed by RAM, then followed by persistent storages like SSD and HDD. When a program first run, all of files needed by the program to run (for example, other .exe files and .dll files, etc) are read from the HDD and loaded into RAM, then CPU Cache. You can see the illustration below:

Use HDD only
 

Use SSD only
 

The idea of SSD caching is to add an extra step between RAM and HDD, so the process will be:

Use HDD + SSD
 


The computer will check if accessed data are already cached in memory. If the data does not exist, it will check SSD first before checking HDD.



By using this method, you will still use your big HDD, yet having SSD-like performance, without spending much money.



Image Credit: Freepik from Flaticon, licensed by CC BY 3.0

]]>
2015-04-16T20:02:00+07:00
<![CDATA[Starts From Here]]> http://husni.github.io/blog/starts-from-here http://husni.github.io/blog/starts-from-here I hosted my personal website on IDwebhost, it’s static portfolio website, so I never update it. Last week my passion had come back to blogging, so I was on fire to find a way how to blog.

I wanted a cool theme, then I went to themeforest. First I thought of WordPress theme, and wow, the price for a theme is about $50 on average. I was double thinking at that day, WordPress, I am not familiar with the framework, I might have no time to learn to customize it. So I retreat from blogging via WordPress.

Then I started to find some HTML templates, there are many cool templates in there, very cool. But then I thought again, by using HTML template, I have to build back-end engine, I thought of building it, whether using PHP or Scala. No no no no… I have no time for that. Then I heard that GitHub offers a static HTML hosting so called GitHub Pages. This service was originally launched years ago, but I just know it recently, since I was not actively playing on GitHub.

In GitHub Pages documentation, I found out that GitHub suggests me to use Jekyll, an open source program, written in Ruby by Tom Preston-Werner, GitHub’s co-founder. Jekyll a simple, blog-aware, static site generator for personal, project, or organization sites. So, I tried to install Jekyll. Started by installing Ruby on Windows 8.1. I took hours to have it working on my laptop. I also tried Octopus, a fork of Jekyll that works similiar. I needed more time to have Octopus run on Windows, mostly because of dependency software are not compatible, yikes!

Then I tried to find Jekyll alternatives, I found StaticGen to get information about static site generator, most of them doesn’t have admin panel. I want my blogging activity seamlessly. I was looking for that through Google, Jekyll Admin Panel, Octopus Admin Panel, etc. There was an opensource Jekyll admin panel, but it’s outdated, not working on latest Jekyll.

Finally I introduced to Statamic, I forgot where I firstly hear this tool. I then watched their screencast through Vimeo and Youtube. I was impressed on how structured Statamic is. It looks easy and well documented. But then I thought that it’s run on PHP, it’s NOT static site generator, so I won’t be able to host it on GitHub. But hey, I read it on here and here. They support generating HTML files. Also they have admin panel. I was more impressed. Then I decided to buy a personal license, and downloaded it.

Awesome, the code style was beautiful, easy to understand. I love it.

Once I downloaded it, I installed it on XAMPP. Ouch, it’s not working. It requires PCRE and UTF-8 Support. Oh no, where can I get the compiled PHP binary with that specification? I tried it on Debian Wheezy using apt-get run on Docker. Somehow I failed to manage it, stuck on dependencies. Hours later I tried to install Wamp Server. YES!!! All is good. The required and recommended Statamic prerequisites are fulfilled.

After it works on my local machine, I started to dig the code. I found bugs on the static generator feature. It’s normal, it is only the first release of this feature. Then I tried to fix them. Now it works like a charm, meets all my need.

I want to use non built in theme. Found this cool theme. I registered to the site and started downloading it. Dang!!! it’s wordpress theme, they don’t mention it on the download page. Then I searched another. And got this. It’s Jekyll theme. At least it’s not a wordpress theme. I read the license agreement, that’s okay, it’s free. Then I downloaded it and ported it to Statamic theme and also customize it. I took two days on my spare time to finish it. And Viola!!! My blogging story starts from here. Powered by GitHub, Statamic, and Minimal Mistakes. Look at the footer!

]]>
2015-04-15T01:19:00+07:00