New Mercurial repository format (dotencode).

dotencode is a new repository format for Mercurial that which enhances the fncache repository format.

Previously I wrote about introducing of fncache repository format and problems that occur on old Debian installation.

Story like to be repeated. Debian squeeze use version 1.6.4, while last Cygwin distro come with 1.9.2. So Mercurial repos do not be readable from USB stick on Debian if they created under last Cygwin distro without special magic...


Erdős number.

Here news about Nobel Prize winner in phisics who wrote article in co-author with his pet hamster, Tisha.

Interesting thing discussed in comment to this post. About Erdős number.


Determining running environment and platform capabilities in Emacs.

To proper work on different Emacs releases and on different platforms large/complex .emacs config file must check certain condition.

I collect come of them and by this post make it public.


Top 10 Secure Coding Practices from CERT.

  1. Validate input.
  2. Heed compiler warnings.
  3. Architect and design for security policies.
  4. Keep it simple.
  5. Default deny.
  6. Adhere to the principle of least privilege.
  7. Sanitize data sent to other systems.
  8. Practice defense in depth.
  9. Use effective quality assurance techniques.
  10. Adopt a secure coding standard.
You can read more at CERT site.

CERT, the home of the well-known CERT(R) Coordination Center, is located at Carnegie Mellon University's Software Engineering Institute. They study internet security vulnerabilities, research long-term changes in networked systems, and develop information and training to help you improve security.


Sort with uniq comma separated items with POSIX utils.

Suppose you have string:
str="item4, item2, item3, item2, ..."
and want alphabetically sort items in shell script.


Travel into WEB past.

Some time you type URL and server respond "404 Not Found". Requested article moved to another place or ever deleted!

Don't panic!

There is exist "Internet Archive" which is a non-profit organization with the stated mission to collect all available human knowledge.


emacs.info under Debian

Because of Debian policy documentation covered by FDL license with invariant sections is not allowed in packets repository tree. So it must be installed manually.

You can set INFOPATH env var in your ~/.profile, but I done this in .emacs in such way:

;; Because of Debian policy documentation covered by FDL license ;; with invariant sections is not allowed in packets ;; repository tree. So it must be installed manually. ;; My usual configuration is install user local software ;; into ~/usr DISTDIR. (unless (getenv "INFOPATH") (setenv "INFOPATH" "~/usr/share/info:"))

This code also useful as manually builded software I configure like this:

$ configure --prefix=$HOME/use
so their info documentation automatically become available in Emacs Info system.


Thanks to John von Neumann for free computer.

Evel genius John von Neumann (he is one of creators of nuclear bomb and the only one who be pride with this, think nice that his bomb kills people at Hiroshima and Nagasaki) make computer world free.

See what say GNU's Bulletin, vol. 1 no. 12:


Price under saihan seido.

"saihanbai kakaku iji seido" or shoter "saihan seido" is a name of system for sale six categories of copyrighted material: CDs, records, cassettes, books, magazines, and newspapers.


GCC no longer use external specs file.

GCC since v4.0 no longer use external specs file.


My blogger settings.

I wrote useful settings for blogger to remember it.

First time I setup new blog on blogger I set these settings:


Sort and uniquify lines in Emacs.

For only sort lines exist built-in func: C-x sort-lines.

Sort and uniquify lines:

  • select region
  • C-u M-| sort -u RET

With transient-mark-mode and delete-selection-mode enabled:

  • select region
  • M-| sort -u RET
to replace selection with sorted and uniquified lines.


New Mercurial repository format (fncache).

fncache is a new repository format for Mercurial that reorganized the revlog data file names. It is introduced in Mercurial version 1.1 and stay default for newly created repository.


Switching from Gnu Emacs 22.x to 23.1 on Windows.

When moving from GNU Emacs 22.x to GNU Emacs 23.1 I get only two trubles.


NTP - sync your time!

What is NTP? NTP is a protocol to synchronizing the clocks on host using publicly available NTP servers. How use? To use you must know NTP server address. Here list some of them:
0.debian.pool.ntp.org 1.debian.pool.ntp.org 2.debian.pool.ntp.org uk.pool.ntp.org ua.pool.ntp.org
Some servers are national. They can be found as ISO 639 code with .pool.ntp.org suffix. Debian. Install ntpdate package:
$ sudo apt-get install ntpdate
and sync date with some NTP server:
$ sudo ntpdate 0.debian.pool.ntp.org

Windows. See http://support.microsoft.com/kb/q216734/ http://support.microsoft.com/kb/q223184/

Parsing numbers in LL(1) grammar.

Grammar for numbers:
NUMS --> NUM NUMS NUMS --> NUM --> 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9
This grammar is belongs in LL(1) grammar type.

Parser for this grammar done in parse.py:


Welcom to Brain Break!

See next posts!