ארכיון חודשי: ספטמבר 2011

ללמוד erlang

יש לי רשימה מאוד ארוכה של שפות תכנות שאני רוצה ללמוד אותם. הידע שלי של קרוב ל24 שפות תכנות לא מספיק, והרעב עדיין גדול מאוד, אז אחרי הרבה התלבטויות מה השפה ללמוד, החלטתי ללכת בראש ובראשונה על erlang, וכרגע אני עושה את הצעדים הראשונים שלי בשפה. השם של השפה, כמו שפה אחרת שאני מאוד אוהב לתכנת בה, גם היא על שם מתמטיקאי (בשם Agner Krarup Erlang), והיא מבית Ericsson, וחלק אומרים שהשם של השפה בכלל לקוח ממשחק המילים Ericsson Language.

erlang היא שפה מאוד מעניינת בפני עצמה. היא שפה פונקציונאלית מאוד רובסטית שבמקור נועדה לעולם הטלפוניה, ובנויה לריבוי משימות, על ידי שימוש ב"שחקנים". שחקן במקור זה שם מתמטי, אבל שתורגם לעולם המחשבים, אשר אומר כי במקום שהתכנית שלי תעשה הכל, היא עושה חלקים ממש קטנים של דברים, ומה שהיא לא יודעת או נבנתה לעשות, היא משאירה למישהו אחר לעשות. כך שבמקום שנדאג לכל דבר ביקום, אנחנו דואגים רק למה שאנחנו רוצים לטפל בו, אבל חשוב להבין שצריך להיות מאוד מנומסים כאשר עושים את זה, ולא לזרוק על מישהו אחר את האחריות, אלא להגדיר תחומי אחריות.

בזכות כך שהשפה יודעת להאציל סמכויות בעצם, אז היא מתנהגת בצורה ממש דומה לתכנות מרובה תהליכים. אפשר לגרום למי שאחראי על התליכון לקבל מספר חוקים (תלוי במודול בשימוש) של איך להתנהג עם התהליכון. גם אם התהליכון קורס לנו,אפשר לתת חוקים כיצד להתנהג, למשל לנסות שוב ורק אם אחרי פרק זמן מסויים מוגדר מראש זה נכשל, אז להפסיק להרים אותו חזרה, ועוד מספר דברים אחרים, אשר אינני יודע כרגע, אך מבין כי קיימים. להמשיך לקרוא

ניהול פרוייקטי תכנה

השבוע לקוח שינה לי פרוייקט, והעביר אותי ליצור לו פרוייקט חדש. בעוד שההערכה הגסה שלי היתה כשבוע וחצי עד שבועיים, לקח לי למעט באג אחד בודד כיום, כ3 ימי פיתוח, אשר 2 מהם פיתוח פיזי, ואחד לתיקוני באגים.

הערכתי הערכה מופרזת בטח את הפרוייקט אתם בטח חושבים, אז זהו שלא. להמשיך לקרוא

פרוייקט תחביב – ted.rb

התחלתי החודש ליצור פרוייקט תחביב חדש, בשם Ted-Parser המאפשר להוריד ממקור ה RSS של TED הרצאות שונות. כידוע, ההרצאות של TED מגיעות ברישיון CC כך, שההורדה שלהם חוקית, כל עוד אני לא אומר שההרצאות הם שלי.

התחלתי את הפרויקט במטרה לחדש את בנק ההרצאות אצלי בדיסק הקשיח לאחר שהלך לי הדיסק במחשב הנייד, ואינני זוכר בעל פה במה צפיתי ובמה לא., והמטרה של הפרוייקט הוא לחדש עבורי את כל ההרצאות שאיבדתי.

אז התחלתי לכתוב, והבנתי שאני יכול לעשות את זה טוב יותר, אז עשיתי refactoring ראשון לקוד, ויצרתי מודול עבור API ומחלקה אשר מממשת את מה שצריך עבור ה API שאני יוצר. להמשיך לקרוא

vi vs vim

vi היה עורך טקסט בעולם היוניקס אשר נכחד מהעולם לאחר שהפסיקו לפתח אותו. בעקבות עורך הטקסט, נוצרו מספר עורכי טקסט אשר מחקים אותו, כאשר עורך הטקסט אשר תפס את השימוש הרב ביותר "בתחום" נקרא VIM אשר אומר בעצם VI ImproVed.

הרעיון המקורי של vi היה ליצור ממשק וויזואלי (בטקסט) לעורך שורת הפקודה ex, ולכן השם של vi הוא visual in ex.

הבעיה היא שהרבה משתמשי לינוקס ויוניקס עדין צמאים מאוד לvi, למרות שהם רוצים לקבל את התכונות של vim, ולכן vim מגיע ב2 טעמים: טעם vi וטעם vim, כאשר ההבדל בניהם הוא שלvim יש הרבה היותר יכולות, היות וטעם vi משתמש גם הוא ב ex.

הבעיה היא שכאשר אנחנו כותבים vi בשורת הפקודה, אנחנו מקבלים את vim במצב התואם את vi. וזה לא מה שאנחנו רוצים. הפתרון הקל והפשוט ביותר הוא פשוט להוסיף m, כלומר לכתוב vim במקום vi, אבל הקבעון של הפקודה vi מושרש מידי אצל מרבית האנשים, ולכן הם מוכנים לשנות תוכנה שלמה מאשר פשוט להוסיף תו נוסף.

כלומר תראו אנשים אשר משנים את הקוד של vim, תראו אנשים אשר משנים לגמרי את לינוקס, או אנשים במקרה הטוב יותר יוצרים לכם alias אשר אומר ש vi זה vim. מה לא עושים בשביל להימנע מלהוסיף עוד אות בכתיבה ולהתרגל לקרוא לה…

אה, וכבר כתבתי על זה בעבר 🙂

My Lenovo Thinkpad T420s

I bought a new laptop after my old one started to have too many hardware issues, such as mouse buttons that stopped working, the screen turned off and on again while working, hard drive that died on me, wifi that started resetting itself every few minutes, and even the battery is dead (4 minutes of power), and last week the charger started to stopped working from time to time.

So I started looking for a new laptop, but I was looking for a machine for hard work, and not just for saying that I have a laptop. It is an important working tool in my business, and I can not afford any downtime, or things that do not work, so I looked on two brands of laptop vendors: Lenovo and DELL. They both create good laptops, but somehow the Lenovo's products seems a bit better (the old IBM line at least).

So after few days of research I decided that Lenovo T series brand is the one for me. I do not really understand why, but in Israel everything is more expensive, and you can understand it even from the last tent protest. This fact exists also with new laptops (I needed it very soon as you can understand, so I had no choice). So I needed to go with 14.1" laptop because the 15.6" was way over my budget, and the 14.1" was a little bit higher from my budget, so I chosen the T420s model. להמשיך לקרוא