קטגוריה: סלולרי

האם אורקל מנסה להרוג כל טכנולוגיה מבוססת מחשב ?

הבהרה: אלע"ד (אני לא עוכר דין).

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

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

גוגל מצידה אומרת כי חברת סאן (אשר לצערי אורקל קנו אותה), שיחררה את מימוש ג'אווה "לחופשי" ברישיון אשר מאפשר לכל דורש לעבוד איתה. לפני כן, היו מספר מימושים שונים של JDK כדוגמת המימוש של חברת IBM, אשר נוצר כ clean room. אבל אז למעשה Sun שחררה ב2006 את OpenJDK, ואף התעוד נפתח לגמרי, וקיבלנו API לגמרי פתוח של ג'אווה. ואז חברת RedHat יצרה פרוייקט בשם IcedTea אשר מאגד בתוכו את תכונות ג'אווה ללא צורך בתמיכה של עוד כלים לשם כך, תוך שימוש בגרסת קוד הפתוח שSun פתחה.

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

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

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

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

שימוש ב wvdial עם sim של חברת פלאפון

לפני שנתיים כתבתי כיצד מתחברים למודם סלולרי של חברת פרטנר (Orange).

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

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

מה שעשיתי הוא כזה:


[Dialer Defaults]
Init1 = ATZ
Init2 = ATQ0 V1 E1 S0=0 &C1 &D2 +FCLASS=0
Stupid Mode = yes
Modem Type = USB Modem
ISDN = 0
New PPPD = yes
Baud = 9600

[Dialer pelephone1]
; Pelephone modem
Init2 = AT&F &D2 &C1
Init3 = ATS7=60 S30=0 S0=0
Init4 = ATQ0 V1 E1 S0=0 &C1 &D2 +FCLASS=0
Init5 = AT+CGDCONT=1,"ip","internet.pelephone.net.il"
Modem Type = Analog Modem
Modem = /dev/serial/by-id/usb-ZTE_Incorporated_ZTE_WCDMA_Technologies_MSM_MF1900PLED010000-if02-port0
ISDN = 0
Phone = *99#
Password = pcl
Username = pcl@3g
Ask Password = off
Stupid Mode = off

ההרצה מאוד פשוטה:

$ sudo wvdial pelephone1

גלישה נעימה.

לבנות את FPC jvmbackend

רכשתי לפני שבוע Samsung Galaxy S2, והגיע הזמן באמת לבנות משהו לאנדרואיד.

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

אז ניגשתי לרענן את העץ של jvmbackend מהsvn, והחלטתי לבנות בעצמי את הגרסה החדשה.
לפני כן, יש לעשות patch קטן בעץ הקוד של jvmbackend לקובץ fpc.pp: להמשיך לקרוא

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

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

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

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

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

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

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

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

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

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

גרסה חדשה ל 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.

הקשיים ביצירת תכנות טבעיות לאנדוראיד

"The greatest challenge to any thinker is stating the problem in a way that will allow a solution" — Bertrand Russell

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

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

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

החוויה של אפל

It's all funny until someone looses an i

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

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

כאשר אתה מנסה לקבל הסבר מה זו חווית שימוש ייחודית, אתה מקבל רשימת מכולת של: להמשיך לקרוא

Nokia – Sic transit gloria mundi

"How the mighty have fallen"

Nokia has reported on 11/02/2011 that it starting to collaborate with Microsoft in the smart phone industry. This announcement is the end for a lot of speculations regarding the path that Nokia will take, and is mostly came as a big shock to most of us, we thought it might be the news, but hoped for the best.

Nokia was for many years the main pioneer in Cellular technology but it lack the vision of what Google and Apple saw. So instead of going in a specific path, they started to sit back and let the market change it's leaders, instead of creating a new path to the market they mostly shaped themselves until then.

Apple mostly ride on a big wave of "believers" in a cult like marketing (at least that's how it feels), while Google took a much more realistic approach, where their cellular operating system is not a phone dependent operating system, but an idea for the hardware manufacturers.

Nokia started the same idea of Android long before Google ever entered with their vision, but they only experiment with it using the Maemo operating system. The idea was one clean operating system, that like with Google's Android, Maemo is based on the Linux operating system, but unlike Android, they kept the GNU part inside. That made a lot of people, including myself very happy and I even bought a phone based on it, and returned to the Nokia lap by my own choice, because they provided me a tool that suited not only for my personal ideals of Open Source, but it also had more then 80% of the tools I need for my work, while 20% are not suited for cellular phone (due to it's screen size, and memory [ram], and not fast enough CPU at the N900). N900 can run any Linux based application that exists today. It's better to convert it to the Maemo interface, but it will work, and that's a big plus.

Many people including myself did not like the idea of moving Maemo into MeeGo, but we gave Nokia a chance even though most of us thought that it's not the time to rewrite (a very good) an operating system. Well, we were right apparently because Nokia could not match to Apple's iOS or Google's Android, and they started to fall hard. Now there are more Android based phones, that Nokia did not want to manufacture, then Nokia's phones.

So they replaced their CEO, and moved into the dead hands of Microsoft. For many of us, the lack of proper MeeGo support and the running into the Microsoft cold hands and sit in their laps are the last straw. We got used to have good products from Nokia, but now, a Windows based mobile phone is never the choice we will make, so Nokia is loosing a big crowd of people that loved most of their products, and drag them by force into the hands of Android based phone. It's the second big wave of customers that leave them for Android.

So all I can say is: "Thus passes the glory of the world".

And here is a song that represent my feelings regarding that issue: Mostly Autumn – Fading Colours