יום שישי, 21 באוגוסט 2009

המתכנת שבחיינו

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

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

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

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

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

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

בדומה לפוסט שהצגתי לפניכם, אני גם מוצא לנכון לקשר לקומיקס שעוסק באיך פרויקט באמת עובד:
http://www.projectcartoon.com/cartoon/2

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

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

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

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

שלכם,
איתי.

יום ראשון, 7 ביוני 2009

הדרך ל-Windows 7

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

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

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

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

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

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

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

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

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

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

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

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

בנוסף ניתן לבחור כיצד להפעיל תוכנות, אם זה בנוסח XP, אם זה בשיטת ויסטה, או בסטייל של Windows 7, וכך או כך, כל אחד יבחר את מה שמתאים לו.
דוגמה יפה לכך הייתה חלון המסנג'ר שנורא הפריע לי, ובחירה באפשרות של להפעיל אותו בדומה לויסטה העבירו אותו לצד הסרגל, כמו שהוא פועל בויסטה, כאשר החלונות שלו התאגדו בדומה לכל תוכנה אחרת במערכת ההפעלה, פשוט יותר נוח.

בשורה התחתונה
מי שמצפה ל-WOW ממערכת ההפעלה, יכול להתבאס, אבל מערכת ההפעלה Windows 7 היא בהחלט מערכת הפעלה מוצלחת מבחינת משתמשים, אומנם אינה מוכנה עדין לשימוש, ומי שרוצה להתקין אותה לוקח סיכון כמו שאני לקחתי, אבל אני לא מצטער שעשיתי זאת.
אני ממליץ לכל משתמשי XP וויסטה לחכות להשקה הגדולה ולעבור, כאשר המערכת תהיה מוכנה ותתאים לשימוש המוני.

המשך גלישה מהנה.

יום ראשון, 17 במאי 2009

העורך האולטימטיבי

החיפוש אחר עורך טקסט חדש אינו קל, בייחוד כי לכל אדם יש דרישות וצרכים שונים, כאשר אם לאחד זה שהעורך יצור קוד HTML לבד, עבור האחר הדגשת הצבעים ב-PHP הם החלק החשוב, בעוד אדם נוסף יעדיף שלחיצה על אנטר תבצע פעולה מסוימת.
גם אני לאחר מות המחשב הקודם יצאתי למסע הארוך של חיפוש אחר עורך אולטימטיבי, שיחליף את העורך הקודם בו השתמשתי במחשב הישן, והתוצאה? עשרות עורכים שכדאי להכיר, ותואר בתוכנות לבניית אתרים שצריך לחדש.

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

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

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

Adobe Dreamweaver
על העורך הזה שמעתי במקרה, והחלטתי שאני מכיר את תוכנת הפוטושופ מצויין, אז למה לא לנסות עוד תוכנה מבית Adobe, שמצליחים להביא אותה בענק.
עד מהרה מצאתי את עצמי יושב מול תוכנה שמיועדת לאתרי HTML, והשימשו בה כרוך בהתאמה רבה של המערכת אליך.
נורא יפה הרעיון של לחיצה על אייקון בשביל HTML, אבל ההתנהלות של התוכנה הייתה מעצבנת, ואם הייתה בין 2 תגיות ולוחץ אנטר, התגית הייתה יורדת שורה אחת.
בנוסף כדי להוסיף תגית הייתה צריך לעבור תהליך ארוך ומייגע, דבר שמאוד הקשה על השימוש בתוכנה.

התוכנה מצויינת עבור מי שמשתמש בעיקר ב-HTML, ואני ממליץ לנסות אותה בחום, כי הבנתי ממי שמתחבר אליה שאי אפשר לעזוב.



EditPlus
החלטתי להמשיך בחיפוש חסר פשרות אחר העורך הנוח ביותר, והגעתי ל-EditPlus, עורך פשוט, עם הוספת HTML מהירה, שכל מה שדרוש זה ללחוץ על כפתור ומקבלים את התגית הרצויה.
משומה העורך הרגיש לי נורא טיפש, הוא מצויין למי שמחפש משהו פשוט, אבל לא יותר מידי פשוט, וכאשר אין ציפייה שהעורך יכין לך קשה ויבין את מה שרוצים ממנו, זה בהחלט אפשרות סבירה לעורך.
אבל כרגיל, העורך לא התנהג כפי שרציתי, אם זה מבחינת קידוד תווים, אם זה בצבעים שנבחרו, ואם זה בחוסר יכולת לשלוט 100% בעורך שלפני, וכך החלטתי לנדוד לעורך אחר, שאולי יצליח למצוא את החלל שנוצר בעקבות הפרידה עם העורך הראשון.



PHPedit
החלטתי שאני צריך לפנות בנתיב ה-PHP, למצוא עורך שמיועד ל-PHP, וכך הגעתי ל-PHPedit, עורך שממבט ראשון היה בו הכל, ממבט נוסף הייתה לי מלחמה קשה איתו על הטמפלטים של יצירת דף חדש, על סוג התקן של הדף, על הקידוד הרצוי, והרגשתי שבעורך אין כלל מחשבה על המשתמש.
אם החלפתי קידוד תווים לדף, הייתי מצפה שתגית ה-META שמציינת קידוד גם היא תתעדכן, אך להפתעתי העורך הציג את אותו קידוד ISO שנקבע מראש, ולאחר תסכול והבנה שזה לא ילך, יצאתי לדרך למציאת עורך טקסט אחר.



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

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



phpDesigner
למי שטועה, חזרתי אליה, ולא משום שמצאתי בה את כל מה שאני מחפש בעורך שלי, כי יש לי מתברר דרישות דיי גבוהות מהעורך, בין היתר שיבין מה אני עושה ויפעל בהתאם (לדוגמה אני נמצא בין תגיות SELECT ולוחץ אנטר, שיצור לי תגית OPTION אוטומטית עם הזחה בהתאם, או אם אני מחליף את תקן הדף, שיגיב בהתאם).
ב-phpDesigner בחרתי מהסיבה הפשוטה שנורא קל להגדיר אותו, אם זה SVN, אם זה השרת הביתי, וכל תכונה אחרת שנדרשת לצורך שימוש ב-PHP, ונכון שהוא לא מבריק מבחינת HTML, אבל השימוש בו היה הכי אנושי עבורי, ואני נהנהתי ממנו הרבה לפני שהתחלתי במסע המטורף של חיפוש עורך.



העורך המושלם
בעורך המושלם, אני רואה כמה קל להוסיף תגית HTML, אם זה תמונה או כל תגית אחרת, כאשר לחיצה על הכפתור תכניתא ת התגית, ואם יש שדות שצריך למלא זה ישאיר ריק, עד שילחצו בין המרכאות ואז זה יאפשר הוספת מידע.
כאשר אני נמצא בין תגית פתיחה וסגירה, ולוחץ אנטר, זה יוריד את תגית הסגירה 2 שורות, והסמן יעמוד בשורת האמצע ויהיה מוזח בטאב נוסף, כך שאני ישר אתחיל לעבור ולא להתעסק במיזוח נכון של התוכן.
בעורך המושלם נוח לעבוד עם PHP, אם זה להגדיר את כל הרכיבים בהם אתה משתמש בקלות המירבית, אם זה לחבר את ההגדרות לשרת הביתי, ואם זה עורך חכם שיזהה את מה שאתה עושה.
בעורך המושלם אתה משנה את תקינות הדף, וקוד ה-DTD משתנה בהתאם, וכשאתה משנה את קידוד הדף, תגית ה-META מותאמת אוטומטית.

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

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

המשך עבודה נעימה.