Archive

Archive for the ‘Computer & Internet’ Category

FTP Push 1.0 – English

February 12th, 2010 No comments

While re-profiling our company’s backup strategy, we’ve needed a piece of software to use while copying files between servers and to our local system using FTP w/o interaction and preferably using command line paremeters. No promising solutions were available on the internet. Because this was a real “must” for us that we can not give up, I’ve decided to build the tool “FTP Push” that will fullfill our needs.

You can find the tool at http://ali.inal.info/FTPPush/FTPPush.zip. Because the tool is built with C# on .NET Framework 3.5, you need to have this Framework installation first. While fulfilling our needs, I’ve tried to build a more flexible tool in order to make it work in other similar cases for different users.

Here is some of the features:
* Because no user interaction is needed and is runnable through command line, you can set the tool as scheduled task and automate your jobs.
* By passing different setting files as parameter to tool, you can plan different profiled FTP uploads.
* Ports other than 21 are also supported so you may configure your firewall as needed.
* You can define unlimited number of folders in a setting file so all folders will be uploaded sequentially.
* You redirect different folders to different (or same) folders on target FTP sites. Folders will be created automatically in case of need.
* File search patterns can be defined on folders.
* Optionally, you can set the tool to recurse subfolders of upload folders.
* Upon completion of the upload procedure, an upload log report can be delivered to predefined admin list via e-mail.
* You can set mailing server settings and also perform SMTP Authentication.

Tool is using a setting file (like below) that can either be passed to tool as command line parameter or saved next to executable file as “settings.xml”:

<?xml version="1.0"?>
<FTPInfo>
  <server address="ftp://ftp.yourdomain.com" port="21">
    <credentials>
      <UserName>ftppush.user</UserName>
      <Password>ftppush.password</Password>
      <Domain />
    </credentials>
  </server>
  <folders>
    <folder localPath="d:\Backups\PSTs" remotePath="PSTs" filter="*.pst" recurse="true" />
    <folder localPath="d:\Backups\DBs" remotePath="DBs" filter="*.mdb;*.mdf;*.accdb" recurse="true" />
  </folders>
  <mailing server="smtp.yourdomain.com" port="35" subject="FTP Push Status Info">
    <authenticateAs>
      <UserName>sender@yourdomain.com</UserName>
      <Password>password</Password>
      <Domain />
    </authenticateAs>
    <fromName>FTP Push Service</fromName>
    <fromEmail>sender@yourdomain.com</fromEmail>
    <admins>
      <admin>admin1@yourdomain.com</admin>
      <admin>admin2@yourdomain.com</admin>
    </admins>
  </mailing>
</FTPInfo>

You’re able to set all features mentioned above using this XML file. Then just simply save this file next to exe file named as “settings.xml” or save it with another name and pass this name to exe file as command line parameter. By this way, you’ll be able to automate different upload task with just one exe file.

You can download and test the tool from http://ali.inal.info/FTPPush/FTPPush.zip. This tool will always be freeware. I’m open to all requests and suggestions, I’ll try to improve the tool as I find time.

I hope this tool also works for others…

FTP Push 1.0

February 11th, 2010 No comments

Şirketimin yedeklerini sunucular arasında ve yerel disklerimize çekmek için, kullanıcı etkileşimi olmadan (tercihen komut satırından) çalışabilecek bir FTP gönderim uygulamasına ihtiyaç duyduk. İnternet üzerindeki aramalarda çok iç açıcı çözümlere ulaşamadık. Bu bizim için önemli ve vazgeçemeyeceğimiz bir ihtiyaç olduğu için bu işi görecek bir uygulama geliştirmeye karar verdim ve komut satırından çalışan “FTP Push” uygulamasını geliştirdim.

Uygulamaya http://ali.inal.info/FTPPush/FTPPush.zip adresinden erişebilirsiniz. Uygulama, C# dili ile .NET Framework 3.5 kullanılarak geliştirildiği için öncelikle bu Framework’ün kurulu olması gerekiyor. Bizim ihtiyaçlarımızı karşılayacak bir uygulama geliştirirken bazı özellikleri de geniş tutarak bu konuda sıkıntı çeken başkalarının ihtiyaçlarını da karşılayabilmeyi düşündüm.

Desteklenen bazı özellikler şöyle:
* Komut satırından çalıştırılabildiği ve kullanıcı etkileşimi gerektirmediği için sisteminizde zamanlı görev olarak kurabilir, çalışmalarınızı otomize edebilirsiniz.
* Farklı ayar dosyalarını parametre olarak geçirerel farklı profildeki FTP yüklemelerini planlayabilirsiniz.
* 21 haricindeki portları da desteklediği için firewall sorunlarının önüne geçebilirsiniz.
* Tek bir görev dosyasının içerisinde sınırsız sayıda dizin belirtip, sırayla hepsinin yüklenmesini sağlayabilirsiniz.
* Her bir dizin yüklemesini, FTP sunucusu üzerindeki farklı dizinlere yönlendirebilirsiniz.
* Yüklenecek kaynak dizinler üzerinde dosya filtresi uygulayabilirsiniz.
* Belirttiğiniz dizinlerin alt dizinlerinin de yüklenmesini (opsiyonel olarak) sağlayabilirsiniz.
* Upload işlemi tamamlandığında, tanımladığınız admin adreslerine yükleme raporunun e-posta aracılığı ile gönderilmesini sağlayabilirsiniz.
* E-posta sunucusu ayarlarını değiştirebilir, SMTP Authentication yapabilirsiniz.

Uygulama, komut satırından parametre olarak geçirebileceğiniz veya uygulama dizinine settings.xml adıyla kaydedebileceğiniz, aşağıdaki yapıya sahip XML dosyasını ayar dosyası olarak kabul ediyor:

<?xml version="1.0"?>
<FTPInfo>
  <server address="ftp://ftp.yourdomain.com" port="21">
    <credentials>
      <UserName>ftppush.user</UserName>
      <Password>ftppush.password</Password>
      <Domain />
    </credentials>
  </server>
  <folders>
    <folder localPath="d:\Backups\PSTs" remotePath="PSTs" filter="*.pst" recurse="true" />
    <folder localPath="d:\Backups\DBs" remotePath="DBs" filter="*.mdb;*.mdf;*.accdb" recurse="true" />
  </folders>
  <mailing server="smtp.yourdomain.com" port="35" subject="FTP Push Status Info">
    <authenticateAs>
      <UserName>sender@yourdomain.com</UserName>
      <Password>password</Password>
      <Domain />
    </authenticateAs>
    <fromName>FTP Push Service</fromName>
    <fromEmail>sender@yourdomain.com</fromEmail>
    <admins>
      <admin>admin1@yourdomain.com</admin>
      <admin>admin2@yourdomain.com</admin>
    </admins>
  </mailing>
</FTPInfo>

Yukarıda bahsettiğim özelliklerin tamamını bu XML dosyası ile ayarlamanız mümkün. Bu XML dosyasını, exe dosyasının yanına settings.xml olarak kaydetmeniz yeterli. Veya farklı bir isimle kaydedip, exe dosyasına parametre olarak dosya adını geçirirseniz, bu xml dosyası ayar dosyası olarak kullanılacaktır. Bu sayede farklı ayarlarınızı aynı exe ile otomize etmeniz mümkün olacaktır.

Programı http://ali.inal.info/FTPPush/FTPPush.zip adresinden indirip, deneyebilirsiniz. Yazılımı tamamen freeware olarak tutacağım. Öneri ve isteklere açığım, elim deydiğince uygulamayı geliştirmeyi deneyeceğim.

Umarım benden başka birilerinin de işine yarar…

Categories: FTP Push, Tools Tags: , ,

Commodore 64 ve QBASIC (Javascript?)

January 12th, 2010 No comments

Tesadüfen Javascript ile yazılmış bir Commodore 64 emülatörü ve QBASIC compiler’ı gördükten sonra iyiden yaşlanmaya başladığımı anladım. İlk göz ağrılarım artık scripting dilleri ile bile gerçeklenebilecek kadar teknoloji dışı kalmış :)

Javascript C64: http://bit.ly/8oacuG
Javascript C64 (2): http://bit.ly/4JVAnL (Yazılımcı tam olmadığını belirtmiş)
Flash (ECMAScript) C64: http://bit.ly/7tpBMJ
Javascript QBASIC Compiler: http://bit.ly/7rbkl0
Commodore 64 ile en az 5-6 sene, QBASIC ile de en az 6-7 sene geçirdiğimi düşünürseniz niye yaşlanmış hissedip, nostalji yaşadığımı anlarsınız :)

The Picodore 64 – Bir Commodore 64 PDA

December 31st, 2009 No comments

Blog’un tarzı dışına çıkarak, tesadüfen gördüğüm bir yazıyı paylaşmak istiyorum. 1988′de tanıştığım ve beni “bilgisayar” kavramıyla tanıştıran ve halen fırsat buldukça emülatörleriyle vakit geçirdiğim (orijinalini saklıyorum ancak teşkilatı hazırlamak için vakit bulmak mümkün olmuyor) muhteşem cihaz Commodore 64′ü nasıl küçücük bir PDA boyutuna indirmişler.

Gerçekten okurken ve resimlere bakarken büyük keyif aldım. Umarım siz de aynı keyfi yaşarsınız: Jason Winters’ Pico-Projects: The Picodore 64 – a Commodore 64 PDA

Windows 7′de bir ASP.NET, IIS 7.5 hikayesi..

December 10th, 2009 8 comments

Bir süredir evde kullanmaya başladığım Windows 7′den oldukça memnun sayılırım. Hatta kısa sürede özellikle performansından dolayı fanatiği oldum diyebilirim.

Diyebilirdim yada. Bugün IIS üzerinde bir websitesini çalıştırmak tam 1 saat 40 dakikamı alana kadar.

Acısız olmasını beklemiyordum ama bu kadar kanlı olmasını da beklemiyordum açıkçası. Her zaman yaptığımız gibi sitemi oluşturdum, hemen görmek istedim boş sayfayı. IIS’i açtığımda IIS 7.5′un jelibon-bonbon yüzünü görünce işlerin iyi gitmeyeceği içime doğmuştu zaten. Neyse, websitesi tanımlamasını yaptım. Tarayıcıya yöneldim ve ilk hata:

HATA 1: HTTP Error 500.19 / Error Code: 0×80070005 / Config Error: Cannot read configuration file due to insufficient permissions

Araştırma süreci başladı tabi ki. Sorunun yetki hatası olduğu belliydi. Web projesinin dizinine IIS_IUSRS kullanıcısına yetki verdim. Tarayıcıda sayfayı refresh ettim ve ikinci hata:

HATA 2: HTTP Error 500.19 / Error Code: 0×80070021 / Config Error: This configuration section cannot be used at this path. This happens when the section is locked at parent level….

En fazla bilgi öğreten hata bu oldu. Her ne kadar öğrendiklerim hata ile ilgili olmasa da… Araştırmalar sonucunda kolay bir çözümü olduğunu öğrendim.
%windir%\system32\inetsrv\config\applicationhost.config konumundaki dosyayı açıp, içerisindeki

<section name="handlers" overrideModeDefault="Deny" />
<section name="modules" allowDefinition="MachineToApplication" overrideModeDefault="Deny" />

satırlarındaki “Deny” ibarelerini “Allow” yapmak. Bu sayede bu section’ların web.config üzerinden override edilmesine izin vermek.
İşlem kolay, kolay olmasına da dosyayı bulabilirsen… Hemen Total Commander’ıma geçtim, dizine gittim, o da ne, dizin boş? Ara tara boş. Hemen cmd’ye geçtim. Dizine gittim yok da yok.
En sonunda bir forumda “SYSWOW32 Redirection” denen bir zımbırtıyı öğrendim. 64Bit işletim sistemlerinde, sistem dizini iki adet. Bir System32 bir de SysWOW64. Ancak bütün yazılımlar sistem dizinine aynı şekilde erişmek isteyeceği için, Microsoft, 32 Bit’lik yazılımlar sistem dizinlerine erişirken “SYSWOW32 Redirection” ile onları 32Bit dizinine atıyor. Yani dizine gözatmak için kullandığınız yazılım (bende Total Commander ve cmd) 32 bit ise, dizinde hiçbirşey olmuyor, çünkü o dizin o dizin olmuyor.
Bunu da öğrendikten sonra 64Bit’lik Notepad ile tam dosya adresi vererek dosyayı açmaya muktedir oldum ve değişiklikleri yaptım. Tarayıcıya döndüm, refresh veee buyrun 3. hata:

HATA 3: HTTP Error 401.3 / Error Code: 0×80070005 / Unauthorized

Uzun araştırmalardan sonra, sorunun IIS7.5 üzerindeki site yetkilendirmesindeki bir sorun olduğunu tespit edebildim. Düzeltmek için şu adımları izlemek gerekiyor:
1. IIS7.5′a girilir,
2. “Sites” dalı genişletilir, sorunlu web sitesinin adına tıklanır.
3. Sağ taraftan “Authentication”a çift tıklanır.
4. “Anonymous Authentication” öğesine sağ tıklanır “Edit…” denir.
5. “Application Pool Identity” seçenği işaretlenir
6. Kaydedilir.
Adımları tamamladım, büyük bir hevesle “bu sefer tamam” diyerek tarayıcıya döndüm F5 veeee 4.hata:

HATA 4: HTTP Error 404.3 / Error Code: 0×80070032 / Not Found

Hata mesajından ASP.NET handler’ının çalışmadığını düşündüm ama, jelibon-bonbon IIS7.5′da nasıl bulasın da düzeltesin handlerları. Bu sefer onu aramaya başladım. Handlerların yerini tespit ettim ama ASP.NET handler’larının yerinde yeller esiyordu. Meğerse Windows 7, Framework kurulsa dahi, ayrı ASP.NET bileşenlerini aktive etmeyi gerektiriyor. Bunun için denetim masasından “Programs and Features” altından “Turn Windows Features on or off” diyoruz ve çıkan ağaçta şu dala kadar gidiyoruz: “Internet Information Services/World Wide Web Services/Application Development Features”. Buradaki öğelerden, “CGI” hariç diğerlerini işaretliyoruz.

Bu işelmi de tamamladım tarayıcıda refresh, yine bir hata. Ama bu sefer ne güzel ki artık sarı ASP.NET hata sayfası görebilmeye başlamıştım. Anlamsız bir hataydı ama bir compile edeyim projeyi tekrar dedim. Netekim düzeldi ve boş, düz beyaz Default.aspx sayfamı görmeyi başardım…

Yukarıda anlattığım sorunlar, orası burası kurcalanmış yada uzun süredir kullanılarak sorunlara yol açılmış bir Windows kurulumnda değil, 3-4 gün önce yeni işletim sistemi ve 1 gün önce de yeni Visual Studio 2008 kurulumu ile tam manasıyla bir out-of-the-box sistem üzerinde meydana geldi.

Umarım bu sorunları yaşayan birilerin biraz faydam dokunur…

3M – Visual Attention Service

December 9th, 2009 No comments

Bugün genellikle pek yazmadığım türden bir habere yer vereceğim. 3M’in servisleri arasına kattığı VAS (Visual Attention Service), bir resimde, dikkat çeken alanların neler olduğunu yazılımsal olarak tespit edebiliyor.

Özellikle ürün ve ambalaj tasarımı yapanlar için gerçekten işleri ciddi oranda kolaylaştıracak (ve büyük ihtimalle ucuzlaştıracak) bir yöntem. Sistem henüz beta üyelik kabul ediyor, ücretlendirmesi belli değil. Hazırladığınız bir ürün görselinin, kullanıcılar tarafından nasıl algılandığını anketlerle tespit etmek pahalı olacağı gibi objektif sonuçlar elde etmek de çok mümkün olmayacaktır. VAS’ın kullandığı bilimsel teknikler, kişilerin istemli veya istemsiz olarak dikkatini çeken bölgeleri algılayabiliyor. VAS ile ilgili genel bilgiyi: http://www.3m.com/VAS adresinden alabilirsiniz. Beta üyelik için de https://vas.3m.com/Account/Register adresini kullanabilirsiniz.
3M’in kendi sitesindeki tanıtım ve teknoloji anlatım yazısına (güzel görseller kullanılmış) buradan ulaşabilirsiniz.
Gelelim denemelere. Bir deneme hesabı oluşturup bir kaç deneme yaptım. Öncelikle ortağımın somon füme firması Delicco‘nun bir ürün ambalajını test ettim.
Yüklediğim görsel:
Dikkat çeken bölgeler (sıcaklık analizi):
Odak noktaları:
Her ne kadar tasarım uzmanı olmasam da sonuçların pek iç açıcı olmadığını düşünüyorum. Sıcaklık analizi, tasarımdaki kuşakların daha fazla dikkat topladığını ve logo/ürün gibi ana noktaları dikkatten kaçırdığını gösteriyor.
Odak noktası analizi ise biraz daha iyi, en azından logoya yakın bir bölge tek odak noktası ambalajda…
Daha sonra daha bildik tasarımlarla bir deneme yapmayı düşündüm ve Coca-Cola’nın bir tasarımını denedim. Gerçekten tasarımın ne kadar önemli olduğunu fark edip, aşağıdaki detaylarla şaşıracaksınız :)
Yüklediğim görsel:
Dikkat çeken bölgeler (sıcaklık analizi):
Odak noktaları:
Sıcaklık analizinin tamamen logo üzerine yayıldığını görebiliyoruz. Odak noktlar da tamamen logo üzerine yayılmış ve neredeyse logonun tamamını kaplamış durumda. Delicco tasarımında olduğu gibi burada da dikkat çeker gibi görünen kuşaklar olmasına rağmen kişinin dikkatini cezbetmediğini açıkça görebiliyoruz. Ve bence bu Coca-Cola tasarımının başarısının sırrı, sıcaklık dağılımda da belli olan ve odak analizinde de 4 numaralı odağa sahip olan bardağın üstünden görünen buz. Herhalde Coca-Cola’nın vurgulamak isteyebileceği en önemli unsurlardan biri bu görselde ve bunu başarmışlar. Tasarımda sadece Coca-Cola Classic yazıları ve buz ilgi ve odak noktası.
3M ürününün bilimsel tabana dayandığını belirtiyor ve bu konuda iddialı. Her ne kadar ürün henüz beta sürecinde olsa da bana gerçekten başarılı geldi. Ücretlendirmesine bağlı olarak ürünlerini ve paketlerini konumlandırmayı deneyen firmalar için çok başarılı bir çözüm olabileceği kanısındayım…

pointer-events:none;

December 2nd, 2009 No comments

Henüz 4. beta sürümü yayınlanmış olan Firefox 3.6 da gördüğüm ve bence biraz daha geliştirmeyle bir CSS standardı haline gelebilecek bir style var.

pointer-events:none;

Bu style none ve auto olmak üzere iki değer alabiliyor. Yaradığı işi de şu şekilde açıklayayım. Üstüste binen nesnelerde (örneğin iki div), mouse event’leri, biliyorsunuz üstteki nesnede yakalanır, alttaki nesneye geçmez. Bu sebepten dolayı, aşağıdaki nesnede a gibi, input gibi nesneler mevcutsa, kullanıcının bunlarla mouse aracılığı ile etkileşime girmesi mümkün değildir. Firefox 3.6 bu gibi durumlarda, üstteki elemana pointer-events:none style’ı verilerek sorunun çözülmesini sağlıyor. Bu özelliğe sahip nesne mouse işlemlerini yakalamıyor, alttaki elemana geçiriyor. Bu sayede alt nesnede bulunan nesneler çalışıyor, bu nesne ile etkileşime girilebiliyor.

Bazı noktalarda gerçekten hayat kurtarıcı olabilecek bu özelliğin kısa sürede CSS standardı olmasını diliyorum. Canlı bir örneği görebilmek için en az bir Firefox 3.6b4′e ihtiyacınız olacak. Henüz resmi olarak yayınlanmadığı için bu sürümü http://www.mozilla.com/en-US/firefox/all-beta.html adresinden indirip kurmanız gerekmekte. 3.5.5 sürümü ile yanyana çalışabiliyor sürüm.
Kurulumunuzu tamamladıktan sonra http://demos.hacks.mozilla.org/openweb/pointer-events adresini ziyaret ederek canlı bir uygulama görebilirsiniz. Üstünde gradient bir dolgu efekti olan div, a nesnelerinin dizili olduğu başka bir div’in üzerine getirilmiş. Burada gradient efektinin olduğu sağ bölgedeki linklere erişmek mümkün olmuyor, çünkü mouse event’ları üstteki gradient div’i tarafından yakalanıyor. Ancak hemen alttaki işaret kutusunu seçtiğinizde artık bu linklere de erişilebilmeye başlıyor.

Gerçekten web programcılarının ve tasarımcılarının hayatını kurtarabilecek bir özellik. Umarım kısa sürede Trident ve Webkit engine’lerine de girer ve biz de gönül rahatlığı ile kullanmaya başlayabiliriz…

*** Ekleme: 02.12.2009 17:51 ***
Bu sayfayı Google Chrome, Safari, Opera ve IE üzerinde de denedim. Chrome ve Safari’de de özelliğin çalıştığını gördüm (we love webkit). Opera üzerine gelen div’i yorumlayamadığı için deneme şansım olmadı. Linkler hep çalışıyordu. IE ise sayfayı açamadı bile :) Yorum sizin…

LABjs – Efektif Dış Kaynak Yüklemesi

December 1st, 2009 2 comments

LABjs isimli bir proje (http://labjs.com), web sayfalarına dışarıdan yüklediğimiz (js gibi) dış kaynakların yüklenmesini optimize etmeye yönelmiş bir Javascript kaynağı. Dış kaynakların aynı anda (veya sizin belirteceğiniz bir sıralama ile) yüklenmeye başlamasını sağlayabiliyorsunuz.

Bu tip bir iyileştirmenin Firefox 3.5 ile geldiğini biliyoruz. Kısmen (tarayıcının tanımlayabildiği) ilişkisi bulunmayan kaynaklar aynı anda yüklenmeye başlanarak önemli bir kaynak artışı sağlamışlardı.

Firefox 3.0′da bazı kaynakların yüklenmesi aşağıdaki şekildeyken (16.84 saniye):

Firefox 3.5′te kaynakların yüklenmesi bir miktar hızlanmıştı (10.69 saniye):

Ancak görebildiğiniz gibi hala bazı kaynaklar paralel yüklemeye maruz kalmıyorlar. Bunun sebebi yukarıda bahsetmeye çalıştığım tarayıcının kararverdiği öngereklilik koşulları.

Bu örnekte de LABjs tarafından önceliğe konulmuş dış kaynakların yüklenmesini görebilirsiniz (6.24 saniye):

Görüldüğü gibi LABjs önemli bir performans artışı daha sağlamış oluyor. Konuyla ilgili detaylı bir incelemeyi (resimleri da aldığım kaynak olan) http://blog.getify.com/2009/11/labjs-new-hotness-for-script-loading adresinden okuyabilirsiniz.

Ancak tavsiye, yukarıda belirttiğim sitede yazan uyarılara gözatmadan sistemlerinize entegre etmeyin. Bu uyarıları “Are there any negative side effects?” başlığı altında görebilirsiniz.

Kendim yaptığım testleri derli toplu hale getirebilirsem burada yayınlayacağım…

Categories: Firefox, Javascript Tags: , ,

Google Closure artık open source!

November 5th, 2009 No comments


Bugün artık zengin internet uygulamaları geliştiren her web yazılımcısı, jQuery, Prototype, Dojo, MooTools gibi farklı farklı Javascript kütüphanelerinden birini mutlaka kullanıyor. Hatta artık $ olmadan bir javascript tümcesine başladık mı garip gelir haldeyiz…

Bu kütüphaneler ortada yokken, yada varken ama henüz “experimental” seviyeyi geçmediği dönemlerde, ben ve benim gibi web geliştiriciliği yapan bütün yazılımcıların ağzının suyunun akmasına sebep olan uygulamalar görmeye başladık. Google kaynaklı GMail, Google Maps, Google Docs… gibi uygulamalar gerçekten o gün için hayal gücümüzün sınırlarını zorluyordu.

Gitgide javascript çerçeve çalışmaları ile tanıştıkça artık bu tip uygulamalar hiç birimiz için çok uzak değildi. Ama Google zamanında bunları nasıl yapmıştı? Kendi bir çerçevesi olmadan pure javascript mi yazmıştı? Tabi ki hayır. Bugün dahi halen hiç bir Google uygulaması, yukarıda örneklerini verdiğim bildik javascript kütüphanelerini kullanmıyor.

Bir zamanlar kulaktan kulağa efsane gibi yayılan, daha sonra doğruluğuna emin olduğumuz ama sır gibi saklanan Closure artık Google tarafından açık kod olarak dağıtılmaya başladı.

Şu noktada artık alışkanlıklarımızı değiştirir miyiz, bir jQuery’den bir Prototype’tan vazgeçer miyiz bilemem. Ama işin içinde Google varsa incelemeye değer. İncelediğimde gördüğüm ince zeka örnekleri gerçekten hala çok etkileyici…

Buyrun: http://code.google.com/closure

Ninite Easy PC Setup

November 2nd, 2009 No comments

İlginç bir proje. Bilindik çok kullanılan yazılımları tek seferde bilgisayarınıza kurmak için tasarlanmış bir sistem. İstediğiniz yazılımları uzunca bir listeden seçiyorsunuz. Daha sonra size küçük bir installer download ettiriliyor.

Bundan sonra start’a basıp kahve almaya gidiyorsunuz… Çünkü Ninite, seçtiğiniz programları sırayla download ediyor (son sürümlerini) ve size tek soru sormadna kuruyor… Şaka gibi ama gerçek :)

Buradan deneyin lütfen: http://ninite.com