Tuesday, October 26, 2010

התקנת Flash על Linux Xubuntu 64Bit

התקנתי לאחרונה את הגרסה האחרונה של Xubuntu. גרסה 10.04. למי שלא שמע, Xubuntu היא גרסה של Ubuntu/Debian Linux עם סביבת עבודה רזה קלילה מהירה ונוחה בשם xfce. אני עוד ארחיב את הנושא, אבל עקרונית אני מאוד מרוצה. התקנה עברה מהר נוח וחלק על ה - Laptop שלי כולל עיברית וכו'.

כאשר ניסיתי להתקין Adobe Flash Player הייתי קצת בבעייה, היות והתקנתי את גרסת ה - 64Bit עדיין לא היה Player נוח וזמין להורדה אלא רק גירסת בטא ניסיונית שמגיעה בתור קובץ אחד בלבד ללא התקנה אוטומטית.

אז כיצד כן מתקינים.
מורידים את גרסת ה - "square" ל - 64Bit Linux מהאתר של Adobe.
ואז איך מחברים אותה. פשוט מאוד:
מעתיקים את הקובץ לספריית ה - Plugins של Mozilla.
sudo cp /home/xxx/Downloads/libflashplayer.so /usr/lib/mozilla/plugins

מפעילים מחדש את Chrome או Firefox והכל עובד ...

כן, התקנתי את Chrome ל - Linux ואני מאוד מרוצה. אגב Chrome בגרסת ה - 32Bit כבר מגיע עם Flash.

Thursday, October 21, 2010

החלפה בין שני משתנים ב - PHP

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

$a = 5;
$b = 7;

כמובן שאפשר להחליף ערכים באמצעות משתנה שלישי:
$x = $a;
$a = $b;
$b = $x;

אבל זו לא חוכמה כל כך גדולה ...
אפשר גם להחליף ערכים בצורה כזו, קצת יותר מתחוכמת ועושה שימוש בפונקציה list:
list($a, $b) = array($b, $a);

אבל זה לא יעבוד עם מערכים, ולכן מצאתי שיטה נוספת להחלפת משתנים
$x ^= $y ^= $x ^= $y;

חמוד לא?


Thursday, September 30, 2010

התקנת Apache 2.2 בעיות עם Windows 7

התקנת Apache 2.2 לעיתים נתקלת בבעיות ב - Windows 7.

ראשית, יש להריץ את ההתקנה עם הרשאות Administrator.
לעיתים, גם אחרי התקנה מוצלחת ישנן בעיות בהרצת Apache.

שיטה מצויינת לבדוק תקלות היא לנסות ולהריץ את apache באופן ישיר, כלומר את httpd.exe ישירות.

אני קיבלתי את הודעת השגיאה הנ"ל:
C:\Program Files\Apache Software Foundation\Apache2.2\bin>net start apache2.2
The Apache2.2 service is starting.
The Apache2.2 service could not be started.

A system error has occurred.

System error 1067 has occurred.

The process terminated unexpectedly.

ואכן, כאשר הרצתי את:
C:\Program Files\Apache Software Foundation\Apache2.2\bin>httpd.exe

הוא הודיע שחסר קובץ: msvcr71.dll ולאחר שהתקנתי אותו, apache רץ חלק.

Sunday, September 26, 2010

עזרה בקינפוג mysql על Linux

סקריפט חמוד שגיליתי לאחרונה עוזר לקנפג את MySQL על לינוקס. תומך עד גרסה 5.1.*

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

http://www.day32.com/MySQL/

פשוט להוריד ולהריץ.

עדכון: 28.7.2011
האתר עצמו ירד, ולכן ניתן לחפש את הקובץ tuning-primer.sh
או להוריד אותו מכאן: tuning-primer.sh

בנוסף קובץ חדש ומעניין לניתוח והמלצות על הרצת MySQL ניתן להוריד את mysqltuner.pl

Monday, September 20, 2010

Mysql indexes Shortcuts

Mysql indexes

Inside a table:
INDEX(indexed_column)

Multiple Column Index
INDEX(indexed_column, indexed_column2)

Add Index to a table
ALTER TABLE table_name ADD INDEX(indexed_column)

Show Indexes:
SHOW INDEXES FROM table_name;

Remove Index
ALTER TABLE table_name DROP INDEX index_name;

Thursday, September 16, 2010

שליטה ב - VirtualBox בשורת הפקודה ב - Linux

לתכנת VirtualBox המאפשרת וירטואליזציה של מערכות הפעלה ישנה אפשרות לשלוט במערכות הרצות מתוך ה - Command Line. דבר זה מאפשר להפעיל את מערכות ההפעלה ללא ממשק משתמש אמיתי, כלומר ללא GUI. כמו כן זה מאפשר הפעלה אוטומטית של מערכות וירטואליות.

VBoxManage listvm

מאפשר לקבל רשימה של מערכות וירטואליות

VBoxManage startvm “Windows XP”

יפעיל לנו את מערכת ההפעלה בשם Windows-XP

VBoxManage startvm “Windows XP” --type=headless

יפעיל את מערכת ההפעלה הוירטואלית ללא חלון GUI.

VBoxManage controlvm “Windows XP” poweroff

יכבה את מערכת ההפעלה הוירטואלית.

לקריאה נוספת על VBoxManager VirtualBox Command Line

Wednesday, September 15, 2010

מיפוי ספריית windows מתוך מערכת linux

יש להתקין smbfs
sudo apt-get install smbfs

ואח"כ יש לבצע את המיפוי:
לדוגמא:
sudo mount -t smbfs -o username=myusername //192.168.0.10/sharename /media/test

לקריאה נוספת

Monday, June 7, 2010

העתקת רשומות מטבלה לטבלה ב - mysql

בכדי ליצור טבלה חדשה מטבלה קיימת, כלומר להעתיק טבלה ה - Syntax של MySQL הוא מאוד נח:

CREATE TABLE newtable FROM SELECT * FROM oldtable

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

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

INSERT IGNORE INTO dsttable SELECT * FROM srctable

לקריאה נוספת: mysql, stackoverflow

Thursday, May 13, 2010

התקנת LaserJet HP 4050N מדפסת רשת ב - Windows 7

התקנת מדפסת רשת,
Control Panel -> Devices and Printers
Add Printer
Add network wireless or bluetooth printer

Searches for the Printer on the network

Choose the printer

Search for the driver ... press on "Have a disk ..."

Download WindowsXP HP LaserJet 4050N Driver from http://www.hp.com

Point it to the driver.





Monday, May 3, 2010

Visual Studion Installer Projects - create uninstall link

ל - Visual Studio ישנה אופציה לייצר Install Projects שייצור לנו קובץ msi להתקנה. לצערי זה אחד הפרוייקטים עם הביצוע היותר עלוב של מיקרוסופט בסביבת פיתוח. תנסו רק ליצור פרוייקט עם יותר ממאה קבצים (ויש הרבה כאלו) ואח"כ תנסו למחוק תיקיות ...

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

ייצרו קובץ בשם uninstall.vbs

בתוכו כיתבו:
Set shell = CreateObject("WScript.Shell")
shell.Run "msiexec /x {[ProductCode]}", 1, False

עכשיו יצרו shortcut להפעלת הקובץ הנ"ל מכל מקום שתרצו.


דיסוננס קוגניטיבי: Apple Vs. Adobe

מצד אחד, אני לא ממש מחבב את Apple מצד שני אני גם לא ממש אוהב את Adobe ו - Flash

http://www.ynet.co.il/articles/0,7340,L-3883595,00.html

Tuesday, April 27, 2010

כפתור Power על המיקלדת?


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

במסגרת אנשים שצריכים להרוג, בהחלט אפשר להוסיף:
#488 - זה ששם את את כפתור ה - power במקלדת

איך מבטלים את כפתור הכיבוי המקלדת:
Control Panel
Power Options
Advanced Tab
Shutdown -> do Nothing!

Sunday, April 18, 2010

Firefox Open Local Links

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

ישנן כמה דרכים לאפשר זאת, אופציה ראשונה היא התקנת תוסף קטן הנקרא locallinks

האופציה השניה היא:
1. לפתוח ולערוך את קובץ ה - user.js אשר נמצא בספריית:
C:\Documents and Settings\\Application Data\Mozilla\Firefox\Profiles\

2. user_pref("capability.policy.policynames", "localfilelinks");
user_pref("capability.policy.localfilelinks.sites", "http://www.example.com");
user_pref("capability.policy.localfilelinks.checkloaduri.enabled", "allAccess");


וובינר - סרטי לימוד - הטרנד שפוגע ברשת

כל הטרנד האחרון, שלצערי נפוץ לאחרונה גם בגוגל. Webinar. תראו איזה מקסימים אנחנו, לא רק נלמד אתכם איך להשתמש בתכנה שלנו, אלא נעשה סרט שמראה לכם איך להשתמש בה ...
אני לא כל כך מבין למה צריך את זה. אני לא רוצה לראות סרטון באורך 4.37 דקות בשביל ללמוד איך לכבות את Google Translate. אני רוצה את האפשרות ללחוץ Ctrl+f ולמצוא מילים רלוונטיות. זה ייקח לי במקסימום 30 שניות אם היה עמוד נורמאלי עם טקסט כתוב.
לא רוצה לראות סרט של חצי שעה ב - YouTube על איך לכתוב Secure Code ב - PHP, אני רוצה מצגת HTML עם חיפוש וקישורים וטקסט.
ווידאו זה נחמד בשביל LOL Cats. אם אני רוצה ללמוד איך להשתמש בתכנה, תנו לי HTML/PDF.

Thursday, April 8, 2010

Pixels The Movie

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


Wednesday, March 31, 2010

התנהגות משעשעת של JavaScript

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

In javascript:
'5' + 3 gives '53'
Whereas
'5' - 3 gives 2

וזה כמובן נובע מהעובדה שה - Operator + יכול לעבוד על מחרוזות (Strings) ולכן בביטוי הראשון הוא ממיר את 3 לטקסט. ואילו Operator - Minus עובד על מספרים בלבד ולכן ממיר את 5 למספר.

Tuesday, March 2, 2010

הוספת רשומה ל - MySQL או לעדכן אם קיימת

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

INSERT INTO table (a,b,c) VALUES (1,2,3)
ON DUPLICATE KEY UPDATE c=c+1
'

להכניס לטבלא ובאם ה- Key קיים אז לעדכן.

לקריאה נוספת

Wednesday, February 24, 2010

JavaScript Object Oriented - תכנות מונחה עצמים

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


// declartion class a with private function
function x()
{
this.id = 0;

function getid()
{
// undefined - because this meanse the private
alert('x' + this.id);function
}
getid();
}
var nx = new x();
// error - undefined cuz it is private function
//x.getid();
x();


// declartion class a with public function
function a()
{
this.id = 0;

this.getid = function()
{
alert('a' + this.id);
}
this.getid();

}

// using class a
var b = new a();
b.getid();

// object creation on the fly
var o = {
id: 0,
getid: function()
{
alert('o' + this.id);
}
}

o.getid();

Tuesday, February 23, 2010

למה BreakPo?

כל מתכנת יודע על: int 3
ולכן על אותו משקל BreakPo, כמעשה הדברים, שים לי breakpo תוך כדי השענות קדימה והצבעה על שורה במסך.