rss
twitter
    Find out what I'm doing, Follow Me :)

יום שני, מרץ 25, 2013

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

שמתי לב שבדביאן SID טעינה אוטומטית של תיקיות משותפות אינה עובדה יותר עם ההגדרות ישנות.
לאחר מספר ימים של חיפוש בתיעוד עברתי על הקוד של mount.cifs.c וגיליתי לתדהמתי כי הפורמט השתנה ל :
user=username
pass=password

(הפעולה התקבלה למרות מה שרשום בתיעוד).

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

עידכון של cifs-utils ל 5.5 עם קרנל 3.2 בדביאן פתר את הבעיה, אולם לאחר מכן הלכתי להמשיך לטייל בקוד וגיליתי לתומי כי שני מבני ההגדרה שעובדים מה שהטריד אותי (למה התיעוד אומר א' כאשר בפועל קורה ב' (ב' ⊂ א') ).

ואז לגמרי במקרה אני רואה :
 
       /* tell the caller which value target points to */
        if (strncasecmp("user", line, 4) == 0)
                return CRED_USER;
        if (strncasecmp("pass", line, 4) == 0)
                return CRED_PASS;
        if (strncasecmp("dom", line, 3) == 0)
                return CRED_DOM;

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

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

יום שני, מרץ 11, 2013

טיפוס מוררכב שיוצר ב wsdl2h לא מכיל namespace

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

הבעיה הייתה שטיפוסים מורכבים (ComplexType) בהודעות לא הכילו את מרחב השמות (namespace) ברירת המחדל של הרכיב.

הפעולה התבצעה ע"י wsdl2h -c filename.wsdl

במקום לקבל :

<SOAP-ENV:Body>
  <ns1:typename>
    <fieldname>
      <ns2:typename1>text value</ns2:typename1>
      <ns2:typename2>true</ns2:typename2>
      <ns2:typename3>6308880000</ns2:typename3>
    </fieldname>
  </ns1:typename>
</SOAP-ENV:Body>

התקבל:


<SOAP-ENV:Body>
  <ns1:typename>
    <ns1:fieldname>
      <ns2:typename1>text value</ns2:typename1>
      <ns2:typename2>true</ns2:typename2>
      <ns2:typename3>6308880000</ns2:typename3>
    </ns1:fieldname>
  </ns1:typename>
</SOAP-ENV:Body>

הפתרון לבעיה פשוט - יש להכריז כי מרחב השמות ברירת המחדל יהיה qualified (תמיד יכיל את מרחב השמות).
פעולה זה מתבצעת ע"י שינוי בקובץ ההכרזה :

#define SOAP_NAMESPACE_OF_ns1   "http://myrtfm.blogspot.com/soap/ServiceName"
//gsoap ns1   schema namespace: http://myrtfm.blogspot.com/soap/ServiceName
//gsoap ns1   schema form:      unqualified
ל:
#define SOAP_NAMESPACE_OF_ns1   "http://myrtfm.blogspot.com/soap/ServiceName"
//gsoap ns1   schema namespace: http://myrtfm.blogspot.com/soap/ServiceName
//gsoap ns1   schema form:      qualified



נ.ב. קובץ הסכמה הגדיר את מרחב שמות המרחב כראוי :

 elementFormDefault="qualified"

יום רביעי, פברואר 13, 2013

פיטצ'יר מגניב בליברה

עריכה: נפלה שגיאה בנוסחא.

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

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

{d^{~2} P} over {d %OMEGA% d %omega%_s} = r_e ^2 int_{v} ` < S_i > ` func d^ {  3} r int lline hat e {%PI%} csup{ `  dlrarrow ` }  hat e rline ^ 2 k ^ 2f %delta%(k,v - %omega%)func d ^ {  3} v

ניתן להוציא את המידע המרונדר כ:

תמונה -

מבנה mathml  -




d 2 P d Ω d ω s = r e 2 v < S i > d 3 r e ̂ Π e ̂ 2 k 2f δ ( k , v ω ) d 3 v

בIE9 זה לא מרונדר לחלוטין.

בכרומיום זה רונדר הפוך(כתב מראה)

בFF 10 החלק האחרון של הנוסחא לא מוצג כמו שצריך (האם זה באג של ליברה בייצוא ?).


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

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

יום שלישי, פברואר 12, 2013

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

פתרון לשאלה של איך לעטוף פונקציות לאובייקט השוואה
#include <iostream>
#include <set>

typedef struct {
int value;
} baz_t;

// some compare function we are bound to use
bool compare_func (const baz_t& _Left , const baz_t& _Right )
{
return _Left.value < _Right.value;
}

//template that can be used with the exported functions
template <class Arg1,class Arg2,class Result,Result (*f)(const Arg1 &,const Arg2 &) > struct compare_functor_by_function {
//The magic is by creating the () operator and calling the compare functions
Result operator() (const Arg1 & _Left,const Arg2 & _Right) {
return f(_Left,_Right);
}
};

int main()
{
std::set< baz_t, compare_functor_by_function<baz_t,baz_t,bool,compare_func> > obj;
baz_t useless_obj ;
baz_t useless_obj2;
useless_obj.value = 1;
useless_obj2.value = -1;

obj.insert(useless_obj);
std::cout << "next" << std::endl;
obj.insert(useless_obj2);
std::cout << "2" << std::endl;
obj.insert(useless_obj2);

return 0;
}

יום שני, פברואר 11, 2013

כמה מילים על חינוך מחשוב ומשהוא ביניהם

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

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

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


h(t) = 1 σ t 2 π ( 1 Φ ( ( ln t μ ) / σ ) ) e ( ln t μ ) 2 2 σ 2

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


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

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

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

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

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

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

ולא אין לך אפשרות חוקית להפעיל XCode על IPAD.

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

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

תוך מספר חודשים אנשים ילמדו להיות מפתחים - אני אהיה קצת יותר קיצוני מחץ אבל על מי אתם עובדים ?

האנשים יהיו צריכים להיות בעלי יכולת הוראה בתחום שהוא חדש להם (מגמת המחשבים בהולץ לא מציגה כי מלמדים בה את החומרים עליהם הכתבה מדברת) וגם לצבור ידע ויכולות להיחשב כמקצועיים (האם הכוונה לאישור של משרד העבודה ?) תוכנית APD מדברת על התאמת יכולת לימוד של אנשים למוצרי Apple :
iWork,iBook וכו' אז איך פתאום יצוצו תוכניות לימוד.

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