Search This Blog

Thursday, December 18, 2014

How to create a Google Blogger template (from scratch)

Searching for something completely different, I ran into this excellent guide, short and concise, explaining how to create a Google Blogger template on your own, from the beginning. 

Part 1: 



Part 2: 

Warning: For those of us who may read this at work or another location with people around, please Pay attention that both videos have music.

Monday, December 8, 2014

סיפורה של הרשת החברתית דיאספורה, שהבטיחה להפיל את פייסבוק, ולא הצליחה

מאמר מעניין בדה מארקר מספר את סיפורה של הרשת החברתית דיאספורה, שהבטיחה להפיל את פייסבוק, ולא הצליחה:
"דיאספורה, שהוקמה על ידי איליה ז’יטומירסקי, דן גריפי, מקס זלצברג ורפאל סופר, היתה מלכתחילה עוף מוזר בעולם הטכנולוגיה: חברה למטרות רווח שהוקמה מתוך מטרה אידיאולוגית... פייסבוק האיצה את התהליך שבו ויתרו אנשים מרצון על הפרטיות שלהם. היא רתמה את הצורך האנושי הבסיסי לתקשר עם אחרים, ובאמצעותו שיכנעה אנשים להצטרף לפלטפורמה שמרדדת את אותו צורך. היא היתה הצלחה מסחררת, חלוצת המודל שבו הגולשים נהנים ממה שנראה להם כשירות בחינם, בלי להבין שהם המוצר. ... בעיני רוחם, דמיינו ארבעת ההאקרים הצעירים רשת חברתית מסוג אחר, כזאת שתכבד את משתמשיה, שבמקום לקחת את המידע שלהם ולעשות ממנו כסף תעניק להם שליטה במידע האישי שלהם ובזהותם הדיגיטלית. מדיה חברתית היתה קיימת פחות מעשור בשלב הזה, וכבר השוק נשלט על ידי חברה אחת - עדיין לא היה מאוחר מדי להציע מודל אחר לזה שפייסבוק ייצגה. ...רשת חברתית שמבוססת על שורה ארוכה של שרתים (“pods”) שיאחסנו את התוכן שלהם ומאפשרת למשתמשים להתקין שרתים משלהם ולתקשר ישירות עם חבריהם, ללא עיניים בולשות של גורמים לא רצויים. ... באותה תקופה קיקסטארטר עוד היה בחיתוליו, והארבעה החליטו לגייס דרכו כסף
... 40 יום לאחר מכן, כשהקמפיין הסתיים, הם גייסו 200,642 אלף דולר מ–6,479 תומכים נלהבים מרחבי העולם. .... אחד מהתורמים של דיאספורה בקיקסטארטר, למרבה האירוניה, היה אחד, מארק צוקרברג, שתרם 1,000 דולר מכיסו למען הקמפיין. “אני חושב שזה מגניב שאנשים מנסים לעשות את זה”, הוא אמר אז. “אני רואה קצת מעצמי בהם”. ... מאחורי ארבעת המייסדים היתה כעת קהילה נלהבת של תורמים ותומכים שתמכו בחזון שלהם וביקשו לראות אותו מתממש. ...
הסחות דעת היו מכל עבר: היזמים הצעירים הוזמנו לראיונות ולכנסים בכל העולם. בקיצים, היה פסטיבל ברנינג מן בנוואדה. לצד שעות העבודה הרבות ללא שכר, גם הניסיון לשלב חיים חברתיים רגילים של גברים צעירים בני 20 הוסיף ללחץ המתגבר. ... הארבעה התחילו גם להסתכסך מבחינה מקצועית. זלצברג, הכריזמטי שביניהם, רצה להיות המנכ”ל. האחרים לא תמכו ברצונו. הוויכוח לגבי מקומם בעמק הסיליקון - אם הם צריכים להשתלב בתרבות ההון־סיכון, או לייצג משהו חדש - הלך והעמיק ככל שהכסף הלך ואזל. ... הארבעה ניסו לגייס כסף ....אבל למרות ההתלהבות מהרעיון לא הצליחו לשכנע אותן בפוטנציאל העסקי של המיזם. הם היו טירונים, ועשו טעויות: הם ביקשו יותר מדי כסף, לא ידעו לתאר את המוצר שלהם בהצלחה, וגוגל פלוס הושקה בסמוך לאותה תקופה. פתאום דיאספורה נראתה פתטית, על סף החוסר רלוונטיות. כמה כבר היו שווים הדולרים שהיא הצליחה לגייס לעומת המיליארדים של גוגל וחברות אחרות שניסו להפיל את פייסבוק מצמרת הרשתות החברתיות? .... היתה להם רשימת המתנה של 500 אלף שרצו להצטרף לרשת, אבל לא היו להם את המימון או היכולת להתמודד עם הביקוש.
...
זמן קצר לאחר שהשיקו גירסה מדורגת של הרשת, טרגדיה איימה להפיל את המיזם לנצח. ב–11 נובמבר 2011 שם ז’יטומירסקי קץ לחייו. דיווחים שהתפרסמו לאחר מותו קשרו בין הבעיות הנפשיות שמהן סבל ללחץ שבו היה נתון באותה תקופה. ...  מותו של ז’יטומירסקי, שתואר על ידי חבריו לדיאספורה כ'לב והנשמה' של הפרויקט, היה הרסני. המייסדים האחרים נותרו אובדי עצות ... כמה שבועות לאחר מכן, הם נטשו את הפרויקט באופן סופי, והעבירו את מה שנותר ממנו לקהילת המשתמשים של דיאספורה, שמפתחת ומנהלת אותו מאז. ... כיום יש לה כ–1.1 מיליון משתמשים והיא מנוהלת באופן מבוזר על ידי קהילת המשתמשים שלה, שמפעילים אותה ללא מטרות רווח ... לא הצליחה לחדור למיינסטרים או לבלום, ולו במעט, את המכונה האדירה של פייסבוק. ... הפרטיות הפסידה, והמונופול של פייסבוק חזק מאי־פעם. האידיאליזם, שניסה לכבוש את עמק הסיליקון ולעצב מחדש את האינטרנט באופן שלא ינצל לרעה את משתמשיו, נחל תבוסה מוחצת. ... מייסדי דיאספורה היו המבשרים של תנועה שחודרת, יותר ויותר, למיינסטרים. בעקבות חשיפות סנודן, שחשפו את יכולות המעקב המשוכללות של סוכנויות הביון, גם גוגל ואפל מדברות כיום על הצפנה. תרבות הנגד שדיאספורה ייצגה, ועדיין מייצגת, רואה בימים אלה את האידיאלים שלה חודרים בהדרגה לזרם המרכזי."

אפשר להסכים, אפשר שלא, אבל שווה לקרוא.

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

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

קישורים רלוונטיים

Wednesday, October 22, 2014

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

חבר פנה אליי, מעט כועס. הוא מצא עצמו מתמודד עם מכונה וירוטואלית שמריצה לינוקס מינט ישן שפעם עזרתי בקונפיגורציה שלה (15, הגירסא הזכורה לטוב בשם olivia). הבעיה - סיסמת המכונה נשכחה, הוא נזקק לגישה מהירה לתכניה.
למה הוא כעס? הרי לא אני שכחתי בשבילו את הסיסמא.
הוא שכח, כי הוא ניסה להתמודד בעצמו עם הבעיה, ולא הצליח. 
בראשית הוא ניסה לחפש באינטרנט הוראות להתמודדות עם מינט שסיסמתו נשכחה באינטרנט. מצא הוראות שכאלה. אבל המכונה לא התנהלה בהתאם להוראות. לא הצליח. 
לאחר מכן, בנחישות, הוא ניסה לעקוב אחרי ההוראות שמצא בבלוג שלי בפוסט Forgot your linux CentOS root password. וגם זה לא הצליח לו.
בשלב הזה, מתוסכל, החליט להתקשר. למרבה המזל לא זכרתי את הסיסמא בעצמי, כך שהדיון התמקד בשאלות הטכניות: 1) מדוע העצות שמצא באינטרנט ובבלוג שלי לא עבדו. 2) איך משנים סיסמא במינט אם אין גישה לאף משתמש?

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

איך משנים סיסמא בלינוקס מינט 15 כשלא זוכרים סיסמאות של אף משתמש?
1. לאתחל את המכונה. כשהמכונה עולה ללחוץ על Shift, ואז במקום שמינט יעלה ישר אל מסך הלוגין הגרפי, הוא יציג את התפריט של Grub:

2. לוחצים e כשעומדים על השורה הראשונה, כדי לערוך אותה. 
3. במסך אליו עוברים, יורדים (עם החץ) עד שרואים שורה שמתחילה עם linux (שורה שלישית מהסוף במסך שלמטה)


4. זזים עם הסימן עד לסוף השורה, ושם להוסיף  init=/bin/bash . התוצאה צריכה להראות דומה למה שנראה במסך הבא.

5. ואז לוחצים על שילוב המקשים CTRL-x (או על מקש הפונקציה f10) - כדי שהמכונה תמשיך בboot ותעלה עם האפשרות החדשה.

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

6. כשהמכונה מסיימת לעלות, לעשות mount מחדש בצורה שתאפשר שמירת המידע -
mount -o remount,rw / 
7. ואז לשנות את הסיסמא של מי שרוצים - 
passwd userX
8. ואז לוודא שכל המידע נשמר לדיסקים -
sync 
9. ואז להמשיך בעליית המכונה על ידי - 
exec /sbin/init 
המכונה תעלה, ואפשר יהיה להיכנס ולעבוד. 

מה בעצם קרה כאן ? 
בעצם נתנו הוראה לגרעין של לינוקס (linux kernel) להריץ את bash שתחת התיקיה "bin/" במקום להריץ את init
(למי שלא מכיר, זה הדיימון הראשון שעולה במהלך העלייה של לינוקס ואחראי לכל עליית המערכת ויצירת סביבת מערכת ההפעלה).

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

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

לקריאה נוספת


Saturday, October 11, 2014

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


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

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

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



Sunday, September 28, 2014

How can you find your Seagate hard drive's manufacturing date? How can you find what your Seagate date code means?

I found myself staring at a hard disk that failed about two years ago, and for one reason or another did not get to the usual break-up process I employ when getting rid of old household hard-disks(most probably because of a fantasy I enjoy of trying to salvage the disk or information on it, using those interesting movies one can find on youtube, seeking information salvage). Then I found myself wondering about the production date. How old was this disk? Was there a point in doing anything with it? 
It wasn't something particularly logical - I knew the disk was old enough to throw away without any guilt, and yet, I just had a wish - to know how old was that hard disk? was it reasonable MTBF that brought it to its end of life ? Was it reasonable to throw it away without any other last treatments, other than the dis-assembly routine meant to verify it will not be salvaged AFTER thrown to the trash? 

The disk, an old Seagate Barracuda (7200.11 model, 500 GBs) came built into an external storage case. It bore on it a date code but nothing dechipherable to my human mind. What could I do? 

Having conducted several Google searches, I discovered that deciphering date codes is a little harder than one could have expected. 

At First, I tried finding out thru seagate's website, but only came with their guide to locating the serial number and model. Despite appreciating their inclusive attitude which foresaw the possibility of tackling an online disk and a disconnected disk being provided with an answer I already knew did not make me happy.I aspired more. 

The warranty validation tool did not help me much either. 

But then I came to this discussion on expert-exchange and this mail archive reference and everything became clear. Turns out Seagate has this wonderful coding system. The date code format is either YYWWD or YYWD. 

YY stands for the fiscal year. Seagate has a wonderful way to manage a fiscal year, starting on the first saturday of July. That means that YY stands for the second year of the date years involved. 14 for example, would mark a disk manufactured during the fiscal year 2013-2014. 

WW stands of the number of the week during the fiscal year (1-52). 

D marks the day from the beginning of the week (weeks run from Saturday to Friday in Seagate's view) in which the disk was made. (lets ,make it clear: the day of the WW week, not the week after).

This meant that my 08405 code date bearing disk was manufactured in the fiscal year 2007-2008, on the 40th week of that year, on the 5th day. 

But what date is it? I mean, ok, such data gives us this disk was manufactured on the last quarter of fiscal year 2007-2008, which is not too bad, considering I'm writing this during the third quarter of date year 2014. But I wanted to know the REAL production date. 

The aforementioned discussion in expert-exchange suggests using the julian date for the calculations, but I found the conversion and re-conversion and all of the jazz in between too cumbersome. And besides, those guys were dealing with the problems eons ago, in Internet-time (one year before I actually purchased my disk). There had to be better tools for this problem in the internet, even if Seagate's people still did not think customers should know production dates easily, certainly those of products not directly purchased from them.  

Scratching my head, the solution became clearer: 
  1. First, lets find out when the fiscal year began. According to a 2007 calendar, for my disk, this was 7/7/2007 (a neat date, wouldn't you say?)
  2. Now, using an internet date calculator, we add X weeks to the original date. This brought me to the beginning of the 40th week - 7/4/2008. 
  3. Now, all that is left is to find the day of the week and counting in my head, I found myself thinking of the 11/4/2008. 
The only problem was that a direct calculator I found during my searches, claiming to convert Seagate code-dates to real dates, insisted that my disk was manufactured on 8/4/2008. 

mmm... 

In the past, hardware manufacturers would place more obvious information inside the case... 
Eight tiny torx screws later (one hidden behind stickers of sorts) it turned out Seagate no longer holds that ancient custom... 

More internet searches then... 
As always, once you get the right key-words, your search produces a lot more information. Had I known that there is this much abundance of documentation regarding this issue, this post would never have been written, but now, this late in the game, what is the point in dumping it? if it won't help, surely it will not harm anyone... and there is this nagging issue of the difference between my solution and the one provided by that online decoder.... 

What has my new search of "seagate date code " produced ? (and only in the first page !... how was the new search differently phrased, compared with my initial searches? simply put, i committed the original sin of using too many words. Also, too inaccuracies have fallen. Check the header of this post. Its first half represent where I started my searches. Its second half represents the current stage). 
  • Have you ever purchased a Seagate drive and wondered how to interpret the Date Code printed on the label? simple and straightforward answer in an australian technology forum.
  • Another guy explaining how date code should be decoded (unlike me, not providing his way to this knowledge. but in that aspect, I do believe in sharing the path, because the path is much more important than the outcome, as the path teaches how to fish, and not just how to eat a fish.... ). The interesting thing about this guy, is that I tried to calculate the production date of his disk, based on the label he provided, and there was the same gap - 3 days, just as I had with the online decoder. Could it be that he was using it without telling it ? Or am I making a mistake while everyone else are doing ok? 
  • Seagate Datecode Calculator at Western Networks. Great! lets see how they compare with the other decoder and with my own calculations? we agree about 2008, 40 weeks, 5th day.... but their production date is... Wednesday, April 9, 2008... yucK!  ....checking the guy from the previous point, they did  agree with me, not him! Why do we have this day difference?....
Disappointing... seems like I will have to develop my own decoder. Oh well... 

After thoughts
  • All of this would probably have never been reached such a post had the disk been a non-OEM sale for Seagate. For regular disks, the warranty test at their website produces all needed information, or so I'm told. (no Seagate disk at hand at the moment, but I will check out in the earliest opportunity)
  • Until I reach that time and place when a decoder of my own shows up on the web (is it useful enough to be rewritten afterwards as a web-app ? what do you think? mmm... I wonder... not your 1 million $ app, but no one can say this is not a useful little thing... but I digress)  - the decoder I recommend is the one suggested by Western Networks


Monday, September 15, 2014

Windows 9 is just around the corner, and is looking better than 8...

TechCrunch reports of "Leaked" clips that display Windows 9 functionality. Somehow, regardless of the security qualities of the relevant franchise, such videos always leak, don't they?

Whatever we may think of the origin of these videos, Windows 9  looks better than 8 (and yes, the START button is back!)

The overall impression these clips leave is that the promise of Windows 8 is finally delivered...



What can you say? Redmond keeps its tradition. Will Windows 9 be as grand a hit as Windows 3,1, Windows 98, Windows XP and Windows 7 were ? Hard to tell. Unlike the past, the competition in this age of various gadgets, ranging from smart-watches to powerful servers, seems to be much harder than in the past. But if these videos are any clue, Microsoft is still giving a fight! 

Thursday, September 4, 2014

howto set communications between virtual box guests

The Simplest and shortest way: 

  1. Open the machine's setting.
  2. Choose Network.
  3. Set the adapter detail's "to "bridged networking" or  in a more updated version of Virtual box,     Set Adapter "Attached To:"  to "Bridged Adapter". 
  4. Configure the guest machine with a permanent ip address according to your network's structure and the machine's operating system. 
  5. Repeat 1-4 for the other guest. 

That it is. 

image of a Virtual Box guest Network Settings



[updated: 04/09/2015] 

Saturday, August 23, 2014

re-visiting the old website (take2)

I found myself returning to my old website (of which I've told about in this blog), for several reasons:

One, the idea that a problematic creation of mine was out there was annoying me. 
The other, the thought that it should be simple enough a process to bring it to a minimal level of ok-ness, which drove me further ahead. 

Admittedly, it took time, as I was busy with other issues, but then it happened. While moving from one residence to another, I found myself in one of those late evenings when you finished your daily toll, are not awake enough to do more serious stuff but are not tired enough to go to sleep. And my fingers lead me to my website. 

And thus I found myself starting to check things out. Once I started, it became clear that I had to decide what was it that made me judge something as reasonable-enough and what didn't.

This was not a simple decision.

Back in 2000, my design expectations were very low and I could live with a very simple result. Design was not really an issue, as long as it did not hurt my eyes.
Legal issues were not a big issue back then.
Nowadays both design and law are.

I could not tell what was the source of most of the images that I used in the website. Some of them were my own work. Others were most definitely free to use. But others were of an unknown origin.
I could not find the creator, and therefore could not know whether their usage was proper.
Worse, it was safe to assume that like many other remnants of the first dot-com bubble age, it might be that ownership of such images has been passed along to some large corporation who may come and remind me of my youthful sins one day. 

Worse still, I discovered that the email I used there was no longer accessible. Lycos have deleted it, and being a non-US resident, I could not re-open it for free. Suddenly the project of reconstruction was beginning to accumulate costs! 

Beyond all that was the matter of design. Screen sizes of 2000 were tiny in comparison to today's technologies. My design choices of the time were limited by my knowledge, but even more so, by the technologies. The visual outcome in modern browsers is unpleasant. Not a good user experience. In retrospect, I could have done things differently, and much better. In current perspective, there is a great room for improvement. But good and proper redesign would mean a lot more work than I had bargained for. 

What is there to do ? 

Both the technical creator and the prudent adviser within my reached the same conclusion: the best alternative would be to shut it down. 


For Nostalgia's sake I kept a few screen images of the creation that was about to be lost. 

The welcome page
One of the saddest things in the technical world is a project stuch in mid-work, for eternity


The Search Page
In a time when there was no dominant search page, and a proper search meant using several search engines for the task, it was quite a nifty and useful little thing. 


The Technical page
This page was a very long page, providing useful links to all the technologies and web locations that interested me at the time. This image does not do it justice. 


The Opinions page
various opinions,  stories and quotes were discussed on this page.  Of them, the only that I truly was sorry to see lost, is the memorial section of my late brother, Moshe Shabtai, so, unlike other page-snapshots, here comes another part of the opinions page...

The opinions page - part 2
You can read more about my brother, Moshe Shabtai, on the IDF memorial site


The Favorites page 
most of the favorites page was automatically created, using the favorites lists of my favorite  browser of the time, Internet Explorer. I wrote a tiny java program for that purpose, fat2html. This is the source code and this is the bytecode



The miscellaneous page
Any organizing system requires one of these general compartments... 


The 'Under Construction' Gallery 

At first, this was actually a section I intended to construct (culture, games and other possibilities were considered). But somehow, I found myself finding more and more cool 'under construction' gifs and images, and thus the gallery was formed. In comparison with a current google query 'under construction gallery' it would not have fared well, but for its time it was fun to watch. Sadly, being unable to track down the source of most of the images, would mean that even if I find myself at some time trying to reconstruct the old website, this section would have to be created from scratch, following a prudent and just collection process. 



Having documented the website, I could now proceed to its deletion.

This is how website appears on freeservers,com after all its content was deleted: 

And then all that was left was the final strike - deleting the asset itself from the system: 

 Farewell, shabtai.freeservers.com ! 










[updated: 27/02/2105] 

Tuesday, July 29, 2014

oracle tidbits: the trouble with triggers

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

מתברר שטום קייט עצמו, בערך עשור אחרי שהדאטה-בייס טריגרס נוספו לאורקל , כתב כתבה שמטילה ספק עצום לגבי רוב השימושים המקובלים בטריגרים. במילותיו של האיש עצמו (שכדרכו, חריף ומדוייק, יודע גם לחזור בתשובה):
Once upon a time, a long time ago, 
 I thought triggers were the coolest thing ever and I used (and abused) them heavily. Now, whenever possible, I will go very far out of my way to avoid a trigger.
וחייבים לתת לו את זה - הוא מאוד משכנע.

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

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

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

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

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

Thursday, July 17, 2014

Forgot your linux CentOS root password ? Facing an old linux machine and all passwords lost to oblivion? Have not fear!

Introduction
A friend emailed, confused. We worked on a shared initiative a few years ago, using virtual machines as the development environments. He wants to refresh his memory about something we did there, but alas! he has no recollection of the passwords and thus he can't access the virtual machine. 

After I emailed back with instructions on how to recall the passwords (believing it is better to give a man a fishing rod than a fish), I realized that it was not the first time I answered such a question nor will it be the last, and thought it would be better to compile a short guide for future comfort. 

Preliminary notes
(1) although you can use this technique to gain access to a machine that is not yours, do not do it. Such conduct is immoral and criminal. If you are caught, you will spend jail time. If you are not caught, it does not make you a good person. Be a good human being. There are not enough of these in this world. 
(2) this howto is demonstrated on a CentOS machine. It should work on most linux distributions that use grub as the boot manager. 

How to change root's password if you do not know it?
And now that we all know that we use the following instructions to regain access to machines that we are lawfully allowed to access, lets get into the details: 

1. Reboot the machine. 
2. Press the escape key , to stop the boot and get to the boot menu 


3. Press a (to append the boot entry adding to the end) 
4. add "1" (without the quote marks) or "single" (without the quote marks) at the end of the line. 

5. press enter 
6. The machine shall boot into single user mode


7. change the password of any user you like using passwd, including the root. 
8. reboot. 

More notes (mainly for newbies):
1. as this usually happens to people i know regarding old machines, when all passwords are forgotten, a rather embarrassing situation sometimes occurs. Having changed the root password and rebooting, people return to the graphic entry screen, but then are unable to login thru the graphic interface because of the limitations aimed at preventing working full time as root (limitations which I DO NOT RECOMMEND TO CHANGE). 














the solution for the predicament: if you have root but need to change another user's password, 
when you get to the main boot screen press CTRL+ALT+F2 (or another of the F keys that gets us to console screen); login thru the console screen as root;  passwd the users you need for login thru graphic mode.... ; CTRL+ALT+F1 will return you to the graphic interface. (mostly. in some distributions as far as I recall its CTRL+ALT+F7); and now you can peacefully login... 

2. This solution is required only if root's password is forgotten/unknown. after all, from root (or root group members) you can change anyone else. 

3. Even though the outline suggests that you only change root's password in single user mode, if we are dealing with an ancient relic whose entire password set is forgotten, try to work elegantly and use the opportunity and change whoever is necessary. 

4. in real life, you can't use this to hack into a machine, unless you have physical access to its console. 

5. in general, remember the maxim: "with great power comes a great responsibility". 


Friday, June 20, 2014

John Oliver explains Net Neutrality

John Oliver explains the recent Net Neutrality controversy, that possibility of a two-tier internet. As usual, the man explains a complicated issue very cleverly, breaks it down in a way very easy to understand, and does all that while being very funny.  


Did I say that this entire explanation will take less than 15 minutes of your time? 

Thursday, May 8, 2014

problems verifying your old blog in Google Webmaster Tools? Maybe you made the following mistake

Verifying one's new blog in Google Webmaster Tools an easy process, as it happens automatically (or at least is supposed to take place automatically. I've heard stories). But Doing this with an old blog is a simple process, and thus I was surprised to receive a phone call from an exhausted friend, complaining that he has been trying to verify his blog with Google Webmaster Tools for several hours, and whatever he did, the verification process failed. 

As we started the investigative process together, it turned out that the blog was already verified, under a domain name (he decided to give up, having seen that a "real" domain did not bring him any more traffic than "blogspot.com" domains. easier, as it happens automatically upon creation). Blogging being a hobby of his, he completely forgot about the issue of Google Webmaster Tools, and was reminded by it when he received automated email from the Google Webmaster Tools, informing him that Googlebot was unable to access his blog using the old domain. 

Being a very direct fellow, he deleted the old blog from the Webmaster Tools, and created the new one, only to be confronted with the issue of verification. 

  • He first tried the recommended option. He added a meta tag to hos home page, editing the HTML code (you go to template and press the "EDIT HTML" button). The verification failed.
  • Therefore, he tried one of the alternative verification options. He first tried uploading an HTML file with a specified name to blogger, and discovered the endless hassle that this method requires. This hassle is resulted first because of the techniques required if you need to proved access via an html address that is imposed by Google Webmaster Tools, under the root of the website. But it is also resulted by Blogger's automatic formatting of the code, making identification of the verification code rather difficult, as the code is encased with a plethora of unnecessary tags.  At the end of his efforts, the verification understandably failed.
  • Having spent significant time on this apparently simple technical issue, he decided to try a third method, hoping that this would be the lucky one. Sadly, Adding the Google Analytics code to the heading of the website did not help. (Yes, unlike Analytics regular code, which should be added to the bottom of a page due to performance considerations, for verification purposes Google requires this piece of code to be added at the head section. Go figure).  The verification failed. 
Frustrated, with none of the methods working, he called me, complaining about the horrible evening he was having. All he wanted was just to blog. Why is he hunted by technical issues? Is it bad Karma from previous life? Or maybe the vengeful actions of an angry deity he has insulted somehow? 

I started by trying to understand why the recommended option did not work. In my experience, getting back to the beginning is usually the fastest path to a happy end. 

It took me two minutes of viewing the code, scratching my head and experimenting to identify the problem. 

What I saw was that he entered the following code: 

Whereas he should have done the following: 

His failure to realize the importance of placing the meta code withing the "<head> </head>" section, and instead placing it above it, was the cause of the problem.

Now, if you are a person of a technical orientation, you have surely experienced this somewhat Super-Hero like intervention. You are called to assist in a problem, you come, immediately identify the error and voilà! things work. 

After a grateful departure, I tried, as I usually do, to think about two aspects of the situation my friend got into: (1) How was the problem created? (2) Why was I able to solve it so quickly. 

The answer to both is extremely simple. (1) You need to understand what you are doing. (2) You need to be able to actually see things. 

Sometimes simplicity is not enough. When I write that you need to understand what you are doing, I mean that you have to be conscious of your actions. My friend has the technical know-how. 
He just happened to try and do things as quick as possible, and therefore did not concentrate enough to realize he was making a mistake. This is the root of all evil in any form of technical work. God is in the details. You must be concentrated. 

When I write that you need to be able to actually see things, I am talking of this form of technical blindness that sometimes attacks one, being to distracted by other things. You write code, or set things up in a certain way, and afterwards, are unable to actually see what is wrong. In such cases the best cure is one of the greatest advantages of team work: the fresh look. 

Wednesday, April 2, 2014

מחשבות על רשתות חברתיות

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

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

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

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

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

ומסיבות, כידוע, הן משהו שיש לו התחלה ויש לו סוף.

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

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

ויש כמובן עוד שאלות שעולות. כידוע יש בסביבת המובייל כמה וכמה אפליקציות שנותנות שירותי תקשורת כאלה ואחרים. לכאורה, אלה סביבות מסיבה אלטרנטיביות. אבל מדברים שיצא לי להחליף עם חבר'ה שעובדים בפיתוח השירותים האלה, קיבלתי רושם (שאולי הוא שגוי, כי לא חקרתי את זה בצורה מסודרת, רק דיברתי על זה כשהזדמן) שרמת הengagement של אנשים עם המשחקים החברתיים המוצעים בסביבות האלטרנטיביות האלה היא לא משהו. די בניגוד למה שקורה בסביבות המשחקים של פייסבוק (אולי תפסיקו כבר להציע לי לשחק candy crush או dragon city? דחיל רבאק. כמה זמן יש לבן-אדם ביום?)
למה המסיבה הזו שונה מאחרות? איך נסביר את הדינמיקה בין אתרי gaming שמצליחים בפני עצמם לבין אתרי רשתות חברתיות. והאם נכון לתאר את אתרי הgaming ככלים או כתהליכים?
(למשל, אני חושב על chess.com, האתר האהוב עליי למשחקי שח-בליץ. יצא לי לנהל שם די הרבה שיחות מאז שהתמכרתי לצורת השחמט המוזרה הזו. זה בפירוש גם אתר שיש בו אינטראקציות חברתיות)

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

החובה קוראת לי לסיים, אבל אני מקווה שהמשך יבוא...


Sunday, March 23, 2014

Problem viewing full screen in Youtube while using Google Chrome?

Recently I ran into a funny problem viewing Youtube. I could not view full screen videos. Despite clicking the full screen button, the video would play at a larger display, about two thirds of the screen. Sometimes it would hang. This problem only happened with some of the videos. 

I checked other browsers, and discovered that it was a problem unique to Chrome.

I found a solution to a similar problem on Wikihow, and was glad to see that it works on this problem as well. 

Turns out Flash player installs more than one plugin. The problem is a result of a bug in one of the plugins. If you disable that plugin, the browser will use instead the other plugin with the aforementioned bug being resolved. 

The Wikihow article has a full detailed howto, with screenshots, so I'll only summarize the solution here, and point where you need to deviate from their guidance: 
1. Go to the plugins installed on Chrome (type URL: chrome://plugins/ )
2. Click the "Details" link on the upper right corner of the screen. 
3. Locate the plugins of Flash Player (In my computer they were first on the list)
4. HERE WE DEVIATE FROM WIKIHOW: 
    Disable the "PPAPI" plugin (first on the list here, and if to deduce from Wikihow - in all Chrome installations). 


It is important to understand that this change is not without a price. NPAPI is old technology. PPAPI is a new and considerably better architecture to glue a web browser and a native application. You can read more about it - 
Sadly, if you browse the web, it seems that PPAPI  is one of those examples where innovation is getting in the way of getting things done. I prefer this solution, which enables me to keep using Chrome as my main browser while at the same time being able to use youtube without a hindrance. As far as I can tell, others also choose disabling the PPAPI flash player plugin, as it gets in their usages of flash. 

Another possible solution is using another browser. As far as I could check, neither Firefox, Internet Explorer or Opera had this problem... 



Thursday, February 20, 2014

Facebook, Whatsapp and the elephant in the room

The media is all over itself with excitement. Facebok is purchasing Whatsapp for 19 billion dollars

The deal is huge in financial terms. It is a dramatic change in the market of Social Networks. The world's largest social network purchases the fastest growing mobile-based social network, which also happens to be a leading social network in usage by youth. 

And still, one cannot think about this deal without noticing the huge elephant in the corner of the room. Facebook, just like Google, has a business model that is mostly structured on selling ads

Whatsapp, unlike the aforementioned, has a business model based on  the good old custom of 'charge a fee for a service'. Whatsapp's model is one that has been considered by many as a relic of an outmoded economic system, since the early days of the first dotcom bubble, and the company's ability to thrive and grow in an astounding rate was a proof of the old wisdom of Ecclesiastes 1:9,  "what  has been done shall be done again", and a stated major cause for Facebook's interest. 

The difference in business models is significant to the analysis of the deal, because currently Whatsapp charges 0.99$ a year for its service, and as long as this is the only source of revenue, there is a clear cap on the revenues this app can produce. 

WhatsApp currently has more than 450 million users (active on a monthly basis). It has been assessed that the current growth rate means that WhatsApp is "on a path to reach over 1 billion people worldwide in the next few years". This means that Facebook is willing to spend 19 billion $ on a corporation who currently has earnings around half a billion, and is expected to rise in the next few years to about 1 billion US$. Remember that we are talking Revenues here, not Profits.  

Thus, accepting a working assumption  that Facebook has made a rational investment, we can safely assume that some change to Whatsapp's business model is expected to come. 

But if we remember that Whatsapp's open objection to ads is a matter of principle, the elephant is starting to get more and more noticeable. 

Lets refresh our memory in this principle-based objection to profiting from ads. The following is taken from Whatsapp explanation, on their website, why they do not sell ads: 
"When we sat down to start our own thing together three years ago we wanted to make something that wasn’t just another ad clearinghouse. We wanted to spend our time building a service people wanted to use because it worked and saved them money and made their lives better in a small way. We knew that we could charge people directly if we could do all those things. We knew we could do what most people aim to do every day: avoid ads...."
This choice was further explained :
"Advertising isn’t just the disruption of aesthetics, the insults to your intelligence and the interruption of your train of thought. At every company that sells ads, a significant portion of their engineering team spends their day tuning data mining, writing better code to collect all your personal data, upgrading the servers that hold all the data and making sure it’s all being logged and collated and sliced and packaged and shipped out."
So, on the one hand, we have Facebook, currently an ad-seller, with a proven track record of purchasing services that had no advertisements and introducing ads in them
On the other hand, we have Whatsapp, currently a service-for-fee provider, with stated intentions to remain that way. 

What other usage can Facebook have for Whatsapp ? 

Some point on other advantages the deal brings for Facebook. It gets to extend its franchise far beyond its primary site, and also gets an interesting play into developing markets. Are these worth 19 Billion US$ ? 

Others point out that the deal, for Facebook, is not about financial aspects. It is about Growth. Whatsapp is considered to be strong in developing markets, where Facebook is weaker. But how can the two social networks be connected ? After all, haven't people who selected WhatsApp already shown some aversion to Facebook? How will they react to the idea of Facebook coming to them ?

Connecting growth-as-a-target for Facebook with the failed Snapchat acquisition, the reality behind this deal begins to reveal, and the nature of the elephant in the room is becoming clearer.

The last piece in the puzzle will fall into place, if we remember that about a month ago, it has been reported that researchers claim that Facebook's viral development indicate that by 2017 the social network shall undergo a similar process to Myspace's demise.

Suddenly, it all looks clear. WhatsApp is worth any sum of money, if you try to make sure that your building of cards will not start to fall. I believe that WhatsApp has been purchased with the hope that it will invigorate Facebook. The question that remains open is how will this elephant behave ? What will Facebook do with WhatsApp?

The bigger question is how are Whatsapp users going to respond ?

Are users going to be as excited about Whatsapp, now that it will be affiliated to Facebook?

Are youthful persons, wishing to be in virtual spaces where they can express themselves free of a watchful eye of an adult relative, prefer WhatsApp over  competing services which do not carry the fear of a possible near future linkage to the social network where the parents have accounts ? 

For this purchase to succeed, something else must happen - users should remain faithful to Whatsapp and not move on to other ventures. How loyal are they going to be, sensing the elephant in the room ? 

Thursday, January 30, 2014

How to move Google Analytics data to other account?

Yesterday's post sufficiently explains the background for the sudden need to move Google Analytics data to other account. But how can this be done? 

After several attempts and searches it appeared that there might be no other solution than to lose the information already gathered and start anew in another accoung, but then a stackoverflow discussion suggested a fine work-around: 
1) add the other google account as a full-priviliges user
( through abalytics interface, go to admin and under the account tab, choose manage users. 
or 
go to admin \ choose account \ and under asset, choose manage users. )
2) delete the first google account from the Analytics privileged users following the same instructions. 



Wednesday, January 29, 2014

How to change adsense account associated with a blog?

A blog partnership came to its ending as my partner chose a different path. In the past, when we started that venture, he was a newcomer to the blogger arena and as he wanted to learn the ropes, and I was swamped in too many projects, the quick-and-dirty solution that was chosen was to assign a greater share of the ongoing operations role to him, and to make things easy for him, important services were configured through his Google account (It might not have been a solution that would work in any partnership, but in this case the aforementioned partner is a dear childhood friend, and the partnership dissolution, like anything between us, is done with care and compassion. Still, I don't think I would advise to anyone going into such a partnership in that format). 

Thus we found ourselves having to make some technical changes. The first -  how to change the Adsense account associated with that blogger site?   

After toying around and not finding the answer myself, the answer came up in a Google search, through a Google support answer
1) blogger interface\layout\clicking adsense gadget\choosing - 
"switch to a different Publisher ID" and following through the process there. 

or 

2) blogger interface\earnings\choosing "switch to a different Publisher ID" and following through the process there. 

As simple as that.