Upgra­de your Sam­sung Gala­xy S (GT-I9000) to KitKat

War­ning: tasks descri­bed below will lead to com­ple­te remo­val of data from your smart­pho­ne and might lead to bric­king it.

Root and CWM Recovery

It’s good to start by having rooted pho­ne with Andro­id Gin­ger­bre­ad 2.3.5 on board. During the pro­cess you might find your­self in hard posi­tion of try­ing to select pro­per builds for your sys­tem so I recom­mend wiping it com­ple­te­ly and fla­shing softwa­re sto­red in the fol­lo­wing pac­ka­ge: https://​archi​ve​.org/​d​e​t​a​i​l​s​/​i​9​0​0​0​_​g​a​l​a​x​y​s​mtd.7z. It contains:

  • Win­dows dri­vers for Sam­sung smartphones;
  • right ver­sion of Odin fla­shing softwa­re which works with our smartphone;
  • com­ple­te ima­ge of gin­ger­bre­ad andro­id, root and ker­nel with CWM recovery;
  • last rele­ase of cyano­gen­mod 11 for gala­xy­smtd;
  • selec­ted gapps. 

Ano­ther war­ning: You might want to fol­low the­se instruc­tions on a Win­dows sys­tem which you’re ready to rein­stall after­wards. It might get infec­ted during the pro­cess and vir­tu­al machi­ne will not suffice.

First step is instal­la­tion of Sam­sung dri­vers and Win­dows rebo­ot after­wards. Then we’ll start Odin. 1.83 is the last rele­ase which sup­ports I9000 cor­rec­tly, other­wi­se it might get stuck on ini­tia­li­zing connection”.

Let’s get to the pho­ne. We need to start it in Download mode by pres­sing and hol­ding VOL DOWN + POWER + HOME until it fla­shes with yel­low icon and text. Then we con­nect the pho­ne to com­pu­ter, Odin sho­uld react with mes­sa­ge con­ta­ining Added.

Download mode

Now in Odin I9000XXJW4_I9000OXAJW4_XEU we open the fol­lo­wing files:

  • PIT: s1_odin_20100512.pit
  • BOOTLO­ADER: APBOOT_I9000XXJW4_CL1043937.tar.md5
  • PDA: CODE_I9000XXJW4_CL1043937.tar.md5
  • PHO­NE: MODEM_I9000XXJW4_CL1118084.tar.md5

Next click on Start. Pro­cess will take a whi­le and our I9000 might restart few times, but do not react. When Odin tells you it’s fini­shed clo­se it and discon­nect the pho­ne. We need to restart the pho­ne into Downloadmode aga­in by pres­sing and hol­ding VOL DOWN + POWER + HOME until it fla­shes with yel­low icon and text. Then we con­nect it to the com­pu­ter and wait for Odin response.

This time from I9000XXJW4_I9000OXAJW4_XEU_DEODEX_ROOT direc­to­ry we select the­se files:

  • PIT: s1_odin_20100512.pit
  • PDA: CODE_I9000XXJW4_ROOT_DEODEX.tar.md5

And click on Start. This pro­cess sho­uld take less time. When Odin tells us it fini­shed our Sam­sung will be in the pro­cess of ano­ther restart. We need to clo­se Odin aga­in, and restart our pho­ne int o Download mode.

Tho­se restarts are neces­sa­ry in order for the who­le pro­cess to go smo­oth­ly, other wise you might get stuck with Odin not fla­shing files or not reco­gni­zing con­nec­ted phone.

One last time from CF-Root-XX_OXA_JW4-v4.4-CWM3RFS direc­to­ry we select CF-Root-XX_OXA_JW4-v4.4-CWM3RFS.tar as PDA and click on Start. After­wards pho­ne will rebo­ot into sys­tem sho­wing us first time wizard. We need to go thro­ugh until we have our sys­tem ready to work.

Upgra­de to Andro­id Kit­Kat 4.4

After recon­nec­ting pho­ne to the com­pu­ter it sho­uld anno­un­ce itself in the sys­tem and let us copy files onto it. We copy:

  • cm-11-20150901-SNAPSHOT-XNG3CAO3G0-galaxysmtd.zip
  • gapps-kk-20140606-signed.zip

To the main memo­ry of the I9000, not the SD card. Than discon­nect the phone.

This time we need to boot the pho­ne into Recovery mode by pres­sing and hol­ding VOL UP + POWER + HOME until it displays ano­ther menu of Cloc­kwork­mod reco­ve­ry. We go thro­ugh it using VOL UP (up), VOL DOWN (down) and HOME (select). Befo­re fla­shing new sys­tem on our Sam­sung we need t finish the fol­lo­wing tasks:

  • wipe data/factory reset
  • wipe cache partition
  • wipe dalvik cache (from advanced submenu)

Now that our pho­ne is wiped cle­an we can install CM11 by cho­osing install zip from sdcard option, selec­ting cm-11-20150901-SNAPSHOT-XNG3CAO3G0-galaxysmtd.zip from its memo­ry and con­fir­ming the task. After the start pho­ne will rebo­ot few times sho­wing dif­fe­rent scre­ens, ple­ase do not react and wait for it to finish.

When it’s done it will show you dif­fe­rent Reco­ve­ry scre­en ready for ano­ther tasks. Now we flash gapps by selec­ting install zip from sdcard option, selec­ting gapps-kk-20140606-signed.zip and con­fir­ming the pro­cess. This time pho­ne will not restart, just wait patien­tly for it to finish. Et voilà, ple­ase restart your pho­ne by cho­osing reboot system now. After stan­dard Sam­sung scre­en you’ll see Cyanogenmod’s boot scre­en. This start will take a long time so ple­ase wait for it to finish. When you see first time wizard you have suc­ce­ed and are ready to go!

Reco­ve­ring I9000 from brick

The­re are many ROMS and ver­sions ava­ila­ble, inc­lu­ding Andro­id 5, 6 and even 7. Not all of them are as easy to flash and as sta­ble as CM11. Users often note high bat­te­ry usa­ge and ove­rall slow­down of the sys­tem. The­re are also failing installs which left you with not wor­king TWRP or bootlo­op. If you will find your­self in one of tho­se brick situ­ations or in need to rever­se to the sta­ble sys­tem ple­ase fol­low Root and CWM Reco­ve­ry sec­tion of this guide. You’ll be up and run­ning in no time.

Continue Reading

Sounds of natu­re: Birds being fed

We’ve found a nest in a tree in front of our coun­try­si­de house. The­re were four baby birds regu­lar­ly fed by the­ir parents. You can hear them fly­ing in and out.
Cap­tu­red with ZOOM h2n.

This work is under Cre­ati­ve Com­mons Attri­bu­tion-Non­com­mer­cial-Sha­re Ali­ke 3.0 licen­se, so you can mix it and use for your own work! You can find the sound on soundc­lo­ud or archi​ve​.org.

Pho­to: Cour­te­sy of Marek Karpezo

Continue Reading

My book abo­ut Word­Press out now!

Might not be worth too much out­si­de of Poland but here it is. My first book con­ta­ining sum­ma­ry of tips and tricks used at work with WordPress.

It con­ta­ins infor­ma­tion about:

  • how and which the­mes and plu­gins you sho­uld consider;
  • how to secu­re your website;
  • make and resto­re your per­fect backup;
  • mana­ge SEO
  • run your own, pro­fes­sio­nal newsletter;
  • opti­mi­ze your websi­te for mobi­le devices;
  • spe­ed-up your WordPress

… and many more!

You can buy it onli­ne or as paper­back thanks to Kom­pu­ter Świat” maga­zi­ne.

Continue Reading

2020 that I’d be looking for­ward to

FSF Survey has this gre­at question, so I tho­ught that I’d sha­re my answer.

Ima­gi­ne it’s 2020 and people are more free and empo­we­red as com­pu­ter users, due to the efforts of the free softwa­re move­ment and the FSF. Descri­be some things that we have accom­pli­shed to reach this point.

My pho­ne is able to run softwa­re com­ple­te­ly of my cho­ice witho­ut so much effort as it was needed back then in boring 2016. It’s the pla­ce I sto­re my per­so­nal infor­ma­tion, com­ple­te­ly encryp­ted and I do most of my work on it. Just go some­whe­re con­nect with the scre­en, display key­bo­ard on the table and work. Big, old machi­nes and tho­se abo­mi­na­tions cal­led lap­tops were moved back to the server rooms aga­in! I’m able to get one for myself from local sto­re, set it up in minu­tes, con­nect and talk safe­ly with my family,friends and cowor­kers and tho­se who were so retar­ded that they still need this thing cal­led the clo­ud”. Distri­bu­ted eve­ry­thing. Everyone’s tal­king right now with eve­ry­one with no spy­ing from tho­se govern­ments and com­pa­nies giving you the­ir servers to talk through.

Discus­sion: Feel free to join the discus­sion under this post on Diaspora*

Continue Reading

Histo­ry migra­tion from ZSH to BASH

I’ve deci­ded to move back from zsh to bash shell. It appe­ared that histo­ry migra­tion is much big­ger pro­blem in this direc­tion, mostly due to pre­fix added by zsh:

: 2145123543:0;git push origin master

Num­bers are ran­dom, I’ve just wan­ted to show the exam­ple. I don’t know if it was cre­ated by my spe­ci­fic zsh con­fig based on [oh-my-zsh](https://github.com/robbyrussell/oh-my-zsh] or if zsh does that by default. For­tu­na­te­ly the­re is this sim­ple one-liner which will solve the pro­blem and migra­te your histo­ry in seconds:

cat ~/.zsh_history | sed 's/\:...........\:.\;//g' > ~/.bash_history

It remo­ves the pre­fix and saves the file in bash default loca­tion. After relo­ading bash you’ll be able to search thro­ugh your histo­ry. Ano­ther tip that I like to use in my com­pu­ting is .inputrc modi­fi­ca­tion which does the auto­com­ple­te based on the histo­ry on any sta­ge of buil­ding the com­mand, by using arrow keys „↑” and „↓”. You can find it in my con­figs repo­si­to­ry and put it in your home directory.

Continue Reading

GPG key trans­i­tion statement

Date: 8th Octo­ber, 2015
(You can also down­lo­ad this sta­te­ment signed by both the old and the new key.)

For a num­ber of reasons, i’ve recen­tly set up a new OpenPGP key, and will be trans­i­tio­ning away from my old one.

The old key will con­ti­nue to be valid for some time, but i pre­fer all futu­re cor­re­spon­den­ce to come to the new one. I would also like this new key to be re-inte­gra­ted into the web of trust. This mes­sa­ge is signed by both keys to cer­ti­fy the transition.

the old key was:

pub   2048R/DBAB60F2 2012-09-08
      Key fingerprint = 99A7 D000 D012 7BD7 F497  BC51 C277 D526 DBAB 60F2

And the new key is:

pub   4096R/3F332AEF 2015-10-08 [expires: 2017-10-07]
      Key fingerprint = 39FB 5452 5236 AB4E 886E  BA75 CE97 A663 3F33 2AEF

To fetch the full key (inc­lu­ding a pho­to uid, which is com­mon­ly strip­ped by public key­se­rvers), you can get it with:

wget -q -O- https://sirmacik.net/dl/mkarpezo.gpg | gpg --import -

Or, to fetch my new key from a public key server, you can sim­ply do:

gpg --keyserver pgp.mit.edu --recv-key 3F332AEF

If you alre­ady know my old key, you can now veri­fy that the new key is signed by the old one:

gpg --check-sigs 3F332AEF

If you don’t alre­ady know my old key, or you just want to be double extra para­no­id, you can check the fin­ger­print aga­inst the one above:

gpg --fingerprint 3F332AEF

If you are satis­fied that you’ve got the right key, and the UIDs match what you expect, I’d appre­cia­te it if you would sign my key:

gpg --sign-key 3F332AEF

Lastly, if you could uplo­ad the­se signa­tu­res, i would appre­cia­te it. You can either send me an e-mail with the new signa­tu­res (if you have a func­tio­nal MTA on your system):

gpg --armor --export 3F332AEF | mail -s 'OpenPGP Signatures' marcin@karpezo.pl

Or you can just uplo­ad the signa­tu­res to a public key­se­rver directly:

gpg --keyserver pgp.mit.edu --send-key 3F332AEF

Addi­tio­nal­ly, I high­ly recom­mend that you imple­ment a mecha­nism to keep your key mate­rial up-to-date so that you obta­in the latest revo­ca­tions, and other upda­tes in a time­ly man­ner. You can do regu­lar key upda­tes by using par­ci­mo­nie to refresh your key­ring. Par­ci­mo­nie is a daemon that slow­ly refre­shes your key­ring from a key­se­rver over Tor. It uses a ran­do­mi­zed sle­ep, and fresh tor cir­cu­its for each key. The pur­po­se is to make it hard for an attac­ker to cor­re­la­te the key upda­tes with your keyring.

I also high­ly recom­mend chec­king out the excel­lent Riseup GPG best prac­ti­ces doc, from which I sto­le most of the text for this trans­i­tion message 😉

Ple­ase let me know if the­re is any tro­uble, and sor­ry for the inconvenience.

Continue Reading

Cano­ni­cal is doing it wrong. Again.

Looks like Cano­ni­cal, cre­ators of Ubun­tu had a gre­at idea to imple­ment new mul­ti-devi­ce Linux distro – one code base for all, but deve­lop­ment takes too long. Results?

  • Desk­top users left with almost nothing to be hap­py abo­ut in each rele­ase for some time now. Even pac­ka­ge mana­ger cal­led Softwa­re Cen­ter” isn’t wor­king pro­per­ly any­mo­re for inde­pen­dent devs.
  • Mobi­le users can try to think posi­ti­ve abo­ut upco­ming Ubun­tu Pho­ne rele­ases, but they have to try real­ly hard
  • Ubun­tu will pro­ba­bly grow inde­pen­dent from Debian and deb pac­ka­ges, but not yet, so no new defaults in upco­ming rele­ases and no chan­ges in pre­sent set of apps. 
Continue Reading

Using Ope­nVPN with che­ap VPS and NetworkManager

Ano­ther gathe­ring of infor­ma­tion lay­ing aro­und in vario­us pla­ces over the web. This time I wan­ted to con­fi­gu­re Ope­nVPN on che­ap VPS (OVH clas­sic) and my Linux lap­tops and Andro­id devi­ces. After gre­at deal of pro­blem solving here it is:

The easy part is instal­ling Ope­nVPN on your VPS. Just fol­low the guide from Digi­ta­lO­ce­an. Down­lo­ad your desi­red file (I use auto­lo­gin ver­sion). It’s writ­ten for Cen­tOS but works well on other distros too. In my case on Ubun­tu Server. 

Continue Reading

The ulti­ma­te guide: Keepass2 on Ubun­tu with brow­ser integration

This one is writ­ten becau­se to install Keepass2 suc­cess­ful­ly on Ubun­tu 15.04 you need to read and search thro­ugh at least 5 dif­fe­rent sour­ces. So witho­ut fur­ther ado:

Add ppa’s for Keepass indi­ca­tor plugin:

sudo add-apt-repository ppa:dlech/keepass2-plugins
sudo add-apt-repository ppa:dlech/keepass2-plugins-beta
sudo apt-get update

Second one con­ta­ins upda­ted ver­sion with solved pro­blem of mis­sing libmagickwand5 depen­den­cy.

Continue Reading

Bet­ter laun­cher for LightTable

Tested on mul­ti­ple Desk­top Envi­ron­ments, this is the cool ver­sion which works much bet­ter than desk­top files you’ll find in most tuto­rials over the web:

[Desktop Entry]
Name=Light Table
Exec=/path/to/your/LightTable/ltbin --no-sandbox --process-per-tab --allow-file-access-from-files --enable-experimental-web-platform-features --enable-css-shaders

Hope this’ll work for you as well.


Continue Reading