Both Eclipse Europa and GPLv3 are being released on the same day, June 29. I should have waited until tomorrow for the haircut, with luck it would look better.
| The truth about my life | ||||||||||||||||||||||||||||||||||||||||||||||||||||||
Thu, 28 Jun 2007Both Eclipse Europa and GPLv3 are being released on the same day, June 29. I should have waited until tomorrow for the haircut, with luck it would look better. Tue, 20 Mar 2007I used to do a lot of PHP and web development (CSS, HTML, Javascript) using Vim in the past. Things change, I'm now mostly on Eclipse doing Java. Although this blog entry is not about comparing development platforms, I feel an urge to say that Eclipse+Java is much less error prone than anything I've used in the past. If you have written some code and Eclipse doesn't bug you with errors and warnings, it will most probably do what you want it to do. But to get it what you want to do, you'll probably have to spend some time looking at some text you yourself have typed in. We developers have developed a habit of organizing our product using blocks of text and to achieve further granularity we (ab)use indented text. So we end up with text blocks indented, and to be able to easily see what's going on in some particular code; most of us prefer monospaced (fixed-with) fonts. On GNU/Linux we have very few monospaced fonts: Bitstream Vera Sans Mono, Lucida Sans Typewriter, FreeMono, Terminus and misc-fixed to name a few. All these fonts are designed for use on a CRT screen, and they look just as good when printed. But hey, it's 2007, portable computers with LCD screens are affordable everywhere. They're more friendly to the environment, they consume much less power and space, they're lighter so we can carry them easier. I'm not sure about whether if they are more fragile or not. What I'm sure is, they need extra love in typesetting software. The font renderer in Freetype2 can use hinting, antialiasing and subpixel rendering techniques to make a font look better, so Pango takes advantage of these. Subpixel rendering is a brilliant idea, really. While searching for information about font rendering, I stumbled upon SubLCD, an unpatented and free subpixel rendering algorith by Kim G. S. Øyhus. I think this can benefit Freetype and the rest of the desktop freedom people a bit, I wonder if I can help with a patch. And our dear old friend, Microsoft has something slightly better, called ClearType which is based on subpixel rendering. Unfortunately our old friend has a patent of this so-called technology, we are either forced to use Windows XP/Vista or we don't get the polish. There are close choices though, see my older (Turkish but helpful) blog entry about font settings in GNOME. The news is that, our old friend takes another step forward to increase text readability on LCD screens by spending a small fortune on designing fonts to further support ClearType™. The new Windows Vista comes with a very good set of fonts. I didn't look at Vista yet, for the record. If you're looking for some good fonts for programming, I would recommend taking a look at Keith Devens' page and Trevor Lowing's collection. If you have a valid Vista or Microsoft Visual Studio license, I recommend Consolas, when used with ClearType it's the best monospaced fonts I've ever used. Really, it's a pleasure to read text using Consolas because even in the smallest size you can easily distinguish between some characters that otherwise would look very similar (a-e, g-y, O-o-0, 1-l-| and so on). I remember GNOME Foundation's agreement with Bitstream to provide a good set of default fonts (the Vera family) for the GNOME Desktop. It was a good step, and I believe we should be doing more. Currently we consider fonts as data, or even worse, consumer goods. Apparently users perception is different: modern Linux distributions don't have enough decent fonts included, compared to Vista. There are Microsoft's Core fonts for the web available, but NIH syndrome doesn't let most us see them as a friendly tool for productivity. Thu, 11 Jan 2007I've been seeing a lot of people whining about websites that don't work with a particular web browser (be it MSIE, Firefox, Opera, Safari, Konqueror and even elinks! -- people who only complain and make no practical suggestions). If you only keep the whining part, I was one of them. I actually learned a lot in a year and I'll share what I have learned. Being the lead developer of several considerably large web applications (next generation and so called Web 2.0 or Ajax applications included) I keep grinning. People will complain. And that makes me sick, so I'm going to devote this entry to zealots. I hope they will like it. First of all, I was actually wrong with Internet Explorer and Microsoft, there are excellent tools like Microsoft Script Editor that's included with Microsoft Office and Microsoft Visual Studio if you can afford the license fee. Fortunately my employer can, so we are able to use the best tools money can buy. The only problem is to get to know about them. I'd love to apologize, I'd also do it personally, for every single software developer who worked on these products. I really respect what they're doing, it's the company they're working for I'm having trouble with. Free software zealots often try to stand behind Firefox (or rarely Konqueror) and blame Microsoft for not supporting or behaving different from W3C. You can recognize them on the spot. A screenshot that shows some site that behaves a lot more different than the developer initially intended to, and that screenshot also shows a funky browser theme and a lot of not-so-useful-for-the-casual-web-user extensions installed. They're blindly ignorant yet passionate people. They don't want to know about the rationale behind anything and only demand immediate solutions. We all know some. Like it or not, Microsoft's more than %90 market share of web browsers is a fact that exists today. Every single Windows deployed has got one installed, and any installation of MSIE adds an icon called "Internet" on the most visible area of the computer screen: the desktop. Zealots can strive to convince another 1% next month, but that's going to take time and web developers (including me) design and implement for today, not for the future. I have several like-it-or-not sort of facts about Microsoft that I'd love to talk about sometime, about the shiny new Vista and the .NET platform, that I think technically are wonderful achievements in the software industry to some extent but are going to have terrible impacts from several aspects. Those are going to wait. No, I'm not going to spit them out in a single blog entry, don't worry. I also would like to remind you that I'm a developer working 90% of the time on free (as in freedom) software tools and I'm in no way in any connection with Microsoft currently. Put yourself in the developer's position. A highly talented web developer is not born with the talent, he represents a huge stack of books read and millions of keystrokes, long hours of frustration. Web is a horrible place to target: there are many server platforms, many types of clients and many types of browsers; all with different capabilities. Of course there is a common denominator that applies to everything that could be possibly made to work. But in the IT industry of 21st century, competitive products and development are key to success. In the end, what you have at hand will be forced to work, brutally. Enough to stand behind the developer, lets get back to zealots. So they are ignorant, and they believe HTML is enough for the web and there's an agreed standard on it and everybody should use it and those who don't stick to the standard are to be doomed to death and god should bless Firefox because it's by far the best. Because the very best website they have developed is their personal website that has a couple animated GIFs (a waving flag, spongebob squarepants shaking his butt, that sort of stuff) and their perception of an interactive website is limited to that, they tend to hate words like Javascript (client side scripting actually), Java applets and ActiveX. Less zealots know about CGI and PHP yet still tend to hate client side scripts. So the highest ranking challenges zealots face with are probably little visual issues caused by subtle differences in CSS behavior in those two browsers. They don't know or they just ignore the fact that Microsoft has a permanent chair in W3C. They don't know how web has evolved since 1980. They don't know about browser wars. They don't know about backwards compatibility in software products. Hell, they don't know about software. I'm most angry for free software zealots. They are spiritual users, yet they completely ignore the philosophy behind free software. It's the free and honest collaboration that makes free software a real success. A bunch of users complaining about something broken is not going to convince a hacker to fix the problem. A detailed bug report, some time spent fixing the issue or a patch -- even a simplest one, at least an attempt, a sign of working brain cells would work perfectly. No screenshots please, we'd love to see people spend some time investigating the problem and report the bug as detailed as possible. We'd love to see that done honestly: a demanding user will more likely be just ignored. Please see Simon Tatham's article on reporting bugs effectively, it's a very good start. Personally I develop for Firefox and then port to Microsoft Internet Explorer, but it's a matter of taste. Now this would surprise zealots I guess because most of them believe that if you make it work for Firefox it's guaranteed to work on IE too -- which is wrong most of the time. Achieving browser compatibility can be costly and involves extensive testing. It's not surprising for me to see people rely on a single platform, because that costs less. Anyone would go for the cheapest that could possibly work. In the past years developing cross-browser rich web applications (including Ajax sites) was very frustrating because it was hard to find the experience and exact list of differences between browsers. The browser almost dominating the web client market being proprietary software, it gets even more complex. What you have is a very large, hard to read and comprehend but extensive documentation source called Microsoft Developer Network; and a very large source code of Mozilla's Gecko Rendering Engine (GRE) with much less documentation that you have to compare to each other. Fortunately someone else has done it. Mozilla Developer Site hosts a document that help developers understand those differences that cause incompatibilities on the web. Some more people have developed toolkits like Prototype, Dojo and Mochikit that provide a stable ground where rich web applications can be built on. These toys handle web compatibility issues for you. But this stuff is very new to the industry, and it takes time for web developers to get used to these. Until then, lets hope that articles like this would make zealots complain less. Cheers, Sat, 22 Jul 2006Fri, 30 Jun 2006Small talk stinks lyrics are here. Fri, 10 Mar 2006
Heh, sanırım bazı arkadaşlar sıklıkla "Selam!" yerine kullandığım "Boo!" sözcüğünü Pixar'ın Monsters Inc. (We scare because we care) ile ilişkilendiriyor olmalılar. Tabii tamamen ilgisiz değil ama, aslında bu girizgâh gerçek Boo'ya tatlı bir gönderme. Yakından tanıdığım ve sevdiğim insanlara her "Boo!" dediğimde aklıma yapacak bir işim daha olduğu geliyor.
İşte gerçek Boo: A wrist friendly programming language for the CLI. Murat Eren'in Ruby/Python karşılaştırmasını görünce yazmadan edemedim. Açıkçası bendeniz kulunuz girintileme ile kod bloğu oluşturan dillerden hazzetmem. Ömrümün geri kalanında Java'dan mümkün olduğunca uzak durmamı sağlayacak miktarda Java kodu yazdıktan sonra artık eminim: PHP5, C ve C# ile yola devam edeceğim. Nasıl oldu bilmiyorum, belki zaten bir ölçüde tanıdığım bir framework ile mecburen düzgün girintilemeli dilleri bir araya getirdiğinden, Boo'ya kanım ısındı. Yakın zamanda biraz oynayacağım sanırım. Python, Ruby ve Boo üçlüsünün hiçbirini birbiriyle kıyaslayacak kadar bilmiyorum ama Boo Primer ve Boo Manifesto oldukça çekici görünüyor: Önce biraz Boo Primer:
... ve sonra biraz Manifesto:
Bir de unutmadan, Boo denen oyuncak Mono üzerinde de çalışıyor, tıpkı Microsoft .NET Framework üzerinde çalıştığı gibi. İyi eğlenceler, Sun, 22 Jan 2006Any intelligent fool can make things bigger, more complex, and more violent. It takes a touch of genius—and a lot of courage—to move in the opposite direction. Sat, 21 Jan 2006
using System;
using System.Net;
using System.IO;
public class EgitimeYardim {
public static void Main() {
HttpWebRequest rq = (HttpWebRequest)
WebRequest.Create("http://www.ntvmsnbc.com/modules/egitimedestek/");
rq.Method = "GET";
StreamReader data = new StreamReader(rq.GetResponse().GetResponseStream());
System.Console.WriteLine(data.ReadToEnd());
data.Close();
}
}
Sun, 17 Jul 2005Totally nuts because of reading way too many Chomsky and Dan Brown books in the last few weeks, I just begun reading Peter Schuh's wonderful work, Integrating Agile Development in the Real World. Let me quote a few lines from the Agile Manifesto: We're uncovering better ways of developing software by doing it and helping others do it. Through this work we have come to value:
That is, while there is value in the items on the right, we value the items on the left more. Instead of going nuts, I decided to go agile. Her yerde söylüyorum, KDE sevmediğimi, bilmeyenler de buradan görmüş olsun. İnsanların programlama becerilerini değerlendirecek düzeyde bir otorite değilim ama fikir edinmek için çok birşey de gerekmiyor. Barış biraz saçmalamış LGPL hakkında, üstelik bazı enterprise abilerin (!) öntanımlı masaüstü ortamı olarak GNOME tercih etmelerini bir gün kodu kapatabilme hakları olduğundan kıllanmasına bağlamış. Bir özgürlük aşığı olan Stallman buna kahkahalarla gülerdi. Barış'ın söyledikleri KDE için bile geçerli olamaz. Barış demiş ki: > Doruk’ un yorumu bir şeyi anlamamı sağladı > Sanırım enterprise abiler GTK’ yı ve belki > de GNOME’u gerektiğinde kaynak kodunu > kapatabilecekleri için tercih ediyorlar. Bu bilgi doğru değil, üstelik had safhada yanlış yönlendiriyor. Gtk+ kütüphanesinin ve GNOME masaüstünü oluşturan kütüphanelerin büyük kısmının lisansı LGPL. LGPL olmayanların da LGPL olmamasının bir nedeni var. Genellikle kütüphaneler için kullanılan LGPL lisansını iki farklı açıdan değerlendirmekte yarar var:
Gtk+ kullanarak kapalı kaynak kodlu ticari bir uygulama geliştirebilirsiniz. Kimseden lisans almak gerekmiyor. Trolltech'e giydirmeden de edemeyeceğim, Qt'nin bu konudaki davranışı GPL açısından ve kanunen mükemmel bir manevra. Yazılımın özgürlüğü konusunda sorunu kesinlikle çözüyor. Ancak ticari nedenlerle uygulamasının kaynak kodunu müşterileri ile paylaşmak istemeyen ve geçiş döneminde olan şirketleri çadırın dışında bırakıyor. Borland örneğinden gidelim. Kylix içerisinde Qt'nin 2.2 sürümü geliyor. Ama Kylix ile derlediğiniz uygulamaları 2.3 sürümü ile çalıştırmak isterseniz Trolltech'den gidip ayrıca lisans almak durumundasınız. Trolltech'den aldığınız Qt lisansı yalnızca kesin ve belirli bir Qt sürümü için geçerli, bir üst sürüm için güncelleme ücreti ödemelisiniz. Tabii ticari modelde bu durum beni rahatsız etmiyor ama, Qt'ye kıyasla çok daha açık ve katılımcı bir gelişim sürecine sahip (Barış Metin'in QString içerisindeki Türkçe sorununu çözen yamasını hatırlayın, Qt 4.0'a bile giremedi) üstelik lisansı da LGPL gibi daha esnek olan bir kütüphane varken, kim neden Qt'yi kullansın ki? 100 metrelik koşularda kullananlar var ama Nokia gibi el üstünde dünya turu yapılacaksa doğru yol bulunuyor. Nokia demişken, Python da kullanıyorlar. OpenOffice.org, Mozilla, RealNetworks ve Adobe doğru yolu çoktan buldu bile. Benden habersiz Gtk+/GNOME hakkında trolling yapmayın, alırım aklınızı Hazır KDE demişken biraz daha kusacağım. Görüyorum ki KDE4'ün bile yılda bir kez dokunulan, çoğu kullanıcının ilk açtığı gibi bıraktığı ayarları arayüzde kullanıcıdan gizlemek gibi bir niyeti yok, çöpler kirli kokular yaratmaya devam edecek. Uludağ projesi sayesinde KDE masaüstünün işi bilgisayar olmayan, bilgisayarı asıl işini yapmak için araç olarak kullanan insanlar arasında nasıl başarısız olacağını kendi gözlerimizle hep birlikte göreceğimizi düşünüyorum (burada Görkem ile ilgili bir yazı burada hiç olmadı, değil mi?). Tabii bu durum bana kalırsa Uludağ projesine alternatif ve GNOME tabanlı, muhtemelen Ubuntu'dan bozma ve öntanımlı olarak Türkçe başlayan bir dağıtımın türemesine zemin hazırlayacak, güç bölünecek. Kim bilir, belki Novell Türkiye bile eğlenceye katılır. Ne de olsa pasta yeterince büyük. Ayrıca bu var. Ek olarak, bence artık Uludağ projesinin yol değiştirmek gibi bir olanağı yok. Yatırımın önemli bölümü KDE üzerine, buraya kadar KDE ile gelip yola GNOME ile devam etmeleri akıl kârı olmaz, dolayısıyla hem tutarlılık açısından, hem de istikrar açısından kararlarını destekliyorum. Doğru olanı yapıyorlar ama bence araç yanlış. Görebildiğim kadarıyla zor yoldan, aracı düzeltmek yolundan gitmek durumundalar. Eh, Allah kolaylık versin. Tüm bunlara karşın, her fırsatta söylediğim gibi, Uludağ projesi kapsamında sürdürülen katma değerli projeleri takdir ediyorum. Dış katkıcılar için Debian'a benzer bir yapı kurmaya çabalamalarının yanı sıra, dağıtımın iskeletini oluşturacak COMAR, PISI, YALI gibi projeler muhtemelen "biz yaptık" demek için şart. İyi eğlenceler, --Enver, your favorite GNOME advocate who believes that any other desktop just stinks Wed, 08 Jun 2005Before: skyblue@xyzt:~$ time java TestCase
[08.06.05 10:00:31 default5(1)] @APP SERVER::STATUS:: [LOOKING UP URI: {//10.***.**.***:12015/TheT2}]
[08.06.05 10:00:31 default5(2)] @APP SERVER::STATUS:: [CONNECTED]
[08.06.05 10:00:31 default5(3)] @APP SERVER::EVENT:: [CORE OBTAINED:
{com.ng.***********************************[RemoteStub
[ref: [endpoint:[***********:12016](remote),objID:[f47bf5:***********:-8000, 69***8]]]]}]
Hey
class java.lang.String
Balance: 1000
Strange core for release
real 0m2.358s
user 0m0.680s
sys 0m0.060s
After: skyblue@xyzt:~/javaproxy$ time php4 test.php
Array
(
[StatusCode] => 100
[Data] => 1000,,Nick
)
real 0m0.252s
user 0m0.000s
sys 0m0.010s
I'm fairly happy with the result. No code guys, I don't think I'm allowed to publish that. My work of last night also fixed the 100% CPU usage issue which was damn obvious. Doh. Youngsters. Tue, 26 Apr 2005Sevgili bu metni okuyan tecrübeli PHP programcısı: lütfen bir gün yazdığın kodu okumak zorunda kalacak kardeşini düşün ve düzgün yaz.
Kendini Tao'nun lanetinden koru. Daha az kafein tüket, daha fazla kalsiyum al. |
About me
Calendar
Categories/ (364)
articles/ (1) books/ (7) coffee/ (1) debian/ (1) events/ (9) factsoflife/ (13) general/ (8) gnome/ (16) humor/ (21) lkd/ (8) management/ (1) mobile/ (2) mono/ (4) music/ (8) personal/ (36) politics/ (29) postgresql/ (4) programming/ (12) projects/ (2) quotes/ (1) technology/ (8) tips/ (7) travel/ (1) work/ (13) Archives2008-Nov
2008-Oct 2008-Aug 2008-Jul 2008-Jun 2008-May 2008-Apr 2008-Mar 2008-Feb 2007-Nov 2007-Oct 2007-Sep 2007-Aug 2007-Jul 2007-Jun 2007-May 2007-Apr 2007-Mar 2007-Feb 2007-Jan 2006-Dec 2006-Nov 2006-Oct 2006-Sep 2006-Aug 2006-Jul 2006-Jun 2006-May 2006-Mar 2006-Feb 2006-Jan 2005-Dec 2005-Nov 2005-Oct 2005-Sep 2005-Aug 2005-Jul 2005-Jun 2005-May 2005-Apr 2005-Mar 2005-Feb 2005-Jan 2004-Dec 2004-Nov 2004-Oct 2004-Sep 2004-Aug 2004-Jul LinksPopular
Talk slides
License![]() This work is licensed under a Creative Commons Attribution 2.5 License. MiscellaneousThis site is built on the wonders of Pyblosxom, supposed to be W3C XHTML 1.0 and CSS 1.0 compliant, always handcoded using Vim. The server that hosts this site is powered by Debian GNU/Linux..O.
..O OOO |
|||||||||||||||||||||||||||||||||||||||||||||||||||||