ארכיון חודשי: דצמבר 2011

האם אתה מעוניין לשמוע הרצאה על כלי לפיתוח תוכנות לאנדרואיד ?

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

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

אז האם הייתם מעוניינים לשמוע על כך הרצאה ?

אפליקציית Android לניהול נסיעות ברכבת

train managmentSven Barth כתב לעצמו תכנה לניהול הנסיעות שלו ברכבת, ולשם כך השתמש בלזרוס ו FPC for JVM.

הגרסה משתמשת ב SQLite בנוסף בשביל לשמור ולשלוף מידע, ורצה בצורה טבעית על ה VM של אנדרואיד.

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

הגרסה הקודמת של התכנה נכתבה עבור מערכת מבוססת Windows CE. הגרסה שהוא יצר ל WinCE, השתמשה בקבצי ini, אותם הוא כאמור המיר לSQLite.

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

SOPA – עוד מסמר בארון הקבורה לשוק של ארה"ב

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

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

ואם זה לא מספיק, אז אתרים למשל כמו Facebook ו Google+ ואפילו whatsup.org.il מחוייבים לקבל אחריות אישית על כל מעשה של כל משתמש הנעשה באתר. כלומר אם אני ניגש ל whatsup ושם קישור לסרט "פיראטי" או תוכן מוזיקאלי שאין לי רשות לקשר אליו, אז מאיר, יהודה וטל יהיו אחראים באופן אישי לשאת באחריות של המעשה שאני עשיתי. אבל זה לא רק תוכן שהוא פיראטי כביכול. אפילו הוראות כיצד להוריד firefox יכול להחשב כתוכן בעייתי, אשר בעקבותיו האתר והבעלים שלו יפגעו. כל הבלאגן הזה נקרא SOPA שהוא ר"ת עבור Stop Online Piracy Act. להמשיך לקרוא

האם כשאתה הולך למסעדה אתה גם …

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

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

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

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

האם לתרום ערכים לוויקיפדיה ישראל ?

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

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

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

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

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

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

לעבוד עם JSON ו FPC

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

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

בנוסף, הספרייה מגיעה עם fpJSONRTTI אשר ממיר אובייקטים באמצעות RTTI ל JSON וממיר חזרה מ JSON לאובייקטים. בנוסף מגיעה בספרייה גם יחידה בשם jsonconf בשביל לעבוד עם קבצי הגדרות מבוססי json. להמשיך לקרוא

דרושה טכנולוגיה חדשה לדוא"ל

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

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

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

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

ד"א את קוד המקור של google wave אפשר למצוא כאן.

מוקדש כחומר למחשבה.

קישור ל"מדוע firebird עדיף מOracle"

כותב הבלוג Backwards compatible, מנהל למעלה מ600 מסדי נתונים מבית אורקל, ו60 מסדי נתונים של Firebird, מסביר מדוע לדעתו Firebird הוא מסד נתונים שעדיף לכם לקחת עבור העסק שלכם, במקום אורקל.

ממשק גרפי לציטוטים חלק שלישי

Quote Window

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

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

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

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

הנה מספר קטן של ניסויים שעשיתי בממשק: להמשיך לקרוא

להבין מחרוזות

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

גרסה חדשה ל FPC JVM

ג'ונס שחרר הודעה לרשימת הדיוור של fpc-devel על כך שהוא שיחרר גרסה חדשה של FPC-JVM.

כזכור, הגישה הזו אומרת שFPC מאפשר לי ליצור קוד שJVM יכול להריץ בצורה טבעית.

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

בשביל לגרום לppcjvm להדר את הקוד לקבצי class ש dalvik אוהב יש להעביר את הפרמטר הבא:

ppcjvm -Tandroid ....

כמובן ש3 הנקודות הם המשך הפקודה שרוצים לספק.

עוד תוספות ושינויים שנכנסו לגרסה הזו הם:

  • המהדר עכשיו מנקה כמו שצריך את קבצי ה j אלא אם הועבר פרמטר של a-.
  • עכשיו קובץ ה Makefile יוצר את ה rtl כמו שצריך עבור גרסת הג'אווה וגרסת האנדרואיד
  • תוקן קוד המתייחס לפרמטרים עם var או out בתוך פונקציות/פרוצדורות מקוננות
  • תוקן באג של try/except מקונן
  • נוספת פקודה למהדר Ctcompactintarrayinit-

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

  • תוקן קוד של copy כאשר x שונה מ0.
  • הקוד של ה rtl נכנס לספרייה rtl/android/jvm כך שלא תהיה התנגשות במימוש קוד טבעי של android arm.

Common Table Expression

בתקן SQL 99, נוספה תמיכה לביטוי רב עוצמה אשר קיבל את השם Common Table Expression או CTE בקיצור.

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

CTE בעצם מאפשר לנו ליצור מעין טבלה זמנית עבור code block של SQL. כלומר נגיד ויש select קבוע שאני רוצה עליו לבצע עוד select, אבל הselect המקורי מכיל כל מיני תנאים וכו', ויותר מזה, יכול להיות שאני רוצה להשתמש באותה שאילתא ביותר ממקום אחד, אז CTE בעצם נכנס לשימוש. הוא יודע להגיע ב"טעם" רגיל וב"טעם" שהוא רקורסיבי:

with Machines as (
  select id, type, name, ip
from Computers
where type in (1, 8, 34) and ip like '192.168%'
);

select user
from CompanyUsers cu
left join Machines on cu.machine = Machines.id;

עוד צורת שימוש שיש ל CTE היא בצורה רקורסיבית על המידע:

with recursive
  dept_year_budget as (
    select fiscal_year,
           dept_no,
           sum(projected_budget) as budget
    from proj_dept_budget
    group by fiscal_year, dept_no
  ),
  dept_tree as (
    select dept_no,
           head_dept,
           department,
           cast('' as varchar(255)) as indent
    from department
    where head_dept is null
    union all
    select d.dept_no,
           d.head_dept,
           d.department,
           h.indent || '  '
    from department d
         join dept_tree h on d.head_dept = h.dept_no
  )
select d.dept_no,
       d.indent || d.department as department,
       dyb_2008.budget as budget_08,
       dyb_2009.budget as budget_09
from dept_tree d
     left join dept_year_budget dyb_2008
       on d.dept_no = dyb_2008.dept_no
       and dyb_2008.fiscal_year = 2008
     left join dept_year_budget dyb_2009
       on d.dept_no = dyb_2009.dept_no
       and dyb_2009.fiscal_year = 2009

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

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

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

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

Abbrevia

Abbrevia הוא סוג של toolkit עבור C++ Builder, Delphi, Kylix ו FPC/Lazarus אשר מספק רכיבים וספריות רבות לטיפול בפורמטי קיבוץ שונים כדוגמת ZIP, CAB, LZMA ואחרים.

הtoolkit הוא בעצם סדרת רכיבים בקוד פתוח, אשר חזרה להיות מפותחת אחרי קרוב לעשור, בה היא סתם שכבה בSourceForge. כמו כן, היא כיום עובדת במספר מערכות הפעלה כדוגמת Windows, Linux ו Mac OS-X.

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

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

חברת TurboPower היתה חברה כזו. החברה היתה מאוד מוכרת בעולם בשנות ה80 וה90 בעיקר. היא היתה חברה מאוד קטנה, אבל עם המון פיתוחים אשר שינו את עולם התכנות המקצועי לכל אלו אשר בחרו בדלפי או C++ Builder של בורלנד, ולפני כן גם ב Turbo Pascal ו Turbo C, וכן Borland Pascal ו Borland C.

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

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

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

לשטוף את הסבון עם מתכנתיו

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

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

אם באבטחת מידע, אנחנו קוראים לאלו שרק משתמשים במה שאחרים עושים Script Kiddies, אז לאנשי .NET האלו צריך להיות שם בסגנון Monkey puppets או משהו כזה (כל הזכויות לא שמורת). כי יש לנו Code Monkey למישהו שרק כותב קוד בלי להיכנס לעובי הקורה, אבל כאן, אפילו להבין מה הם עושים, זה לרוב יותר מידי עבורם, ולכן, הם בובות של Code Monkey כי אפילו Code Monkey זה מסובך מידי בשבילהם…

הפוסט נכתב בעקבות דרישה נוספת לכתוב פונקציות SOAP מול .NET, והתנשאות מטופשת של האנשים אשר אפילו אמרו שהבעיות שנתקלתי בהם קשורות לכך שאני לא מתכנת בשפה נורמאלית (למרות שניסיתי את העבודה עם soap4r, soapui, php soap, nusoap ועוד ספריית ג'אווה נוספת – ולכולן היו את אותן הבעיות מול ה wsdl). לאיזו רמה הגענו, מתכנתי .NET חושבים שהם מתכנתים נורמאליים וכל שאר התעשייה כמו גוגל, פייסבוק וכו' לא יודעים כלום מהחיים שלהם. זו הסיבה כנראה שיש כל כך הרבה מערכות מבוססות .NET בעולם של הרשתות החברתיות בניגוד לשאר הטכנולוגיות (או שלא).

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

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

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

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

fpGUI 0.8 שוחררה

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

הפרוייקט fpGUI שחרר גרסה חדשה : 0.8. רשימת השינויים והתוספות: להמשיך לקרוא