Warning: tasks described below will lead to complete removal of data from your smartphone and might lead to bricking it.
Root and CWM Recovery
It’s good to start by having rooted phone with Android Gingerbread 2.3.5 on board. During the process you might find yourself in hard position of trying to select proper builds for your system so I recommend wiping it completely and flashing software stored in the following package: https://archive.org/details/i9000_galaxysmtd.7z. It contains:
Windows drivers for Samsung smartphones;
right version of Odin flashing software which works with our smartphone;
complete image of gingerbread android, root and kernel with CWM recovery;
last release of cyanogenmod 11 for galaxysmtd;
selected gapps.
Another warning: You might want to follow these instructions on a Windows system which you’re ready to reinstall afterwards. It might get infected during the process and virtual machine will not suffice.
First step is installation of Samsung drivers and Windows reboot afterwards. Then we’ll start Odin. 1.83 is the last release which supports I9000 correctly, otherwise it might get stuck on „initializing connection”.
Let’s get to the phone. We need to start it in Download mode by pressing and holding VOL DOWN + POWER + HOME until it flashes with yellow icon and text. Then we connect the phone to computer, Odin should react with message containing Added.
Now in Odin I9000XXJW4_I9000OXAJW4_XEU we open the following files:
PIT: s1_odin_20100512.pit
BOOTLOADER: APBOOT_I9000XXJW4_CL1043937.tar.md5
PDA: CODE_I9000XXJW4_CL1043937.tar.md5
PHONE: MODEM_I9000XXJW4_CL1118084.tar.md5
CSC: GT-I9000-CSC-HOME-MULTI-OXAJW4-LITE.tar.md5
Next click on Start. Process will take a while and our I9000 might restart few times, but do not react. When Odin tells you it’s finished close it and disconnect the phone. We need to restart the phone into Downloadmode again by pressing and holding VOL DOWN + POWER + HOME until it flashes with yellow icon and text. Then we connect it to the computer and wait for Odin response.
This time from I9000XXJW4_I9000OXAJW4_XEU_DEODEX_ROOT directory we select these files:
PIT: s1_odin_20100512.pit
PDA: CODE_I9000XXJW4_ROOT_DEODEX.tar.md5
And click on Start. This process should take less time. When Odin tells us it finished our Samsung will be in the process of another restart. We need to close Odin again, and restart our phone int o Download mode.
Those restarts are necessary in order for the whole process to go smoothly, other wise you might get stuck with Odin not flashing files or not recognizing connected phone.
One last time from CF-Root-XX_OXA_JW4-v4.4-CWM3RFS directory we select CF-Root-XX_OXA_JW4-v4.4-CWM3RFS.tar as PDA and click on Start. Afterwards phone will reboot into system showing us first time wizard. We need to go through until we have our system ready to work.
Upgrade to Android KitKat 4.4
After reconnecting phone to the computer it should announce itself in the system and let us copy files onto it. We copy:
cm-11-20150901-SNAPSHOT-XNG3CAO3G0-galaxysmtd.zip
gapps-kk-20140606-signed.zip
To the main memory of the I9000, not the SD card. Than disconnect the phone.
This time we need to boot the phone into Recovery mode by pressing and holding VOL UP + POWER + HOME until it displays another menu of Clockworkmod recovery. We go through it using VOL UP (up), VOL DOWN (down) and HOME (select). Before flashing new system on our Samsung we need t finish the following tasks:
wipe data/factory reset
wipe cache partition
wipe dalvik cache (from advanced submenu)
Now that our phone is wiped clean we can install CM11 by choosing install zip from sdcard option, selecting cm-11-20150901-SNAPSHOT-XNG3CAO3G0-galaxysmtd.zip from its memory and confirming the task. After the start phone will reboot few times showing different screens, please do not react and wait for it to finish.
When it’s done it will show you different Recovery screen ready for another tasks. Now we flash gapps by selecting install zip from sdcard option, selecting gapps-kk-20140606-signed.zip and confirming the process. This time phone will not restart, just wait patiently for it to finish. Et voilà, please restart your phone by choosing reboot system now. After standard Samsung screen you’ll see Cyanogenmod’s boot screen. This start will take a long time so please wait for it to finish. When you see first time wizard you have succeed and are ready to go!
Recovering I9000 from brick
There are many ROMS and versions available, including Android 5, 6 and even 7. Not all of them are as easy to flash and as stable as CM11. Users often note high battery usage and overall slowdown of the system. There are also failing installs which left you with not working TWRP or bootloop. If you will find yourself in one of those brick situations or in need to reverse to the stable system please follow Root and CWM Recovery section of this guide. You’ll be up and running in no time.
We’ve found a nest in a tree in front of our countryside house. There were four baby birds regularly fed by their parents. You can hear them flying in and out. Captured with ZOOM h2n.
This work is under Creative Commons Attribution-Noncommercial-Share Alike 3.0 license, so you can mix it and use for your own work! You can find the sound on soundcloud or archive.org.
FSF Survey has this great question, so I thought that I’d share my answer.
Imagine it’s 2020 and people are more free and empowered as computer users, due to the efforts of the free software movement and the FSF. Describe some things that we have accomplished to reach this point.
My phone is able to run software completely of my choice without so much effort as it was needed back then in boring 2016. It’s the place I store my personal information, completely encrypted and I do most of my work on it. Just go somewhere connect with the screen, display keyboard on the table and work. Big, old machines and those abominations called laptops were moved back to the server rooms again! I’m able to get one for myself from local store, set it up in minutes, connect and talk safely with my family,friends and coworkers and those who were so retarded that they still need this thing called “the cloud”. Distributed everything. Everyone’s talking right now with everyone with no spying from those governments and companies giving you their servers to talk through.
I’ve decided to move back from zsh to bash shell. It appeared that history migration is much bigger problem in this direction, mostly due to prefix added by zsh:
: 2145123543:0;git push origin master
Numbers are random, I’ve just wanted to show the example. I don’t know if it was created by my specific zsh config based on [oh-my-zsh](https://github.com/robbyrussell/oh-my-zsh] or if zsh does that by default. Fortunately there is this simple one-liner which will solve the problem and migrate your history in seconds:
cat ~/.zsh_history | sed 's/\:...........\:.\;//g' > ~/.bash_history
It removes the prefix and saves the file in bash default location. After reloading bash you’ll be able to search through your history. Another tip that I like to use in my computing is .inputrc modification which does the autocomplete based on the history on any stage of building the command, by using arrow keys “↑” and “↓”. You can find it in my configs repository and put it in your home directory.
For a number of reasons, i’ve recently set up a new OpenPGP key, and will be transitioning away from my old one.
The old key will continue to be valid for some time, but i prefer all future correspondence to come to the new one. I would also like this new key to be re-integrated into the web of trust. This message is signed by both keys to certify the transition.
Or, to fetch my new key from a public key server, you can simply do:
gpg --keyserver pgp.mit.edu --recv-key 3F332AEF
If you already know my old key, you can now verify that the new key is signed by the old one:
gpg --check-sigs 3F332AEF
If you don’t already know my old key, or you just want to be double extra paranoid, you can check the fingerprint against the one above:
gpg --fingerprint 3F332AEF
If you are satisfied that you’ve got the right key, and the UIDs match what you expect, I’d appreciate it if you would sign my key:
gpg --sign-key 3F332AEF
Lastly, if you could upload these signatures, i would appreciate it. You can either send me an e-mail with the new signatures (if you have a functional MTA on your system):
gpg --armor --export 3F332AEF | mail -s 'OpenPGP Signatures' marcin@karpezo.pl
Or you can just upload the signatures to a public keyserver directly:
gpg --keyserver pgp.mit.edu --send-key 3F332AEF
Additionally, I highly recommend that you implement a mechanism to keep your key material up-to-date so that you obtain the latest revocations, and other updates in a timely manner. You can do regular key updates by using parcimonie to refresh your keyring. Parcimonie is a daemon that slowly refreshes your keyring from a keyserver over Tor. It uses a randomized sleep, and fresh tor circuits for each key. The purpose is to make it hard for an attacker to correlate the key updates with your keyring.
Looks like Canonical, creators of Ubuntu had a great idea to implement new multi-device Linux distro – one code base for all, but development takes too long. Results?
Mobile users can try to think positive about upcoming Ubuntu Phone releases, but they have to try really hard
Ubuntu will probably grow independent from Debian and deb packages, but not yet, so no new defaults in upcoming releases and no changes in present set of apps.
Another gathering of information laying around in various places over the web. This time I wanted to configure OpenVPN on cheap VPS (OVH classic) and my Linux laptops and Android devices. After great deal of problem solving here it is:
The easy part is installing OpenVPN on your VPS. Just follow the guide from DigitalOcean. Download your desired file (I use autologin version). It’s written for CentOS but works well on other distros too. In my case on Ubuntu Server.
This one is written because to install Keepass2 successfully on Ubuntu 15.04 you need to read and search through at least 5 different sources. So without further ado: