This issue was due to SIM card.
Try remove the SIM card while doing upgrade. Once the upgrade is complete, we can reinsert the SIM card.
Tuesday, October 18, 2011
Monday, September 5, 2011
Recover file name copied from iPod/iPhone
With gtkPod, we are able to connect to iPhone/iPod and copy all the files, but the filenames are all cryptic (they are all in four letters). With the following script, we can recover the file names and convert them into readable format in the form of "artist - album" pattern.
Save the above script into an executable file, say mp4fixname.
To fix a filename, just run it and pass the encoded filename.
For example, if the file name is NXJA.m4a, we just run the script as below:
mp4fixname NXJA.m4a
The original filename will be replaced in artist and song name format according to metadata/tags stored in the original file.
#!/bin/sh FULLPATH=$1 FILE=${FULLPATH##*/} FILENAME=${FILE%.*} EXT=${FILE##*.} #echo "FILENAME=$FILENAME" #echo "EXTension=$EXT" shift OPTS=$@ echo filename=$FILENAME meta=`mp4info "$FULLPATH" | awk '/Metadata / {sub(/^[ \t]+/, "")};1'` #echo meta=$meta TITLE=`echo "$meta" | awk '/Metadata Name: / {gsub(/Metadata Name: /,""); print }'` ARTIST=`echo "$meta" | awk '/Metadata Artist: / {gsub(/Metadata Artist: /,""); print }'` if [ -z "$TITLE" ] then TITLE="unknown" else echo TITLE=$TITLE fi if [ -z "$ARTIST" ] then ARTIST="unknown" else echo ARTIST=$ARTIST fi TARGET="$ARTIST - $TITLE.$EXT" cp "$FULLPATH" "$TARGET" if [ -n $ "$TARGET" ] then rm "$FULLPATH" fi
Save the above script into an executable file, say mp4fixname.
To fix a filename, just run it and pass the encoded filename.
For example, if the file name is NXJA.m4a, we just run the script as below:
mp4fixname NXJA.m4a
The original filename will be replaced in artist and song name format according to metadata/tags stored in the original file.
Converting m4a song to mp3 format
Sometimes, I need to convert files I bought from iTunes to MP3 format. Well, actually not all songs we buy convertable to MP3. Only non-DRM format (with m4a extension) can be converted. The protected format with m4p extension still cannot be converted, theoritically at least (there is a hack to remove the DRM. But that's not easy and won't be covered here).
The following script converts an MP4 file to MP3 format.
It copies all the tags stored in the original file into the target file.
Make sure you have ffmpeg, mp4info, awk, and bc installed.
Save the file, say, to m4a2mp3 and make it executable.
To convert a song:
m4a2mp3 song.m4a
The target file name is the same, except the extension now is MP3. Also, some tags/metadata are replaced to reflect the new format. If you want to add other options, you can put that after file name. For example: m4a2mp3 song.m4a -metadata mymeta="converted from m4a"
The following script converts an MP4 file to MP3 format.
It copies all the tags stored in the original file into the target file.
Make sure you have ffmpeg, mp4info, awk, and bc installed.
#!/bin/bash #!/bin/bash FULLPATH=$1 file=${FULLPATH##*/} FILENAME=${file%.*} EXT=${file##*.} #echo "FILENAME=$FILENAME" #echo "EXTension=$EXT" shift OPTS=$@ if [ `echo $EXT | tr [:upper:] [:lower:]` = "m4a" ] then bitratekbps=`mp4info "$FULLPATH" | awk '$1 ~ /([0-9]+) kbps/g {print $8}'` bitratebps=`echo "scale=10; $bitratekbps*1000" | bc -l` hz=`mp4info "$FULLPATH" | awk '$1 ~ /([0-9]+) kbps/g {print $10}'` ffmpeg -i "$FILENAME.m4a" -aq 1 -ab $bitratebps -ar $hz -f mp3 \ -metadata major_brand="MP3" \ -metadata compatible_brands="MP3 libmp3lame" \ "$FILENAME.mp3" $OPTS fi
Save the file, say, to m4a2mp3 and make it executable.
To convert a song:
m4a2mp3 song.m4a
The target file name is the same, except the extension now is MP3. Also, some tags/metadata are replaced to reflect the new format. If you want to add other options, you can put that after file name. For example: m4a2mp3 song.m4a -metadata mymeta="converted from m4a"
Monday, August 8, 2011
Assembly in Linux
section .data hello: db 'Hello world!',10 ; 'Hello world!' plus a linefeed character helloLen: equ $-hello ; Length of the 'Hello world!' string section .text global _start _start: mov ecx,5 ; display the string 5 times_loop: mov eax,4 ; The system call for write (sys_write) mov ebx,1 ; File descriptor 1 - standard output push ecx ; save ecx as it is gonna be used as param to sys_write mov ecx,hello ; Put the offset of hello in ecx mov edx,helloLen ; helloLen is a constant, so we don't need to say ; mov edx,[helloLen] to get it's actual value int 80h ; Call the kernel pop ecx ; restore ecx (counter) loop _loop mov eax,1 ; The system call for exit (sys_exit) mov ebx,0 ; Exit with return code of 0 (no error) int 80hSteps:
- Save the file as syscall.asm
- Execute: nasm -f elf syscall.asm
- Execute: ld -s -o syscall syscall.o
- run it as: ./syscall
- To check the object file, we can use objdump, elfdump, or readelf. For example:
$ readelf -a ./syscall.o ELF Header: Magic: 7f 45 4c 46 01 01 01 00 00 00 00 00 00 00 00 00 Class: ELF32 Data: 2's complement, little endian Version: 1 (current) OS/ABI: UNIX - System V ABI Version: 0 Type: REL (Relocatable file) Machine: Intel 80386 Version: 0x1 Entry point address: 0x0 Start of program headers: 0 (bytes into file) Start of section headers: 64 (bytes into file) Flags: 0x0 Size of this header: 52 (bytes) Size of program headers: 0 (bytes) Number of program headers: 0 Size of section headers: 40 (bytes) Number of section headers: 7 Section header string table index: 3 Section Headers: [Nr] Name Type Addr Off Size ES Flg Lk Inf Al [ 0] NULL 00000000 000000 000000 00 0 0 0 [ 1] .data PROGBITS 00000000 000160 00000d 00 WA 0 0 4 [ 2] .text PROGBITS 00000000 000170 00002b 00 AX 0 0 16 [ 3] .shstrtab STRTAB 00000000 0001a0 000031 00 0 0 1 [ 4] .symtab SYMTAB 00000000 0001e0 000080 10 5 7 4 [ 5] .strtab STRTAB 00000000 000260 000029 00 0 0 1 [ 6] .rel.text REL 00000000 000290 000008 08 4 2 4 $ readelf -a ./syscall.o ELF Header:s: Magic: 7f 45 4c 46 01 01 01 00 00 00 00 00 00 00 00 00 Class: ELF32unknown) Data: 2's complement, little endianpecific) Version: 1 (current) OS/ABI: UNIX - System V ABI Version: 0 Type: REL (Relocatable file) Machine: Intel 80386 Version: 0x1 0x290 contains 1 entries: Entry point address: 0x0Value Sym. Name Start of program headers: 0 (bytes into file) Start of section headers: 64 (bytes into file) Flags: 0x0e. Size of this header: 52 (bytes) Size of program headers: 0 (bytes) Number of program headers: 0Vis Ndx Name Size of section headers: 40 (bytes)UND Number of section headers: 7DEFAULT ABS syscall.asm Section header string table index: 3DEFAULT 1 3: 00000000 0 SECTION LOCAL DEFAULT 2 Section Headers: 0 NOTYPE LOCAL DEFAULT 1 hello [Nr] Name Type Addr Off Size ES Flg Lk Inf Al [ 0] NULL 00000000 000000 000000 00 0 0 0 [ 1] .data PROGBITS 00000000 000160 00000d 00 WA 0 0 4 [ 2] .text PROGBITS 00000000 000170 00002b 00 AX 0 0 16 [ 3] .shstrtab STRTAB 00000000 0001a0 000031 00 0 0 1 [ 4] .symtab SYMTAB 00000000 0001e0 000080 10 5 7 4 [ 5] .strtab STRTAB 00000000 000260 000029 00 0 0 1 [ 6] .rel.text REL 00000000 000290 000008 08 4 2 4 Key to Flags: W (write), A (alloc), X (execute), M (merge), S (strings) I (info), L (link order), G (group), x (unknown) O (extra OS processing required) o (OS specific), p (processor specific) There are no section groups in this file. There are no program headers in this file. Relocation section '.rel.text' at offset 0x290 contains 1 entries: Offset Info Type Sym.Value Sym. Name 00000011 00000201 R_386_32 00000000 .data There are no unwind sections in this file. Symbol table '.symtab' contains 8 entries: Num: Value Size Type Bind Vis Ndx Name 0: 00000000 0 NOTYPE LOCAL DEFAULT UND 1: 00000000 0 FILE LOCAL DEFAULT ABS syscall.asm 2: 00000000 0 SECTION LOCAL DEFAULT 1 3: 00000000 0 SECTION LOCAL DEFAULT 2 4: 00000000 0 NOTYPE LOCAL DEFAULT 1 hello 5: 0000000d 0 NOTYPE LOCAL DEFAULT ABS helloLen 6: 00000005 0 NOTYPE LOCAL DEFAULT 2 _loop 7: 00000000 0 NOTYPE GLOBAL DEFAULT 2 _start No version information found in this file.
Tuesday, July 5, 2011
Relacing OpenJDK with Oracle/Sun Java SDK as default java
According to some sources, Sun/Oracle JDK or JRE is slightly faster than OpenJDK. To install the SunJDK without removing the OpenJDK is as follow:
#!/bin/sh
for FP in /usr/java/default/bin/* ; do
NAME=${FP##*/}
echo installing $NAME
sudo alternatives --install /usr/bin/${NAME} ${NAME} /usr/java/default/bin/${NAME} 20000
alternatives --display "${NAME}" | grep "${NAME}"
done
- Download the SDK from here
- Install the SDK. For example: sudo rpm -Uvih <sdk rpmfile> or sudo sh ./<sdk bin file>
- Once it is installed, copy-paste the following script and execute it
#!/bin/sh
for FP in /usr/java/default/bin/* ; do
NAME=${FP##*/}
echo installing $NAME
sudo alternatives --install /usr/bin/${NAME} ${NAME} /usr/java/default/bin/${NAME} 20000
alternatives --display "${NAME}" | grep "${NAME}"
done
Sunday, June 12, 2011
New Nook v.s. Amazon Kindle
Today I went to Barnes & Noble store and attracted with a Nook display. Coincidentally, I was also carrying my Kindle with me, so now I have a chance to compare it visually. First of all, the overall physical size of the new Nook is smaller than Kindle, because it has got rid of physical keyboard. Instead, a visual keyboard would be displayed whenever needed. As you might have known, this new Nook is now equipped with touch screen and I guess it is capacitive touch screen as it is very responsive. The screen area is actually about the same as Kindle's screen.
For the resolution, Kindle is tad better. This is based on my visual check by starring at each screen very closely (I got to remove my glasses to get better visual). Letters on Kindle are darker and smoother (but not much better), but Nook screen is whiter. Screen refresh rate (refresh between page) is faster on the Nook. Page buttons are located the same as Kindle (page-up and page-down are on left and right edge of the body). For the weight, I guess Kindle is slightly lighter on my hand, but it's hard to make a correct and accurate judgment without put them on scale.
Something interesting is the power life. Nook is apparently is the winner, at least according to the sales person. It can last up to 2 months with Wi-Fi turned off, while on Kindle is about a month. Price wise, Kindle is a bit cheaper, especially if we're OK with ads-supplied screen-saver version of it. On Amazon website, the ads-supported version is $114 (with no sales tax if we buy from California, and no shipping cost), while the Nook is $139 + sales tax. The web browser on Nook is better.
For the collection of books available, Amazon seems has little bit more selection, but B&N is catching up quickly too. A feature that's not available on Kindle is "Rent" and "Read in store", and this would make Nook very appealing for some users who want to borrow a book from friend or just want to read a book in B&N store (although not all e-books can be read or rented). I hope Amazon will match it with the similar offering. Nook is also EPUB-compatible reader, while Amazon's Kindle uses a proprietary format (Mobile-pocket-based MOBI format with DRM added). While many books can be converted with a tool such as Calibre (EPUB to MOBI and vice versa), others are nonconvertible.
Internally, they both are based on Linux, although Nook is Android-base. No surprise the Nook is faster because it uses more recent hardware, while Kindle has been a year old in the market. I think Amazon is preparing a next gen one. Just wait and see a couple of months as rumors say the will introduce the new one. The rumor also says Kindle might have a touch screen too (some people in the internet forum wish Amazon not to arm it with a touch screen. I don't understand what's the reason behind it yet).
Overall, I guess they tie in many comparisons. Only our preferences can tell which one to buy. If I haven't had Kindle, I might buy this new Nook because it's cute (very portable and almost fit in my shirt pocket) and has some features not available on Kindle.
=-=-=-=-=
Powered by Blogilo
For the resolution, Kindle is tad better. This is based on my visual check by starring at each screen very closely (I got to remove my glasses to get better visual). Letters on Kindle are darker and smoother (but not much better), but Nook screen is whiter. Screen refresh rate (refresh between page) is faster on the Nook. Page buttons are located the same as Kindle (page-up and page-down are on left and right edge of the body). For the weight, I guess Kindle is slightly lighter on my hand, but it's hard to make a correct and accurate judgment without put them on scale.
Something interesting is the power life. Nook is apparently is the winner, at least according to the sales person. It can last up to 2 months with Wi-Fi turned off, while on Kindle is about a month. Price wise, Kindle is a bit cheaper, especially if we're OK with ads-supplied screen-saver version of it. On Amazon website, the ads-supported version is $114 (with no sales tax if we buy from California, and no shipping cost), while the Nook is $139 + sales tax. The web browser on Nook is better.
For the collection of books available, Amazon seems has little bit more selection, but B&N is catching up quickly too. A feature that's not available on Kindle is "Rent" and "Read in store", and this would make Nook very appealing for some users who want to borrow a book from friend or just want to read a book in B&N store (although not all e-books can be read or rented). I hope Amazon will match it with the similar offering. Nook is also EPUB-compatible reader, while Amazon's Kindle uses a proprietary format (Mobile-pocket-based MOBI format with DRM added). While many books can be converted with a tool such as Calibre (EPUB to MOBI and vice versa), others are nonconvertible.
Internally, they both are based on Linux, although Nook is Android-base. No surprise the Nook is faster because it uses more recent hardware, while Kindle has been a year old in the market. I think Amazon is preparing a next gen one. Just wait and see a couple of months as rumors say the will introduce the new one. The rumor also says Kindle might have a touch screen too (some people in the internet forum wish Amazon not to arm it with a touch screen. I don't understand what's the reason behind it yet).
Overall, I guess they tie in many comparisons. Only our preferences can tell which one to buy. If I haven't had Kindle, I might buy this new Nook because it's cute (very portable and almost fit in my shirt pocket) and has some features not available on Kindle.
=-=-=-=-=
Powered by Blogilo
Subscribe to:
Posts (Atom)