Türkiyede oturup RSS yayınını GMT üstünde yayınlamış kişilerin rss kayıtlarını Türkiye saatine eşitlerken lazım oldu…

function convert_to_turkish_time( $date )
{
/**
* Tarih ve Saatten tarih veya saat çıkartır veya ekler
*/
return date('Y-m-d H:i:s', strtotime('-3 hour',strtotime($date)));
}

MySQL ah MySQL; PhpMyAdmin ile işlerimi yapmaya o kadar kötü alışmışım ki şu kadarcık kodu arayıp bulmam gerekti

CREATE TABLE tuval_content_backup LIKE tuval_content; 
INSERT tuval_content_backup SELECT * FROM tuval_content;

Kaynak: https://stackoverflow.com/questions/2415855/copy-a-mysql-table-including-indexes/2415879#2415879

Ek alan eklenip, tek tek uğraşmak istemeyince.

SELECT team_name FROM tuval_team FOR UPDATE;
UPDATE tuval_team SET team_name_sort = team_name;

varolan bir datadan insert üretirken

INSERT INTO tuval_lig_rel (lig_id, team_id)
SELECT 6, team_id FROM tuval_team WHERE team_lig = 6;

	define('TUVAL', '1');
	require 'app/lib/init.php';
	
	ini_set('max_execution_time', 0); // unlimited execution time, because of large amount of comments
	ini_set('memory_limit', '2048M');

	$file = 'disqus.xml';
	$doc = new DOMDocument();
	$doc->load($file);

	$thread_list = array();
	$threads = $doc->getElementsByTagName('thread');
	
	foreach($threads as $thread)
	{
		if (!isset($thread->getElementsByTagName('link')->item(0)->textContent)) continue;

		$comment = array();
		$comment['thread_id'] = $thread->getAttribute('dsq:id');
		$comment['url'] = $thread->getElementsByTagName('link')->item(0)->textContent;
		$path = parse_url($comment['url'], PHP_URL_PATH);
		$path = preg_replace("/(/){2,}/", "/", $path); // remove multiple slashes
		$thread_list[$comment['thread_id']] = $comment; 
	}
	
	$post_list = array();
	$posts = $doc->getElementsByTagName('post');

	foreach($posts as $post) 
	{
		$comment = array();
		$comment['comment_id'] = $post->getAttribute('dsq:id');
		$comment['thread_id'] = $post->getElementsByTagName('thread')->item(0)->getAttribute('dsq:id');
		$comment['comment'] = $post->getElementsByTagName('message')->item(0)->nodeValue;
		$comment['created_at'] = $post->getElementsByTagName('createdAt')->item(0)->nodeValue;
		$comment['email'] = $post->getElementsByTagName('author')->item(0)->getElementsByTagName('email')->item(0)->nodeValue;
		$comment['name'] = $post->getElementsByTagName('author')->item(0)->getElementsByTagName('name')->item(0)->nodeValue;
		$comment['isDeleted'] = $post->getElementsByTagName('isDeleted')->item(0)->nodeValue;
		$comment['ipAddress'] = $post->getElementsByTagName('ipAddress')->item(0)->nodeValue;
		$comment['url'] = $thread_list[$comment['thread_id']]['url'];
		
		print_r($comment);
		
		$record = array(
			'comment_content'		=> 1,
			'comment_author'		=> $comment['name'],
			'comment_email'			=> $comment['email'],
			'comment_text'			=> n2br($comment['comment']),
			'comment_ip'			=> $comment['ipAddress'],
			'create_time'			=> $comment['created_at'],
			'comment_status'		=> 2,
			'isDeleted'				=> $comment['isDeleted'],
			'comment_url'			=> $comment['url'],
		);
		
		$rs = $conn->AutoExecute(T_COMMENTS, $record, 'INSERT');
		if($rs == false)
		{
			throw new Exception($conn->ErrorMsg());
		}		
		
		//döngü ile burdaki dataları veritabanına alacağız
	}

PHP de Memcache veya Memcached modülünü aktif ettim; lakin “PHP Can’t find save handler memcache” gibi bir hata alıyordum.

İncelerken şöyle bir hata yaptığımı anladım;

;session.save_path = "/tmp"

değeri yeni tanımladığım satırlardan sonrasında yer alıyordu; onu biraz yukarıya aldım ve düzeldi…

; Handler used to store/retrieve data.
;oturumları yeniden files olarak tutmak için alttaki iki satırı aktif ediniz
;session.save_handler = files
;session.save_path = "/tmp"

;oturumları memcache üstünde tutmak için şu şekilde ayarlıyoruz
session.save_handler = memcache
session.save_path = "127.0.0.1:11211"

Bu sayede php’nin oturumlarını da Memcache üzerine almış olduk.

Web sitelerinin sadece veritabanı (mariadb/mysql) ve scripting (php) kısmında yer aldığım için css kodlarına fazla müdahale etmem gerekmiyor… Lakin öğrenmenin yaşı ve zamanı yok; her gün yeni bir şeyler öğreniyoruz lakin paylaşılmamış bir öğrenme sadece kendi heybemize çalışan bir öğrenme oluyor.

Küçük bir css değişikliği ile internet sayfalarımızı çevre dostu yazıcı çıktısı üretir hale getirebiliriz. Bahsedeceğim teknik gizli saklı bir sır değil; css’in varolan yeteneklerinden birisi.

CSS ile çeşitli cihaz boyutları için (telefon, tablet) responsive/esnek tasarım yapma imkanı bulunduğu gibi yazıcı görüntüsü için de css’ler ile çeşitli alanları yeniden düzenlemek mümkün oluyor.

Örnek olarak, normal bir css’imizi media=”screen” şekilde çağırıyorken

link rel="stylesheet" href="style.css" media="screen"/

Yazıcı görünümünde alttaki gibi media=”print” diyerek çağırıyoruz

link rel="stylesheet" href="print.css" media="print"/

Sayfamızda da şu şekilde bir css bulunsun

header, 
footer, 
img
{
	display:none;
}
article
{
	font-size:11pt;
	font-family:sans-serif;
}

Alternatif yöntem olarak css dosyamız içinde şu şekilde media print diyerek de tanılmalama yapabiliyoruz

@media print {
..... my css
}

Test etmek için benim kullandığım yöntem, firefox’un araç çubuğundaki dosya -> yazdırma ön izlemesi yolunu kullanmaktan ibaret.

Sonuç, daha okunur bir metin çıktısı, daha az ağaç israfı…

Kodlama yaparken KDE bileşenlerinden KATE editörünü kullanıyorum. Ne zaman kurallı ifadalere işim düşse, hep karıştırıyorum. Ufak notlarımı şuraya alayım da, lazım oldukça bakarım… (muhtemelen 20 defa baktım)

Aranan / dönüştürdüğüm

yazi_([0-9]+)-(.*)
yazi_1
label for="(.*)"
null

Forum yazılarındaki url bbcodelarını temizlemke için

[url=(.*)]
null

Malum bir elin nesi var meselesi.

Bir el sağlam işler yapabilir. Sağlam bir yumruk atabilir M. Ali gibi? Sağlam bir parmak gösterebilir Linus Torwalds. Sağlam bir tokat atabilir Kadir İnanır gibi! Lakin iki el, ikibin el iki yüzbin el neler yapabilir?

Özel Sektör ve Kamu Sektöründe birçok yatırımın tekrar tekrar yapıldığını gözlemleyebilirsiniz. Dubai’de bir deniz botu ihalesine 12 firmanın teklif vermesi, lakin teklif veren 7 firmanın Türk olması garabetini zenginlik olarak malesef yorumlayamıyorum.

Birçok sanayi kuruluşumuz sadece yerel ölçekte üretim yapmakta ve sadece birbiri ile didişmek ile meşgul görünüyor. Aynı işi yapan birçok özel sektör firması olması doğal, lakin kamu’nun aynı işi yapan 40 şirketi olması da bir garip durum.

Bu anlamda işbirliği, sanayi derinliği, üretim çeşitliliği ve rekabet gibi hiç anlamadığım kavramlar ortaya çıkıyor. Ne kamu yönetimi ne de işletme, maliye gibi Türkiye’de meşhur bir alanda eğitim görmedim! İlahiyat fakültesinde başlayan eğitim hayatım Bilgisayar Programcılığı ile sonuçlandı 🙂

Aynı işi yapan firmalar’ın ortak bir çatı altında bulunmasına Rus kardeşlerimiz çok güzel bir örnek ortaya koymuşlar. Yerli savunma sanayi kuruluşları için bir Savunma Sanayi Holding gibi bir üstçatı kurulması konusunda Savunma Sanayi Müsteşarlığı’nın çalışmaları olduğu “blogdan dolma” olarak dillendiriliyor.

Aynı alanda faaliyet gösteren, hatta aynı işi yapan birçok firmamız olmasına rağmen bütün raylı sistem ihalelerini yabancı kuruluşlara gitmesi de bize mahsus bir durum galiba.

Tramvay Alanında
* Ulaşım AŞ‘nin ilk Yerli Tramvay RTE 2000‘i ardından RTE 2009‘u ürettiğini biliyoruz.
* Bursa’da Durmazlar firmasının İpekBöceği isminde bir ürünü olduğunu biliyoruz.
* Tülomsaş: Türkiye Lokomotiif Sanayi AŞ’nin lokomotif çalışmaları bulunuyor.
* Tüvasaş: Türkiye Vagon Sanayi AŞ’nin vagon üretimi ve ilgili teknolojileri bulunuyor.
* Tüdemsaş: Türkiye Demiryolu Makineleri AŞ’nin demiryolu sistemleri ile ilgili çalışmaları bulunuyor.

Tramvay üreten firmaların Otobüs Karoseri üreten firmalar ile yakın ilişkileri var. Mühendislik ve üretim alanlarında ortak çalışabilecekleri alanlar bulunuyor.

Consoludate Please Diyorum.

Not: Bu yazı Temmuz 2013’de hazırlanmıştır ve hiç yayınlanacak standartta görülmemiştir. Şu haber vesilesiyle yayına almayı uygun gördüm.

Kimse bir tankı 700KM yürütmez! Bir tank bu kadar uzun bir mesafe gidecekse Tank Taşıyıcı’lara yüklenir ve taşınır!

Emrimiz altında, bilgisayarımıza kurulu ekran kartları boşta yatarken tüm işlemi CPU’ya hapsetmek de bir tankı 700KM yürütmekten farksız. GPU’ların yüksek işlem gücünden LibreOffice altında yararlanmak için ise NVidia veya AMD gibi GPU/APU üreticileri ile işbirliği kaçınılmaz görünüyor…
Okumaya devam et

LibreOffice 4.0 sürümüne merhaba yazısı yazmak için ne zaman bilgisayar başına geçsem kendimi Dünya ile Mars arasında bir yerlerde konumlanmış olarak buluyorum.

Dünkü maceram, StarOffice Wiki Maddesindeki

The German company StarDivision in Lüneburg (founded by 16-year-old Marco Börries in 1984) wrote the original components of StarOffice

Cümlesinden sonra “yok daha neler” diyerek ilerlemeye başlamıştı zaten.

StarOffice’in Orjinal Bileşenleri Alman StarDivision firması tarafından yazılmış. Firma, 1948 yılında, henüz 16 yaşında olan Marco Börries tarafından kurulmuş. Yaş önemli değildi, lakin sonrasında kendimi OpenOffice çatallamaları, kayıp RedOffice’in peşinden sürüklendiğim bir Çin sitesinde NeoShine Office 6.0 sürümünü indirmeye çalışırken son buldum (11 Şubat 2013)

O günden sonra bu yazıya bir daha dönemedim.

Şu an Tayland’dayım ve millet’in Songkran festivalinden dolayı dışarı çıkmaya çekiniyorum. Zaten neredeyse tüm dükkanlar (7elevens = BİM hariç) kapalı olunca çıkmanın da bir faydası yok.

Yağmurun altında terleten bu havada Emel Sayın doğru olanı söylüyor