Linux'ta ASUS N56VZ SubWoofer

Biliyorum, siz de benim gibi bas sesleri almadığınızda dinlediğiniz müzikten zevk alamıyorsunuz ;) O halde Linux kurulu bilgisayarınızda bu mini woofer’ı aktif etmek için şu dosyayı yönetici olarak düzenleyin:

/etc/modprobe.d/alsa-base.conf

Bu dosyanın en alt satırına inip aşağıdaki satırı eklediğimizde, woofer’ımız aktif olacak:

options snd-hda-intel model=asus-mode4

İyi eğlenceler…

Durum Mesajı

İlham perilerinin beni terk ettiği bir dönemdeyim.

Dev-C++ ile MPICH2 Kullanımı

dev-cpp-logo

Çalışıyorum, çalışacağım derken (oldukça geç kalmış da olsam) paralel programlama konusunda ilk adımlarımı atmaktayım. Kullanmıış olduğum C kütüphanesi MPICH2‘nin kurulumu ve kullanımı çeşitli kaynaklarda anlatılmış. Her kaynakta hemen hemen aynı şeylerin anlatıldığı açıklamaları takip ederek ben de ilk önce Visual Studio 2013 ile bu kütüphaneyi kullandım ve örnek birkaç uygulama geliştirebildim. Ancak amaç konu mantığını anlamak ve olayı en basitte tutmak olduğundan, Visual Studio‘ya C++ özelliklerini eklemek yerine; modası geçmiş, terkedilmiş, bir çoğumuzun ilk programlama derslerinden hatırlayacağımız, vazgeçemediğimiz derleyicimiz Dev-C++ ile bu kütüphanenin nasıl kullanılabileceğini araştırdım. Sonuçlar aşağıdaki gibi:

Gereksinimler:

  1. Buradan indirebileceğiniz Microsoft .NET Framework yüklü olmalı.
  2. Buradan indirebileceğiniz Microsoft Visual C++ çalışma zamanı kütüphaneleri yüklü olmalı.
  3. Yönetici yetkilerine sahip bir kullanıcınız olmalı.

Kurulum:

  1. MPICH2 kütüphanesini indirin ve yükleyin. (32 bit sürümünü buradan, 64 bit sürümünü şuradan indirebilirsiniz, geçerli sürüm: 1.4.1p1)
  2. Yönetici yetkili kullanıcı hesabınızı wmpiregister ile tanımlayın. (Başlat > Tüm Programlar > MPICH2 > wmpiregister.exe ile)

mpiexec-register

Dev-C++ ile Derleme:

  1. Dev-C++ derleyicisini yükleyin.
  2. MPI Projesi şablonunu buradan indirip “C:\Dev-Cpp\Templates” klasörü altına çıkarın.
  3. New > Project yolunu izleyerek yeni bir MPI uygulaması oluşturun. new-mpi-project
  4. Şablon ile gelen kodları derleyin.

Paralel Uygulamamızı Çalıştırma:

  1. Başlat > Tüm Programlar > MPICH2 > wmpiexec.exe uygulamasını çalıştırın.
  2. Biraz önce derlemiş olduğunuz uygulamanızı seçin.
  3. Proses sayısını seçin ve Execute butonuna basın. mpiexec-wrapper

Notlar:

  1. Bu konuda derinlere dalmadan önce lütfen ders çalışın, ben yandım sizler yanmayın :)
  2. Yazdığınız kodları mutlaka wmpiexec ile çalıştırın, Windows konsolu uygulamanızı tek proseste çalıştıracaktır. 3.Yine Windows konsoluna aldanıp, çalışıyor mu göreyim düşüncesi ve alışkanlığıyla getch() gibi bir fonksiyon kesinlikle kullanmayın, sonsuza kadar beklersiniz :)

Hepinize kolay gelsin.

JavaScript Client Object Model ile Liste İşlemleri

SharePoint2010 Bu konuyla alakalı detaylıca bir yazı hazırlama düşüncesi çok uzun zamandır aklımda ancak bir türlü gereken vakti ayıramıyorum. O yüzden detayları bir kenara bırakıp, işe girdim gireli belki de en çok kullandığım bu JavaScript liste işlemlerini sizlerle de paylaşmak istedim. Avantaj ve dezavantajlarından burada bahsettiğim konunun kod kısmını aşağıdan görebilir ve kullanabilirsiniz.

Listeye Öge Ekleme:

var myContext = new SP.ClientContext.get_current();
var myWeb = myContext.get_web();
var myList = myWeb.get_lists().getByTitle('ListeAdı');
var myListItemCreationInfo = new SP.ListItemCreationInformation();
var newItem = myList.addItem(myListItemCreationInfo);
newItem.set_item('Title', titleText);
newItem.update();

myContext.executeQueryAsync(Function.createDelegate(this, AddNewItemSuccess),
      Function.createDelegate(this, AddNewItemFail));

function AddNewItemFail(sender, args) {
   alert('Yeni öge eklenemedi: ' + args.get_message());
}
function AddNewItemSuccess(sender, args) {
   alert('Yeni öge başarıyla eklendi.');
}

Liste Ögelerine Ulaşma:

ExecuteOrDelayUntilScriptLoaded(function () {
   var context = new SP.ClientContext.get_current();
   var web = context.get_web();
   var list = web.get_lists().getByTitle('ListeAdı');

   var query = SP.CamlQuery.createAllItemsQuery();
   allItems = list.getItems(query);
   context.load(allItems);

   context.executeQueryAsync(Function.createDelegate(this, GetItemsSuccess),
      Function.createDelegate(this, GetItems.Failed));
}, 'sp.js');

function GetItemsSuccess() {
   var ListEnumerator = this.allItems.getEnumerator();
   while (ListEnumerator.moveNext()) {
      var currentItem = ListEnumerator.get_current();
      alert(currentItem.get_item('Title'));    
   }
}

function GetItemsFailed(sender, args) {
   alert("Ögelere ulaşılamadı: " + args.get_message());
}

Liste Ögesini Güncelleme:

var myContext = new SP.ClientContext.get_current();
var myWeb = myContext.get_web();
var myList = myWeb.get_lists().getByTitle('ListeAdı');
var myListItem = myList.getItemById(2014);
myListItem.set_item('Title', 'Hasan');
myListItem.update();

myContext.executeQueryAsync(Function.createDelegate(this, UpdateItemSuccess),
      Function.createDelegate(this, UpdateItemFail));

function UpdateItemFail(sender, args) {
   alert('Öge güncellenemedi: ' + args.get_message());
}
function UpdateItemSuccess(sender, args) {
   alert('Öge başarıyla güncellendi.');
}

Listeden Öge Silme:

var myContext = new SP.ClientContext.get_current();
var myWeb = myContext.get_web();
var myList = myWeb.get_lists().getByTitle('ListeAdı');
var myListItem = myList.getItemById(2014);
myListItem.deleteObject();

myContext.executeQueryAsync(Function.createDelegate(this, DeleteItemSuccess),
      Function.createDelegate(this, DeleteItemFail));

function DeleteItemFail(sender, args) {
   alert('Öge silinemedi: ' + args.get_message());
}
function DeleteItemSuccess(sender, args) {
   alert('Öge başarıyla silindi.');
}

Vakit ayırabilirsem bir sonraki yazı, bir jQuery eklentisi olan SPServices ile ilgili olacak, bunun haberini de -kendimi yazmaya motive edebilmek adına- vermiş olayım. Hepinize iyi çalışmalar…

Nişanlımla Bir Diyalog :)

Mihrap: Birini özlediğim için ağlayacağım hiç aklıma gelmezdi.

Ben: Benim de.

Mihrap: Ağladın mı hiç?

Ben: Yooo :D