Tuesday, December 24, 2013

PEPEÇURA - Kara Üzüm Muhallebisi


Pepeçura'nın en son hali
Bugüne kadar internet sayesinde farklı şehirlerde (taşınmaktan dolayı) geride bıraktığım bir çok çocukluk arkadaşıma ulaşabilmiş ve her birinde de farklı heyecanlar yaşamıştım. Geçenlerde çocukluk arkadaşlarını bulmanın heyecanını arattırmayan bir başka olay daha yaşadım. Bu olayın kahramanı ise Karadeniz bölgesi dışında çok da bilinmeyen kara üzümden yapılan Pepeçura muhallebisiydi. İnternette gezerken şans eseri  karşıma çıkınca bir anda çocukluk yıllarıma geri döndürdü beni. Çocukken neredeyse her yaz Çengelköy'e Anneannemlere giderdik, hem o hem de etrafdaki diğer Laz akrabaların etkisiyle sanki "Little Arhavi"ye gitmiş gibi olurduk. Etrafımızda bu kadar çok Laz'ın olması sayesinde Laz mutfağından farklı yiyecekleri tadma imkanimiz olurdu (Bunlardan en önemlilerinden olan Kapça Mçkudi yani Hamsili Pilavı burada daha önce anlatmıştım). İşte Pepeçura'yı da arada sırada Anneannem bizler için yapardı. Kendine özgü bordo rengi ile ister istemez Trabzonspor'u (ve doğal uzantısı olarak hamsiyi) hatırlatan bu muhallebinin önce kokusu sonra da tadı insanı kendisine bağlardı. Tabi o zaman çocukluktan ötürü, bu nedir, nasıl yapılır gibi sorularla ilgilenmez, sadece tüketmeye odaklanırdık. Zamanla Anneannem de yapmaz olunca, etrafta baska yapan da olmayinca, yavaş yavaş unuttuk gitti bu muhallebiyi. Ta ki tekrar resmini internette görene kadar. Sanki eski bir çocukluk arkadaşımı daha bulmuş gibi sevindim. Ama ufak bir sorun vardı, sadece resmini görmek yetmiyor, bir kere daha tadına bakmak gerekiyordu. Eşime, çocuklarıma, arkadaşlarıma bakın böyle bir muhteşem bir tad var demek istiyordum.


Madem Anneannemden binlerce kilometre uzaktaydım, bu muhallebiyi kendim yapmak dışında bir seçeneğim yoktu. Eşimin de yardımıyla internette kısa bir araştırma sonucu çeşitli tariflerine ulaştık. Okuduğumuz tarifleri burada elimizdeki malzemelere göre ayarlayıp yapmaya başladık. Sonuç olarak bence (en azından aklımda kaldığı kadarıyla) hem tad hem de görüntü olarak çok iyi bir sonuç çıkardık. Hem kendi arşivim, hem çocuklarım hem de meraklıları için bizim deneyip iyi sonuç verdiğini düşündüğümüz tarifi burada paylaşmak istiyorum. 
Muhallebinin adı Lazca'da Pepeçura olarak geçiyor. Bazı sitelerde kara üzüm hatta Karadeniz üzümü muhallebisi olarak da geçiyor. İsminden de anlaşılacağı gibi malzeme olarak öncelikle kokulu kara üzüm gerekiyor. Türkiye piyasasında Karadeniz üzümü olarak satılıp satılmadığından emin değilim. Burada ise marketlerde sıkça bulunan kırmızı California ya da Şili üzümleri en iyi seçenekler. Biz  bu sefer için 3 poundluk (yaklaşık 1.5 kilo)  paketlerde satılan California üzümü kullandık. Üzümleri yıkadıktan sonra bir bardak su ile birlikte kaynatmak gerekiyor. İlk kaynamada üzümler üstteki resimde görüldüğü gibi suya renklerini veriyorlar. Daha sonra bu kaynamış üzümleri blender veya mikserden geçirmek lazım. Üzümlerin çekirdeksiz olması bu aşamada önemli. Blender sonrası oluşan karışım yandaki resimdeki gibi görünüyor. Oluşan karışımı ayrıca süzgeçten geçirip posası azaltılabilir. Ama bence posanın kalması hem miktarı artırma açısından hem üzümdeki fiberleri koruma açısından hem de gereksiz israf olmaması açısından daha iyi olacaktır. Bundan sonraki aşama karışımı mısır unu ile karıştırmak. Burada Meksika ürünlerini satan reyonlarda mısır unu bulmak mümkün. Bizde daha önceden alınmış mısır nişastası olduğu için onu kullandık. Yaklaşık 3 yemek kaşığı nişastayı aşağıdaki resimlerdeki gibi koyup karıştırdıktan sonra kaynamasını bekliyoruz. Zaten bu karıştırma işlemi bildiğiniz gibi muhallebi ve çorba gibi yemekler için olmazsa olmaz şartlardan. Kaynama başlar başlamaz ateşten kaldırıp servis kaselerine koyup soğumalarını beklememiz gerekiyor. İsteğe bağlı olarak üzerine hindistan cevizi ve üzüm taneleri koyulabilir. Bir başka sefere sarı üzüm ve burada çok bulunan böğürtlen ve benzeri meyveler (raspberry, blackberry vs) ile de yapmayı planlıyorum. 

Kullandığımız mısır nişastası
Tabaklara servis aşaması
Soğumaya bırakıldıktan hemen sonra


Kaynaklar:

Monday, December 23, 2013

How to rectify imagesc() axis in Matlab?

In Matlab, imagesc() and pcolor() are among the most used 2D plotting commands. For a given 2D matri, when you use the imagesc() command the y-axis comes inverted with respect to pcolor() command. To fix this issue and bring the y-axis increasing in positive y direction (with respect to screen plane), simply using axis xy is sufficient. Here is a small code snippet:


%% Difference between pcolor and imagesc
A=[ 1  2  3  4 7;
    5  6  7  8 -1; 
    9 10 11 12 3;
    2 3 4  6 7;
    9 10 11 12 3;
    1 2 7 -1 10;
    ];

figure (1); clf; set(gcf,'Color',[1 1 1]);
subplot(1,3,1);
pcolor(A); colorbar;
title('{\bf pcolor}(A)'); axis image;

subplot(1,3,2);
imagesc(A); colorbar;
title('{\bf imagesc}(A)'); axis image;

subplot(1,3,3);
imagesc(A); colorbar;
title('{\bf imagesc}(A) with {\bf axis xy}'); axis image;
axis xy
 


- For an earlier post on the difference of imagesc() and pcolor(), check here.
- Another post discusses the inclusion of grid lines to imagesc() here.

Friday, December 06, 2013

Night Train to Turkistan - Google Map of the Stuart Stevens and his company's trip along the Ancient Silk Road

Although the title is enticing, the book itself is not a great book. It focuses more on how the hotels they stayed were, the bus and train details and almost nothing about the culture and history of places they have passed. If you are reading to learn about the Turkistan and its people, this is not the book to do so. It is more about the daily practicality of their journey, how they found the bus/train where they sat and how it was etc. The author is obsessed to follow the route of Fleming without any particular reason and they cannot achieve that. Anyways, one of the nice part of the book is the map it has provided. I transferred it to Google Maps to see how the landscape they pass is and here is the link to that: (Opening the map in full screen mode is recommended)
e

Displaying grid lines in imagesc() function in Matlab


The default plot of pcolor() command in Matlab is to display the grid lines separating the each cell (top right figure below). One can use shading flat to remove the grid lines. However, for the imagesc() command, the default is not to show the grid lines (top left figure below). Below is  simple code snippet showing how to force imagesc() to have grid lines.

nx=4;
ny=4;
A=randn(nx,ny);

figure (8); clf; set(gcf,'Color',[1 1 1]);
subplot(2,2,1); 
imagesc(A); title('plain {\bf imagesc()}'); 
pbaspect([nx ny 1]);

subplot(2,2,2); 
pcolor(A);  title('plain {\bf pcolor()}')
pbaspect([nx ny 1]);

% With grid lines plotted
subplot(2,2,3:4); 
imagesc(A);
pbaspect([nx ny 1]);
title('{\bf imagesc()} with grid lines separating each cell')
set(gca,'xtick', linspace(0.5,nx+0.5,nx+1), 'ytick', linspace(0.5,ny+.5,ny+1));
set(gca,'xgrid', 'on', 'ygrid', 'on', 'gridlinestyle', '-', 'xcolor', 'k', 'ycolor', 'k');
- For an earlier post on the difference between pcolor() and imagesc(), click here.
- Note, syntax highligthing achieved by http://tohtml.com/matlab/

Thursday, December 05, 2013

Diffraction from a wedge - TMz case [FDTD simulation]


Here, we demonstrate the diffraction from a wedge when a plane wave with electric field component normal to the surface is impinging on it. The wedge corner acts as a secondary source to generate cylindrically propagating waves which are clearly seen when the scattered field plots on the right is analyzed. The left side of the animation shows the total field where both the scattered and incident fields are plotted together.





Beugung, Difracción, Diffrazione, Kırınım, 回折, Дифракция, Diffractie, Difração, 衍射, Dyfrakcja, Diffraktion, Interferenz, Interferencia

Saturday, September 28, 2013

How to Generate Animation Video using Matlab?

Let's say you have a mathematical function changing in time (or in any other quantity) and you would like to watch it progress and create an animation out of it. That is very simple to integrate into an existing Matlab code. Basically, by using the mov and getframe(), addframe() commands, one can easily generate the animation file. Below is a sample code snippet for further reference:


mov = avifile('test.avi','fps',7,'quality',100,'keyframe',1);
     
     
    figure('Renderer','zbuffer')
    Z = peaks;
    surf(Z);
    axis tight
    set(gca,'NextPlot','replaceChildren');
    % Preallocate the struct array for the struct returned by getframe
    F(20) = struct('cdata',[],'colormap',[]);
    % Record the movie
    for j = 1:200
        surf(.01+sin(2*pi*j/20)*Z,Z)
        F(j) = getframe;
     
        F = getframe(gcf);
        mov = addframe(mov,F);
     
        pause(0.1);
    end
     
    mov = close(mov); 





Note: I used the following website to obtain the highlighted Matlab code in html: http://tohtml.com/matlab/

Monday, September 02, 2013

Hacı Münib Engin Noyan'ın Hatıratından bir Anı


Hacı Münib Engin Noyan'ın hayatını anlattığı Fatma Güzey'in sunduğu televizyon programında bahsettiği çarpıcı bir anısı var ki, yazıya dökülmesi belki daha çok kişinin duymasına, öğrenmesine vesile olacağı için burada transkriptini çıkarmaya çalıştım. Yorumsuzca aktarıyorum:



...
[Noyan] Bir aile dostumuz - Allah taksiratını affetsin - Prof. Dr. Max Neineke (?) ben daha 16 yaşlarında iken falan bana bir sual sormuştu. Demişti ki "Berlin'de ne oynuyor tiyatroda?".... Biliyorum... "Londra'da ne oynuyor?"... Biliyorum. Çünkü gazetelerden [biliyorum]. "Peki" dedi, "Atina da ne oynuyor?" dedi [Bilmiyorum anlamına gelen yüz ifadesi]

[Güzey] Yunanistanla çok bir şeyiniz yok... bağlantınız...

[Noyan] "Şam'da ne oynuyor? [yine cevap yok]. Bağdad'da ne oynuyor? E sen kendi coğrafyanı tanımıyorsun. Onları [batıyı] tanıyorsun. Biri burnunun dibi. Şam'da tiyatro var mı yok mu onu bile bilmiyorsun. Böyle bir şey olur mu?" dedi bana.

[Güzey] E yönümüz tamamen Avrupa'ya döndürülmüş, altta ne var yanda ne var bilmiyoruz

[Noyan] Ve şu muazzam cümleyi kullandı. Dedi ki "Siz, Türkler" dedi, "Çok aptalsınız".... Sinirlendim tabi. Niye aptal diyorsun ki bana yani? Niye? dedim. "Çünkü" dedi. "Siz doğudan gelen trenin lokomotifi olmak yerine, batıya giden trenin son vagonu olmayı tercih ettiniz." dedi.

[Güzey] Çok güzel bir cümle..

[Noyan] Muazzam bir cümle.. ...
Doğudan gelen medeniyet treninin lokomotifi olmak varken, ki bizim hala da konumumuz o,  elhamdulillah - batıya giden trenin son vagonu olduk. En arkada hayvanları koydukları, uyduruk... Sallana sallana gidip serseme dönmüş

[Güzey] Her an kopma tehlikesi ile de karşı karşıya olan

[Noyan] Evet, birinci sınıf vagon bile olamadık. En son vagon...


.......



Programın tamamının linki (yukarıdaki kısım için 27:00'dan itibaren dinleyebilirsiniz):
http://youtu.be/H8CiJ9XD0sQ

Engin Noyan'ın resmi web sitesi:
http://enginnoyan.com.tr/

Sunday, August 25, 2013

Mohammad Hosayn Farahani's Hajj Travel Route (1885-86)


View Mohammad Hosayn Farahani's Hajj Travel Route (1885-86) in a larger map

Adopted from "The Safarnameh of Mirza Mohammad Hosayn Farahani", from his pilgrimage in 1885-1886.

Farahani's journey to Mecca not only fulfills his pilgrimage obligation but also provides a detailed guidebook for his contemporary Persians needed for their Hajj travels. Thanks to the introduction of railroads between Baku and Batumi, Farahani takes the unconventional route to Mecca, traveling first to Batumi via train and then going to Istanbul by boat stopping along the route in several cities such as Trabzon and Sinop. After Istanbul, he continues his journey by boat to reach Alexandria over the Aegean Sea and from thereon to Jidda via Suez Canal. His return trip was also from the same route and his book was considered to be Guide Michelin of his time for round-trip Persian Hajj.

Sunday, August 11, 2013

Bridge Pedal - 6 Bridge loop

Bridge Pedal - 6 Bridge Loop



Over the weekend, I had the chance to attend the annual Bridge Pedal Event in downtown Portland. There are several routes of various lengths and I chose the 13 miles crossing the 6 bridges. The event is very well organized and good for families. Definitely recommended! Below are some snapshots from my route.



The union station:

Broadway Bridge:

Finish line:

King's Mountain - Sea of Clouds

King's Mountain - Sea of Clouds



King's Mountain is one of the most popular hiking destination for Oregonians especially those living in the "weird" Portland and vicinity. Among many of our hikes to King's Mountain, this one was particularly spectacular when we got closer to the peak. The thick clouds left below formed a virtual blanket over the Tillamook Forest. It almost felt like a sea of clouds. Here are some photos from the day:





King's Mountain on another day

Wednesday, June 26, 2013

Map of Nasir Khusraw's Travels (1046-1052)


View Nasir Khusraw's Travels (1046-1052) in a larger map


Adapted from the Naser-e Khosraw's Book of Travels, W. M. Thackston, Jr. New York, 1986

Nasir Khusraw's Safarname (Book of Travels) has been a classical text for Persian travel writing for the last 1000 years. Confessing that his travels are due to mid life crisis, he set out for Mecca at the age 42 after seeing a dream while in a drunk situation. In his dream, he was pointed the qibla direction (Mecca) when he asks about where the wisdom lays. Following this, he resolves to go for Hajj and rather immediately sets our for Mecca. For the next seven years, he travels through Persia, West Azerbaijan, Turkey, Syria, Cairo, Hijaz, Hafsa and Basra region. 

Monday, May 20, 2013

Mt. Defiance Hike


GPS log overlayed on Google Earth:

 

Columbia Gorge from the Starvation Ridge
 

Warren Lake
  

Trail



The Peak 4900 ft (note the landmark)

Sunday, May 05, 2013

Tuesday, April 30, 2013

Larch Mountain Backpacking - Oregon, United States

Larch Mountain Backpacking




We started on Friday around 7 pm and keep walking until the sun set around 8.10. Found a nice camping spot next to the river and setup the tents. Thanks to the tall trees and no moon, the camp site was pitch black making it a different experience. Had our dinner and went to sleep around 10.30 pm. Woke up at 4.30, had breakfast and started walking up. The weather and the trail were nice. There was snow after 3500 ft but it was okay. We reached the Sherard's point at Larch Mountain at 8.30 am. The view was worth the climb. Except Mt. Rainier, all major mountains were visible (Mt. Hood, Mt. Jefferson, Mt. St. Helens and Mt. St Adams)

Mt. Hood from the Larch Mountain Summit

Our camping ground:

Wednesday, April 24, 2013

Diffraction from Double Slits (Young's Double Slits)



The double slit diffraction is illustrated via the use of finite-difference time-domain (FDTD) simulation. Two sets of double slits with different widths and a single slit - for comparison - are illuminated by normally incident plane waves. When the impinging plane waves reach the slits, they are diffracted into a series of circular waves. In the case of double slits, constructive and destructive interferences create dark (null) and bright spots. Diffraction is basically the phenomenon involving the bending of waves around obstacles and the spreading out of the waves past small openings. Huygen's Principle states that every point on a wavefront acts as a source of tiny wavelets moving forward with the same speed as the wave and the wavefront is the surface tangent to these wavelets. 

Keywords:
Beugung, Difracción, Diffrazione, Kırınım, 回折, Дифракция, Diffractie, Difração, 衍射, Dyfrakcja, Diffraktion, Interferenz, Interferencia, Young's slit,

Saturday, April 06, 2013

Mount St. Helens Walk-up

We started around 6.30 am after camping overnight. After walking continuously around 6 hours we reached the summit around 12.30 pm. We reached back the Marble mountain sno-park at 4.00 pm.

Mount St. Helens Walk-up



Mount Rainier and Mt. St. Helen's Crater Rim


Climbers on the crater rim.

Mt. Rainier and Spirit Lake

Smoke coming from the Mt. St. Helen's crater


Sunday, March 31, 2013

Link error when changed from the debug mode to release mode (Intel MKL and Intel Visual Fortran Studio XE for Windows)


From the Intel MKL Link Line Advisor, I was given the following libraries to be linked:

mkl_intel_c_dll.lib mkl_sequential_dll.lib  mkl_core_dll.lib

The snapshot of choices are as follows:





Sunday, February 03, 2013

Warren Lake Hike

For this particular morning hike, we woke up around 4.30 am and reached the traildhead around 6.00 am. After preparations, we started our ascent. The original target was to reach Warren Lake and then continue onwards to Mt. Defiance summit. Although it was February, the weather around the trailhead was clear and not raining. We were even able to spot the stars and played with the iPhone app showing all the constellations. Finally distinguishing and seeing the Big Dipper was great.

The initial part of the hike was very steep and hit me hard. Questions like "what am I doing here?, I should be sleeping in my warm bed" started to come to my mind. But immediately the view of the Columbia Gorge albeit dark was great. So, of course we continued. Around 2500 ft the snow started and there we spotted bear tracks and became a little bit nervous. The team decided to stick together and moved forward. We moved up to 3800 ft and the weather conditions got worse. It got very cold and the snow made it very difficult to move.  So, we decided to go back even before reaching the Warren Lake. After a good breakfast, the descent was tough on the knees but the scenery of the Columbia River and the Gorge near the end of the trail was stunning.

The GPS logs and some photos are below:




 



Sunday, January 20, 2013

Group velocity / Phase velocity Animation



Here, we demonstrate the group and phase velocity phenomena as observed when two signals with different temporal and spectral frequencies (wavelength) are added to each other. The addition creates time varying constructive and destructive interferences along the space. The resulting wave packet travels with the so-called group velocity which is faster than the phase velocity in this case. The wave packet envelope is shown in magenta color in dashed lines. Note that in this particular case, both group and phase velocities are positive. An important interpretation of group velocity is that it represents the velocity at which the energy or information is conveyed along a wave (see Wikipedia for further details). 


Групповая скорость, Gruppengeschwindigkeit, Voortplantingssnelheid, Velocidad de grupo, Grupa rapido, Vitesse de groupe, Velocità di gruppo, 군속도, מהירות חבורה, ჯგუფური სიჩქარე, 群速度, Gruppefart, Prędkość grupowa, Групова швидкість, 群速度, Vận tốc nhóm, Grupphastighet, Grupinis greitis Phasengeschwindigkeit, Velocidad de fase, 相速度, Vitesse d'une onde, Velocità di fase, Фазовая скорость, 位相速度

Tuesday, January 15, 2013

How to Automatically Parse YouTube View Statistics using importxml?

An automatic way to import YouTube video view statistics to Google Spreadsheets is to use importxml() function. In this post, a working example will be demonstrated using the following YouTube playlist:  https://www.youtube.com/playlist?list=PL38214462962EB8A0

First, the page source of the YouTube channel needs to be opened to get which parse value to use while importing the view statistics.As shown below, details of each video is listed under "video-overview" class.


<div class="video-overview">
    <h3 class="video-title-container">

      <a href="/watch?v=WRGfYqqjXDo&amp;list=PL38214462962EB8A0&amp;index=2" class="yt-uix-tile-link yt-uix-sessionlink" data-sessionlink="feature=plpp_video&amp;ei=CPbFlenq67QCFZYUIQodkUULKQ%3D%3D">
        <span class="title video-title "  dir="ltr">Corner Reflector / Retroreflector (FDTD Animation)</span>
      </a>
    </h3>

      <p class="video-details">
        <span class="video-owner">
by <span class="yt-user-name " dir="ltr">meyavuz</span>
        </span>

          <span class="video-view-count">
            151 views
          </span>
      </p>

  </div>

 Thus, in the Google Spreadsheets, we can type the following in one of the cells:

=importxml(A1,"//div[@class='video-overview']")

where cell A1 has the web address of the YouTube playlist we are working with. Once this is done, the spreadsheet will automatically populate the cells with the titles, video uploader and video views etc as shown below:


However, the cells containing the video view count also includes the user name and some other text, e.g. for this playlist, we have "by meyavuz48 views". To extract the video counts from this text, we need to use some of the functions of the Google Spreadsheets. For this particular case, typing

=value(replace(left(C1,len(C1)-5),1,10,""))


will provide the view statistics in integer form as shown below: Basically, "5" in the formula corresponds to number of characters of the word "views". Then, using the "replace" function, the first 10 characters "by meyavuz" are replaced by empty string "". Finally, the text is converted to integer using the "value()" function.




Note that using "video-overview" as the class inside importxml() function provides the titles and view count of each video. If only the video count is sought after, one can use  'video-view-count' keywords as input to the importxml function as:

"=importxml(A1,"//span[@class='video-view-count']")

Also, the full list of Google Spreadsheets function can be found in the following link:
http://support.google.com/drive/bin/static.py?hl=en&topic=25273&page=table.cs&tab=1240296

Monday, January 14, 2013

Nick Eaton Ridge Hike, Oregon

We reached the trailhead around 6.30 and started to hike around 7 am under 0 celcius. The pipes of the waterpacks got frozen, so needed to use the bottle for the water need. Reached the peak around 9.30 am and started descending until we found a nice spot for the breakfast.

Nick Eaton Ridge Hike