Yazar arşivleri: Uğur Ethem AYDIN

FreeBsd Make Error

Here are the commands I had to run to get things working on my FreeBSD 9.0 box that was still using old pkg_ tools.

 

 

# portsclean -C
Unknown modifier 't'

Unknown modifier 't'

Unknown modifier 't'

Unknown modifier 't'

Unknown modifier 't'

"/usr/ports/Mk/bsd.sites.mk", line 958: Malformed conditional (!empty(_PERL_CPAN_ID) && ${_PERL_CPAN_FLAG:tl} == "cpan")
Unknown modifier 't'

"Mk/bsd.port.mk", line 2929: Unclosed conditional/for loop
"Mk/bsd.port.mk", line 2929: Unexpected end of file in for loop.

"Mk/bsd.port.mk", line 6711: Unclosed conditional/for loop
"Mk/bsd.port.mk", line 6711: Unexpected end of file in for loop.

1 open conditional:
         at line 1179 (evaluated to true)
make: fatal errors encountered -- cannot continue
/usr/local/lib/ruby/site_ruby/1.9/pkgtools/portsdb.rb:237:in `join': can't convert nil into String (TypeError)
        from /usr/local/lib/ruby/site_ruby/1.9/pkgtools/portsdb.rb:237:in `index_file'
        from /usr/local/lib/ruby/site_ruby/1.9/pkgtools/portsdb.rb:247:in `db_dir='
        from /usr/local/lib/ruby/site_ruby/1.9/pkgtools/portsdb.rb:167:in `setup'
        from /usr/local/lib/ruby/site_ruby/1.9/pkgtools/pkgtools.rb:242:in `init_pkgtools_global'
        from /usr/local/sbin/portsclean:134:in `block in main'
        from /usr/local/lib/ruby/1.9/optparse.rb:882:in `initialize'
        from /usr/local/sbin/portsclean:70:in `new'
        from /usr/local/sbin/portsclean:70:in `main'
        from /usr/local/sbin/portsclean:727:in `<main>'
Solution Code:
pkg_add -r http://ftp-archive.freebsd.org/pub/FreeBSD-Archive/ports/i386/packages-9.0-release/devel/bmake-20111111.tbz
cp /usr/bin/make /usr/bin/make.old
rm /usr/bin/make
ln -sv /usr/local/bin/bmake /usr/bin/make
cd /usr/ports/ports-mgmt/pkg
make -m /usr/share/mk UPGRADEPKG=1 install clean
pkg2ng

To use ports after this, I have to run make -m /usr/share/mk instead of make.

Yazılım Geliştirme ve Tasarımda Bilinen Yanlışlar: “Anti-Pattern”

Hepimizin bildiği gibi yazılım geliştirme çok kompleks ve kaotik bir süreçtir. Niyetlendiğimiz işe başladıkdan sonra bile çok sıkça niyet değiştirebiliriz. İsteklerimiz değişebilir, müşteri fikir değiştirebilir ve her şeyi sil baştan yapabiliriz. Zira işe başladıktan sonra kaybedilecek şey sadece zamandır ve zaman da göreceli olarak değersiz görülür. Oysa bir inşaat işine başladığınızda plan dışına çok nadir çıkarsınız, çünkü planı değiştirmek istediğinizde o ana kadar kullandığınız inşaat malzemesini çöpe atmak istemezsiniz o malzemenin ölçülebilir maddi değeri vardır. Ancak müşteri, yazılımın geliştirme safhasında henüz bir şey görmediği için değişiklik isteklerini futursüzca yazılım ekibine iletebilir. Bizler de yazılım geliştiriciler olarak her şeyin bir yolunu bulabildiğimiz için bir şekilde müşteriye ayak uydurmak zorunda kalırız. Bu ayak uydurmalar zaman içinde yazılımımızın kod kalitesini, standardını ve tasarımını bozmakla beraber bir çok kod parçasının nerdeyse tekrar dokunulamaz hale gelmesine neden olmakta.

İşte bütün bu riskleri minimuma indirgemek için daha en başta bazı temel kurallara dikkat etmek ve herkesçe malum olan bazı kötü tasarım ve geliştirme yaklaşımlarından uzak durmak gerekir. Bu sayede geceleri daha rahat uyuyabilir, müşteri taleplerine daha serinkanlı cevap verebiliriz.

Bu yazıda yazılım geliştiriciler tarafından yapılmaması gereken ve sebebi ne olursa olsun (istisnalar hariç olmak üzere) uzak durulması gereken ve ismi konulmuş bir takım kavramlardan ve yöntemlerden bahsedeceğim. Kısacası konumuz : “anti-pattern”.

İşte size adını sıkça duyabileceğiniz yapılmaması gerekenler; Okumaya devam et

Mac OS üzerinde kullandığım uygulamaların listesi

Herkese Merhabalar; Uzun zamandır bir çok kişi tarafında ‘Hocam hangi IDE yi kullanıyorsun?’ , ‘Video montaj işlerini hangi yazılım kullanıyorsunuz?’ gibi sorularında cevabı olacak bir yazı. Apple iMac bilgisayarıma yada MacbookPro bilgisayarıma format attığımda ardından kafama göre lazım olacakları kurmaya başlıyordum.Sonra bunları net bir listede toplamaya karar verdim. Kağıt kalemi hazırlamışken biçok kişinin sorununda cevabı olması açısında Blog yazısı haline çevirmek daha mantıklı geldi.

Guncellendi…

Okumaya devam et

MacOS X ‘de yer kalmadı

iMovie , Final Cut gobi Apple yazılımlarını sıkça kullanırım. Video prodüksiyon, montaj gibi işler yapmanız gerektiğinde en büyük sıkıntınız hardiskinizde yer kalmaması olduğunu bu işlere bulaşmış çoğu insan bilir.Velhasıl yine bulaştım iMovie ile bişiler yapmaya . Elimdeki birsürü fotoğrafı ve videoyu bir flimde toplayayım dedim.Başladım çalışmaya

iMac ‘imde 240GB’lık bir SSD kullanmaktayım.Ortalama boş yerim 30-40 GB arasında değişir. Bir kaç gün video ile haşır neşir olduktan sonra yetersiz disk alanı hatası almaya başladım.

Okumaya devam et

Unix Tar Komutu

TAR Unix altında yedekleme için kullanılabilen bir araçtır. TAR arşivi oluşturulurken hedef olarak bir dosya ya da manyetik teyp cihazı kullanılabilir.

TAR arşiv dosyalarında dosyalara ilişkilendirilmiş çalışma şekilleri ve kullanıcı izinleri de muhafaza edilir.

Okumaya devam et

Install perl’s libwww

Install perl’s libwww

wget http://www.cpan.org/modules/by-module/LWP/libwww-perl-5.837.tar.gz

tar -zxvf libwww-perl-5.837.tar.gz

cd libwww-perl-5.837

perl Makefile.PL

make

make install

OR


perl -MCPAN -e 'install Bundle::LWP'

OR, on FreeBSD, install it from ports


# portmaster www/p5-libwww

Usage

Check from command line:

# ./check_squid.pl --url=http://www.facebook.com --proxy=proxy.neant.ro --proxyport 3128 --proxyuser=user --proxypass=pass --status=200

OK – Status: 200 OK

Nagios config, command definition:

# ‘check_squid’ – tries to access an URL through proxy

define command {

command_name check_squid

command_line $USER1$/check_squid.pl –proxy=$HOSTADDRESS$ –proxyport=$ARG1$ –proxyuser=$ARG2$ –proxypass=$ARG3$ –url=$ARG4$ –status=$ARG5$

}

Example service check definition:

define service {

service_description squid

use generic-service

host_name proxy

check_command check_squid!3128!squid!squid!http://www.facebook.com!200

contact_groups admins_sms

}

Yazılım geliştirirken yapılan yanlışlar: “Anti-Pattern”

Hepimizin bildiği gibi yazılım geliştirme çok kompleks ve kaotik bir süreçtir. Niyetlendiğimiz işe başladıkdan sonra bile çok sıkça niyet değiştirebiliriz. İsteklerimiz değişebilir, müşteri fikir değiştirebilir ve her şeyi sil baştan yapabiliriz. Zira işe başladıktan sonra kaybedilecek şey sadece zamandır ve zaman da göreceli olarak değersiz görülür. Oysa bir inşaat işine başladığınızda plan dışına çok nadir çıkarsınız, çünkü planı değiştirmek istediğinizde o ana kadar kullandığınız inşaat malzemesini çöpe atmak istemezsiniz o malzemenin ölçülebilir maddi değeri vardır. Ancak müşteri, yazılımın geliştirme safhasında henüz bir şey görmediği için değişiklik isteklerini futursüzca yazılım ekibine iletebilir. Bizler de yazılım geliştiriciler olarak her şeyin bir yolunu bulabildiğimiz için bir şekilde müşteriye ayak uydurmak zorunda kalırız. Bu ayak uydurmalar zaman içinde yazılımımızın kod kalitesini, standardını ve tasarımını bozmakla beraber bir çok kod parçasının nerdeyse tekrar dokunulamaz hale gelmesine neden olmakta.

Okumaya devam et