Orchestrator 1.0.4 released

Outbrain's orchestrator Version 1.0.4 is released.

Quick links: Orchestrator Manual, FAQ, Downloads

What's new?

Co-masters

orchestrator now does a much better visualization of Master-Master replication:

orchestrator-co-masters

orchestrator-co-masters-j

 

The work on making the visualization more appealing also resulted in making a better distinction between the visual tree topology and the replication topology. This in turn also fixes the ruleset for moving slaves in a co-master topology, and lays the ground for future work on co-masters (i.e. Galera; unscheduled).

resolve

Had a few reports on orchestrator not being able to connect to some topology instances. It seems like the problem is with name resolving. To prove/disprove this, the resolve command or resolve API call now allows checking for instance connectivity. Orchestrator will first test whether the CNAME at all resolves, then try to dial the TCP address (host + port) to see whether it can make a connection.

A sample API call would be:

http://127.0.0.1:3000/api/resolve/myhost.mydomain/3306

A command line invocation would be:

orchestrator -c resolve -i myhost.mydomain:3306

chef cookbook

Silvia Botros of SendGrid has published a generic cookbook for deploying orchestrator via chef: https://github.com/sendgrid-ops/chef-orchestrator

Thanks, Silvia!

Topology Annonymizer Cheatsheet

If you want to share your topology graph, but do not wish to expose your host names, open your cluster page and execute the following in your browser's JavaScript console (jQuery is already included by orchestrator):

var _=function() {
  var counter = 0;  
  var port = 3306;
  jQuery("h3.popover-title").each(function() {
    jQuery(this).html("instance-"+(counter++)+":"+port)
  });
}();

This results in a modified topology such as the one presented above ("instance-11", "instance-12" and so on).

Other enhancements since 1.0:

  • Proper error log entry when backend database is not found; also terminates execution.
  • Added --stack command line. Combined with --debug this prints the stack trace upon error.
  • When a known instance is not found (gone from the radar), now showing time since last seen instead of irrelevant last known slave lag.
  • Various UI enhancements/fixes

Orchestrator is released as open source under the Apache 2.0 license and is available at: https://github.com/outbrain/orchestrator

סגור לתגובות

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

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

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

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

הפעלתי wireshark, וגיליתי כי three way handshake אינו מתבצע עד הסוף, ולמעשה ה ACK האחרון לא נשלח חזרה על ידי השרת (ה wireshark היה על השרת עצמו).
יש מספר נסיונות שליחה של לחיצת היד, ובסוף יש RST על הבקשה כי לא ניתן היה ליצור קשר, והבקשה התנתקה.

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

בנתיים דיברתי עם בוריס, והוא הצליח למצוא קישור מעניין שמדבר כי אפצ'י בברירת המחדל מגיע עם דגל של TCP_DEFER_ACCEPT. עד כמה שאני מבין, הדגל הזה אומר לשרת לא לחכות ל three way handshake, אלא במידה ונשלח מידע אחרי החיבור הראשוני, כשעוד אין ACK, אלא רק SYN-ACK, ניתן כבר לקבל את המידע, ולמעשה רק כשהוא יסתיים להישלח, ישלח גם ה ACK.

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

בשביל לכבות את הדגל בחיבור, צריך לשים ב httpd.conf הראשי, את הקוד הבא:

 AcceptFilter http none

במידה ויש הגדרה אחרת בנושא, למשל עם data, יש לשכתב אותה לnone.
וזה מכבה למעשה את הדגל של TCP_DEFER_ACCEPT ועכשיו אפצ'י חייב לחכות ללחיצת היד כמו שצריך לפני שיוכל לנתח את מה שנשלח.

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

 


תויק תחת:Operating Systems, unix, אינטרנט, אתרי אינטרנט, טיפים וטריקים, טכנולוגיה, לינוקס, קוד פתוח, תוכנה, תקשורת
קטגוריות: Operating Systems, unix, אינטרנט, אתרי אינטרנט, טיפים וטריקים, טכנולוגיה, לינוקס, קוד פתוח, תוכנה, תקשורת | סגור לתגובות

Bad error messages

I just had this encounter: $ curl -H 'Content-Type: application/json' ' https://....' curl: (1) Protocol https not supported or disabled in libcurl WTF, it worked yesterday?

For the full article visit Bad error messages

סגור לתגובות

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

אשכול הקישורים הגדול

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

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

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

GUADEC 2014

ערב טוב.

כאן מסתיים היום השני שלי ב־GUADEC, כנס משתמשי ומפתחי GNOME באירופה. הכנס החל יומיים לפני שהגעתי.

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

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

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

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

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

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

sponsored-badge-simple

סגור לתגובות

Some MySQL security tips

This is a brief list of security tips for MySQL. It is by no means complete.

  • Follow the sudo example. Don't let all you DBAs and Ops have the password for the root account. Have each and every one of them have their own personal super-duper account, with their own personal and private password. This makes it so easy when someone leaves the company. No need to change passwords, just to remove the employee's account.
  • Block root. Either remove it completely or forbid it from logging in. Yes, there's a way hack in MySQL to have a valid account blocked from logging in. One way of making this happen is via common_schema's sql_accounts. Here's how to block root account using common_schema:
mysql> CALL common_schema.eval("SELECT sql_block_account FROM sql_accounts WHERE USER = 'root'");
  • Make lots of small users. Give nagios its own user. Give collectd its own user. Give orchestrator its own user. Give innotop its own user. Give whatever its own user. Yes, it's more users to create, but you get to have each user as limited in privileges as possible, and you don't get to wonder why your heartbeat script has SUPER, LOCK and SHUTDOWN privileges.
  • Verify: set @@old_passwords=0; before setting a new password. Make sure your configuration does not specify old_passwords = 1. There is no reason to use "old passwords". In fact, a 5.6 client will refuse connecting with an "old password".
  • Give no access to mysql.*. No one should be tampering directly with the mysql system tables.
  • Run oak-security-audit or, if you have common_schema installed (you mean you don't?), just CALL security_audit(); I can (almost) guarantee you'd be surprised and thankful for the security breakdown. Users without passwords, users sharing same passwords, users with unreasonable privileges, and more... You'll see them all.
  • If you have web interfaces to your database or some of its aspects (e.g. Anemometer, Propagator, Orchestrator, monitoring, ...), protect it via LDAP group or similar. Not everyone who has access to your network needs to see you database. Neither does every employee.
סגור לתגובות

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

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

Testing PHPNG on Debian/Ubuntu

We (at Zend) want to help people get more involved in testing PHPNG (PHP next generation), so we’re started to provide binaries for it, although it’s still a branch on top of PHP’s master branch. See more details about PHPNG on Zeev Suraski’s blog post.

The binaries (64bit) are compatible with Debian testing/unstable and Ubuntu Trusty (14.04) and up. The mod_php is built for Apache 2.4 which all three flavors have.

The repository is at http://repos.zend.com/zend-server/early-access/phpng/

Installation instructions:

# wget http://repos.zend.com/zend.key -O- 2> /dev/null | apt-key add -
# echo “deb [arch=amd64] http://repos.zend.com/zend-server/early-access/phpng/ trusty zend” > /etc/apt/sources.list.d/phpng.list
# apt-get update
# apt-get install php5

For the task of providing these binaries, I had a pleasure of combining my experience as a member of the Debian PHP team and a Debian Developer with stuff more internal to the PHP development process. Using the already existing Debian packaging enabled me to test more builds scenarios easily (and report problems accoredingly). Hopefully this could also be translated back into providing more experimental packages for Debian and making sure Debian packages are ready for the PHP released after PHP 5.6.


Filed under: Debian GNU/Linux, PHP
סגור לתגובות

ארכיון

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

קראתם נכון, exe.

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

אנא אפשרו לי להוריד את המכתב הזה בתור קובץ טקסט, PDF, ליברה אופיס או לפחות וורד.


נ״ב: בשדות שם המשתמש והססמה אתם עדיין מגדירים dir="rtl", למרות שהם תמיד כתובים משמאל לימין. זה אמור להיות תיקון של שורה אחת. יהיה נחמד אם תתקנו את זה.


סגור לתגובות

דביאן שידרגו אל systemd

המחשב הנייד שלי לא הלך לישון. לא מצאתי את הכניסות הללו בתפריטים של KDE. זה גרם לי לחפש באניטרנט ומצאתי מה נשתנה: דביאן testing עברו כבר אל systemd במקום systemv-init. המעבר היה יחסית חלק.

עדכנתי מחדש מערכת, עשיתי reboot והכל הסתדר. נראה שהייתה בעייה וכבר פתרו אותה. נחמד.  מי שרוצה – פרטים אפשר למצוא כאן: https://wiki.debian.org/systemd

סגור לתגובות

בקרת ג'ובים בלינוקס

בקרת ג'ובים פירושה היכולת לעצור (stop), להקפיא (suspend) תהליכים ולאחר מכן לחדש את הריצה שלהם (start, resume).

טבלת ג'ובים:
ה- shell של לינוקס (bash\sh\ksh\csh\tcsh) מחזיק טבלה של ג'ובים. נריץ את הפקודה הבאה:

$ sleep 10 &
[1] 17029
$

המספר 1 (מוקף בסוגריים מרובעים) זה מס' ה- Job (נקרא JID) ו- 17029 זה מספר התהליך (PID או Process ID).

הצגת טבלת הג'ובים:

$ jobs
[1]+  Running                 sleep 10 &

תחזיר לנו רשימה של ג'ובים שרשומים במערכת.

איך עוצרים תהליך (זמנית)?
שתי אפשרויות:

  • הקשה במקלדת על צירוף המקשים Ctl+Z
  • הקשת הפקודה: kill -s stop PID

איך מחדשים את עבודת התהליך?
גם כאן שתי אפשרויות:

  • הקשת הפקודה: fg %JID תחזיר את ריצת התהליך "קדימה" (forground), כלומר התהליך יחדש את ריצתו ב- shell (הפקודה הקודמת, למשל, לא תחזיר prompt כי הפקודה רצה "קדימה" וה- shell ממתין לסיום הריצה שלה)
  • הקשת הפקודה: bg %JID תחדש את ריצת התהליך אך הוא ירוץ ברקע (background)

איך "הורגים" תהליך (לא ניתן יהיה בעתיד לחדש את עבודתו מאותה הנקודה שבה "הרגנו" אותו)?

kill PID

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

כדי למנוע מצב זה יש שלוש אפשרויות :)

  • להריץ את הפקודה תחת screen ומקביליו (כתבתי על זה כאן)
  • להריץ את הפקודה disown
    $ sleep 10 &
    [1] 17029
    $ disown
    $ exit
  • שימוש בפקודה nohup
    $ nohup sleep 10
My Signature

סגור לתגובות

עוד מערכת לדיווח על אזעקות

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

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

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

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

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

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

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

 

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


תויק תחת:go, Ruby, טכנולוגיה, ממשל, פיתוח, קוד פתוח, תוכנה, תכנות
קטגוריות: Ruby, go, טכנולוגיה, ממשל, פיתוח, קוד פתוח, תוכנה, תכנות | סגור לתגובות

NaCl, Sodium והצפנה

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

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

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

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

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

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


תויק תחת:אבטחת מידע, טכנולוגיה, פיתוח, קהילה, קוד פתוח, תוכנה, תכנות
קטגוריות: אבטחת מידע, טכנולוגיה, פיתוח, קהילה, קוד פתוח, תוכנה, תכנות | סגור לתגובות

לא לסמוך על מיקרוסופט (היה: כנס דרוידקון ישראל)

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

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


 

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

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

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

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

מצד שני, סוני הציגו שם המון חומרה. מכשירים סלולרים טאבלטים שעונים וגם מצלמות. הייתי הרצאה שבה הם הציגו איך אפשר לתקשר עם המצלמות שלהם (אני לא מוצא קישור) ומתברר שה־api שלהם ממש פשוט, הוא json over http over udp. אפשר לתקשר עם המצלמה שלהם עם פיירפוקס בלבד. כמו כן – ה־form factor של המצלמה פשוט מצויין. השעונים שלהם ממש מיותרים. הם גדולים, לא ממש שמישים ומכוערים. אני לא חושב שהטכנולוגיה שם עוד.

לכיוון השני בלטו לרעה מיקרוספט/נוקיה (אני לובש חולצה שחורה שלהם עכשיו…). הדוכן שלהם לא הכיל שום דבר למעט חולצה ועצים מתים. בהרצאות (הם העבירו את אותה הרצאה פעמיים, וכך הבנתי שהיא נכתבה ובויימה על ידי אנשי שיווק ולא באה מתוך המהנדסים) הם הסבירו שהם מיעדים את ה־Nokia X אל השווקים הכושלים שבהם מוכרים עוד נוקיות ישנות (מכשירים לא חכמים). הם בכוונה עושים אותם זולים (אבל מאוד עמידים, המציגים קיבלו הוראה לזרוק את המכשיר לרצפה ולתת בו מכות על הדוכן ולהסביר שהדוכן קיבל dent). הם יכולים להעביר את כל התשתיות שלהם אל המערכות אנדרויד הרגילות, אבל בכוונה רוצים שה־API של Here (המפות שלהם) לא יהיה זמין באנרדויד כלשהו – למעט זה שלהם. יכולות ה־offline שלהם מאד קוסמות, אבל אני לא אקבל אותם.

ה־api שלהם הוא רק 4.1.2 והם לא ממש מעוניננים להתקדם עם ה־api של "אנרדויד תקני" אז תוכנית שאני כותב צריכה להתאים לגרסה שלהם. יש להם דוגמאות איך להתאים את הקוד של האפליקציה שלי שיעבוד עם ה־api של נוקיה במקום זה של גוגל (למשל מפות, in app purchase, cloud messaging ועוד דברים).

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

סגור לתגובות

נסיעה ל־GUADEC שבצרפת בצל המלחמה

ערב טוב.

רציתי לכתוב שאני נוסע ל־GUADEC, הכנס השנתי של מפתחי ומשתמשי GNOME באירופה, כמה שיהיה נחמד וכו׳. אך מי רושם בריש גלי שהוא טס לחו״ל כאשר בארץ מלחמה ? עוד אוסיף שהכנס יערך בשטרסבורג, צרפת, ובימים אלה די מסוכן להסתובב כיהודי ברחובות צרפת.

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

אך תושבי הדרום וחיילי צה״ל בראש. כעת בשעה 1:00 אזעקה במ״א בני שמעון, וחמש דקות מוקדם יותר, ב־00:55 נשמעו אזעקות בקריית גת ובמ״א חוף אשקלון, יואב, לכיש ושפיר. כך זה בדרום – מי שלא ישן במקלט, יאלץ להתעורר לאורך הלילה ולרוץ למקלט.

אצטט את דברי מח״ט הצנחנים, אל״מ אליעזר טולדנו, אמש לחייליו:

צנחנים!

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

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

לוחמים!

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

מדינת ישראל איננה עוד אפשרות, מדינת ישראל היא האפשרות היחידה!

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

הכו באויב, חזור והכה.
אל תניחו לו להרים את הראש!

שמרו זה על זה – צמד הברזל הוא הערובה להבטחה!
שמרו על רווחים גדולים, הירח עומד בשמיים ומביט בנו, האור יהיה רב.

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

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

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

לוחמים,

עם ישראל סומך עלינו, צה"ל סומך עלינו, נרדוף אויבינו ונשיגם ולא נשוב עד כלותם.

כבוד גדול להילחם עמכם.
בהצלחה!

„לוחמים, עם ישראל סומך עלינו, צה"ל סומך עלינו, נרדוף אויבינו ונשיגם ולא נשוב עד כלותם” - אני מבטיח, אנו סומכים עליכם !

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

רציתי להביא דברים שאמר מח״ט גולני, לאחר יום בו נפלו חיילים רבים מחטיבתו, אך לא מצאתי (ואם מישהו ימצא, שיביא ואוסיף).

גולני שלי

1:31 – נשמעה אזעקת צבע אדום במ״א שער הנגב.

לילה טוב לתושבי ישראל, שקט ככל האפשר לתושבי הדרום ולחיילי צה״ל !

בברכה,

יוסף אור

סגור לתגובות

תסריט הודעות מערכת X11

עידכון: התסריט לא נתן מידע מהימן בזמן אמת. 

שימרו את הקובץ נגיד תחת alarm.sh


#!/bin/bash

if [ $# -ne 1 ]; then
echo "$0 expect alert url"
echo "example:"
echo "$0 http://www.oref.org.il/WarningMessages/alerts.json";

exit 1
fi
prevMd5Sum=""
curMd5Sum=""

while true;

do

content=$(wget -qO- $1 | iconv -f UTF16 -t utf-8)
curMd5Sum=$(echo $content |md5sum)
area=$(echo "$content" | tail -n +5 | sed -r -e 's/\]//g' -e 's/\}//g'| tr -d "\r\n")

date=$(date)

if [ -n "$area" ]; then
if [ "$curMd5Sum" != "$prevMd5Sum" ]; then
prevMd5Sum=$curMd5Sum;
echo "ALARM [$content] $date ($area)"
notify-send "צבע אדום" "$area\n$date"
fi
fi
sleep 0.5;

done

יש לתקן את השורה area=`..` כך שזה יוצג בשורה אחת (הוחלף ל $() שיהיה קל יותר להעתיק)

הפעילו באמצעות :

 user@pc: ~/screen ./alaram.sh http://www.oref.org.il/WarningMessages/alerts.json 

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

לפעמים עובד ולפעמים לא , אין צורך ב U-A .
סגור לתגובות

מיקרוסופט נגד כרומבוק – סיבוב שני

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

מוזילה חסמו את האפשרות להזדהות ב NTLMv1 כברירת מחדל

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

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

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

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

לאפשור הנושא יש ללכת ל about:config ושם להחליף מצב ב
 network.negotiate-auth.allow-insecure-ntlm-v1

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

לקריאה מה טקנט אומרים על הנושא ב 2006 -

http://technet.microsoft.com/en-us/magazine/2006.08.securitywatch.aspx
קטגוריות: windows, תוכנה חופשית | סגור לתגובות

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

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

ראשי פרקים:

מה זו תוכנה חופשית, מי זה לינוס טורוולדס, מי זה ריצ'רד סטולמן.

כיצד תוכנה חופשית מגנה על המשתמשים.

באילו תחומים התוכנה החופשית שולטת ומה כל אחד מהם:

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

 

מוביל: מה זה אנדראויד מה התפקיד של לינוקס בסיפור  opengl.

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

מערכות משובוצות מחשב: רסברי פי, אנדרו, android tv וה-pc.

ביט קויין: מה זה, פירוק מונופול יצירת הכסף.

קונסולות מבוססות לינוקס, steamos ומה החשיבות שלה.

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

 

סגור לתגובות

מערכת פשוטה לשיתוף קבצים פנים ארגונית

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

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

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

אז החלטתי כי במקום להמשיך ולחפש תוכנה, אכתוב משהו פשוט שיעשה את זה, ותוך שעה וחצי, כולל דיבוג כתבתי את simple file sharing – גרסת mercurial וגרסת git.
זהו מנוע פשוט, הכתוב ברובי עם סינטרה ללא javascript שאני כתבתי, אלא cgi מול html/css פשוטים מאוד מבוססי foundation.

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

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

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


תויק תחת:Ruby, ui, אינטרנט, אתרי אינטרנט, טכנולוגיה, לינוקס, פיתוח, קוד פתוח, תוכנה
קטגוריות: Ruby, ui, אינטרנט, אתרי אינטרנט, טכנולוגיה, לינוקס, פיתוח, קוד פתוח, תוכנה | סגור לתגובות

שימוש עם SAMBA בכרומבוק/כרומבוקס

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

Migrate Drupal 7 to WordPress 3.9 – The Conclusion

This entry is part 2 of 2 in the series Drupal 7 to Wordpress 3.9 Migration

Migrate Drupal 7 to WordPress 3.9  - To recap, in a previous post on this series, I’ve set the background for my action to migrate  from Drupal 7 to WordPress 3.9. In this post, we will explore the process of making this migration happen.

If you’ve been on this search before to migrate from Drupal to WordPress, then you’ve realized that there aren’t a lot of resources, and that you may have some preferences in regards to the migration process. Some solutions that popped required to have both instances of Drupal and WordPress up and running for some reason, but that didn’t fit my requirements as I wanted to use the same domain and not needing to setup another one just for the migration process. Other solutions are of course professional support services which will perform the migration for you, but you’d have to say goodbye to a few hundred dollars to begin with (prices range from $750 to $3500 for a website migration)

Finding Drupal2Worpdress provided me a good start to get things rolling. As with most things on Github for me, I usually begin by forking a repository and Drupal2Wordpress was no exception. Quickly after I reviewed the code in the original repository I found out that the script is very small and focused, without requiring any special dependencies or extra configuration which was my primary goal – finding the most simple solution as possible. Now I’m ready to take a stub at it.

 

My Video Course - Step by Step Drupal 7 to WordPress 3.9 Migration

I created a Video course on Udemy.com to teach you the skills of migrating Drupal 7 to WordPress 3.9.

I’d appreciate if you leave a review after taking the quick course

Step-by-Step Drupal 7 to WordPress 3.9 Migration Learn how to migrate your content, users, and more from a Drupal 7 website to WordPress 3.9. By the end of this course, you will be able to migrate any Drupal 7 website to a WordPress 3.9 installation. Moreover, you will have an overall understanding of the differences between Drupal and WordPress table schema to estimate the migrated content scope. Includes a step-by-step video tutorial of how to migrate a Drupal website to WordPress. Includes a review of Drupal and WordPress database schema to understand migration effort and complexity. Enrich your skill-set with this knowledge and extend your WordPress consultancy reach

Step-by-Step Drupal 7 to WordPress 3.9 Migration Learn how to migrate your content, users, and more from a Drupal 7 website to WordPress 3.9.

 

 

 

drupal_7_to_wordpress3.9

Getting to Business with Drupal2Wordpress

Drupal2Wordpress is essentially very simple. It only requires to edit the PHP code at the beginning, and set the connection information correctly for both WordPress and Drupal database. That already implies on the characteristics of this migration tool – it expects that both instances of Drupal and WordPress are available through a database connection and since this tool has to be accessible and run on the hosting account service  and be triggered from the web or from a cron job (because hosting accounts do not open their database servers to the public).

Some of my fixes to this tool began with importing any content type from Drupal, yet making sure they are imported into WordPress as eligble posts content type (as opposed to pages for example, which aren’t blog related). URL aliasing has also been fixed so that imported posts in the new WordPress install are just working good, as well as another fix to migrate only approved comments. New additions to the tool included the support for migrating users, and adding a default ‘Blog’ category on WordPress and relating all posts to it (as otherwise they are not displayed).

The tool has been tested and it only requires to get a fresh installation of WordPress 3.9 to migrate any Drupal 7 site to it. You’re welcome to fork out the repository or test it and comment so we can further improve upon it.

Drupal2Wordpress – the Github repository.

 

The post Migrate Drupal 7 to WordPress 3.9 – The Conclusion appeared first on Liran Tal's Enginx.

סגור לתגובות

כנס אלטרנטיבי לאוגוסט פנגווין

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

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

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

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

עריכה: אתר הכנס
ניתן ליצור קשר עם "חתול" – אחד המארגנים.

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

פוסטים נוספים בנושא:


תויק תחת:אוגוסט פנגווין, אירועים, חברה, קהילה, קוד פתוח
קטגוריות: אוגוסט פנגווין, אירועים, חברה, קהילה, קוד פתוח | סגור לתגובות

מיקרוסופט ואנדרואיד – לאן?

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

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

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

הכנס יתקיים באוניברסיטת בן גוריון.


אם דרוש תשלום או תקציב בבקשה אמרו זאת.

טכני:

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

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

פרסום הנושא לכל חבריכם והרשמה כצופה (או דרך המארגן).

בבקשה בצעו הרשמה בשביל שתהיה הערכה של כמות האנשים שמגיעים.

בטיחות:

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


עריכה:

אתר הכנס נכון לעכשיו - foss-b7.hatul.info

הכניסה חינם
קטגוריות: תוכנה חופשית | סגור לתגובות

פוסט יום הולדת

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

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

YomHuledet

עדכון לגבי האתר: בשל מחסור בזמן אכתוב מאמרים חדשים רק אחת לשבועיים (במקום פעם בשבוע). היום והשעה ישארו כפי שהיו (יום ו' בשעה 14:00).

My Signature
סגור לתגובות

Migrate Drupal 7 to WordPress 3.9 – The Kickoff

This entry is part 1 of 2 in the series Drupal 7 to Wordpress 3.9 Migration

The setting

With no specific reason, or maybe with regards to the strong editing capabilities of WordPress out of the box, I wanted to opt out of Drupal as my blogging platform for enginx.com. Even though I’m a seasoned Drupal developer, even authored a book on Drupal 7 Media, and presented the topic on a local Drupal conference, I decided to migrate Drupal 7 to WordPress. Drupal is suitable for many web applications, although it does require quite an effort to maintain and setup in order to fit it to your needs, while with WordPress most of the blogging capabilities are available out of the box with almost no hassle, and for a good reason – WordPress was primarily developed as a blogging platform.

 

My Video Course – Step by Step Drupal 7 to WordPress 3.9 Migration

I created a Video course on Udemy.com to teach you the skills of migrating Drupal 7 to WordPress 3.9.

I’d appreciate if you leave a review after taking the quick course

Step-by-Step Drupal 7 to WordPress 3.9 Migration Learn how to migrate your content, users, and more from a Drupal 7 website to WordPress 3.9. By the end of this course, you will be able to migrate any Drupal 7 website to a WordPress 3.9 installation. Moreover, you will have an overall understanding of the differences between Drupal and WordPress table schema to estimate the migrated content scope. Includes a step-by-step video tutorial of how to migrate a Drupal website to WordPress. Includes a review of Drupal and WordPress database schema to understand migration effort and complexity. Enrich your skill-set with this knowledge and extend your WordPress consultancy reach

Step-by-Step Drupal 7 to WordPress 3.9 Migration Learn how to migrate your content, users, and more from a Drupal 7 website to WordPress 3.9.

 

The Journey

So, off I go on my journey to locate an easy process for migrating my content from Drupal 7 to WordPress 3.9 (versions are critical) and the conclusion is quickly made apparent that while there are handful of procedures, modules and guides on converting from WordPress to Drupal, the opposite flow is quite an uncharted area. This is understandable, given that Drupal is a lot more complex in terms of content structure variety as well as having more of a framework nature than a simple blogging platform, but still, I was pretty sure I’m not the only one.

Researching the migration process it yielded a Drupal2Wordpress Github repository which featured a minimal, yet effective, PHP script which claims to do the job. Unlike other solutions that I found, the migration script doesn’t require an actual live instance of both sites up (the old Drupal site, and the new WordPress site), but simply requires to be configured with the database connection details for both platforms and be uploaded to the hosting account which hosts both. Without further adieu, I jumped on to the task, and as with most things open source (and unpopular or unmaintained) – things aren’t quite working out of the box and require further development effort to fine-tune and create a solid migration.

In a follow-up post I will share more details on the process of performing the actual migration to WordPress3.9, stay tuned!

The post Migrate Drupal 7 to WordPress 3.9 – The Kickoff appeared first on Liran Tal's Enginx.

סגור לתגובות

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

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

נכון להיום זה רק פאטץ שלא ידוע אם יאושר או לא, אינני כותב הפאטץ אני רק עושה review.


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

עדכון 11:51: הכנס מתקיים בשיתוף קבוצת GDG באר שבע.
עדכון 12:13: הועלה פתיל במהקורה? בו קיים מידע נוסף כגון הרשמה לביצוע הרצאות.
עדכון 12:36: אדם אחד נרשם להרצות, צריכים עוד.

דורשים מתנדבים נוספים כרגיל צילום / פירסום / הנגשה וכו' - ההרשמה דרך המארגן.
קטגוריות: תוכנה חופשית | סגור לתגובות

node.js כן או לא ?

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

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

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

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

אמנם node.js לא משתמש ב webkit או ב blink, אבל הוא יוצר לי בעיות קשות:

  1. האם v8 ישאר גם מחר ?
  2. האם יהיה fork ?
  3. האם הוא ימשיך להיתמך ?
  4. האם הכיון שלו כיום ישאר, או אולי ישוכתב/ישתנה לגמרי בגרסאות חדשות יותר ?

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

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

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

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

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


תויק תחת:google, javascript, khtml, אינטרנט, אירגונים וחברות, טכנולוגיה, פיתוח, קוד פתוח, תוכנה, תכנות, תקשורת
קטגוריות: google, javascript, khtml, אינטרנט, אירגונים וחברות, טכנולוגיה, פיתוח, קוד פתוח, תוכנה, תכנות, תקשורת | סגור לתגובות

המחשת מהירות הגלישה בשורת הפקודה

השבוע אחד השכנים קרא לי וביקש להתייעץ בנושא רוחב הפס של האינטרנט הביתי שלו. היום הוא גולש בחבילה של 100 מגה והוא מעוניין להשתדרג ל- 200 מגה כי "האינטרנט לא זז לו". ואכן בדיקה באתר speedtest העלתה שרוחב הפס שלו מול הספק הוא 100Mb אך מול youtube הוא גלש במהירות מרשימה של 10Kb.

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

הרצה של הפקודה

speedtest-cli

תציג את מהירות הגלישה מול שרת speedtest.net הקרוב ביותר אליכם מבחינה גאוגרפית.

הרצה של הפקודה

speedtest-cli –list

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

speedtest-cli –server 935

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

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

My Signature
סגור לתגובות

סליחה, יש לכם אולי זמן ללמוד טכנולוגיה חדשה ?

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

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

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

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

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

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

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

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

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

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


תויק תחת:אירגונים וחברות, טיפים וטריקים, טכנולוגיה, ניהול פרויקטים, עבודה, קוד פתוח
קטגוריות: אירגונים וחברות, טיפים וטריקים, טכנולוגיה, ניהול פרויקטים, עבודה, קוד פתוח | סגור לתגובות

MEAN.io v0.4 released – this is how you stay relevant

If you’re working with a fork of the MEAN.io github repository then you’d probably want to track it as an upstream repository to get all the updates and advances in the MEAN.io framework as it progresses.

MEAN.IO

To set the upstream tracking, if you didn’t do it already you need to perform the following:


git remote add upstream https://github.com/linnovate/mean.git
git fetch upstream
git checkout master
git merge upstream/master

The above will add the official MEAN.io github repository as your upstream repository to track it, it fetches everything (doesn’t merge anything though), then you’ll be switching to your local master branch and merge any changes with the above (you can rebase too to get a cleaner copy of the repository but it’s not always recommended).

Once that’s done, you’re going to need to update packages accordingly, so run the following:


npm cache clean && npm install && npm update
bower cache clean && bower install && bower update

 

If you’re still getting errors when trying to run mean or running the test suites with grunt test, then you probably need to clean up your node_modules information and re-install everything, as follows:

mv public/ /tmp
mv node_modules/ /tmp
npm cache clean && npm install && npm update
bower cache clean && bower install && bower update

The post MEAN.io v0.4 released – this is how you stay relevant appeared first on Liran Tal's Enginx.

סגור לתגובות

Perl Maven – June 2014

A month ago the Perl Maven Pro subscription was one year old. I outlined some plans back then but unfortunately I could not fully implement them last month.

For the full article visit Perl Maven - June 2014

סגור לתגובות

סיכום גוגל I/O

בכנס גוגל I/O האחרון הציגה גוגל חידושים רבים, והייתי רוצה להתעכב על חלק מהם בפוסט זה. נתחיל במכשירים: בגוגל I/O לא הוצגו מכשירים חדשים, מה שגרם לחרושת שמועות שתוכנית NEXUS מתה מכיוון שעתה יש מכשירים של יצרנים שונים עם ROM … להמשיך לקרוא
סגור לתגובות

Removal of (some) PHP related software from Debian

The Debian FTP masters have for quite a while a line in their reject FAQ about the PHP license. Despite that, quite a lot of PHP extensions were uploaded to the archive and accepted. Some are being managed/developed in PHP.net’s PECL website, and are done under the umbrella of the PHP Group, which is the group the PHP license is refers to. Over time, we started to see many more extension being developed outside of the PHP group (both technically with sites like github and copyright wise).  This is true to certain degree with the PHP.net’s PEAR  website which has software written in PHP.

The issue has been raised again in October 2013 with php-gearman using the PHP license while having different copyright holders (bug #728196). After discussions (ftp masters, release team & Ondřej), it was agreed that the current interpretation is still relevant, and almost all extensions and applications should be either removed or re-licensed by its upstream. This makes the todo list 41 packages long (full list based on Ondřej Surý’s bug reports). Any help with contacting upstream projects, explaining the situation and requesting a license change would be welcomed. We also need to monitor new release based on fulfilling these requests.

Until such a change happen, with automatic removal of packages from testing, we’re going to see packages disappear after mid July. This has a little wider affect due to package dependencies, but for the moment only on testing (Jessie).


Filed under: Debian GNU/Linux, PHP
סגור לתגובות

1.7: מפגש מתכנתי Qt בנושא אנדרואיד

ביום ג, ה 1/7 נקיים מפגש מפתחים בנושא ארכיטקטורת Android למפתחי Qt. המפגש יתקיים בקמפוס גוגל, מגדל אלקטרה ת״א קומה 26. 


אני ארצה שם אודות פיתוח ב-Qt עבור Android. לפרטים והרשמה בחינם:
http://www.meetup.com/QtEverywhere/Tel-Aviv-Yafo-IL/1026432/

תוכנית המפגש:

Qt 5.3 מספקת הזדמנות אמיתית למפתחים לכתוב אפליקציות חוצות פלטפורמות הכוללות גם מובייל: אייפון, אנדרואיד ו־Windows Phone. הפריימוורק מאפשר גישה מלאה ליכולות הטלפון, בנוסף לממשקי תכנות נוחים (APIs) עבור חיישנים, רשת, בלוטות' ומולטימדיה.

אם אתם מתכוונים להגיע, נא להירשם בעמוד האירוע במיטאפ כאן:
http://www.meetup.com/QtEverywhere/Tel-Aviv-Yafo-IL/1026432/

סגור לתגובות

היררכיה וחלוקה לרמות זה לא סלקציה

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

wxWidgets 2.8 to 3.0 Migration: Converting wxString to Numbers

wxWidgets provides a set of utility methods to converts wxString to various integer types such as ToLong(). While the documentation for those functions remained roughly the same between wxWidgets 2.8 and 3.0 the implementation did change. In wxWidgets 2.8, if the string was empty, using any of the number converstion functions would result in the value 0. But, in wxWidgets 3.0 it’s different as can be learned from the following comment in wxstring.cpp:

// notice that we return false without modifying the output parameter at all if
// nothing could be parsed but we do modify it and return false then if we did
// parse something successfully but not the entire string

This means that if you relied on ToLong() to store 0 to the pointer to long when given empty string, in wxWidgets 3.0 you will get uninitialized value there.

I also noticed when comparing the code of wxString in 2.8 and 3.0, that they implemented the integer conversion functions using C macros, while in 2.8 they used templates. I wonder why it was changed, as it looks more like a regression to me.

סגור לתגובות

daloRADIUS User Portal Password Change – fix

daloRADIUS User Portal fix has been applied w ith regards to following up on SourceForge’s support request: #17 Cannot change password via User Portal

The problem in question is only reproducible for Crypt type password when saving user’s password attributes to the database. The background for is that when daloRADIUS saves user’s password in the database with Cleartext-Password attribute then obviously there is no issue as the password is indeed cleartext.

With Crypt type passwords though the problem lies in the fact that daloRADIUS saves encrypted passwords to the database based on MySQL’s own ENCRYPT() function and it does not care to pass a salt. Due to this, when users login to the daloRADIUS Users Portal and wish to change their authentication password it fails because it isn’t possible to re-encrypt their old/current password and match it against the database (because the salt provided to ENCRYPT() is now different).

The fix that has been provided is to provide a constant salt when calling ENCRYPT() so this will work for newly created accounts or for those which have been edited by a daloRADIUS administrator account and only following that users will be able to update their own passwords when daloRADIUS is configured to work with Crypt passwords.

daloradius-commit-2121

The post daloRADIUS User Portal Password Change – fix appeared first on Liran Tal's Enginx.

סגור לתגובות

Linux Mint 17

לפני מס' ימים שוחררו כל הגרסאות החדשות של לינוקס מינט 17: XFCE, KDE, MATE, CINNAMON. מה שמיוחד בשחרור האחרון זה שמפתח ההפצה (Clem Lefebvre) החליט לשנות את מודל הפיתוח: ההפצה מוגדרת כ- LTS‏ (Long Term Support) ותיתמך עד לשנת 2019 (אם אובונטו תהיה קיימת עד אז…). אחת לחצי שנה Clem ישפצר/ישדרג את סביבת העבודה מבלי שיצטרך לדאוג ליציבות בסיס ההפצה (אי לכך קוד ההפצה ישתנה רק במספר: כלומר לינוס מינט 17.1, 17.2 ועוד…)

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

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

אסיים בפן אישי: אני לא מתחבר ל- KDE ,Unity ו- Gnome 3 ומוצא את עצמי חוזר יותר ויותר לשורשים, כלומר לשולחנות העבודה הקלילים והיציבים שפשוט עושים בשבילי את העבודה (XFCE, OPENBOX). מסיבה זאת אתקין על אחד המחשבים את Linux Mint 17 XFCE ואסקר בעתיד את חוות דעתי מההפצה.

My Signature
סגור לתגובות

מספרי שורה יחסיים ב־Vim

כידוע לנו פקודות תנועה ועריכה ב־Vim לוקחות בחשבון את המספר אשר בא לפניהן. לדוגמא, כדי לנוע 15 שורות למעלה אפשר להשתמש בפקודה 15k וכדי להזיח פנימה את 5 השורות הבאות משתמשים ב־ 5>>.

מצד שני, ספירת או חישוב השורות אינה משימה מהנה במיוחד וגם לא מחוייבת המציאות - מספור שורה יחסי, אשר הוצג ב־Vim 7.3, בא לעזרתנו. מפעילים אותה בעזרת :set relativenumber (או :set rnu).

ניקח בחשבון את תצלום המסך הבא אשר כולל markdown עם רשימת אלמנטי html וברצוני להזיח פנימה את כל האלמנטים הקשורים לטבלה (השורה הכוללת th). אני נמצא כבר על אלמנט ה־table אז כמה שורות עלי להזיח ?

/img/posts/vim-line-number.png

הבה נפעיל את מספור השורה היחסי:

/img/posts/vim-relative-number.png

כעת קל לראות שאלמנט ה־th נמצא תשע שורות למטה, לכן עלי להזיח 10 שורות (כולל הנוכחית), כלומר 10>>.

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

כדי לחזור למספור שורה נורמלי יש להשתמש ב־ :set norelativenumber (או :set nornu (וכדי להחליף בין המצבים :set relativenumber! או :set rnu!).

למידע נוסף, כרגיל, :h relativenumber.

סגור לתגובות

daloRADIUS 7th Anniversary – 2014 Wrap-up

The daloRADIUS project is celebrating it’s 7th Anniversary this month as a mature product on SourceForge and one of the most leading open source project in this industry! I had a feeling I’d need to convince you so here’s the pitch with some slides and backing this up with numbers and data:

DaloRADIUS 2014 – 7th Anniversary

 

 

daloradius-logo-transparent

 

 

daloRADIUS project was founded way back in the early days of April-May 2007.

 

 

It started out as a mundane open source project which I desired to develop due to the unsupported and lack of solution in this Network   Operations Center (NOC) and overall RADIUS-based niche audience. Back then the only open source solution for managing a RADIUS   based deployment was dialupadmin, which was pretty poor in features, if to be honest, and it amazed me that no one else jumped the gun   here.

 

Illustration – The RADIUS Protocol in a nut-shell

radius-protocol

And so it has began. I was out of work (then quitting a cool startup position due to no foreseeable career growth) and with nothing but time on my hands to kick off this project. One of the hardest thing I ever had to do was figure out how to name this project – one of the most annoying problems software engineers are faced with daily – naming variables, functions, classes and sometimes even their own projects.

daloradius-interview-snippet-2008-freesoftwaremagazine

If you’re hungry for the juicy gossip of why I ended up calling this project daloRADIUS,  you might want to give a quick read to an interview I had with the FreeSoftwareMagazinehttp://www.freesoftwaremagazine.com/articles/interview_liran_tal_author_daloradius

The post daloRADIUS 7th Anniversary – 2014 Wrap-up appeared first on Liran Tal's Enginx.

סגור לתגובות

סקירה: מנהל ההורדות Axel

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

מה מיוחד ב- axel?
יכולת לחלק את ההורדה למס' מקטעים כדי להאיץ את קצב ההורדה:

axel -n 10 http://link_to_file

במקרה הזה הקובץ יפוצל ל- 10 מקטעים שיורדו במקביל

יכולת להוריד את אותו הקובץ מאתרי מראה שונים ולהאיץ מאוד את קצב ההורדה:

axel http://link_to_mirror1 http://link_to_mirror2



מעבר לכך שהכלי מאוד קליל הוא גם מאוד משוכלל:

  • ניתן להגביל את קצת ההורדה באמצעות הדגל max-speed
  • ניתן להוריד קבצים מאתרי web ומאתרי FTP
  • ניתן להורות לתוכנה לחפש עבורכם אתרי מראה באמצעות הדגל search
My Signature
סגור לתגובות

PASV NLST connection closed by remote host

שרפתי קצת זמן על ביצוע NLST במצב PASV והייתי מקבל  connection closed by remote host

מה שעשיתי היה : 

ftp -d 10.0.0.2
Connected to 10.0.0.2.
220---------- Welcome to Pure-FTPd [privsep] [TLS] ----------
220-You are user number 1 of 50 allowed.
220-Local time is now 15:54. Server port: 21.
220-IPv6 connections are also welcome on this server.
220 You will be disconnected after 15 minutes of inactivity.

Name (10,0,0,2,:user): user
---> USER user
331 User user OK. Password required
Password:
---> PASS XXXX
230 OK. Current directory is /home/user
---> SYST
215 UNIX Type: L8
Remote system type is UNIX.
Using binary mode to transfer files.
ftp> quote PASV
---> PASV
227 Entering Passive Mode (10,0,0,2,133,5)
ftp> quote NLST
---> NLST


מה שלא עשיתי היה לפתוח חיבור נוסף ל 10.0.0.2:34503


מקורות:

http://www.ietf.org/rfc/rfc959.txt

http://ubuntuforums.org/showthread.php?t=1909740

http://www.slacksite.com/other/ftp.html#passive

http://www.softpanorama.org/Net/Application_layer/Ftp/troubleshooting.shtml
קטגוריות: תוכנה חופשית | סגור לתגובות

שנה לפרוייקט Loon

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

Drupal Performance Tuning for Better Database Utilization – Introduction

This entry is part 1 of 1 in the series Drupal Performance Tuning for Better Database Utilization

Drupal is a great CMS or CMF, whichever your take on it, but it can definitely grow up to be a resources hog with all of those contributed modules implementing hooks to no avail. It is even worse when developers aren’t always performance oriented (or security oriented god save us all) and this can (unknowingly) take it’s toll on your web application performance.

Drupal performance tuning has seen it’s share through many presentation decks, tutorials, and even dedicated books such as PacktPub’s Drupal 6 Performance Tips but it seems to be an always continuing task to get great performance so here are some thoughts on where you should start looking.

meme-drupal-database-performance

 

Checklist for glancing further into Drupal’s rabbit hole and getting insights on tuning your web application for better performance:

  1. Enable MySQL slow query log to trace all the queries which take a long time (usually >1 is enough, and with later versions of MySQL or compliant databases like Percona or MariaDB you can also specify milliseconds for the slow query log)
  2. Enable MySQL slow query log to also log any queries without indexes
  3. Make sure to review all of those query logs with EXPLAIN to figure out which queries can be better constructed to employ good use of indexes. Where indexes are missing it’s worth reviewing if the database would benefit from modifying existing indexes (and not breaking older queries)
  4. Use percona-toolkit to review out standing queries
  5. Use New Relic’s PHP server side engine which can tune into your web application and provide great analysis on function call time, wall time, and overall execution pipelines. While it’s not a must, I’ve personally experienced it and it’s a great SaaS offering for an immediate solution without having to need to install alternatives like XHProf or Webgrind.

 

The post Drupal Performance Tuning for Better Database Utilization – Introduction appeared first on Liran Tal's Enginx.

סגור לתגובות

חדשות בנושאי תוכנה חופשית, טכנולוגיה וחברה

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

תהנו.
חדשות בנושאי תוכנה חופשית, טכנולוגיה וחברה

סגור לתגובות

הויתור על BTRFS לעת עתה

במסגרת התקנה של Arch על אחד הניידים  בחרתי את אחד המדריכים כדרך זה:  https://wiki.archlinux.org/index.php/Installation_guide והתחלתי אותו: כמובן שקיבלתי לפני כן דיסק של ארצ' והגענו לקטע של הגדרת המחיצות... בשיקול בחירת המחיצות ובגלל שזה תחביב ולא עבודה סדרי העדיפויות היו לבחור במערכת קבצים מהירה ולא יציבה... הבחירה הייתה במערכת הקבצים btrfs  עם שימוש בכלי cfdisk מחקתי את מחיצת החלונות
סגור לתגובות

MEAN.io Session Cookie parameters

Continuing with my contribution to the MEAN.io (MongoDB, ExpressJS, AngularJS, and NodeJS) technology stack (or should we say framework by now with the progress it’s been making?) I’ve submitted another pull request to allow setting up MEAN.io session cookie parameters.

It is often required for enterprise applications to set session cookie parameters and not rely on Express’s defaults. These parameters are for example the cookie expiration time, and whether the session cookie will require the website to run in an SSL-enabled environment.

This PR adds support for default parameters on the cookie session and allows developers to set them as required globally, or per environment (development, testing, and production). Description on the session cookie parameters themselves have been added as well to make this easy to configure.

 

adding support for configurable session cookie parameters for express · 532dea9 · linnovate mean

The post MEAN.io Session Cookie parameters appeared first on Liran Tal's Enginx.

סגור לתגובות

פקודות מוזרות בלינוקס

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

$yes Hello World
Hello Worldׁ
Hello World
Hello World

תדפיס אינסוף פעמים על המסך את מה שתרשמו אחרי המילה yes.


אז Yes, אני ממשיך לפקודה הבאה והיא toilet (שירותים). מישהו מבין את הקשר בין שם הפקודה לבין מה שהיא עושה?

$ toilet Hello
 
 m    m        ""#    ""#          
 #    #  mmm     #      #     mmm  
 #mmmm# #"  #    #      #    #" "#
 #    # #""""    #      #    #   #
 #    # "#mm"    "mm    "mm  "#m#"



מפתחים שונים אוהבים מאוד את הפרה ויש מס' פקודות שמתייחסות אליה: הפרה המדברת (cowsay), החושבת (cowthink) וגרסאותיהן הגרפיות (xcowsay ו- xcowthink)

$ cowsay I love you
 ____________
< I love you >
 ————
        \   ^__^
         \  (oo)\_______
            (__)\       )\/\
                ||—-w |
                ||     ||



ומה עם קצת מזלות (סטייל פתקאות בזוקה)? ברור שקיימת פקודה לכך: fortune

$fortune

You're not my type.  For that matter, you're not even my species!!!



ניתן כמובן לשרשר את furtune ל- cowsay והפרה החמודה תדקלם את המזל:

$fortune | cowsay
 _________________________________________
/ Q: How many Oregonians does it take to  \
| screw in a light bulb? A: Three. One to |
| screw in the light bulb and two to fend |
| off all those                           |
|                                         |
| Californians trying to share the        |
\ experience.                             /
 —————————————–
        \   ^__^
         \  (oo)\_______
            (__)\       )\/\
                ||—-w |
                ||     ||



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

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

My Signature
סגור לתגובות