vendredi 26 avril 2013

eye of glass. non-god instant replay, ubiquitous.

If I could, I'd setup servers and write a client/app for Google Glass to stream the last hour of video so people can instant replay anything anytime anywhere.

- no more basic mugging
- no more bullshiting

change of civilisation.

jeudi 25 avril 2013

storing code versus storing logic

in my mind imperative~ languages are full of 'code' variables.
they store encoded knowledge into state variable.
that will then be interpreted by the program.

e.g:

function sort(data, sorting) { case sorting = "num" : ... ; "..." : ... }

other paradigms store logic directly

function sort(data, sorting) { sorting(data[:half]) (+) sorting(data[half:]) }

and.. that's all.

</rant>

dimanche 21 avril 2013

archlinux package maintainer of the year

luser@x60s_GPT ~ (master*) $ date
Mon 22 Apr 00:41:16 CEST 2013
luser@x60s_GPT ~ (master*) $ pacman -Qu
at-spi2-atk 2.6.2-1
at-spi2-core 2.6.3-1
atk 2.6.0-1
clutter 1.12.2-1
clutter-gtk 1.4.2-1
cogl 1.10.4-1
dconf 0.14.1-1
elinks 0.13-11
file-roller 3.6.3-2
fontconfig 2.10.2-1
gconf-editor 3.0.1-1
gdk-pixbuf2 2.26.5-2
glib-networking 2.34.2-1
glib2 2.34.3-1
glibmm 2.34.1-1
gnome-desktop 1:3.6.2-1
gnome-icon-theme 3.6.2-1
gnome-icon-theme-symbolic 3.6.2-1
gnome-screenshot 3.6.1-1
gnome-settings-daemon 3.6.4-2
gnome-themes-standard 3.6.5-1
gnome-tweak-tool 3.6.1-1
gobject-introspection 1.34.2-1
gsettings-desktop-schemas 3.6.1-1
gthumb 3.1.2-1
gtk3 3.6.4-2
gtkmm3 3.6.0-1
gvfs 1.14.2-4
gvfs-afc 1.14.2-4
js 1.8.5-3
libgnome-keyring 3.6.0-2
libpeas 1.6.1-1
librsvg 2.36.4-1
libsecret 0.14-1
libsigc++ 2.2.11-1
libsoup 2.40.3-1
libtracker-sparql 0.14.5-1
nautilus 3.6.3-1
p11-kit 0.13-1
pango 1.32.5-1
perl 5.16.3-2
polkit 0.110-1
pygobject-devel 3.4.2-1
python2-gobject 3.4.2-1
totem-plparser 3.4.3-2
udisks2 2.0.1-1
vala 0.18.1-1
webkitgtk2 1.10.2-3
webkitgtk3 1.10.2-3
zenity 3.6.0-1
luser@x60s_GPT ~ (master*) $ # that's a lot of updates for a single night.

samedi 20 avril 2013

Reduce syntax.

LISP 'syntax' is <nouns> <spaces> <grouping>, everything else is semantic. The traditional layering way since backus is harmful. It forbids access to the metalanguage. ';' is dealt with by the parser then it disappears, what if I want to refine, extends, wrap it ?

syntax-less~ languages like FORTH and LISP have this trait which is fundamental IMNSHO

ps: other languages provides similar means of combinations, Haskell is known for that, Scala too. What about clean, pure, f# ..

vendredi 5 avril 2013

using custom rsa key filename with github

Out of paranoia I created my keys with '.gh' as {suf,in}fix. Github documentation mention a test command:

ssh -T git@github.com

Append `-i <public-key>` and retry.

e.g:

ssh -T git@github.com -i ~/.ssh/foo.gh.pub

mardi 2 avril 2013

Little elisp proto-snippet of the day : duplicate-line, select-current-line

Because `C-a C-SPC C-e M-w` just doesn't cut it, and I like playing piano, I decided to dig the web for a few helpers. I'm quite fond of the keybindings right now, let's see if they stick.

(defun duplicate-line ()
  "copy the current line underneath"
  (interactive)
  (move-beginning-of-line 1)
  (kill-line)
  (yank)
  (open-line 1)
  (next-line 1)
  (yank)
  (move-beginning-of-line 1)
  (message "TODO: restore caret position?, on original or new line?"))

(defun select-current-line ()
  "Select the current line"
  (interactive)
  ;; (end-of-line) ; move to end of line
  ;; (set-mark (line-beginning-position))

  (beginning-of-line)
  (set-mark (line-end-position))
  (message "TODO: select from begin to end or end to begin ? (caret > [begin..end]/2 => beg to end. end to beg otherwise)"))

(global-set-key (kbd "C-S-d") 'duplicate-line)
(global-set-key (kbd "C-S-l") 'select-current-line)