Reflections on installing TWiki

Yesterday, I spend some time installing TWiki wiki. Now in itself this is not special. However when reflecting on it, I (re)-learned an important lesson for developers. Let me explain.

Installing TWiki is fairly easy. Just follow the installation instructions. However, the no-extention files didn't seem to execute. The installation manual said that on some web servers the files need to be renamed to .pl or .cgi. So, I look in bin and see about 20 files without extension. I rename the first one, test it and it works.

I rename the second one and wonder. Renaming 18 files is a lot of work :) Should be able to be done faster. So renaming the first 2 back to the original name; I write some bash for loop to rename them all. Done!

I continue following the installation and done. The manual says> Just go to the login page. So I go there and... "internal server error". Not a very useful error message.

So reflecting on this, at this moment I have at least 2 choices.

  • Figure out what is wrong
  • Figure out what mistake I made


I guess I'm a typical programmer and I chose the first option, without thinking. So I spend an hour reading the web configuration, browsing the web forum, reading the perl code and nothing seems to be wrong. Thus I start editing the perl code and adding debugging messages to figure out on what line it generates the error. So after an hour... I find it! It cannot find a file called web.cfg (something like that). It's located in the bin directory....uhm... wait a second... in the bin directory? Yup. So... might it now have the name web.cfg.pl? Yup! Thats it! Just my mistake, I renamed the file by accident.

So, reflecting on this, I could have saved a lot of time. (On the other hand, I learned a lot of OTHER things during my debugging). What could be different?

  • When being lazy and automating things, pay attention :) Might seem obvious but I've been making this mistake over and over again the last years.
  • When something is not right, first think about what you could have done to break it. Not assume that the error is out there and not caused by your own actions. It's most probably because of my own mistake. So, I could have just traced back my steps and thought about where I could have made a mistake. The renaming of files would be one obvious place.

I'm not sure if I will ever learn these two simple guidelines. Still, I'll try :)

Read more

เสน่ห์ของ ScrumMaster

เสน่ห์ของ ScrumMaster

บางครั้งผมจะได้ยินคำถามเวลาไปงานแลกเปลี่ยนความรู้กับวง ScrumMaster ว่า ทำไงดี ทีมไม่เปิดใจให้ เข้าถึงทีมยาก ตอนผมนั่งในวงนั้น ผมก็ไม่รู้จะตอบยังไง เพราะผมไม่มีปัญหานี้ วันก่อน มีเพื่อนร่วมงานให้ feedback ผมว่า ผมมีพลังพิเศษ ทำให้คนไว้ใจ อยากเข้ามาปรึ

By Chokchai
ความหมายของที่ซ่อนอยู่ใน Just In Time

ความหมายของที่ซ่อนอยู่ใน Just In Time

วันหนึ่ง มีเด็กน้อยคนหนึ่ง กำลังจะขึ้นเครื่องบิน เด็กน้อยร้องไห้กระจองอแง อยู่ตรง security check เพราะว่าปลาทองที่เค้าจับมาได้ 2 ตัวนั้น ไม่สามารถเอาขึ้นเครื่องได้ เพราะมีน้ำอยู่ ยิ่งเด็กร้องนาน พ่อแม่ก็ยิ่งเครียด แล้วก็

By Chokchai
Boring tasks -> Purpose

Boring tasks -> Purpose

วันก่อน มีเพื่อน ScrumMaster โทรมาให้ช่วยคิดท่า retro สำหรับเติมไฟให้กับทีม (ใครอยากรู้บ้างยกมือขึ้น ^-^/) ก็เลยแชร์ที่นึกออกเร็ว ๆ ไปสองท่า หนึ่งในนั้นคือการโยงจาก boring tasks ไป purpose เริ่มจากให้สมาชิกแต่ละคนเอากระดาษ A4 แนวนอนมาแผ่นนึ

By Chokchai
ทำไมคนมีลูกถึกกันจัง?

ทำไมคนมีลูกถึกกันจัง?

ย้อนกลับไปปี 2013 มันเป็นเวลา 3 เดือนก่อนที่ผมจะตัดสินใจด้วยกันกับภรรยาว่าจะมีลูก แม่ยายคุยกับเราสองคนว่า… แม่ยาย: อายุก็เยอะขึ้นเรื่อยๆแล้วนะ ถ้าจะมี ก็ต้องมีตอนนี้แหละ ช้ากว่านี้ พอแก่ตัวไป มันจะมีผลกับพั

By Chokchai