Jekyll Spotify Eklentisi

Jekyll için bir süredir kafamda bir eklenti vardı spotify için hiç kimse bir şeyler yapmamıştı gördüklerim de çok teferruatlı olduğu için en basit şekilde nasıl yaparıza kafa yordum ve aşağıdaki gibi bir eklenti ortaya çıkıverdi kullanımı oldukça basit olan bu eklenti ile istediğiniz gibi spotify linklerinizi dinlenebilir bir hale sokabilirsiniz sırf bunu yaparak bile blog açabilirsiniz mesela

Herneyse direk olarak aşağıdaki dosyayı _plugins klasörüne atım içerisindeki kullanım talimatlarına göre kullanabilirsiniz.

# Title: Simple Spotify tag for Jekyll
# Author: Mertcan GOKGOZ https://mertcangokgoz.com
# Description: Easily output Spotify Embed Player.
#
# Syntax: {% spotify [spotify-uri] [width height] %}
#
# Example: {% spotify spotify:track:3fuNydG9kg2Y09i8Foqq0p  %}
# Example2: {% spotify spotify:track:3fuNydG9kg2Y09i8Foqq0p 200 300 %}
#
#
# Output: <iframe src="https://embed.spotify.com/?uri=spotify%3Atrack%3A3fuNydG9kg2Y09i8Foqq0p"
#           width="100%" height="300" frameborder="0" allowtransparency="true"></iframe>
#

module Jekyll
  class Spotify < Liquid::Tag

    def initialize(tag_name, id, tokens)
        super
        @id       = id
    end

    def render(context)
      @id, @width, @height = @id.split(' ').map(&:strip)

      if @width.nil? && @height.nil?
        @width = '100%'
        @height = '300'
      end

      if @id
        %(<iframe src="https://embed.spotify.com/?uri=#{@id}" width="#{@width}" height="#{@height}" frameborder="0" allowtransparency="true"></iframe>)
      else
        %(Error input, expected syntax: {% spotify id [width] [height] %})
      end
    end
  end
end

Liquid::Template.register_tag('spotify', Jekyll::Spotify)

Aynı zamanda direk rubygem den sisteme dahil ederekte kullanma imkanınız bulunuyor.

Gemfile içerisine aşağıdaki satırı ekliyorsunuz

gem 'jekyll-spotify'

ardından bundle yada bundle install komutu aracılığı ile sisteme dahil ediyorsunuz. En olmadı aşağıdaki kodu çalıştırarakta bu işlemi yapabilirsiniz.

gem install jekyll-spotify

_config.yml dosyasına ise aşağıdaki satırı eklemeyi unutmuyorsunuz.

gems: [jekyll-spotify]

Linux’de Netflix Kullanımı

Geldiğine öncelikle sevindik çünkü türkiye piyasasında Web TV adı altında pek çok kan emici vardı ödediğin ücret ile doğru düzgün hizmet alamıyordun ve bunu gören Netflix Türkiye piyasasına açılma kararı aldı ayrıca torrent ile indirip izlemek ile vakit kaybetmek ben dahil artık pek çok kişi istemiyordur diye düşünüyorum. Her ne kadar ilk başta karşı çıksamda

Bizde kollarımızı sıvadık ve 1 aylık ücretsiz dedikleri hesabımızı açtık ancak dikkatinizi çekerim hesap ücretsiz ancak bazı kartlardan para çekebiliyor. Örneğin Virtual card kullanıyorsanız ama merak etmeyin hesaba para geri geliyor sanırım sahte birşeyler olmasın diye kontrol aşaması var yada farklı bir prosedür işletiyorlar bilmiyorum.

Lafı uzatmadan amacımıza geçelim. Normal şartlar altında netflix silverlight denen uygulama ile çalışıyor. Bilindiği üzere bu uygulama sadece mac ve windows sistemler üzerinde bulunuyor. Kurulması gerekiyor. Linux tarafında Chrome tarayıcı kullananlar için bir sorun bulunmuyor silverlight kurmadan da izleyebilirler.

Ancak Chrome kullanmak istemeyip Firefox tarayıcıda dizilerini izlemek isteyenler ne yazık ki başarılı olamayacaklar. Bunu başarılı bir şekilde yapabilmek için sisteminize linux için forklanmış silverlight çalıştırmaya izin veren bir eklenti olan pipelight ile yapacağız. Ancak baştan söyleyeyim pipelight sisteminize oldukça fazla paket indirip kuracak

Bunlar 32 bit paketler ve sistemimize bu şekilde paketler kurmak istemeyiz zaten eklentide wine ile çalışıyor diyebiliriz. Sistem için bu hiç hoş olmaz

Pipelight kurulumu şu şekilde yapacağız yaklaşık 605 MB gibi bir yer kaplayacak.

sudo add-apt-repository ppa:pipelight/stable
sudo apt-get update
sudo apt-get install --install-recommends pipelight-multi
sudo pipelight-plugin --update

Ardından uygulamadan bize gerekli olanı etkinleştirmek kalıyor.

sudo pipelight-plugin --enable silverlight

Daha sonra Firefox eğer çalışıyor ise yeniden başlatın ve tarayıcıda izleyebilir hale getirebileceksiniz. Ancak bu yöntem benim kesinlikle önermediğim bir yöntemdir. Çünkü sisteminize oldukça fazla 32bit paket kuracak daha sonradan sisteminizden bunları kaldırırken sıkıntı çekebilirsiniz. Ama onun içinde size bir ipucu vereyim

sudo apt-get purge `dpkg --get-selections | grep i386 | awk '{print $1}'`

Böylelikle sistemdeki tüm 32 bit paketlerden kurtulmuş olursunuz. Unutmadan bu işlemi eğer Skype kullanıyorsanız yapmayın. Skypenin kullandığı paketlerin %80 lik bir bölümü 32 bit mimaride

En iyisi siz Google Chrome indirip kurun ve netflix izleyeceğiniz zaman bu tarayıcı ile dizinizi, filminizi yada belgeselinizi izleyin.

Sıralı Tam Liste

netflixorigin
netflixother

Windows 10 Sürüm 1607 Ses Sorunu

Microsoft geçen gün oldukça büyük bir güncelleme yayınladı bu güncellemeyi yapmak benim 5 dakikamı alsa da bir takım sorunlar çıkarttı bunlardan birinci ve belkide en önemlisi sistemde ortaya çıkan ses sorunu özellikle müzik dinlerken oluşan cızırtılar, ses patlamaları ve hışırtılar

Ses sürücüsü kurulu olan sistemlerde daha çok gözükeceğini düşünüyorum çünkü windows 10 bu yaptığı güncelleme ile içerisinde getirdiği sürücüyü değiştirmiş.

Realtek HD ses kartlarında özellikle başınızı ağrıtacak support bu konuda çalışmalarını başlattığını söyledi yeni bir güncelleme ile bu sorunu çözeceklerini beklememiz gerektiğini söylediler

Beklerken bu sorunu çözmem gerekiyor kimse ses sorunu olan bir bilgisayarda işlem yapmak istemez

Bilgisayarınızda bulunan sürücüyü kaldırmak için Program ekle kaldır gibi yada ismi buna çok yakın olan bi yer var buraya girip sistemde kurmuş olduğunuz Ses sürücüsünün uygulamasını buluyorsunuz bu genelde bi 200MB üstü bir boyutta oluyor. Realtek HD Audio Driver yazan ve uyumsuzluk çıkartan sürücüyü siliyorsunuz.

Sistemi yeniden başlattığınızda sorunun çözülmüş olduğunu görebilirsiniz. Eğer son model kartınız varsa ve içinde son model ses yongası ile geliyor ise nahimic 2 adlı uygulamada sisteminizde kurulu demektir geçici olarak bunu da kaldırmanız gerekmektedir.

dipnot: Bahsi geçen sistem benim oyun oynadığım ailemin de ofis işlerini yaptığı bilgisayardır.

Virtualbox Kernel Driver Sorunu

Genelde EFI olarak BIOS kullanan kişilerin sistemlerinde gözükebilen kimi zamanda hatalı kurulumdan dolayı virtualbox uygulamasını başlatırken hatalar ile karşılaşabilirsiniz genellikle en çok olan hata aşağıdaki gibidir.

Kernel driver not installed (rc=-1908)  The VirtualBox Linux kernel driver (vboxdrv) is either not loaded or there is a permission problem with /dev/vboxdrv. Please reinstall the kernel module by executing

'/etc/init.d/vboxdrv setup'  

as root. If it is available in your distribution, you should install the DKMS package first. This package keeps track of Linux kernel changes and recompiles the vboxdrv kernel module if necessary.

Tabi bahsedilen bu çözümü yapsanızda çözülmeyecek çünkü init.d içerisinde vboxdrv diye bir şey bulunmuyor.

Çünkü yeni sürüm virtualbox da şu şekilde bir hata mesajı döndürecek

The VirtualBox Linux kernel driver (vboxdrv) is either not loaded or
there is a permission problem with /dev/vboxdrv. Please install
virtualbox-dkms package and load the kernel module by executing

'modprobe vboxdrv'

as root. If it is available in your distribution, you should install
the DKMS package first. This package keeps track of Linux kernel
changes and recompiles the vboxdrv kernel module if necessary.

where: suplibOsInit what: 3 VERR_VM_DRIVER_NOT_INSTALLED (-1908) - The
support driver is not installed. On linux, open returned ENOENT.

haliylede otomatik olarak bu işlemi yerine getirebileceksiniz çünkü bu sefer uygulama çalışacak ancak biz genede işlemlerimizi garantiye almak için şu şekilde bir yol izleyeceğiz

sudo dpkg-reconfigure virtualbox-dkms
sudo dpkg-reconfigure virtualbox
sudo modprobe vboxdrv

Bunları yaptıktan sonra modprobe vboxdrv aşamasını hata vermeden geçerseniz işleminiz tamam demektir. BIOS olarak EFI kullanılıyorsa tekrardan sıkıntı çıkacak bunuda çözmek için BIOS ayarlarınıza geliyorsunuz ve Secure Boot seçeneğini kapatıyorsunuz.

Tekrardan modprobe vboxdrv komutu veriyoruz ve sorunsuz bir şekilde tamamlanıyor. Bu aşamadan sonra doyasıya sanal makine açabilirsiniz.

Her şeyin başı bu EFI BIOS olduğu için her zaman dediğim gibi kullanmanızı önermiyorum.

öptüm bye <3

Baba’ya Kullanılabilir Entropi Lazım

Cihazların gürüldütüsünden sistemde entropi biriktirmemiz gerektiğini genelde çoğu kişi bilmez. Normal sistemi kullanırken bu entropileri biriktirmek daha sonra yapacağımız kriptografik işlemleri hızlandırır. Mesala web siteniz için SSL oluşturacağınız zaman bu entropi yardımı ile çok kısa sürede `dhparam’ oluşturabilirsiniz. Aynı şekilde çok kısa sürede SSL key için gizli anahtar oluşturabilirsiniz.

Gpg key oluştururken sisteminizde aşağıdaki gibi bir uyarı verirse bu makalede yapacağımız işlemler onada yarayacak ve bundan sonra o uyarıyı da görmeyeceksiniz.

**We need to generate a lot of random bytes. It is a good idea to perform
some other action (type on the keyboard, move the mouse, utilize the
disks) during the prime generation; this gives the random number
generator a better chance to gain enough entropy.
Not enough random bytes available.  Please do some other work to give
the OS a chance to collect more entropy! (Need 210 more bytes)**

Şimdi tüm bunların tek bir çözümü tabi ki de yok sistemde entropi biriktirmek için pek çok yöntem mevcut örneğin; arka planda bir video oynatmak, klavyede yazı yazmak, yapılan mouse hareketleri, internet tarayıcısı ile internette dolaşmak sadece bunlardan bazılarıdır. Ancak sunucularda ve kimi zaman kişisel bilgisayarınızda bunları yapamıyor olabilirsiniz. İşte bizim bu yöntemimizde burada başlıyor aslında

Ama hepsinden önce sistemimizde ne kadar kullanılabilir entrpi olduğunu görelim bunun için aşağıdaki şu komutu kullanmanızı öneriyorum.

cat /proc/sys/kernel/random/entropy_avail

Bunun çıktısı genelde yeni açılmış ve pek fazla işlem yapılmamış sistemde 500 ila 1000 arasında bir değer ile gelmektedir. Kimi zaman 500 den düşük olduğu bile görülmüştür. Bu durum sistemde kriptografik işlemler yapacağımız zaman yaptığımız işlemlerin sürelerinin oldukça yüksek olmasına neden olur. Düşük seviyeli olarak buna bir çözüm bulmak ve sistemi başlattığınızda entropinin belirli bir seviyeden başlamasına da faydası olan haveged uygulamasını kurabilirsiniz. Bir önceki makalemizde detaylarını anlatmıştık. Haveged Uygulaması Ne işe yarar Vakit kaybetmeden testimize başlıyoruz.

Örneğin sistemde 4096 bitlik bir dhparam dosyası oluşturalım.

time openssl dhparam -out dhparam.pem 4096

Süreyi takip etmek için time komutundan faydalanıyor olacağız komutu çalıştırıyor ve bitmesini bekliyoruz. Benim sistemimde entropi olmadığından aşağıdaki gibi oldukça yüksek bir sürede tamamlandı

real	12m0.666s
user	12m0.152s
sys		0m0.080s

Şimdide aynı komutu sistemde entropi kaynaklarını doldurduktan sonra deniyoruz. Tekrar aynı komutu çalıştırıyoruz ve bu sefer gözle görülür bir şekilde sürenin kısaldığını görüyoruz

real 3m2.815s
user 3m2.792s
sys 0m0.008s

Peki bu işlemi nasıl yapabildik bu kadar kısa bir sürede entropi oranını nasıl arttırdık, ilk olarak sistemimize rng-tools ekledik bu sayede sistemimize bir daemon daha eklemiş olduk ve TRNG (true random number generator) işlemi yaptırır olduk genelde test için kullandığımız bu uygulamadan oldukça faydalanacağız.

İlk olarak uygulamayı sistemimize ekliyoruz.

sudo apt-get install rng-tools

Uygulama kurulduğu zaman /etc/default/ klasörü içerisine rng-tools adı altında bir dosya geldiğini göreceksiniz. Bu dosyayı şu şekilde açıyoruz.

sudo nano /etc/default/rng-tools

içerisinde şu şekilde ayarlamalar bulunuyor.

# Configuration for the rng-tools initscript
# $Id: rng-tools.default,v 1.1.2.5 2008-06-10 19:51:37 hmh Exp $

# This is a POSIX shell fragment

# Set to the input source for random data, leave undefined
# for the initscript to attempt auto-detection.  Set to /dev/null
# for the viapadlock and tpm drivers.
#HRNGDEVICE=/dev/hwrng
#HRNGDEVICE=/dev/null

# Additional options to send to rngd. See the rngd(8) manpage for
# more information.  Do not specify -r/--rng-device here, use
# HRNGDEVICE for that instead.
#RNGDOPTIONS="--hrng=intelfwh --fill-watermark=90% --feed-interval=1"
#RNGDOPTIONS="--hrng=viakernel --fill-watermark=90% --feed-interval=1"
#RNGDOPTIONS="--hrng=viapadlock --fill-watermark=90% --feed-interval=1"
#RNGDOPTIONS="--hrng=tpm --fill-watermark=90% --feed-interval=1"

Biz burada HRNGDEVICE yazanların hemen altına şu satırı ekliyoruz ve kayıt edip çıkıyoruz.

HRNGDEVICE=/dev/urandom

bir süre sonra tekrar entropilerimizi kontrol ediyoruz.

cat /proc/sys/kernel/random/entropy_avail

Gördüğünüz gibi aşağıdaki değeri verdi bize buda demek oluyor ki kullanılabilir entropilerimiz oldukça arttı

4256

Bu kullanılabilir entropiler size her zaman lazım olacak özellikle çokça kriptografik işlemler yapıyor ve SSL oluşturuyorsanız veya GPG key oluşturacaksanız yada her hangi bir şekilde entropi ye lazım olan bir işlem yaptığınızda yukarıdada bahsettiğim gibi kullanabileceksiniz.

Testleri yaparken kullandığım sistem bilgileri şu şekildedir.

mertcan@0x2e88ce4:~$ screenfetch
                          ./+o+-       mertcan@0x2e88ce4
                  yyyyy- -yyyyyy+      OS: Ubuntu 16.04 xenial
               ://+//////-yyyyyyo      Kernel: x86_64 Linux 4.4.0-38-generic
           .++ .:/++++++/-.+sss/`      Uptime: 9h 16m
         .:++o:  /++++++++/:--:/-      Packages: 2057
        o:+o+:++.`..```.-/oo+++++/     Shell: bash 4.3.46
       .:+o:+o/.          `+sssoo+/    Resolution: 1920x1080
  .++/+:+oo+o:`             /sssooo.   DE: XFCE
 /+++//+:`oo+o               /::--:.   WM: Xfwm4
 +/+o+++`o++o               ++////.   WM Theme: Numix
  .++.o+++oo+:`             /dddhhh.   GTK Theme: Numix [GTK2]
       .+.o+oo:.          `oddhhhh+    Icon Theme: Numix-Circle
        +.++o+o``-````.:ohdhhhhh+     Font: Hack 10
         `:o+++ `ohhhhhhhhyo++os:      CPU: Intel Core i7-4720HQ CPU @ 3.6GHz
           .o:`.syhhhhhhh/.oo++o`      GPU: Mesa DRI Intel(R) Haswell Mobile 
               /osyyyyyyo++ooo+++/     RAM: 2914MiB / 15958MiB
                   ````` +oo+++o:    
                          `oo++.      
mertcan@0x2e88ce4:~$ 

Linux’de Batarya Performansını Arttırma

Linuxde batarya performansının biraz kötü olduğunu düşünebilirsiniz özellikle uzun süre windows kullandıktan sonra linuxe geçtiğinizde batarya süresinin olduğundan az gittiğini fark etmişsinizdir. Aslında bu durum bir hatadan çok kullanıcıya elindeki sistemin tüm imkanlarını kullanabilmesi için verilmiş olan bir özelliktir.

Windows sizi kısıtlarken linux tarafında sisteminizin tüm kaynaklarını kullanırsınız bu yüzdende windowsa oranla batarya performansı düşüktür. Ancak windowsda 6 saat gidipte linux de 2 saat gitme gibi bir durum söz konusu değildir sadece 1 saatlik bir fark bulunmaktadır. Yani 4 saat giden bir batarya ömrü 3 saate düşebilir. Bunun bir garantisi tabi ki windowsta olmadığı gibi linux sistemlerdede yoktur. Lafı uzatmadan hemen işlemlerimize geçelim…

Laptobumuzda bir takım değişiklikler yapacağız bu yaptığımız değişiklikler güç yönetimini sistemin daha iyi kullanmasını sağlayacak.

İlk olarak BIOS arkadaşımıza sistemin ne olduğunu belirtmemiz gerekiyor. Bu hem bir takım değişikliklerin geçerli olmasını sağlayacak hemde güç yönetimini iyileştirecek.

sudo nano /etc/default/grub

grub ayarlarımıza giriş yapıyoruz. Direk olarak şu satırı gözümüz ile arıyoruz. GRUB_CMDLINE_LINUX= bu satırı bulduktan sonra karşısına daha önceden bir şey eklemediyseniz aşağıdaki satırı ekliyoruz.

acpi_osi=Linux acpi=force acpi_enforce_resources=lax

ayarları kayıt ediyoruz ve aşağıdaki komutu vererek grubu güncelliyoruz.

sudo update-grub

Bu işlemi yaptık sisteme söyledik biz linux kullanıyoz sen istesende istemesende buna alış dedik bu kardeşte alıştı zorlarkende lax kullan dedik ki standartlarda sıkıntı çıkmasın

Bazı laptoplarda yapılan bu işlemler klavye arka plan ışığını falan geri getiriyor. getirmez ise şunu kullanabilirsiniz ceplik bilgi olarak burada dursun acpi_backlight=vendor

Şimdi herşey yerinde bu hali ile sistemi yeniden başlatıyorsunuz ve dmesg komutunu verip çıktılara bakıyorsunuz güç yönetimini engelleyen ve sistemde desteklenmiyor diye bas bas bağıran şunun gibi bir çıktı göreceğinize eminim

r8169 0000:03:00.0: can't disable ASPM; OS doesn't have ASPM control

Şimdi bu r8169 yani wifi den olabileceği gibi aynı zamanda başka donanımlardanda olabilir merak etmeyin bu bir sorun değil sadece bir uyarı sistem size güç yönetimi konusunda sisteminizin ASPM(Active State Power Management) desteklemediğinden bahsediyor.

şu şekilde kontrol edebiliriz.

dmesg | grep ASPM

çıktısında yukarıdaki gibi hatalar ile karşılaşıyormusunuz örneğin;

[    0.000000] PCIe ASPM is disabled
[    0.131506] ACPI FADT declares the system doesn't support PCIe ASPM, so disable it
[    0.194817] acpi PNP0A08:00: _OSC: not requesting OS control; OS requires [ExtendedConfig ASPM ClockPM MSI]

Sistemin desteklemediğinden tekrar ve tekrar bahsettiğini göreceğiz. Bunu çözmek için ise şu şekilde bir yol izleyebiliriz ya olduğu gibi pcıe üzerinde kapatırız yada TLP kurup yolumuza devam ederiz. İlk olarak biz bi TLP yi kuralım

sudo apt-get install tlp

Ubuntu 16.04 üzerinde direk ppa sisteme ekli olduğu için herhangi ek bir işleme gerek duyulmuyor direk olarak yükleyip kullanabiliyorsunuz. Sisteme uygulamayı ilk dahil ettiğinizde batarya modunda kulaklığınızdan cızırtı gelecektir telaşlanmayın yada tlp yi hemen kaldırmayın çözümü oldukça basit

sudo nano /etc/default/tlp

dosyaya giriyoruz pek çok ayar karşımıza çıkıyor kulaklıkta sıkıntı yaratan satırı buluyoruz

SOUND_POWER_SAVE_ON_BAT=1

ve aşağıdaki gibi değiştiriyoruz.

SOUND_POWER_SAVE_ON_BAT=0

bu sayede bataryada kulaklıtan gelen tısırtı ve cızırtı kesilmiş olacak.

İkinci bir yöntem olarak ise aspm yi kontrol etmek ve bunu direk olarak grub yardımıyla kapatmak bu sayede sistem bu aşamada zorlamayacak ve kapatıp geçecek tüm donanımlar performanslı bir şekilde çalışmaya devam edecek ve bir yandanda TLP nin kurallarını uygulayacak ne güzel değil mi

şimdi bunu yapmak için yukarıdaki grub ayarlarına geliyorsunuz ve eklediklerinizin son satırına şunu ekleyip aynı işlemleri tekrarlıyorsunuz.

pcie_aspm=off

Kalıcı bir şekilde bu özellikten kurtulduğumuza görede işlem tamamlanmış oluyor artık bataryanın %10 daha fazla gittiğini göreceksiniz yani buna zaman olarak bakarsak 20 dk daha fazla demek olsada bu durum bataryanızın kalitesine görede değişecek bataryanızın ölü olmadığından emin olun yoksa linux size harikalar yaratmaz

öptüm bye <3

Jekyll HTML5 Video Eklentisi

Elinizde misal herhangi bir siteden direk olarak mp4 uzantılı yada ona benzer bir link var ise bu güzel eklenti sayesinde kullanıcıya HTML5 player sunabilirsiniz oldukça güzel oluyor. Octopress den araklama yaparak jekyll üzerindede çalıştırabiliyoruz. bu tarz ihtiyaçlarınızı karşılayabilirsiniz.

Nasıl kullanabileceğinizide direk olarak aşağıdaki dosyaya ekledim _plugins klasörünüze atıp gösterildiği gibi ekleme yapmanız yeterli.

# Syntax {% video url/to/video [width height] [url/to/poster] %}
#
# Example:
# {% video  720 480  %}
#

module Jekyll

  class VideoTag < Liquid::Tag
    @video = nil
    @poster = ''
    @height = ''
    @width = ''

    def initialize(tag_name, markup, tokens)
      @videos = markup.scan(/((https?://|/)S+.(webm|ogv|mp4)S*)/i).map(&:first).compact
      @poster = markup.scan(/((https?://|/)S+.(png|gif|jpe?g)S*)/i).map(&:first).compact.first
      @sizes  = markup.scan(/s(dS+)/i).map(&:first).compact
      super
    end

    def render(context)
      output = super
      types = {
        '.mp4' => "type='video/mp4; codecs="avc1.42E01E, mp4a.40.2"'",
        '.ogv' => "type='video/ogg; codecs=theora, vorbis'",
        '.webm' => "type='video/webm; codecs=vp8, vorbis'"
      }
      if @videos.size > 0
        video =  "<video #{sizes} preload='metadata' controls #{poster}>"
        @videos.each do |v|
          video << "<source src='#{v}' #{types[File.extname(v)]}>"
        end
        video += "</video>"
      else
        "Error processing input, expected syntax: {% video url/to/video [url/to/video] [url/to/video] [width height] [url/to/poster] %}"
      end
    end

    def poster
      "poster='#{@poster}'" if @poster
    end

    def sizes
      attrs = "width='#{@sizes[0]}'" if @sizes[0]
      attrs += " height='#{@sizes[1]}'" if @sizes[1]
      attrs
    end
  end
end

Liquid::Template.register_tag('video', Jekyll::VideoTag)

Plesk – Toplu Abonelik Geçerlilik Tarihi Sıfırlama

Plesk aboneliklerin geçerlilik tarihlerini uzatmak için aşağıdaki komutu kullanabilirsiniz. Kullanmış olduğunuz abonelikler sırasıyla yeniden başlatılacak ve kullanmaya devam edebileceksiniz.

#!/bin/bash

for LIST in `/usr/local/psa/bin/subscription --list`;
 do /usr/local/psa/bin/subscription_settings --update $LIST -expiration -1;
done;
echo "Reset Subscription Expire Date Complete..."

Python Pip Yetki Sorunu

İlginç bir şekilde python paketlerini kuramama sorunu yaşadım root ile kurabilirdim ama buda güvenlik sorununa neden olacağı için tehlikeli olurdu. En iyisi izinleri düzenlemek kalıcı bir çözüm bu sorun neye göre nasıl başladı bilmiyorum ama ilginç bir durum

Exception:
Traceback (most recent call last):
  File "/usr/local/lib/python2.7/dist-packages/pip/basecommand.py", line 215, in main
    status = self.run(options, args)
  File "/usr/local/lib/python2.7/dist-packages/pip/commands/install.py", line 317, in run
    prefix=options.prefix_path,
  File "/usr/local/lib/python2.7/dist-packages/pip/req/req_set.py", line 742, in install
    **kwargs
  File "/usr/local/lib/python2.7/dist-packages/pip/req/req_install.py", line 831, in install
    self.move_wheel_files(self.source_dir, root=root, prefix=prefix)
  File "/usr/local/lib/python2.7/dist-packages/pip/req/req_install.py", line 1032, in move_wheel_files
    isolated=self.isolated,
  File "/usr/local/lib/python2.7/dist-packages/pip/wheel.py", line 378, in move_wheel_files
    clobber(source, dest, False, fixer=fixer, filter=filter)
  File "/usr/local/lib/python2.7/dist-packages/pip/wheel.py", line 324, in clobber
    shutil.copyfile(srcfile, destfile)
  File "/usr/lib/python2.7/shutil.py", line 83, in copyfile
    with open(dst, 'wb') as fdst:
IOError: [Errno 13] Permission denied: '/usr/local/bin/spoof-mac.pyc'

şu şekilde çözüyoruz, her iki python sürümündede yapmanızı öneririm.

sudo chown -R mertcan:mertcan /usr/local/lib/python2.7/
sudo chown -R mertcan:mertcan /usr/local/lib/python3.5/

ben kendi kullanıcı adım olan mertcan göre ayarladım. Artık sizin kullanıcı adınız ne ise ona göre düzenleyin.

Keybase Kurulum ve Kullanımı

Keybase mesaj ve dosya şifreleme imkânı tanıyan bir servis olarak ilk 2015 de karşımıza çıktı beta olarak kullanılıyordu. Tasarımı ve özellikleri günümüze gelinceye kadar değişti ve güzelleşti varlığından haberdar olduğum bu güzel servisi kullanmaya bende geçtiğimiz günlerde başladım key yönetimi bana zor geliyordu bunu kolaylaştırmak için bir yol ararken aklıma geldi ve kullanmaya başladım

Öncelikli olarak sisteme direk üye oldum tabi üye olmak için davetiye gerekiyor. Bunu sitenin kurucusundan temin edebilirsiniz ya da bana iletişim kısmından mail atmanız ve davetiye göndermek için bir mail adresi belirtmeniz yeterli merak etmeyin bir çıkarım yok site bunun için bir ayrıcalık sunmuyor 🙂

Davetiye’yi bir şekilde tamamladığınızda siteye ilk üyeliğinizi yaparsınız, bunun hemen ardından sisteminiz için keybase sitesinin resmi uygulamasını kurmanız gerekir.

Debian, Ubuntu

curl -O https://prerelease.keybase.io/keybase_amd64.deb
sudo dpkg -i keybase_amd64.deb
sudo apt-get install -f
run_keybase

Centos, RHEL

sudo yum install https://prerelease.keybase.io/keybase_amd64.rpm
run_keybase

Bu uygulama ile;

  • GPG key oluşturabilir
  • GPG key Paylaşabilir
  • Gizli yazışma yapabilir
  • Dosya şifreleyebilir
  • Gizli mail atabilirsiniz

Ayrıca uygulamada key yönetimi ve oluşturulması oldukça kolay, birden fazla anahtar üretirseniz yönetmede zorluk çekmeyeceksiniz. Ancak uygulamayı hemen kurar kurmaz direk kullanma imkânınız olsa da bunu önermiyoruz. İlk olarak hesabınızı birkaç yer aracılığı ile onaylamalısınız.

Bunun için;

  • Twitter
  • Github
  • Reddit
  • hackerne.ws
  • coinbase

Gibi yerler gerekiyor ayrıca varsa web sitenizi de site üzerinden onaylatmayı unutmayın. Böylelikle diğer insanlar ile takipleşebileceksiniz. Şimdi bir adet gpg key oluşturmamız gerekiyor bunun için

keybase pgp gen --multi

Sizden birtakım bilgiler isteyecek bunları dolduruyorsunuz.

# Enter your real name, which will be publicly visible in your new key: Mertcan GÖKGÖZ
# Enter a public email address for your key: 
# Enter another email address (or <enter> when done):
# Push an encrypted copy of your new secret key to the Keybase.io server? [Y/n] Y

Keyimizi oluşturduk oluşturduğumuz key için bir sorgulama yapıyoruz.

gpg --list-secret-keys

Daha önceki makalelerimdede görmüşsünüzdür. Zaten aynı keyi kullandığım için şu şekilde gözüküyor.

/home/mertcan/.gnupg/secring.gpg
--------------------------------
sec   4096R/EF64ED4FF0199111 2016-08-25
uid                          Mertcan Gökgöz (Github GPG) <>
ssb   4096R/A1BDA15B77CF194F 2016-08-25

İlk aşamamız tamamlandı keyimiz oluştu ve keybase sistesine gönderildi. Şimdi bu keyiniz ile istediğinizi yapabilirsiniz. İster Maillerinizi Enigmail ile şifreleyin isterseniz keybase takipçisi olduğunuz arkadaşınız ile gizli bir şekilde mesajlaşın yada github adresinize keyi bağlayıp commitlerinizi onaylayın

Githubda onaylamak için şu şekilde bir yol izleyebilirsiniz.

git config --global user.signingkey EF64ED4FF0199111
git config --global commit.gpgsign true

Şimdi GPG keyimiz ile mesajımızı şifreleyelim

keybase pgp encrypt furkankalkan -s -m "mesajınız"
keybase pgp encrypt furkankalkan -i mesaj.txt
keybase pgp encrypt furkankalkan -i mesaj.txt -o sifreli.asc
echo 'mesajınız' | keybase pgp encrypt furkankalkan

Size bir mesaj geldi diyelim bunu şu şekilde açacaksınız

keybase pgp decrypt -i mesaj.txt.asc           
keybase pgp decrypt -i mesaj.txt.asc -o mesaj.txt
cat mesaj.txt.asc | keybase pgp decrypt        

Oluşturduğunuz bu key ile dosya şifrelemek için

gpg --output test.gpg --encrypt --recipient [email protected] test.zip

Bunun dışında başka işlemlerde yapabilirsiniz elinizin altında gpg ve keybase uygulamaları mevcut artık biraz manpage okuyarak geri kalanını kendiniz de yapabilirsiniz.

Unutmadan bahsedeyim keybase uygulamasından kurtulmak istiyorsanız. Ne yapacağım diye düşünmenize gerek yok direk olarak aşağıdaki işlemi yaparak gizli anahtarınızı elde edebilirsiniz. Siteye giriş yapıyorsunuz ve keyin ID bölümünün yanında yer alan edit tıklıyorsunuz.

exportkey

Yukarıdaki resimde de gördüğünüz Export my private key from Keybase tıklıyorsunuz. Şifrenizi girdikten sonra artık gizli anahtarınız elinizde sisteminize istediğiniz bir isim ile kayıt edebilirsiniz. Ve daha sonra başka bir sisteme aktaracaksanız da aşağıdaki komutları çalıştırmanız yeterli

gpg --allow-secret-key-import --import keybase-private.key
gpg --import keybase-public.key