Wednesday, June 30, 2010

Mailing Dili ve Edebiyatı

Web sayfası tasarımının raconlarından birisi, kullanımı kolaylaştırmak ve her türlü kullanıcıya destek verebilmek adına resimlere (imajlara, görsellere her neyse) yazı ile açıklama ve isim eklemektir. Görseller herhangi bir sebeple yüklenmediğinde, html kodu içinde alt="" özelliği ile o imaj yerinde alternatif bir yazı görüntülenir.

Bu sadece web sitelerinde değil, mailing (bülten, pazarlama amaçlı giden şeylerin geneline böyle denebilir sanırım) için de geçerlidir.

Güzel bir kullanımı şurada görüntülenebilir:
Şu 1:
Şu 2:

Şimdi buraya kadar her şey güzel, teoride tamam. Ama pratikte üşengeç tasarımcılar "her imaja bir alt metni yazılacak, peki" diyerek hepsine aynı şeyi yazıyor. Sevmiyorum böyle olmasını.

Bu da kötü bir kullanım örneği:

Şu 1:
Şu 2:

Şekil 1'de görüldüğü gibi, her yerde aynı şey yazıyor. Nereden baksan 50 tane "Dünya Startlarını İstediğin Yerde Sınırsız Dinle!" metni var. tag'iydi, attribute'uydu, tırnağıydı derken 70 char ediyor bu metnin tanesini yazmak ve tüm postada toplam 3000 byte israf. Bu mailden 20 milyon tane gitmiş olsa yaklaşık 60 GigaByte bandwidth eder (yanlış hesaplamadım umarım). Yani diyorum ki böyle yapılmasa daha güzel olur di mi Benjamin?

Monday, June 28, 2010

Desert Power

There is a promising foundation named "Desertec" aimed at using the potential of deserts to provide solar power. Clean and renewable energy is good you know. The foundation has a good kickoff anyway,
Within 6 hours deserts receive more energy from the sun than humankind consumes within a year.

- Dr. Gerhard Knies

The project is promising because it was planned to be finished in 10 years but they say in 5 years, there will be ready and deployed collectors pumping electricity to Europe.

Link: http://www.desertec.org/en/foundation/



As I saw about the project from a blog post, one of the commentators wrote this,
Wow - is it me, or is this one of the few times you ever here of a government being ahead of schedule on a major renewable energy project. very impressive.


Yeap, in deed. By the way, "desert power" word reminds me of the adorable song "diesel power" by The Prodigy.

Intel Says: GPUs Are Only Up To 14 Times Faster than CPUs

The NVIDIA Blog (official one) had a nice post, titled like this last week.

Source:
1. http://hothardware.com/News/Intel-NVIDIA-Slug-It-Out-Over-CPU-vs-GPU-Performance/
2. http://blogs.nvidia.com/ntersect/2010/06/gpus-are-only-up-to-14-times-faster-than-cpus-says-intel.html

Thursday, June 17, 2010

Windows XP & 2003 Exploit Found by Google Worker

Tavis Ormandy, a security engineer working for Google has discovered an important flow in Windows XP & 2003 systems; which is based on hcp links. When an hcp link is called from a browser, it opens Help and Support Center otomatically. Also from command prompt the service is accessable;

C:\> ver
Microsoft Windows XP [Version 5.1.2600]
C:\> c:\windows\pchealth\helpctr\binaries\helpctr.exe -url "hcp://system/sysinfo/sysinfomain.htm"
C:\>

This invokes Help and Support Center and the application is capable of opening web sites within itself. The system is safe actually, because only allowed (marked as safe) sites are reached but a simple XSS can exploit this feature.

This seems to be a -yet another- normal and usual security breach within Windows but it is found by a Google worker (which makes the deal interesting). The guy informed Microsoft by 5th of June and after 5 days, he released the details of the bug to public and hackers made use of it as soon as it is released. Everyone is flaming Tavis Ormandy about the issue now, seems like we will hear more about this upcoming days.

PoC: http://seclists.org/fulldisclosure/2010/Jun/205
News: http://it.slashdot.org/firehose.pl?op=view&type=story&sid=10/06/16/0021225

Wednesday, June 16, 2010

Oracle Weblogic'i Regional Settings en-US Yapmadan Çalıştırmak

Oracle Weblogic Server Türkçe/Türkiye ortamında çalışmamak konusunda oldukça inatçı. Weblogic'i localda çalıştırırken Dil/ülke ayarları sebebiyle benim yaşadığım sıkıntıları yaşayan varsa aşağıdakilerin yardımı olabilir.

Regional Settings'i en-US yapmadan weblogic'i localda çalıştırmak için;
(localinizdeki weblogic'in adının base_domain olduğunu varsayıyorum)
D:\oracle\Middleware\user_projects\domains\base_domain\bin\setDomainEnv.cmd


Dosyasını açın orada JAVA_PROPERTIES tanımını bulun.
set JAVA_PROPERTIES=-Dplatform.home=%WL_HOME% -Dwls.home=%WLS_HOME% -Dweblogic.home=%WLS_HOME%


Bende bu şekilde. Sonra onun sonuna "-Duser.language=en -Duser.region=US" parametrelerini ekleyin; yani şu hale gelecek;
set JAVA_PROPERTIES=-Dplatform.home=%WL_HOME% -Dwls.home=%WLS_HOME% -Dweblogic.home=%WLS_HOME% -Duser.language=en -Duser.region=US

Böylece java çalıştırılırken Windows'tan Regional Settings çekilmiyormuş.

Bir de Weblogic galiba default olarak 4 threade izin veriyor. Bu yüzden BEA-000402 (There are: 5 active sockets, but the maximum number of socket reader threads allowed by the configuration is: 4. You may want to alter your configuration.) hatası ile karşılaşılması olası. Bunu engellemek, yani max thread sayısını yükseltmek için ayar satırına aşağıdakileri ekleyin:
 -XX:NewSizeThreadIncrease=100 -Dweblogic.ThreadPoolPercentSocketReaders=50 -Dweblogic.ThreadPoolSize=100 -Dweblogic.SelfTuningThreadPoolSizeMin=100


NetBeans veya Eclipse gibi bir IDE kullanıyorsanız ve Weblogic'inizde debug yapmak istiyorsanız, aynı satırın sonuna aşağıdakileri ekleyin. JPDA ayarları için bunu yaparsanız IDE'niz Weblogic'inizle haberleşebilir. Sadece Weblogic için değil, herhangi bir Java EE uygulama sunucusuna bu ayarı ekleyebilirsiniz.
 -Xdebug -Xnoagent -Xrunjdwp:transport=dt_socket,address=8787,server=y,suspend=n


Sunucu çıktı dosyalarını da değiştirmek için de, "WLS_REDIRECT_LOG" yazan satırı bulun, onun yukarısına aşağısına bir şeyler ekleyip şu hale getirin:
@REM START WEBLOGIC


echo starting weblogic with Java version:

%JAVA_HOME%\bin\java %JAVA_VM% -version
For /f "tokens=2-4 delims=/ " %%a in ('date /t') do (set mydate=%%c%%a%%b)
For /f "tokens=1-2 delims=/:" %%a in ("%TIME%") do (set mytime=%%a%%b)
if "%WLS_REDIRECT_LOG%"=="" (
echo Starting WLS with line:
echo %JAVA_HOME%\bin\java %JAVA_VM% %MEM_ARGS% -Dweblogic.Name=%SERVER_NAME% -Djava.security.policy=%WL_HOME%\server\lib\weblogic.policy %JAVA_OPTIONS% %PROXY_SETTINGS% %SERVER_CLASS% >d:\var\log\weblogic\weblogic.%mydate%_%mytime%.out.txt 2>d:\var\log\weblogic\weblogic.%mydate%_%mytime%.err.txt
%JAVA_HOME%\bin\java %JAVA_VM% %MEM_ARGS% -Dweblogic.Name=%SERVER_NAME% -Djava.security.policy=%WL_HOME%\server\lib\weblogic.policy %JAVA_OPTIONS% %PROXY_SETTINGS% %SERVER_CLASS% >d:\var\log\weblogic\weblogic.%mydate%_%mytime%.out.txt 2>d:\var\log\weblogic\weblogic.%mydate%_%mytime%.err.txt
) else (
echo Redirecting output from WLS window to %WLS_REDIRECT_LOG%
%JAVA_HOME%\bin\java %JAVA_VM% %MEM_ARGS% -Dweblogic.Name=%SERVER_NAME% -Djava.security.policy=%WL_HOME%\server\lib\weblogic.policy %JAVA_OPTIONS% %PROXY_SETTINGS% %SERVER_CLASS% >"%WLS_REDIRECT_LOG%" 2>&1
)





NetBeans için benzeri sıkıntı yaşarsanız,
D:\Program Files\NetBeans 6.7.1\etc\netbeans.conf


Dosyasında netbeans_default_options satırını bulun ve sonuna " --locale en:US" ekleyin. Ek olarak oluşturulacak tüm yeni dosyaların utf-8 olarak tanımlanması için de " -J-Dfile.encoding=UTF-8" değerini ekleyebilirsiniz.
netbeans_default_options="-J-client -J-Xss2m -J-Xms32m -J-XX:PermSize=32m -J-XX:MaxPermSize=200m -J-Xverify:none -J-Dapple.laf.useScreenMenuBar=true -J-Dsun.java2d.noddraw=true -J-Dfile.encoding=UTF-8 --locale en:US"






JBoss AS için benzeri sıkıntı yaşarsanız,
D:\jboss\bin\run.conf.bat


Dosyasında Java ayarlarının yapıldığı satırları bulup, araya bir yere şunu ekleyin;

set "JAVA_OPTS=%JAVA_OPTS% -Duser.language=en -Duser.region=US -Dfile.encoding=utf8"

Bunu yapmazsanız JBoss Admin Console "testplatform" diye açılıyor ve hiçbir şeyi değiştirmeye izin vermiyor. Ben bu testplatform sorununu bu şekilde çözdüm.

Umarım sizin de işinize yarar :3


Sunday, June 13, 2010

The Sandman

Ahmet Ağabey'imi saygı ile anıyorum. Beni 2003 yılında Sandman ile tanıştırmıştı. Getirdiği bir valiz dolusu çizgi roman arasında neler yoktu ki; Spawn, X-Men, Batman, Superman, Sandman... Hepsinin yeri ayrı tabi, milyonlarca hayranı olan, yıllarca devam eden, kalitesini kanıtlamış seriler hepsi. Ama Sandman'in yeri farklı. Dünya bir yana, o bir yana. Etkileyici çizimleri, konuşma balonlarının yeri, nerede durulacağını, nerede devam edileceğini sürükleyicilikten hiçbir şey kaybetmeden öyle güzel yapmışlar ki. Okuyucuya bütün bir sayfayı göstermek, en kenardaki yaratığın kulağındaki bile fark etmeni sağlayacak şekilde sahneyi yaşatmak harika.

Çizgi roman eserlerin güzelliği de bu. Asla motion picture'da olmayacak bir özellik ve derinlik bu.

Friday, June 11, 2010

toProperCase

A simple recursive function to produce proper case outputs. This method simply takes input like "REAL MADRID" and returns "Real Madrid".


public static String toProperCase(String name) {
if (name.length() == 0) {
return "";
}
if (name.contains(" ")) {//multi worded input
String[] names = name.split(" ");
name = "";
for(int i=0; i<names.length;i++){
name = name + toProperCase(names[i]) + " ";//adds blank between each word
}
return name.substring(0,name.length()-1);//deleted blank in the end
} else {
return name.substring(0, 1).toUpperCase() + name.substring(1).toLowerCase(Locale.ENGLISH);
}
}