Tokens — Page 34

aptitude - Unknown error executing gpgv

Recently trying an update with aptitude or apt-get resulted in an error:

Hit ftp://ftp.tr.debian.org lenny/updates/contrib Packages
...
Hit ftp://ftp.tr.debian.org lenny/updates/non-free Packages
Fetched 74.7kB in 3s (20.9kB/s)
Reading package lists... Done
W: GPG error: ftp://ftp.tr.debian.org lenny Release: Unknown error executing gpgv
W: You may want to run apt-get update to correct these problems


Running ‘apt-get update’ as advised didn’t solve the problem. I first thought it was about keyrings, so I reinstalled gnupg, debian-keyring and a few other packages but with no avail. The problem just won’t go away. Then I read a post claiming that inaccurate system clock can also lead to this error. This is actually expected since the key signing / encryption processes generally use exact time. As a result I installed ntpdate, synchronized my system clock and did “apt-get update” two times, and voila everything is fine now.

# aptitude install ntpdate
# ntpdate pool.ntp.org
25 Dec 12:02:11 ntpdate[5067]: step time server 194.27.110.130 offset -137.006793 sec


This actually shows how back my system clock is. Do a few ‘apt-get update’ also to fix the problem.

Guide to managing Git repositories

Say you have a local development environment with all the source code which you would like to replicate/copy to a remote git server. You might like to do this because you want to share your development with others in your team, to backup your data somewhere else, or to be able to synchronize your project on different computers. How do you do that? Here’s a step by step explanation:

1. First create a bare repository on your remote server:
remote # newgit myproject.git

2. Then, on your local server, inside your project directory initialize a local git repository:
local # git init

Next we will add all the files under current directory to be tracked.
local # git add .

And then, lets commit the changes so that the files to be tracked are really added:
local # git commit

3. Now, while still on your local server, set up your remote repositories:
local # git remote add origin ssh://username@server/~remoteHome/git/myproject.git

local # git config branch.master.remote origin

local # git config branch.master.merge refs/head/master

4. That is all the setup needed. Now you can push your project to the bare repository:
local # git push --all
If your git installation on the remote server is not on your path, you have to give –receive-pack=/path/to/git-receive-pack option to git-push command.

At this time your local development environment and the bare remote git server are synchronized. You can now clone it to a dummy directory if you would like to have another checked out copy on remote server:
remote # git-clone -l ~/git/myproject.git dummy

And later update the dummy project as needed:
remote # git pull

Check out my previous post about git commands (cheatsheet) if you want to know more about these commands.

Git Cheatsheet

Here are some of the commands you may need while using Git which is a distributed version control system:

# git init
initializes a new repository (creates .git directory and whatsnot inside).

# git add .
adds all files under the current directory to be tracked by Git.

# git rm -f --cached filename
use if you accidentally added a file to be tracked by git, but have not committed it yet. (see # man gitignore to specify which files to be ignored.

# git commit
commits the changes.

# git diff
shows you what’s changed.

# git status
similar to ‘git list’, but this also lists any files you haven’t ignored or told git about. Also shows which branch you are in at the top.

# git clean
removes files not tracked by git. You can add files not tracked by git to .gitignore if you want to keep them to be untracked.

# git checkout
shows which files have not been changed and thus need to be merged.

# git checkout filename
checks out a file from repository and replaces it thus returning to the rep. version.

# git [rm | mv | add] file/dir
tell git when you add/remove/move a file.

# git commit -a [-m 'message']
commits all changes (with a message).

# git commit -v
shows the whole patch in an editor.

# git commit --amend
amends the last commit.

# git reset HEAD^
resets the last commit.

# git log
shows log.

# git blame file
shows what revision and which author modified each line of a file.

# git show rev [/path/to/file/or/dir]
pretty self explaining.

# git checkout rev
checks out a revision.

# git clone url
gets the code from a distribution repository.

# git fetch
gets the changes. They are not merged with your local copy yet.

# git pull
get & merge the changes.

git-archive --format=tar --verbose HEAD | gzip > arc.tar.gz
creates archive of the latest revision.

A bare repository in the git context means a repository not tied to a working copy. It is only the .git directories.

In git, commit = revision = changeset all describe similar terms.

Linux'ta dosya formatı değiştirme

Elinizdeki dosyaların formatlarını değiştirmek için Linux’ta kullanabileceğiniz birçok yol var. Bu yazımda bunlardan bahsedeceğim:

<ul><li> pdftotext isimli program xpdf ile geliyor ve isminden de anlaşılacağı üzere .pdf dosyalarını düz yazı haline getiriyor. xpdf ile gelen diğer programlar için ‘pdfto’ veya ‘pdf2’ yazıp TAB’a basın. Birçok program pdfto* şeklinde. Örneğin pdftoppm, pdftops ve pdftohtml gibi.</li>
<li>Microsoft Word dökümanlarını, yani .doc uzantılı dosyaları dönüştürmek istiyorsanız antiword programını kullanabilirsiniz. Bu programı indirmek için debian’larda apt kullanabilirsiniz.</li>
<li>Eğer diğer dosya türleri arasında dönüşüm yapacaksanız her ikisi de OpenOffice paketini kullanarak komut satırından dönüşüm yapmanızı sağlayan PyODConverter ve JODConverter programlarını kullanabilirsiniz. Bu iki program da birçok dosya türü arasında değişim yapabiliyor. JODConverter Java ile yazılmış, PyODConverter ise isminden de anlaşılacağı üzere Python’da yazılmış. Bunların haricinde benim çalıştırmayı başaramadığım bir başka program ise unoconverter. İsterseniz bir şansınızı deneyin.</li></ul>

Umarım bu bilgiler işinize yarar.

Türk Telekom Tekeli, Rekabet Açısından Zararları - Dilekçe Sonucu

Yaklaşık bir ay önce bir dilekçe ile Rekabet Kurumuna başvurmuş, Türk Telekom’un tekel konumunda olduğunu, hem telefon hem de internet altyapısını elinde bulundurduğundan bahsetmiştim. Bugün bununla ilgili bir cevap geldi. Cevap hakkına saygı açısından noktasına dokunmadan aşağıya ekliyorum.

<blockquote>Sayın Tayfun Şen,

E-posta aracılığıyla göndermiş olduğunuz şikayet Kurumumuz tarafından incelenmiştir. Şikayetinizde Türk Telekom firmasının altyapı bakımından hakim durumda olduğu ifade edilmekte ve bu durumun çeşitli yönlerden sakıncaları sıralanarak Rekabet Kurumu’nun gerekli hukuki düzenlemeleri yapması talep edilmektedir.

4054 sayılı Rekabetin Korunması Hakkında Kanun’un ikinci maddesine göre “… her türlü teşebbüsün aralarında yaptığı rekabeti engelleyici, bozucu ve kısıtlayıcı anlaşma, uygulama ve kararlar ile piyasaya hâkim olan teşebbüslerin bu hâkimiyetlerini kötüye kullanmaları ve rekabeti önemli ölçüde azaltacak birleşme ve devralma niteliğindeki her türlü hukuki işlem ve davranışlar, rekabetin korunmasına yönelik tedbir, tespit, düzenleme ve denetlemeye ilişkin işlemler bu Kanun kapsamına girer”. Kurumun Kanun’da sayılan görevleri incelendiğinde bir piyasada hakim durumda olmanın değil bu hakim durumun kötüye kullanılmasının dikkate alındığı görülmektedir. Dolayısıyla Türk Telekom ya da herhangi bir teşebbüsün hakim durumda olması 4054 sayılı Kanun kapsamında bir ihlal teşkil etmemektedir.

Bununla birlikte rekabet hukuku literatüründe hakim durumda olan teşebbüslere özel bir sorumluluk verildiği ve bu firmaların davranışlarının diğerlerine göre daha sıkı denetime tabi olduğu da muhakkaktır. Nitekim Rekabet Kurulu da 19.11.2008 tarihinde verdiği 1055-411 sayılı kararla (Türk Telekom’un bir iştiraki olan TTNet’in “Yaz Fırtınası” kampanyası hakkında) 4054 sayılı Kanun’un 6. maddesine aykırı uygulamaları[1] nedeniyle, aynı Kanun’un 16. maddesinin üçüncü fıkrası uyarınca Türk Telekomünikasyon A.Ş. ve TTNet A.Ş. ekonomik bütünlüğünün, ilgili ürün pazarındaki 2007 mali yılı sonunda oluşan toplam ciroları baz alınarak Türk Telekomünikasyon A.Ş. ve TTNet A.Ş.’ye müteselsilen 12.394.781,16 YTL idari para cezası verilmesine hükmetmiştir. Anılan kararda olduğu gibi bir inceleme yapılıp gerekli görüldüğü takdirde ceza uygulanabilmesi için tarafımızca yapılacak resen incelemeler haricinde, üçüncü tarafların iddialarının değerlendirilebilmesi için spesifik bir şikayetin varlığı gerekmektedir

Bilgi edinilmesi rica olunur.


[1] Yapılan değerlendirmede Türk Telekomünikasyon A.Ş. ve TTNet A.Ş.’den oluşan ekonomik bütünlüğün, diğer internet servis sağlayıcıları pazar dışına çıkarmak amacıyla, toptan genişbant internet erişim hizmetleri pazarındaki hakim durumunu, perakende genişbant internet hizmetleri pazarında fiyat sıkıştırması yoluyla kötüye kullandığına, bu suretle 4054 sayılı Kanun’un 6. maddesini ihlal ettiği sonucuna ulaşılmıştır.</blockquote>

Aslında beklediğim türden bir cevap. Fiili tekel durumuna dokunulmayacak. TT yine halkı kazıklamaya devam edecek.