Having some free time and being too used to Google Reader, I want an rss feed that can tell me the updates of slackware-current without having to check out slackware’s page, I wrote a perl script that does this for me. Also, friends at VnOSS put them on the server and had it run 4 times a day for us slackers. Now go ahead and add it to your reader: http://people.vnoss.org/swcurrent.xml
slackware-current changelog rss feed
05.19.2007, No Comments, development, opensource, slackware, by zecoj.I just found the almost-perfect tabbed terminal called mrxvt (previously called materm). It has tabs (with built-in widget so it doesn’t require gtk/qt crap), configurable keyboard shortcuts, and so much more. The only thing, well two things, that it sucks at is Unicode support and problem with XIM, which creates problem with xvnkb. Unicode? Well, that I can live without. In fact I can’t recall the last time I need to use Unicode in a terminal and in such case, urxvt & xterm are here.
Now, on to problem with XIM. I’ve submitted the bug to mrxvt developers but so far no help yet. Talked to xvnkb’s author, good friend he is but he was too busy to help. The problem was this: on versions 0.4.x it works just fine, but the pretty stuff comes with 0.5.x so I want that. On mrxvt v0.5.2, xvnkb’s just not working. I use xvnkb_ctrl to bind keyboard shortcuts but disable (-d) and enable (-e) just didn’t work.
Played with it for a while and found out, xvnkb GUI does work. Weird? But I don’t want to use that ugly and unfriendly GUI, I want my shortcuts! Keep playing and found that the GUI was only toggling while what I did with my shortcut was to disable and enable:
xvnkb_ctrl -d
xvnkb_ctrl -e
So I tried this to disable, enable it first and then toggle:
xvnkb_ctrl -e&&xvnkb_ctrl -t
Surprisingly, it worked like a charm. :) So that was the problem. No, that was how I fixed the problem. I still don’t know what the problem really is. And I don’t need to. Hey, I solved it.
04:08 nslam: aaa|work, ba’c oi
04:08 nslam: em cha.y
04:08 nslam: printf(“%d\n”,sizeof(double));
04:08 nslam: no’ ba’o lo^~i la`
04:09 nslam: ./test.cc: line 8: syntax error near unexpected token `”%d\n”,sizeof’
04:09 nslam: ./test.cc: line 8: `printf(“%d\n”,sizeof(double));’
04:09 nslam: aaa|work, la` sao ba’c?
04:09 aaa|work: nguye^n file test.cc ra sao
04:10 nslam: #include “stdlib.h”
04:10 nslam: #include
04:10 nslam: #include
04:10 nslam: main(){
04:10 nslam: printf(“%d\n”,sizeof(double));
04:10 nslam: }
04:10 nslam: va^.y ddo’ bac
04:11 nslam: aaa|work, ba’c co’ ca’ch na`o fix ho^ng?
04:12 aaa|work: thu+? rename test.cc => test.c xem sao L0Lz
04:13 nslam: cu~ng ru+’a bac o+i
04:13 b1nhb00ng: cha? co’ gi` sai ca? :-/
04:13 b1nhb00ng: reinstall gpp && reboot :))
04:13 aaa|work: hahaha
04:20 nslam: sao gio+` ca’c ba’c?:-o
04:20 b1nhb00ng: tho^i dde^? em co`m bai ro^`i gu+?i a.out cho nha’
04:21 *** [J] chuoi|work [n=Banana@210.245.35.13]
04:23 *** [Q] mschuoi [Read error: 104 (Connection reset by peer)]
04:26 *** [Q] nslam [Remote closed the connection]
04:26 *** [J] nslam [n=nslam@home.hcmuns.edu.vn]
04:26 * nslam dda.p tru’ng da^y nguo^`n
04:28 *** [Q] aaa|work [Read error: 145 (Connection timed out)]
04:31 NamNT: nslam: thay “stdlib.h” ba(`ng
04:33 nslam: nhu+ va^.y thi` no’ ba’o lo^~i na`y
04:33 nslam: ./test.cc: line 8: syntax error near unexpected token `”%d”\n,’
04:33 nslam: ./test.cc: line 8: `printf(“%d”\n, sizeof(double));’
04:33 nslam: :D
04:33 NamNT: “%d\n”
04:33 NamNT: kho^ng pha?i “%d”\n
04:33 nslam: ah, em nha^`m
04:34 nslam: ho^`i na~y del, ro^`i the^m va`o lo^.n cho^~D:
04:35 nslam: nhu+ng cu~ng ru+’a ba’c oi
04:36 NamNT: ?
04:36 nslam: lo^~i va^~n la` o+? cho^~ “%d\n”
04:36 b1nhb00ng: vo^lys
04:37 * chuoi|work tha^’y dhson ddang va(.t lo^ng … chm
04:37 chuoi|work: L0Lz
04:38 ntdt: sizeof(double) kho^ng pha?i la` 1 so^’ double :))
04:39 NamNT: ho^ hO^
04:39 NamNT: nslam: paste la.i doa.n code nguye^n ve.n vo^ da^u do’ di
04:39 nslam: em paste vo^ dda^y ha
04:40 b1nhb00ng: vnoss.net/p/
04:40 chuoi|work: cha(‘c edit ca’i file = MSWord
04:40 chuoi|work: :D
04:40 b1nhb00ng: unexpected paragraph-character :)))
04:41 *** [J] mschuoi [n=typn@unaffiliated/chairuou]
04:41 *** [M] Mode change by ChanServ [+o mschuoi]
04:41 nslam: http://vnoss.net/p/351 [26]
04:42 nslam: em paste ro^`i ddo’
04:42 ntdt: ./a.out
04:42 ntdt: 8
04:42 ntdt: lolz
04:43 ntdt: 8 bytes la` size cu?a double
04:43 NamNT: 64bit la` 8 byte dung roai
04:44 ntdt: cha(‘c ma’y ku nslam bi. ddie^n ro^`i
04:44 nslam: ca’i ddoa.n em vie^’t sai cho^~ na`o va^.y ca’c ba’c?
04:44 NamNT: nslam: cha(‘c la` vie^’t code trong windows
04:44 NamNT: chuyen qua linux
04:44 NamNT: bi. ^M
04:44 ntdt: cha? co’ gi` sai :))
04:44 nslam: em la`m va^`y
04:44 nslam: touch test.cc
04:44 nslam: ro^`i vim test.cc
04:44 NamNT: nslam: dos2unix test.cc
04:44 b1nhb00ng: ^M no’ cu~ng cha? ba’o o+? line ddo’
04:45 nslam: NamNT, em edit tre^n Debian ma`
04:46 NamNT: nslam: compile ra sao vay?
04:47 nslam: ./test.cc
04:47 NamNT: ?
04:47 NamNT: hehehe
04:47 NamNT: :-))
04:47 b1nhb00ng: :)))
04:47 * NamNT ho?i 1 ca^u ngo+’ nga^?n
04:47 NamNT: ma` ho^?ng de` tru’ng ngay cho^~ hie^?m
04:47 * b1nhb00ng rofl!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
04:47 nslam: ua?, chu+’ pha?i la`m sao ba’c?:-o
04:47 nslam: em ho^ng nho+’:D
04:48 NamNT: nslam: gcc -o test test.cc
04:48 NamNT: sau do’ cha.y ./test
04:48 * b1nhb00ng ddi lau nu+o+’c ma(‘t
04:48 b1nhb00ng: nslam: gpp test.cc && ./a.out
04:48 * chuoi|work la(.m kbd dda^.p dda^.p vo^ … kho^ng khi’ la(n lo^.n cuo`i sa(`ng sa(.c
04:49 b1nhb00ng: la^u la(‘m ro^`i mo+’i ddc cu+o+`i mo^.t la^`n dda~ the^’ na`y
04:49 ntdt: rofl
04:49 nslam: no’ ra va^`y ne
04:49 b1nhb00ng: xin phe’p ca’c ba’c, em ddi blog ca’i na`y
Ok, so I got a used DSLR. What I didn’t pay attention to was the fact that the shutter has a certain life cycle. According to sources on…google, the EOS 20D has a life expectancy of 100,000 shots. Small number I thought. So I searched and searched, and after a while with good keywords comes this guide.
For the EOS Canon users. You can see how many times the shutter actuated using a hex editor and a RAW file.
Tools needed:
- Hex Editor (XVI32 Preferred You can download it here FOR FREE!)
- RAW Image file from your cameraBaiscly what your doing is getting the number located at 95D and 95E and converting it from HEX to DECIMAL. If you do not know exactly how to do this. I will show you below
Step By Step Documentation using Xvi32.
1.) Load Xvi32
2.) Go to Tools>Options>Data Inspector (it’s a TAB)
3.) Click “big-endian (MOTOROLA)”
4.) Click “OK” Button to exit out of the options
5.) Go to File>Open>”CHOOSE YOUR RAW IMAGE FILE” then click open
6.) Go to Address>Goto (Or CTRL+G)
7.) Click “Hexadecimal” then TYPE “95D” into the box below
8.) Click “OK”
9.) Then go to TOOLS>DECODE NUMBER
10.) LOOK at “XX XX As Word” (XX Being your numbers located in 95D,E).
11.) The number next to it is your Actuation number.
Good deal, so I took a picture, copied the raw file over gphoto2, fired up xxd and do some processing. And I got 10414 as my shutter count. Subtracting around one thousand shots I’ve taken since I bought the camera, I thought I got a pretty good deal ;)
Some people say life’s too short to worry about shutter break-down. But it’s nice to know where you’re at anyways. So, if you have a 20d and run Linux, try this at home
echo $((0x`xxd YOUR_RAW_FILE_HERE.CR2|head -150|grep "0000950:"|cut --characters=42,43,45,46`))
PS: There are some guides said you can just read the EXIF tag off the JPEG file from some reader and/or flickr but from personal experiences I do not find this to be correct. I tried with two consecutive files and the shutter counts differ greatly. So be warned :)