ממתי מחשבים מבינים אנגלית?

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

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

גרייס הופר המשיכה לשכלל את הקומפיילר שלה ויצרה שפות נוספות בשם MATH-MATIC ו FLOW-MATIC בהשארת השפות האלו פותחה שפת COBOL שהייתה השפה הראשונה ליישומים עסקיים. לגרייס הופר היה חלק גם בפיתוח הקומפיילר לקובול.

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

SI Neg. 83-14878. Date: na. Grace Murray Hopper at the UNIVAC keyboard, c. 1960. Grace Brewster Murray: American mathematician and rear admiral in the U.S. Navy who was a pioneer in developing computer technology, helping to devise UNIVAC I. the first commercial electronic computer, and naval applications for COBOL (common-business-oriented language).  Credit: Unknown (Smithsonian Institution)

SI Neg. 83-14878. Date: na.
Grace Murray Hopper at the UNIVAC keyboard, c. 1960. Grace Brewster Murray: American mathematician and rear admiral in the U.S. Navy who was a pioneer in developing computer technology, helping to devise UNIVAC I. the first commercial electronic computer, and naval applications for COBOL (common-business-oriented language).
Credit: Unknown (Smithsonian Institution)

נשלח ב הגיגים על מחשבים, תכנות

איך שמרתי על מטוסי ה F15 של חיל האויר שימשיכו לטוס

F15לפני מספר ימים התקשרה אלי אשתי "אתה מכיר את יובל רכבי?"
"ברור, הוא האבא הרוחני שלי בתוכנה, הוא היה איש מילואים ביחידה שלי כשהייתי בשירות סדיר וקבע ולימד אותי רבות" יובל רכבי הוא אחד מהמייסדים של חברת BRM (יחד עם עמרי מן וניר ברקת) והיום מכהן כדירקטור בכמה חברות היי-טק.

זה הזכיר לי מקרה מעניין שקרה לי לפני מספר שנים, בבוקר אחד בתקופה שהייתי יועץ לינוקס עצמאי, אני יושב ומתחבט בבעיה של לקוח ולפתע טלפון: "שלום מדבר סגן… מבקרת טיסה בח"א 8" ברגע הראשון הייתי בטוח שעובדים עלי. שיחת הטלפון הזו הייתה בשנת 2005, אני אכן איש מילואים של המערך הטכני של חיל האויר, אבל לא של בקרת טיסה ולא של בח"א 8. תחילת שירותי הצבאי הייתה במחלקת בקרת טיסה בבסיס אחר וטיפלתי במטוסים אחרים. כך ששיחה כזו נשמעת הזויה ביותר. המשכתי להקשיב לקצין שאמר "אתה זוכר שב 1989 בנית מתקן בדיקה למכלולי בקרת היגוי של F15?" הוא המשיך בהצגת שמות המכלולים (יחידת ג'יירומטרים ויחידת מדי תאוצה RSA ו ASA בראשי התיבות שלהם השימושיים בספרות האמריקאית) כאן כבר הבנתי שאף אחד לא עובד עלי.

בשנת 1988 בשעה שהייתי בשירות קבע ביחידת אחזקה אוירית (או כפי שאני אוהב לקרוא לה "יחידת אכילה אוירית" זה כי אכלנו הרבה שם) פנינו למטה ח"א בבקשה שיקצה לנו תקציב לבניית מתקן בדיקה לתחזוקה של ASA אותו קצין אמר "כן בתנאי שאתם בונים את המתקן גם ל RSA" (יחידה דומה שמודדת משהו אחר) המפקד שלי הסכים לתנאי ויום אחד בא אלי עם שני ספרים עבי כרס (ספרי TO או בעברית הוראה טכנית) של שתי היחידות האלו ואמר "אני רוצה שתתכננן מתקן לבדיקה שלהם" קראתי את שני הספרים ולאחר מספר דקות (הספרים היו בני 1000 עמודים כל אחד) אמרתי לו "כן אפשר ופירטתי בראשי פרקים מה צריך לעשות" התשובה הייתה "בסדר, תכנן את מה שצריך תגיד לי מה צריך לקנות ותקבל" לאחר מספר ימים חזרתי אליו עם רשימה שלפי דעתי הייתה די יקרה ולא חשבתי שהוא יאשר, הרשימה כללה שולחן מסתובב במחיר מטורף, מחשב חדש, מד מטח וזרם מדויק, מטריצת ממסרים ענקית וקופסת חיבורים שנצטרך לבנות בעצמינו. אז לא ידעתי שיש לו בעצם תקציב די גדול לזה (אולי הייתי צריך לבקש עוד…) בכל מקרה האישור הגיע מהר.

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

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

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

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

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

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

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

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

בכל מקרה זה היה סיפור יפה שכיף להזכר בו.

נשלח ב כללי

נשים ותכנות

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

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

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

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

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

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

  • יש דעה קדומה כנגד נשים
  • למרות הדעה הקדומה, נשים טובות יותר בתכנות

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

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

המחקר הזה מוכיח בצורה בולטת את מה שאני אומר כבר שנים: נשים טובות יותר בתכנות.

נשלח ב הגיגים על מחשבים, כללי, תוכנה חופשית, תכנות

למה אני לא סובל את וורדפרס

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

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

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

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

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

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

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

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

בעתיד הקרוב אני מתכוון לשדרג את העיצוב של אתר החברה (http://www.heliconbooks.com) לעיצוב רספונסיבי. זה כמובן לא יהיה בוורדפרס, למרות שהמעצב המליץ על וורדפרס.

נשלח ב קידום אתרים, תוכנה חופשית

נשים ותכנות – לרגל יום האשה הבינלאומי

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

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

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

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

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

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

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

 

נשלח ב הגיגים על מחשבים, לינוקס

כיצד גנבתי לעצמי את הלוגו?

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

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

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

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

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

נשלח ב ספרים, ספרים דיגיטליים

לפעמים צריך להגיד כל הכבוד למשטרה

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

נשלח ב כללי

כיצד עובדים ארגוני תקינה

במהלך הקריירה שלי עסקתי לא מעט בתקנים. זה התחיל בשנת 2008 כשאיגוד האינטרנט פנה אלי לנהל את הסניף הישראלי של ה W3C (האיגוד האחראי לתקני ה HTML וה XML ועוד תקנים רבים אחרים). הייתי ב W3C עד שנת 2010, זמן קצר לאחר מכן הצטרפתי לארגון שאפשר לקרוא לו ארגון אח, ארגון ה IDPF. האחראי לתקן הנפוץ בעולם לספרים דיגיטליים, תקן ה EPUB שהיום הוא יותר מאשר רק תקן, אלא יותר קבוצת תקנים.

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

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

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

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

כשהקמתי את חברת Helicon Books די הימרתי שתקן ה EPUB3 יהפוך להיות התקן השולט בעולם. כיום אני שמח לומר שדי צדקתי בהימור שלי.

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

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

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

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

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

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

לאחר הדיון על הפתרונות מתחיל שלב כתיבת התקן. לתקנים יש נוסח מיוחד שהינו שילוב בין הוראה טכנית למסמך משפטי. חשוב מאד שלא יהיו משפטים שיכולים להתפרש בשני מובנים שונים. לכן גם יש הגדרה (על ידי תקן אחר) של מתי משתמשים במילים כמו MUST או MUST NOT ומתי משתמשים ב SHOULD או SHOULD NOT שימו לב שבכוונה כתבתי באותיות גדולות. מילים אלו גם בתקן כתובים כך על מנת להדגיש שיש לפרשן בהתאם לתקן (RFC2119).

שלב כתיבת התקן הוא שלב די מיגע שכן דנים בו על כל משפט ומשפט ולפעמים אפילו על מיקומו של פסיק :-) המטרה היא לוודא שמצד אחד, התקן יהיה ברור לכולם ויחד עם זאת יענה על כל הבעיות שהועלו בתחילת הדיונים. לשם כך לתקן יש שני סוגי פסקאות: Normative שאומרת שפסקה זו היא חלק מהתקן ו Informative שאומרת שזו פסקת הסבר ולא ממש חלק מהתקן. בתחילת כל חלק שהוא אינפורמטיבי בדרך כלל כתוב This section is informative.

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

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

שימו לב שהתקנים של ה W3C, ה IDPF וכד' הינם המלצות (Recomendation) זאת מאחר שאלו ארגונים של חברות מסחריות ולא ארגוני תקינה בלתי תלויים. כאן המקום לספר שתקן ה EPUB3.01 קיבל לאחרונה מעמד של תקן ISO. תקן: ISO/IEC TS 30135-1:2014

תקן ה EPUB הינו למיטב ידיעתי התקן היחידי לספרים דיגיטליים שקיבל מעמד של תקן ISO.

נשלח ב IDPF, W3C, ספרים דיגיטליים

ההיסטוריה של אפליקצית הקריאה הנפוצה בישראל

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

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

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

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

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

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

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

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

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

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

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

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

 

נשלח ב ספרים דיגיטליים

יריד הספרים בפרנקפורט וספרים דיגיטליים ב EPUB3

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

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

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

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

 

עם קולגה מקוריאה

פסטיבל תחפושות המתקיים כל שנה ביריד

נשלח ב IDPF, ספרים, ספרים דיגיטליים

הספרים שלי

רחשי הלב הארחרונים



ADSNUKE ERROR: Write access to the file: /home/ori/blog/he/wp-content/plugins/wp-adsnuke/c269a1c30853d9686270cffa336aed63/blog.oriidan.info.links.db! Set 777 right to folder.