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

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

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

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

והחיסרון והיתרון לאנשים לא אידואולוגים הוא שניתן לסמן בהתקנה שרוצים לקבל תוכנות קניניות

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


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

אז לעשות דווקא זה לא המטרה שלי ולכן הסיבות המלאות הן:

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

כדאי לקרוא גם את הפוסט של אילן שביט בנושא

לי אין בעיות מיוחדות שמציקות לי בממשק עברי.


עד לא מזמן ג'אווה סקריפט היתה שפה שולית שמיועדת לאתרי אנטרנט. לאחרונה התחילו להתאים את JavaScript לכתיבת אפליקציות למחשב בשילוב HTML. בגנום 3, אחד הממשקים הגרפים בלינוקס, לקחו אותה צעד אחד קדימה ועשו קישור בין כל הספריות של גנום וGTK לJava Script ובעצם פיתחו טכנולוגיה שתאפשר לעשות בינדינג דינמי וכך ליצור אפילו בינדיג לעוד שפות בקלות. אולם הם לא הפסיקו בכך וכתבו את כל הממשק המשתמש של Gnome 3 בjavascript בשם Gnome-Shell מה שמאפשר גם למשתמשים לראות את הקוד בקלות, וכך גם להאיץ את קצב הפיתוח, כמו גם לתקן באגים ביתר קלות שכן שגיאות כוללות את קטעי הקוד בעצמם. גנום 3 ישוחרר רק בספטמר אולם כבר עכשיו, הוא מאוד יציב ושימושי (עובד עליו בעיקר בבית ובעבודה), מושקע היטב בעזרת אופן GL, והAPI לפיתוח נוח מאוד.

Uploaded with ImageShack.us

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

יתרונות של שפה דינמית על סטטית

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

לכן, בניגוד לאלעד, אני בהחלט אוהב אותו.


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

void setup(){
  size(640, 360, P3D);
  noStroke();
}

void draw(){
  int s = second();
  int m = minute();
  int h = hour();
  int r = 150;
  int x0 =150;
  int y0 =150;
  background(0);
  lights();
  arc(x0,y0,r, r,0, 2*PI);
  stroke(100);
  line(x0, y0, (r-100)*cos(s*2*PI/60-PI/2)+x0, (r-100)*sin(s*2*PI/60-PI/2)+y0);
  line(x0, y0, (r-115)*cos((m*60+s)*2*PI/3600-PI/2)+x0, (r-115)*sin((m*60+s)*2*PI/3600-PI/2)+y0);
  line(x0, y0, (r-120)*cos((h*3600+m*60+s)*2*PI/(3600*12)-PI/2)+x0, (r-120)*sin((h*3600+m*60+s)*2*PI/(3600*12)-PI/2)+y0);
}

Uploaded with ImageShack.us


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

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

יש לי מספר רעיונות לפרוייקטים שיהיו נחמדים שיהיו ויוכלו לשפר רבות לדוגמה: ככל שיקלו את קלות הפיתוח, כך יהיו יותר תוכנות, ולכן כדאי שיהיה תכנות ויזואלי…  qt designer מתקדם רבות (כמו כל QT וKDE) על פני גלייד ומאפשר לחבר אירועים/אותות של פקדים לסלוטים של אחרים, ובקלות יכולתי לעשות כפתור שמדליק ומכבה לחילופין לד. אפשר להרחיב את זה למשהו יותר פרקטי, אם היו פקדי מודולים שיהיה אפשר לשלוח להפ פרמטרים וכו'. ככה שבלי תכנות מסובף ורק עם עיצוב אפשר לעשות תוכנות ממש טובות. ואף יהיה יותר יעיל אם יהיה איזה אתר אנטרנט שהעורך יהיה מסונכרן איתו שיהיה אפשר לעלות אליו דברים ולקבל תוספות כמו פקדים נוספים וכו'…

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

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

התחלתי ללמוד (שוב) C יש כמעל אלף דפים בPDF של המדריך של libc ועוד כ70 דפים במדריך של gnuc אבל לא נורא, הכל עניין של זמן, ואם גישה כזו אין לי בעיה לפתוח פרוייקט הזוי שלא אציין אותו כאן עד שיהיה בו טיפה משהו.

ומתישהו, אולי…,

אוכל לישון.

ונמשיך לאקדמיה:

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

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

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


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

  1. גרסה קניינית עם יותר פיצרים – סיבה זאת גורמת באופן ישיר לקוד הפתוח להיות נחות, שכן מראש הוא יהיה פחות טוב מהגרסה הסגורה. דוגמאות: Virtualbox, Wine/Crossover, QT, מספר הפצות לינוקס מסחריות שיוצרות גרסאות סגורות ובדוקות יותר.
  2. רישוי כפול למוצרים קנייניים – מכירת רישיונות להפצה סגורה – מה שמאפשר לחברות אחרות לפתח מוצרים ולא להחזיר לקהילה את התוספות שיצרו.
  3. תמיכה – מודל שלכאורה נראה ממש טוב לתוכנה, שכן אפשר לשחרר את הכל, אולם מצד שני מעודד חוסר נחות למשתמש. הרי ככל שמשתמש תלוי יותר בשירותי התמיכה, כך המוצר פחות רווחי.

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

  1. ספריות בלבד – יש שלל ספריות כל פעולה אפשרית כולל של יישומים גרפיים ובד"כ הם גם ברישיון קוד פתוח שלא תוכנה חופשית מה שמקל על אחרים לעשות תוכנות קנייניות טובות לאותן ספריות.
  2. פקודות בלבד – הפרקטיקה המינימלית, הפתרון הכי מהיר לכתיבת תוכנה, ויותר קל לבדוק פרמטרים מאשר להכין ממשק גראפי מתאים כמו imagemagic, אומנם זה טוב שהם קיימים לצורך כתיבת תסריטים, אבל זה לא פתרון לגרום למשתמשים ללמוד מליון פקודות לכל תוכנה  על מנת לעבוד איתה…
  3. קבצי קונפיגורציה – בלי פקודות להגדרה, הדומה המוזרה שלי בעניין היא באפצ'י, יש פקודות להוריד או לעלות אתר, שזה בסה"כ יצירה ומחיקה של קישור סימבולי, אבל אין פקודה ליצירת אתר וירטואלי חדש…
  4. קיצורי מקשים, הממשק לא מושקע עד הסוף, צריך לדעת מלא קיצורים כדי להשתמש בתוכנה או לחילופן לחטט קשות בתפריטים כדי למצוא את אותה פעולה וגם זה לא בהכרח יהיה, דוגמה לכך היא בלנדר.

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

איך לדעתכם קוד פתוח יפסיק להיות סוג ב'?

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


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

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

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

מי אמר שאי אפשר להתקדם טוב רק מלעשות פרוייקט קוד פתוח בהתנדבות? והוא רק בן 29… (ולפי הבלוג שלו הוא "מוכרח" להצהיר בכל מקום שהוא גיי, אז נזכיר את העובדה גם כאן)

החלק היפה בקוד פתוח ותוכנה חופשית שפרוייקט שמישהו אחד עושה מחלחל למקומות אחרים, Upstart נלקח גם להפצת פדורה, ההפצה Maemo 5 של נוקיה לפלאפונים שלה ואפילו webOS של הפלאפון החכם של Palm Pre.

Upstart הוא לא החידוש היחיד, אם כי לדעתי הכי משמעותי. Karmic Koala בשמה גם כוללת מרכז תוכנות חדש ומהיר, עיצוב שבאמת עושה טוב לעיניים. כמו כן היא כוללת שירות אכסון על שרתיה לגיבויים בשם Ubuntu One, שהגישה אליו נעשית בקלות ע"י תיקיה מיוחדת שמקושרת אליו ומציגה ומנהלת את תוכנו.

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



© 2007 הבלוג של נדב ויניק משתמש בתבנית iKon שתרגם A.M.F