Wednesday, July 13, 2011

schema.org - MicroData - Web 3.0 ve Semantik Web'e hoşgeldiniz.

http://schema.org/

Google, Yahoo ve Bing'in kurduğu Sayfalarda semantik aramayı kolaylaştıran, arama sonuçlarında farklı bilgilerin sunulabildiği (örneğin, restoranın fiyat aralığı, telefon numarası) yeni standardı MicroData formatının tanımlandığı site.

Yakında burayı bolca ziyaret edeceğiz. SEO ile uğraşanların ve WebMasterların ilgilendiği bir adres olacak. Şu anda üç büyükler bu formatı destekliyorlar, eski formatlar (MicroFormat ve RDFa) hala desteklenmeye devam edecek, ama yeni geliştirmeler burada yapılacak. Bu arada bu sitenin (formatın) Microsoft, Google ve Yahoo tarafından desteklendiğini, bu şirketlerin çok büyük olmakla birlikte kafalarına göre hareket edebileceklerini unutmamak gerekiyor. Ama sayfalarınıza uyguladığınızda, arama sayfa sonuçlarında farklılık yaratacağınız kesin.

En hoş tarafı ise, en temel tanımlamanın adının "Thing" ("Şey") olması. Çok soyut, çok.

Artık Internet, sayfalarımızda ne dediğimizi daha iyi anlayacak ve anlatacak. Haydi hayırlısı.


Friday, May 14, 2010

Subversion Apache olmuş

Hiç beklemezdim.

Subversion Apache ailesine katılmış. Sayfasında gördüğüm kadarıyla, 2009'un Kasım'ında "Incubator" olarak geçmiş. Üç ay sonra 2010'un Şubat'ında da, ana projeler katılmış.

Hayırlı olsun.

Wednesday, May 12, 2010

Firefox 4 HTML 5 Gecko'nun ölümü

Gecko Firefox'un 1998'den beri kullandığı HTML Parser'ının sonu geldi. Yeni Firefox sürümü ile Gecko yerine yeni bir HTML Parser yazıldı!

Bu ne demek?

Firefox 4 HTML 5'e hazırlanıyor demek. Şu anda da HTML 5'i bir kısım desteklemekle beraber yeni baştan yazılmış olan Parser geleceğe yönelik olacak.

Yeni Parser'da başlıca şu dört özellik göze çarpıyor:

  • XML Namespace'leri, kullanmadan HTML 5 sayfasının içine SVG ve MathML kodları koyabilirsiniz.
  • Parsing işlemi, Firefox'un ana UI thread'ından farklı bir thread içinde yapılıyor. Bu Firefox'un kullanıcı deneyimini rahatlatıyor. Arayüzün kulanıcı isteklerine daha rahat yanıt vermesini sağlıyor.
  • innerHTML çağrılarında %20'ye yakın performans artışı sağlanmış.
  • Yeni Parser'ın gelmesişyle birlikte, uzun zaman önce girilmiş, çözüm o yapıyla çözüm bulunamamış pek çok hata gideriliyor.
Gecelik Mozilla sürümünü buradan indirebilirsiniz:

Monday, February 15, 2010

What about ASP.Net MVC?

I've been experimenting with ASP.Net MVC framework lately.
You can have it from http://www.asp.net/mvc/

It is good for;
  1. Separation of logical application layers
  2. Test Driven Development
  3. Finally having full control of HTML
  4. Getting rid of VIEWSTATE in ASP.Net
  5. Nice URLRewriting for allowing REST operations.
There is also a project for Contributions for MVC ( http://www.codeplex.com/MVCContrib ), which has;
  1. Addition of many Validation helpers
  2. Controller factories for (Windsor, Spring.Net, Unity and Structured Map)
  3. Most important of all, other "View engines" other than "aspx"
    1. NDjango
    2. NVelocity
    3. StringTemplate
    4. XSLT

  4. I am wondering if, original django or velocity templates can be used.
This kind of MVC implementation needs some getting used to for ASP.Net developers, but gives the control that old timer developers need finally.

I kind of like it. The documentation says, it performs faster at some level than ASP.Net.

Friday, February 05, 2010

Cairngorm and Flex

I am planning to use Cairngorm library with Flex builder. On Adobe page for Cairngorm, you can also download, Eclipse plugin for Cairngorm.

The good thing about Cairngorm is that, it (almost) forces you to have a specific directory structure for you Flex application.

You must type tons of extra code, to make a Cairngorm application to work, but it helps you separate Model/Data from View/UI. It is based on Commands and created events. So almost everything necessary is abstracted from each other.

You also must have a big enough project on Flex that requires Cairngorm framework. If you Flex application is simple, don't use it. If your application needs extending, developed with more than one developer or needs continuous modification, Cairngorm is definitely the way to go. So Cairngorm is good for medium to enterprise level applications for Flex.

Monday, December 07, 2009

New development environment

I am planning on our new development platform, where we are going to develop our Java Web applications.

Let me tell you what it consists of:
  • Ubuntu Server 9.10 on x86 32bit
  • OpenSSH
  • Apache HTTPD
  • Postfix SMTP
  • Trac ( http://local/projects/ )
  • Sonatype Nexus ( http://local/nexus/ )
  • SVN (http://local/repos/ )
  • Modified SVN post-commit task to close related bugs on Trac
  • MySQL for required databases (currently Trac only).
Each development machine has:
  • Eclipse Ganymede J2EE
  • Maven2
  • M2Eclipse
  • Subclipse
  • RabbitSVN / Tortoise
  • Mylyn + Trac Integration
  • CheckStyle for Eclipse
On Commits there should be definition of what's been done.


Next step would be installing a Continuous Integration Tool. I am considering;
  • CruiseControl
  • Continuum
  • LuntBuild
  • Hudson
  • Banshee
Do you have any other suggestions?

Saturday, November 21, 2009

Google announces new OS

I don't want to learn a new OS. This is scary!

Google Chrome OS

It will compete with, Windows, Linux, MacOS and *-nixes.

I remember the good old days to code Interrupts for multitasking.

Friday, October 23, 2009

Who am I

Who am I

I am not a gem waiting to be found.
I am not an island waiting to be discovered.
I am not the hidden one.
I am visible.

I am just a face in the crowd.
I am you.
I am doing my part, nothing more.
But I am the unexpected.

I am the change,
I am the time,
I am existance,
I am the void.

Wednesday, October 07, 2009

Dynamic CV and Job Posting

These days I am thinking on dynamic structures where you can modify highly complex structures (classes) at run time. I am thinking about the design of a "resume" that you can add field(s) and application logic (depending on authorization) to display, hide, search or edit some data. They will rely on some jar or dll files, may be I'll use some DI algorithm. It should be able to read and write to separate databases. Resume (CV) structure is the ideal candidate, because it is quite complex. It has single fields and related tables for relational databases. I should be able to modify its structure without recompiling and have multiple types of resumes. This also might apply to job postings. Then I'll add some sort of campaign management as spice. I'll have my core system. With these in mind, I can do anything!!!

Monday, July 13, 2009

SOLR, Lucene, Java, .Net and Microsoft SQL Server

@ Hurriyet, we finally launched our new search http://arama.hurriyet.com.tr/
It runs perfect.

I am going to tell you about the technology behind it.
After long time of research and evaluation, we finally decided to go with Lucene, which is a Java Library. But the problem was, we needed a solution that supports any technology. Then we come up with a sub-project of Lucene called SOLR. Which is a HTTP gateway for Lucene. This way we could support any kind of technology and use search as a service (SaaS :P).

SOLR is an highly extendable application that runs behind Tomcat. The output results are XML (but can produce JSON, PHP as well). Each search query is a HTTP GET request and each update (including delete) is HTTP POST request. That's it, this was what we needed.

So basically we had two Linux Servers, each running almost same configuartion with Tomcat and SOLR installed on a port other than 80. One is named "Master" the other named "Slave". Master is responsible for collecting data from SQL Server and update the Search Schema. This is a cron-job that runs in every 15 minutes. Only modified records are updated on Master. Master also has the ability to fully import data from scratch (this can be done in 40 minutes). Master creates a snapshot of the archive in every 15 minutes. Slave is the actual box that is queried. All select/search requests go to Slave. It updates its own schema from Master. This way we can increase the number of Slaves and load balance them.

The Search web server asks search requests to the Slave instead of a regular SQL Server. Web server is an ASP.Net application, that's running on Windows IIS and makes HTTP requests Slave, to get XML results. We also created an Application Block with Enterprise Library, so that Search concept is abstracted from the Web Application.

With this design we get the following benefits:
1. Amazingly fast web requests
2. Clever search engine
3. Ability to scale (both on backend and frontend)
4. Failover clustering
5. Highly customizable design

Wednesday, April 08, 2009

Google App Engine to support Java and Amazon announces Elastic Map Reduce

On April 7th, 2009 Google App Engine announced to support Java on this blog
http://googleappengine.blogspot.com/2009/04/seriously-this-time-new-language-on-app.html

Although I was happy with Python, now they are also adding Fortran 77 support.

Also they have Eclipse support as well
http://code.google.com/eclipse/

Second thing, Amazon announced Elastic Map Reduce which is based on Hadoop.
http://aws.amazon.com/elasticmapreduce/
Note that Amazon have amazing services for web as well as Google.

I believe, soon the way we program and host our applications is going to change again.

Friday, March 13, 2009

My Linux Adventure

It's been couple of months since I switched my desktop to Linux. On recent days I was working on many open source projects, then I decided why not switch the desktop as well. I think I made a nice choice. One can live with Linux desktop within a Microsoft environment.

I first tried Fedora which was 9 then upgraded to 10, but I've had problems on my laptop. Recently I am using Ubuntu without any problems. It is much easier to install Linux when compared to previous years. There are many Live CD distributions. Just pick one and go with installation.
A Vista installation still stays on my laptop, but I am not using it anymore, I keep it in case of Microsoft emergencies.

I'll blog more on this later.

Monday, October 20, 2008

Mert 3.0

I have upgraded myself. I am jumping to the open-source bandwagon, "finally".

In couple of months (Since last May), I have learned great deal of information about open-source world. Every year, couple of times, I was checking what was going on. I found out that, now it was mature enough and evolving much faster than any other trend.

It all started when I bought my iPhone. I should thank Apple for this product. I found out that it was running on Unix and I could install any program on it (by hacking the phone, but it works, I don't mean any harm). So I first met SSH, for uploading files. Then I've seen Lighttpd and Apache. After that I needed some interpreted language, which I've found Python (not PHP). With these technologies, I needed some server platform, Microsoft was doing fine, but it wasn't meant for these applications, so I've installed Fedora 9 on my laptop.

After a while I didn't need any Microsoft application. Everything was running fine on Linux. So I am running Fedora 9 as primary hardware now.

Mert 1.0 -> Commodore 64
Mert 1.5 -> PC + dBase
Mert 1.6 -> Microsoft + Pascal, C etc
Mert 2.0 -> Microsoft Windows
Mert 2.4 -> Windows + Web
Mert 2.6 -> .Net
Mert 2.7 -> .Net + Agile
Mert 3.0 -> Open Source (*-nix)
Mert 3.x -> Not decided ("Web" for sure, but Java or Python, may be PHP, who knows)

Saturday, May 17, 2008

Enterprise Library 4 finally released

The long waited "Enterprise Library 4" is finally released, you can download it from http://www.codeplex.com/entlib .
The new library introduces "Unity" as a new application block. The library itself also uses "Unity" for dependency injection.

Other than that, there might be minor changes. The library is now ported to Visual Studio 2008. It also now can run in Partial trust mode. I noticed that it is a 30MB download with More than 20MB documentation. The signed binaries are like ~7MBs.

I am using this library for my "MS.Serices" application. Now I am going to port it to the new library and do a lot of testing...

Monday, April 28, 2008

Adobe Flex 3 and AIR - Silverlight???

Finally I have a chance to write about my dream product.
"Adobe Flex Builder 3"
Recently it has been released. With AIR (Adobe Integrated Runtime) support, now Flash is not dependent on browsers and is supported on Apple and Linus as well as Windows.

Flash 9 is compiled, now with Flex 3, Flex Runtime can also be cached on Flash Cache, which means smaller and faster loading SWF files.

Now, I can bind my server-side data on the client in an Object Oriented environment.
I can also have source and version control for my Flex Applications.

In my opinion comparing Silverlight against Flex 3 is not yet possible. While I am a Microsoft oriented developer, I believe Silverlight need more time to catch up with Flex, but I dont think Adobe will wait for Microsoft ;)

I want to use Microsoft on the server and Adobe Flex in the client.
I wonder if there are any people like me?