Son kullanıcı için özgür yazılım neden önemli? -1-

Bu konuda çok zamandır yazmak istiyorum ama çok uzun bir yazı yerine her yazıda ayrı örneklerin olduğu bir kaç yazı yazmaya karar verdim. İlk örnek çok severek kullandığım pebble.

Pebble arkasında bilindik bir marka olmadan milyonun üzerinde saat satabilmiş bir girişimdi. Kitle fonlaması tarihinin en başarılı, sevilen ve rekabetçi ürünlerinden birini ortaya çıkaran firma geçtiğimiz aylarda fitbit'e satıldı. Fitbit sadece fikri mülkiyet haklarını satın aldı ve artık pebble üretmeyecek. Pebble'ın da elinde sadece donanım kaldı ve üzerindeki yazılımlar olmadan saat satamayacağı için bu harika ürün artık satılmayacak. İşin kötüsü çok yakın gelecekte elimizdeki saatleri de aldığımız amaca uygun kullanamıyor olacağız.

Pebble etkileşimli saatlerin en başarılısıydı bence. Hem IOS, hem android cihazlarla çalışması, zamanla çok genişlemiş ve giderek büyüyen marketi ve bir haftayı geçen şarj süresi onu alternatiflerinin önüne geçiriyordu. Apple ürünlerinden ucuzdu ama onlardan ucuz olmamak oldukça zor bir konu zaten. Geliştiricilere hem yerellerinde hem de bulutta çalışma ortamları sağlaması ve insanları pebble üzerinde uygulama geliştirmeye teşvik etmesi etrafında kalabalık bir kitle oluşmasını sağlamıştı. Hatta Gülşah LibreOffice'in giyilebilir teknolojilerle ilk etkileşimimiz diyerek duyurduğu pebble-remote'u geliştirmiş ve bu LibreOffice geliştiricisi ve TDF üyesi olmasının ilk adımı olmuştu.

Buraya kadar her şey çok güzelken pebble'ın eksik tarafı donanım sürücülerinin ve üzerinde çalışan rom'un özgür olmayışıydı. Pebble büyük bir ivmeyle büyürken çok az kişinin aklında ileride bu firma ortadan kalkarsa saatleri nasıl kullanacağız sorusu vardı. Pebble da yakın vadede kaybolacak gibi görünmüyordu, ard arda kickstarter projeleri rekorlar kırıyor, hep yenilikler peşinde koşuyordu. Bugün geldiğimiz noktada ise kollarımızdaki bu çok da ucuz olmayan ama çok sevdiğimiz saatlerin ömürleri tükenmek üzere. Bunu kısaca açıklayayım: pebble cep telefonuyla bluetooth ile haberleşip bildirimleri almanıza ve telefondaki bazı şeyleri yönetmenize imkan veren bir saat. Cep telefonuna kurulan uygulama da ilk olarak pebble sunucularına bağlanıp kullanıcı hesabını etkinleştiriyor. Önümüzdeki dönemde fitbit bu sunucuları çalıştırmayı durdurduğunda kolumuzdaki saat elimizdeki telefona bağlanamıyor olacak. Bu zaman gelmeden yeni bir android/IOS sürümü çıkarsa telefon uygulaması bu işletim sistemlerine kurulamayacak. Ya telefonlarımızdan, ya da saatlerimizden vazgeçmek zorunda kalacağız.

Eğer pebble üzerinde koşan yazılımlar özgür yazılım olsaydı, pebble ortadan kalkmadan çok önce alternatif rom'lar piyasada dolaşıyor olurdu. Kimse yapmamış olsa biz yapardık bunu ;) Kolumuzdaki saatleri onların yaşam ömürlerinin sonuna veya biz bıkana kadar kullanabilirdik.

Özgür yazılım konuya sadece faydacı açıdan yaklaşan son kullanıcılar için bile bu derece önemli.

16 Şubat 2017

Posted In: Gezegen, Özgür yazılım, pebble

Aarhus, Danimarka LibreOffice Konferansı 2015



  Bu yıl Libreoffice Konferansı 23-25 Eylül tarihleri arasında Aarhus, Danimarka'da gerçekleşti. Ben de Türkiyeden gelen tek katılımcı ve aynı zamanda  konuşmacıydım. Etkinliğe katılım 30 farklı ülkeden ve yaklaşık 150 kişi civarındaydı. Etkinlik Aarhus semtindeki bi halk kütüphanesinde gerçekleşti. Konuşmalar paralel iki oturumda yapıldı.


  Konferansta  LibreOffice geliştiricileri, katkıcıları, pazarlamacıları, kullanıcıları, ülkelerindeki göçlerde rol almış insanlar, öğrenciler vardı.




  Konferansın ikinci günü saat 4 civarı konferans alanına ulaşabildim. Tanışmaya ve konuşmaya bu kadar istekli bir topluluğu ilk defa görüyorum sanırım. İlk olarak LibreItalia ekibiyle sonra Sophie -Organizasyonda büyük emeği geçen kişi- ile tanıştım. Yaka kartımı ve bi takım LibreOffice çıkartmaları aldıktan sonra son oturumlara katıldım. O gün paralel oturumlardan biri sadece ODF ile ilgiliydi. Son oturumda ise Bjoern Lİbreoffice sürümlerini nasıl çıkardıklarından bahsetti.

  Konferansın 3. günü benim de konuşmamın olduğu gündü. Öncesinden de çok hazırlanmış olmama ve Türkiye'de 15 kez konuşmuş olmama rağmen yapacağım ilk ingilizce sunumum olacağından yine ilk defa konuşacakmışım gibi heyecanlıydım :) Kendi konuşmamın olduğu saate kadar herhangi bir oturuma katılamadım. Etkinlik alanında bi yandan içimden konuşmamın provasını yapıp bi yandan insanlarla tanıştım. Etkinliğin benim için en güzel tarafı bu tanışma kısmıydı. Listelerde yazıştığım irc de konuştuğum soru sorduğum  insanlarla konuşup tanışmak çok güzeldi. 

  Yerel organizasyon çok iyi hazırlanmıştı. Konferans boyunca ihtiyacımız olan herşey mevcuttu, yardıma ihtiyaç duyulduğunda ilgilenecek birilerini bulmak çok kolaydı ve teknik hiçbir sorun yaşanmadı.

  Konuşma vakti geldi çattı. Düşünmek yaşamaktan her zaman daha zordur bunu bi kez daha kendime kanıtlamış oldum. Düşündüğüm kadar zor olmadı ingilizce sunum yapmak. Sunumun arkasından gelen soruları da rahatlıkla cevapladım. Bunda okulun son döneminde ve bu yaz katıldığım ingilizce kurslarının konuşma klüplerinin de etkisi büyük. Çanakkalede LibreOffice için çalışan 10 arkadaşım  ve Türkiyede planlanan LibreOffice göçü hakkında soru soruldu. Her anlamda benim için bulunmaz bir tecrübeydi. Buradan kullandığım sunuma ve konuşma özetine ulaşabilirsiniz.


Bu da sunumumun videosu


                               

  Konferansın bitiminde hackfest düzenlendi. Konferans alanından ayrı bir yerde yapılacaktı. Bulması kolay olmadı ama bulduk. 42 kişi etkinliğe kaydolmuş olmasına rağmen toplasan 5 kişi vardık ancak. Bu katıldığım ilk hackfest olduğundan baştan napacağımızı anlayamadım çok. Sonra anladım ki kendimiz istediğimiz konuyla ilgili çalışacakmışız, birşey sormak istediğinde şu kişiler c++ tan anlar, şunlar şundan, bunlar bundan diye bir grup kendini tanıttı. 2 saat kadar çalıştık ve ardından yemek saati geldi. Yemek daha çok kaynaşma ortamı gibiydi. Oturduğum masada müthiş bir sirkülasyon vardı. Gerçekten tanışmak için bu kadar istekli bir topluluk ilk defa görüyorum. İlk defa gittiğim bi ülkede sanki uzun süredir oradaymışım gibi hissettim.

  Konferansın son günü tüm oturumlara katılmaya çalıştım. Her alanda olduğu gibi LibreOffice tarafında da kadın geliştirici çok az sayıda. Son gün etkinlikteki durumu gören biri LibreLadies gibi topluluk olsa süper olmaz mı diyerek sanıyorum ki bu topluluğun da temelleri atmış oldu. Süper olur diyenlere bakarak böyle söylüyorum.

  Son gün LibreOffice'in 5. yaş günü için pasta kestik. İyi ki forklandın LibreOffice :)




















Beni her zaman cesaretlendirdiği ve bu konferansa katılımım için sağladığı tüm desteği için Necdet Yücel 'e sonsuz teşekkürler.




6 Ekim 2015

Posted In: aarhus, danimarka, denmar, freesoftware, Gezegen, libreofis, pebble, pebble-remote

11. BİLMÖK’ün ardından

Bilmök'ü ilk 2010'da +mete bilgin +Metin Akdere ve +Meltem Parmaksız 'ın yaptıkları harika sunumla duymuştum (bu sunum hakkında bakınız +Bahadır Kandemir 'in pek güzel yazısı). O zaman sonraki bilmök'ler için tavsiyeler yazmıştım, neredeyse hepsini hala seneye Urfa'da düzenlenecek bilmök için önerebilirim (nasılsa dinleyen yok istediğini öner diyenlere hak veriyorum).

Bence bilmök'lerin temel sorunu organizasyonu düzenleyen öğrencilerin kendilerini konuşmacı olmaya değer görmemeleri. Üç gün süren etkinlikte konuşan öğrenci sayısı bir elin parmakları kadar bile değildi. Konuşmaların çoğu ders niteliğindeydi. Zaten hepsi bilgisayar mühendisliği öğrencisi olan bu büyük kalabalığı bir salona toplayıp ders gibi sunumlar dinletmek yerine etkileşimli bir etkinlik yapılsa daha iyi olurdu diye düşünüyorum (sanki ne düşündüğünü umursayan mı var derseniz onda da haklısınız).

Etkinliğin ilk gününde özgür yazılım hareketinin başlatıcısı Stallman vardı. Stallman 30 yıl önce dünyaya karşı bir savaş açmış ve bu savaşı kazanmış bir büyük adam olduğunun bilinciyle ve özgüveniyle konuştu. Bu etkinlikten bir hafta önce sabancı üniversitesinde de dinlemiş olmama rağmen tekrar dinlemekten büyük mutluluk duydum. Anlattıkları hep bildiğimiz şeylerdi ama çok sağlam argümanlarla destekleyerek konuştu.



Üçüncü gün bu yıl birlikte çalıştığım arkadaşlarımdan +Gülşah Köse LibreOffice sunumlarını Pebble ile yönetmek için hazırladığı pebble-remote uygulaması özelinden yola çıkarak özgür yazılım dünyasına nasıl dahil olunacağını kendi tecrübeleriyle anlattı. Tam da bilgisayar mühendisliği öğrencileri kongresinde böyle sunumlar olmalı dediğim gibi bir sunum oldu. Başlarda biraz heyecanlı olsa da bilgisayar mühendisliği öğrencisi bir genç kadının neler yapabileceğini göstermesi açısından çok başarılı bir örnek olarak konuştu.



Günün son oturumu ise bilişim sektöründe kadın olmak paneliydi. BMO'nun bir önceki başkanı Gölay Şakiroğulları, +Gülşah Köse ve +Zinnur Yesilyurt 'un konuştukları panel benim bu konuda dinlediğim en başarılı paneldi. Gölay hanım 30 yıllık tecrübesiyle konuşmasını çok ikna edici argümanlara dayandırarak konuştu. Yeni mezun olmasına rağmen Zinnur kadınların sektörde karşılaşılabilecekleri durumlardan bahsetti. Gülşah ağırlıklı olarak özgür yazılım dünyasının sadece kadınlara değil ırka, cinsiyete, dini inanca karşı bir ayrımcılık yapmadığını anlattı.


Bütün katılımcılarla özveriyle ilgilenen yerel organizasyon komitesine tekrar teşekkür ediyorum. Gülşah'a da kendisiyle gurur duyduğumu buradan da yazmış olayım.

12 Mart 2015

Posted In: ankara, bilmök, Gezegen, konferans, libreoffice, pebble, stallman

Python Paketi Hazırlamak

    Pebble Remote projesinin bana katkısı gerçekten çok büyük oldu. Daha buraya yazmadığım bir sürü büyük küçük birbirini gerektiren bi çok işi öğrendim.  Paketlemeyi öğrenme amacım pebble remote'un pip komutuyla kurulabilir hale gelmesini sağlamaktı.

Şimdi örnek olarak aşağıdaki python projesini pip ile kurulabilir hale getireceğiz

pebbleremote
└── pebble
    ├── bluetooth.py
    ├── data
    │   └── logo.png
    ├── __init__.py
    ├── py_script.py
    └── remote.py

setup.py dosyasını yazmalıyız

Öncelikle bu dosyanın yukarıdaki pebble modülü ile aynı seviyede olması gerekiyor.

pebble
├── pebble
│   ├── bluetooth.py
│   ├── data
│   │   └── logo.png
│   ├── __init__.py
│   ├── py_script.py
│   └── remote.py
└── setup.py

setup.py dosyasının içinde bulunması gerekenler:


from setuptools import setup

setup(name='pebble-remote',
version='1.0',
description='Libreoffice Impress tool for remoting presentations with Pebble',
url='http://github.com/Libreoffice/impress_remote/tree/master/pebble',
author='Gulsah Kose',
author_email='gulsah.1004@.gmail.com',
license='MPLv2',
packages=['pebble'],

scripts=['pebble/py_script.py'],

install_requires = ['setuptools'],
zip_safe=False)

Bu kadarını yazdığımızda sadece pebble modülünü gereken yere kuracak hale getirmiş oluruz. Ama içinde yukarıda olduğu gibi bir python dosyası olmayan modüle dahil olmayan dosyalar olabilir -data dizini ve altındaki png dosyası gibi-.

Onuda pakete dahil etmek için aşağıdaki yolu izliyoruz:

- Öncelikle MANIFEST.in dosyasının içinde aşağıdaki satırı  yazalım Bunu modül dışında olan dosyaları pakete dahil etmek için kullanıyoruz:

include /pebble/data/logo.png

 pebble
├── MANIFEST.in
├── pebble
│   ├── bluetooth.py
│   ├── data
│   │   └── logo.png
│   ├── __init__.py
│   ├── py_script.py
│   └── remote.py
└── setup.py

 - Bu ekleme için setup.py dosyasının içeriğini de değiştirmemiz gerekecek. Dosyanın son hali aşağıdaki gibi olacak:


from setuptools import setup 

setup(name='pebble-remote',
version='1.0',
description='Libreoffice Impress tool for remoting presentations with Pebble',
url='http://github.com/Libreoffice/impress_remote/tree/master/pebble',
author='Gulsah Kose',
author_email='gulsah.1004@.gmail.com',
license='MPLv2',
packages=['pebble'],

scripts=['pebble/py_script.py'],

package_data={
'pebble/data': ['logo.png'],
},

data_files=[
('/opt/pebble/logo/', ['pebble/data/logo.png'])

],

install_requires = ['setuptools'],

zip_safe=False)


Artık projemiz kurulmaya hazır hale gelmiştir. Aşağıdaki komutu kullanarak kurulumunu yapabilirsiniz:

$sudo python setup.py install

Kurulumu bu şekilde yaptığınızda paketi kaldırmak için aşağıdaki komutları kullanabilirsiniz:

$sudo python setup.py install --record file.txt
 
#cat file.txt | xargs rm -rf

 Şimdi bu projeyi python package index (PyPi) 'e yükleyelim:

Önce bu adresten bir hesap oluşturmalısınız. Projenizi buraya yüklemeden önce depoda aynı isimde başka bir proje varmı diye bakmalısınız. Çünkü pypi'de tüm paket isimleri eşsiz olmalıdır.

Sonra aşağısaki komutu çalıştırdığınızda karşınıza size kullanıcı adı parola gibi bilgilerinizi soran kısımlar çıkacak. Bunları doğru bir şekilde tamamladığınızda herşey yolundaysa 200(OK) kodunu göreceksiniz. Bunu gördüğünüzde artık projeniz pip ile kurulabilir hale gelmiş olacak.
 
$sudo python setup.py register sdist upload
 
Artık #pip install pebble-remote yazdığınızda projeniz sorunsuz kuruluyor olmalı.


Paketlemeyi öğrenirken faydalandığım linkler burada. Yukarıdaki setup.py dosyası içindeki alanların ne anlama geldiği ayrıntılı anlatılıyor:

1) http://www.scotttorborg.com/python-packaging/minimal.html#
2) https://pythonhosted.org/setuptools/setuptools.html

Bununla ilgili çok örnek bulmanız mümkün elbet ama pebble remote için yaptığım paketi aşağıdaki linkten inceleyebilirsiniz

3) https://pypi.python.org/pypi/pebble-remote/2.0

24 Ocak 2015

Posted In: Gezegen, index, linux, ozguryazilim, package, pebble, pebble-remote, pip, pypi, python

Python’da Kullanıcı Tanımlı Hatalar

    Python projelerinde kullanıcılar hata tanımlayabilir ve aynı sistem tarafından tanımlı hatalar gibi try-except içinde kullanabilir.

    Ben pebble-remote projesini geliştirirken bu hata yakalama kısmında şöyle bir sorunla karşılaşmıştım. Kullanıcı tanımlı hata sınıflarım vardı ve bu sınıfların tanımlandığı dosyanın dışında bir yerde bu tanımlanan hataları yakalamak istiyordum. Hatanın tanımlandığı python dosyasını da import ettiğim halde bu hataları yakalayamıyordum.

   Daha iyi bir yöntemi de olabilir elbet ama benim deneyerek bulduğum çözüm hata sınıfının tam yolunu yazmak oldu.

Kullanmaya çalıştığım python modülünün yapısı aşağıda:

libpebble/pebble
├── __init__.py
├── LightBluePebble.py
├── pebble.py
└── stm32_crc.py

LightBluePebble.py dosyası içinde bir hata aşağıdaki gibi tanımlanmış:


LightBluePebbleError(Exception):
def __init__(self, id, message):
self._id = id
self._message = message
def __str__(self):
return "%s ID:(%s) on LightBlue API" % (self._message, self._id)

Bu hatayı yakalamak istediğim dosya içinde  içinde modülü aşağıda şekilde import ettim:


import pebble as libpebble

Bu haliyle aşağıdaki kod hatalıydı:


try:
...
except LightBluePebbleError as e
...

Doğrusu:


LightBluePebbleError = libpebble.LightBluePebble.LightBluePebbleError

try:
...
except LightBluePebbleError as e
...

16 Ocak 2015

Posted In: exception, Gezegen, handling, impress, linux, ozguryazilim, pebble, pebble-remote, python, userdefinedexception

Python Projelerine Mimetype Desteği Eklemek

    Python projeniz eğer sadece konsol aracıysa ve bunu sağ tıkla şununla aç şeklinde çalıştırılabilecek hale getirmek istiyorsanız projenize mimetype desteği eklemeniz gerekir.

    Benim buna ihtiyaç duymam, gururla daha çok yerde anlatacağım bir olayın arkasından oldu. Bu sene bitirme projemin bir parçası olarak Pebble ile LibreOffice Impress uzaktan kumandasını yazdım. Ve yazdığım araç bir hafta önce LibreOffice deposuna kabul edildi. Ve daha güzeli LibreOffice deposunun tümüne yazma hakkım olması ve listedekilerin "LibreOffice geliştirici ekibine hoşgeldin" demeleriydi. O anki heyecanımla Çanakkaleyi koşarak turlayabilirdim :) Bu süreçteki tüm desteği için Necdet hocama ne kadar teşekkür etsem az. pebble-remote kabul edildikten sonra bu projenin kullanımını kurulumunu basitleştirmeye çalıştım. Mimetype desteğini eklediktan sonra pebble-remote artık sadece bir konsol aracı olmaktan çıktı ve kullanımı çok çok kolaylaştı.

Mimetype desteği eklenmesi şu adımlarla gerçekleştirdim:


* Menüde görünecek logoyu belirledim ve bu logoyu /usr/share/pixmaps/ dizini altına pebble-remote.png ismiyle kopyaladım.












* Menüde görünebilir hale gelmesi için aşağıdaki dosyayı  /usr/share/menu/ altına pebble-remote adıyla kopyaladım. 

---
?package(pebble-remote):needs="X11" section="Applications/Office"\
  title="Pebble Remote" command="/usr/bin/pebble-remote"\
  hints="Presentation"\
  kderemove="y"\
  icon="/usr/share/icons/hicolor/32x32/apps/libreoffice-impress.xpm"
---

* Aşağıdaki dosyayı  /usr/share/applications/ dizini altına pebble-remote.desktop ismiyle kaydettim:

---
[Desktop Entry]
Version=1.0
Terminal=false
Icon=/usr/share/pixmaps/pebble-remote.png
Type=Application
Categories=Office;Presentation;X-Red-Hat-Base;X-MandrivaLinux-Office-Presentations;
Exec=pebble-remote %U
MimeType=application/vnd.oasis.opendocument.presentation;application/vnd.oasis.opendocument.presentation-template;application/vnd.sun.xml.impress;application/vnd.sun.xml.impress.template;application/mspowerpoint;application/vnd.ms-powerpoint;application/vnd.openxmlformats-officedocument.presentationml.presentation;application/vnd.ms-powerpoint.presentation.macroenabled.12;application/vnd.openxmlformats-officedocument.presentationml.template;application/vnd.ms-powerpoint.template.macroenabled.12;application/vnd.openxmlformats-officedocument.presentationml.slide;application/vnd.openxmlformats-officedocument.presentationml.slideshow;application/vnd.ms-powerpoint.slideshow.macroEnabled.12;application/vnd.oasis.opendocument.presentation-flat-xml;application/x-iwork-keynote-sffkey;
Name=Pebble Remote
GenericName=Presentation
Comment=Pebble remote control for LibreOffice Impress.
StartupNotify=true
Keywords=Slideshow;Slides;OpenDocument Presentation;Microsoft PowerPoint;Microsoft Works;OpenOffice Impress;odp;ppt;pptx;
InitialPreference=5
StartupWMClass=libreoffice-impress
X-KDE-Protocols=file,http,smb,ftp,webdav
---

Bu işlemlerden sonra odp formatındaki dosyaya sağ tıkladığımda aşağıdaki görüntüyü gördüm:


16 Ocak 2015

Posted In: Gezegen, impress, mimetype, ozguryazilim, pebble, pebble-remote, python, remote

LibreOffice Impress sunumlarınızı Pebble ile uzaktan yönetin

Neredeyse iki yıl önce LibreOffice Impress sunumlarınızı Android telefonunuzla nasıl uzaktan yönetebilirsiniz diye yazmıştım. Bu halen çok kullanışlı bir yöntem olmasına rağmen sunumları kol saatimizden yönetmek de eminim çok kişinin hoşuna gidecektir. Bir yılı aşkın süredir pebble kullandığımızdan bu uygulama onun üzerinde hazırlandı.



Uygulamayı geliştiren Gülşah bununla ilgili bir blog yazmıştı ama aradan geçen bir haftada yazılım daha kolay kurulabilir ve kullanılabilir hale geldi. Takip edilecek adımlar şöyle:
  • Pebble aygıtlarla sadece bluetooth üzerinden haberleşebildiğinden bilgisayarınızla eşleştirmeniz gerekiyor. Bu işletim sistemine ve kullandığınız masaüstü ortamına göre değişiklik gösterdiğinden burada anlatmak gereksiz ama herhangi bir bluetooth aygıt gibi eşleştiriliyor.
  • pebble-remote uygulamasını kurmadan önce bağımlılıklarını kuralım. Gülşah uygulama için bir depo oluşturduğunda buna da gerek kalmayacak.
    • $ sudo apt-get install python-dev libopenobex1-dev python-tk python-lightblue python-pexpect xdotool python-bluez bluez-tools
    • Uygulama pebble için hazırlanmış lightblue kitaplığını kullandığından onu github deposundan indirip kurmak gerekiyor. Kurulumu için buraya bakabilirsiniz.
  • Artık pebble-remote uygulamasını kurabiliriz. Uygulamanın deb paketini buradan indirip kurabilirsiniz. Çok yakın zamanda rpm paketini de hazır olacaktır.
  • Kurulum tamamlandığında konsoldan aşağıdaki komutla sunumunuzu başlatıp pebble'ınızın müzik uygulamasından yukarı ve aşağı tuşlarını kullanarak sunumda sayfalar arasında gezinebilirsiniz.
    • $ pebble-remote ~/kirkiki.odp
Pebble kullanıcılarından gelecek geri bildirimlerle uygulamaya ihtiyaç duyulan ne varsa eklenebilir.

Kendinden sonrakilere örnek göstereceğim bir çalışma arkadaşı olan Gülşah eminim bundan sonra daha sıkı çalışıp özgür yazılım camiasında daha çok iş yapacaktır.

1 Ocak 2015

Posted In: bluetooth, Gezegen, impress, libreoffice, Özgür yazılım, pebble, saat

Pebble ile Libreoffice Impress Uzaktan Kontrolü


    Libreoffice üzerinde sunumlarınızı yaparken slaytı değiştirmek için yeniden bilgisayarın başına mı gitmeniz gerekiyor? Ya da bu işi uzaktan yapmak için elinizde kocaman bir telefon mu taşımak zorunda kalıyorsunuz? Durun! Artık slaytlarınızı Pebble ile değiştirebilirsiniz... Nasıl mı? :D

    1) Pebble'ınızın telefonunuzla olan bağlantısını kesin.

    2) Pebble'ı bilgisayarınızın bluetoothu ile eşleştirin. Pebble sürekli dışarıya görünür halde olmadığından bu eşleşmeyi yapmak için biraz hızlı olmanız gerekecek. Pebble'ın dışarıya görünür hale gelmesi için  Settings-->Bluetooth ayarına girdiğinizde yukarıda "Now Discoverable" yazısı çıkacaktır. O anda bu eşleşmeyi yapmak gerekiyor. Bir defada olmayabilir. Bu kısım bi miktar sıkıntılı ancak bunu sadece bir kez yapmanız yeterli. Siz elle bu eşleşmeyi bitirmediğiniz sürece bir daha böyle bir işlemeye ihtiyaç olmayacaktır.

    3) pebble-remote uygulamasın indirin. Sıkıştırılmış bir şekilde indirebilirsiniz ya da şu komutu kullanarak uygulamayı klonlayabilirsiniz.

        $ git clone  https://github.com/COMU/pebble-remote

    4) Bağımlılıkları kuruyoruz.

        $ sudo apt-get install python-dev libopenobex1-dev python-tk python-lightblue python-pexpect xdotool python-bluez

     5) lightblue-0.4 uygulamasını indirip kuruyoruz:

        $ git clone https://github.com/pebble/lightblue-0.4/
          $ cd lightblue-0.4
          $ sudo python setup.py install

    6) Bir terminal aracılığıyla pebble-remote dizini içine geçin:
     
        $cd /path/to/pebble-remote

    7) Burada çalıştırmak için gerekli komutu yazarken bazı parametrelere ihtiyacınız olacak.

Birinci parametre pebble id Bu bilgiyi iki şekilde öğrenebilirsiniz. Birincisi Pebble üzerinde Settings-->About-->BT Address

İkincisi bilgisayarınızda bluetooth ayarlarında eşleşmiş cihazlara girip Pebble cihazına tıkladığınızda sağ tarafta adres bilgisi olacaktır.

Adres 6 oktetten oluşan 11:22:33:AA:BB:CC gibi bir bilgidir. Bu bilgiyi bir kenara not edelim.

İhtiyacımız olan ikinci parametre, yapmak istediğiniz sunumun bilgisayardaki tam yolu.
Örneğin: /home/gulsah/sunum1.odp

Artık  şu komutu çalışırabiliriz(Kendi pebble id niz ve sunumunuzun tam yolu ile):

./p.py --pebble_id 11:22:33:AA:BB:CC --lightblue remote libreoffice /home/gulsah /sunum1.odp

    Bu komutu çalıştırdıktan sonra pebble ile bağlantıda bir sorun yaşarsanız bir defa bu komutu çalıştırırken yine pebble'ın ikinci adımda tarif ettiğim gibi görünür olması gerekebilir.

    Sunum önünüze tam ekran açılacaktır. Pebble içindeki müzik uygulamasını açıp üst ve alt düğmelerini kullanarak slaytlarınızı Pebble ile değiştirebilirsiniz. :)

 


24 Aralık 2014

Posted In: Gezegen, linux, pebble, python, remote, smartwatch

Pebble Appstore’a Watchface Yüklemek

       Bu yolda bir adım daha attıkça atılabilecek daha ne kadar çok adım olduğunu görüyor insan. Pebble ile maceram gittikçe heyecanlı bir hal alıyor. Geçtiğimiz günlerde TextWatch isimli watchface'i Türkçeleştirdim ve ilk watchface'imi appstora yükledim. PebbleTextWatch-tr ismiyle appstore' da bulabilirsiniz. Bu yazımda bu aşamalardan bahsedeceğim.

     Kodların topluca tutulduğu bir yer yok. Ama isteğe bağlı olarak uygulamanın yazarları appstore' da source link kısmına koda ulaşabilinecek bir link verebiliyorlar. TextWatch'ın kodlarına da bu yolla github'tan ulaştım. Uygulamayı forkladım Türkçeleştirme için gerekli değişikliği yaptım. Şimdi gelelim yükleme kısmına. Öncelikle Pebble Smartwatch'a Merhaba isimli yazımda tarif ettiğim gibi SDK nın doğru bir şekilde yüklenmiş ve kurulmuş olmalı. İlk olarak siteye üye olmamız gerekiyor. Daha sonra linkten yükleyeceğimiz uygulamanın tipini seçiyoruz. Uygulamayla ilgili gerekli bilgileri:

* Adı
* Kısaca açıklaması (Kendi dilinde ve İngilizce)
* Varsa web sitesinin url si
* Varsa kaynak kodunun url si
* Uygulamanın görünümüyle ilgili en az bir ekran görüntüsü.

    Ekran görüntüsünü alma kısmıda şöyle:
Telefonumuz ve bilgisyarımız aynı ağa bağlıyken ve telefon ve saatimiz bluetooth la birbirne bağlıyken şu komutu veriyoruz:

     $ export PEBBLE_PHONE=Telefonumuzun_ip_adresi
     $ pebble screenshot

    Bu komuttan sonra bilgisyarımıza gelen görüntünün boyutu 144X169 boyutunda oluyor. Bunu herhangi bir resim düzenleyicide 144X168 boyutunda ölçeklendirmemiz gerekiyor.

    Bunları tamamladıktan sonra CREATE butonuna tıklıyoruz. İkinci sayfada mutlaka doldurmamız gereken ama boş bıraktığımız yerler varsa bizi uyarıyor.

* $ pebble build komutunu verdiğimizde uygulama dizininde build diye bir dizin oluşmuştu. Onun içindeki uygulama_adı.pbw isimli dosyayı Add a release butonuna tıkladığımızda karşımıza gelen kısma yüklüyoruz. Bu yayınla ilgili kısaca bir not girebiliriz. Sonra kaydediyoruz.

* Publish butonuna tıkladığımızda eğer herşey yolundaysa uygulamamız markette yayınlanmış oluyor.

    Birde önemli bir nokta uygulamayı forkladığımız için appinfo.json dosyasında uuid kısmı her uygulamaya özel olduğu için kendimiz yeni bir uygulama oluşturup onun uuid si ile değiştirmeliyiz. Ve uygulamaya gelecekte yapacağımız her değişiklik için kısaca bir not eklemeli ve versiyon numarasını değiştirmeliyiz. 

   Pebble ile ilgili yazılarımın devamı mutlaka gelecek ilgilenenler için umarım faydalı olmuştur. 

   

6 Mayıs 2014

Posted In: appstore, Gezegen, Özgür yazılım, pebble, smartwatch, watchface

Pebble Smartwatch ‘a Merhaba

   
    Pebble smartwatch ilk olarak Kickstarter da tanıtılan ve beklentinin çok üzerinde destek gören bir projeydi. Android ve iOS cihazlarla uyumludur. Telefona bluetooth üzerinden bağlanarak gelen bildirimleri (Arama, email, facebook mesajı,..) titreşimle uyararak anında kullanıcıya görüntüler. Ayrıca üzerinde çalışan uygulamaları kullanarak telefonumuzdaki müzik çalar, kamera gibi uygulamaları yönetme imkanı sağlar.



  
    Bu sevimli cihaza destek vermek gerçekten çok eğlenceli :) Herşeyin ilk adımında anlatıldığı gibi  ilk olarak bir hello world uygulaması yapacağız.

    Android işletim sistemi için geliştirme için gerekli ortamı hazırlamakla başlayalım:

   1) Pebble ın web sitesine kayıt oluyoruz.

   2) SDK nın son sürümünü bilgisayarımıza indiriyoruz.

   3) Telefonumuza Google Play Store dan pebble uygulamasını kuruyoruz.

   4) Bizim yazacağımız uygulamayı çalıştırabilmek için pebble uygulamasında şu izni sağlamamız gerek:


   5) Şimdi indirdiğimiz SDK nın kurulumunu yapıyoruz.

    $ mkdir ~/pebble-dev/
    $ cd ~/pebble-dev/
    $ tar -zxf ~/Downloads/PebbleSDK-2.0.2.tar.gz
    $ echo 'export PATH=~/pebble-dev/PebbleSDK-2.0.2/bin:$PATH' >> ~/.profile
    $ source ~/.profile 

   6) 32 bit işletim sistemi kullananların ayrıca yapması gereken bir işlem daha var. Şu linkten "pre-compiled toolchain for Ubuntu 32 bit" bağlantısına tıklıyoruz. İnen dosya için şu işlemleri yapıyoruz:

   $ cd ~/pebble-dev/PebbleSDK-2.0.2
   $ tar -zxf ~/Downloads/arm-cs-tools-ubuntu-universal.tar.gz
   $ echo 'export PATH=~/pebble-dev/PebbleSDK-2.0.2/arm-cs-tools/bin:$PATH' >> ~/.profile
   $ source ~/.profile

7) Python kitaplıklarını kuruyoruz

   $ sudo apt-get install python-pip python2.7-dev
   $ sudo pip install virtualenv
   $ cd ~/pebble-dev/PebbleSDK-2.0.2
   $ virtualenv --no-site-packages .env
   $ source .env/bin/activate
   $ pip install -r ~/pebble-dev/PebbleSDK-2.0.2/requirements.txt
   $ deactivate

  Çalışmak için gerekli ortam hazır artık ilk uygulamaımızı yazabiliriz.Bundan sonra yapacaklarımız için başka bir dizine geçkmek iyi fikir olabilir.

 8) Yeni projemizi oluşturuyoruz

     $ pebble new-project hello_world
      $ cd hello_word

 9) Oluşturduğumuz projeyi derliyoruz.

    $ pebble build

10) Derlediğimiz uygulamayı şimdi saatimize kuruyoruz.
Önemli bir ayrıntı: Bilgisayarımız ve telefonumuz aynı ağdan internete bağlanıyor olmalı ve saatimiz bluetooth ile telefonumuza bağlı olmalı. Kurulum için ip adresine ihtiyaç duyacağız. Şuradan öğrenebiliriz:





  $ pebble install --phone KENDI_UYGULAMAMIZDA_GORUNUEN_IP_ADRESI

    Tuşların kısaca nasıl çalıştığını anlatan örnek bir şablon saatimize kurulmuş oldu. Ayrıntılı bilgi için bu siteyi inceleyebilirsiniz.

30 Nisan 2014

Posted In: Açık kaynak, Gezegen, linux, Özgür yazılım, pebble, smartwatch

WP Twitter Auto Publish Powered By : XYZScripts.com