Ana sayfa Gezegen

Gezegen

Python’da Linux Dağıtımı ile İlgili bilgileri Almak
 kısa uygulamalar-dersler ozgurlukicin

Python’da “platform.dist()” kodynu kullanarak dağıtım hakkında bilgileri elde edebilirsiniz fakat bu her dağıtım için geçerli değil. Örneğin pardus, pclinuxosveyabirçok başka dağıtımda bu kod boş bir değer döndürür. Bir çok araştırmadan sonra “/etc/lsb-release” dosyasını buldum, bu dosya bütün dağıtımlarda olmak zorundaymış. Bu dosyayı ayrıştırarak istediklerimi elde ettim. Koda şuradanulaşabilirsiniz. Buradan verince bir şey anlaşılmıyor.

Kullanımına örnek olarak ise:

“distribution.name()” -> dağıtımın adını döndürür “Pardus”

“distribution.relase()” -> dağıtımın sürümünü döndürür “2009.2″

“distribution.codename()” -> dağıtımın kod adını döndürür “Geronticus eremita”

İşinize yaraması dileğiyle.

 

Merhabalar,

Bildiğiniz (ya da bilmediğiniz) üzere sınav dolayısıyla açık kaynak yazılım dünyasından uzunca bir süre uzak kalmıştım. Bu süre zarfı içerisinde şahsıma gönderilen birçok elektronik postayı cevaplayamadığım için ilgili şahıslardan özür dilerim.

Neyse, nerede kalmıştım? Evet, liseden mezun oldum. Sınava girdim, İTÜ Elektronik ve Haberleşme Mühendisliği bölümünü kazandım. Yaklaşık 2 aydır İstanbul’da, üniversitemin efsanelerle dolu vadi yurtlarında ikamet ediyorum. İstanbul’a alıştım sanki. Gerçi pek gezemedim derslerimin öğleden sonra olması sebebiyle. Neyse ki önümde daha bolca vakit var İstanbul’un görülesi yerlerine gitmek için :)

Özgür yazılım hakkında konuşayım biraz da. Sınavdan sonra birçok dağıtım denedim, en sonunda yine Pardus’ta karar kıldım :) Yaklaşık 20 gündür de artistanbulda yarı zamanlı yazılım geliştiricisi olarak çalışıyorum. Daha önceki seneler paketçi olarak katkı verdiğim Pardus’a artık özgürlükiçin’in teknik alt yapı bakımını yaparak katkı vereceğim. Umarım bu süreçte özgürlükiçin topluluğu benden alabileceği maksimum verimi alır, zira ben elimden geleni yapacağım.

Şimdilik yazacaklarım bu kadar, kendinize iyi bakın :)

Güngör BASA
Merhaba arkadaslar. Bu aralar Android ile ilgilenmeye basladim. (Bitirme projem vesilesiyle) Ama hosuma gitmeye basladi. Ozellikle yazdiginiz uygulamayi kendi telefonunuzda calistirdiginiz ve kullanmaya basladiginiz zaman tadindan yenmiyor valla. Bu motivasyonlarla birlikte telefon hafizasindaki son mesaji ingilizce olarak seslendiren bir uygulama yaptim.(Bitirme projemin bir parcasi) Insallah ilerde sesli olarak sms alip gonderebileni yapicam. Ama simdilik sadece elimizde sms okuyani var. Bende simdi bu projemin kaynak kodunu sizlerle paylasmak istedim.
Read.java

package sms.TextToSpeech;

import java.sql.Date;
import java.text.SimpleDateFormat;
import java.util.Locale;

import android.app.Activity;
import android.database.Cursor;
import android.graphics.Color;
import android.net.Uri;
import android.os.Bundle;
import android.provider.SyncStateContract.Constants;
import android.speech.tts.TextToSpeech;
import android.speech.tts.TextToSpeech.OnInitListener;
import android.util.Log;
import android.view.View;
import android.widget.Button;
import android.widget.EditText;
import android.widget.TextView;

public class Read extends Activity implements OnInitListener{
    /** Called when the activity is first created. */
    private EditText et;
    private Button b;
    private String address;
    private String body;
    private String date;
    private TextToSpeech mTts;
    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.main);
        b=(Button)findViewById(R.id.b);
        et=(EditText)findViewById(R.id.et);
        et.setEnabled(false);
        et.setClickable(false);
        et.setBackgroundColor(Color.WHITE);
        Uri SmsUri=Uri.parse("content://sms/inbox");
        String[] projection=new String[]{"_id","address","body","date"};
        Cursor cursor=null;
        try{
            cursor=getContentResolver().query(SmsUri,projection,null,null,null);//Bilgilerin nereden alinacagi belirlenir
           
            if(cursor!=null&&cursor.moveToFirst()){    //Ilk mesaja konumlanir
                    int id=cursor.getInt(cursor.getColumnIndex("_id"));    //Id sini alir
                    address=cursor.getString(cursor.getColumnIndex("address")); //hangi telefondan geldigini alir
                    body=cursor.getString(cursor.getColumnIndex("body")); //mesaj
                    date=cursor.getString(cursor.getColumnIndex("date")); //mesaj atilan tarih
                   
                    SimpleDateFormat formatter=new SimpleDateFormat("dd/MM/yyyy - HH:mm:ss");
                    date=formatter.format(new Date(Long.parseLong(date)));
                et.setText(body);
               
                }
            }
        finally{
            if(cursor!=null){
                cursor.close();
            }
        }
        b.setOnClickListener(new View.OnClickListener() {
           
            @Override
            public void onClick(View v) {
                // TODO Auto-generated method stub
                onInit(1);    //Click eventi olustugunda text to speech cagirilir
               
               
            }
        });
        mTts=new TextToSpeech(this,this);

    }
    //TTS=Text to Speech
    @Override
    public void onInit(int status) {
        // TODO Auto-generated method stub
        if(b.isPressed()){
            Locale loc = new Locale("en", "","");    //TTS ayarlari
            if(mTts.isLanguageAvailable(loc) >= TextToSpeech.LANG_AVAILABLE){
              mTts.setLanguage(loc);    //Dil ayarlanir
            }
            mTts.speak(et.getText().toString(), TextToSpeech.QUEUE_FLUSH, null);//Konusma islemi gerceklestirilir   
        }
    }
    protected void onDestroy() {//TTS destroy eder
          super.onDestroy();
          mTts.shutdown();       
        }

}

AndroidManifest.xml dosyasi iceriside taginden once ya da taginden sonra asagidaki kodu eklemeyi unutmayiniz. Bu kod Android telefonumuz icerisinde sms okuyabilmemiz icin gerekli olan izini bize verir.


<uses-permission android:name="android.permission.READ_SMS" />

Main.xml

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:orientation="vertical"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"
    >
<EditText 
    android:id="@+id/et"
    android:layout_width="fill_parent"
    android:layout_height="150px"
    android:gravity="top"
    />
    <Button
    android:id="@+id/b"
    android:layout_width="fill_parent"
    android:layout_height="wrap_content"
    android:text="Speak"
    />
</LinearLayout>
Ubuntu 10.04: vsftpd FTP Sunucusu
Tayfur TAYBUĞA
Ubuntu üzerinde;
Applications menüsünden, Ubuntu Software Center`ı açın,
vsftpd araması yaparak, vsftpd FTP sunucusunun kurulumunu sağlayın,
Places > Computer > File System > etc > vsftpd.conf düğümünü genişletin,Bu yapılandırma dosyası üzerinden gerekli düzenlemeleri yapabilirsiniz. Kaldı ki bir çoğunun dosya içerisinde açıklaması yer almakla birlikte aşağıdaki köprüden de ilgili sayfaya ulaşabilirsiniz.
http://vsftpd.beasts.org/vsftpd_conf.html

Ayrıca, Places > Computer > File System > etc > ftpusers düğümünü genişleterek FTP Sunucusu kullanıcılarınızı belirleyebileceksiniz.

Ağ, bağlantı dolayısıyla IP v4, IPv6(desteği var) gibi düzenlemelerin genel sunucu yapılandırmalarından çok farklı olmadığını bu aşamada ancak not edebiliriz.

Bahadır KANDEMİR

Pardus’u geliştirirken karşılaştığımız, sevdiğimiz, kullandığımız kod parçalarını bundan sonra Kod Bloğu sitesinde paylaşacağım.

Umarım işinize yarar.

Köpekçiği -BeagleBoard- sevenlere PandaBoard
etiket gnu gömülü linux pardus
Caner BAŞARAN

Özgür donanımlara bir yenisi daha eklendi.

PandaBoard, Texas Instruments tarafından geliştirilen ve üzerinde çift-çekirdek 1Ghz ARM Cortex-A9 temelli TI OMAP 4430 işlemci bulunan devre kartı şeklinde bir bilgisayar.

Öne çıkan bazı özellikleri 

  • Çift-çekirdek 1Ghz ARM Cortex-A9 (Cortex A8’den %150 daha performanslı)
  • Tam HD 1080p video kodlama/çözme

Şuan desteklenen dağıtımlar; MeeGo, Ubuntu, Android

PandaBoard Wiki

Şuan ki satış bedeli 174$

Kurumsal2 tabanlı Pardus-ARM, BeagleBoard üzerinde testleri ve geliştirilmesi Mehmet Emre ATASEVER tarafından yapılmakta.

Bizde Pardus+PandaBoard’la giyilebilir bilgisayar mı yapsak 🙂

Ya da belki Türkiye’den bir girişimci çıkar da, PandaBoard ve Pardus ile bir eğitim bilgisayarı geliştirir, OLPC gibi.

Pardus’un PandaBoard’da çalışması dileği ile…

Kapalı kaynak yazılımlar -bazen- zorba olabiliyor (!)
etiket gnu kapalı kaynak linux pardus
Caner BAŞARAN

Microsoft işletim sistemlerini kullananların büyük bir oranı Microsoft Messenger kullanmakta. XP kullanıcıları, Messenger 2011 sürümünü yüklemek istediklerinde şaşıracaklar. Çünkü artık destek verilmiyor. Eğer bu yazılım kapalı kaynak olmasaydı, kullanıcılar gerekli desteği vererek uygun hale getirebilirlerdi.

Özgür Yazılım sizin haklarınızı gasp etmez.

Eğer böyle durumlarla bir daha karşı karşıya kalmak istemiyorsanız, onlarca sayıda -Pidgin gibi- anında mesajlaşma(messenger) programlardan birini özgür ve ücretsiz olarak yükleyebilirsiniz.

Ya da tamamen kendinizi özgür kılmak isterseniz, Pardus işletim sistemini kurabilirsiniz. Bu bağlantıdan kalıbı indirebilirsiniz. Cd’ye yazıp kurmanız yaklaşık 20 dakika sürecektir. Pardus açıldığında günlük kullanmanız gereken tüm yazılımlara ulaşabileceksiniz. Daha ayrıntılı bilgileri Özgürlikİçin topluluk sayfasından alabilirsiniz.

Kısa kısa..
 linux ordanburdan pardus
Mustafa GÖKAY

Özgürlük.. Kurdum bilgisayarıma bir Linux dağıtımı ve özgürlüğe adım attım. Öyle değil galiba. Alışkanlıklar varsa diğer tarafta bu özgürlük değil işkence oluyor. Ama bu işkenceyi yaptıklarına göre benim özgürlüğüme tecavüz etmiş oluyorlar. O zaman burada sorulması gereken neden bu işkenceye izin veriliyor? Olay tamamen bende mi bitiyor?

       

Hafız rekonq Diye Bir Tarayıcı Buldum
etiket gnu İnternet linux Özgürlük İçin
Anıl ÖZBEK
Muktware’deki Kubuntu 10.10 Technical Review’i okurken Rekonq dikkatimi çekti. İsmini daha önce de duymuştum ama birden ikiden kullanmışlığım yoktu. Hemen hakkındaki birkaç tanıtımı okuyup, göz atmaya başladım incelemeyi okumayı yarıda bırakarak. Siz de bu yazıya bir ara verip aynısını yapabilirsiniz:
  • Özgürlükİçin – Rekonq 0.5.0
  • PardusWiki – Rekonq
  • eniXma Ocak 2010 – Rekonq
  • Bir şeyler var burada! – Rekonq – KDE’ye bir tarayıcı
  • Ekşi Sözlük – Rekonq
Kubuntu 10.10 sürümünde Reqonk öntanımlı ve tek tarayıcı olarak seçilmiş. Reqonk’un Webkit temelli olması, tam bir KDE bütünleşmesi sağlaması ve Chromium benzeri sade kullanıcı arayüzü dikkat çekici özelliklerinden.
Reqonk’un KDE bütünleşmesinden biraz daha bahsetmek gerekirse: göreceğiniz her iletişim penceresi Qt ile yazıldığı için yerleşik bir görünümle karşılaşacaksınız, KDE yer imlerinizi kullanabileceksiniz, KIO servislerinden yararlanabileceksiniz, parolalarınızı KWallet ile saklayabileceksiniz…
Reqonk’a sadece yarım saat bakmış biri olarak bu kadar yeni bir proje için çok iyi olduğunu söyleyebilirim. Ama bazı eksikleri var(mış). Twitter gibi Javascript ağırlıklı siterlerde çökmeler oluyormuş. Yazım denetimi için Zemberek desteği yok ya da ben açmadım henüz.
Benim için en önemli eksikliğiyse henüz eklenti desteğinin olmaması ama bu gelecek sürümlerde olması planlanan bir özellik. OMG! Ubuntu!, Markus’ Little Blog ve diğer bazı sitelerdeki yazılanlara bakılırsa da Chromium eklentileri desteklenecek.
Yukarıdaki eksikleri de olmasa Beyin’deki Chromium Yeni Öntanımlı İnternet Tarayıcı Olsun fikrine benzer bir fikir açmayı düşünürdüm Pardus 2011 sürümü için. Sonraki Rekonq ve Pardus 2011 sürümleri için aklımda dursun yine de.
Sonradan gelen not tadında belirteyim Beyin’de olmasa da Pardus 2011’de Standart Tarayıcı Rekonq olmalı konulu bir tartışma varmış halihazırda.
GNU/Linux üzerinde internet tarayıcı olarak kullanılabilecek bu kadar çok ve iyi alternafin olduğunu bilmek çok güzel.
Kaynak: Kubuntu 10.10 Technical Review
Necdet YÜCEL

Bugün 105/8 blogu AfriNIC için kullanıma açıldı. Kısa bir süre sonra APNIC ve RIPE için ikişer adet blogun daha kullanıma açılacağı konuşuluyor.

Pardus Serüveni…
 pardus yaşam
Metin AKDERE

Daha üniversitenin ilk yıllarında, hatta ilk aylarında, geliştirici ekipten S. Çağlar Onur ve Ali Erdinç Köroğlu’nun katılımıyla gerçekleştirilen bir etkinlikle Pardus’un geliştirilme sürecini başından itibaren takip etme imkanımız olmuştu. Takip eden Mayıs ayında da aynı heyecanla ODTÜ’deki Özgür Yazılım Şenliği’ne katılmıştık Çanakkale’den bir otobüs dolusu öğrenci olarak.

Bunu izleyen dönemlerde Pardus için daha çok kullanıcı ve dolayısıyla tüketici konumundaydım. Ta ki, 2009 yazına kadar. Özgür yazılımı yaygınlaştırmak ve desteklemek amacıyla öğrencilere staj imkanı sağlayan Pardus’ta 2009 ağustos ayında staj yaparak hem geliştirici ekibi hem de projeyi daha yakından tanıma fırsatını elde ettim.

Pardus’a katkı verme süreci, Necdet Yücel’in 2009 temmuzunda duyurduğu ve takip eden ekim ayında kendisinin danışmanlığında başladığımız “Pardus’un 64-bit Mimarisine Port Edilmesi” bitirme projesi ile devam etti. Ulusal dağıtımımızın 64-bit mimarili işlemciler üzerinde de koşabilmesi için gerçekleştirdiğimiz çalışmalar, TÜBİTAK ve Çanakkale On Sekiz Mart Üniversitesi arasında imzalanan işbirliği protokolü ile Pardus tarafından da resmen desteklenerek, Pardus’un kullanabileceği bir ürün halini aldı. Ayrıca bu çalışmaları bir düzineye yakın üniversitede çeşitli etkinliklerde anlatmaya çalışarak, yaptığımız işin benzeri üniversite-Pardus işbirliği çerçevesinde, başka projelerin de teşviki olabileceğini ümit ettik, hala ediyoruz.

Ve, 21 haziranda On Sekiz Mart Üniversitesi, Bilgisayar Mühendisliği bölümünden mezun olarak lisans eğitimime noktayı koymuş oldum. Geçen Eylül ayında da TÜBİTAK/UEKAE’de Pardus geliştiricisi olarak işe başladım.

Çanakkale hakkında da birkaç şey söylemeden edemeyeceğim. “Özgür yazılımcının yeşerdiği topraklardan biridir Çanakkale” Necdet Hoca’mızın deyimiyle. Projeye ve özgür yazılıma hatırı sayılır katkı vermiş ÇOMÜ’lü abi ve ablalarımızın yaptıklarını duymak, onları takip etmek her zaman heyecanlandırmıştı bizi. Tıpkı daha öncekiler ve Pardus 64-bit’te olduğu gibi, ÇOMAK projesinin de duyurulması ile beraber ÇOMÜ’de bu geleneğin daimi olacağından emin olmak gurur verici.

Muhafız 0.1.1 Sürümü Hazır
 muhafız pardus
Aydın DEMİREL

Bundan önce 0.1 sürümünü yaptığım Muhafız web içerik filtreleme programının 0.1.1 sürümü pisi paketi olarak hazır. Bundan önceki sürümde belirtilen öneriler ışığında, tasarımda düzenlemeler yaptım. Bu hali daha sade ve kullanışlı oldu.

Önceki sürümde kullanıcı tarafından girilen tarayıcı proxy ayarları, bu sürümde otomatik olarak yapılıyor. Kullanıcının sadece ayarları aktifleştirmesi yeterli. Pardus 2011 henüz yayınlanmadığı için şu anda ki pisi paketi Pardus 2009 için. Paketi kurmadan önce katkı deposunun sisteme eklenmesi gerekiyor. Katkı deposunu ekledikten sonra program bağımlı olduğu paketler ile birlikte sisteme kurulacaktır. Şimdilik menülere herhangi bir kısayol eklenmiyor. Programı konsoldan muhafiz komutunu vererek çalıştırabilirsiniz.

Program yine şimdilik otomatik olarak Firefox’un vekil sunucu ayarlarını yapıyor. Bir sonraki sürümde Opera ve Chrome desteğini eklemeyi düşünüyorum. Ayrıca bir sonraki sürümde Ebeveyn Ayarları kısmını ekleyeceğim. Bu kısımda şimdilik herhangi bir ayar yok. Programın bilinen eksikliği Yardım dosyasının yeni arayüze göre güncelleştirilmemiş olmasından kaynaklı çalışmamasıdır. Onun dışında menülerdeki bazı işlevlerde eksiktir. Programı çalıştırmadan önce dansguardianve squid proxy servislerini çalıştırmayı unutmayın. İleri ki sürümde bunu da otomatikleştirmeyi düşünüyorum.

Programı aşağıdaki adresten indirebilirsiniz. Programda karşılaştığınız hataları ve önerileri bekliyorum.

muhafız-0.1.1.pisi

 

PyQt’yi Etkileşimli(interactive) Kullanmak
etiket pyqt python
Alper TEKİNALP

    PyQt ile ilgili olarak Qt kodunun etkileşimli olarak kodlanabileceğini öğrendim. Qt’de yeni bir şeyler öğrenirken çok işe yarayabilecek bir özellik. Şöyle ki konsoldan python yazarak Python yorumlayıcısını açalım.

    Şimdi basit bir pencere yaratalım(kodun kopyalanabilmesi için >>> kullanılmadı):
PyQt4.QtCore import *
from PyQt4.QtGui import *
app = QApplication([])
window = QWidget()
window.resize(400, 300)
window.show()

Şöyle pencere göreceksiniz:

Hadi bir buton ekleyelim:

button = QPushButton(“Tikla!”, window)
button.show()

İşte interaktif şekilde butonumuzu ekledik:

Şimdi de butonumuzu pencerenin ortasına alalım:

layout = QHBoxLayout(window)
layout.addWidget(button)

Şimdi addStretch() özelliğinin görünüme etkisine bakalım:

layout.addStretch()

Ve kolaylıkla butonumuzun tıklanma(clicked) özelliğine bir slot bağlayabiliriz(ifade biraz karışık oldu 😐 ):

def mySlot():
print “Buton Tiklandi”
button.clicked.connect(mySlot)

Görüldüğü üzere Qt’yi denemek için iyi bir yöntem.

Kaynak:http://pysnippet.blogspot.com/2010/11/getting-interactive-with-pyqt.html

Aslano ‘da Son Durumlar
etiket Özgürlük İçin pyqt python
Onur ASLAN
  Aslano oynatıcıyı ek görsellerden biraz uzaklaştırdım. Ve ağırlıklı olarak müzik çalar uygulaması olmasına yöneldim. Tabi yine de videolarınızı kolaylıkla ve rahat bir şekilde izleyebileceksiniz. Ayrıca eski sürümündeki yardımcı araçlarda kullanımda.
 Şuanda eskisine göre daha da gelişmiş bir durumda. Dinlediğiniz müziklerin albümlerini youtube adresinden videolarını buluyor. Ayrıca dinlediğiniz/izlediğiniz dosyanın dinleme/izleme süresi bittiğinde oynatma listesinde otomatik olarak sonraki dosya oynatılmaya başlanıyor. Ayrıca podcast bölümüne dinleyeceğiniz podcast adresini (indirme bağlantısını) verince direk olarak dinleyebiliyorsunuz. Tabi podcast dinleme şuan için alfa kısmında diyebiliriz.
 Bir zaman sonra uygulamada kendi simgelerimi kullanacağım. Böylece ortaya daha güzel bir tasarım çıkacak.
 Şimdilik bu kadar. Projenin sayfası:

http://code.google.com/p/aslano

Pardus 2009.2 Geronticus eremita Kurulan Masaüstü 32-BIT: Yedekleme Mini-Ünitesi
etiket açık standartlar bilgi teknolojileri linuxgezegen
Tayfur TAYBUĞA

Intel Pentium 4 işlemci, 7200 RPM hızından bir 500 GB sabit disk, 256 MB RAM, verileri harici bir oratam aktarmak üzere DVD SUPER MULTI ve diğer klasik birimleri içeren basit bir kasa markası elbette IBM yani güven önemli. Tüm bunların bir araya gelmesiyle oluşturulabilecek bir sunucu mekanizması açısından bir takım ihtiyaçların dürtücü bir etkide bulunması gerekiyordu-ki öyle de oldu.

Çok geniş olmamakla birlikte kuruluş kapsamıdaki bazı bilgisayarlar Windows koşan makinalar ve üzerinde az öncede belirttiğim gibi çok geni yani çok yüksek boyutlarda olmayan veriler paylaşılmakta. Bunlara yönelik gerekli şemayı çıkarttıktan sonra önemli olanın belirttiğim üzere toplam sahip olma maliyeti düşük bir, bir tür mini yedekleme ünitesi kurmak olduğuna karar verdim.


Başta belirttiğim gibi en az donanım imkanı bulunuyor. Bunu IBM markası dolayısıyla da Özgür Yazılım ile desteklemek uygun olacaktır. Üç windows paylaşım ortamından, bir temel mini yedekleme ünitesine yani Linux`a her iki tarafında bölümlemesindeki dosya tipi NT File System olmak kaydıyla aktarım, Linux ortamından da harici bir ortama aktarım biçiminde yönlü bir dosya transferini yedekleme ünitesine gelen kısım açısından bakıldığıda elle olmakla birlikte sağlamış bulunmaktayım.

Kurumsal 2 Yeni Depo Geçişleri
etiket haber release
ÇOMÜ 64 Bit Ekibi
Ozan Çağlayan'ın geliştirici listesine gönderdiği e-posta bu blog'un son yazısı olsun:


Bildiğiniz gibi Kurumsal 2 depoları tamamen tekrar derlendi ve x86_64 çiftliği
de UEKAE yerleşkesinde hizmet vermeye başladı.

Yeni depo adresleri şu şekilde:
http://packages.pardus.org.tr/pardus/corporate2/stable/x86_64/
http://packages.pardus.org.tr/pardus/corporate2/devel/x86_64/

http://packages.pardus.org.tr/pardus/corporate2/devel/i686/
http://packages.pardus.org.tr/pardus/corporate2/stable/i686/

Şu an stable dizinleri devel dizinlerine sembolik bağ. Ancak ileride depolar
ayrıştırıldığında kararlı depoda kalmanız için stable dizinini kullanmanız iyi
olur.

Şu anda http://x86-64.comu.edu.tr deposunu kullananlar sistemlerini
güncellediklerinde sadece xz, python-pyliblzma ve pisi paketlerinin
güncellemelerini içeren bir sepet elde edecekler. Bu güncellemeden sonra
sistemlerinde ekli olan depo otomatik olarak

http://packages.pardus.org.tr/pardus/corporate2/stable/x86_64/pisi-index.xml.xz

URL'sini kullanır hale gelecek ve ikinci güncellemede tüm paketler
güncelleme olarak sunulacak ve geçiş tamamlanacak.


32-bit için:
------------

Şu anda
http://packages.pardus.org.tr/corporate2/pisi-index.xml.bz2
http://packages.pardus.org.tr/corporate2-test/pisi-index.xml.bz2

URL'li depoları kullananlar da aynı şekilde yeni depolara geçecekler ancak
bunu henüz ayarlamadık test ediyoruz. Ama dileyenler zaten mevcut depolarını
kaldırıp yukarıdaki yeni i686 deposunu ekledikleri zaman da geçişe hazır hale
geliyorlar. Dikkat edeceğiniz corporate2 ve corporate2-test'ler sembolik bağ
olarak yeni depoları göstereceğinden URL'lerinizde sadece xz index
değişikliği olacak.

Bir sorun yaşamamamız dileğiyle,
Kolay gelsin.
Python’da Socket Programlama
etiket network python socket
Alper TEKİNALP
Socketler ve portlar ağlarla ilgili çoğu programın temelini oluşturur. Soketler, bir tür süreçler arası haberleşme(interprocessing) yöntemidir. Soket, soyut bir tanımla haberleşme uç noktalarıdır. Pratik olarak soketler dosyalara benzer. Soketten okumak ile dosyadan okumak arasında hiçbir fark yoktur. Socketler için üç alan(domain) tanımlanmıştır:
Unix Alanı/Dosya-Sistemi Alanı : Bu alandaki socketler bir sistemde iki veya daha süreç birbiriyle haberleşeceği zaman kullanılır. Socketler dosya sistemi içinde yaratılırlar. /var/lock/sock ya da /tmp/sock gibi yerel yolları içerecek şekilde string olarak gösterilirler
İnternet Alanı : Bu alan TCP/IP üzerinden haberleşen süreçleri göstermektedir. Bu alanda yaratılan socketler (host, port) çiftleri şeklinde gösterilmektedir. Host, string ya da IP adresi şeklinde gösterilebilen host ismidir. Port ise o host üzerinde bağlanılacak portun sayısal değeridir.
NS Alanı : Bu artık kullanılmayan Xerox protokolü üzerinden haberleşen süreçler için kullanılır.Bunlardan sadece ilk ikisi çoğunlukla kullanılmaktadır. Python hepsini destekler. Aşağıda TCP/IP socketleri kullanan bir uygulama yaratmak için gerekli adımlar sıralanmıştır:
1. Socketi yaratmak (create)
2. Sockete bağlanmak (connecting)
3. Socketi bir adrese bağlamak (binding to an address)
4. Bağlantıları dinlemek ve kabul etmek (listening and accepting connections)
5. Veri göndermek/veri almak (transffering and recieveing  data)

Bir socket yaratmadan önce kütüphanelerin yüklenmesi gerekir. socket modülü socketlerle çalışmak için gerekli herşeyi içerir.

    1. Socket Yaratmak
    Python’da socket yaratmak için socket() metodu kullanılır. 

socket(familytype, [protocol])
  • family : family parametresi socketin hangi alan için yaratıldığını belirtir. Birçok seçenek mevcuttur. Genel kullanılanlar ise Unix alanı için AF_UNIX ve internet alanı için AF_INET.
  • type : type kullanılacak protokol tipini belirtir. Tip TCP gibi bağlantı yönelimli (connection-oriented) ya da UDP gibi bağlantısız (connection-less) olabilir. TCP için SOCK_STREAM, UDP için SOCK_DGRAM sabitleri tanımlanmıştır. Diğer geçerli seçenekler ise SOCK_RAW, SOCK_SEQPACKET ve SOCK_RDM.
  • protokol : Bu parametre genellikle varsayılan değer olan 0 olarak bırakılır.
    Bunlar göz önüne alındığında internet alanı bir socket yaratmak için:
s = socket.socket(AF_INET, SOCK_STREAM)

2. Sockete bağlanmak
    Yaratılan socketler sunucu-taraflı (server-side) ya da istemci-taraflı (client-side) olarak kullanılabilir. Sunucu-taraflı kullanılacaksa bir hosta bağlanması gerekir. Bunu socket nesnesinin connect() metodu ile gerçekleştiririz. connect() metodu host adresini ya da host adresi ve port numarasından oluşan (host, port) şeklinde bir ikiliyi kabul eder. Örneğin adresi 192.168.51.102 ve port numarası 8080 olan bir hosta bağlanmak için:

s.connect((“192.168.51.102”, 8080))

3. Socketi bir adrese bağlamak
    Eğer sunucu-taraflı kullanılacaksa socketin bir adres ve porta bağlanması gerekir. Bunun için bind() metodu kullanılır. bind() metodu parametre olarak socketin bağlanacağı adres ve gelen istekleri dinleyeceği port numarasından oluşan (host, port) şeklinde ikiliyi alır. Örnekse:

s.bind((“192.168.51.107, 8080))

4. Bağlantı dinlemek ve kabul etmek
    Socket belli bir adrese bağlandıktan sonra, belirtilen porttan gelen istekleri dinlemek için görevlendirilmesi gerekir. Bu amaçla listen() metodu kullanılır. Parametre olarak kaç bağlantının kabul edileceğini alır. En az 1 olamalıdır. Aşağıda 2 bağlantı kabul edilmiştir:

s.listen(2)

Yapılması gereken sonraki adım bağlantıları kabul etmektir. Bunun için accept() metodu kullanılır. Geriye istemciyi temsil eden bir socket nesnesi ve istemcinin adresini döndürür:

istemsock, adres = s.accept()

5. Veri göndermek/veri almak
    Veri recv() ve send() metodlarıyla aktarılabilir. recv() metodu sunucu ya da istemciden gönderilen veriyi almak için kullanılır. Parametreler tampon boyu (buffer size) ve bayraklardır (flags). Bayraklar isteğe bağlıdır. Veri almak için kod:

tampon = 1024
s.recv(tampon)

Veri göndermek içinse send() metodu çağrılır. Parametre olarak gönderilecek veri ve bayrak alır. Örnekse:

veri = raw_input(“>>”)
s.send(veri)

Python’un socket dökümantasyonunda bulunan sunucu ve istemci örneğiyse şu şekilde:
    Sunucu:

# Echo server program
import socket
import sys

HOST = None               # Symbolic name meaning all available interfaces
PORT = 50007              # Arbitrary non-privileged port
s = None
for res in socket.getaddrinfo(HOST, PORT, socket.AF_UNSPEC,
                              socket.SOCK_STREAM, 0, socket.AI_PASSIVE):
    af, socktype, proto, canonname, sa = res
    try:
        s = socket.socket(af, socktype, proto)
    except socket.error, msg:
        s = None
        continue
    try:
        s.bind(sa)
        s.listen(1)
    except socket.error, msg:
        s.close()
        s = None
        continue
    break
if s is None:
    print 'could not open socket'
    sys.exit(1)
conn, addr = s.accept()
print 'Connected by', addr
while 1:
    data = conn.recv(1024)
    if not data: break
    conn.send(data)
conn.close()

İstemci:



# Echo client program
import socket
import sys

HOST = 'daring.cwi.nl'    # The remote host
PORT = 50007              # The same port as used by the server
s = None
for res in socket.getaddrinfo(HOST, PORT, socket.AF_UNSPEC, socket.SOCK_STREAM):
    af, socktype, proto, canonname, sa = res
    try:
        s = socket.socket(af, socktype, proto)
    except socket.error, msg:
        s = None
        continue
    try:
        s.connect(sa)
    except socket.error, msg:
        s.close()
        s = None
        continue
    break
if s is None:
    print 'could not open socket'
    sys.exit(1)
s.send('Hello, world')
data = s.recv(1024)
s.close()
print 'Received', repr(data)

Kaynak ve Bknz:http://www.devshed.com/c/a/Python/Sockets-in-Python-Into-the-World-of-Python-Network-Programming/
http://docs.python.org/library/socket.html
http://cekirdek.uludag.org.tr/~meren/belgeler/socket/socket.htm

4
Kas
Pardus Kullanıcı Anketi
etiket anket kwiksurveys lkd oi pardus pardus ekran görüntüsü pardus kullanıcı anketi pardus masaüstü
Zeki BİLDİRİCİ

Pardus Kullanıcı Anketi

Pardus Kullanıcı Anketi

İnternette üzerinde anket hazırlamayı merak ediyordum, Google amca sayesinde  http://www.kwiksurveys.com sitesine rastladım. Kwiksurveys kullanıcılara birçok kolaylık  sunmakta. Bende bu sayede Pardus kullanıcılarını tanımak için kendimce bir anket hazırladım. 13 sorudan oluşan kısa bir anket. Zaman ayırıp katılırsanız sevinirim. Anket bitiminde sonuçları görebilirsiniz.

Anket bağlantısı: http://www.kwiksurveys.com?s=HODDMG_46e0e937

Sonuçları ankete katılmadan da görebileceğiniz bağlantı: http://www.KwikSurveys.com/results-overview.php?surveyID=HODDMG_46e0e937&mode=4

Sonuçları .xls, .csv, .xml, uzantısında da alabilirsiniz.

Katılımlarınız için şimdiden teşekkür ederim.

Mutlu günler.

İlgili Diğer Başlıklar:

  1. Sistem Bilgileri, Pardus Kullanıcı Anketi, PardusWiki
  2. Pardus 2009 Kullanıcılarına Küçük Bilgiler
  3. Kmail üzerinden imap ile Gmail kullanımı
Pythonda Birinci Dereceden Denklem Çözümü
etiket çözmek denklem kısa uygulamalar-dersler ozgurlukicin python
İsa Mert GÜRBÜZ

Okulda düzenlenecek olan bilim şenliği için matematik projesi araştırıyordum karşıma şöyle bir kod çıktı:

def solve(eq,var=’x’):
eq1 = eq.replace(“=”,”-(“)+”)”
c = eval(eq1,{var:1j})
return -c.real/c.imag

Evet sadece 3 satırda denklemi çözüyor. Kullanımına örnek ise:
print solve(“x – 2*x + 5*x – 46*(235-24) = x + 2″)

Bu arada hala bir proje bulabilmiş değilim aklınız bir şeyler gelirse yazmaktan çekinmeyin ;)

Bu arada kaynağıda belirtelim:
http://code.activestate.com/recipes/365013-linear-equations-solver-in-3-lines/

    

Pardusa yeni simge seti mi??
etiket linux pardus pardus simge
Mustafa GÖKAY
Mustafa GÖKAY

Şurada yazdığım yazıdan sonra Abdulkerim Aydın Pardus için simge seti çalışmalarına başladı.

Simge çalışması için şurada bulunan blogu takip edebilirsiniz.

Ayrıca ilk örnekler de geldi.

Farklı şeylerin ortaya çıkacağını şimdiden tahmin edebiliyorum..