Posts

Which storage cloud to choose?

Image
Dropbox, Box, Google driver, Ubuntu one or icloud ? Table of Contents 1 Storage in cloud products 2 My working environment 3 How Storage cloud improved my life? 4 Which product I like the most? 1 Storage in cloud products Now I wanna too share some good storage cloud products that I used in my daily work. A good storage cloud tool can offer you so much convenient in daily life and increase your productivity and efficiency at work. Here is my own experience with some cloud products. So, What is the storage cloud products? It is a services that can store your data into cloud and can share it everywhere. Here is the storage cloud services that I already used. free size OS compatibility GFW compatibility Dropbox 5G Linux, Mac, Windows OK Box 50G Mac, Windows OK Google Driver 15G Mac, Windows Need to fuck GFW ubuntu one 5G Linux(ubuntu), Mac, Windows OK icloud 5G Mac, Windows OK 2 My working environment Before to illustrate this question, I ...

Install Bluez host stack from source code for linux

Image
Install Bluez host stack from source code for Linux Table of Contents 1 Why install Bluez5.8+? 2 Install Bluez5.8 into Linux distribution 3 How to start the newest Bluez stack daemon? 1 Why install Bluez5.8+? Bluez is the host part stack running in Linux. Install the Bluetooth LE feature supported Bluez was really important during develop the Bluetooth le apps, it can run your test case on your Linux PC at least. But Why Bluez 5.8 and later version? The Bluez stack was developed so quickly during the past one years from 4.100 to 5.9, its source code's quality was really promoted a lot after those frequent releases. What's more, Bluetooth LE was officially supported after Bluez 5.0 release not just experimental features in the older version.  The mainly Linux distribution's Bluez version, like Ubuntu13.2 or Fedora 19, still remained in 4.101, which means Bluetooth LE still in the experimental stage at the latest Linux distribution system . 2 Inst...

Bluetooth Introduction

Image
Bluetooth Introduction Table of Contents 1 What's Bluetooth? 2 Bluetooth stacks 3 Bluetooth profiles 1 What's Bluetooth? Bluetooth is a wireless communication technology. Its name comes from an ancient Denmark king, Harald Blatand, in the tenth century, who united the dissonant Danish tribes into a single kingdom. Because he likes to eat blueberry, his tooth was always colored to blue, people gave him a nickname Harald Bluetooth instead. And also, the Bluetooth's logo comes from this king's first two names and the band of the ancient North Europe characters.  How many parts did a Bluetooth system consisted of? The following figures illustrate the basic parts of a Bluetooth system. +----------+ +----------+ | | | Host | | host | | | +----+-----+ +----+-----+ +----+-----+ +----+-----+ | LE | | BR/EDR | |Controller| |Controller| +----------+ +----------+ ...

Ways to reverse one-directional list

Image
Ways to reverse one directional list Table of Contents 1 How I get this question? 2 So the answer is? 3 What did I learn from this question? 1 How I get this question? I attended a job interview again yesterday, the interviewer asked me some many questions including object-oriented software design, data structure, and algorithms. The written examination which is android SDK related should be my strong points one years ago, but Now I forgot most of the terms. So sucks huh! I list the following topics from my memory after the lasting 3 hours job interview. Plugin design patterns: Cons and Pros, How eclipse project leading this tide. Dynamic Programming language and OOP Lisp language, Functional programming, and Recursion Algorithms Most of the questions enlightening me so much, this interviewer is obviously a good engineer.  wow… Great job. Now, come back the topic. How to reverse a one-directional list? This question was given when we discuss the fu...

Configure Emacs as an Python IDE

Image
Configure Emacs as a Python IDE Table of Contents 1 use python.el 2 auto-completion in python.el 1 use python.el There are plenty of python modes which support develop python in emacs, well, in my personal opinion, most of those are sucks, and F fgallina's python.el is the much better one.  Besides the major mode for python, I installed following python packages including rope, ropemode, Pymacs, and ropemacs. Install rope, reopmode, and ropemacs were really easy with the help of python's package management tool pip .  pip install rope pip install ropemode pip install ropemacs Pymacs provided the both-way communication between Emacs Lisp and Python, it can not installed by pip, so just download the source code from GitHub.  Install pymacs python package first.  make sudo make install Install emacs package pymacs.el which generated by above step. copy pymacs.el into the path which included in emacs's load-path. Then add the fol...

Configure eshell-mode after upgrade emacs to 24.3.1

Image
Configure eshell-mode after upgrade emacs to 24.3.1 My eshell-mode doesn't works after I upgrade emacs to 24.3.1. I got the empty symbol "eshell-output-filter-functions" error every time I start eshell-mode.  The symbol "eshell-output-filter-functions" located in esh-mode.el. So I need to load the esh-mode.el before the code which refers to the "eshell-output-filter-functions" symbol.  After that My eshell-mode's configure code is as following:  (setq eshell-cmpl-cycle-completions nil eshell-save-history-on-exit t eshell-cmpl-dir-ignore "\\` \\ ( \\.\\.? \\ | CVS \\ | \\.svn \\ | \\.git \\ ) /\\'" ) ;; load esh-mode first ( require ' esh-mode ) ( eval-after-load 'esh-opt '( progn ( require ' em-cmpl ) ( require ' em-prompt ) ( require ' em-term ) ;; TODO: for some reason requiring this here breaks it, but ;; requiring it after an eshell session is s...

Plugin architecture design by C

Image
Plugin architecture design by C Table of Contents 1 How to make a plugin architecture in C? 2 Problems I met 3 How I solve this problem? 4 Pros and Cons of plugin architecture. 1 How to make a plugin architecture in C? The plugin architecture is a great design in order to make extensible and resilience software. The software's modules were loaded dynamically from the plugin modules at running time. In C language, this architecture can be implemented by dlopen which is the programming interface to the dynamic linking loader in Linux.  In other words, A software is split into separate modules which are compiled and linked into shared libs. And the software can load the shared libs into memory dynamically, this is what I wanna genesis to be. genesis is a reactor architecture middleware lib that I am working on. 2 Problems I met In order to make a plugin architecture, I use dlopen API to implement plugin modules. But I met some troubles in the d...