Thursday, May 19, 2022

Career advice for engineers

While working as an employee, you should also be on the look out for industry trends. One of the easiest ways is to go to your LinkedIn account, add details to your profile and check "open for offers". LinkedIn will send you job offers matching your profile. These offers will give you an idea of what skills are in demand. You can use this information to guide your hobby/side projects. Even if you are happy at your current job, apply to other jobs because it will force you to pay more attention to your CV and your skill development. Try to expand your professional network by attending networking events and get as much job interviews as you can so that you can assess what you are really worth. You will feel in control and be prepared for any emergency that might cause you to change your career. And who knows, may be there is a better alternative than your current dream job.

Thursday, May 12, 2022

Aligning audience expectations

Today I attended a workshop and noticed that my expectations and the presenter's goals were not the same which caused me to question the flow of the presentation. I gave the following feedback:

  • What problem are you solving, what are the alternatives, what is unique about your solution?
  • Tell the audience what to expect, what they will get at the end of the presentation, e.g. "to get familiar with Yocto concepts and workflow, to build a minimal Linux image".
  • More importantly, tell what NOT to expect, e.g. "we will not build a full Linux distribution from scratch because it will take more than one day"
  • What is expected of the audience, e.g. you should know how to install Linux packages.

Wednesday, March 16, 2022

Bad argumentation by repetition

I noticed that when arguing, surprisingly many people fall into the following pattern:

  1. Person A provides argument A1
  2. Person B provides counter argument to A1, namely B1
  3. Person A provides counter argument to B1, namely A2 
  4. Person B provides counter argument to A2, namely B3
  5. Person A repeats argument A1 instead of providing a counter argument to B3
  6. Person B reminds Person A that A1 has already been countered by B1 and that he needs to come up with a counter argument to B3
  7. During the course of discussion Person A keeps on repeating some of the previous arguments and Person B usually gets frustrated by this repetition. Person A cannot understand why Person B is getting angry, even tough Person B has stated the reason.

Friday, January 14, 2022

Yazılımcılar için gözlük rehberi

Son beş yıldır yakın görmem kötüleşti, geçenlerde göz doktoruna gittim. Muayenede mercekli bir alete çenemi dayayıp baktım, doktor örnek bir gözlük taktırmadı. Muayene sonucu 1.25 derecelik yakın gözlüğü yazdı. Doktora yazılımcı olduğumu söyledim ancak verdiği derece kitap okuma - cep telefonuna bakma mesafesi (40cm) için geçerliymiş meğer. Oysa iş yerinde daha uzaktaki (toplamda ~70cm) ekrana bakıyorum. Tanıdık bir optikçiye gittik, benim iş yeri kullanımım için 0.50 veya 0.75 derecenin daha uygun olduğunu söyledi. Deneme yaptık, bana en uygunu 0.50 çıktı. 1.25 nere, 0.50 nere...

Göz doktoruna gitmeden önce tipik çalışma ortamınızdaki ekran uzaklığını ölçün, doktorun size uygun dediği dereceye sahip bir gözlüğü muayene sırasında takıp ölçtüğünüz ekran uzaklığındaki bir ekrana ya da metne bakın, daha düşük dereceli camlar ile tekrar deneyin, net görebildiğiniz en düşük dereceyi seçin.

Wednesday, December 15, 2021

Khan Academy Progress Update

I have been using Khan Academy to teach my now 9.5 years old son Mathematics since 2019. Right now we are at 6th grade, Variables & Expressions. The main benefit is training my son's attention and persistence. Improving his math knowledge is a nice side effect. Currently he misses 1 in 5 questions (20%) due to lapse of attention.

Sunday, December 12, 2021

Yurt dışında endüstri mühendisliği lisans öğrenimi

Bir tanıdık yurt dışında endüstri mühendisliği lisans öğrenimi konusundaki tavsiye istedi (ne yazık ki bilgisayar mühendisliği istemiyor), Almanya'daki Karlsruhe Teknoloji Enstitüsü'nü tavsiye ediyorum, ayrıntılar aşağıda.

Dünya sıralamasında Türkiye'nin en üst sıradaki endüstri mühendisliği bölümü İTÜ'de, sıralaması 64. Bölüme 2021 üniversite sınavında en düşük 4810 başarı sıralaması ile girilebilmiş. Dünya'da bir numara MIT (Amerika). Avrupa'da bir numara (Dünya'da 9) Delft University of Technology (Hollanda) ancak bölüm Industrial Design Engineering yani endüstriyel tasarım, dili %50 İngilizce. Avrupa'da ikinci sırada (Dünya'da 12) Polytechnic University of Milan var, bölüm üretim ağırlıklı ve dili İtalyanca. Almanya'da birinci sırada (Dünya'da 34) RWTH Aachen University (Business Administration and Engineering - Wirtschaftsingenieurwesen), bölümü üçe ayırmışlar, inşaat, enerji ve makine alt dallarından oluşuyor, eğitim dili Almanca. İkinci sırada Münih Teknik Üniversitesi, üçüncü sırada Karlsruhe Teknoloji Enstitüsü var, eğitim dili Almanca.

İtalya'da çoğu bölümün eğitim dili İtalyanca, devlet üniversiteleri 2500Euro/yıl, özel üniversiteler 15000Euro/yıl [link].

Aachen mühendislik ağırlıklı ve 4 yıl iken Karlsruhe daha iktisat ağırlıklı ve üç yıl [link]. Türkiye'deki üniversite sınavında 50bin sıralama yapan kabul alabiliyor. Almanya'da eğitim nispeten ucuz, öğrencinin geçinmek için ihtiyacı yıllık 10bin Euro. Almanya Türkiye'ye yakın, uçakla 3 saat, son yıllarda daha da artan sayıda Türk üniversite öğrencisi var. Almanya Avrupa'nın en büyük ekonomisi, gelişmiş endüstriyel altyapıya sahip. İyi derecede Almanca bilme gereksinimi bir dezavantaj, bu nedenle bir yıl Almanya'da sıkı bir dil eğitimi almak gerekli, lisans eğitiminin en pahallı yılı dil eğitim yılı.

Lisans eğitimi için ülke seçimi yaparken üniversite eğitiminden sonra hangi ülkenin size daha çok hitap ettiğini de düşünmenizde yarar var. Ben çocukluğumda 5 yıl Almanya'da güzel anılar yaşadığım için Almanya taraftarıyım. Almanya'da olması ve işletme/iktisat odağı nedeniyle Karlsruhe Teknoloji Enstitüsü Endüstri Mühendisliği'ni tavsiye ediyorum. Üniversite okumanın ilk aşaması olan dil kursu için üniversiteden şartlı kabul almaya uğraşmayın, dil öğrenme vizesi alın. Vize almayı kolaylaştırmak için Türkiye'de A2 seviyesinde Almanca bildiğinizi sınavla belgeleseniz iyi olur, sizin Almanya konusunda ciddi olduğunuzu gösterir.

Almanya'da Fachhochschule ve Universität olmak üzere lisans diploması (BSc) veren iki yüksek öğrenim tipi var. Fachhochschule uygulama ağırlıklı (İngilizcesi University of Applied Sciences), Universität teori ağırlıklı, ikisinden sonra da mastır yapabiliyorsunuz. Mühendislik için önerim Fachhochschule çünkü mühendislik %10 teori, %90 uygulama. Bkz. Uni vs Fachhochschule - Vorteile & Nachteile. Okurken alanınızla ilgili bir işte çalışıp hem tecrübe hem de para kazanmak için Duales Studium tavsiye ediyorum.

Monday, November 22, 2021

Hosting a website on your local computer

If you want to host your website on your local Windows PC, you have to run a local web server:

  1. Setup IIS (it comes with Windows 10+). Use a port other than 80. Copy your website files to the folder that IIS recognizes. 
  2. Verify that on your browser, you can see your website when you type localhost:<Port> to the address bar.
  3. Add port to Windows Defender Firewall inbound rules.
  4. Add port to your modem so that the modem forwards traffic on that port to your local IP address. On my modem it is done in NAT Forwarding - Virtual Servers
  5. Verify that your website is online by turning off wifi on your mobile phone and typing http://<your global IP>:<Port> into your mobile browser address bar.
You cannot use https without a domain name for your local website because "In order to get a certificate for your website’s domain from Let’s Encrypt, you have to demonstrate control over the domain", i.e. you have to attach your IP address to a domain name.
Links related to SSL certificate: