Paylaşımın geleceği: Pydio ve ownCloud bütünleşiyor

Açık kaynak dosya paylaşma çevre-dizgesi1 büyük bir tasarı çeşitliliği barındırıyor, her biri kendi çözümünü tedarik ediyor ve her biri farklı bir yaklaşıma sahip. Dropbox, Google Drive, iCloud ya da OneDrive gibi ticari çözümler yerine açık kaynak bir çözümü seçmenin birçok sebebi var. Bu çözümler verinizi yönetirken endişe etmemenizi sağlıyor ama bazı sınırlamalarla; denetim yetersizliği, varolan … Okumaya devam et "Paylaşımın geleceği: Pydio ve ownCloud bütünleşiyor"

21 Mayıs 2016

Posted In: Açık kaynak, Bulut, Çeviri, linuxgezegeni, OpenCloudMesh, ownCloud, Özgür yazılım, Pydio

Veri Bilimi Bülteni — 40

Her cuma yayın­ladığım ‘Veri Bil­imi Bül­teni’ ile son 1 haf­tada veri ve veri bil­imi konusuyla ilgili okuduk­larım­dan dikka­timi çeken­leri pay­laşıy­o­rum. Bu bül­ten her yayın­landığında hab­er­dar olmak istiy­or­sanız “Haf­talık Veri Bil­imi Bül­teni” linkedin grubuna üye ola­bilirsiniz. Küçük bir not: Önümüzdeki haftadan itibaren bülteni tamamen ingilizce olarak çıkarmayı (zaten içerikler ingilizce, ben bazen yorumlarımı türkçe Devamını Oku […]

20 Mayıs 2016

Posted In: Linux Gezegeni'nde Gözüken Yazılar, Veri Bilimi Bülteni

WordPress’i Neden Bıraktım

Birkaç ay önce yeni tasarımla beraber hugo’ya geçtiğimi duyurmuştum. Bu yazıda’da neden artık wordpress kullanmadığımı anlatmaya çalışacağım.

Uzun süredir yazı yazmadığımı farkedince bunun nedenini araştırmaya başladım. Tabiki kişisel problemlerin de buna büyük bir etkisi var. Yeni bir blog tasarımının beni bu konuda daha çok motive edeceğini düşündüm ve yeni bir tasarıma karar verdim. Bununla beraber farklı bir yapıya geçmeyi düşünürken GoLang ile yazılmış Hugo’yu bir arkadaşımın tavsiyesi üzerine inceledim ve denemeye karar verdim. Sonrasında bu site ortaya çıkmış oldu.

Wordpress’i kendi sunucumda host ediyordum. Yoğunluk içerisinde bunun bakımını yapmak, sadece wordpress dışında PHP ve MySQL’in güncellemelerini takip etmek vs gibi işler beni bunaltıyordu. Bir güncelleme ile web sayfasının çevrimdışı olduğu zamanlar bile oluyordu.

Kullanımıma göre Wordpress’in yazı yazmak dışında hiç bir özelliğini kullanmadığımı farkettim. Bunun dışında markdown oldukça sevdiğim bir format. Markdown kullanırsam herhangi bir html editorü kullanma zorunluluğumu da ortadan kaldırıyordu. Başlangıçta Wordpress’i markdown ile kullanmayı düşünüyordum. Fakat sonradan bu kararım da değişti. Önyüz tasarımını değiştirmek zaten zamanımı alacaktı. Bu yüzden kullandığım sistemi de değiştirmek istedim. Ayrıca tüm yazıları markdown’a çevirerek aynı zamanda yazıları da tekrar inceleme fırsatım olacaktı.

Hugo’yu incelediğimde gereksinimlerimin nerdeyse tamamını karşılıyordu. Jekyll’da olduğu gibi markdown ile yazıyorsun. Basit bir command-line ile html üretiyor. Özellikle yapısı ve özelliklerini beğendim. Jekyll daha önce kullanmadım ama okuduğum kadarıyla birkaç problemi beraberinde getiriyor. Hugo’nun da beğenmediğim bir çok özelliği olmasına rağmen gereksiminlerimi bir şekilde karşıladım.

Hugo bir komut-satırı (command-line) aracı sunuyor. Hızlı bir şekilde derleme işlemini yapabildiği gibi değişiklikleri canlı olarak görmek için bir sunucu da ayağa kaldırabiliyor. Ayrıca komut satırından Web sayfa tamamen statik dosyalardan oluştuğu için istediğiniz yerde host edebilirsiniz. Github, Gitlab, Amazon S3 gibi.Yeni bir yazı yayınladığınızda otomatik yayınlanması için de ücretsiz servisler bulunmakta fakat ben Jenkins ile bunu yapmayı tercih ettim. Yeni bir yazıyı bir git deposuna gönderdikten github üzerindeki başka bir depoya yüklenmesini sağlıyorum bu şekilde yeni yazı yayınlanıyor.

Eğer bir basit blogunuz varsa, git vb gibi kavramlarla aranız iyi ise ve sadece içerik üretmeye odaklanmak istiyorsanız hugo’yu tavsiye ederim.

https://gohugo.io/

Bir sonraki yazıda görüşmek üzere…

18 Mayıs 2016

Go Git Services (Gogs) Kurulumu

Herkese merhaba,
Bu yazımda Gogs'un ne olduğundan ve nasıl yapılandırılıp kullanılabileceğinden bahsedeceğim.


Gogs'u Halil'in Github'da yıldızlaması ile gördüm. Ne iş yapıyormuş diye bakınca "vay be gavur da güzel proje yapmış" dedim ve projenin Go ile yazıldığını görünce aşırı sevindim. "Bu projeyi bir kurup deneyeyim, katkı versem çokii olur" diye düşündüm. Çünkü yaklaşık bir aydır boş kaldıkça Go'yu öğrenmeye vakit ayırıyorum ve bu da baya güzel denk geldi :)


Gogs özetle kendi git servisinizi kurmanızı, kullanmanızı, yönetmenizi sağlıyor. Belgelendirmesi de oldukça güzel yapılmış. Ben kaynak koddan hangi adımları uygulayarak kurduğumu anlatacağım.


İlk olarak servis vereceğimiz sunucunuza Go kurmalıyız. Ssh'a açık olacağı için bir kullanıcıyı yetkilendirmek gerekiyor. Bu yüzden yeni bir kullanıcı oluşturmalıyız.

#Kullanıcı oluşturup home dizinine geçelim.
$ sudo adduser --disabled-login --gecos 'Gogs' git
$ sudo su - git
$ cd ~

#Go'yu local diye bir dizin oluşturup yükleyelim.
$ mkdir local
$ wget https://storage.googleapis.com/golang/go$VERSION.$OS-$ARCH.tar.gz

# tar.gz uzantısını açalım.
$ tar -C /home/git/local -xzf go$VERSION.$OS-$ARCH.tar.gz

# Çevresel değişkenleri de ~/.bashrc altına ekleyelim.
$ sudo su - git
$ cd ~
$ echo 'export GOROOT=$HOME/local/go' >> $HOME/.bashrc
$ echo 'export GOPATH=$HOME/go' >> $HOME/.bashrc
$ echo 'export PATH=$PATH:$GOROOT/bin' >> $HOME/.bashrc
$ source $HOME/.bashrc

# Gogs'un kaynak kodunu kendi yerelimize çekelim ve derleyelim.
$ go get -u github.com/gogits/gogs (bağımlılıklar için)
$ cd $GOPATH/src/github.com/gogits/gogs
$ go build

# Şimdi "$ ./gogs web" dediğimizde çıktı aşağıdaki gibi olmalı: (varsayılan port 3000)

Bu çıktıda da dediği gibi ilk kez çalıştırdığımız için [w] uyarısını görmezden gelebiliriz.

Çıktıda bu uyarı dışında sorun yoksa şimdi app.ini dosyasını oluşturmalıyız. Bu kendi git servisimizin yapılandırmasını içeren dosya. (/custom/conf/app.ini

Benim yapılandırma dosyam şu şekilde:

APP_NAME = Gogs: Go Git Service
RUN_USER = git
RUN_MODE = prod

[database]
DB_TYPE  = mysql
HOST     = 127.0.0.1:3306
NAME     = gogs
USER     =root
PASSWD   =*********
SSL_MODE = disable
PATH     = data/gogs.db

[repository]
ROOT = /home/git/gogs-repositories

[server]
DOMAIN       =foo.bar.baz
HTTP_PORT    = 3000
ROOT_URL     = http://foo.bar.baz/
DISABLE_SSH  = false
SSH_PORT     = 22
OFFLINE_MODE = false

[mailer]
ENABLED = false

[service]
REGISTER_EMAIL_CONFIRM = false
ENABLE_NOTIFY_MAIL     = false
DISABLE_REGISTRATION   = false
ENABLE_CAPTCHA         = true
REQUIRE_SIGNIN_VIEW    = false

[picture]
DISABLE_GRAVATAR = false

[session]
PROVIDER = file

[log]
MODE      = file
LEVEL     = Info
ROOT_PATH = /home/git/go/src/github.com/gogits/gogs/log

[security]
INSTALL_LOCK = true
SECRET_KEY   =*************

# Son olarak konsol dışında 80.porttan erişip Github gibi arayüzü kullanmak istiyorsak, Nginx ya da Apache yapılandırmasını yapmalıyız.

Nginx yapılandırması için git kullanıcısından exit diyerek çıkalım.

$ vim /etc/nginx/sites-available/gogs

server {
    listen 80;
    server_name foo.bar.baz;
    location / {
        proxy_set_header    X-Real-IP $remote_addr;
        proxy_set_header    Host        $ http_host;
        proxy_pass              http://127.0.0.1:3000;
    }
}

Yeniden servisi çalıştıralım:

$ cd $GOPATH/src/github.com/gogits/gogs
$ ./gogs web


Şimdi tarayıcımıza "foo.bar.baz" dediğimizde bu sayfa ile karşılaşıyor olmalıyız.


Görüşmek üzere o/

12 Mayıs 2016

Posted In: free software, Gezegen, git, go, gogs, Özgür yazılım, service

Vodem’in (Huawei 4231) Linux’ta Ethernet Olarak Kullanımı

Elime Vodafone’un bir modemi (Vodem) geçti. Bilgisayarıma taktığımda Linux bir ethernet olarak görmedi ve doğrudan çalışmadı. Daha önce Turkcell’in yeni nesil VINN’larında bu hiç başıma gelmediğinden, bir miktar uğraşmam gerekti.

Huawei’nin K4203 isimli bir modeliymiş (lsusb sağolsun). Kendisi öntanımlı olarak MBIM isimli, Linux 3.8’de desteği gelen bir protokolle bağlanıyormuş (Google sağolsun). Bir sonraki nesil bir cihaz kısaca. Ama ethernet aygıtı olarak da çalıştırmak da mümkün. Bunun için usb_modeswitch ile cihaza komut gönderilmesi gerekiyor.

lsusb çıktısında aygıtın ID’sini 12F1:1F1C olarak görüyoruz:

# lsusb
# lsusb | grep Huawei
Bus 002 Device 012: ID 12f1:1f1c Huawei Technologies Co., Ltd.

usb_modeswitch ile şu komutu gönderince kendisi bir ethernet aygıtına dönüşüyor:

# usb_modeswitch -v 12d1 -p 1f1c -W -I -M 55534243123456780000000000000011062000000101000100000000000000
Taking all parameters from the command line

* usb_modeswitch: handle USB devices with multiple modes
* Version 1.2.5 (C) Josua Dietze 2012
* Based on libusb0 (0.1.12 and above)

! PLEASE REPORT NEW CONFIGURATIONS !

DefaultVendor= 0x12d1
DefaultProduct= 0x1f1c
TargetVendor= not set
TargetProduct= not set
TargetClass= not set
TargetProductList=""

DetachStorageOnly=0
HuaweiMode=0
SierraMode=0
SonyMode=0
QisdaMode=0
GCTMode=0
KobilMode=0
SequansMode=0
MobileActionMode=0
CiscoMode=0
MessageEndpoint= not set
MessageContent="55534243123456780000000000000011062000000101000100000000000000"
NeedResponse=0
ResponseEndpoint= not set

InquireDevice disabled
Success check disabled
System integration mode disabled

Looking for default devices ...
searching devices, found USB ID 12d1:1f1c
found matching vendor ID
found matching product ID
adding device
searching devices, found USB ID 04f2:b230
Found device in default mode, class or configuration (1)
Accessing device 012 on bus 002 ...
Getting the current device configuration ...
OK, got current device configuration (1)
Using interface number 0
Using endpoints 0x01 (out) and 0x81 (in)

USB description data (for identification)
-------------------------
Manufacturer: Vodafone(Huawei)
Product: HUAWEI Mobile
Serial No.: FFFFFFFFFFFFFFFF
-------------------------
Looking for active driver ...
OK, driver found; name unknown, limitation of libusb1
OK, driver "unkown" detached
Setting up communication with interface 0
Using endpoint 0x01 for message sending ...
Trying to send message 1 to endpoint 0x01 ...
OK, message successfully sent
Resetting response endpoint 0x81
Resetting message endpoint 0x01
-> Run lsusb to note any changes. Bye.

Artık lsusb ile baktığımızda USB ID’sinin de değiştiğini görüyoruz:

# lsusb | grep Huawei
Bus 002 Device 013: ID 12d1:1590 Huawei Technologies Co., Ltd. 

Şimdi bir ağ aygıtı olarak da onu görebilmeliyiz ve eğer ağ yöneticimiz otomatik IP almaya ayarlıysa IP’sini bile almış olmalı:

# ip a
8: enp0s29u1u3: mtu 1500 qdisc pfifo_fast state UP qlen 1000
link/ether 86:c9:ec:4d:51:bb brd ff:ff:ff:ff:ff:ff
inet 192.168.9.100/24 brd 192.168.9.255 scope global enp0s29u1u3
valid_lft forever preferred_lft forever

Bu yaptığımız ayarlar, ne yazık ki kalıcı değil. Modemin üzerine böyle bir bilgi yazamıyoruz. Onun yerine Linux’un aygıt yöneticisi olan udev’e bu modemin her takıldığını farkettiğinde bu komutu çalıştırmasını söylememiz gerekiyor.

Bunun için udev’in kuralları okuyabileceği bir dosya oluşturuyoruz:

echo 'ATTRS{idVendor}=="12d1", ATTRS{idProduct}=="1f1c", RUN+="/usr/sbin/usb_modeswitch -v 12d1 -p 1f1c -W -I -M 55534243123456780000000000000011062000000101000100000000000000"'> /etc/udev/rules.d/45-usb_modeswitch.rules

udev’e kuralları tekrar okumasını söylüyoruz:

# udevadm control --reload-rules

Artık “Vodem”i taktığımızda, otomatik olarak ethernet kartı olarak görünmeli ve DHCP’ten IP alabilmeli.

Not: Aygıta gönderilmesi gereken “55534243123456780000000000000011062000000101000100000000000000” gibi bir mesajı kafadan yazmadım :). İnternet’ten araştırdığımda rastladım. Sadece bu cihaz değil, başka Huawei cihazlarında da işe yarıyor gibi okudum. Teknik kaynağını bilen varsa, yorumlara eklerse sevinirim.

9 Mayıs 2016

Posted In: Gezegen

Vodem’in (Huawei 4231) Linux’ta Ethernet Olarak Kullanımı

Elime Vodafone’un bir modemi (Vodem) geçti. Bilgisayarıma taktığımda Linux bir ethernet olarak görmedi ve doğrudan çalışmadı. Daha önce Turkcell’in yeni nesil VINN’larında bu hiç başıma gelmediğinden, bir miktar uğraşmam gerekti.

Huawei’nin K4203 isimli bir modeliymiş (lsusb sağolsun). Kendisi öntanımlı olarak MBIM isimli, Linux 3.8’de desteği gelen bir protokolle bağlanıyormuş (Google sağolsun). Bir sonraki nesil bir cihaz kısaca. Ama ethernet aygıtı olarak da çalıştırmak da mümkün. Bunun için usb_modeswitch ile cihaza komut gönderilmesi gerekiyor.

lsusb çıktısında aygıtın ID’sini 12F1:1F1C olarak görüyoruz:

# lsusb
# lsusb | grep Huawei
Bus 002 Device 012: ID 12f1:1f1c Huawei Technologies Co., Ltd.

usb_modeswitch ile şu komutu gönderince kendisi bir ethernet aygıtına dönüşüyor:

# usb_modeswitch -v 12d1 -p 1f1c -W -I -M 55534243123456780000000000000011062000000101000100000000000000
Taking all parameters from the command line

* usb_modeswitch: handle USB devices with multiple modes
* Version 1.2.5 (C) Josua Dietze 2012
* Based on libusb0 (0.1.12 and above)

! PLEASE REPORT NEW CONFIGURATIONS !

DefaultVendor= 0x12d1
DefaultProduct= 0x1f1c
TargetVendor= not set
TargetProduct= not set
TargetClass= not set
TargetProductList=""

DetachStorageOnly=0
HuaweiMode=0
SierraMode=0
SonyMode=0
QisdaMode=0
GCTMode=0
KobilMode=0
SequansMode=0
MobileActionMode=0
CiscoMode=0
MessageEndpoint= not set
MessageContent="55534243123456780000000000000011062000000101000100000000000000"
NeedResponse=0
ResponseEndpoint= not set

InquireDevice disabled
Success check disabled
System integration mode disabled

Looking for default devices ...
searching devices, found USB ID 12d1:1f1c
found matching vendor ID
found matching product ID
adding device
searching devices, found USB ID 04f2:b230
Found device in default mode, class or configuration (1)
Accessing device 012 on bus 002 ...
Getting the current device configuration ...
OK, got current device configuration (1)
Using interface number 0
Using endpoints 0x01 (out) and 0x81 (in)

USB description data (for identification)
-------------------------
Manufacturer: Vodafone(Huawei)
Product: HUAWEI Mobile
Serial No.: FFFFFFFFFFFFFFFF
-------------------------
Looking for active driver ...
OK, driver found; name unknown, limitation of libusb1
OK, driver "unkown" detached
Setting up communication with interface 0
Using endpoint 0x01 for message sending ...
Trying to send message 1 to endpoint 0x01 ...
OK, message successfully sent
Resetting response endpoint 0x81
Resetting message endpoint 0x01
-> Run lsusb to note any changes. Bye.

Artık lsusb ile baktığımızda USB ID’sinin de değiştiğini görüyoruz:

# lsusb | grep Huawei
Bus 002 Device 013: ID 12d1:1590 Huawei Technologies Co., Ltd. 

Şimdi bir ağ aygıtı olarak da onu görebilmeliyiz ve eğer ağ yöneticimiz otomatik IP almaya ayarlıysa IP’sini bile almış olmalı:

# ip a
8: enp0s29u1u3: mtu 1500 qdisc pfifo_fast state UP qlen 1000
link/ether 86:c9:ec:4d:51:bb brd ff:ff:ff:ff:ff:ff
inet 192.168.9.100/24 brd 192.168.9.255 scope global enp0s29u1u3
valid_lft forever preferred_lft forever

Bu yaptığımız ayarlar, ne yazık ki kalıcı değil. Modemin üzerine böyle bir bilgi yazamıyoruz. Onun yerine Linux’un aygıt yöneticisi olan udev’e bu modemin her takıldığını farkettiğinde bu komutu çalıştırmasını söylememiz gerekiyor.

Bunun için udev’in kuralları okuyabileceği bir dosya oluşturuyoruz:

echo 'ATTRS{idVendor}=="12d1", ATTRS{idProduct}=="1f1c", RUN+="/usr/sbin/usb_modeswitch -v 12d1 -p 1f1c -W -I -M 55534243123456780000000000000011062000000101000100000000000000"'> /etc/udev/rules.d/45-usb_modeswitch.rules

udev’e kuralları tekrar okumasını söylüyoruz:

# udevadm control --reload-rules

Artık “Vodem”i taktığımızda, otomatik olarak ethernet kartı olarak görünmeli ve DHCP’ten IP alabilmeli.

Not: Aygıta gönderilmesi gereken “55534243123456780000000000000011062000000101000100000000000000” gibi bir mesajı kafadan yazmadım :). İnternet’ten araştırdığımda rastladım. Sadece bu cihaz değil, başka Huawei cihazlarında da işe yarıyor gibi okudum. Teknik kaynağını bilen varsa, yorumlara eklerse sevinirim.

9 Mayıs 2016

Posted In: Gezegen

Vodem’in (Huawei 4231) Linux’ta Ethernet Olarak Kullanımı

Elime Vodafone’un bir modemi (Vodem) geçti. Bilgisayarıma taktığımda Linux bir ethernet olarak görmedi ve doğrudan çalışmadı. Daha önce Turkcell’in yeni nesil VINN’larında bu hiç başıma gelmediğinden, bir miktar uğraşmam gerekti.

Huawei’nin K4203 isimli bir modeliymiş (lsusb sağolsun). Kendisi öntanımlı olarak MBIM isimli, Linux 3.8’de desteği gelen bir protokolle bağlanıyormuş (Google sağolsun). Bir sonraki nesil bir cihaz kısaca. Ama ethernet aygıtı olarak da çalıştırmak da mümkün. Bunun için usb_modeswitch ile cihaza komut gönderilmesi gerekiyor.

lsusb çıktısında aygıtın ID’sini 12F1:1F1C olarak görüyoruz:

# lsusb
# lsusb | grep Huawei
Bus 002 Device 012: ID 12f1:1f1c Huawei Technologies Co., Ltd.

usb_modeswitch ile şu komutu gönderince kendisi bir ethernet aygıtına dönüşüyor:

# usb_modeswitch -v 12d1 -p 1f1c -W -I -M 55534243123456780000000000000011062000000101000100000000000000
Taking all parameters from the command line

* usb_modeswitch: handle USB devices with multiple modes
* Version 1.2.5 (C) Josua Dietze 2012
* Based on libusb0 (0.1.12 and above)

! PLEASE REPORT NEW CONFIGURATIONS !

DefaultVendor= 0x12d1
DefaultProduct= 0x1f1c
TargetVendor= not set
TargetProduct= not set
TargetClass= not set
TargetProductList=""

DetachStorageOnly=0
HuaweiMode=0
SierraMode=0
SonyMode=0
QisdaMode=0
GCTMode=0
KobilMode=0
SequansMode=0
MobileActionMode=0
CiscoMode=0
MessageEndpoint= not set
MessageContent="55534243123456780000000000000011062000000101000100000000000000"
NeedResponse=0
ResponseEndpoint= not set

InquireDevice disabled
Success check disabled
System integration mode disabled

Looking for default devices ...
searching devices, found USB ID 12d1:1f1c
found matching vendor ID
found matching product ID
adding device
searching devices, found USB ID 04f2:b230
Found device in default mode, class or configuration (1)
Accessing device 012 on bus 002 ...
Getting the current device configuration ...
OK, got current device configuration (1)
Using interface number 0
Using endpoints 0x01 (out) and 0x81 (in)

USB description data (for identification)
-------------------------
Manufacturer: Vodafone(Huawei)
Product: HUAWEI Mobile
Serial No.: FFFFFFFFFFFFFFFF
-------------------------
Looking for active driver ...
OK, driver found; name unknown, limitation of libusb1
OK, driver "unkown" detached
Setting up communication with interface 0
Using endpoint 0x01 for message sending ...
Trying to send message 1 to endpoint 0x01 ...
OK, message successfully sent
Resetting response endpoint 0x81
Resetting message endpoint 0x01
-> Run lsusb to note any changes. Bye.

Artık lsusb ile baktığımızda USB ID’sinin de değiştiğini görüyoruz:

# lsusb | grep Huawei
Bus 002 Device 013: ID 12d1:1590 Huawei Technologies Co., Ltd. 

Şimdi bir ağ aygıtı olarak da onu görebilmeliyiz ve eğer ağ yöneticimiz otomatik IP almaya ayarlıysa IP’sini bile almış olmalı:

# ip a
8: enp0s29u1u3: mtu 1500 qdisc pfifo_fast state UP qlen 1000
link/ether 86:c9:ec:4d:51:bb brd ff:ff:ff:ff:ff:ff
inet 192.168.9.100/24 brd 192.168.9.255 scope global enp0s29u1u3
valid_lft forever preferred_lft forever

Bu yaptığımız ayarlar, ne yazık ki kalıcı değil. Modemin üzerine böyle bir bilgi yazamıyoruz. Onun yerine Linux’un aygıt yöneticisi olan udev’e bu modemin her takıldığını farkettiğinde bu komutu çalıştırmasını söylememiz gerekiyor.

Bunun için udev’in kuralları okuyabileceği bir dosya oluşturuyoruz:

echo 'ATTRS{idVendor}=="12d1", ATTRS{idProduct}=="1f1c", RUN+="/usr/sbin/usb_modeswitch -v 12d1 -p 1f1c -W -I -M 55534243123456780000000000000011062000000101000100000000000000"'> /etc/udev/rules.d/45-usb_modeswitch.rules

udev’e kuralları tekrar okumasını söylüyoruz:

# udevadm control --reload-rules

Artık “Vodem”i taktığımızda, otomatik olarak ethernet kartı olarak görünmeli ve DHCP’ten IP alabilmeli.

Not: Aygıta gönderilmesi gereken “55534243123456780000000000000011062000000101000100000000000000” gibi bir mesajı kafadan yazmadım :). İnternet’ten araştırdığımda rastladım. Sadece bu cihaz değil, başka Huawei cihazlarında da işe yarıyor gibi okudum. Teknik kaynağını bilen varsa, yorumlara eklerse sevinirim.

9 Mayıs 2016

Posted In: Gezegen

Veri Bilimi Bülteni — 38

Her cuma yayın­ladığım ‘Veri Bil­imi Bül­teni’ ile son 1 haf­tada veri ve veri bil­imi konusuyla ilgili okuduk­larım­dan dikka­timi çeken­leri pay­laşıy­o­rum. Bu bül­ten her yayın­landığında hab­er­dar olmak istiy­or­sanız “Haf­talık Veri Bil­imi Bül­teni” linkedin grubuna üye ola­bilirsiniz. İyi Okumalar. Coğrafi verilerle çalışmanın kolay yolu: pyspatial Önceki bültenlerde ‘ırkçılık(!)’ yapan Microsoft Bot’undan bahsetmiştim. Reddit’te Devamını Oku […]

6 Mayıs 2016

Posted In: Linux Gezegeni'nde Gözüken Yazılar, Veri Bilimi Bülteni

LibreOffice Crash Projesi

Herkese merhaba,

Bir önceki yazımda Ankara'da gerçekleşen Hackfest'te Crash projesi için çalışmaya başladığımdan bahsetmiştim.

Crash projesinde Django kullanılıyor, LibreOffice sunucularındaki çökme raporlamaları için kullanılacak. Marcus'un bana ilk verdiği iş arayüzde bir düzenleme idi.

Eklenmiş olan her LibreOffice versiyonu için günlük çökme miktarı giriliyor ve özet bir grafik oluşturuluyor. Alt kısımda da versiyon ve ayrıntıların olduğu yeni sayfa için bir link vardı. Bu kısmı değiştirip dropdown butona çevirdim. Artık ne kadar versiyon eklenirse eklensin tablo genişleyip sayfayı aşmayacak :)

Before:


















After:
İlk Pull-Request'im alındı. Yeni şeyler ekledikçe yazacağım. Hoş kalın o/

5 Mayıs 2016

Posted In: crash, free sofware, Gezegen, libreoffice

Mozilla Çalışmalarım 2

Herkese merhaba,

Bu yazımda öncelikle Mozilla'nın ürünü olan İnstantbird için düzelttiğim bir hata kaydından, sonrasında da neden birtakım projelere katkı verip durduğumdan bahsetmek istiyorum.

İnstantbird'ün ne olduğunu öğrendikten sonra severek kullanmaya başladım. Ürün mesajlaşma servislerinizi kullanabileceğiniz bir mesajlaşma servisi aslında. IRC, Slack, Twitter, Yahoo, Google Talk gibi servisleri kullabiliyorusunuz. Derleyip kurmak isterseniz de buraya bakabilirsiniz. 

Çözdüğüm hata kaydı ise burada ve yine arayüz ile ilgili bir iyileştirme. İnstantbird'ün üstte bulunan menüsünden "Tools">"Preferences">"Advanced"> "Manage Search Engines" yolunu izledikten sonra yeni bir pencere açılıyor. Bu pencerede geliştiricilerin gereksiz gördükleri Keyword bölümünü kaldırdım.

Öncesi:
Sonrası:

Peki neden böyle şeyler yapıyorum?

İkinci dönem başladığından beri hiç bilmediğim projelerin ne iş yaptıklarını öğrenip, kaynak kodundan kurup, hata kayıtlarını kapatmaya çalışıyorum. Katkılarım alındıkça da blogumda yazıyorum ve vakit ayırıp düzenli çalışan herkesin de ilgilendikleri projelere katkı verebileceğini düşünüyorum.

Bu katkılardan bazıları, bazı kişilerin gözünde küçük görüyor. Herkesin fikrine de saygım var elbette. Ama 21.yyda  kimsenin elini bağlayan yoktur diye tahmin ediyorum. Böyle kişilere "siz de katkı yapın, siz de yazın" demek isterim :)

Neden böyle yaptığıma gelelim, mezun olup yazılımcı olarak çalışacak olursam, işe başladığımda yüksek ihtimalle hali hazırda devam eden bir projeye dahil olacağım. Yani, şimdi irc üzerinden konuştuğum geliştiriciler yerine işyerindeki takım arkadaşlarım olacak, bunun dışında şimdi yaptığım katkılara benzer katkılar yapacağım. Hatta bir miktar daha küçük boyutlu hali bile olabilir. Çünkü Linux Kernel olsun, LibreOffice ya da Mozilla depoları, içi oldukça kalabalık olan projeler.

Bu projelere katkı vermeyi Jenga oynamaya benzetiyorum. Blokların hiçbirini yıkmadan eklemeler, çıkarmalar yapmak göründüğünden zor. Binlerce hatta milyonlarca dosya içindeki milyonlarca satır içinden doğru yerlere doğru kodlar eklemek ya da doğru yerdeki kodları çıkartmak iyi kod okuyup anlayarak oluyor.

Böyle projelere katkı vererek hem düşüncesini savunduğum özgür yazılım için hem de kendim için birşeyler yapıyorum. Yeni bir projeye dahil olduğumda hızlıca adapte olacağımı düşünüyorum.

Katkı vermek çok zevkli siz de gelsenize :)

5 Mayıs 2016

Posted In: bug hunting, free software, Gezegen, gnu/linux, instantbird, mozilla

Twitter Auto Publish Powered By : XYZScripts.com