Tag Archives: inek

Hazırda veya Uyku sonra Blank Screen?

Tamam, Kısa cevap, daha fazla fiziksel bellek boyutundan daha için sanal bellek artırmak.

Uzun sürümü. Yeni, Ben hazırda bekleme veya uyku modundan düzgün uyanmak olmaz benim PC ile bu sorun vardı. PC kendisi ve çalkalama olurdu, ama ekran güç tasarrufu moduna geçmek istiyorsunuz, boş kalan. Bu noktada yapılacak tek şey bilgisayarınızı yeniden başlatmanız olacaktır.

Ben iyi netizen gibi, Ben bir çözüm için interneti trawled. Ama herhangi bulamadık. Bazı BIOS yükseltme önerdi, böylece grafik kartı ve değiştirilmesi. Sonra bu bir Linux grupta bahsedilen gördüm, takas dosyasının boyutunu fiziksel bellek daha fazla olması gerektiğini söyleyerek, ve benim Windows XP makinede denemeye karar verdi. Ve bu sorun çözüldü!

Yani uyandıktan sonra boş bir ekran bu konuya çözüm sistemde bellek daha büyük bir şey sanal bellek boyutunu ayarlamak için. Eğer daha fazla bilgiye ihtiyacınız varsa, burada nasıl, adım-adım bir şekilde. Bu talimatlar Windows XP makine için geçerlidir.

  1. Sağ-tıklayın “Bilgisayarım” ve vurmak “Özellikleri.”
  2. RAM boyutu bir göz atın, ve tıklayın “Gelişmiş” sekmesi.
  3. Tıklayın “Ayarı” altında düğmesi “Performans” grup kutusu.
  4. In “Performans Seçenekleri” çıkageldi pencere, seçin “Gelişmiş” sekmesi.
  5. In “Sanal Bellek” dibe yakın grup kutusu, tıklayın “Değişim” düğmesi.
  6. In “Sanal Bellek” açılır pencere, ayarlanan “Özel Boyut” RAM boyutundan daha fazla şey (adımda gördüğünü 2). Sen sahip herhangi bir sabit disk bölümünün ayarlayabilirsiniz, ancak tüm bu talimatları geçiyor eğer, şansı sadece var olan “C:”. Benim durumumda, Bunu koymak için seçtim “M:”.

Nesne Tabanlı Diller Magic

Nowhere nesne yönelimli dillerde daha belirgin paradigmaların hakimiyeti olan. Sadece bazı onların özelliklerini tanımlamak için kullandıkları kelime bakmak: polimorfizm, miras, sanal, özet, fazla yükleme — Normal hepsi (ya da normale yakın) Günlük sözler, ama onların literal anlamından oldukça uzak kavramları ve kavramlar anlamına. Henüz, ve burada ovmak olduğunu, bilgisayar bağlamında kendi anlamı zarif uygun görünüyor. Biz çok bu paradigmalar almış bir işareti mi? Belki. Sonunda, the “nesne” Nesne yönelimli programlama zaten soyut bir paradigma, ile ilgisi olan “Arzunun O Belirsiz Nesnesi,” Örneğin.

Biz soyutlama süreci tasarım desenleri biraz vahşi çalışan görüyorum. Bir desen kendisi bir ziyaretçi ya da bir fabrika çağırdığında, sessizce gasp şiirsel lisans vermek için bir geekily bağışlayıcı kalp alır. Tasarım desenleri, onlar bizim hassasiyetleri ile almak özgürlükler rağmen, Nesne yönelimli programlamaya muazzam güç eklemek, hangi zaten çok güçlü, Tüm polimorfizm gibi özellikleri yerleşik, miras, aşırı yükleme vb.

Sıralı programlama özel bir arka plan ile birine, nesne yönelimli dillerin tüm bu özellikler saf büyü gibi görünebilir. Ama özelliklerin çoğu gerçekten sıralı programlama eşdeğer varlıklar üzerindeki uzantıları veya varyasyonları. A sınıfı sadece bir yapıdır, ve hatta C gibi ilan edilebilir . Bir sınıfta bir yöntem eklediğinizde, Eğer derleyici gizlice ekstra argümanı ile küresel bir işlev eklemeyi olduğunu hayal edebilirsiniz (nesneye başvuru) ve benzersiz bir tanımlayıcı (demek, sınıf adının bir karma değer). Ayrıca fonksiyon isimleri fonksiyon imza bir karma değerini ekleyerek uygulanabilir polimorfik fonksiyonlar, ve küresel alanda koyarak.

nesne yönelimli metodoloji gerçek değeri iyi tasarım teşvik olduğunu. Ama iyi bir programlama disiplin bir nesne yönelimli dil sadece adaptasyon ötesinde, hangi benim ilk C dedi öğretmen neden, “Eğer gerçekten isterseniz C kötü Fortran yazabilirsiniz. Sadece bunu yapmak zor biraz çalışmak zorunda.”

Tüm sihirli güçler için, Nesne yönelimli programlama dilleri tüm bazı ortak zayıflıklar muzdarip. Bunların en önemli dezavantajlarından biri olduğu, aslında, Nesne yönelimli programlama temel tasarım özelliklerinden biri. Programcı tarafından belirlenen şekilde Nesneler verileri içeren hafıza konumları vardır (ve bilgisayar). Bellek yerleri nesnenin durumunu hatırlıyorum — tasarımdan. Bir nesne bir yöntem çağrıldığında ne yaptığını belirler nedir devlet. Yani nesne yönelimli yaklaşım doğal olarak durumsal, biz kabul eğer ne “devlet” Nesne yönelimli bağlamda anlamı.

Ama kullanıcı arayüzü, çeşitli adımlar idam edildiği dizisi üzerinde fazla kontrole sahip olmayan yerlerde, biz zaman içinde bir hangi noktada yürütülen alır ne adım bağlı durumsal programlama hatalı sonuçlar alabilirsiniz. Biz karmaşık durumlarda paralel bilgisayarlar ile çalışırken bu tür düşünceler özellikle önemlidir. Bu gibi durumlarda bir arzu özellik işlevleri onların argümanları dayalı sadece bir sayı döndürür olduğunu. Bu özellik, olarak adlandırılır “saflık,” en işlevsel dillerin temel tasarım hedefi, onların mimarlar çoğu kesinlikle olmadığını kabullenmek rağmen “saftır.”

Bölümler

Tüm Way paradigmalar

Paradigmalar bilgisayar neredeyse tüm yönleriyle nüfuz. Bu paradigmalar bazıları doğal. Örneğin, biz aslında bir JPEG veya MP3 dosyası ifade ederken bir görüntü veya bir şarkı hakkında konuşmak için doğal. Dosya zaten Windows sistemlerinde popüler dosya klasör paradigma gelişti bir soyutlama değildir. altta yatan nesneler veya akışları yeniden birler ve sıfırlar desenleri soyutlamalardır, transistör gerilim seviyelerini temsil eden, veya manyetik disk üzerinde devletleri dönmeye. Paradigmaların sonsuz bir hiyerarşi vardır. Bertrand Russell şaşırmış atasözü kaplumbağalar gibi (ya Samuel Johnson öyleydi?), aşağı tüm yol paradigmalar edilir.

Onlardan evrimleştiği terminoloji çekişiyor rağmen bazı paradigmalar plana soluk. Bilgisayar ağları için orijinal paradigma (ve Internet) bağlantıların bir örgü yukarıda gökyüzünde yaşayan oldu. Bu görüş daha fazla veya daha az bizim seviyesinde yere ikamet World Wide Web ile değiştirilir. Ama biz yine de söylediğimiz zaman orijinal bir paradigma kullanın “indir” veya “yükleyin.” Dünya Çapında Ağ, bu arada, Tüm web siteleri adına rakamlar kısaltması WWW tarafından temsil edilmektedir. Bu ne demektir daha söylemek için daha uzun sürer bizi sadece biri hakkında olmanın şüpheli ayrımı ile bir kısaltmadır. Ancak, Bizim konuya geri alma, paradigmalar yabancı sistemleri ve ortamlar ile etkileşimleri rehberlik güçlü ve kullanışlı araçlardır, Özellikle bilgisayarlarda, ile başlayan garip ve karmaşık hayvanlar hangisinin.

Bir temel bilgisayar işlemcisi aldatıcı basit. Bu kapıları bir dizedir. Bir kapı, bir anahtar olduğunu (az çok) transistör küçük bir grup oluşur. Bir 32 bit işlemci var 32 Bir dizideki anahtarları. Her anahtar bir sıfır temsil kapalı olabilir, ya da (bir). Ve bir işlemci sadece bir fonksiyonu yapabilir — kapıları başka dizinin içeriğini eklemek (Bir kayıt denir) kendisine. Başka bir deyişle, yapabilirse sadece “birikir.”

Bu son cümleyi yazarken, Ben zaten soyutlama süreci başladı. Yazdığım “içindekiler,” Bir kap tutma numarası olarak kayıt düşünme. Bu soyutlama çoklu seviyelerde gücü, her biri basit ve açıktır, ama ne olursa olsun üzerine inşa ondan önce gelir, Bu bir bilgisayar son derece güçlü kılar.

Biz soyut görebilirsiniz, soyutlanmış kavramının modülerleştirme ardından, bilgisayar her yönüyle, donanım ve yazılım hem de. Transistörlerin gruplari kapılarının diziler haline, ve işlemcilerin, kayıtları, önbellek ya da bellek. Birikimler (eklemeler) tüm aritmetik işlemler haline, dize manipülasyonlar, kullanıcı arayüzleri, resim ve video düzenleme ve böylece.

Moore Yasasının sonsuz yürüyüşünde yardımcıları bilgisayar bir başka özelliği (hangi bilgisayarların her güçlerini iki katına çıkacağını belirtiyor 18 ay) Her avans fazla gelişmeler yakıt gibi görünüyor olduğunu, patlayıcı büyüme üreten. İlk derleyici, Örneğin, ilkel assembler seviyesi dilinde yazılmış. İkinci bir nedenle ilk bir ve kullanılarak yazılmıştır. Hatta donanım geliştirme, bilgisayarlardan biri nesil nesil tasarımı araçlar haline, bir gelişme görünüşte amansız döngüsü stoking.

Donanım ve yazılım bu olumlu geribildirim iyi bir şey olsa, büyüme patlayıcı doğası yanlış yönlere bizi alabilir, Kredi piyasasında güçlü yetiştirilen gibi çok bankacılık çökmeler yol açtı 2008. Birçok bilgisayar uzmanları artık nesne yönelimli teknoloji overplayed olup olmadığını merak.

Bölümler

Sıfırlar ve Ones

Bilgisayarlar kendi infuriatingly literal itaat için kötü üne sahip. Ben hiç bir bilgisayar ile çalıştı emin herkes kendi payına ilişkin empati eksikliği genelinde geldi am — bu nokta bizim talimatları takip, henüz biz niyetinde ne tamamen farklı bir şey başarmak biter. Hepimiz sağduyu pahasına mantığı bu edebi bağlılık arka sonunda ısırıldı. Biz anlayış bizim eksikliği suçun en azından bazı özellik olabilir (evet, edebi ve tam bir anlayış) bilgisayar kullanılan paradigmaların.

Paradigmalar Zengin, bilgisayar alan düşündüğümüz şekilde güçlü bir etkiye sahiptir ve dünyayı. Bana inanmıyorsan, sadece yol bakmak bu günlerde şeyler öğrenmek. Şimdi bir şey öğreniyoruz, ya da biz sadece tarama ve arama yoluyla bilgilere erişmek için nasıl öğrenir? Hatta bizim aritmetik yetenekleri hesap ve hesap tabloları gelişine birlikte aşınmış. Ben Enrico Fermi gibi büyük beyinlerin efsaneleri hatırlıyorum, kim hurda kağıt birkaç parça yüzen ilk nükleer patlamanın güç çıkışını tahmin, Richard Feynman gibi, kim binom genişleme yaparak bir abaküs uzmanı yendi. Fermis ve çağımızın Feynmans kendi cep hesap çekerek olmayanlar stunts çekin mümkün olacağını merak ediyorum.

Usul programlama, matematiksel semboller ve desen onun yersiz yeniden kullanımı yoluyla, bizim bilgisayarlar ile etkileşim şeklini biçimlendirmiştir. gelişmiştir paradigma belirgin unmathematical olduğunu. Fonksiyonel programlama bir karşı saldırı temsil, Bir kampanya usul dillerin matematiksel canavarların zarar etkilerden geri aklımızı kazanmak için. Bu savaşın başarısı gücüyle ve momentum ziyade doğruya ve güzele daha bağlı olabilir. Ormanda bizim boyun, Bu deyimi, basit bir soruya çevirir: Fonksiyonel programlama yapacak yeterli geliştiriciler bulabilir? Ya da ucuz ve daha verimli usul sopa ve odaklı metodolojileri nesne için?

Bölümler

PHP yerel bir dosyaya bir dize kaydetmek nasıl?

Bu yazı benim inek serisinin ikinci biridir.

Benim Tema Tweaker programlarken, Ben bu sorun üzerinde geldi. Ben php programda benim sunucuda bir dize vardı (tweaked stil, aslında), ve ben kullanıcıya dosyaya kendi bilgisayarına kaydederek seçeneği vermek istedim. Ben bu ortak bir sorun olduğunu düşünürdü, ve tüm ortak sorunları google'da çözülebilir. Ancak, lo beğenirsin, Ben sadece bir tatmin edici bir çözüm bulamadı. Ben kendi buldum, ve ben burada paylaşmak istiyorum düşündüm, gelecekteki tüm Google'cuların yararına henüz gelmek ve gitmek.

Biz solüsyon içine gitmeden önce, en sorun anlayalım. Sorun iki bilgisayar arasındaki iş bölümü bulunmaktadır — Bir sunucu, nerede WordPress ve PHP çalışan; Diğer görüntüleme gerçekleşiyor müşterinin bilgisayar. Bahsettiğimiz dize sunucu üzerinde. Biz müşterinin bilgisayarda bir dosyaya kaydetmek istiyorum. Bunu yapmak için tek yolu bir html cevap olarak dize hizmet tarafından.

İlk bakışta, Bu önemli bir sorun gibi görünmüyor. Sonunda, sunucuları düzenli müşterilerine dizeleri ve veri göndermek — biz tarayıcıda bir şey görmek nasıl, Okuduğunuz ne dahil. Bu dize kurtarmak isteyen sadece herhangi bir PHP programı olsaydı, bir sorun olmaz. Sadece sunucudaki bir dosyaya dize dökümü ve dosyayı hizmet verebilir.

Eğer bütün dünyayı sunucunuzdaki dosyaları dizeleri damping bir yol vermek istemiyorsanız Ama ne yaparsınız? Iyi, Eğer böyle bir şey yapabileceğini:

<?php
header('Content-Disposition: attachment; filename="style.css"');
header("Content-Transfer-Encoding: ascii");
header('Expires: 0');
header('Pragma: no-cache');
print $stylestr ;
?>

Bu yüzden, sadece string $ stylestr hesaplar sizin foo.php bu kodu koyun ve bitirdiniz. Ama sorun biz WordPress eklentisi çerçevesinde çalışıyor olmasıdır, ve başlığı kullanamazsınız() aramalar. Bunu yapmaya çalıştığınızda, O başlık zaten ahbap yapılır söyleyerek hata mesajı alacaksınız. Bu problem için, Ben kullanmak eklentileri birinde dahiyane çözüm bulundu. Hangisi unuttum, ama yaygın bir tekniktir sanırım. Çözelti boş bir iFrame tanımlamak ve PHP işlevi yazarsınız ne kaynağını ayarlamak için. IFrame tam bir HTML kaynak bekliyor yana, Eğer izin verilir (aslında, Yükümlü) başlığını vermek() direktifler. Kod parçacığı gibi bir şey görünüyor:

<iframe id="saveCSS" src="about:blank" style="visibility:hidden;border:none;height:1em;width:1px;"></iframe>
<script type="text/javascript">
var fram = document.getElementById("saveCSS");
<?php echo 'fram.src = "' . $styleurl .'"' ;
?>

Şimdi soru, kaynak ne olmalıdır? Başka bir deyişle, $ styleurl ne? Açıkçası, sizin sunucu üzerinde statik bir dosya olacak değil. Ve bu yazının amacı, tüm sunucu üzerinde bir dosya olmak zorunda değildir göstermektir. Bu iki parçalı cevabı. Sen WordPress çerçevesinde çalıştıklarını hatırlamak zorunda, ve bağımsız php dosyalarını yapamaz. Yapabileceğiniz tek şey mevcut php dosyalarını argümanlar eklemek için, veya eklentileri oluşturduğunuz. İlk yapmak Yani aşağıdaki gibi bir Gönder düğmesi:

<form method="post" action="<?php echo $_SERVER["REQUEST_URI"]?>">
<div class="submit">
<input type="submit" name="saveCSS" title="Download the tweaked stylesheet to your computer" value="Download Stylesheet" />
</div>

Düğmenin adı nitelik olduğunu unutmayın “saveCSS.” Şimdi, kod parçası olduğunu başvurularını kolları, gibi bir şey yapmak:

<?php
if (isset($_POST['saveCSS']))
$styleurl = get_option('siteurl') . '/' . "/wp-admin/themes.php?page=theme-tweaker.php&save" ;

?>

Bu sizin iFrame kaynağı olarak verecek $ styleurl olduğunu, ileri. Sizin pluging sayfa URL olarak aynı olduğunu unutmayın, Eklemek başardı dışında “?kurtarmak” bunun sonunda. Bir sonraki Hile argüman yakalamak ve bunu işlemek için. Bunun için, Eğer WordPress API işlevini kullanın, add_action olarak:

<?php
if (isset($_GET['save'] ))
add_action('init', array(&$thmTwk, 'saveCSS'));
else
remove_action('init', array(&$thmTwk, 'saveCSS'));
?>

Bu eklenti init parçası bir işlev saveCSS ekler. Şimdi bu fonksiyonu tanımlamak zorunda:

<?php
function saveCSS() {
header('Content-Disposition: attachment; filename="style.css"');
header("Content-Transfer-Encoding: ascii");
header('Expires: 0');
header('Pragma: no-cache');
$stylestr = "Whatever string you want to save";
ob_start() ;
print $stylestr ;
ob_end_flush() ;
die() ;
}
?>

Şimdi neredeyse eve ücretsiz. Anlamak için tek şey senin olduğunu do kalıp gerekir(). İşlev ölmezse, sizin kurtarmak dosyasına WordPress oluşturulan şeyler kalanı dışarı kusmak,, sizin string $ stylestr onu ekleme.

Bu karmaşık görünebilir. Iyi, Ben biraz karmaşık sanırım, ama bunu uygulamak ve çalışan almak kez, yapabilirsiniz (ve do) unutun. En azından, Yapmam. Ben burada yayınlanmıştır yüzden, böylece bir dahaki sefere ihtiyacım bunu yapmak için, Ben o kadar bakabilirsiniz.

Geeks

Son zamanlarda geeky şeyler biraz yapıyor — yazı WordPress eklentileri. Tamam, Ben korkunç bir yazar blok acı çekiyorum çünkü o.

Anlıyorsun, Benim sonraki kitap üzerinde çalışıyor varsayılmaktadır ediyorum. Aptalca bir bölümden bir çift söz Kantitatif Geliştirme İlkeleri John Wiley benim devreye editörü & Bir ay içinde Sons; Şimdi kendimi o belâ bölümlerde dışındaki her şeyi yazma bulmak! Eklentileri dahil. Bunu düşünmek geliyor, Bu bölümlerde yazma daha az geeky olmaz, giderdi?

Bu beni merak yapılan… Hepimiz meraklılarının olarak başladı, biz yoktu? Bunu inkar faydası yok. Öğretmenlerimiz bizi sevdi nasıl Hatırla, ve seksi ponpon kızlar, iyi, vermedi? Daha sonra yaşam, nedeniyle koşullar gereklerine, bizim teknik okul halo kaybetmek ve bir yönetsel duruş taklit etmeye çalıştı olabilir. Ancak, panik bizim anlarında, bizim inek köklerine geri dönmek. En azından, Yapmam.

Sen değil bence? Iyi, Bu inek şakalar kontrol. Onları komik bulursanız, şansını kökleri benimkinden çok farklı değildir vardır.

Heisenberg O hız için kenara çekip edildi otoyolda sürüş oldu. subay diyor, “Eğer nasıl gittiğini hızlı biliyor musunuz?” Heisenberg diyor, “Yapamaz, ama ben nerede olduğumu biliyor musun!”

Iki hidrojen atomu Bir bara yürümek. Bir diyor, “Ben elektron kaybettim!” Diğer diyor, “Emin misiniz?” İlk yanıt, “Evet, Ben eminim…”

Geek Pickup Hatları:

  • Aramayı insanlarda bu şey söyle [dramatik duraklama] aşk.
  • Şimdi beni açarsanız, Muhtemelen hayal edebileceğinden çok daha daha sarhoş olacak.
  • Ben bir doktor değilim çünkü bana Bones demiyorlar.
  • Adınız Leslie olduğunu? Bakın, Benim hesap makinesi Adını yazım olabilir!
  • Eğer böyle pislik ve kötülük bir sefil kovanda yapıyor gibi güzel bir kız nedir?
  • Windows olmalısın 95 Bana bu kadar kararsız var çünkü.
  • Benim 'up-zaman’ BSD daha iyidir.
  • Ben bazı şirket arıyorsanız sizin ifade söyleyebilirim.
  • Cebinizde bir iPod mini beni görmek için sadece mutlu ya mı.
  • Benim Red Hat görmek ister?
  • Eğer izin vermezse sana bir içki satın, en azından bana dizüstü düzeltmek izin.
  • Sen beni vardı “Selam Dünya.”
  • Senin portların açık olup olmadığını görmek için bir algılayıcı çalıştırırsanız Zihin?
  • Sen benim Tivo yükseltmek istiyorum yapmak.
  • Size bakarak ben sen söyleyebilirim 36-25-36, bu arada tüm mükemmel kareler vardır.
  • Jedi Mind Trick: “Bu aradığınız geek olduğunu.” [Dalgalar el]
  • Sen benim Sabit Sürücü her zaman bir Trojan koyabilirsiniz.
  • Hiç kendinizi Googled mı?
  • Nasıl biz biraz peer-to-peer tükürük takas yapmak hakkında?
  • Benim IQ ve vücudunuzun biz toprak fethetmek için genetik superchildren bir yarış başlayabilir.
  • What’s a girl like you doing in a place like this when there’s a Farscape marathon on right now on the Sci Fi channel.
  • I’m attracted to you so strongly, scientists will have to develop a fifth fundamental force.

What Makes 100%?

What does it mean to give MORE than 100%? Ever wonder about those people who say they are giving more than 100%? We have all been to those meetings where someone wants you to give over 100%. How about achieving 103%? What makes up 100% in life? Here’s a little mathematical formula that might help you answer these questions:

Eğer:

A B C D E F G H I J K L M N O P Q R S T U V W X Y Z are represented as:

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26

then H-A-R-D-W-O-R-K = 8+1+18+4+23+15+18+11 = 98%

and K-N-O-W-L-E-D-G-E = 11+14+15+23+12+5+4+7+5 = 96%

but A-T-T-I-T-U-D-E = 1+20+20+9+20+21+4+5 = 100%

and B-U-L-L-S-H-I-T = 2+21+12+12+19+8+9+20 = 103%

but look how far ass kissing will take you.

A-S-S-K-I-S-S-I-N-G = 1+19+19+11+9+19+19+9+14+7 = 118%

Bu yüzden, one can conclude with mathematical certainty that While Hard work and Knowledge will get you close, and Attitude will get you there, it’s the Bullshit and Ass kissing that will put you over the top.

Toplantı Bingo Oyunu

This one is a hilarious piece I found on the Web. If you really like it, Eğer merak var — am I still doing too much techie stuff and too little management?

Ever been in a mind-numbing meeting with some MBA-type spewing forth a sequence of buzzwords he read on the back of a Business Careers for Dummies book? Print this out and when you get 7 horizontal, vertical or diagonal, shout BINGO!

& Nbsp;

Synergy Offline Strategic Fit Interface Gap Analysis Best Practice The Bottom Line
Core Business Going Forward Touch Base Revisit Game Plan Learning Curve Revert Urgently
Out of the Loop Go the Extra Mile Benchmark The Big Picture Value Added Movers and Shakers Ballpark
Proactive, not Reactive Win-Win Situation Think Outside the Box Fast Track Results Driven Empowerment Define and Sign Off
Partner Led Business Case Change Management At the End of the Day Local Feedback Ticks in the Boxes Mindset
Knock-On Effect Put this to Bed Client-Focused Quality Driven Move the Goal Posts Process Improvement Bandwidth
Facilitate Knowledge Base Downsize Rocket Science Skill Set Customer Focused Ramp Up

(This joke was found at the E-posta Flotsam page at Mike’s World)