added latest presentation blog post
This commit is contained in:
parent
e15e499705
commit
35eeaa4ea1
16 changed files with 3965 additions and 1021 deletions
11
Rules
11
Rules
|
@ -46,17 +46,16 @@ compile '/html/*' do
|
||||||
# item[:extension] returns 'html.erb' for multi-dotted filename
|
# item[:extension] returns 'html.erb' for multi-dotted filename
|
||||||
ext = item[:extension].nil? ? nil : item[:extension].split('.').last
|
ext = item[:extension].nil? ? nil : item[:extension].split('.').last
|
||||||
|
|
||||||
filter :ultraviolet # must be before kramdown
|
|
||||||
filter :graph
|
|
||||||
filter :description
|
|
||||||
filter :falacy
|
|
||||||
filter :blogimage
|
|
||||||
|
|
||||||
if ext == 'erb'
|
if ext == 'erb'
|
||||||
filter :erb
|
filter :erb
|
||||||
elsif ext == 'haml' || ext.nil?
|
elsif ext == 'haml' || ext.nil?
|
||||||
filter :haml
|
filter :haml
|
||||||
elsif ext == 'md' || ext == 'markdown'
|
elsif ext == 'md' || ext == 'markdown'
|
||||||
|
filter :ultraviolet # must be before kramdown
|
||||||
|
filter :graph
|
||||||
|
filter :description
|
||||||
|
filter :falacy
|
||||||
|
filter :blogimage
|
||||||
filter :erb # I'll try not to use ruby anymore inside content
|
filter :erb # I'll try not to use ruby anymore inside content
|
||||||
filter :kramdown
|
filter :kramdown
|
||||||
# filter :math_repair # after kramdown
|
# filter :math_repair # after kramdown
|
||||||
|
|
|
@ -515,23 +515,16 @@ $hauteur_menu: 4em
|
||||||
|
|
||||||
$contentMargin: 0em
|
$contentMargin: 0em
|
||||||
|
|
||||||
.encadre, .black, .red, .intro, .resume, .shadow
|
.encadre, .black, .intro, .resume, .shadow
|
||||||
padding: 2em
|
padding: 2em
|
||||||
margin:
|
margin:
|
||||||
top: 2em
|
top: 2em
|
||||||
bottom: 2em
|
bottom: 2em
|
||||||
|
|
||||||
|
|
||||||
.encadre, .black, .red, .shadow
|
.encadre, .black, .shadow
|
||||||
+secondColor
|
+secondColor
|
||||||
|
|
||||||
pre .red
|
|
||||||
background: none
|
|
||||||
padding: 0
|
|
||||||
margin: auto
|
|
||||||
border: none
|
|
||||||
box-shadow: none
|
|
||||||
|
|
||||||
.intro, .resume
|
.intro, .resume
|
||||||
font-size: 0.9em
|
font-size: 0.9em
|
||||||
+highlight
|
+highlight
|
||||||
|
@ -600,6 +593,9 @@ figure
|
||||||
text-align: center
|
text-align: center
|
||||||
margin: .5em 0
|
margin: .5em 0
|
||||||
|
|
||||||
|
figure.left, figure.right
|
||||||
|
max-width: 30%
|
||||||
|
|
||||||
img.clean
|
img.clean
|
||||||
border: none
|
border: none
|
||||||
background-color: none
|
background-color: none
|
||||||
|
@ -717,6 +713,11 @@ img
|
||||||
background: none
|
background: none
|
||||||
border: none
|
border: none
|
||||||
|
|
||||||
|
img.right
|
||||||
|
max-width: 30%
|
||||||
|
margin:
|
||||||
|
top: .6em
|
||||||
|
left: 2em
|
||||||
img.left
|
img.left
|
||||||
float: left
|
float: left
|
||||||
max-width: 30%
|
max-width: 30%
|
||||||
|
@ -1070,3 +1071,42 @@ a.cut
|
||||||
img
|
img
|
||||||
max-width: 80%
|
max-width: 80%
|
||||||
max-height: 6em
|
max-height: 6em
|
||||||
|
|
||||||
|
section.slide
|
||||||
|
border-color: $borderColor
|
||||||
|
border: solid 1px
|
||||||
|
margin-bottom: 1em
|
||||||
|
padding: .5em
|
||||||
|
|
||||||
|
.base03
|
||||||
|
color: $base03
|
||||||
|
.base02
|
||||||
|
color: $base02
|
||||||
|
.base01
|
||||||
|
color: $base01
|
||||||
|
.base00
|
||||||
|
color: $base00
|
||||||
|
.base0
|
||||||
|
color: $base0
|
||||||
|
.base1
|
||||||
|
color: $base1
|
||||||
|
.base2
|
||||||
|
color: $base2
|
||||||
|
.base3
|
||||||
|
color: $base3
|
||||||
|
.yellow
|
||||||
|
color: $yellow
|
||||||
|
.orange
|
||||||
|
color: $orange
|
||||||
|
.red
|
||||||
|
color: $red
|
||||||
|
.magenta
|
||||||
|
color: $magenta
|
||||||
|
.violet
|
||||||
|
color: $violet
|
||||||
|
.blue
|
||||||
|
color: $blue
|
||||||
|
.cyan
|
||||||
|
color: $cyan
|
||||||
|
.green
|
||||||
|
color: $green
|
||||||
|
|
1000
content/html/en/blog/Category-Theory-Presentation.erb
Normal file
1000
content/html/en/blog/Category-Theory-Presentation.erb
Normal file
File diff suppressed because it is too large
Load diff
1000
content/html/fr/blog/Category-Theory-Presentation.erb
Normal file
1000
content/html/fr/blog/Category-Theory-Presentation.erb
Normal file
File diff suppressed because it is too large
Load diff
169
crash.log
169
crash.log
|
@ -1,155 +1,44 @@
|
||||||
Crashlog created at 2012-10-05 10:57:23 +0200
|
Crashlog created at Wed Dec 12 10:36:06 +0100 2012
|
||||||
|
|
||||||
=== MESSAGE:
|
=== MESSAGE:
|
||||||
|
|
||||||
Sass::SyntaxError: Invalid CSS after "italic": expected expression (e.g. 1px, bold), was ";"
|
NoMethodError: undefined method `find_all' for Gem::Specification:Class
|
||||||
|
|
||||||
=== COMPILATION STACK:
|
=== COMPILATION STACK:
|
||||||
|
|
||||||
- [item] /css/main/ (rep default)
|
(empty)
|
||||||
|
|
||||||
=== BACKTRACE:
|
=== BACKTRACE:
|
||||||
|
|
||||||
0. content/css/main.sass:631
|
0. /Library/Ruby/Gems/1.8/gems/nanoc-3.4.1/lib/nanoc/cli/error_handler.rb:272:in `gems_and_versions'
|
||||||
1. /var/lib/gems/1.9.1/gems/sass-3.1.19/lib/sass/scss/parser.rb:1010:in `expected'
|
1. /Library/Ruby/Gems/1.8/gems/nanoc-3.4.1/lib/nanoc/cli/error_handler.rb:217:in `write_verbose_error'
|
||||||
2. /var/lib/gems/1.9.1/gems/sass-3.1.19/lib/sass/script/lexer.rb:191:in `expected!'
|
2. /Library/Ruby/Gems/1.8/gems/nanoc-3.4.1/lib/nanoc/cli/error_handler.rb:92:in `print_error'
|
||||||
3. /var/lib/gems/1.9.1/gems/sass-3.1.19/lib/sass/script/parser.rb:465:in `assert_done'
|
3. /Library/Ruby/Gems/1.8/gems/nanoc-3.4.1/lib/nanoc/cli/error_handler.rb:92:in `open'
|
||||||
4. /var/lib/gems/1.9.1/gems/sass-3.1.19/lib/sass/script/parser.rb:50:in `parse'
|
4. /Library/Ruby/Gems/1.8/gems/nanoc-3.4.1/lib/nanoc/cli/error_handler.rb:92:in `print_error'
|
||||||
5. /var/lib/gems/1.9.1/gems/sass-3.1.19/lib/sass/script/parser.rb:140:in `parse'
|
5. /Library/Ruby/Gems/1.8/gems/nanoc-3.4.1/lib/nanoc/cli/error_handler.rb:70:in `handle_while'
|
||||||
6. /var/lib/gems/1.9.1/gems/sass-3.1.19/lib/sass/script.rb:31:in `parse'
|
6. /Library/Ruby/Gems/1.8/gems/nanoc-3.4.1/lib/nanoc/cli/error_handler.rb:26:in `handle_while'
|
||||||
7. /var/lib/gems/1.9.1/gems/sass-3.1.19/lib/sass/engine.rb:832:in `parse_script'
|
7. /Library/Ruby/Gems/1.8/gems/nanoc-3.4.1/lib/nanoc/cli/command_runner.rb:13:in `call'
|
||||||
8. /var/lib/gems/1.9.1/gems/sass-3.1.19/lib/sass/engine.rb:593:in `parse_property'
|
8. /Library/Ruby/Gems/1.8/gems/cri-2.3.0/lib/cri/command_dsl.rb:185:in `runner'
|
||||||
9. /var/lib/gems/1.9.1/gems/sass-3.1.19/lib/sass/engine.rb:582:in `parse_property_or_rule'
|
9. /Library/Ruby/Gems/1.8/gems/cri-2.3.0/lib/cri/command.rb:296:in `call'
|
||||||
10. /var/lib/gems/1.9.1/gems/sass-3.1.19/lib/sass/engine.rb:563:in `parse_line'
|
10. /Library/Ruby/Gems/1.8/gems/cri-2.3.0/lib/cri/command.rb:296:in `run_this'
|
||||||
11. /var/lib/gems/1.9.1/gems/sass-3.1.19/lib/sass/engine.rb:456:in `build_tree'
|
11. /Library/Ruby/Gems/1.8/gems/cri-2.3.0/lib/cri/command.rb:249:in `run'
|
||||||
12. /var/lib/gems/1.9.1/gems/sass-3.1.19/lib/sass/engine.rb:475:in `block in append_children'
|
12. /Library/Ruby/Gems/1.8/gems/cri-2.3.0/lib/cri/command.rb:262:in `run'
|
||||||
13. /var/lib/gems/1.9.1/gems/sass-3.1.19/lib/sass/engine.rb:474:in `each'
|
13. /Library/Ruby/Gems/1.8/gems/nanoc-3.4.1/lib/nanoc/cli.rb:53:in `run'
|
||||||
14. /var/lib/gems/1.9.1/gems/sass-3.1.19/lib/sass/engine.rb:474:in `append_children'
|
14. /Library/Ruby/Gems/1.8/gems/nanoc-3.4.1/lib/nanoc/cli/error_handler.rb:63:in `handle_while'
|
||||||
15. /var/lib/gems/1.9.1/gems/sass-3.1.19/lib/sass/engine.rb:465:in `block in build_tree'
|
15. /Library/Ruby/Gems/1.8/gems/nanoc-3.4.1/lib/nanoc/cli/error_handler.rb:26:in `handle_while'
|
||||||
16. /var/lib/gems/1.9.1/gems/sass-3.1.19/lib/sass/engine.rb:458:in `each'
|
16. /Library/Ruby/Gems/1.8/gems/nanoc-3.4.1/lib/nanoc/cli.rb:50:in `run'
|
||||||
17. /var/lib/gems/1.9.1/gems/sass-3.1.19/lib/sass/engine.rb:458:in `build_tree'
|
17. /Library/Ruby/Gems/1.8/gems/nanoc-3.4.1/bin/nanoc:19
|
||||||
18. /var/lib/gems/1.9.1/gems/sass-3.1.19/lib/sass/engine.rb:475:in `block in append_children'
|
18. /usr/bin/nanoc:19:in `load'
|
||||||
19. /var/lib/gems/1.9.1/gems/sass-3.1.19/lib/sass/engine.rb:474:in `each'
|
19. /usr/bin/nanoc:19
|
||||||
20. /var/lib/gems/1.9.1/gems/sass-3.1.19/lib/sass/engine.rb:474:in `append_children'
|
|
||||||
21. /var/lib/gems/1.9.1/gems/sass-3.1.19/lib/sass/engine.rb:330:in `_to_tree'
|
|
||||||
22. /var/lib/gems/1.9.1/gems/sass-3.1.19/lib/sass/engine.rb:300:in `_render'
|
|
||||||
23. /var/lib/gems/1.9.1/gems/sass-3.1.19/lib/sass/engine.rb:247:in `render'
|
|
||||||
24. /var/lib/gems/1.9.1/gems/nanoc-3.4.0/lib/nanoc/filters/sass.rb:62:in `run'
|
|
||||||
25. /var/lib/gems/1.9.1/gems/nanoc-3.4.0/lib/nanoc/base/result_data/item_rep.rb:343:in `filter'
|
|
||||||
26. /var/lib/gems/1.9.1/gems/nanoc-3.4.0/lib/nanoc/base/compilation/item_rep_proxy.rb:47:in `filter'
|
|
||||||
27. /var/lib/gems/1.9.1/gems/nanoc-3.4.0/lib/nanoc/base/compilation/rule_context.rb:54:in `filter'
|
|
||||||
28. ./Rules:12:in `block in load'
|
|
||||||
29. /var/lib/gems/1.9.1/gems/nanoc-3.4.0/lib/nanoc/base/compilation/rule.rb:68:in `instance_eval'
|
|
||||||
30. /var/lib/gems/1.9.1/gems/nanoc-3.4.0/lib/nanoc/base/compilation/rule.rb:68:in `apply_to'
|
|
||||||
31. /var/lib/gems/1.9.1/gems/nanoc-3.4.0/lib/nanoc/base/compilation/compiler.rb:381:in `compile_rep'
|
|
||||||
32. /var/lib/gems/1.9.1/gems/nanoc-3.4.0/lib/nanoc/base/compilation/compiler.rb:337:in `block in compile_reps'
|
|
||||||
33. /var/lib/gems/1.9.1/gems/nanoc-3.4.0/lib/nanoc/base/compilation/compiler.rb:330:in `loop'
|
|
||||||
34. /var/lib/gems/1.9.1/gems/nanoc-3.4.0/lib/nanoc/base/compilation/compiler.rb:330:in `compile_reps'
|
|
||||||
35. /var/lib/gems/1.9.1/gems/nanoc-3.4.0/lib/nanoc/base/compilation/compiler.rb:85:in `run'
|
|
||||||
36. /var/lib/gems/1.9.1/gems/nanoc-3.4.0/lib/nanoc/base/source_data/site.rb:57:in `compile'
|
|
||||||
37. /var/lib/gems/1.9.1/gems/nanoc-3.4.0/lib/nanoc/cli/commands/compile.rb:57:in `run'
|
|
||||||
38. /var/lib/gems/1.9.1/gems/nanoc-3.4.0/lib/nanoc/cli/command_runner.rb:14:in `block in call'
|
|
||||||
39. /var/lib/gems/1.9.1/gems/nanoc-3.4.0/lib/nanoc/cli/error_handler.rb:63:in `handle_while'
|
|
||||||
40. /var/lib/gems/1.9.1/gems/nanoc-3.4.0/lib/nanoc/cli/error_handler.rb:26:in `handle_while'
|
|
||||||
41. /var/lib/gems/1.9.1/gems/nanoc-3.4.0/lib/nanoc/cli/command_runner.rb:13:in `call'
|
|
||||||
42. /var/lib/gems/1.9.1/gems/cri-2.3.0/lib/cri/command_dsl.rb:185:in `block in runner'
|
|
||||||
43. /var/lib/gems/1.9.1/gems/cri-2.3.0/lib/cri/command.rb:296:in `call'
|
|
||||||
44. /var/lib/gems/1.9.1/gems/cri-2.3.0/lib/cri/command.rb:296:in `run_this'
|
|
||||||
45. /var/lib/gems/1.9.1/gems/cri-2.3.0/lib/cri/command.rb:249:in `run'
|
|
||||||
46. /var/lib/gems/1.9.1/gems/cri-2.3.0/lib/cri/command.rb:262:in `run'
|
|
||||||
47. /var/lib/gems/1.9.1/gems/nanoc-3.4.0/lib/nanoc/cli.rb:47:in `block in run'
|
|
||||||
48. /var/lib/gems/1.9.1/gems/nanoc-3.4.0/lib/nanoc/cli/error_handler.rb:63:in `handle_while'
|
|
||||||
49. /var/lib/gems/1.9.1/gems/nanoc-3.4.0/lib/nanoc/cli/error_handler.rb:26:in `handle_while'
|
|
||||||
50. /var/lib/gems/1.9.1/gems/nanoc-3.4.0/lib/nanoc/cli.rb:44:in `run'
|
|
||||||
51. /var/lib/gems/1.9.1/gems/nanoc-3.4.0/bin/nanoc:19:in `<top (required)>'
|
|
||||||
52. /usr/local/bin/nanoc:19:in `load'
|
|
||||||
53. /usr/local/bin/nanoc:19:in `<main>'
|
|
||||||
|
|
||||||
=== VERSION INFORMATION:
|
=== VERSION INFORMATION:
|
||||||
|
|
||||||
nanoc 3.4.0 © 2007-2012 Denis Defreyne.
|
nanoc 3.4.1 © 2007-2012 Denis Defreyne.
|
||||||
Running ruby 1.9.3 (2011-10-30) on i686-linux with RubyGems 1.8.11.
|
Running ruby 1.8.7 (2012-02-08) on universal-darwin12.0 with RubyGems 1.3.6.
|
||||||
|
|
||||||
|
=== SYSTEM INFORMATION:
|
||||||
|
|
||||||
|
Darwin YMac.local 12.2.0 Darwin Kernel Version 12.2.0: Sat Aug 25 00:48:52 PDT 2012; root:xnu-2050.18.24~1/RELEASE_X86_64 x86_64
|
||||||
|
|
||||||
=== INSTALLED GEMS:
|
=== INSTALLED GEMS:
|
||||||
|
|
||||||
builder 3.0.0
|
|
||||||
colored 1.2
|
|
||||||
cri 2.2.1, 2.3.0
|
|
||||||
kgio 2.7.4
|
|
||||||
kramdown 0.13.5, 0.13.7
|
|
||||||
mime-types 1.18
|
|
||||||
nanoc 3.3.6, 3.4.0
|
|
||||||
rack 1.4.1
|
|
||||||
rack-contrib 1.1.0
|
|
||||||
rack-rewrite 1.2.1
|
|
||||||
raindrops 0.8.0, 0.9.0
|
|
||||||
rainpress 1.0
|
|
||||||
rake 0.9.2.2
|
|
||||||
sass 3.1.16, 3.1.19
|
|
||||||
spox-plist 3.0.1
|
|
||||||
spox-textpow 0.10.3
|
|
||||||
spox-ultraviolet 0.10.5
|
|
||||||
unicorn 4.3.1
|
|
||||||
|
|
||||||
=== ENVIRONMENT:
|
|
||||||
|
|
||||||
CAPP_BUILD => "/home/y/tmp/cappuccino/Build"
|
|
||||||
COLORTERM => "gnome-terminal"
|
|
||||||
DBUS_SESSION_BUS_ADDRESS => "unix:abstract=/tmp/dbus-Hp98B7Xjn9,guid=15354c350aefacc311107e5100000061"
|
|
||||||
DEFAULTS_PATH => "/usr/share/gconf/Lubuntu.default.path"
|
|
||||||
DEFAULT_GHC_OPTIONS => "-O2"
|
|
||||||
DESKTOP_SESSION => "Lubuntu"
|
|
||||||
DISPLAY => ":0"
|
|
||||||
GDMSESSION => "Lubuntu"
|
|
||||||
GDM_LANG => "fr"
|
|
||||||
GNOME_KEYRING_CONTROL => "/tmp/keyring-S5aOL0"
|
|
||||||
GNOME_KEYRING_PID => "1575"
|
|
||||||
GTK_MODULES => "canberra-gtk-module:canberra-gtk-module"
|
|
||||||
HOME => "/home/y"
|
|
||||||
LANG => "fr_FR.UTF-8"
|
|
||||||
LANGUAGE => "fr:en"
|
|
||||||
LOGNAME => "y"
|
|
||||||
LS_COLORS => "rs=0:di=01;34:ln=01;36:mh=00:pi=40;33:so=01;35:do=01;35:bd=40;33;01:cd=40;33;01:or=40;31;01:su=37;41:sg=30;43:ca=30;41:tw=30;42:ow=34;42:st=37;44:ex=01;32:*.tar=01;31:*.tgz=01;31:*.arj=01;31:*.taz=01;31:*.lzh=01;31:*.lzma=01;31:*.tlz=01;31:*.txz=01;31:*.zip=01;31:*.z=01;31:*.Z=01;31:*.dz=01;31:*.gz=01;31:*.lz=01;31:*.xz=01;31:*.bz2=01;31:*.bz=01;31:*.tbz=01;31:*.tbz2=01;31:*.tz=01;31:*.deb=01;31:*.rpm=01;31:*.jar=01;31:*.war=01;31:*.ear=01;31:*.sar=01;31:*.rar=01;31:*.ace=01;31:*.zoo=01;31:*.cpio=01;31:*.7z=01;31:*.rz=01;31:*.jpg=01;35:*.jpeg=01;35:*.gif=01;35:*.bmp=01;35:*.pbm=01;35:*.pgm=01;35:*.ppm=01;35:*.tga=01;35:*.xbm=01;35:*.xpm=01;35:*.tif=01;35:*.tiff=01;35:*.png=01;35:*.svg=01;35:*.svgz=01;35:*.mng=01;35:*.pcx=01;35:*.mov=01;35:*.mpg=01;35:*.mpeg=01;35:*.m2v=01;35:*.mkv=01;35:*.webm=01;35:*.ogm=01;35:*.mp4=01;35:*.m4v=01;35:*.mp4v=01;35:*.vob=01;35:*.qt=01;35:*.nuv=01;35:*.wmv=01;35:*.asf=01;35:*.rm=01;35:*.rmvb=01;35:*.flc=01;35:*.avi=01;35:*.fli=01;35:*.flv=01;35:*.gl=01;35:*.dl=01;35:*.xcf=01;35:*.xwd=01;35:*.yuv=01;35:*.cgm=01;35:*.emf=01;35:*.axv=01;35:*.anx=01;35:*.ogv=01;35:*.ogx=01;35:*.aac=00;36:*.au=00;36:*.flac=00;36:*.mid=00;36:*.midi=00;36:*.mka=00;36:*.mp3=00;36:*.mpc=00;36:*.ogg=00;36:*.ra=00;36:*.wav=00;36:*.axa=00;36:*.oga=00;36:*.spx=00;36:*.xspf=00;36:"
|
|
||||||
MANDATORY_PATH => "/usr/share/gconf/Lubuntu.mandatory.path"
|
|
||||||
OLDPWD => "/home/y/Sites/webroot"
|
|
||||||
PATH => "/home/y/narwhal/bin:/home/y/.cabal/bin:/home/y/bin:/usr/local/bin:/usr/bin:/bin:/usr/games"
|
|
||||||
PWD => "/home/y/Sites/webroot"
|
|
||||||
SAL_USE_VCLPLUGIN => "gtk"
|
|
||||||
SHELL => "/usr/bin/zsh"
|
|
||||||
SHLVL => "3"
|
|
||||||
SSH_AGENT_PID => "1659"
|
|
||||||
SSH_AUTH_SOCK => "/tmp/keyring-S5aOL0/ssh"
|
|
||||||
TERM => "xterm"
|
|
||||||
UBUNTU_MENUPROXY => "libappmenu.so"
|
|
||||||
USER => "y"
|
|
||||||
USERNAME => "y"
|
|
||||||
WINDOWID => "39845892"
|
|
||||||
WINDOWPATH => "7"
|
|
||||||
XAUTHORITY => "/var/run/gdm/auth-for-y-FEu9Ou/database"
|
|
||||||
XDG_CONFIG_DIRS => "/etc/xdg/lubuntu/:/etc/xdg/xdg-Lubuntu:/etc/xdg"
|
|
||||||
XDG_CONFIG_HOME => "/home/y/.config"
|
|
||||||
XDG_CURRENT_DESKTOP => "LXDE"
|
|
||||||
XDG_DATA_DIRS => "/etc/xdg/lubuntu:/usr/share/Lubuntu:/usr/local/share/:/usr/share/:/usr/share:/usr/share/gdm:/var/lib/menu-xdg"
|
|
||||||
XDG_MENU_PREFIX => "lxde-"
|
|
||||||
XDG_SESSION_COOKIE => "2967f5ac8d4676a86149144a000004ac-1349250736.25162-1033128370"
|
|
||||||
_ => "/usr/local/bin/nanoc"
|
|
||||||
_LXSESSION_PID => "1592"
|
|
||||||
__GIT_PROMPT_DIR => "/home/y/.zsh/git-prompt"
|
|
||||||
|
|
||||||
=== $LOAD_PATH:
|
|
||||||
|
|
||||||
0. /var/lib/gems/1.9.1/gems/nanoc-3.4.0/lib
|
|
||||||
1. /var/lib/gems/1.9.1/gems/nanoc-3.4.0/lib
|
|
||||||
2. /var/lib/gems/1.9.1/gems/colored-1.2/lib
|
|
||||||
3. /var/lib/gems/1.9.1/gems/cri-2.3.0/lib
|
|
||||||
4. /var/lib/gems/1.9.1/gems/builder-3.0.0/lib
|
|
||||||
5. /var/lib/gems/1.9.1/gems/kramdown-0.13.7/lib
|
|
||||||
6. /var/lib/gems/1.9.1/gems/sass-3.1.19/lib
|
|
||||||
7. /usr/local/lib/site_ruby/1.9.1
|
|
||||||
8. /usr/local/lib/site_ruby/1.9.1/i686-linux
|
|
||||||
9. /usr/local/lib/site_ruby
|
|
||||||
10. /usr/lib/ruby/vendor_ruby/1.9.1
|
|
||||||
11. /usr/lib/ruby/vendor_ruby/1.9.1/i686-linux
|
|
||||||
12. /usr/lib/ruby/vendor_ruby
|
|
||||||
13. /usr/lib/ruby/1.9.1
|
|
||||||
14. /usr/lib/ruby/1.9.1/i686-linux
|
|
||||||
|
|
|
@ -1 +1 @@
|
||||||
output/Scratch/img/blog/Haskell-OpenGL-Mandelbrot
|
./output/Scratch/img/blog/Category-Theory-Presentation
|
|
@ -1 +1 @@
|
||||||
multi/blog/Haskell-OpenGL-Mandelbrot.md
|
multi/blog/Category-Theory-Presentation.md
|
1001
multi/blog/Category-Theory-Presentation.erb
Normal file
1001
multi/blog/Category-Theory-Presentation.erb
Normal file
File diff suppressed because it is too large
Load diff
File diff suppressed because one or more lines are too long
|
@ -2017,6 +2017,10 @@ O(n².log(n)) to O(n³).</p>
|
||||||
<div id="next_articles">
|
<div id="next_articles">
|
||||||
next entries
|
next entries
|
||||||
|
|
||||||
|
<div class="next_article">
|
||||||
|
<a href="/Scratch/en/blog/Category-Theory-Presentation/">Category Theory Presentation <span class="nicer">»</span></a>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
|
@ -2,13 +2,40 @@
|
||||||
<feed xmlns="http://www.w3.org/2005/Atom">
|
<feed xmlns="http://www.w3.org/2005/Atom">
|
||||||
<id>http://yannesposito.com/</id>
|
<id>http://yannesposito.com/</id>
|
||||||
<title>Yogsototh's last blogs entries</title>
|
<title>Yogsototh's last blogs entries</title>
|
||||||
<updated>2012-06-15T17:16:43Z</updated>
|
<updated>2012-12-12T08:06:40Z</updated>
|
||||||
<link href="http://yannesposito.com/" rel="alternate"/>
|
<link rel="alternate" href="http://yannesposito.com/"/>
|
||||||
<link href="http://feeds.feedburner.com/yannespositocomen" rel="self"/>
|
<link rel="self" href="http://feeds.feedburner.com/yannespositocomen"/>
|
||||||
<author>
|
<author>
|
||||||
<name>Yann Esposito</name>
|
<name>Yann Esposito</name>
|
||||||
<uri>http://yannesposito.com</uri>
|
<uri>http://yannesposito.com</uri>
|
||||||
</author>
|
</author>
|
||||||
|
<entry>
|
||||||
|
<id>tag:yannesposito.com,2012-12-12:/Scratch/en/blog/Category-Theory-Presentation/</id>
|
||||||
|
<title type="html">Category Theory Presentation</title>
|
||||||
|
<published>2012-12-12T08:06:40Z</published>
|
||||||
|
<updated>2012-12-12T08:06:40Z</updated>
|
||||||
|
<author>
|
||||||
|
<name>Yann Esposito</name>
|
||||||
|
<uri>yannesposito.com</uri>
|
||||||
|
</author>
|
||||||
|
<link rel="alternate" href="http://yannesposito.com/Scratch/en/blog/Category-Theory-Presentation/"/>
|
||||||
|
<content type="html"><img src="/keynote/categories/img/mp/cat-hask-endofunctor.png" alt="Cateogry of Hask's endofunctors"/>
|
||||||
|
|
||||||
|
<p>Yesterday I was happy to make a presentation about Category Theory at <a href="http://www.meetup.com/riviera-scala-clojure">Riviera Scala Clojure Meetup</a> (note I used only Haskell for my examples).</p>
|
||||||
|
|
||||||
|
<ul><li><a href="/keynote/categories.html">Click here to go to the HTML presentation.</a>
|
||||||
|
</li><li><a href="/keynote/categories.pdf">Click Here to download the PDF slides (%latex not rendered properly)</a>
|
||||||
|
</li></ul>
|
||||||
|
|
||||||
|
<p>If you don't want to read them through an HTML presentations framework or downloading a big PDF
|
||||||
|
just continue to read as a standard web page.
|
||||||
|
</p>
|
||||||
|
|
||||||
|
<div style="display:none">
|
||||||
|
\(\newcommand{\F}{\mathbf{F}}\)
|
||||||
|
\(\newcommand{\E}{\mathbf{E}}\)
|
||||||
|
\(\newcommand{\C}{\mathc...</div></img></content>
|
||||||
|
</entry>
|
||||||
<entry>
|
<entry>
|
||||||
<id>tag:yannesposito.com,2012-06-15:/Scratch/en/blog/Haskell-OpenGL-Mandelbrot/</id>
|
<id>tag:yannesposito.com,2012-06-15:/Scratch/en/blog/Haskell-OpenGL-Mandelbrot/</id>
|
||||||
<title type="html">Haskell Progressive Example</title>
|
<title type="html">Haskell Progressive Example</title>
|
||||||
|
@ -18,7 +45,7 @@
|
||||||
<name>Yann Esposito</name>
|
<name>Yann Esposito</name>
|
||||||
<uri>yannesposito.com</uri>
|
<uri>yannesposito.com</uri>
|
||||||
</author>
|
</author>
|
||||||
<link href="http://yannesposito.com/Scratch/en/blog/Haskell-OpenGL-Mandelbrot/" rel="alternate"/>
|
<link rel="alternate" href="http://yannesposito.com/Scratch/en/blog/Haskell-OpenGL-Mandelbrot/"/>
|
||||||
<content type="html"><p><img alt="The B in Benoît B. Mandelbrot stand for Benoît B. Mandelbrot" src="/Scratch/img/blog/Haskell-OpenGL-Mandelbrot/BenoitBMandelbrot.jpg" /></p>
|
<content type="html"><p><img alt="The B in Benoît B. Mandelbrot stand for Benoît B. Mandelbrot" src="/Scratch/img/blog/Haskell-OpenGL-Mandelbrot/BenoitBMandelbrot.jpg" /></p>
|
||||||
|
|
||||||
|
|
||||||
|
@ -44,7 +71,7 @@ Imperative language could also benefit from this functional organization.</p&
|
||||||
<name>Yann Esposito</name>
|
<name>Yann Esposito</name>
|
||||||
<uri>yannesposito.com</uri>
|
<uri>yannesposito.com</uri>
|
||||||
</author>
|
</author>
|
||||||
<link href="http://yannesposito.com/Scratch/en/blog/Haskell-the-Hard-Way/" rel="alternate"/>
|
<link rel="alternate" href="http://yannesposito.com/Scratch/en/blog/Haskell-the-Hard-Way/"/>
|
||||||
<content type="html"><p><img alt="Magritte pleasure principle" src="/Scratch/img/blog/Haskell-the-Hard-Way/magritte_pleasure_principle.jpg" /></p>
|
<content type="html"><p><img alt="Magritte pleasure principle" src="/Scratch/img/blog/Haskell-the-Hard-Way/magritte_pleasure_principle.jpg" /></p>
|
||||||
|
|
||||||
|
|
||||||
|
@ -70,7 +97,7 @@ Imperative language could also benefit from this functional organization.</p&
|
||||||
<name>Yann Esposito</name>
|
<name>Yann Esposito</name>
|
||||||
<uri>yannesposito.com</uri>
|
<uri>yannesposito.com</uri>
|
||||||
</author>
|
</author>
|
||||||
<link href="http://yannesposito.com/Scratch/en/blog/Typography-and-the-Web/" rel="alternate"/>
|
<link rel="alternate" href="http://yannesposito.com/Scratch/en/blog/Typography-and-the-Web/"/>
|
||||||
<content type="html"><p><img alt="Screenshot of first in small caps with and without ligatures." src="/Scratch/img/blog/Typography-and-the-Web/first_sc_screenshot.png" /></p>
|
<content type="html"><p><img alt="Screenshot of first in small caps with and without ligatures." src="/Scratch/img/blog/Typography-and-the-Web/first_sc_screenshot.png" /></p>
|
||||||
|
|
||||||
|
|
||||||
|
@ -103,7 +130,7 @@ We can all create better web typography ourselves, today.»</p>
|
||||||
<name>Yann Esposito</name>
|
<name>Yann Esposito</name>
|
||||||
<uri>yannesposito.com</uri>
|
<uri>yannesposito.com</uri>
|
||||||
</author>
|
</author>
|
||||||
<link href="http://yannesposito.com/Scratch/en/blog/Yesod-tutorial-for-newbies/" rel="alternate"/>
|
<link rel="alternate" href="http://yannesposito.com/Scratch/en/blog/Yesod-tutorial-for-newbies/"/>
|
||||||
<content type="html"><p><img alt="Neo Flying at warp speed" src="/Scratch/img/blog/Yesod-tutorial-for-newbies/flying_neo.jpg" /></p>
|
<content type="html"><p><img alt="Neo Flying at warp speed" src="/Scratch/img/blog/Yesod-tutorial-for-newbies/flying_neo.jpg" /></p>
|
||||||
|
|
||||||
|
|
||||||
|
@ -138,7 +165,7 @@ You shouldn&rsquo;t need to know Haskell. </p>
|
||||||
<name>Yann Esposito</name>
|
<name>Yann Esposito</name>
|
||||||
<uri>yannesposito.com</uri>
|
<uri>yannesposito.com</uri>
|
||||||
</author>
|
</author>
|
||||||
<link href="http://yannesposito.com/Scratch/en/blog/SVG-and-m4-fractals/" rel="alternate"/>
|
<link rel="alternate" href="http://yannesposito.com/Scratch/en/blog/SVG-and-m4-fractals/"/>
|
||||||
<content type="html"><p><img alt="Yesod logo made in SVG and m4" src="/Scratch/img/blog/SVG-and-m4-fractals/main.png" /></p>
|
<content type="html"><p><img alt="Yesod logo made in SVG and m4" src="/Scratch/img/blog/SVG-and-m4-fractals/main.png" /></p>
|
||||||
|
|
||||||
|
|
||||||
|
@ -167,7 +194,7 @@ Then some believed it would be a good idea to invent many <span class="sc">
|
||||||
<name>Yann Esposito</name>
|
<name>Yann Esposito</name>
|
||||||
<uri>yannesposito.com</uri>
|
<uri>yannesposito.com</uri>
|
||||||
</author>
|
</author>
|
||||||
<link href="http://yannesposito.com/Scratch/en/blog/Yesod-excellent-ideas/" rel="alternate"/>
|
<link rel="alternate" href="http://yannesposito.com/Scratch/en/blog/Yesod-excellent-ideas/"/>
|
||||||
<content type="html"><p><img alt="Title image" src="/Scratch/img/blog/Yesod-excellent-ideas/main.png" /></p>
|
<content type="html"><p><img alt="Title image" src="/Scratch/img/blog/Yesod-excellent-ideas/main.png" /></p>
|
||||||
|
|
||||||
|
|
||||||
|
@ -200,7 +227,7 @@ Before telling you why you should learn Haskell and use yesod, I will talk about
|
||||||
<name>Yann Esposito</name>
|
<name>Yann Esposito</name>
|
||||||
<uri>yannesposito.com</uri>
|
<uri>yannesposito.com</uri>
|
||||||
</author>
|
</author>
|
||||||
<link href="http://yannesposito.com/Scratch/en/blog/Higher-order-function-in-zsh/" rel="alternate"/>
|
<link rel="alternate" href="http://yannesposito.com/Scratch/en/blog/Higher-order-function-in-zsh/"/>
|
||||||
<content type="html"><p><img alt="Title image" src="/Scratch/img/blog/Higher-order-function-in-zsh/main.jpg" /></p>
|
<content type="html"><p><img alt="Title image" src="/Scratch/img/blog/Higher-order-function-in-zsh/main.jpg" /></p>
|
||||||
|
|
||||||
|
|
||||||
|
@ -247,7 +274,7 @@ $ mapl 'echo result $1' $(m...</code></pre></div></p></c
|
||||||
<name>Yann Esposito</name>
|
<name>Yann Esposito</name>
|
||||||
<uri>yannesposito.com</uri>
|
<uri>yannesposito.com</uri>
|
||||||
</author>
|
</author>
|
||||||
<link href="http://yannesposito.com/Scratch/en/blog/programming-language-experience/" rel="alternate"/>
|
<link rel="alternate" href="http://yannesposito.com/Scratch/en/blog/programming-language-experience/"/>
|
||||||
<content type="html"><p><img alt="Title image" src="/Scratch/img/blog/programming-language-experience/dragon.jpg" /></p>
|
<content type="html"><p><img alt="Title image" src="/Scratch/img/blog/programming-language-experience/dragon.jpg" /></p>
|
||||||
|
|
||||||
|
|
||||||
|
@ -280,7 +307,7 @@ It is not even good to lea...</p></p></p></content>
|
||||||
<name>Yann Esposito</name>
|
<name>Yann Esposito</name>
|
||||||
<uri>yannesposito.com</uri>
|
<uri>yannesposito.com</uri>
|
||||||
</author>
|
</author>
|
||||||
<link href="http://yannesposito.com/Scratch/en/blog/Learn-Vim-Progressively/" rel="alternate"/>
|
<link rel="alternate" href="http://yannesposito.com/Scratch/en/blog/Learn-Vim-Progressively/"/>
|
||||||
<content type="html"><p><img alt="Über leet use vim!" src="/Scratch/img/blog/Learn-Vim-Progressively/uber_leet_use_vim.jpg" /></p>
|
<content type="html"><p><img alt="Über leet use vim!" src="/Scratch/img/blog/Learn-Vim-Progressively/uber_leet_use_vim.jpg" /></p>
|
||||||
|
|
||||||
|
|
||||||
|
@ -314,7 +341,7 @@ It is hard to learn, but incredible to use.</p>
|
||||||
<name>Yann Esposito</name>
|
<name>Yann Esposito</name>
|
||||||
<uri>yannesposito.com</uri>
|
<uri>yannesposito.com</uri>
|
||||||
</author>
|
</author>
|
||||||
<link href="http://yannesposito.com/Scratch/en/blog/A-more-convenient-diff/" rel="alternate"/>
|
<link rel="alternate" href="http://yannesposito.com/Scratch/en/blog/A-more-convenient-diff/"/>
|
||||||
<content type="html"><p>Diff is a very useful tool. But it is not so easy to read for us, simple mortal.</p>
|
<content type="html"><p>Diff is a very useful tool. But it is not so easy to read for us, simple mortal.</p>
|
||||||
|
|
||||||
<p>This is why, when you use <code>git</code> it will use a better formatting and colorize it.</p>
|
<p>This is why, when you use <code>git</code> it will use a better formatting and colorize it.</p>
|
||||||
|
@ -346,7 +373,7 @@ function colorize_diff {
|
||||||
<name>Yann Esposito</name>
|
<name>Yann Esposito</name>
|
||||||
<uri>yannesposito.com</uri>
|
<uri>yannesposito.com</uri>
|
||||||
</author>
|
</author>
|
||||||
<link href="http://yannesposito.com/Scratch/en/blog/Haskell-Mandelbrot/" rel="alternate"/>
|
<link rel="alternate" href="http://yannesposito.com/Scratch/en/blog/Haskell-Mandelbrot/"/>
|
||||||
<content type="html"><p>Here is the obfuscated code:</p>
|
<content type="html"><p>Here is the obfuscated code:</p>
|
||||||
|
|
||||||
<div class="codefile"><a href="/Scratch/en/blog/Haskell-Mandelbrot/code/animandel.hs">&#x27A5; animandel.hs</a></div>
|
<div class="codefile"><a href="/Scratch/en/blog/Haskell-Mandelbrot/code/animandel.hs">&#x27A5; animandel.hs</a></div>
|
||||||
|
@ -369,7 +396,7 @@ main = putStrLn $ im ...</code></pre></content>
|
||||||
<name>Yann Esposito</name>
|
<name>Yann Esposito</name>
|
||||||
<uri>yannesposito.com</uri>
|
<uri>yannesposito.com</uri>
|
||||||
</author>
|
</author>
|
||||||
<link href="http://yannesposito.com/Scratch/en/blog/Password-Management/" rel="alternate"/>
|
<link rel="alternate" href="http://yannesposito.com/Scratch/en/blog/Password-Management/"/>
|
||||||
<content type="html"><p><img alt="Title image" src="/Scratch/img/blog/Password-Management/main.png" /></p>
|
<content type="html"><p><img alt="Title image" src="/Scratch/img/blog/Password-Management/main.png" /></p>
|
||||||
|
|
||||||
|
|
||||||
|
@ -402,7 +429,7 @@ It is both safe and easy to use everyday.</p>
|
||||||
<name>Yann Esposito</name>
|
<name>Yann Esposito</name>
|
||||||
<uri>yannesposito.com</uri>
|
<uri>yannesposito.com</uri>
|
||||||
</author>
|
</author>
|
||||||
<link href="http://yannesposito.com/Scratch/en/blog/2011-04-20-Now-hosted-on-github/" rel="alternate"/>
|
<link rel="alternate" href="http://yannesposito.com/Scratch/en/blog/2011-04-20-Now-hosted-on-github/"/>
|
||||||
<content type="html"><p><img alt="Title image" src="/Scratch/img/blog/2011-04-20-Now-hosted-on-github/main.png" /></p>
|
<content type="html"><p><img alt="Title image" src="/Scratch/img/blog/2011-04-20-Now-hosted-on-github/main.png" /></p>
|
||||||
|
|
||||||
<p>I am now hosted on github.</p>
|
<p>I am now hosted on github.</p>
|
||||||
|
@ -417,7 +444,7 @@ It is both safe and easy to use everyday.</p>
|
||||||
<name>Yann Esposito</name>
|
<name>Yann Esposito</name>
|
||||||
<uri>yannesposito.com</uri>
|
<uri>yannesposito.com</uri>
|
||||||
</author>
|
</author>
|
||||||
<link href="http://yannesposito.com/Scratch/en/blog/2011-01-03-Why-I-sadly-won-t-use-coffeescript/" rel="alternate"/>
|
<link rel="alternate" href="http://yannesposito.com/Scratch/en/blog/2011-01-03-Why-I-sadly-won-t-use-coffeescript/"/>
|
||||||
<content type="html"><p><img alt="Title image" src="/Scratch/img/blog/2011-01-03-Why-I-sadly-won-t-use-coffeescript/main.png" /></p>
|
<content type="html"><p><img alt="Title image" src="/Scratch/img/blog/2011-01-03-Why-I-sadly-won-t-use-coffeescript/main.png" /></p>
|
||||||
|
|
||||||
|
|
||||||
|
@ -453,7 +480,7 @@ And as Denis said: &ldquo;it is time to use Coffeescript as a javascript wit
|
||||||
<name>Yann Esposito</name>
|
<name>Yann Esposito</name>
|
||||||
<uri>yannesposito.com</uri>
|
<uri>yannesposito.com</uri>
|
||||||
</author>
|
</author>
|
||||||
<link href="http://yannesposito.com/Scratch/en/blog/2011-01-03-Happy-New-Year/" rel="alternate"/>
|
<link rel="alternate" href="http://yannesposito.com/Scratch/en/blog/2011-01-03-Happy-New-Year/"/>
|
||||||
<content type="html"><p>Happy New Year!</p>
|
<content type="html"><p>Happy New Year!</p>
|
||||||
|
|
||||||
<p>I was busy during the last months.
|
<p>I was busy during the last months.
|
||||||
|
@ -475,7 +502,7 @@ But I will revive a bit this blog.</p>
|
||||||
<name>Yann Esposito</name>
|
<name>Yann Esposito</name>
|
||||||
<uri>yannesposito.com</uri>
|
<uri>yannesposito.com</uri>
|
||||||
</author>
|
</author>
|
||||||
<link href="http://yannesposito.com/Scratch/en/blog/2010-10-26-LaTeX-like-macro-and-markdown/" rel="alternate"/>
|
<link rel="alternate" href="http://yannesposito.com/Scratch/en/blog/2010-10-26-LaTeX-like-macro-and-markdown/"/>
|
||||||
<content type="html">
|
<content type="html">
|
||||||
<div class="intro">
|
<div class="intro">
|
||||||
|
|
||||||
|
@ -498,7 +525,7 @@ When we are used to <span style="text-transform: uppercase">L<sup style
|
||||||
<name>Yann Esposito</name>
|
<name>Yann Esposito</name>
|
||||||
<uri>yannesposito.com</uri>
|
<uri>yannesposito.com</uri>
|
||||||
</author>
|
</author>
|
||||||
<link href="http://yannesposito.com/Scratch/en/blog/2010-10-14-Fun-with-wav/" rel="alternate"/>
|
<link rel="alternate" href="http://yannesposito.com/Scratch/en/blog/2010-10-14-Fun-with-wav/"/>
|
||||||
<content type="html">
|
<content type="html">
|
||||||
<div class="intro">
|
<div class="intro">
|
||||||
|
|
||||||
|
@ -529,7 +556,7 @@ This is even more impressive know...</p></content>
|
||||||
<name>Yann Esposito</name>
|
<name>Yann Esposito</name>
|
||||||
<uri>yannesposito.com</uri>
|
<uri>yannesposito.com</uri>
|
||||||
</author>
|
</author>
|
||||||
<link href="http://yannesposito.com/Scratch/en/blog/2010-10-10-Secure-eMail-on-Mac-in-few-steps/" rel="alternate"/>
|
<link rel="alternate" href="http://yannesposito.com/Scratch/en/blog/2010-10-10-Secure-eMail-on-Mac-in-few-steps/"/>
|
||||||
<content type="html"><p><img alt="Title image" src="/Scratch/img/blog/2010-10-10-Secure-eMail-on-Mac-in-few-steps/main.png" class="clean " /></p>
|
<content type="html"><p><img alt="Title image" src="/Scratch/img/blog/2010-10-10-Secure-eMail-on-Mac-in-few-steps/main.png" class="clean " /></p>
|
||||||
|
|
||||||
|
|
||||||
|
@ -567,7 +594,7 @@ Now I&rsquo;m able to sign and encrypt my emails.</p>
|
||||||
<name>Yann Esposito</name>
|
<name>Yann Esposito</name>
|
||||||
<uri>yannesposito.com</uri>
|
<uri>yannesposito.com</uri>
|
||||||
</author>
|
</author>
|
||||||
<link href="http://yannesposito.com/Scratch/en/blog/2010-10-06-New-Blog-Design-Constraints/" rel="alternate"/>
|
<link rel="alternate" href="http://yannesposito.com/Scratch/en/blog/2010-10-06-New-Blog-Design-Constraints/"/>
|
||||||
<content type="html"><p>I changed the design of my blog.
|
<content type="html"><p>I changed the design of my blog.
|
||||||
Now it should be far cleaner.
|
Now it should be far cleaner.
|
||||||
I believe I use no CSS3 feature and far less javascript.
|
I believe I use no CSS3 feature and far less javascript.
|
||||||
|
@ -595,7 +622,7 @@ Then my new design obey to the following rules:</p>
|
||||||
<name>Yann Esposito</name>
|
<name>Yann Esposito</name>
|
||||||
<uri>yannesposito.com</uri>
|
<uri>yannesposito.com</uri>
|
||||||
</author>
|
</author>
|
||||||
<link href="http://yannesposito.com/Scratch/en/blog/2010-09-02-Use-git-to-calculate-trusted-mtimes/" rel="alternate"/>
|
<link rel="alternate" href="http://yannesposito.com/Scratch/en/blog/2010-09-02-Use-git-to-calculate-trusted-mtimes/"/>
|
||||||
<content type="html"><p>You can remark at the bottom of each page I provide a last modification date.
|
<content type="html"><p>You can remark at the bottom of each page I provide a last modification date.
|
||||||
This label was first calculated using the <code>mtime</code> of the file on the file system.
|
This label was first calculated using the <code>mtime</code> of the file on the file system.
|
||||||
But many times I modify this date just to force some recompilation.
|
But many times I modify this date just to force some recompilation.
|
||||||
|
@ -620,7 +647,7 @@ This is how I do this with <a href="http://nanoc.stoneship.org">nanoc</
|
||||||
<name>Yann Esposito</name>
|
<name>Yann Esposito</name>
|
||||||
<uri>yannesposito.com</uri>
|
<uri>yannesposito.com</uri>
|
||||||
</author>
|
</author>
|
||||||
<link href="http://yannesposito.com/Scratch/en/blog/2010-09-02-base64-and-sha1-on-iPhone/" rel="alternate"/>
|
<link rel="alternate" href="http://yannesposito.com/Scratch/en/blog/2010-09-02-base64-and-sha1-on-iPhone/"/>
|
||||||
<content type="html"><p>Lets be straight:
|
<content type="html"><p>Lets be straight:
|
||||||
here are two functions to add to your code to have <code>base64</code> and <code>hexadecimal</code> version of the <code>sha1</code> hash of an NSString.</p>
|
here are two functions to add to your code to have <code>base64</code> and <code>hexadecimal</code> version of the <code>sha1</code> hash of an NSString.</p>
|
||||||
|
|
||||||
|
@ -649,7 +676,7 @@ NSString *hex_hash = [self hex_sha1:@"some NSString to be sha1'ed"];
|
||||||
<name>Yann Esposito</name>
|
<name>Yann Esposito</name>
|
||||||
<uri>yannesposito.com</uri>
|
<uri>yannesposito.com</uri>
|
||||||
</author>
|
</author>
|
||||||
<link href="http://yannesposito.com/Scratch/en/blog/2010-08-31-send-mail-from-command-line-with-attached-file/" rel="alternate"/>
|
<link rel="alternate" href="http://yannesposito.com/Scratch/en/blog/2010-08-31-send-mail-from-command-line-with-attached-file/"/>
|
||||||
<content type="html"><p>I had to send a mail using only command line.
|
<content type="html"><p>I had to send a mail using only command line.
|
||||||
I was surprised it isn&rsquo;t straightforward at all.
|
I was surprised it isn&rsquo;t straightforward at all.
|
||||||
I didn&rsquo;t had <code>pine</code> nor <code>mutt</code> or anything like that.
|
I didn&rsquo;t had <code>pine</code> nor <code>mutt</code> or anything like that.
|
||||||
|
@ -681,7 +708,7 @@ M;',@*0H@("`@9&amp;-R/20H96-H;R`D;...</pre></content>
|
||||||
<name>Yann Esposito</name>
|
<name>Yann Esposito</name>
|
||||||
<uri>yannesposito.com</uri>
|
<uri>yannesposito.com</uri>
|
||||||
</author>
|
</author>
|
||||||
<link href="http://yannesposito.com/Scratch/en/blog/2010-08-23-Now-heberged-on-heroku/" rel="alternate"/>
|
<link rel="alternate" href="http://yannesposito.com/Scratch/en/blog/2010-08-23-Now-heberged-on-heroku/"/>
|
||||||
<content type="html"><h1 class="first" id="now-on-herokuhttpherokucom">Now on <a href="http://heroku.com">Heroku</a></h1>
|
<content type="html"><h1 class="first" id="now-on-herokuhttpherokucom">Now on <a href="http://heroku.com">Heroku</a></h1>
|
||||||
|
|
||||||
<p>I now changed my hosting to <a href="http://heroku.com">Heroku</a>.
|
<p>I now changed my hosting to <a href="http://heroku.com">Heroku</a>.
|
||||||
|
@ -709,7 +736,7 @@ require 'rack-rewr...</code></pre></content>
|
||||||
<name>Yann Esposito</name>
|
<name>Yann Esposito</name>
|
||||||
<uri>yannesposito.com</uri>
|
<uri>yannesposito.com</uri>
|
||||||
</author>
|
</author>
|
||||||
<link href="http://yannesposito.com/Scratch/en/blog/2010-07-09-Indecidabilities/" rel="alternate"/>
|
<link rel="alternate" href="http://yannesposito.com/Scratch/en/blog/2010-07-09-Indecidabilities/"/>
|
||||||
<content type="html">
|
<content type="html">
|
||||||
</content>
|
</content>
|
||||||
</entry>
|
</entry>
|
||||||
|
@ -722,7 +749,7 @@ require 'rack-rewr...</code></pre></content>
|
||||||
<name>Yann Esposito</name>
|
<name>Yann Esposito</name>
|
||||||
<uri>yannesposito.com</uri>
|
<uri>yannesposito.com</uri>
|
||||||
</author>
|
</author>
|
||||||
<link href="http://yannesposito.com/Scratch/en/blog/2010-07-31-New-style-after-holidays/" rel="alternate"/>
|
<link rel="alternate" href="http://yannesposito.com/Scratch/en/blog/2010-07-31-New-style-after-holidays/"/>
|
||||||
<content type="html"><p>Before my holidays many visitors tell me my website was too long to scroll.
|
<content type="html"><p>Before my holidays many visitors tell me my website was too long to scroll.
|
||||||
This is why I completely changed my website design.
|
This is why I completely changed my website design.
|
||||||
Now all should scroll smoothly on all platforms.
|
Now all should scroll smoothly on all platforms.
|
||||||
|
@ -740,7 +767,7 @@ I was inspired by Readability and iBooks<small>&copy;</small> (t
|
||||||
<name>Yann Esposito</name>
|
<name>Yann Esposito</name>
|
||||||
<uri>yannesposito.com</uri>
|
<uri>yannesposito.com</uri>
|
||||||
</author>
|
</author>
|
||||||
<link href="http://yannesposito.com/Scratch/en/blog/2010-07-07-CSS-rendering-problems-by-navigator/" rel="alternate"/>
|
<link rel="alternate" href="http://yannesposito.com/Scratch/en/blog/2010-07-07-CSS-rendering-problems-by-navigator/"/>
|
||||||
<content type="html"><p>Some <a href="http://reddit.com">Reddit</a> users reported my website was really long to load and to scroll.
|
<content type="html"><p>Some <a href="http://reddit.com">Reddit</a> users reported my website was really long to load and to scroll.
|
||||||
They thinks it was because of the &lsquo;1px shadow&rsquo; I apply on all the text.
|
They thinks it was because of the &lsquo;1px shadow&rsquo; I apply on all the text.
|
||||||
I was a bit surprised, because I make some test into a really <em>slow</em> virtual machine. And all have always worked fine. In fact, what slow down so much are by order of importance:</p>
|
I was a bit surprised, because I make some test into a really <em>slow</em> virtual machine. And all have always worked fine. In fact, what slow down so much are by order of importance:</p>
|
||||||
|
@ -765,7 +792,7 @@ I was a bit surprised, because I make some test into a really <em>slow<
|
||||||
<name>Yann Esposito</name>
|
<name>Yann Esposito</name>
|
||||||
<uri>yannesposito.com</uri>
|
<uri>yannesposito.com</uri>
|
||||||
</author>
|
</author>
|
||||||
<link href="http://yannesposito.com/Scratch/en/blog/2010-07-05-Cappuccino-and-Web-applications/" rel="alternate"/>
|
<link rel="alternate" href="http://yannesposito.com/Scratch/en/blog/2010-07-05-Cappuccino-and-Web-applications/"/>
|
||||||
<content type="html">
|
<content type="html">
|
||||||
<div class="intro">
|
<div class="intro">
|
||||||
|
|
||||||
|
@ -800,7 +827,7 @@ Nonetheless I used these two to make the same web application. This is why I com
|
||||||
<name>Yann Esposito</name>
|
<name>Yann Esposito</name>
|
||||||
<uri>yannesposito.com</uri>
|
<uri>yannesposito.com</uri>
|
||||||
</author>
|
</author>
|
||||||
<link href="http://yannesposito.com/Scratch/en/blog/2010-06-19-jQuery-popup-the-easy-way/" rel="alternate"/>
|
<link rel="alternate" href="http://yannesposito.com/Scratch/en/blog/2010-06-19-jQuery-popup-the-easy-way/"/>
|
||||||
<content type="html"><p>Here is a fast and easy way to create jQuery popup.</p>
|
<content type="html"><p>Here is a fast and easy way to create jQuery popup.</p>
|
||||||
|
|
||||||
<div class="codefile"><a href="/Scratch/en/blog/2010-06-19-jQuery-popup-the-easy-way/code/essai.js">&#x27A5; essai.js</a></div>
|
<div class="codefile"><a href="/Scratch/en/blog/2010-06-19-jQuery-popup-the-easy-way/code/essai.js">&#x27A5; essai.js</a></div>
|
||||||
|
@ -833,7 +860,7 @@ function initCode() {
|
||||||
<name>Yann Esposito</name>
|
<name>Yann Esposito</name>
|
||||||
<uri>yannesposito.com</uri>
|
<uri>yannesposito.com</uri>
|
||||||
</author>
|
</author>
|
||||||
<link href="http://yannesposito.com/Scratch/en/blog/2010-06-17-hide-yourself-to-analytics/" rel="alternate"/>
|
<link rel="alternate" href="http://yannesposito.com/Scratch/en/blog/2010-06-17-hide-yourself-to-analytics/"/>
|
||||||
<content type="html"><p>This is a way not to count your own visits to your blog.
|
<content type="html"><p>This is a way not to count your own visits to your blog.
|
||||||
First you should look on how <a href="/Scratch/en/blog/2010-06-17-track-events-with-google-analytics">I handle analytics</a>. All analytics are handled in one javascript file, this make things really convenient.</p>
|
First you should look on how <a href="/Scratch/en/blog/2010-06-17-track-events-with-google-analytics">I handle analytics</a>. All analytics are handled in one javascript file, this make things really convenient.</p>
|
||||||
|
|
||||||
|
@ -862,7 +889,7 @@ First you should look on how <a href="/Scratch/en/blog/2010-06-17-track-event
|
||||||
<name>Yann Esposito</name>
|
<name>Yann Esposito</name>
|
||||||
<uri>yannesposito.com</uri>
|
<uri>yannesposito.com</uri>
|
||||||
</author>
|
</author>
|
||||||
<link href="http://yannesposito.com/Scratch/en/blog/2010-06-17-track-events-with-google-analytics/" rel="alternate"/>
|
<link rel="alternate" href="http://yannesposito.com/Scratch/en/blog/2010-06-17-track-events-with-google-analytics/"/>
|
||||||
<content type="html"><p>Here is how to track all clicks on your website using google analytics asynchronously.</p>
|
<content type="html"><p>Here is how to track all clicks on your website using google analytics asynchronously.</p>
|
||||||
|
|
||||||
<p>First in your <span class="sc">html</span> you need to use <a href="http://jquery.com">jQuery</a> and a javscript file I named <code>yga.js</code>:</p>
|
<p>First in your <span class="sc">html</span> you need to use <a href="http://jquery.com">jQuery</a> and a javscript file I named <code>yga.js</code>:</p>
|
||||||
|
@ -889,7 +916,7 @@ First you should look on how <a href="/Scratch/en/blog/2010-06-17-track-event
|
||||||
<name>Yann Esposito</name>
|
<name>Yann Esposito</name>
|
||||||
<uri>yannesposito.com</uri>
|
<uri>yannesposito.com</uri>
|
||||||
</author>
|
</author>
|
||||||
<link href="http://yannesposito.com/Scratch/en/blog/2010-06-15-Get-my-blog-engine/" rel="alternate"/>
|
<link rel="alternate" href="http://yannesposito.com/Scratch/en/blog/2010-06-15-Get-my-blog-engine/"/>
|
||||||
<content type="html"><p>I published a <em>light</em> version of my blog engine based on <a href="http://nanoc.stoneship.org">nanoc</a> yesterday night. By <em>light</em>, I mean a lighter, more portable CSS (without round border).
|
<content type="html"><p>I published a <em>light</em> version of my blog engine based on <a href="http://nanoc.stoneship.org">nanoc</a> yesterday night. By <em>light</em>, I mean a lighter, more portable CSS (without round border).
|
||||||
You can get it on <a href="http://github.com/yogsototh/nanoc3_blog">github.com</a>.</p>
|
You can get it on <a href="http://github.com/yogsototh/nanoc3_blog">github.com</a>.</p>
|
||||||
|
|
||||||
|
@ -913,7 +940,7 @@ You can get it on <a href="http://github.com/yogsototh/nanoc3_blog">github
|
||||||
<name>Yann Esposito</name>
|
<name>Yann Esposito</name>
|
||||||
<uri>yannesposito.com</uri>
|
<uri>yannesposito.com</uri>
|
||||||
</author>
|
</author>
|
||||||
<link href="http://yannesposito.com/Scratch/en/blog/2010-06-14-multi-language-choices/" rel="alternate"/>
|
<link rel="alternate" href="http://yannesposito.com/Scratch/en/blog/2010-06-14-multi-language-choices/"/>
|
||||||
<content type="html"><p>I translate most of my blog entries in French and English.
|
<content type="html"><p>I translate most of my blog entries in French and English.
|
||||||
Most people advice me to have one file per language. Generally it ends with:</p>
|
Most people advice me to have one file per language. Generally it ends with:</p>
|
||||||
|
|
||||||
|
@ -949,7 +976,7 @@ Finally my files...</p></content>
|
||||||
<name>Yann Esposito</name>
|
<name>Yann Esposito</name>
|
||||||
<uri>yannesposito.com</uri>
|
<uri>yannesposito.com</uri>
|
||||||
</author>
|
</author>
|
||||||
<link href="http://yannesposito.com/Scratch/en/blog/2010-05-24-Trees--Pragmatism-and-Formalism/" rel="alternate"/>
|
<link rel="alternate" href="http://yannesposito.com/Scratch/en/blog/2010-05-24-Trees--Pragmatism-and-Formalism/"/>
|
||||||
<content type="html">
|
<content type="html">
|
||||||
<div class="intro">
|
<div class="intro">
|
||||||
|
|
||||||
|
@ -985,7 +1012,7 @@ I entered in the...</p></content>
|
||||||
<name>Yann Esposito</name>
|
<name>Yann Esposito</name>
|
||||||
<uri>yannesposito.com</uri>
|
<uri>yannesposito.com</uri>
|
||||||
</author>
|
</author>
|
||||||
<link href="http://yannesposito.com/Scratch/en/blog/2010-05-19-How-to-cut-HTML-and-repair-it/" rel="alternate"/>
|
<link rel="alternate" href="http://yannesposito.com/Scratch/en/blog/2010-05-19-How-to-cut-HTML-and-repair-it/"/>
|
||||||
<content type="html"><p>For my main page, you can see, a list of my latest blog entry. And you have the first part of each article. To accomplish that, I needed to include the begining of the entry and to cut it somewhere. But now, I had to repair this cutted HTML.</p>
|
<content type="html"><p>For my main page, you can see, a list of my latest blog entry. And you have the first part of each article. To accomplish that, I needed to include the begining of the entry and to cut it somewhere. But now, I had to repair this cutted HTML.</p>
|
||||||
|
|
||||||
<p>Here is an example:</p>
|
<p>Here is an example:</p>
|
||||||
|
@ -1018,7 +1045,7 @@ I entered in the...</p></content>
|
||||||
<name>Yann Esposito</name>
|
<name>Yann Esposito</name>
|
||||||
<uri>yannesposito.com</uri>
|
<uri>yannesposito.com</uri>
|
||||||
</author>
|
</author>
|
||||||
<link href="http://yannesposito.com/Scratch/en/blog/2010-05-17-at-least-this-blog-revive/" rel="alternate"/>
|
<link rel="alternate" href="http://yannesposito.com/Scratch/en/blog/2010-05-17-at-least-this-blog-revive/"/>
|
||||||
<content type="html"><p>Hi all!</p>
|
<content type="html"><p>Hi all!</p>
|
||||||
|
|
||||||
<blockquote cite="http://www.madore.org/~david/weblog/2010-05.html#d.2010-05-12.1752">
|
<blockquote cite="http://www.madore.org/~david/weblog/2010-05.html#d.2010-05-12.1752">
|
||||||
|
@ -1043,7 +1070,7 @@ I entered in the...</p></content>
|
||||||
<name>Yann Esposito</name>
|
<name>Yann Esposito</name>
|
||||||
<uri>yannesposito.com</uri>
|
<uri>yannesposito.com</uri>
|
||||||
</author>
|
</author>
|
||||||
<link href="http://yannesposito.com/Scratch/en/blog/2010-03-23-Encapsulate-git/" rel="alternate"/>
|
<link rel="alternate" href="http://yannesposito.com/Scratch/en/blog/2010-03-23-Encapsulate-git/"/>
|
||||||
<content type="html"><div class="intro">
|
<content type="html"><div class="intro">
|
||||||
Here is a solution to maintain divergent branches in git. Because it is easy to merge by mistake. I give a script that encapsulate git in order to forbid some merge and warn you some merge should be dangerous.
|
Here is a solution to maintain divergent branches in git. Because it is easy to merge by mistake. I give a script that encapsulate git in order to forbid some merge and warn you some merge should be dangerous.
|
||||||
</div>
|
</div>
|
||||||
|
@ -1073,7 +1100,7 @@ clientB: project adapted for client B</p>
|
||||||
<name>Yann Esposito</name>
|
<name>Yann Esposito</name>
|
||||||
<uri>yannesposito.com</uri>
|
<uri>yannesposito.com</uri>
|
||||||
</author>
|
</author>
|
||||||
<link href="http://yannesposito.com/Scratch/en/blog/2010-03-22-Git-Tips/" rel="alternate"/>
|
<link rel="alternate" href="http://yannesposito.com/Scratch/en/blog/2010-03-22-Git-Tips/"/>
|
||||||
<content type="html"><h2 class="first" id="clone-from-github-behind-an-evil-firewall">clone from github behind an evil firewall</h2>
|
<content type="html"><h2 class="first" id="clone-from-github-behind-an-evil-firewall">clone from github behind an evil firewall</h2>
|
||||||
|
|
||||||
<p>Standard:</p>
|
<p>Standard:</p>
|
||||||
|
@ -1121,7 +1148,7 @@ clientB: project adapted for client B</p>
|
||||||
<name>Yann Esposito</name>
|
<name>Yann Esposito</name>
|
||||||
<uri>yannesposito.com</uri>
|
<uri>yannesposito.com</uri>
|
||||||
</author>
|
</author>
|
||||||
<link href="http://yannesposito.com/Scratch/en/blog/2010-02-23-When-regexp-is-not-the-best-solution/" rel="alternate"/>
|
<link rel="alternate" href="http://yannesposito.com/Scratch/en/blog/2010-02-23-When-regexp-is-not-the-best-solution/"/>
|
||||||
<content type="html"><p>Regular expression are really useful. Unfortunately, they are not always the best way of doing things.
|
<content type="html"><p>Regular expression are really useful. Unfortunately, they are not always the best way of doing things.
|
||||||
Particularly when transformations you want to make are easy.</p>
|
Particularly when transformations you want to make are easy.</p>
|
||||||
|
|
||||||
|
@ -1155,7 +1182,7 @@ ext=File.extname(str)
|
||||||
<name>Yann Esposito</name>
|
<name>Yann Esposito</name>
|
||||||
<uri>yannesposito.com</uri>
|
<uri>yannesposito.com</uri>
|
||||||
</author>
|
</author>
|
||||||
<link href="http://yannesposito.com/Scratch/en/blog/2010-02-18-split-a-file-by-keyword/" rel="alternate"/>
|
<link rel="alternate" href="http://yannesposito.com/Scratch/en/blog/2010-02-18-split-a-file-by-keyword/"/>
|
||||||
<content type="html"><p>Strangely enough, I didn&rsquo;t find any built-in tool to split a file by keyword. I made one myself in <code>awk</code>. I put it here mostly for myself. But it could also helps someone else.
|
<content type="html"><p>Strangely enough, I didn&rsquo;t find any built-in tool to split a file by keyword. I made one myself in <code>awk</code>. I put it here mostly for myself. But it could also helps someone else.
|
||||||
The following code split a file for each line containing the word <code>UTC</code>.</p>
|
The following code split a file for each line containing the word <code>UTC</code>.</p>
|
||||||
|
|
||||||
|
@ -1189,33 +1216,4 @@ BEGIN{i=0;}
|
||||||
if ( date != olddate ) {
|
if ( date != olddate ) {
|
||||||
...</code></pre></div></content>
|
...</code></pre></div></content>
|
||||||
</entry>
|
</entry>
|
||||||
<entry>
|
|
||||||
<id>tag:yannesposito.com,2010-02-16:/Scratch/en/blog/2010-02-16-All-but-something-regexp--2-/</id>
|
|
||||||
<title type="html">Pragmatic Regular Expression Exclude (2)</title>
|
|
||||||
<published>2010-02-16T08:33:21Z</published>
|
|
||||||
<updated>2010-02-16T08:33:21Z</updated>
|
|
||||||
<author>
|
|
||||||
<name>Yann Esposito</name>
|
|
||||||
<uri>yannesposito.com</uri>
|
|
||||||
</author>
|
|
||||||
<link href="http://yannesposito.com/Scratch/en/blog/2010-02-16-All-but-something-regexp--2-/" rel="alternate"/>
|
|
||||||
<content type="html"><p>In my <a href="previouspost">previous post</a> I had given some trick to match all except something. On the same idea, the trick to match the smallest possible string. Say you want to match the string between &lsquo;a&rsquo; and &lsquo;b&rsquo;, for example, you want to match:</p>
|
|
||||||
|
|
||||||
<pre class="twilight">
|
|
||||||
a.....<span class="Constant"><strong>a......b</strong></span>..b..a....<span class="Constant"><strong>a....b</strong></span>...
|
|
||||||
</pre>
|
|
||||||
|
|
||||||
<p>Here are two common errors and a solution:</p>
|
|
||||||
|
|
||||||
<pre class="twilight">
|
|
||||||
/a.*b/
|
|
||||||
<span class="Constant"><strong>a.....a......b..b..a....a....b</strong></span>...
|
|
||||||
</pre>
|
|
||||||
|
|
||||||
<p>The first error is to use the <em>evil</em> <code>.*</code>. Because you will match from the first to the last.</p>
|
|
||||||
|
|
||||||
<pre class="twilight">
|
|
||||||
/a.*?b/
|
|
||||||
<span class="Constant"><strong>...</strong></span></pre></content>
|
|
||||||
</entry>
|
|
||||||
</feed>
|
</feed>
|
||||||
|
|
|
@ -2017,6 +2017,10 @@ O(n².log(n)) to O(n³).</p>
|
||||||
<div id="next_articles">
|
<div id="next_articles">
|
||||||
articles suivants
|
articles suivants
|
||||||
|
|
||||||
|
<div class="next_article">
|
||||||
|
<a href="/Scratch/fr/blog/Category-Theory-Presentation/">Category Theory Presentation <span class="nicer">»</span></a>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
|
@ -2,13 +2,40 @@
|
||||||
<feed xmlns="http://www.w3.org/2005/Atom">
|
<feed xmlns="http://www.w3.org/2005/Atom">
|
||||||
<id>http://yannesposito.com/</id>
|
<id>http://yannesposito.com/</id>
|
||||||
<title>Yogsototh's last blogs entries</title>
|
<title>Yogsototh's last blogs entries</title>
|
||||||
<updated>2012-06-15T17:16:43Z</updated>
|
<updated>2012-12-12T08:06:40Z</updated>
|
||||||
<link href="http://yannesposito.com/" rel="alternate"/>
|
<link rel="alternate" href="http://yannesposito.com/"/>
|
||||||
<link href="http://feeds.feedburner.com/yannespositocomfr" rel="self"/>
|
<link rel="self" href="http://feeds.feedburner.com/yannespositocomfr"/>
|
||||||
<author>
|
<author>
|
||||||
<name>Yann Esposito</name>
|
<name>Yann Esposito</name>
|
||||||
<uri>http://yannesposito.com</uri>
|
<uri>http://yannesposito.com</uri>
|
||||||
</author>
|
</author>
|
||||||
|
<entry>
|
||||||
|
<id>tag:yannesposito.com,2012-12-12:/Scratch/fr/blog/Category-Theory-Presentation/</id>
|
||||||
|
<title type="html">Category Theory Presentation</title>
|
||||||
|
<published>2012-12-12T08:06:40Z</published>
|
||||||
|
<updated>2012-12-12T08:06:40Z</updated>
|
||||||
|
<author>
|
||||||
|
<name>Yann Esposito</name>
|
||||||
|
<uri>yannesposito.com</uri>
|
||||||
|
</author>
|
||||||
|
<link rel="alternate" href="http://yannesposito.com/Scratch/fr/blog/Category-Theory-Presentation/"/>
|
||||||
|
<content type="html"><img src="/keynote/categories/img/mp/cat-hask-endofunctor.png" alt="Cateogry of Hask's endofunctors"/>
|
||||||
|
|
||||||
|
<p>Yesterday I was happy to make a presentation about Category Theory at <a href="http://www.meetup.com/riviera-scala-clojure">Riviera Scala Clojure Meetup</a> (note I used only Haskell for my examples).</p>
|
||||||
|
|
||||||
|
<ul><li><a href="/keynote/categories.html">Click here to go to the HTML presentation.</a>
|
||||||
|
</li><li><a href="/keynote/categories.pdf">Click Here to download the PDF slides (%latex not rendered properly)</a>
|
||||||
|
</li></ul>
|
||||||
|
|
||||||
|
<p>If you don't want to read them through an HTML presentations framework or downloading a big PDF
|
||||||
|
just continue to read as a standard web page.
|
||||||
|
</p>
|
||||||
|
|
||||||
|
<div style="display:none">
|
||||||
|
\(\newcommand{\F}{\mathbf{F}}\)
|
||||||
|
\(\newcommand{\E}{\mathbf{E}}\)
|
||||||
|
\(\newcommand{\C}{\mathc...</div></img></content>
|
||||||
|
</entry>
|
||||||
<entry>
|
<entry>
|
||||||
<id>tag:yannesposito.com,2012-06-15:/Scratch/fr/blog/Haskell-OpenGL-Mandelbrot/</id>
|
<id>tag:yannesposito.com,2012-06-15:/Scratch/fr/blog/Haskell-OpenGL-Mandelbrot/</id>
|
||||||
<title type="html">Un example progressif avec Haskell</title>
|
<title type="html">Un example progressif avec Haskell</title>
|
||||||
|
@ -18,7 +45,7 @@
|
||||||
<name>Yann Esposito</name>
|
<name>Yann Esposito</name>
|
||||||
<uri>yannesposito.com</uri>
|
<uri>yannesposito.com</uri>
|
||||||
</author>
|
</author>
|
||||||
<link href="http://yannesposito.com/Scratch/fr/blog/Haskell-OpenGL-Mandelbrot/" rel="alternate"/>
|
<link rel="alternate" href="http://yannesposito.com/Scratch/fr/blog/Haskell-OpenGL-Mandelbrot/"/>
|
||||||
<content type="html"><p><img alt="The B in Benoît B. Mandelbrot stand for Benoît B. Mandelbrot" src="/Scratch/img/blog/Haskell-OpenGL-Mandelbrot/BenoitBMandelbrot.jpg" /></p>
|
<content type="html"><p><img alt="The B in Benoît B. Mandelbrot stand for Benoît B. Mandelbrot" src="/Scratch/img/blog/Haskell-OpenGL-Mandelbrot/BenoitBMandelbrot.jpg" /></p>
|
||||||
|
|
||||||
|
|
||||||
|
@ -44,7 +71,7 @@ Vous pouvez vous inspirer de ce code utilisant le paradigme fonctional dans tous
|
||||||
<name>Yann Esposito</name>
|
<name>Yann Esposito</name>
|
||||||
<uri>yannesposito.com</uri>
|
<uri>yannesposito.com</uri>
|
||||||
</author>
|
</author>
|
||||||
<link href="http://yannesposito.com/Scratch/fr/blog/Haskell-the-Hard-Way/" rel="alternate"/>
|
<link rel="alternate" href="http://yannesposito.com/Scratch/fr/blog/Haskell-the-Hard-Way/"/>
|
||||||
<content type="html"><p><img alt="Magritte pleasure principle" src="/Scratch/img/blog/Haskell-the-Hard-Way/magritte_pleasure_principle.jpg" /></p>
|
<content type="html"><p><img alt="Magritte pleasure principle" src="/Scratch/img/blog/Haskell-the-Hard-Way/magritte_pleasure_principle.jpg" /></p>
|
||||||
|
|
||||||
|
|
||||||
|
@ -67,7 +94,7 @@ Vous pouvez vous inspirer de ce code utilisant le paradigme fonctional dans tous
|
||||||
<name>Yann Esposito</name>
|
<name>Yann Esposito</name>
|
||||||
<uri>yannesposito.com</uri>
|
<uri>yannesposito.com</uri>
|
||||||
</author>
|
</author>
|
||||||
<link href="http://yannesposito.com/Scratch/fr/blog/Typography-and-the-Web/" rel="alternate"/>
|
<link rel="alternate" href="http://yannesposito.com/Scratch/fr/blog/Typography-and-the-Web/"/>
|
||||||
<content type="html"><p><img alt="Screenshot of first in small caps with and without ligatures." src="/Scratch/img/blog/Typography-and-the-Web/first_sc_screenshot.png" /></p>
|
<content type="html"><p><img alt="Screenshot of first in small caps with and without ligatures." src="/Scratch/img/blog/Typography-and-the-Web/first_sc_screenshot.png" /></p>
|
||||||
|
|
||||||
|
|
||||||
|
@ -102,7 +129,7 @@ Nous pouv...</p></blockquote></p></content>
|
||||||
<name>Yann Esposito</name>
|
<name>Yann Esposito</name>
|
||||||
<uri>yannesposito.com</uri>
|
<uri>yannesposito.com</uri>
|
||||||
</author>
|
</author>
|
||||||
<link href="http://yannesposito.com/Scratch/fr/blog/Yesod-tutorial-for-newbies/" rel="alternate"/>
|
<link rel="alternate" href="http://yannesposito.com/Scratch/fr/blog/Yesod-tutorial-for-newbies/"/>
|
||||||
<content type="html"><p><img alt="Neo Flying at warp speed" src="/Scratch/img/blog/Yesod-tutorial-for-newbies/flying_neo.jpg" /></p>
|
<content type="html"><p><img alt="Neo Flying at warp speed" src="/Scratch/img/blog/Yesod-tutorial-for-newbies/flying_neo.jpg" /></p>
|
||||||
|
|
||||||
|
|
||||||
|
@ -133,7 +160,7 @@ mais je n&rsquo;ai pas eu le courage de traduire cet article en Françai
|
||||||
<name>Yann Esposito</name>
|
<name>Yann Esposito</name>
|
||||||
<uri>yannesposito.com</uri>
|
<uri>yannesposito.com</uri>
|
||||||
</author>
|
</author>
|
||||||
<link href="http://yannesposito.com/Scratch/fr/blog/SVG-and-m4-fractals/" rel="alternate"/>
|
<link rel="alternate" href="http://yannesposito.com/Scratch/fr/blog/SVG-and-m4-fractals/"/>
|
||||||
<content type="html"><p><img alt="Yesod logo made in SVG and m4" src="/Scratch/img/blog/SVG-and-m4-fractals/main.png" /></p>
|
<content type="html"><p><img alt="Yesod logo made in SVG and m4" src="/Scratch/img/blog/SVG-and-m4-fractals/main.png" /></p>
|
||||||
|
|
||||||
|
|
||||||
|
@ -161,7 +188,7 @@ Non seulement comme format de fichie...</p></p></content>
|
||||||
<name>Yann Esposito</name>
|
<name>Yann Esposito</name>
|
||||||
<uri>yannesposito.com</uri>
|
<uri>yannesposito.com</uri>
|
||||||
</author>
|
</author>
|
||||||
<link href="http://yannesposito.com/Scratch/fr/blog/Yesod-excellent-ideas/" rel="alternate"/>
|
<link rel="alternate" href="http://yannesposito.com/Scratch/fr/blog/Yesod-excellent-ideas/"/>
|
||||||
<content type="html"><p><img alt="Title image" src="/Scratch/img/blog/Yesod-excellent-ideas/main.png" /></p>
|
<content type="html"><p><img alt="Title image" src="/Scratch/img/blog/Yesod-excellent-ideas/main.png" /></p>
|
||||||
|
|
||||||
|
|
||||||
|
@ -193,7 +220,7 @@ Avant de vous dire pourquoi vous devriez aussi le considérer, je préf&
|
||||||
<name>Yann Esposito</name>
|
<name>Yann Esposito</name>
|
||||||
<uri>yannesposito.com</uri>
|
<uri>yannesposito.com</uri>
|
||||||
</author>
|
</author>
|
||||||
<link href="http://yannesposito.com/Scratch/fr/blog/Higher-order-function-in-zsh/" rel="alternate"/>
|
<link rel="alternate" href="http://yannesposito.com/Scratch/fr/blog/Higher-order-function-in-zsh/"/>
|
||||||
<content type="html"><p><img alt="Title image" src="/Scratch/img/blog/Higher-order-function-in-zsh/main.jpg" /></p>
|
<content type="html"><p><img alt="Title image" src="/Scratch/img/blog/Higher-order-function-in-zsh/main.jpg" /></p>
|
||||||
|
|
||||||
|
|
||||||
|
@ -236,7 +263,7 @@ $ mapa '$1*2...</code></pre></div></p></content>
|
||||||
<name>Yann Esposito</name>
|
<name>Yann Esposito</name>
|
||||||
<uri>yannesposito.com</uri>
|
<uri>yannesposito.com</uri>
|
||||||
</author>
|
</author>
|
||||||
<link href="http://yannesposito.com/Scratch/fr/blog/programming-language-experience/" rel="alternate"/>
|
<link rel="alternate" href="http://yannesposito.com/Scratch/fr/blog/programming-language-experience/"/>
|
||||||
<content type="html"><p><img alt="Title image" src="/Scratch/img/blog/programming-language-experience/dragon.jpg" /></p>
|
<content type="html"><p><img alt="Title image" src="/Scratch/img/blog/programming-language-experience/dragon.jpg" /></p>
|
||||||
|
|
||||||
|
|
||||||
|
@ -267,7 +294,7 @@ C&rsquo;est à peu prêt le seul intérêt de ce ...</p&g
|
||||||
<name>Yann Esposito</name>
|
<name>Yann Esposito</name>
|
||||||
<uri>yannesposito.com</uri>
|
<uri>yannesposito.com</uri>
|
||||||
</author>
|
</author>
|
||||||
<link href="http://yannesposito.com/Scratch/fr/blog/Learn-Vim-Progressively/" rel="alternate"/>
|
<link rel="alternate" href="http://yannesposito.com/Scratch/fr/blog/Learn-Vim-Progressively/"/>
|
||||||
<content type="html"><p><img alt="Über leet use vim!" src="/Scratch/img/blog/Learn-Vim-Progressively/uber_leet_use_vim.jpg" /></p>
|
<content type="html"><p><img alt="Über leet use vim!" src="/Scratch/img/blog/Learn-Vim-Progressively/uber_leet_use_vim.jpg" /></p>
|
||||||
|
|
||||||
|
|
||||||
|
@ -299,7 +326,7 @@ Sa prise en mais est difficile, mais p...</p></p></content>
|
||||||
<name>Yann Esposito</name>
|
<name>Yann Esposito</name>
|
||||||
<uri>yannesposito.com</uri>
|
<uri>yannesposito.com</uri>
|
||||||
</author>
|
</author>
|
||||||
<link href="http://yannesposito.com/Scratch/fr/blog/A-more-convenient-diff/" rel="alternate"/>
|
<link rel="alternate" href="http://yannesposito.com/Scratch/fr/blog/A-more-convenient-diff/"/>
|
||||||
<content type="html"><p><code>diff</code> est un utilitaire très pratique, mais il n&rsquo;est pas facile à lire pour nous, les Hommes.</p>
|
<content type="html"><p><code>diff</code> est un utilitaire très pratique, mais il n&rsquo;est pas facile à lire pour nous, les Hommes.</p>
|
||||||
|
|
||||||
<p>C&rsquo;est pourquoi, lorsque vous utilisez <code>git</code>, il vous montre un formatage plus agréable avec des couleurs.</p>
|
<p>C&rsquo;est pourquoi, lorsque vous utilisez <code>git</code>, il vous montre un formatage plus agréable avec des couleurs.</p>
|
||||||
|
@ -331,7 +358,7 @@ function colorize_diff {
|
||||||
<name>Yann Esposito</name>
|
<name>Yann Esposito</name>
|
||||||
<uri>yannesposito.com</uri>
|
<uri>yannesposito.com</uri>
|
||||||
</author>
|
</author>
|
||||||
<link href="http://yannesposito.com/Scratch/fr/blog/Haskell-Mandelbrot/" rel="alternate"/>
|
<link rel="alternate" href="http://yannesposito.com/Scratch/fr/blog/Haskell-Mandelbrot/"/>
|
||||||
<content type="html"><p>Voici le code &ldquo;obfusqué&rdquo;&nbsp;:</p>
|
<content type="html"><p>Voici le code &ldquo;obfusqué&rdquo;&nbsp;:</p>
|
||||||
|
|
||||||
<div class="codefile"><a href="/Scratch/fr/blog/Haskell-Mandelbrot/code/animandel.hs">&#x27A5; animandel.hs</a></div>
|
<div class="codefile"><a href="/Scratch/fr/blog/Haskell-Mandelbrot/code/animandel.hs">&#x27A5; animandel.hs</a></div>
|
||||||
|
@ -354,7 +381,7 @@ main ...</code></pre></content>
|
||||||
<name>Yann Esposito</name>
|
<name>Yann Esposito</name>
|
||||||
<uri>yannesposito.com</uri>
|
<uri>yannesposito.com</uri>
|
||||||
</author>
|
</author>
|
||||||
<link href="http://yannesposito.com/Scratch/fr/blog/Password-Management/" rel="alternate"/>
|
<link rel="alternate" href="http://yannesposito.com/Scratch/fr/blog/Password-Management/"/>
|
||||||
<content type="html"><p><img alt="Title image" src="/Scratch/img/blog/Password-Management/main.png" /></p>
|
<content type="html"><p><img alt="Title image" src="/Scratch/img/blog/Password-Management/main.png" /></p>
|
||||||
|
|
||||||
|
|
||||||
|
@ -384,7 +411,7 @@ Bon, d&rsquo;accord, même si vous ne téléchargez pas mon appl
|
||||||
<name>Yann Esposito</name>
|
<name>Yann Esposito</name>
|
||||||
<uri>yannesposito.com</uri>
|
<uri>yannesposito.com</uri>
|
||||||
</author>
|
</author>
|
||||||
<link href="http://yannesposito.com/Scratch/fr/blog/2011-04-20-Now-hosted-on-github/" rel="alternate"/>
|
<link rel="alternate" href="http://yannesposito.com/Scratch/fr/blog/2011-04-20-Now-hosted-on-github/"/>
|
||||||
<content type="html"><p><img alt="Title image" src="/Scratch/img/blog/2011-04-20-Now-hosted-on-github/main.png" /></p>
|
<content type="html"><p><img alt="Title image" src="/Scratch/img/blog/2011-04-20-Now-hosted-on-github/main.png" /></p>
|
||||||
|
|
||||||
<p>J&rsquo;héberge mon site sur github à partir d&rsquo;aujourd&rsquo;hui.</p>
|
<p>J&rsquo;héberge mon site sur github à partir d&rsquo;aujourd&rsquo;hui.</p>
|
||||||
|
@ -399,7 +426,7 @@ Bon, d&rsquo;accord, même si vous ne téléchargez pas mon appl
|
||||||
<name>Yann Esposito</name>
|
<name>Yann Esposito</name>
|
||||||
<uri>yannesposito.com</uri>
|
<uri>yannesposito.com</uri>
|
||||||
</author>
|
</author>
|
||||||
<link href="http://yannesposito.com/Scratch/fr/blog/2011-01-03-Why-I-sadly-won-t-use-coffeescript/" rel="alternate"/>
|
<link rel="alternate" href="http://yannesposito.com/Scratch/fr/blog/2011-01-03-Why-I-sadly-won-t-use-coffeescript/"/>
|
||||||
<content type="html"><p><img alt="Title image" src="/Scratch/img/blog/2011-01-03-Why-I-sadly-won-t-use-coffeescript/main.png" /></p>
|
<content type="html"><p><img alt="Title image" src="/Scratch/img/blog/2011-01-03-Why-I-sadly-won-t-use-coffeescript/main.png" /></p>
|
||||||
|
|
||||||
|
|
||||||
|
@ -429,7 +456,7 @@ Tout d&rsquo;abord, je viens de découvrir un convertisseur javascript v
|
||||||
<name>Yann Esposito</name>
|
<name>Yann Esposito</name>
|
||||||
<uri>yannesposito.com</uri>
|
<uri>yannesposito.com</uri>
|
||||||
</author>
|
</author>
|
||||||
<link href="http://yannesposito.com/Scratch/fr/blog/2011-01-03-Happy-New-Year/" rel="alternate"/>
|
<link rel="alternate" href="http://yannesposito.com/Scratch/fr/blog/2011-01-03-Happy-New-Year/"/>
|
||||||
<content type="html"><p>Bonne et heureuse année&nbsp;!</p>
|
<content type="html"><p>Bonne et heureuse année&nbsp;!</p>
|
||||||
|
|
||||||
<p>J&rsquo;étais très occupé ces derniers mois.
|
<p>J&rsquo;étais très occupé ces derniers mois.
|
||||||
|
@ -454,7 +481,7 @@ Je n&rsquo;en ai pas encore terminé avec ça. Mais si je tarde trop
|
||||||
<name>Yann Esposito</name>
|
<name>Yann Esposito</name>
|
||||||
<uri>yannesposito.com</uri>
|
<uri>yannesposito.com</uri>
|
||||||
</author>
|
</author>
|
||||||
<link href="http://yannesposito.com/Scratch/fr/blog/2010-10-26-LaTeX-like-macro-and-markdown/" rel="alternate"/>
|
<link rel="alternate" href="http://yannesposito.com/Scratch/fr/blog/2010-10-26-LaTeX-like-macro-and-markdown/"/>
|
||||||
<content type="html">
|
<content type="html">
|
||||||
<div class="intro">
|
<div class="intro">
|
||||||
|
|
||||||
|
@ -477,7 +504,7 @@ Lorsqu&rsquo;on est habitué à <span style="text-transform: uppe
|
||||||
<name>Yann Esposito</name>
|
<name>Yann Esposito</name>
|
||||||
<uri>yannesposito.com</uri>
|
<uri>yannesposito.com</uri>
|
||||||
</author>
|
</author>
|
||||||
<link href="http://yannesposito.com/Scratch/fr/blog/2010-10-14-Fun-with-wav/" rel="alternate"/>
|
<link rel="alternate" href="http://yannesposito.com/Scratch/fr/blog/2010-10-14-Fun-with-wav/"/>
|
||||||
<content type="html">
|
<content type="html">
|
||||||
<div class="intro">
|
<div class="intro">
|
||||||
|
|
||||||
|
@ -505,7 +532,7 @@ De mémoire il était peu aisé de manipuler des ...</p></cont
|
||||||
<name>Yann Esposito</name>
|
<name>Yann Esposito</name>
|
||||||
<uri>yannesposito.com</uri>
|
<uri>yannesposito.com</uri>
|
||||||
</author>
|
</author>
|
||||||
<link href="http://yannesposito.com/Scratch/fr/blog/2010-10-10-Secure-eMail-on-Mac-in-few-steps/" rel="alternate"/>
|
<link rel="alternate" href="http://yannesposito.com/Scratch/fr/blog/2010-10-10-Secure-eMail-on-Mac-in-few-steps/"/>
|
||||||
<content type="html"><p><img alt="Title image" src="/Scratch/img/blog/2010-10-10-Secure-eMail-on-Mac-in-few-steps/main.png" class="clean " /></p>
|
<content type="html"><p><img alt="Title image" src="/Scratch/img/blog/2010-10-10-Secure-eMail-on-Mac-in-few-steps/main.png" class="clean " /></p>
|
||||||
|
|
||||||
|
|
||||||
|
@ -538,7 +565,7 @@ Il y a seulement quelques années c&r...</p></p></content>
|
||||||
<name>Yann Esposito</name>
|
<name>Yann Esposito</name>
|
||||||
<uri>yannesposito.com</uri>
|
<uri>yannesposito.com</uri>
|
||||||
</author>
|
</author>
|
||||||
<link href="http://yannesposito.com/Scratch/fr/blog/2010-10-06-New-Blog-Design-Constraints/" rel="alternate"/>
|
<link rel="alternate" href="http://yannesposito.com/Scratch/fr/blog/2010-10-06-New-Blog-Design-Constraints/"/>
|
||||||
<content type="html"><p>Vous avez pu constater que j&rsquo;ai modifié le design de mon blog.
|
<content type="html"><p>Vous avez pu constater que j&rsquo;ai modifié le design de mon blog.
|
||||||
Maintenant il doit être beaucoup plus léger qu&rsquo;avant.
|
Maintenant il doit être beaucoup plus léger qu&rsquo;avant.
|
||||||
Je n&rsquo;utilise plus de CSS3 et beaucoup moins de javascript.
|
Je n&rsquo;utilise plus de CSS3 et beaucoup moins de javascript.
|
||||||
|
@ -561,7 +588,7 @@ Les règles que je me suis fixées sont donc:</p>
|
||||||
<name>Yann Esposito</name>
|
<name>Yann Esposito</name>
|
||||||
<uri>yannesposito.com</uri>
|
<uri>yannesposito.com</uri>
|
||||||
</author>
|
</author>
|
||||||
<link href="http://yannesposito.com/Scratch/fr/blog/2010-09-02-Use-git-to-calculate-trusted-mtimes/" rel="alternate"/>
|
<link rel="alternate" href="http://yannesposito.com/Scratch/fr/blog/2010-09-02-Use-git-to-calculate-trusted-mtimes/"/>
|
||||||
<content type="html"><p>Vous pouvez remarquer qu&rsquo;à la fin de chaque page je donne une date de dernière modification.
|
<content type="html"><p>Vous pouvez remarquer qu&rsquo;à la fin de chaque page je donne une date de dernière modification.
|
||||||
Précédemment cette date était calculée en utilisant la date du fichier.
|
Précédemment cette date était calculée en utilisant la date du fichier.
|
||||||
Mais il arrive fréquemment que je fasse un <code>touch</code> d&rsquo;un fichier pour engendrer tout le site de nouveau.
|
Mais il arrive fréquemment que je fasse un <code>touch</code> d&rsquo;un fichier pour engendrer tout le site de nouveau.
|
||||||
|
@ -582,7 +609,7 @@ Voici comment je m&rsquo;y prend avec <a href="http://nanoc.stoneship.org
|
||||||
<name>Yann Esposito</name>
|
<name>Yann Esposito</name>
|
||||||
<uri>yannesposito.com</uri>
|
<uri>yannesposito.com</uri>
|
||||||
</author>
|
</author>
|
||||||
<link href="http://yannesposito.com/Scratch/fr/blog/2010-09-02-base64-and-sha1-on-iPhone/" rel="alternate"/>
|
<link rel="alternate" href="http://yannesposito.com/Scratch/fr/blog/2010-09-02-base64-and-sha1-on-iPhone/"/>
|
||||||
<content type="html"><p>Allons directement à l&rsquo;essentiel&nbsp;:
|
<content type="html"><p>Allons directement à l&rsquo;essentiel&nbsp;:
|
||||||
voici deux fonctions à intégrer à votre application iPhone pour afficher l&rsquo;encodage en base64 ou en hexadecimal du hash sha1 d&rsquo;un string en Objective-C pour iPhone.</p>
|
voici deux fonctions à intégrer à votre application iPhone pour afficher l&rsquo;encodage en base64 ou en hexadecimal du hash sha1 d&rsquo;un string en Objective-C pour iPhone.</p>
|
||||||
|
|
||||||
|
@ -610,7 +637,7 @@ Il n&rsquo;y a pas de librairie officielle qui s&rsquo;occupe de ça
|
||||||
<name>Yann Esposito</name>
|
<name>Yann Esposito</name>
|
||||||
<uri>yannesposito.com</uri>
|
<uri>yannesposito.com</uri>
|
||||||
</author>
|
</author>
|
||||||
<link href="http://yannesposito.com/Scratch/fr/blog/2010-08-31-send-mail-from-command-line-with-attached-file/" rel="alternate"/>
|
<link rel="alternate" href="http://yannesposito.com/Scratch/fr/blog/2010-08-31-send-mail-from-command-line-with-attached-file/"/>
|
||||||
<content type="html"><p>J&rsquo;ai dû envoyer un mail en ligne de commande récemment.
|
<content type="html"><p>J&rsquo;ai dû envoyer un mail en ligne de commande récemment.
|
||||||
Quelle ne fût pas ma surprise lorsque je constatais que ce n&rsquo;était vraiment pas évident.
|
Quelle ne fût pas ma surprise lorsque je constatais que ce n&rsquo;était vraiment pas évident.
|
||||||
Je n&rsquo;avais ni <code>pine</code> ni <code>mutt</code>. Seulement <code>mail</code> et <code>mailx</code>.</p>
|
Je n&rsquo;avais ni <code>pine</code> ni <code>mutt</code>. Seulement <code>mail</code> et <code>mailx</code>.</p>
|
||||||
|
@ -635,7 +662,7 @@ Avec le format <code>.bz2</code> le mail reçu avait bien un fic
|
||||||
<name>Yann Esposito</name>
|
<name>Yann Esposito</name>
|
||||||
<uri>yannesposito.com</uri>
|
<uri>yannesposito.com</uri>
|
||||||
</author>
|
</author>
|
||||||
<link href="http://yannesposito.com/Scratch/fr/blog/2010-08-23-Now-heberged-on-heroku/" rel="alternate"/>
|
<link rel="alternate" href="http://yannesposito.com/Scratch/fr/blog/2010-08-23-Now-heberged-on-heroku/"/>
|
||||||
<content type="html"><h1 class="first" id="maintenant-sur-herokuhttpherokucom">Maintenant sur <a href="http://heroku.com">Heroku</a></h1>
|
<content type="html"><h1 class="first" id="maintenant-sur-herokuhttpherokucom">Maintenant sur <a href="http://heroku.com">Heroku</a></h1>
|
||||||
|
|
||||||
<p>J&rsquo;ai changé mon hébergeur. Mobileme n&rsquo;est absolument pas adapté à la diffusion de mon blog. C&rsquo;est pourquoi je suis passé à <a href="http://heroku.com">Heroku</a>.</p>
|
<p>J&rsquo;ai changé mon hébergeur. Mobileme n&rsquo;est absolument pas adapté à la diffusion de mon blog. C&rsquo;est pourquoi je suis passé à <a href="http://heroku.com">Heroku</a>.</p>
|
||||||
|
@ -656,7 +683,7 @@ Voici comment configurer un site statique sur heroku.</p>
|
||||||
<name>Yann Esposito</name>
|
<name>Yann Esposito</name>
|
||||||
<uri>yannesposito.com</uri>
|
<uri>yannesposito.com</uri>
|
||||||
</author>
|
</author>
|
||||||
<link href="http://yannesposito.com/Scratch/fr/blog/2010-07-09-Indecidabilities/" rel="alternate"/>
|
<link rel="alternate" href="http://yannesposito.com/Scratch/fr/blog/2010-07-09-Indecidabilities/"/>
|
||||||
<content type="html">
|
<content type="html">
|
||||||
</content>
|
</content>
|
||||||
</entry>
|
</entry>
|
||||||
|
@ -669,7 +696,7 @@ Voici comment configurer un site statique sur heroku.</p>
|
||||||
<name>Yann Esposito</name>
|
<name>Yann Esposito</name>
|
||||||
<uri>yannesposito.com</uri>
|
<uri>yannesposito.com</uri>
|
||||||
</author>
|
</author>
|
||||||
<link href="http://yannesposito.com/Scratch/fr/blog/2010-07-31-New-style-after-holidays/" rel="alternate"/>
|
<link rel="alternate" href="http://yannesposito.com/Scratch/fr/blog/2010-07-31-New-style-after-holidays/"/>
|
||||||
<content type="html"><p>Avant les vacances beaucoup d&rsquo;utilisateurs se sont plaints de la lenteur de rendu de mon site.
|
<content type="html"><p>Avant les vacances beaucoup d&rsquo;utilisateurs se sont plaints de la lenteur de rendu de mon site.
|
||||||
Il s&rsquo;agit notamment de problèmes avec Chrome en particulier.
|
Il s&rsquo;agit notamment de problèmes avec Chrome en particulier.
|
||||||
Mais pour éviter tout problème.
|
Mais pour éviter tout problème.
|
||||||
|
@ -688,7 +715,7 @@ Il est inspiré du style de l&rsquo;application iBooks<small>&
|
||||||
<name>Yann Esposito</name>
|
<name>Yann Esposito</name>
|
||||||
<uri>yannesposito.com</uri>
|
<uri>yannesposito.com</uri>
|
||||||
</author>
|
</author>
|
||||||
<link href="http://yannesposito.com/Scratch/fr/blog/2010-07-07-CSS-rendering-problems-by-navigator/" rel="alternate"/>
|
<link rel="alternate" href="http://yannesposito.com/Scratch/fr/blog/2010-07-07-CSS-rendering-problems-by-navigator/"/>
|
||||||
<content type="html"><p>Beaucoup d&rsquo;utilisateurs de <a href="http://reddit.com">Reddit</a> m&rsquo;ont rapporté que mon site était très long à charger et à <em>scroller</em>.
|
<content type="html"><p>Beaucoup d&rsquo;utilisateurs de <a href="http://reddit.com">Reddit</a> m&rsquo;ont rapporté que mon site était très long à charger et à <em>scroller</em>.
|
||||||
Ils pensaient qu&rsquo;il s&rsquo;agissait d&rsquo;un problème dû aux ombres que j&rsquo;applique sur le texte.
|
Ils pensaient qu&rsquo;il s&rsquo;agissait d&rsquo;un problème dû aux ombres que j&rsquo;applique sur le texte.
|
||||||
J&rsquo;étais un peu surpris puisque je fais mes tests sur une machine vraiment très lente et je n&rsquo;avais jamais détecté ces problèmes.
|
J&rsquo;étais un peu surpris puisque je fais mes tests sur une machine vraiment très lente et je n&rsquo;avais jamais détecté ces problèmes.
|
||||||
|
@ -712,7 +739,7 @@ En réalité, ce qui ralenti le rendu de ce site est par ordre d&rsq
|
||||||
<name>Yann Esposito</name>
|
<name>Yann Esposito</name>
|
||||||
<uri>yannesposito.com</uri>
|
<uri>yannesposito.com</uri>
|
||||||
</author>
|
</author>
|
||||||
<link href="http://yannesposito.com/Scratch/fr/blog/2010-07-05-Cappuccino-and-Web-applications/" rel="alternate"/>
|
<link rel="alternate" href="http://yannesposito.com/Scratch/fr/blog/2010-07-05-Cappuccino-and-Web-applications/"/>
|
||||||
<content type="html">
|
<content type="html">
|
||||||
<div class="intro">
|
<div class="intro">
|
||||||
|
|
||||||
|
@ -746,7 +773,7 @@ En réalité, ce qui ralenti le rendu de ce site est par ordre d&rsq
|
||||||
<name>Yann Esposito</name>
|
<name>Yann Esposito</name>
|
||||||
<uri>yannesposito.com</uri>
|
<uri>yannesposito.com</uri>
|
||||||
</author>
|
</author>
|
||||||
<link href="http://yannesposito.com/Scratch/fr/blog/2010-06-19-jQuery-popup-the-easy-way/" rel="alternate"/>
|
<link rel="alternate" href="http://yannesposito.com/Scratch/fr/blog/2010-06-19-jQuery-popup-the-easy-way/"/>
|
||||||
<content type="html"><p>Voici une façon simple et rapide pour faire des popups avec jQuery.</p>
|
<content type="html"><p>Voici une façon simple et rapide pour faire des popups avec jQuery.</p>
|
||||||
|
|
||||||
<div class="codefile"><a href="/Scratch/fr/blog/2010-06-19-jQuery-popup-the-easy-way/code/essai.js">&#x27A5; essai.js</a></div>
|
<div class="codefile"><a href="/Scratch/fr/blog/2010-06-19-jQuery-popup-the-easy-way/code/essai.js">&#x27A5; essai.js</a></div>
|
||||||
|
@ -779,7 +806,7 @@ function initCode() {
|
||||||
<name>Yann Esposito</name>
|
<name>Yann Esposito</name>
|
||||||
<uri>yannesposito.com</uri>
|
<uri>yannesposito.com</uri>
|
||||||
</author>
|
</author>
|
||||||
<link href="http://yannesposito.com/Scratch/fr/blog/2010-06-17-hide-yourself-to-analytics/" rel="alternate"/>
|
<link rel="alternate" href="http://yannesposito.com/Scratch/fr/blog/2010-06-17-hide-yourself-to-analytics/"/>
|
||||||
<content type="html"><p>Voici un moyen très simple de ne plus être comptabilisé dans les visites de son propre site.
|
<content type="html"><p>Voici un moyen très simple de ne plus être comptabilisé dans les visites de son propre site.
|
||||||
Tout d&rsquo;abord, vous devriez jeter un coup d&rsquo;œil sur comment <a href="/Scratch/fr/blog/2010-06-17-track-events-with-google-analytics">je gère les systèmes de récupération de statistiques</a>.
|
Tout d&rsquo;abord, vous devriez jeter un coup d&rsquo;œil sur comment <a href="/Scratch/fr/blog/2010-06-17-track-events-with-google-analytics">je gère les systèmes de récupération de statistiques</a>.
|
||||||
Je centralise tout dans un seul fichier javascript ce qui facilite le travail.</p>
|
Je centralise tout dans un seul fichier javascript ce qui facilite le travail.</p>
|
||||||
|
@ -803,7 +830,7 @@ Je centralise tout dans un seul fichier javascript ce qui facilite le travail.&l
|
||||||
<name>Yann Esposito</name>
|
<name>Yann Esposito</name>
|
||||||
<uri>yannesposito.com</uri>
|
<uri>yannesposito.com</uri>
|
||||||
</author>
|
</author>
|
||||||
<link href="http://yannesposito.com/Scratch/fr/blog/2010-06-17-track-events-with-google-analytics/" rel="alternate"/>
|
<link rel="alternate" href="http://yannesposito.com/Scratch/fr/blog/2010-06-17-track-events-with-google-analytics/"/>
|
||||||
<content type="html"><p>Voici comment analyser tous les clics que font vos utilisateurs sur votre blog en incluant google analytics de façon asynchrone.</p>
|
<content type="html"><p>Voici comment analyser tous les clics que font vos utilisateurs sur votre blog en incluant google analytics de façon asynchrone.</p>
|
||||||
|
|
||||||
<p>Dans le html, il faut utiliser <a href="http://jquery.com">jQuery</a> et un fichier que j&rsquo;ai appelé <code>yga.js</code>&nbsp;:</p>
|
<p>Dans le html, il faut utiliser <a href="http://jquery.com">jQuery</a> et un fichier que j&rsquo;ai appelé <code>yga.js</code>&nbsp;:</p>
|
||||||
|
@ -829,7 +856,7 @@ Je centralise tout dans un seul fichier javascript ce qui facilite le travail.&l
|
||||||
<name>Yann Esposito</name>
|
<name>Yann Esposito</name>
|
||||||
<uri>yannesposito.com</uri>
|
<uri>yannesposito.com</uri>
|
||||||
</author>
|
</author>
|
||||||
<link href="http://yannesposito.com/Scratch/fr/blog/2010-06-15-Get-my-blog-engine/" rel="alternate"/>
|
<link rel="alternate" href="http://yannesposito.com/Scratch/fr/blog/2010-06-15-Get-my-blog-engine/"/>
|
||||||
<content type="html"><p>J&rsquo;ai publié une version <em>light</em> de mon système de blog hier soir. Par <em>light</em> il faut comprendre avec un CSS plus épuré et plus portable (sans les bords ronds).
|
<content type="html"><p>J&rsquo;ai publié une version <em>light</em> de mon système de blog hier soir. Par <em>light</em> il faut comprendre avec un CSS plus épuré et plus portable (sans les bords ronds).
|
||||||
Vous pouvez le récupérer sur <a href="http://github.com/yogsototh/nanoc3_blog">github.com</a>.</p>
|
Vous pouvez le récupérer sur <a href="http://github.com/yogsototh/nanoc3_blog">github.com</a>.</p>
|
||||||
|
|
||||||
|
@ -851,7 +878,7 @@ Vous pouvez le récupérer sur <a href="http://github.com/yogsototh/n
|
||||||
<name>Yann Esposito</name>
|
<name>Yann Esposito</name>
|
||||||
<uri>yannesposito.com</uri>
|
<uri>yannesposito.com</uri>
|
||||||
</author>
|
</author>
|
||||||
<link href="http://yannesposito.com/Scratch/fr/blog/2010-06-14-multi-language-choices/" rel="alternate"/>
|
<link rel="alternate" href="http://yannesposito.com/Scratch/fr/blog/2010-06-14-multi-language-choices/"/>
|
||||||
<content type="html"><p>Je traduis la plupart de mes articles pour qu&rsquo;ils soient disponibles en français et en anglais.
|
<content type="html"><p>Je traduis la plupart de mes articles pour qu&rsquo;ils soient disponibles en français et en anglais.
|
||||||
La façon que l&rsquo;on m&rsquo;a conseillé était d&rsquo;avoir un fichier par langue. En général ça donne ça.</p>
|
La façon que l&rsquo;on m&rsquo;a conseillé était d&rsquo;avoir un fichier par langue. En général ça donne ça.</p>
|
||||||
|
|
||||||
|
@ -885,7 +912,7 @@ Lorsque je m&...</p></content>
|
||||||
<name>Yann Esposito</name>
|
<name>Yann Esposito</name>
|
||||||
<uri>yannesposito.com</uri>
|
<uri>yannesposito.com</uri>
|
||||||
</author>
|
</author>
|
||||||
<link href="http://yannesposito.com/Scratch/fr/blog/2010-05-24-Trees--Pragmatism-and-Formalism/" rel="alternate"/>
|
<link rel="alternate" href="http://yannesposito.com/Scratch/fr/blog/2010-05-24-Trees--Pragmatism-and-Formalism/"/>
|
||||||
<content type="html">
|
<content type="html">
|
||||||
<div class="intro">
|
<div class="intro">
|
||||||
|
|
||||||
|
@ -916,7 +943,7 @@ Lorsque je m&...</p></content>
|
||||||
<name>Yann Esposito</name>
|
<name>Yann Esposito</name>
|
||||||
<uri>yannesposito.com</uri>
|
<uri>yannesposito.com</uri>
|
||||||
</author>
|
</author>
|
||||||
<link href="http://yannesposito.com/Scratch/fr/blog/2010-05-19-How-to-cut-HTML-and-repair-it/" rel="alternate"/>
|
<link rel="alternate" href="http://yannesposito.com/Scratch/fr/blog/2010-05-19-How-to-cut-HTML-and-repair-it/"/>
|
||||||
<content type="html"><p>Sur ma page d&rsquo;accueil vous pouvez voir la liste des mes derniers articles avec le début de ceux-ci. Pour arriver à faire ça, j&rsquo;ai besoin de couper le code XHTML de mes pages en plein milieu. Il m&rsquo;a donc fallu trouver un moyen de les réparer.</p>
|
<content type="html"><p>Sur ma page d&rsquo;accueil vous pouvez voir la liste des mes derniers articles avec le début de ceux-ci. Pour arriver à faire ça, j&rsquo;ai besoin de couper le code XHTML de mes pages en plein milieu. Il m&rsquo;a donc fallu trouver un moyen de les réparer.</p>
|
||||||
|
|
||||||
<p>Prenons un exemple&nbsp;:</p>
|
<p>Prenons un exemple&nbsp;:</p>
|
||||||
|
@ -947,7 +974,7 @@ Lorsque je m&...</p></content>
|
||||||
<name>Yann Esposito</name>
|
<name>Yann Esposito</name>
|
||||||
<uri>yannesposito.com</uri>
|
<uri>yannesposito.com</uri>
|
||||||
</author>
|
</author>
|
||||||
<link href="http://yannesposito.com/Scratch/fr/blog/2010-05-17-at-least-this-blog-revive/" rel="alternate"/>
|
<link rel="alternate" href="http://yannesposito.com/Scratch/fr/blog/2010-05-17-at-least-this-blog-revive/"/>
|
||||||
<content type="html"><p>Bonjour à tous&nbsp;!</p>
|
<content type="html"><p>Bonjour à tous&nbsp;!</p>
|
||||||
|
|
||||||
<blockquote cite="http://www.madore.org/~david/weblog/2010-05.html#d.2010-05-12.1752">
|
<blockquote cite="http://www.madore.org/~david/weblog/2010-05.html#d.2010-05-12.1752">
|
||||||
|
@ -970,7 +997,7 @@ Lorsque je m&...</p></content>
|
||||||
<name>Yann Esposito</name>
|
<name>Yann Esposito</name>
|
||||||
<uri>yannesposito.com</uri>
|
<uri>yannesposito.com</uri>
|
||||||
</author>
|
</author>
|
||||||
<link href="http://yannesposito.com/Scratch/fr/blog/2010-03-23-Encapsulate-git/" rel="alternate"/>
|
<link rel="alternate" href="http://yannesposito.com/Scratch/fr/blog/2010-03-23-Encapsulate-git/"/>
|
||||||
<content type="html"><p><span class="intro">
|
<content type="html"><p><span class="intro">
|
||||||
Voici une solution pour conserver des branches divergentes avec <code>git</code>.
|
Voici une solution pour conserver des branches divergentes avec <code>git</code>.
|
||||||
Parce qu&rsquo;il est facile de <em>merger</em> par erreur, je propose un script qui encapsule le comportement de <code>git</code> pour interdire certains <em>merges</em> dangereux. Mais qui permet aussi de faire des merges en cascades de la racines vers les autres branches.
|
Parce qu&rsquo;il est facile de <em>merger</em> par erreur, je propose un script qui encapsule le comportement de <code>git</code> pour interdire certains <em>merges</em> dangereux. Mais qui permet aussi de faire des merges en cascades de la racines vers les autres branches.
|
||||||
|
@ -995,7 +1022,7 @@ Parce qu&rsquo;il est facile de <em>merger</em> par erreur, je p
|
||||||
<name>Yann Esposito</name>
|
<name>Yann Esposito</name>
|
||||||
<uri>yannesposito.com</uri>
|
<uri>yannesposito.com</uri>
|
||||||
</author>
|
</author>
|
||||||
<link href="http://yannesposito.com/Scratch/fr/blog/2010-03-22-Git-Tips/" rel="alternate"/>
|
<link rel="alternate" href="http://yannesposito.com/Scratch/fr/blog/2010-03-22-Git-Tips/"/>
|
||||||
<content type="html"><h2 class="first" id="cloner-de-github--travers-un-pare-feu">Cloner de github à travers un pare-feu</h2>
|
<content type="html"><h2 class="first" id="cloner-de-github--travers-un-pare-feu">Cloner de github à travers un pare-feu</h2>
|
||||||
|
|
||||||
<p>La façon standard:</p>
|
<p>La façon standard:</p>
|
||||||
|
@ -1035,7 +1062,7 @@ Parce qu&rsquo;il est facile de <em>merger</em> par erreur, je p
|
||||||
<name>Yann Esposito</name>
|
<name>Yann Esposito</name>
|
||||||
<uri>yannesposito.com</uri>
|
<uri>yannesposito.com</uri>
|
||||||
</author>
|
</author>
|
||||||
<link href="http://yannesposito.com/Scratch/fr/blog/2010-02-23-When-regexp-is-not-the-best-solution/" rel="alternate"/>
|
<link rel="alternate" href="http://yannesposito.com/Scratch/fr/blog/2010-02-23-When-regexp-is-not-the-best-solution/"/>
|
||||||
<content type="html"><p>Les expressions régulières sont très utiles. Cependant, elles ne sont pas toujours la meilleure manière d&rsquo;aborder certain problème autour des chaines de caractères.
|
<content type="html"><p>Les expressions régulières sont très utiles. Cependant, elles ne sont pas toujours la meilleure manière d&rsquo;aborder certain problème autour des chaines de caractères.
|
||||||
Et surtout quand les transformations que vous voulez accomplir sont simples.</p>
|
Et surtout quand les transformations que vous voulez accomplir sont simples.</p>
|
||||||
|
|
||||||
|
@ -1067,7 +1094,7 @@ ext=File.extname(str)
|
||||||
<name>Yann Esposito</name>
|
<name>Yann Esposito</name>
|
||||||
<uri>yannesposito.com</uri>
|
<uri>yannesposito.com</uri>
|
||||||
</author>
|
</author>
|
||||||
<link href="http://yannesposito.com/Scratch/fr/blog/2010-02-18-split-a-file-by-keyword/" rel="alternate"/>
|
<link rel="alternate" href="http://yannesposito.com/Scratch/fr/blog/2010-02-18-split-a-file-by-keyword/"/>
|
||||||
<content type="html"><p>Assez bizarrement, je n&rsquo;ai trouvé aucun outil UNIX pour découper un fichier par mot clé.
|
<content type="html"><p>Assez bizarrement, je n&rsquo;ai trouvé aucun outil UNIX pour découper un fichier par mot clé.
|
||||||
Alors j&rsquo;en ai fait un en <code>awk</code>. Je le met ici principalement pour moi, mais ça peut toujours servir à quelqu&rsquo;un d&rsquo;autre.
|
Alors j&rsquo;en ai fait un en <code>awk</code>. Je le met ici principalement pour moi, mais ça peut toujours servir à quelqu&rsquo;un d&rsquo;autre.
|
||||||
Le code suivant découpe un fichier pour chacune de ses ligne contenant le mot <code>UTC</code>.</p>
|
Le code suivant découpe un fichier pour chacune de ses ligne contenant le mot <code>UTC</code>.</p>
|
||||||
|
@ -1096,30 +1123,4 @@ Mon Dec 7 10:32:30 UTC 2009
|
||||||
<div>
|
<div>
|
||||||
...</div></content>
|
...</div></content>
|
||||||
</entry>
|
</entry>
|
||||||
<entry>
|
|
||||||
<id>tag:yannesposito.com,2010-02-16:/Scratch/fr/blog/2010-02-16-All-but-something-regexp--2-/</id>
|
|
||||||
<title type="html">Tout sauf quelquechose en expression régulière.</title>
|
|
||||||
<published>2010-02-16T08:33:21Z</published>
|
|
||||||
<updated>2010-02-16T08:33:21Z</updated>
|
|
||||||
<author>
|
|
||||||
<name>Yann Esposito</name>
|
|
||||||
<uri>yannesposito.com</uri>
|
|
||||||
</author>
|
|
||||||
<link href="http://yannesposito.com/Scratch/fr/blog/2010-02-16-All-but-something-regexp--2-/" rel="alternate"/>
|
|
||||||
<content type="html"><p>Dans mon <a href="previouspost">précédent article</a> j&rsquo;ai donné certaines astuces pour matcher &lsquo;tout sauf quelque chose&rsquo;. De la même manière, un truc pour matcher la chaine de caractère la plus petite possible.
|
|
||||||
Disons que vous voulez matcher la chaine de caractère entre &lsquo;a&rsquo; et &lsquo;b&rsquo;. Par exemple, vous voulez matcher&nbsp;:</p>
|
|
||||||
|
|
||||||
<pre class="twilight">
|
|
||||||
a.....<span class="Constant"><strong>a......b</strong></span>..b..a....<span class="Constant"><strong>a....b</strong></span>...
|
|
||||||
</pre>
|
|
||||||
|
|
||||||
<p>Voici les deux erreurs communes et une solution&nbsp;:</p>
|
|
||||||
|
|
||||||
<pre class="twilight">
|
|
||||||
/a.*b/
|
|
||||||
<span class="Constant"><strong>a.....a......b..b..a....a....b</strong></span>...
|
|
||||||
</pre>
|
|
||||||
|
|
||||||
<p>La première erreur vient de l&rsquo;utilisation du <em>terrible</em> </p></content>
|
|
||||||
</entry>
|
|
||||||
</feed>
|
</feed>
|
||||||
|
|
File diff suppressed because it is too large
Load diff
|
@ -62,7 +62,7 @@
|
||||||
|
|
||||||
<small>
|
<small>
|
||||||
<em>
|
<em>
|
||||||
<a style="color: #888" href="/Scratch/en/blog/Haskell-OpenGL-Mandelbrot/">
|
<a style="color: #888" href="/Scratch/en/blog/Category-Theory-Presentation/">
|
||||||
Latest <span class="nicer">»</span>
|
Latest <span class="nicer">»</span>
|
||||||
</a>
|
</a>
|
||||||
</em>
|
</em>
|
||||||
|
@ -81,7 +81,7 @@
|
||||||
|
|
||||||
<small>
|
<small>
|
||||||
<em>
|
<em>
|
||||||
<a style="color: #888" href="/Scratch/fr/blog/Haskell-OpenGL-Mandelbrot/">
|
<a style="color: #888" href="/Scratch/fr/blog/Category-Theory-Presentation/">
|
||||||
Dernier article <span class="nicer">»</span>
|
Dernier article <span class="nicer">»</span>
|
||||||
</a>
|
</a>
|
||||||
</em>
|
</em>
|
||||||
|
@ -107,7 +107,7 @@
|
||||||
<a rel="license" href="http://creativecommons.org/licenses/by-sa/3.0/">Copyright ©, Yann Esposito</a>
|
<a rel="license" href="http://creativecommons.org/licenses/by-sa/3.0/">Copyright ©, Yann Esposito</a>
|
||||||
</div>
|
</div>
|
||||||
<div id="lastmod">
|
<div id="lastmod">
|
||||||
Modified: 12/11/2012
|
Modified: 12/12/2012
|
||||||
</div>
|
</div>
|
||||||
<div>
|
<div>
|
||||||
Entirely done with
|
Entirely done with
|
||||||
|
|
BIN
output/keynote/categories.pdf
Normal file
BIN
output/keynote/categories.pdf
Normal file
Binary file not shown.
Loading…
Reference in a new issue