Introduction

ECB, stands for Emacs Code Browser, tranforms your emacs from a text editor to a real IDE for coding. Once activated, it can display many useful information that help you program more effectively. The ECB’s informational windows can contain:

  • a directory tree,
  • a list of source files in the current directory,
  • a list of functions/classes/methods/… in the current file, (ECB uses the Semantic Bovinator, or Imenu, or etags, for getting this list so all languages supported by any of these tools are automatically supported by ECB too)
  • a history of recently visited files,
  • the Speedbar and
  • output from compilation (the “compilation” window) and other modes like help, grep, etc. or whatever the user defines to be displayed in that window.

For more information, please visit ECB Homepage.

Read more

Introduction

This article is to help you config Emacs to use Clang autocomplete source for C/C++ and even Objective C programming.

If you haven’t known what is Clang yet, have a look at this article Clang on Wikipedia

Requirements & Installation

First, you have to install AutoComplete for Emacs. You can install it using Emacs Package Manager. The next step is to install Yasnippet. This is not compulsory but is encouraged for better experiments. You can also install it using Emacs Package Manager. To see how to get Autocomplete and Yasnippet to work together, see this article Config Yasnippet and Autocomplete on Emacs.

Read more

Intro

It’s a great idea to encrypt your identity such as username and password for the services that you use. Since version 23, Emacs has been integrated with a package called EasyPG to help us with those task. It’s an interface to GnuPG so make sure that you have GnuPG installed on your computer. If you’re on MacOS, you can easily install it from Macports by executing the command sudo port install gnupg.

Usage

First, make sure that you have GnuPG installed on your computer by typing which gpg in terminal. On MacOS, you can install it from Macports. After finishing installing gnupg, add this to your .emacs

(when (file-executable-p "/opt/local/bin/macports/bin/gpg")
	(setq epg-gpg-program "/opt/local/bin/macports/bin/gpg"))
Read more

I’m a technology fanboy, or in other word, a geek. I’m really interested in computers, smartphones, high tech devices,… I have used Windows, MacOS, Ubuntu, iOS, Android, Blackberry, Symbian,… I want to keep them all in sync so that I can easily manage and access my data on any devices. Here are some of my currently used and known solutions for keeping them in sync.

Read more

I was given a Samsung Galaxy Note 1 - LTE Korea version. Sadly, in my country, 4G has not appeared yet. So I can only use 3G to access internet on the go. However, since it’s the LTE version, it constantly looks for 4G network, which drains my battery so quickly. It’s so annoying that I have to recharge the battery every 6-7 hours.

All the tutorials on the internet that I found didn’t help me. They all told me to go to Setting -> More -> Mobile Networks -> Pref and select the prefered network type. However, there is no option called pref or something like that there.

Read more

Why we need Jekyll?

Many of you should have known or have used some popular blogging platforms like Wordpress or Blogspot. They are all great platforms that have been developed for a long time and have a big community. However, they also have some disadvantages.

  • Have you ever found that Wordpress or Blogspot too complex and too difficult to backup and restore?
  • Have you ever encountered the problem when you want to display a piece of programming code in Wordpress, Blogspot,…?
  • Have you ever feel annoyed by the useless code that their WYSIWYG editors generate? And to fix them you have to edit the markup manually, which is very complicated for us to focus on the main content.
  • Have you ever noticed that they took a long time to load the pages?
  • And so on…

If you feel annoyed with these problems, it’s time for you to find another better solution.

Read more

Those little pieces of code are used to insert a Related Posts and Recent Posts column to Jekyll Bootstrap site. Just put them any where you want it to display in the post template (usually /_includes/themes/theme-name/post.html).

<h4>Related Posts</h4>
<ul>
  {% for post in site.related_posts limit:5 %}
  <li><a href="{{ BASE_PATH }}{{ post.url }}">{{ post.title }}</a></li>
  {% endfor %}
</ul>
Read more

I usually open many buffers in conkeror (50-100 buffers). Also, I have auto save mode enable so everytime I start Conkeror, it automatically loads all of those buffers. That can cause my network overloaded. Moreover, sometimes I need reload all the currently opend buffers to see all the changes. So I wrote those 2 little pieces of code to help me achieve it. Here are they:

Stop loading all buffer (key A-h)

define_key(default_global_keymap, "A-h",
          function (I)
          {
              for (var i = 0; i < I.window.buffers.count; i++)
              {
                  stop_loading(I.window.buffers.get_buffer(i));
              }
          });
Read more

Emacs is not just a simple text editor. It comes with powerful supporting packages to extend its capabilities. Emacs has the built-in package manager but you can also install packages manually by downloading, compiling and add them to the load path. However, what happen if you change to another computer or one day your computer broken and you have to freshly install it from the beginning? You will have to reinstall those packages again, and add them to the load-path manually. Here is a simple solution that will help us automate the installation process.

Load Emacs package manager and Add more source

Emacs is not a package manager, and we should load its package manager and also add more package source for it before using.
Add this to your .emacs

;;; Emacs is not a package manager, and here we load its package manager!
(require 'package)
(dolist (source '(("marmalade" . "http://marmalade-repo.org/packages/")
                  ("elpa" . "http://tromey.com/elpa/")
                  ;; TODO: Maybe, use this after emacs24 is released
                  ;; (development versions of packages)
                  ("melpa" . "http://melpa.milkbox.net/packages/")
                  ))
  (add-to-list 'package-archives source t))
(package-initialize)
Read more