World of Goo

במהלך חיפוש אחרי המשחק הבא שלי בGamespot גיליתי את World of Goo, משחק פאזלים שקיבל את הציון המבטיח 9.
הורדתי אותו מרשת הביטורנט הקרובה לביתי (ISO פצפון של 150 מגה), התקנתי והתאהבתי במשחק.
עבר הרבה זמן מאז שראיתי משחק מקורי באמת.
המשחק הוא בעצם סימולציה פיזיקלית של ג'יפות קטנות בשם Goo, מכל מני סוגים.
המטרה, בדומה למטרה בלמינגס היא להביא כמות מסויימת של ג'יפוני גו למשאבה שמעבירה אל השלב הבא.
כדי להגיע לשם, בונים מהג'יפונים מגדלים, גשרים ומה לא.
המשחק פשוט כיף צרוף.

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

Facebook Comments

sqlfairy

הסיטואציה הבאה תהיה מוכרת לכמה מפתחים:

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

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

איך מעבירים את השינויים האלו למערכת הפרודקשן?

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

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

בגדול, כדי לעבור מסכימה אחת לשניה, מה שצריך לעשות זה להוריד את המבנה של שני הסכימות לקובץ עם mysqldump, למשל:
[code]
source db.conf
mysqldump –no-data -h $HOST -u $USER –password=$PASS $DB_NAME $TABLES | gzip > struct.sql.gz
[/code]

כאשר הקובץ db.conf מכיל את המשתנים הדרושים להתחבר:
[code]
HOST=server_host (usually localhost)
USER=username
PASS=password
DB_NAME=database_name
TABLES="table1 table2 table3"
[/code]

ברגע ששיש לנו את שתי הסכימות ביד, ואחרי שהתקנו את SQLFairy כמובן (apt-get install sqlfairy על דביאן לני, אם אתם על Etch תתקינו ידנית מהקוד, הגרסא שבEtch לא עובדת טוב), אפשר לקבל הוראות מעבר מסכימה אחת לשניה כך:
[code]
sqlt-diff current.sql=MySQL new.sql=MySQL 2> /dev/null > diff.sql
[/code]

זה יפיק הוראות מעבר (CREATE , ALTER, DROP) שיהיה אפשר להריץ על בסיס הנתונים כדי לישר קו בין הסכימות.
(אני שולח את stderr ל/dev/null כי יש אזהרות חסרות חשיבות מהסקריפט שנובעות מגרסת perl יותר חדשה מזו שהסקיפט פוחת עליה)
אני משתמש בסקריפט דומה לזה כדי להפוך את התהליך ליותר קל (הקובץ prod-struct.sql.gz מכיל את מבנה הסכימה שאני רוצה לקבל) :
[code]
#! /bin/bash
source db.conf
mysqldump –no-data -h $HOST -u $USER –password=$PASS $DB_NAME $TABLES > current.sql
zcat prod-struct.sql.gz > new.sql
sqlt-diff current.sql=MySQL new.sql=MySQL 2> /dev/null > diff.sql
cat diff.sql
echo "Type yes to apply changes"
read RESP
[[ $RESP == "yes" ]] || { rm -f current.sql diff.sql new.sql;exit; }
echo "updating database structure"
cat diff.sql | mysql -h $HOST -u $USER –password=$PASS $DB_NAME
rm current.sql new.sql diff.sql
[/code]

Facebook Comments

החבאת מידע בגוגל קאש

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

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

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

הקוד של הדף זמין פה.

מה דעתכם? 🙂

Facebook Comments

עקב הירידה במחיר הדלק, קרוסאובר בחינם, רק היום

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

שווה לנסות, פעם אחרונה שניסיתי התרשמתי מהנוחות מקלות השימוש, אבל
אני אישית הזמנתי שני סריאלים :).

האתר של קוד וויברס קצת קרס בגלל שמישהו דיגג (מלשון Digg) פוסט שמספר על המבצע.

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

Facebook Comments

בוקסי

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

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

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

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

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

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

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

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

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

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

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

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

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

quick intro to boxee from boxee on Vimeo.

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

Facebook Comments

שדרוג דביאן Etch לLenny

שדרגתי את השרת שמפעיל את הבלוג הזה ואת האתר של פיירסטטס מדביאן Etch לדביאן Lenny.
הסיבה היא שקצתי בחבילות ישנות, ספציפית יש לי בעיה באתר של פיירסטטס (שרץ על trac) שמאוד יכול להיות שנובעת מגרסא ישנה של python ו/או גרסא ישנה של sqlite.

בכל אופן, השדרוג לא היה חלק במיוחד, אבל נראה שהוא הסתיים בהצלחה.
באופן רגיל, שדרוג של הפצת דביאן מתבצע כך:
משנים את /etc/apt/sources.list ומחליפים כל אזכור של etch בlenny.
מבצעים apt-get update
מבצעים apt-get dist-upgrade
ומקווים לטוב.

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

כדי לצמצם את הזמן שהאתר היה למטה, הורדתי מבעוד מועד את כל החבילות על ידי הרצת:
apt-get dist-upgrade –download-only
שמוריד את מה שצריך אבל לא מתקין.

אחרי ההכנות האלו, הרצתי dist-upgdade רגיל בתקוה שההרפתקאה לא תהפוך לסופת חרא.
אחרי השדרוג, הבעיה הראשונה שהבחנתי בה היתה שהאפאצ'י מתלונן על זה:
[code]
apache2[Fri Oct 24 19:09:36 2008] [warn] NameVirtualHost *:80 has no VirtualHosts
[/code]
מסתבר שהחברים בדביאן החליטו להוסיף את ההצהרה על שימוש בהוסטים וירטואליים לקובץ הports.conf, מה שאמר שהיו שתי הצהרות כאלו.
הודעת השגיאה הסתומה שקיבלתי היא התוצאה.
הסרתי את ההגדרה שלי והבעיה נעלמה.

בעיה נוספת היא שtrac הפסיק לעבוד.
האמת היא שמכיוון שלא התקנתי את trac דרך apt-get הייתי מופתע אם הוא ההיה ממשיך לעבוד.
הסיבה הפעם היא שדביאן לני מתשמש בPython 2.5 ומכיוון שתוכניות פייתון מותקנות משום מה לתוך ספריה שספציפית לגרסאת הפייתון, הייתי צריך להתקין מחדש את trac לתוך פייתון 2.5.
עד כאן הכל טוב.

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

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

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

Facebook Comments

castup

הודעה ששלחתי לתמיכה הטכנית של castup:

שלום,
כשאני גולש באתרים שמתמשים בשרות שלכם אני מרגיש כאילו השנה היא 1999 והאינטרנט הישראלי בחיתוליו.
בתור חברה שמכנה את עצמה "Leading developer and service provider" אתם מתהדרים בטכנולוגיה נחותה למדי שעובדת רק אצל חלק מהמשתמשים.
יש מגוון פתרונות של הזרמת וידאו שעובדים בצורה פורטבילית גם על לינוקס ומק, אבל אתם מתעקשים להשתמש בטכנולוגיות שעובדות רק בחלונות.
האם יש תקווה שהמצב ישתפר עוד בתום העשור הראשון למאה העשרים ואחת?

בתודה,
עמרי ידן.

הודעה זו פורסמה בבלוג שלי, http://firefang.net/blog

Facebook Comments

True blood, Sanctuary, The Wire

דם אמיתי (True blood) היא סדרה חדשה בHBO של המפיק אלן בול (Six feet under).
הסדרה מספרת על סוקי, מלצרית טלפתית (וחוצפנית) בעולם שבו ערפדים הם עובדת חיים, והם יצאו מהארון מתים אחרי שחברה יפנית ייצרה תחליף דם סינטטי בשם דם אמיתי (True blood) שמאפשר לערפדים להתקיים בלי לשתות אנשים.. כלומר, לאלו מהם שרוצים לעשות את זה.
סדרה מצויינת.

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

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

Facebook Comments

FireStats 1.6.0-beta1

בשעה טובה, נולדה גרסאת פיירסטטס חדשה – פיירסטטס 1.6.0-bete1.
בין השינויים הבולטים (רשימת שינויים עם תמונות):
* תמיכה במנויי רסס (לתורמים בלבד, כן – רק מי שתרם יקבל).
* שיפור ביצועים משמעותי מאוד.
* אפשרות לדפדף בטבלאת הכניסות האחרונות אפילו לדלג לתאריך
* אפשרות להקלטת כניסות באמצעות ג'אווה סקריפט, נסיוני.
* תמיכה בדשבורד של וורדפרס 2.5
* שיפורים בטבלאת ניהול האתרים : חיפוש, דיפדוף. שימושי בעיקר לאתרי WPMU עתירי בלוגים.

תיקוני באגים, ועוד כמה דברים קטנים.

רשימה מלאה של השינויים יש פה.

Facebook Comments