Tuesday, March 07, 2017
SQLite Source Code Blocks in Org Mode
SQLite Source Code Blocks in Org Mode--> http://orgmode.org/worg/org-contrib/babel/languages/ob-doc-sqlite.html
# -*- coding: utf-8 -*-
#+STARTUP: content
#+LANGUAGE: ko
#+PROPERTY: header-args:sqlite :dir ~/org/ :db journal.db :var rel="cur" :results line :colnames yes
: header arguments -> :csv, :column, :line, :list, :html
: results -> silent raw
: separator \
※ 1. File scope variable which is name "#+PROPERTY" can be located any location of file.
※ 2. "#+PROPERTY" var will be initialize when file opening time.
(therefore, if you modify "#+PROPERTY" it can be use until reopen the file again!)
* sqlite org babel
[[http://orgmode.org/worg/org-contrib/babel/languages/ob-doc-sqlite.html][guide_from orgmode.org]]
** emacs babel setup
#+TITLE: dot
#+begin_src elisp
(org-babel-do-load-languages
'org-babel-load-languages (quote ((emacs-lisp . t)
(sqlite . t)
(R . t)
(python . t))))
#+end_src
** Org Mode Features for SQLite Source Code Blocks
Header Arguments
Language-specific default values
There are no language-specific default header arguments for SQLite.
** Language-specific header arguments
There are 11 SQLite-specific header arguments.
db
a string with the name of the file that holds the SQLite database. Babel requires this header argument.
header
if present, turn on headers in the output format. Headers are also output with the header argument :colnames yes.
echo
if present, set the SQLite dot command .echo to ON.
bail
if present, set the SQLite dot command .bail to ON.
csv
the default SQLite output format for Babel SQLite source code blocks.
column
an SQLite output format that outputs a table-like form with whitespace between columns.
html
an SQLite output format that outputs query results as simple HTML tables.
line
an SQLite output format that outputs query results with one value per line.
list
an SQLite output format that outputs query results with the separator character between fields.
separator
a string that specifies the separator character used by the SQLite `list' output mode and by the SQLite dot command .import.
nullvalue
a string to use in place of NULL values.
** Variables
It is possible to pass variables to sqlite. Variables can be of type table or scalar. Variables are defined using :var=<value> and referred in the code block as $<name>.
Table variables
Table variables are exported as a temporary csv file that can then be imported by sqlite. The actual value of the variable is the name of temporary csv file.
Scalar variables
This is a value that will replace references to variable's name. String variables should be quoted; otherwise they are considered a table variable.
** Sessions
SQLite sessions are not supported.
** Result Types
SQLite source code blocks typically return the results of a query. The header arguments :csv, :column, :line, :list, and :html determine the output format.
: #+PROPERTY: header-args:sqlite :dir ~/org/ :db org.db :results list
* sample create
: #+name: sqlite-populate-test
: #+header: :results line
: #+header: :dir ~/tmp/
: #+header: :db hello.db
: #+begin_src sqlite
: create table greeting(one varchar(10), two varchar(10));
: insert into greeting values('Hello', 'world!');
: #+end_src
#+begin_src sqlite
create table greeting(one varchar(10), two varchar(10));
insert into greeting values('Hello', 'world!');
#+end_src
* sample query
: #+name: sqlite-hello
: #+header: :list
: #+header: :separator \
: #+header: :results raw
: #+header: :dir ~/tmp/
: #+header: :db hello.db
: #+begin_src sqlite
: select * from greeting;
: #+end_src
#+begin_src sqlite
select * from greeting;
#+end_src
#+RESULTS:
| one | two |
|-------+--------|
| Hello | world! |
* Using scalar variables
** using local var.
#+BEGIN_SRC sqlite :db ~/org/journal.db :var rel="tname" n=300 :colnames yes
drop table if exists $rel;
create table $rel(n int, id int);
insert into $rel(n,id) values (1,210), (3,800);
select * from $rel where id > $n;
#+END_SRC
#+RESULTS:
| n | id |
|---+-----|
| 3 | 800 |
** usign file var.
#+BEGIN_SRC sqlite :var n=300
drop table if exists $rel;
create table $rel(n int, id int);
insert into $rel(n,id) values (1,210), (3,800);
select * from $rel where id > $n;
#+END_SRC
#+RESULTS:
| n | id |
|---+-----|
| 3 | 800 |
* Using table variables
We can also pass a table to a query. In this case, the contents of the table are exported as a csv file that can then be imported into a relation:
** local var.
#+NAME: tableexample
| id | n |
|----+----|
| 1 | 5 |
| 2 | 9 |
| 3 | 10 |
| 4 | 9 |
| 5 | 10 |
#+begin_src sqlite :db ~/org/journal.db :var orgtable=tableexample :colnames yes
drop table if exists testtable;
create table testtable(id int, n int);
.mode csv testtable
.import $orgtable testtable
select n, count(*) from testtable group by n;
#+end_src
#+RESULTS:
| n | count(*) |
|----+----------|
| 5 | 1 |
| 9 | 2 |
| 10 | 2 |
** using global file var.
#+begin_src sqlite :var orgtable=tableexample
drop table if exists testtable;
create table testtable(id int, n int);
.mode csv testtable
.import $orgtable testtable
select n, count(*) from testtable group by n;
#+end_src
#+RESULTS:
| n | count(*) |
|----+----------|
| 5 | 1 |
| 9 | 2 |
| 10 | 2 |
Sunday, February 26, 2017
(require 'scala-mode-auto)
(require 'ensime)
#+RESULTS:
(add-to-list 'auto-mode-alist '("\\.sc$" . scala-mode))
(add-to-list 'auto-mode-alist '("\\.scala$" . scala-mode))
(add-hook 'scala-mode-hook 'ensime-mode)
(require 'ensime)
#+RESULTS:
(add-to-list 'auto-mode-alist '("\\.sc$" . scala-mode))
(add-to-list 'auto-mode-alist '("\\.scala$" . scala-mode))
(add-hook 'scala-mode-hook 'ensime-mode)
* org babel mode scala
#+begin_src scala :exports both :results output
def helloworld() = {
println("Hello there")
println("한글로처리2")
}
helloworld()
#+end_src
: Hello there
: 한글로처리2
#+begin_src scala :exports both :results output
def helloworld() = {
println("Hello there")
println("한글로처리2")
}
helloworld()
#+end_src
: Hello there
: 한글로처리2
emacs - org babel mode - using paramer ex. sql (from:Introduction to Literate Programming)
--> from:
http://www.howardism.org/Technical/Emacs/literate-programming-tutorial.html
* example-1. use parameter in the document level defind '#+PROPERTY'
http://www.howardism.org/Technical/Emacs/literate-programming-tutorial.html
Introduction to Literate Programming
Welcome to a brief tutorial on literate programming in org-mode.
The following began as the basis for a workshop for the PDX Emacs Hackers meetup, but since everyone couldn’t attend, I decided to expand it into a tutorial. I assume you understand the basics of Emacs and as well as familiarity with org-mode for creating exported documents.
As you probably know, Org is pretty large, and the features for writing, evaluating and connecting blocks of source code in a document are extensive, and documenting them all is a daunting task. I hope this tutorial is a good start, but if I glossed over something you feel I should include, please let me know.
Warning: The examples are pretty lame.
--
# -*- coding: utf-8 -*-
#+STARTUP: content
#+LANGUAGE: ko
#+PROPERTY: header-args:sql :engine postgresql :export results :cmdline -p 5432 -h localhost -U kys -d emacsdb PGPASSWORD=pass1234
* example-1. use parameter in the document level defind '#+PROPERTY'
#+BEGIN_SRC sql
select eng_name, title, fullname from springschema.phonebook;
#+END_SRC
#+RESULTS:
** example-2. use parameter in the org-heading section of ':PROPERTIES:'
select eng_name, title, fullname from springschema.phonebook;
#+END_SRC
#+RESULTS:
| eng_name | title | fullname |
|-----------+-------+----------|
| So Wonju | 대리 | 지원호 |
| Mr.Jung | 사원 | 김지원 |
..
|-----------+-------+----------|
| So Wonju | 대리 | 지원호 |
| Mr.Jung | 사원 | 김지원 |
..
** example-2. use parameter in the org-heading section of ':PROPERTIES:'
:PROPERTIES:
:LANGUAGE: sql
:engine: postgresql
:exports: results
:cmdline: -p 5432 -h localhost -U kys -d emacsdb PGPASSWORD=pass1234
:END:
#+begin_src sql
select eng_name, title, fullname from springschema.phonebook;
select "select version()";
#+end_src
#+RESULTS:
| eng_name | title | fullname |
|-----------+-------+----------|
| So Wonju | 대리 | 지원호 |
| Mr.Jung | 사원 | 김지원 |
..
* example-3. use in specified src block values
#+BEGIN_SRC sql :engine postgresql :exports results :cmdline -p 5432 -h localhost -U kys -d emacsdb PGPASSWORD=pass123
select eng_name, title, fullname from springschema.phonebook;
#+END_SRC
#+RESULTS:
| eng_name | title | fullname |
|-----------+-------+----------|
| So Wonju | 대리 | 지원호 |
| Mr.Jung | 사원 | 김지원 |
:LANGUAGE: sql
:engine: postgresql
:exports: results
:cmdline: -p 5432 -h localhost -U kys -d emacsdb PGPASSWORD=pass1234
:END:
#+begin_src sql
select eng_name, title, fullname from springschema.phonebook;
select "select version()";
#+end_src
#+RESULTS:
| eng_name | title | fullname |
|-----------+-------+----------|
| So Wonju | 대리 | 지원호 |
| Mr.Jung | 사원 | 김지원 |
..
* example-3. use in specified src block values
#+BEGIN_SRC sql :engine postgresql :exports results :cmdline -p 5432 -h localhost -U kys -d emacsdb PGPASSWORD=pass123
select eng_name, title, fullname from springschema.phonebook;
#+END_SRC
| eng_name | title | fullname |
|-----------+-------+----------|
| So Wonju | 대리 | 지원호 |
| Mr.Jung | 사원 | 김지원 |
※ :results:output 가 있으면 raw 로 encoding 없이 출력된다.
(※ ':results:output' means output without encoding)
Thursday, February 23, 2017
google notice to blogger users - with cookie
유럽 연합 법규는 유럽 연합 방문자에게 블로그에 사용되는 쿠키에 대한 정보를 제공하도록 규제하고 있습니다. 또한 대부분의 경우 이러한 법규는 사용자의 동의를 얻도록 요구합니다.
이 규제를 준수할 수 있도록 Google은 귀하의 블로그에 Google이 특정 Blogger를 사용하며 Google 애널리틱스와 애드센스 쿠키를 비롯한 Google 쿠키를 사용한다는 것을 알리는 공지사항을 추가했습니다.
귀하는 이 공지사항이 블로그에 실제로 적용되고 표시되도록 할 책임이 있습니다. 타사 제품의 기능을 추가하는 등 다른 쿠키를 사용하는 경우 이 공지사항이 귀하에게 적합하지 않을 수 있습니다. 이 공지사항 및 책임에 대해 자세히 알아보기
이 규제를 준수할 수 있도록 Google은 귀하의 블로그에 Google이 특정 Blogger를 사용하며 Google 애널리틱스와 애드센스 쿠키를 비롯한 Google 쿠키를 사용한다는 것을 알리는 공지사항을 추가했습니다.
귀하는 이 공지사항이 블로그에 실제로 적용되고 표시되도록 할 책임이 있습니다. 타사 제품의 기능을 추가하는 등 다른 쿠키를 사용하는 경우 이 공지사항이 귀하에게 적합하지 않을 수 있습니다. 이 공지사항 및 책임에 대해 자세히 알아보기
Font for Emacs - Korean, Chinese-Hanyu
> chinese font
(set-fontset-font fontset 'hangul '("Gulim" . "unicode-bmp"))
> korean font
(set-fontset-font fontset 'hangul '("NanumBarunGothic" . "unicode-bmp"))
> japnese font
;; -- 0
;(set-face-font 'default "Monaco-12")
;(set-fontset-font "fontset-default" '(#x1100 . #xffdc) "NanumGothicOTF-15")
;(set-fontset-font "fontset-default" 'kana "Hiragino Kaku Gothic Pro-14")
;(set-fontset-font "fontset-default" 'han "Hiragino Kaku Gothic Pro-14")
(defun xftp (&optional frame)
"Return t if FRAME support XFT font backend."
(let ((xft-supported))
(mapc (lambda (x) (if (eq x 'xft) (setq xft-supported t)))
(frame-parameter frame 'font-backend))
xft-supported))
(when (string-equal my-system-is "MAC")
(set-face-attribute 'default nil :family "DejaVu Sans Mono" :height 160) ; 140
; (set-face-font 'default "Monaco-14") ; 12
; (set-face-attribute 'default nil :height 160)
; (face-remap-add-relative 'default :family "Bitstrem Vera Sans Mono" :height 180)
;; -- 1
(set-fontset-font "fontset-default" '(#x1100 . #xffdc) '("DejaVu Sans Mono" . "iso10646-1"))
; (set-fontset-font "fontset-default" '(#xe0bc . #xf66e) '("나눔고딕코딩" . "iso10646-1"))
;(set-fontset-font "fontset-default" 'latin '("Monaco-14" . "unicode-bmp"))
;(set-fontset-font t 'latin (font-spec :family "나눔고딕코딩" :size 18)) ; 16
;(set-fontset-font "fontset-default" 'latin (font-spec :family "NanumGothicCoding" :size 22))
;(set-fontset-font "fontset-default" 'latin (font-spec :family "Bitstrem Vera Sans Mono" :size 22))
(set-fontset-font "fontset-default" 'latin (font-spec :family "DejaVu Sans Mono" :size 22))
;; -- 2
(set-fontset-font "fontset-default" 'han (font-spec :family "STHeiti" :size 24))
;(set-fontset-font "fontset-default" 'han (font-spec :family "Microsoft YaHei" :size 24))
;; -- 3
;(set-fontset-font "fontset-default" 'kana (font-spec :family "STSong-24" :size 22))
; (set-fontset-font "fontset-default" 'kana (font-spec :family "Monaco-16" :size 22))
;; -- 4
(set-fontset-font "fontset-default" 'hangul (font-spec :family "나눔고딕코딩" :size 14))
)
(when (string-equal my-system-is "GIG")
; (set-face-font 'default "Monaco-12")
;; bad
; (set-fontset-font "fontset-default" '(#x1100 . #xffdc) '("NANumGothicCoding" . "unicode-bmp"))
; (set-fontset-font "fontset-default" '(#xe0bc . #xf66e) '("NanumGothicCoding" . "unicode-bmp"))
;; bad
; (set-fontset-font "fontset-default" '(#x1100 . #xffdc) '("NanumGothicOTF" . "iso10646-1"))
; (set-fontset-font "fontset-default" '(#xe0bc . #xf66e) '("NanumGothicOTF" . "iso10646-1"))
(set-fontset-font "fontset-default" '(#x1100 . #xffdc) '("NanumBarunGothic" . "iso10646-1"))
(set-fontset-font "fontset-default" '(#xe0bc . #xf66e) '("NanumBarunGothic" . "iso10646-1"))
(set-fontset-font "fontset-default" 'kana '("Hiragino Kaku Gothic Pro" . "iso10646-1"))
(set-fontset-font "fontset-default" 'japanese-jisx0208 '("Hiragino Kaku Gothic Pro" . "iso10646-1"))
(set-fontset-font "fontset-default" 'katakana-jisx0201 '("Hiragino Kaku Gothic Pro" . "iso10646-1"))
(set-fontset-font "fontset-default" 'han '("Microsoft YaHei". "unicode-bmp"))
;(set-fontset-font "fontset-default" 'han '("NanumGothicCoding". "unicode-bmp"))
(set-fontset-font (frame-parameter nil 'font) 'cjk-misc '("Microsoft YaHei" . "unicode-bmp"))
(set-fontset-font (frame-parameter nil 'font) 'bopomofo '("Microsoft YaHei" . "unicode-bmp"))
(set-fontset-font "fontset-default" 'gb18030 '("Microsoft YaHei". "unicode-bmp"))
(set-fontset-font (frame-parameter nil 'font) 'symbol '("Microsoft YaHei". "unicode-bmp"))
(set-fontset-font t 'han (font-spec :family "Microsoft Yahei" :size 16))
;(set-fontset-font t 'han (font-spec :family "NanumGothicCoding" :size 16))
(setq face-font-rescale-alist '(("Microsoft Yahei" . 1.4) ("WenQuanYi Zen Hei" . 1.4)))
;; -- this xfp will crash !!
; (when (xftp)
; (let ((fontset "fontset-default"))
; (set-fontset-font fontset 'latin '("DejaVu Sans Mono" . "unicode-bmp"))
; ; (set-fontset-font fontset 'latin '("NanumGothicCoding" . "unicode-bmp"))
;
; ; (set-fontset-font fontset 'hangul '("NanumGothicCoding" . "unicode-bmp"))
; (set-fontset-font fontset 'hangul '("SeoulHangangB" . "unicode-bmp"))
; ; (set-fontset-font fontset 'hangul '("SeoulNamsanM" . "unicode-bmp"))
;
; (set-face-attribute 'default nil :font fontset :height 110)
; )
; )
(when (xftp)
(let ((fontset "fontset-default"))
; (set-fontset-font fontset 'latin '("DejaVu Sans Mono" . "unicode-bmp"))
(set-fontset-font fontset 'latin '("DejaVu Sans Mono-14" . "unicode-bmp"))
; ; (set-fontset-font fontset 'latin '("NanumGothicCoding" . "unicode-bmp"))
;
; (set-fontset-font fontset 'hangul '("Gulim" . "unicode-bmp"))
(set-fontset-font fontset 'hangul '("NanumBarunGothic" . "unicode-bmp"))
; (set-fontset-font fontset 'hangul '("Gulim" . "unicode-bmp"))
; (set-fontset-font fontset 'hangul '("NanumGothicCoding" . "unicode-bmp"))
; (set-fontset-font fontset 'hangul '("SeoulHangangB" . "unicode-bmp"))
; ; (set-fontset-font fontset 'hangul '("SeoulNamsanM" . "unicode-bmp"))
;
; (set-face-attribute 'default nil :font fontset :height 110)
)
)
;; -- this xfp not tested
; (when (xftp)
; (let ((fontset "fontset-default"))
; (set-fontset-font fontset 'latin '("DejaVu Sans Mono" . "unicode-bmp"))
; ; (set-fontset-font fontset 'latin '("NanumGothicCoding" . "unicode-bmp"))
;
; ; (set-fontset-font fontset 'hangul '("NanumGothicCoding" . "unicode-bmp"))
; (set-fontset-font fontset 'hangul '("SeoulHangangB" . "unicode-bmp"))
; ; (set-fontset-font fontset 'hangul '("SeoulNamsanM" . "unicode-bmp"))
;
; (set-face-attribute 'default nil :font fontset :height 110)
; )
; )
)
;;;; ----------------------------------------------------------------------
;; test -- 1
(cond
((string-equal system-type "windows-nt") ; Microsoft Windows
(when (member "DejaVu Sans Mono" (font-family-list))
(add-to-list 'initial-frame-alist '(font . "DejaVu Sans Mono-12"))
(add-to-list 'default-frame-alist '(font . "DejaVu Sans Mono-12"))
)
)
((string-equal system-type "darwin") ; Mac OS X
(when (member "DejaVu Sans Mono" (font-family-list))
(add-to-list 'initial-frame-alist '(font . "DejaVu Sans Mono-12"))
(add-to-list 'default-frame-alist '(font . "DejaVu Sans Mono-12")))
)
((string-equal system-type "gnu/linux") ; linux
(when (member "DejaVu Sans Mono" (font-family-list))
(add-to-list 'initial-frame-alist '(font . "DejaVu Sans Mono-12"))
(add-to-list 'default-frame-alist '(font . "DejaVu Sans Mono-12"))
; (set-face-attribute 'default nil :family "Source Code Pro" :height 130) ; 120
)
)
)
;;;; ----------------------------------------------------------------------
;; test -- 2
;; -- this is DejaVu Good looking
;(add-to-list 'default-frame-alist '(font . "DejaVu Sans Mono-12"))
;(set-frame-font "DejaVu Sans Mono-12" nil t)
;; -- not as good as DejaVu - its test now
(add-to-list 'default-frame-alist '(font . "Source Code Pro-13"))
(set-frame-font "Source Code Pro-13" nil t)
;; -- not as good it's just old fashion style
;(add-to-list 'default-frame-alist '(font . "lucidasanstypewriter-12"))
;(set-frame-font "lucidasanstypewriter-12" nil t)
(set-face-attribute 'default nil :family "Source Code Pro" :height 130) ; 120
;;;; ----------------------------------------------------------------------
(defun my-font-middle () (interactive)
(set-face-font 'default "Monaco-12")
(set-fontset-font "fontset-default" '(#x1100 . #xffdc) '("NanumGothicOTF" . "iso10646-1"))
(set-fontset-font "fontset-default" '(#xe0bc . #xf66e) '("NanumGothicOTF" . "iso10646-1"))
(set-fontset-font "fontset-default" 'kana '("Hiragino Kaku Gothic Pro" . "iso10646-1"))
(set-fontset-font "fontset-default" 'japanese-jisx0208 '("Hiragino Kaku Gothic Pro" . "iso10646-1"))
(set-fontset-font "fontset-default" 'katakana-jisx0201 '("Hiragino Kaku Gothic Pro" . "iso10646-1"))
(set-fontset-font "fontset-default" 'han '("Microsoft YaHei". "unicode-bmp"))
(set-fontset-font (frame-parameter nil 'font) 'cjk-misc '("Microsoft YaHei" . "unicode-bmp"))
(set-fontset-font (frame-parameter nil 'font) 'bopomofo '("Microsoft YaHei" . "unicode-bmp"))
(set-fontset-font "fontset-default" 'gb18030 '("Microsoft YaHei". "unicode-bmp"))
(set-fontset-font (frame-parameter nil 'font) 'symbol '("Microsoft YaHei". "unicode-bmp"))
(set-fontset-font t 'han (font-spec :family "Microsoft Yahei" :size 16))
(setq face-font-rescale-alist '(("Microsoft Yahei" . 1.4) ("WenQuanYi Zen Hei" . 1.4)))
)
(defun my-font-big ()
(interactive)
(set-face-font 'default "Monaco-14")
(set-fontset-font "fontset-default" '(#x1100 . #xffdc) '("NanumGothicOTF" . "iso10646-1"))
(set-fontset-font "fontset-default" '(#xe0bc . #xf66e) '("NanumGothicOTF" . "iso10646-1"))
; (set-fontset-font "fontset-default" '(#x1100 . #xffdc) '("NanumGothicCoding" . "iso10646-1"))
; (set-fontset-font "fontset-default" '(#xe0bc . #xf66e) '("NanumGothicCoding" . "iso10646-1"))
(set-fontset-font "fontset-default" 'kana '("Hiragino Kaku Gothic Pro" . "iso10646-1"))
(set-fontset-font "fontset-default" 'japanese-jisx0208 '("Hiragino Kaku Gothic Pro" . "iso10646-1"))
(set-fontset-font "fontset-default" 'katakana-jisx0201 '("Hiragino Kaku Gothic Pro" . "iso10646-1"))
(set-fontset-font "fontset-default" 'han '("Microsoft YaHei". "unicode-bmp"))
(set-fontset-font (frame-parameter nil 'font) 'cjk-misc '("Microsoft YaHei" . "unicode-bmp"))
(set-fontset-font (frame-parameter nil 'font) 'bopomofo '("Microsoft YaHei" . "unicode-bmp"))
(set-fontset-font "fontset-default" 'gb18030 '("Microsoft YaHei". "unicode-bmp"))
(set-fontset-font (frame-parameter nil 'font) 'symbol '("Microsoft YaHei". "unicode-bmp"))
(set-fontset-font t 'han (font-spec :family "Microsoft Yahei" :size 16))
(setq face-font-rescale-alist '(("Microsoft Yahei" . 1.6) ("WenQuanYi Zen Hei" . 1.6)))
)
;(my-font-big)
;(my-font-middle)
;; M-x list-fonts
(set-fontset-font fontset 'hangul '("Gulim" . "unicode-bmp"))
> korean font
(set-fontset-font fontset 'hangul '("NanumBarunGothic" . "unicode-bmp"))
> japnese font
;(set-face-font 'default "Monaco-12")
;(set-fontset-font "fontset-default" '(#x1100 . #xffdc) "NanumGothicOTF-15")
;(set-fontset-font "fontset-default" 'kana "Hiragino Kaku Gothic Pro-14")
;(set-fontset-font "fontset-default" 'han "Hiragino Kaku Gothic Pro-14")
(defun xftp (&optional frame)
"Return t if FRAME support XFT font backend."
(let ((xft-supported))
(mapc (lambda (x) (if (eq x 'xft) (setq xft-supported t)))
(frame-parameter frame 'font-backend))
xft-supported))
(when (string-equal my-system-is "MAC")
(set-face-attribute 'default nil :family "DejaVu Sans Mono" :height 160) ; 140
; (set-face-font 'default "Monaco-14") ; 12
; (set-face-attribute 'default nil :height 160)
; (face-remap-add-relative 'default :family "Bitstrem Vera Sans Mono" :height 180)
;; -- 1
(set-fontset-font "fontset-default" '(#x1100 . #xffdc) '("DejaVu Sans Mono" . "iso10646-1"))
; (set-fontset-font "fontset-default" '(#xe0bc . #xf66e) '("나눔고딕코딩" . "iso10646-1"))
;(set-fontset-font "fontset-default" 'latin '("Monaco-14" . "unicode-bmp"))
;(set-fontset-font t 'latin (font-spec :family "나눔고딕코딩" :size 18)) ; 16
;(set-fontset-font "fontset-default" 'latin (font-spec :family "NanumGothicCoding" :size 22))
;(set-fontset-font "fontset-default" 'latin (font-spec :family "Bitstrem Vera Sans Mono" :size 22))
(set-fontset-font "fontset-default" 'latin (font-spec :family "DejaVu Sans Mono" :size 22))
;; -- 2
(set-fontset-font "fontset-default" 'han (font-spec :family "STHeiti" :size 24))
;(set-fontset-font "fontset-default" 'han (font-spec :family "Microsoft YaHei" :size 24))
;; -- 3
;(set-fontset-font "fontset-default" 'kana (font-spec :family "STSong-24" :size 22))
; (set-fontset-font "fontset-default" 'kana (font-spec :family "Monaco-16" :size 22))
;; -- 4
(set-fontset-font "fontset-default" 'hangul (font-spec :family "나눔고딕코딩" :size 14))
)
(when (string-equal my-system-is "GIG")
; (set-face-font 'default "Monaco-12")
;; bad
; (set-fontset-font "fontset-default" '(#x1100 . #xffdc) '("NANumGothicCoding" . "unicode-bmp"))
; (set-fontset-font "fontset-default" '(#xe0bc . #xf66e) '("NanumGothicCoding" . "unicode-bmp"))
;; bad
; (set-fontset-font "fontset-default" '(#x1100 . #xffdc) '("NanumGothicOTF" . "iso10646-1"))
; (set-fontset-font "fontset-default" '(#xe0bc . #xf66e) '("NanumGothicOTF" . "iso10646-1"))
(set-fontset-font "fontset-default" '(#x1100 . #xffdc) '("NanumBarunGothic" . "iso10646-1"))
(set-fontset-font "fontset-default" '(#xe0bc . #xf66e) '("NanumBarunGothic" . "iso10646-1"))
(set-fontset-font "fontset-default" 'kana '("Hiragino Kaku Gothic Pro" . "iso10646-1"))
(set-fontset-font "fontset-default" 'japanese-jisx0208 '("Hiragino Kaku Gothic Pro" . "iso10646-1"))
(set-fontset-font "fontset-default" 'katakana-jisx0201 '("Hiragino Kaku Gothic Pro" . "iso10646-1"))
(set-fontset-font "fontset-default" 'han '("Microsoft YaHei". "unicode-bmp"))
;(set-fontset-font "fontset-default" 'han '("NanumGothicCoding". "unicode-bmp"))
(set-fontset-font (frame-parameter nil 'font) 'cjk-misc '("Microsoft YaHei" . "unicode-bmp"))
(set-fontset-font (frame-parameter nil 'font) 'bopomofo '("Microsoft YaHei" . "unicode-bmp"))
(set-fontset-font "fontset-default" 'gb18030 '("Microsoft YaHei". "unicode-bmp"))
(set-fontset-font (frame-parameter nil 'font) 'symbol '("Microsoft YaHei". "unicode-bmp"))
(set-fontset-font t 'han (font-spec :family "Microsoft Yahei" :size 16))
;(set-fontset-font t 'han (font-spec :family "NanumGothicCoding" :size 16))
(setq face-font-rescale-alist '(("Microsoft Yahei" . 1.4) ("WenQuanYi Zen Hei" . 1.4)))
;; -- this xfp will crash !!
; (when (xftp)
; (let ((fontset "fontset-default"))
; (set-fontset-font fontset 'latin '("DejaVu Sans Mono" . "unicode-bmp"))
; ; (set-fontset-font fontset 'latin '("NanumGothicCoding" . "unicode-bmp"))
;
; ; (set-fontset-font fontset 'hangul '("NanumGothicCoding" . "unicode-bmp"))
; (set-fontset-font fontset 'hangul '("SeoulHangangB" . "unicode-bmp"))
; ; (set-fontset-font fontset 'hangul '("SeoulNamsanM" . "unicode-bmp"))
;
; (set-face-attribute 'default nil :font fontset :height 110)
; )
; )
(when (xftp)
(let ((fontset "fontset-default"))
; (set-fontset-font fontset 'latin '("DejaVu Sans Mono" . "unicode-bmp"))
(set-fontset-font fontset 'latin '("DejaVu Sans Mono-14" . "unicode-bmp"))
; ; (set-fontset-font fontset 'latin '("NanumGothicCoding" . "unicode-bmp"))
;
; (set-fontset-font fontset 'hangul '("Gulim" . "unicode-bmp"))
(set-fontset-font fontset 'hangul '("NanumBarunGothic" . "unicode-bmp"))
; (set-fontset-font fontset 'hangul '("Gulim" . "unicode-bmp"))
; (set-fontset-font fontset 'hangul '("NanumGothicCoding" . "unicode-bmp"))
; (set-fontset-font fontset 'hangul '("SeoulHangangB" . "unicode-bmp"))
; ; (set-fontset-font fontset 'hangul '("SeoulNamsanM" . "unicode-bmp"))
;
; (set-face-attribute 'default nil :font fontset :height 110)
)
)
;; -- this xfp not tested
; (when (xftp)
; (let ((fontset "fontset-default"))
; (set-fontset-font fontset 'latin '("DejaVu Sans Mono" . "unicode-bmp"))
; ; (set-fontset-font fontset 'latin '("NanumGothicCoding" . "unicode-bmp"))
;
; ; (set-fontset-font fontset 'hangul '("NanumGothicCoding" . "unicode-bmp"))
; (set-fontset-font fontset 'hangul '("SeoulHangangB" . "unicode-bmp"))
; ; (set-fontset-font fontset 'hangul '("SeoulNamsanM" . "unicode-bmp"))
;
; (set-face-attribute 'default nil :font fontset :height 110)
; )
; )
)
;;;; ----------------------------------------------------------------------
;; test -- 1
(cond
((string-equal system-type "windows-nt") ; Microsoft Windows
(when (member "DejaVu Sans Mono" (font-family-list))
(add-to-list 'initial-frame-alist '(font . "DejaVu Sans Mono-12"))
(add-to-list 'default-frame-alist '(font . "DejaVu Sans Mono-12"))
)
)
((string-equal system-type "darwin") ; Mac OS X
(when (member "DejaVu Sans Mono" (font-family-list))
(add-to-list 'initial-frame-alist '(font . "DejaVu Sans Mono-12"))
(add-to-list 'default-frame-alist '(font . "DejaVu Sans Mono-12")))
)
((string-equal system-type "gnu/linux") ; linux
(when (member "DejaVu Sans Mono" (font-family-list))
(add-to-list 'initial-frame-alist '(font . "DejaVu Sans Mono-12"))
(add-to-list 'default-frame-alist '(font . "DejaVu Sans Mono-12"))
; (set-face-attribute 'default nil :family "Source Code Pro" :height 130) ; 120
)
)
)
;;;; ----------------------------------------------------------------------
;; test -- 2
;; -- this is DejaVu Good looking
;(add-to-list 'default-frame-alist '(font . "DejaVu Sans Mono-12"))
;(set-frame-font "DejaVu Sans Mono-12" nil t)
;; -- not as good as DejaVu - its test now
(add-to-list 'default-frame-alist '(font . "Source Code Pro-13"))
(set-frame-font "Source Code Pro-13" nil t)
;; -- not as good it's just old fashion style
;(add-to-list 'default-frame-alist '(font . "lucidasanstypewriter-12"))
;(set-frame-font "lucidasanstypewriter-12" nil t)
(set-face-attribute 'default nil :family "Source Code Pro" :height 130) ; 120
;;;; ----------------------------------------------------------------------
(defun my-font-middle () (interactive)
(set-face-font 'default "Monaco-12")
(set-fontset-font "fontset-default" '(#x1100 . #xffdc) '("NanumGothicOTF" . "iso10646-1"))
(set-fontset-font "fontset-default" '(#xe0bc . #xf66e) '("NanumGothicOTF" . "iso10646-1"))
(set-fontset-font "fontset-default" 'kana '("Hiragino Kaku Gothic Pro" . "iso10646-1"))
(set-fontset-font "fontset-default" 'japanese-jisx0208 '("Hiragino Kaku Gothic Pro" . "iso10646-1"))
(set-fontset-font "fontset-default" 'katakana-jisx0201 '("Hiragino Kaku Gothic Pro" . "iso10646-1"))
(set-fontset-font "fontset-default" 'han '("Microsoft YaHei". "unicode-bmp"))
(set-fontset-font (frame-parameter nil 'font) 'cjk-misc '("Microsoft YaHei" . "unicode-bmp"))
(set-fontset-font (frame-parameter nil 'font) 'bopomofo '("Microsoft YaHei" . "unicode-bmp"))
(set-fontset-font "fontset-default" 'gb18030 '("Microsoft YaHei". "unicode-bmp"))
(set-fontset-font (frame-parameter nil 'font) 'symbol '("Microsoft YaHei". "unicode-bmp"))
(set-fontset-font t 'han (font-spec :family "Microsoft Yahei" :size 16))
(setq face-font-rescale-alist '(("Microsoft Yahei" . 1.4) ("WenQuanYi Zen Hei" . 1.4)))
)
(defun my-font-big ()
(interactive)
(set-face-font 'default "Monaco-14")
(set-fontset-font "fontset-default" '(#x1100 . #xffdc) '("NanumGothicOTF" . "iso10646-1"))
(set-fontset-font "fontset-default" '(#xe0bc . #xf66e) '("NanumGothicOTF" . "iso10646-1"))
; (set-fontset-font "fontset-default" '(#x1100 . #xffdc) '("NanumGothicCoding" . "iso10646-1"))
; (set-fontset-font "fontset-default" '(#xe0bc . #xf66e) '("NanumGothicCoding" . "iso10646-1"))
(set-fontset-font "fontset-default" 'kana '("Hiragino Kaku Gothic Pro" . "iso10646-1"))
(set-fontset-font "fontset-default" 'japanese-jisx0208 '("Hiragino Kaku Gothic Pro" . "iso10646-1"))
(set-fontset-font "fontset-default" 'katakana-jisx0201 '("Hiragino Kaku Gothic Pro" . "iso10646-1"))
(set-fontset-font "fontset-default" 'han '("Microsoft YaHei". "unicode-bmp"))
(set-fontset-font (frame-parameter nil 'font) 'cjk-misc '("Microsoft YaHei" . "unicode-bmp"))
(set-fontset-font (frame-parameter nil 'font) 'bopomofo '("Microsoft YaHei" . "unicode-bmp"))
(set-fontset-font "fontset-default" 'gb18030 '("Microsoft YaHei". "unicode-bmp"))
(set-fontset-font (frame-parameter nil 'font) 'symbol '("Microsoft YaHei". "unicode-bmp"))
(set-fontset-font t 'han (font-spec :family "Microsoft Yahei" :size 16))
(setq face-font-rescale-alist '(("Microsoft Yahei" . 1.6) ("WenQuanYi Zen Hei" . 1.6)))
)
;(my-font-big)
;(my-font-middle)
;; M-x list-fonts
Friday, October 28, 2016
Upgrade Ubuntu Desktop/Server from 16.04 (Xenial Xerus) to 16.10 (Yakkety Yak)
http://www.ubuntugeek.com/upgrade-ubuntu-desktopserver-from-16-04-xenial-xerus-to-16-10-yakkety-yak.html (Posted on October 24, 2016 by ruchi)
Open the "Software & Updates" Setting in System Settings.
Select the 3rd Tab called "Updates".
Set the "Notify me of a new Ubuntu version" dropdown menu to "For any new version".
Press Alt+F2 and type in "update-manager" (without the quotes) into the command box.
Update Manager should open up and tell you: New distribution release ‘16.10' is available.
If not you can also use "/usr/lib/ubuntu-release-upgrader/check-new-release-gtk"
Click Upgrade and follow the on-screen instructions.
Install the update-manager-core package if it is not already installed.
Make sure the Prompt line in /etc/update-manager/release-upgrades is set to normal.
Launch the upgrade tool with the command sudo do-release-upgrade.
Follow the on-screen instructions.
--
--> emacs
if you got emacs error with libpng12.so.0
: emacs: error while loading shared libraries: libpng12.so.0: cannot open shared
: object file: No such file or directory
- if error or not registered
sudo apt-get install libpng12-0
: E: Package 'libpng12-0' has no installation candidate
- download and manually install
https://launchpad.net/ubuntu/yakkety/amd64/libpng12-0/1.2.54-1ubuntu1
amd64 build of libpng 1.2.54-1ubuntu1 in ubuntu xenial PROPOSED produced these files:
libpng12-0_1.2.54-1ubuntu1_amd64.deb (113.7 KiB)
sudo dpkg -i libpng12-0_1.2.54-1ubuntu1_amd64.deb
Open the "Software & Updates" Setting in System Settings.
Select the 3rd Tab called "Updates".
Set the "Notify me of a new Ubuntu version" dropdown menu to "For any new version".
Press Alt+F2 and type in "update-manager" (without the quotes) into the command box.
Update Manager should open up and tell you: New distribution release ‘16.10' is available.
If not you can also use "/usr/lib/ubuntu-release-upgrader/check-new-release-gtk"
Click Upgrade and follow the on-screen instructions.
Install the update-manager-core package if it is not already installed.
Make sure the Prompt line in /etc/update-manager/release-upgrades is set to normal.
Launch the upgrade tool with the command sudo do-release-upgrade.
Follow the on-screen instructions.
--
--> emacs
if you got emacs error with libpng12.so.0
: emacs: error while loading shared libraries: libpng12.so.0: cannot open shared
: object file: No such file or directory
- if error or not registered
sudo apt-get install libpng12-0
: E: Package 'libpng12-0' has no installation candidate
- download and manually install
https://launchpad.net/ubuntu/yakkety/amd64/libpng12-0/1.2.54-1ubuntu1
amd64 build of libpng 1.2.54-1ubuntu1 in ubuntu xenial PROPOSED produced these files:
libpng12-0_1.2.54-1ubuntu1_amd64.deb (113.7 KiB)
sudo dpkg -i libpng12-0_1.2.54-1ubuntu1_amd64.deb
Monday, August 08, 2016
mysql 에서 인코딩 및 migration 때 고려사항
How to successfully migration mysql v.3x to v.5.x
mysql 에서 글자셋은 3~4가지 영역에서 영향을 줄 수 있는데요,
1. mysql DB service daemon 시작때 옵션으로 지정해 '전체 서비스 영역'으로 강제하는 방법
(직접 소스 컴파일 설치했을 경우 character set 이 불분명한 경우도 있음)
: daemon, log, service check, --with option, configure ..
2. mysql.cnf 혹은 my.cnf 에서 'daemon 영역', 'client 영역'에서 charset,
init_connect=set 으로 collation 지정하는 방법,
: check System configuration file
3. db 와 table 에서 생성시 지정하는 방법(관리자, 사용자지정) 이 있습니다.
: show variables like 'c%';
: ...
4. 글자셋과 관련해 Service 와 Client가 자동설정 (예를들면 auto handshake) 하거나
혹은 하지못하게 강제하는 방법이 있는데, 이는 연결 클라이언트에세 초기 연결시
SET collation, SET NAMES 같은 방법으로 지정하고 이후 작업을 수행하는
상황입니다.
: php, asp, c, find & grep with 'SET keyword'
문제는, mysql v.3x -> v5.x 로 가면서 3가지 영역에서 많은 부분이 add & depricate
됐고, 각각의 사용자 DB/Table 또한 생성때 개별 설정이 가능하기 때문에 다중사용자
환경에서 일치하지 않는-깨지는 현상은 당연한 상황입니다.
굳이 분리한다면, 1은 Engineer, 2는 Admin, 3은 User, 4는 Programmer 에서 영역에
분산된 것으로, 각각에서 charset 관련된 걸 나열하고 해당 mysql 버전과 호환이
되는지 확인하면 됩니다.
이후에, backup & restore dump 때 호환이 가능하도록 글자셋 변경을 지정하여
수행하면 되고, 만약 두 버전간 dump된 파일에서 변환을 수행할 수 없다면, iconv
같은 변경을 해줘야 합니다. 또한 일부 애플리케이션에서는 글자셋을 수동으로
지정한 경우가 많은데, 이럴 경우 해당 프로그램 또한 검토해야 합니다.
사족으로 말씀드리면, mysql 에서 Enterprise Edition 영역을 둬서, 소스보다는
'서비스 영역'으로 Enterprise 환경에서 System Integration 을 따로 지원케
했는데요, 이런 추세에 영향을 받아 Postgres 에서 v8,v9에서 Enterprise 를
도입했죠. 흔히 말하는 '적정기술수준'에서 mysql 이 postgresql 를 각성시킨게 아마
이부분일 겁니다.
mysql 에서 글자셋은 3~4가지 영역에서 영향을 줄 수 있는데요,
1. mysql DB service daemon 시작때 옵션으로 지정해 '전체 서비스 영역'으로 강제하는 방법
(직접 소스 컴파일 설치했을 경우 character set 이 불분명한 경우도 있음)
: daemon, log, service check, --with option, configure ..
2. mysql.cnf 혹은 my.cnf 에서 'daemon 영역', 'client 영역'에서 charset,
init_connect=set 으로 collation 지정하는 방법,
: check System configuration file
3. db 와 table 에서 생성시 지정하는 방법(관리자, 사용자지정) 이 있습니다.
: show variables like 'c%';
: ...
4. 글자셋과 관련해 Service 와 Client가 자동설정 (예를들면 auto handshake) 하거나
혹은 하지못하게 강제하는 방법이 있는데, 이는 연결 클라이언트에세 초기 연결시
SET collation, SET NAMES 같은 방법으로 지정하고 이후 작업을 수행하는
상황입니다.
: php, asp, c, find & grep with 'SET keyword'
문제는, mysql v.3x -> v5.x 로 가면서 3가지 영역에서 많은 부분이 add & depricate
됐고, 각각의 사용자 DB/Table 또한 생성때 개별 설정이 가능하기 때문에 다중사용자
환경에서 일치하지 않는-깨지는 현상은 당연한 상황입니다.
굳이 분리한다면, 1은 Engineer, 2는 Admin, 3은 User, 4는 Programmer 에서 영역에
분산된 것으로, 각각에서 charset 관련된 걸 나열하고 해당 mysql 버전과 호환이
되는지 확인하면 됩니다.
이후에, backup & restore dump 때 호환이 가능하도록 글자셋 변경을 지정하여
수행하면 되고, 만약 두 버전간 dump된 파일에서 변환을 수행할 수 없다면, iconv
같은 변경을 해줘야 합니다. 또한 일부 애플리케이션에서는 글자셋을 수동으로
지정한 경우가 많은데, 이럴 경우 해당 프로그램 또한 검토해야 합니다.
사족으로 말씀드리면, mysql 에서 Enterprise Edition 영역을 둬서, 소스보다는
'서비스 영역'으로 Enterprise 환경에서 System Integration 을 따로 지원케
했는데요, 이런 추세에 영향을 받아 Postgres 에서 v8,v9에서 Enterprise 를
도입했죠. 흔히 말하는 '적정기술수준'에서 mysql 이 postgresql 를 각성시킨게 아마
이부분일 겁니다.
Oracle XE installation in Windows 10
Windows 10에 오라클 설치 후 정상작동하지만 재부팅 후 혹은 네트워크 설정 변경 후 서비스가 작동하지 않거나 접속이 안되는 경우
- tnsnames.ora 설정을 변경하면, 시스템 레지스터리에 반경하기 위해서는 시스템 권한 상승이 필요하다.
- 하지만, 오라클에서 레지스터리 적용을 위해서는 UAC 가 장동되는 상태에서는 재설정이 반영되지 않으므로 UAC를 껐서 시스템 영역에 적용 후 재작동을 확인하고 다시 UAC를 다시 켜야한다.
--
A few days ago some of my former colleague installed Oracle XE on windows 10 which is brand new computer. A few days later he installed and setup every thing but Oracle XE service wan't running.
He changed computer name and network interface ip which is not the reason for failed startup service he presume. And I thonght he is right but we didn't installed it before Windows 10. So, we changed tnsnames.org, System Environment of OS,
Then, we turned of UAC which is blocking us from changing windows hosts file.
After boot service and sqlexploer is successfully connect!
- tnsnames.ora 설정을 변경하면, 시스템 레지스터리에 반경하기 위해서는 시스템 권한 상승이 필요하다.
- 하지만, 오라클에서 레지스터리 적용을 위해서는 UAC 가 장동되는 상태에서는 재설정이 반영되지 않으므로 UAC를 껐서 시스템 영역에 적용 후 재작동을 확인하고 다시 UAC를 다시 켜야한다.
--
A few days ago some of my former colleague installed Oracle XE on windows 10 which is brand new computer. A few days later he installed and setup every thing but Oracle XE service wan't running.
He changed computer name and network interface ip which is not the reason for failed startup service he presume. And I thonght he is right but we didn't installed it before Windows 10. So, we changed tnsnames.org, System Environment of OS,
Then, we turned of UAC which is blocking us from changing windows hosts file.
After boot service and sqlexploer is successfully connect!
Monday, May 30, 2016
BrowserAddonsView v1.05 - Web browser addons/plugins
http://nirsoft.net/utils/web_browser_addons_view.html
BrowserAddonsView v1.05 - Web browser addons/plugins
BrowserAddonsView v1.05 - Web browser addons/plugins
Monday, May 23, 2016
emacs client for Mail - mu4e
;;;; Google mail 을 사용하기 위해서는 google 에서 [보안이 약한 기기에서 접속 허용]을 승인해 줘야만 접속할 수 있다.
;;;; all set then --> M-x mu4e
;;;; ----------------------------------------------------------------------
;;;; src: https://github.com/djcb/mu
;;;; ----------------------------------------------------------------------
;;;; ref. mu4e - http://qdot.github.io/conf_emacs/
;(require 'mu4e-vars)
;
;(when linux-p
; (setq mu4e-mu-binary "/home/qdot/usr/bin/mu"))
;
;(when macosx-p
; (setq mu4e-mu-binary "/opt/homebrew/bin/mu"))
;
;(setq mu4e-maildir "~/Mail") ;; top-level Maildir
;(setq mu4e-html2text-command "w3m -dump -T text/html")
;(setq mu4e-view-prefer-html t)
;(setq mu4e-use-fancy-chars t)
;(setq mu4e-get-mail-command "offlineimap")
;(setq mu4e-update-interval 300)
;(setq mu4e-attachment-dir "~/Downloads")
;
;(when (fboundp 'imagemagick-register-types)
; (imagemagick-register-types))
;(setq mu4e-view-show-images t)
;(setq mu4e-view-show-addresses t)
;;;; ----------------------------------------------------------------------
;;;; config. http://www.djcbsoftware.nl/code/mu/mu4e/Gmail-configuration.html#Gmail-configuration
(require 'mu4e)
;; default
;; (setq mu4e-maildir "~/Maildir")
(setq mu4e-drafts-folder "/[Gmail].Drafts")
(setq mu4e-sent-folder "/[Gmail].Sent Mail")
(setq mu4e-trash-folder "/[Gmail].Trash")
;; don't save message to Sent Messages, Gmail/IMAP takes care of this
(setq mu4e-sent-messages-behavior 'delete)
;; (See the documentation for `mu4e-sent-messages-behavior' if you have
;; additional non-Gmail addresses and want assign them different
;; behavior.)
;; setup some handy shortcuts
;; you can quickly switch to your Inbox -- press ``ji''
;; then, when you want archive some messages, move them to
;; the 'All Mail' folder by pressing ``ma''.
(setq mu4e-maildir-shortcuts
'( ("/INBOX" . ?i)
("/[Gmail].Sent Mail" . ?s)
("/[Gmail].Trash" . ?t)
("/[Gmail].All Mail" . ?a)))
;; allow for updating mail using 'U' in the main view:
(setq mu4e-get-mail-command "offlineimap")
;; something about ourselves -- change this
(setq
user-mail-address "google_Accoiunt@gmail.com"
user-full-name "Yongsu Guo"
mu4e-compose-signature
(concat
"Alex Bender\n"
"http://youngsu.blogspot.kr\n"))
;; sending mail -- replace USERNAME with your gmail username
;; also, make sure the gnutls command line utils are installed
;; package 'gnutls-bin' in Debian/Ubuntu
(require 'smtpmail)
(setq message-send-mail-function 'smtpmail-send-it
starttls-use-gnutls t
smtpmail-starttls-credentials '(("smtp.gmail.com" 587 nil nil))
smtpmail-auth-credentials
'(("smtp.gmail.com" 587 "alex.bender@gmail.com" nil))
smtpmail-default-smtp-server "smtp.gmail.com"
smtpmail-smtp-server "smtp.gmail.com"
smtpmail-smtp-service 587)
;; alternatively, for emacs-24 you can use:
;;(setq message-send-mail-function 'smtpmail-send-it
;; smtpmail-stream-type 'starttls
;; smtpmail-default-smtp-server "smtp.gmail.com"
;; smtpmail-smtp-server "smtp.gmail.com"
;; smtpmail-smtp-service 587)
;; don't keep message buffers around
(setq message-kill-buffer-on-exit t)
;;;; all set then --> M-x mu4e
;;;; ----------------------------------------------------------------------
;;;; src: https://github.com/djcb/mu
;;;; ----------------------------------------------------------------------
;;;; ref. mu4e - http://qdot.github.io/conf_emacs/
;(require 'mu4e-vars)
;
;(when linux-p
; (setq mu4e-mu-binary "/home/qdot/usr/bin/mu"))
;
;(when macosx-p
; (setq mu4e-mu-binary "/opt/homebrew/bin/mu"))
;
;(setq mu4e-maildir "~/Mail") ;; top-level Maildir
;(setq mu4e-html2text-command "w3m -dump -T text/html")
;(setq mu4e-view-prefer-html t)
;(setq mu4e-use-fancy-chars t)
;(setq mu4e-get-mail-command "offlineimap")
;(setq mu4e-update-interval 300)
;(setq mu4e-attachment-dir "~/Downloads")
;
;(when (fboundp 'imagemagick-register-types)
; (imagemagick-register-types))
;(setq mu4e-view-show-images t)
;(setq mu4e-view-show-addresses t)
;;;; ----------------------------------------------------------------------
;;;; config. http://www.djcbsoftware.nl/code/mu/mu4e/Gmail-configuration.html#Gmail-configuration
(require 'mu4e)
;; default
;; (setq mu4e-maildir "~/Maildir")
(setq mu4e-drafts-folder "/[Gmail].Drafts")
(setq mu4e-sent-folder "/[Gmail].Sent Mail")
(setq mu4e-trash-folder "/[Gmail].Trash")
;; don't save message to Sent Messages, Gmail/IMAP takes care of this
(setq mu4e-sent-messages-behavior 'delete)
;; (See the documentation for `mu4e-sent-messages-behavior' if you have
;; additional non-Gmail addresses and want assign them different
;; behavior.)
;; setup some handy shortcuts
;; you can quickly switch to your Inbox -- press ``ji''
;; then, when you want archive some messages, move them to
;; the 'All Mail' folder by pressing ``ma''.
(setq mu4e-maildir-shortcuts
'( ("/INBOX" . ?i)
("/[Gmail].Sent Mail" . ?s)
("/[Gmail].Trash" . ?t)
("/[Gmail].All Mail" . ?a)))
;; allow for updating mail using 'U' in the main view:
(setq mu4e-get-mail-command "offlineimap")
;; something about ourselves -- change this
(setq
user-mail-address "google_Accoiunt@gmail.com"
user-full-name "Yongsu Guo"
mu4e-compose-signature
(concat
"Alex Bender\n"
"http://youngsu.blogspot.kr\n"))
;; sending mail -- replace USERNAME with your gmail username
;; also, make sure the gnutls command line utils are installed
;; package 'gnutls-bin' in Debian/Ubuntu
(require 'smtpmail)
(setq message-send-mail-function 'smtpmail-send-it
starttls-use-gnutls t
smtpmail-starttls-credentials '(("smtp.gmail.com" 587 nil nil))
smtpmail-auth-credentials
'(("smtp.gmail.com" 587 "alex.bender@gmail.com" nil))
smtpmail-default-smtp-server "smtp.gmail.com"
smtpmail-smtp-server "smtp.gmail.com"
smtpmail-smtp-service 587)
;; alternatively, for emacs-24 you can use:
;;(setq message-send-mail-function 'smtpmail-send-it
;; smtpmail-stream-type 'starttls
;; smtpmail-default-smtp-server "smtp.gmail.com"
;; smtpmail-smtp-server "smtp.gmail.com"
;; smtpmail-smtp-service 587)
;; don't keep message buffers around
(setq message-kill-buffer-on-exit t)
fcitx language, xim setting, Gnome Key change
* fcitx language, xim setting, Gnome Key change
----> Fxitx input 설정
1. 시스템 설정 > 언어지원 > 한국어, 중국어(간체) (, 러시아어, 일본어) 추가
2. 시스템 기본 언설 설정을 "English" 로 둔다. 혹은 "한국어"로 바꾼다.
영어를 맨위로 사용할 경우 시스템 메뉴는 영어를 사용하게 된다. 단, 재부팅 후 적용된다.
3. 시스템 설정 > 하드웨어 > 키보드 로 이동한다.
[바로가기] - [자판입력] 에서 입력소스 --> [텍스트 입력창] 으로 간다.
여기에서, [+] 키를 선택해서
[한국어] / [Pinyin(Fcitx)] / [Hangul(Fcitx)] 를 추가한다.
4. 기본설정 변경 --> [한국어]
[다음 입력 소스로 전환 전경] -> Alt + Space (한/중/영 세 언어간 이동을 말하는 키)
: [이전 입력 소스로 전환] -> [사용하지 않는다] 혹은 [Shift + Alt + Space] 로 바꾼다.
[[file:img/key_fcitx_v1.png]]
기본설정 변경 --> [Pinyin(Fcitx)] (위에서 [한국어] 를 선택하고 해도 된다)
alt-space 는 emacs 키와 겹치므로 기존에 키가 지정된 것을 지운다.
: keyboard > global setting > window > window active > disable alt-space
: 키보드 > 전역설정 > 윈도우즈 > disable alt-space
: alt-space is Set Mark Command
: It is bound to <C-kanji>, C-SPC, M-SPC.
: (cua-set-mark &optional ARG)
5. fcitx 설정 -> [입력기 설정] - [전역설정] - [입력기 전환]
-> ConfigureFcitx --> [Global Config] 혹은 [전역설정] 항목
(1) 입력기 전환 (Trigger Input Method) => Hangul - Shift+Space 가 되도록 한다.
(2) Extra key for trigger input method 를 선택하고 Ctrl+Shift 를 선택하도록 한다.
(3) 입력기 사이의 스크롤은 Ctrl+Shift 가 되도록 한다.
[[file:img/key_fcitx_v0.png]]
6. 키 사용방법:
> Alt+Space --> [영문 -> 중국어 -> 한국어] 3 개를 차례로 전환한다.
> L_Shift = (Ctrl+Shift) --> 한-영 toggle, 중-영 toggle (단, 현재 입력기가 중국어나 한국어일때만 작동)
> Shift+Space --> 한-영 toggle 이며, 중-영 toggle
Shift --> 위 Shift+Space 키와 동일.
※ 위에서 설정이 안 될 경우, ~/.config/fcitx , ~/.config/fcitx-qimpanel 백업을 복구한 다음에 사용.
테스트 하기 전 rebooting 할 것, rebooting 후 fcitx 가 서비스가 완전히 올라온 다음에 테스트 할 것 (- not necessary but sometimes it resolve some errors)
7. backup & restore
cd ~/.config
tar cvf fcitx_dist.tar fcitx
tar cvf fcitx-qimpanel_dist.tar fcitx-qimpanel/
* Hud , search box
> turn off search box ; file, web, <-- use other tool (see below sections)
(Unity Tweak Tool 섹션 참조)
> turn off the search box that appears when I press Alt or Hangul Key
; System Settings --> Keyboard --> Short-cuts. --> 실행아이콘
--> [허드를 표시할 키] --> "한/영키 + Backslash" 로 변경
--> [검색] --> "Alt+백스페이스" 로 변경
> system config > keyboard > 바로가기 > 실행아이콘 > 검색 (백스페이스 - 사용안함) , 허드를 표시할 키 (백스페이스 - 사용안함)
----> Fxitx input 설정
1. 시스템 설정 > 언어지원 > 한국어, 중국어(간체) (, 러시아어, 일본어) 추가
2. 시스템 기본 언설 설정을 "English" 로 둔다. 혹은 "한국어"로 바꾼다.
영어를 맨위로 사용할 경우 시스템 메뉴는 영어를 사용하게 된다. 단, 재부팅 후 적용된다.
3. 시스템 설정 > 하드웨어 > 키보드 로 이동한다.
[바로가기] - [자판입력] 에서 입력소스 --> [텍스트 입력창] 으로 간다.
여기에서, [+] 키를 선택해서
[한국어] / [Pinyin(Fcitx)] / [Hangul(Fcitx)] 를 추가한다.
4. 기본설정 변경 --> [한국어]
[다음 입력 소스로 전환 전경] -> Alt + Space (한/중/영 세 언어간 이동을 말하는 키)
: [이전 입력 소스로 전환] -> [사용하지 않는다] 혹은 [Shift + Alt + Space] 로 바꾼다.
[[file:img/key_fcitx_v1.png]]
기본설정 변경 --> [Pinyin(Fcitx)] (위에서 [한국어] 를 선택하고 해도 된다)
alt-space 는 emacs 키와 겹치므로 기존에 키가 지정된 것을 지운다.
: keyboard > global setting > window > window active > disable alt-space
: 키보드 > 전역설정 > 윈도우즈 > disable alt-space
: alt-space is Set Mark Command
: It is bound to <C-kanji>, C-SPC, M-SPC.
: (cua-set-mark &optional ARG)
5. fcitx 설정 -> [입력기 설정] - [전역설정] - [입력기 전환]
-> ConfigureFcitx --> [Global Config] 혹은 [전역설정] 항목
(1) 입력기 전환 (Trigger Input Method) => Hangul - Shift+Space 가 되도록 한다.
(2) Extra key for trigger input method 를 선택하고 Ctrl+Shift 를 선택하도록 한다.
(3) 입력기 사이의 스크롤은 Ctrl+Shift 가 되도록 한다.
[[file:img/key_fcitx_v0.png]]
6. 키 사용방법:
> Alt+Space --> [영문 -> 중국어 -> 한국어] 3 개를 차례로 전환한다.
> L_Shift = (Ctrl+Shift) --> 한-영 toggle, 중-영 toggle (단, 현재 입력기가 중국어나 한국어일때만 작동)
> Shift+Space --> 한-영 toggle 이며, 중-영 toggle
Shift --> 위 Shift+Space 키와 동일.
※ 위에서 설정이 안 될 경우, ~/.config/fcitx , ~/.config/fcitx-qimpanel 백업을 복구한 다음에 사용.
테스트 하기 전 rebooting 할 것, rebooting 후 fcitx 가 서비스가 완전히 올라온 다음에 테스트 할 것 (- not necessary but sometimes it resolve some errors)
7. backup & restore
cd ~/.config
tar cvf fcitx_dist.tar fcitx
tar cvf fcitx-qimpanel_dist.tar fcitx-qimpanel/
* Hud , search box
> turn off search box ; file, web, <-- use other tool (see below sections)
(Unity Tweak Tool 섹션 참조)
> turn off the search box that appears when I press Alt or Hangul Key
; System Settings --> Keyboard --> Short-cuts. --> 실행아이콘
--> [허드를 표시할 키] --> "한/영키 + Backslash" 로 변경
--> [검색] --> "Alt+백스페이스" 로 변경
> system config > keyboard > 바로가기 > 실행아이콘 > 검색 (백스페이스 - 사용안함) , 허드를 표시할 키 (백스페이스 - 사용안함)
Tuesday, May 17, 2016
Choosing the right Linux File System Layout using a Top-Bottom Process
Choosing the right Linux File System Layout using a Top-Bottom Process
July 31, 2009
By Pierre Vignéras
More stories by this author:
https://linuxconfig.org/choosing-the-right-linux-file-system-layout-using-a-top-bottom-process
Monday, May 16, 2016
postgres - pgmodeler installation in ubuntu with source compile
* postgres - pgmodelear
** new version
> download: https://github.com/pgmodeler/pgmodeler
sudo apt-get install qt-sdk
sudo apt-get install qttools5-dev
sudo apt-get install libpq-dev
sudo apt-get install libxml2-dev
> compile
: sudo apt-get install qt4-qmake <-- actuall qt50qmake use
sudo apt-get install gcc-4.7
sudo apt-get install libqt4-dev
sudo apt-get install xml2
sudo apt-get install libpq5
sudo apt-get install libqp-dev
sudo apt-get install libpq-dev
sudo apt-get install pkg-config
unzip pgmodeler-develop.zip
cd pgmodeler-develop/
qmake -qt=5 pgmodeler.pro
make
make install
sudo make install
No declaration for attribute connect_timeout of element connection sslmode="disable" auto-browse-db="false"/>
> https://github.com/pgmodeler/pgmodeler/issues/829
$ diff -u /usr/local/share/pgmodeler/conf/defaults/connections.conf /usr/local/share/pgmodeler/conf/connections.conf
#+begin_src
--- /usr/local/share/pgmodeler/conf/defaults/connections.conf 2016-04-17 17:02:45.540901204 -0700
+++ /usr/local/share/pgmodeler/conf/connections.conf 2015-12-30 21:58:24.234252027 -0800
@@ -4,7 +4,7 @@
Unexpected results may occur if the code is changed deliberately.
-->
<connections>
- <connection alias="local-db" host="localhost" port="5432" dbname="postgres"
- user="postgres" password="postgres" connection-timeout="2"
+ <connection alias="local-db" host="localhost" port="5432" dbname="postgres"
+ user="postgres" password="postgres" connect_timeout="2"
sslmode="disable" auto-browse-db="false"/>
</connections>
#+end_src
> https://github.com/pgmodeler/pgmodeler/issues/823
-- vi ~/.config/pgmodeler/connections.conf
#+begin_src
<?xml version="1.0" encoding="UTF-8" ?>
<!--
CAUTION: Do not modify this file directly on it's code unless you know what you are doing.
Unexpected results may occur if the code is changed deliberately.
<connections>
<connection alias="local-db" host="localhost" port="5432" dbname="postgres"
user="postgres" password="postgres" connect_timeout="2"
sslmode="disable" auto-browse-db="false"/>
</connections>
-->
<connections>
<connection alias="local-db" host="localhost" port="5432" dbname="postgres"
user="postgres" password="postgres" connection-timeout="2"
sslmode="disable" auto-browse-db="false"/>
</connections>
#+end_src
The file connections.conf changed in the new release (0.8.2-beta1) and if you're upgrading an installation on your machine it's probably that you' re using the old version of the mentioned file.
The solution: look for the file connections.conf in your local settings storage.
Linux: /home/[user]/.config/pgmodeler
Windows: C:\User\[user]\AppData\Local\pgmodeler
Mac OS X: /User/[user]/Library/Preferences/br.com.pgmodeler
Open the file in a text editor and replace any occurrence of connect_timeout by connection-timeout. Start the application again and it should stop to raise the errors.
** add program shortcuts to unity launcher in ubuntu
- from: http://ubuntuforums.org/showthread.php?t=1972410
1. create a text file "pgmodeler.desktop"
-- /home/guo/bin/desktop/pgmodeler.desktop
> png available from https://avatars1.githubusercontent.com/u/2207918?v=3&s=400
2. run pgmodeler in terminal then quit
> unitiy launcher icon apper with ? icon
3. change icon or modify
check if ther was created in pgmodeler.desktop
ls -alh ~/.local/share/applications/pgmodeler.desktop
if there is already created file (pgmodeler.desktop) it will like as following.
edit it or create one.
--> from
#+begin_src
[Desktop Entry]
Encoding=UTF-8
Version=1.0
Type=Application
Name=pgModeler - PostgreSQL Database Modeler 0.8.2-beta1
Icon=pgmodeler.png
Path=/usr/local/bin
Exec=pgmodeler
StartupNotify=false
StartupWMClass=pgmodeler
OnlyShowIn=Unity;
X-UnityGenerated=true
#+end_src
--> to
modify as following ~/.local/share/applications/pgmodeler.desktop
#+begin_src
[Desktop Entry]
Name=pgmodeler
Comment=pgmodeler for PostgreSQL
Exec=/usr/local/bin/pgmodeler
TryExec=/usr/local/bin/pgmodeler
Icon=/home/guo/bin/icon/pgmodeler.png
StartupNotify=false
Terminal=false
Type=Application
Categories=Database; Misc
#+end_src
rerun pgmodeler and fix it to the launcher
4. locate file for future restall and backup
sudo updatedb
locate pgmodeler.desktop
~/.gnome/apps/pgmodeler.desktop
~/.local/share/applications/pgmodeler.desktop
~/bin/desktop/pgmodeler.desktop
** new version
> download: https://github.com/pgmodeler/pgmodeler
sudo apt-get install qt-sdk
sudo apt-get install qttools5-dev
sudo apt-get install libpq-dev
sudo apt-get install libxml2-dev
> compile
: sudo apt-get install qt4-qmake <-- actuall qt50qmake use
sudo apt-get install gcc-4.7
sudo apt-get install libqt4-dev
sudo apt-get install xml2
sudo apt-get install libpq5
sudo apt-get install libqp-dev
sudo apt-get install libpq-dev
sudo apt-get install pkg-config
unzip pgmodeler-develop.zip
cd pgmodeler-develop/
qmake -qt=5 pgmodeler.pro
make
make install
sudo make install
No declaration for attribute connect_timeout of element connection sslmode="disable" auto-browse-db="false"/>
> https://github.com/pgmodeler/pgmodeler/issues/829
$ diff -u /usr/local/share/pgmodeler/conf/defaults/connections.conf /usr/local/share/pgmodeler/conf/connections.conf
#+begin_src
--- /usr/local/share/pgmodeler/conf/defaults/connections.conf 2016-04-17 17:02:45.540901204 -0700
+++ /usr/local/share/pgmodeler/conf/connections.conf 2015-12-30 21:58:24.234252027 -0800
@@ -4,7 +4,7 @@
Unexpected results may occur if the code is changed deliberately.
-->
<connections>
- <connection alias="local-db" host="localhost" port="5432" dbname="postgres"
- user="postgres" password="postgres" connection-timeout="2"
+ <connection alias="local-db" host="localhost" port="5432" dbname="postgres"
+ user="postgres" password="postgres" connect_timeout="2"
sslmode="disable" auto-browse-db="false"/>
</connections>
#+end_src
> https://github.com/pgmodeler/pgmodeler/issues/823
-- vi ~/.config/pgmodeler/connections.conf
#+begin_src
<?xml version="1.0" encoding="UTF-8" ?>
<!--
CAUTION: Do not modify this file directly on it's code unless you know what you are doing.
Unexpected results may occur if the code is changed deliberately.
<connections>
<connection alias="local-db" host="localhost" port="5432" dbname="postgres"
user="postgres" password="postgres" connect_timeout="2"
sslmode="disable" auto-browse-db="false"/>
</connections>
-->
<connections>
<connection alias="local-db" host="localhost" port="5432" dbname="postgres"
user="postgres" password="postgres" connection-timeout="2"
sslmode="disable" auto-browse-db="false"/>
</connections>
#+end_src
The file connections.conf changed in the new release (0.8.2-beta1) and if you're upgrading an installation on your machine it's probably that you' re using the old version of the mentioned file.
The solution: look for the file connections.conf in your local settings storage.
Linux: /home/[user]/.config/pgmodeler
Windows: C:\User\[user]\AppData\Local\pgmodeler
Mac OS X: /User/[user]/Library/Preferences/br.com.pgmodeler
Open the file in a text editor and replace any occurrence of connect_timeout by connection-timeout. Start the application again and it should stop to raise the errors.
** add program shortcuts to unity launcher in ubuntu
- from: http://ubuntuforums.org/showthread.php?t=1972410
1. create a text file "pgmodeler.desktop"
-- /home/guo/bin/desktop/pgmodeler.desktop
> png available from https://avatars1.githubusercontent.com/u/2207918?v=3&s=400
2. run pgmodeler in terminal then quit
> unitiy launcher icon apper with ? icon
3. change icon or modify
check if ther was created in pgmodeler.desktop
ls -alh ~/.local/share/applications/pgmodeler.desktop
if there is already created file (pgmodeler.desktop) it will like as following.
edit it or create one.
--> from
#+begin_src
[Desktop Entry]
Encoding=UTF-8
Version=1.0
Type=Application
Name=pgModeler - PostgreSQL Database Modeler 0.8.2-beta1
Icon=pgmodeler.png
Path=/usr/local/bin
Exec=pgmodeler
StartupNotify=false
StartupWMClass=pgmodeler
OnlyShowIn=Unity;
X-UnityGenerated=true
#+end_src
--> to
modify as following ~/.local/share/applications/pgmodeler.desktop
#+begin_src
[Desktop Entry]
Name=pgmodeler
Comment=pgmodeler for PostgreSQL
Exec=/usr/local/bin/pgmodeler
TryExec=/usr/local/bin/pgmodeler
Icon=/home/guo/bin/icon/pgmodeler.png
StartupNotify=false
Terminal=false
Type=Application
Categories=Database; Misc
#+end_src
rerun pgmodeler and fix it to the launcher
4. locate file for future restall and backup
sudo updatedb
locate pgmodeler.desktop
~/.gnome/apps/pgmodeler.desktop
~/.local/share/applications/pgmodeler.desktop
~/bin/desktop/pgmodeler.desktop
Sunday, May 08, 2016
[조세도피처의 한국인들 2016]54명 명단 공개(1) 진로, 대우, YBM, 보루네오
http://newstapa.org/33226
[조세도피처의 한국인들 2016]54명 명단 공개(2) IT 업계, 수퍼개미, 박물관장과 목사까지..
http://newstapa.org/33202
Saturday, April 09, 2016
mono - csharp in linux - ubuntu linux version
* mono
** mono-gmcs
sudo apt-get install mono-gmcs
which gmcs
: /usr/bin/gmcs
** mono-develop
http://www.mono-project.com/
For a nice IDE to work in try monodevelop
sudo apt-get install mono-complete
sudo apt-get install mono-devel
sudo apt-get install monodevelop
or -> sudo apt-get install mono-devel mono-complete monodevelop
** mono-gmcs
sudo apt-get install mono-gmcs
which gmcs
: /usr/bin/gmcs
** mono-develop
http://www.mono-project.com/
For a nice IDE to work in try monodevelop
sudo apt-get install mono-complete
sudo apt-get install mono-devel
sudo apt-get install monodevelop
or -> sudo apt-get install mono-devel mono-complete monodevelop
edit/create new launcher items in Unity by hand?
from: http://askubuntu.com/questions/13758/how-can-i-edit-create-new-launcher-items-in-unity-by-hand
Updated: 2015-Dec
For Ubuntu 15.10 or 14.04 LTS (11.10 or later, with Unity (3D))
NOTE: This can replace the function of an existing icon, or (once created) can be searched for (from Dash icon) to add to current button-bar.
First make your OWN copy of any of the .desktop files you want to modify. It is MUCH safer, and then you can always delete and start over.
(list all files)
ls /usr/share/applications/*.desktop
Example: Mozilla Firefox, firefox.desktop
(do this once, or after deleting any failed attempt)
cp /usr/share/applications/firefox.desktop ~/.local/share/applications
Then carefully change any wording, or add additional options.
(edit the file)
gedit ~/.local/share/applications/firefox.desktop &
Note: The ampersand '&' releases the command line immediately.
--
For 11.04 and earlier:
Unity does support custom launchers from .desktop files. To create custom launcher from a .desktop file you need to create a *.desktop file for your program.
gedit ~/.local/share/applications/name.desktop
--
monodevelop startup with error message
Could not save solution: /usr/lib/monodevelop/bin/MonoDevelop.sln.
example
** fix ubuntu launcher icon in Unity
Q. How can I edit/create new launcher items in Unity by hand?
A. from -- to ++ modify
-- ~/.local/share/applications
#+TITLE: monodevelop.desktop
#+begin_src
[Desktop Entry]
Encoding=UTF-8
Version=1.0
Type=Application
Name=MonoDevelop
Icon=monodevelop
Path=/data/qesdes/tmp
Exec=monodevelop /usr/lib/monodevelop/bin/MonoDevelop.exe <---- change this
StartupNotify=false
StartupWMClass=MonoDevelop
OnlyShowIn=Unity;
X-UnityGenerated=true
Comment=
Terminal=false
#+end_src
++ ~/.local/share/applications
#+begin_src
[Desktop Entry]
Encoding=UTF-8
Version=1.0
Type=Application
Name=MonoDevelop
Icon=monodevelop
Path=/data/qesdes/tmp
Exec=monodevelop %F
StartupNotify=false
StartupWMClass=MonoDevelop
OnlyShowIn=Unity;
X-UnityGenerated=true
Comment=
Terminal=false
#+end_src
Subscribe to:
Posts (Atom)
-
--> from: http://www.howardism.org/Technical/Emacs/literate-programming-tutorial.html Introduction to Literate Programming ...
-
유럽 연합 법규는 유럽 연합 방문자에게 블로그에 사용되는 쿠키에 대한 정보를 제공하도록 규제하고 있습니다. 또한 대부분의 경우 이러한 법규는 사용자의 동의를 얻도록 요구합니다. 이 규제를 준수할 수 있도록 Google은 귀하의 블로그에 Google이 ...
-
(require 'scala-mode-auto) (require 'ensime) #+RESULTS: (add-to-list 'auto-mode-alist '("\\.sc$" . scala-mode))...




