קטגוריה: BSD

where have all the desktops gone ?

The title of this post inspired by Paula Cole's song title, but not because of the song itself…

In the past several years, the Unix (and mostly Linux) Desktop field started to have a lot of big changes (The ice age is over ?). The changes are so massive, that people started to immigrate from one environment to another, while companies such as MS do a lot of copy paste to specific features that invented for the Unix desktop (and then they say that Unix desktop is not very user friendly :)).

Most people does not know how to handle changes. They like the icon in the same place, and even if you move it for them only by 2 pixels to the right, it's like a new environment for them, and they do not know what to do. However the desktop changes in Unix are much bigger then moving by 2 pixels away.

Amazingly, I found myself taking the opposite direction of most Linux users today (now you understand the name of my blog ? ;)). At the year of 2,000 when I first owned my own Linux Installation -> Mandrake 7 (prior to that I used Unix's such as Solaris and IAX at work places), I could not find a good desktop environment to work with. I tried KDE 2, Gnome 1 and XFCE 3, and they sucked big time for me. Then KDE 3 came out, and later on, also Gnome 2, and then XFCE 4, and the only environment I found good enough for me was XFCE 4 (I used to work a lot with CDE on Unix), and also found out about WindowMaker (The NeXT like WM), and things was finally good for me. להמשיך לקרוא

לכידת אותות סוררים ביוניקס

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

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

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

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

למשל אם תכתבו בלינוקס : להמשיך לקרוא

עבודה עם /dev/random ו /dev/urandom

ישנם בעולם ה POSIX – בעיקר במערכות יוניקס 2 devices אשר מאפשרים לנו לקבל מספר כלשהו שיהיה בסיס לחישוב רנדומאלי (seed). ההבדל העיקרי בניהם הוא ש random הוא blocking, כלומר עד אשר לא אקבל תשובה אשאר "תקוע". בעוד ש urandom חוזר מייד, ולפעמים יביא מידע פחות איכותי (כלומר פחות רנדומאלי) לשימוש.

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

אבידה גדולה לעולם הטכנולוגיה

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

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

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

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

הוא אחראי (שוב, בייחד עם עוד מספר אנשים), על מערכת הפעלה אשר שינתה את כל ההיסטוריה של עולם המחשבים בשם Unix. למעשה Mac OS X היא Unix עם תוספות מעליה. Linux לעומת זאת, היא מערכת דמויית Unix. המערכת הציגה פעם ראשונה ביצוע של ריבוי משימות טבעי וכן עבודה עם מספר רב של משתמשים בו זמנית, כאשר היה קל ונוח יותר (יחסית כמבן) לנהל את כל זה מאשר מה שהיה עד אז.

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

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

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

סתם שתקבלו קצת קנה מידה

להבין את load average ביוניקס

כל מי שעובד ביוניקס מספיק זמן מגלה את load average. ניתן להגיע אליו דרך הפקודות top, procinfo, w ו uptime. העניין הוא שלא הרבה יודעים מה זה בעצם אומר. אז אני אנסה להסביר כאן בקצרה (ובצורה מאוד לא ממצה, אבל מספיק ברורה אני מקווה) מה זה אומר.

ובכן אם נסתכל על ה load average אנחנו נראה שהוא מורכב מ3 קבוצות של מספרים:

load average: 0.40, 0.46, 0.47

הקבוצות מייצגות זמן. הקבוצה הראשונה מייצגת דקה, הקבוצה השנייה 5 דקות והקבוצה השלישית 15 דקות.

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

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

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

לקריאה מקיפה יותר אתם מוזמנים לגשת לקישורים הבאים:

http://www.lifeaftercoffee.com/2006/03/13/unix-load-averages-explained/

http://www.crucialp.com/resources/tutorials/server-administration/server-loads-explained-linux-unix.php

http://www.teamquest.com/resources/gunther/display/5/index.htm

http://en.wikipedia.org/wiki/Load_(computing)

פיתוח חוצה פלטפורמות באמצעות Free Pascal 2.2.0

תרגום מהגרסה האנגלית לכתבה שפורסמה בOSNews ע"י Joost van der Sluis
תורגם ע"י עידו קנר

לאחרונה Free Pascal (FPC) שחררה את הגרסה 2.2.0. מהדר הקוד הפתוח לשפת פסקל אשר ממשיך מאז התחיל ב-1993 לגדול ולהיות אחד ממהדרי הקוד הפתוח הכי מתוחכמים הקיימים כיום. מדי יום מפתחים רבים מגלים את FPC ומפתחים את התכנות שלהם באמצעות פסקל מונחה עצמים. הפיתוח של Lazarus תרם לכך באופן מיוחד: Lazarus היא סביבת עבודה משולבת גרפית עבור FPC, עם כלי פיתוח רבים לפיתוח ותכנון תכנות גרפיות.
להמשיך לקרוא

כשהקהילה יורה לעצמה ברגל

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

להמשיך לקרוא