"Anemomaster": DML visibility. Your must-do for tomorrow

Here's our take of master DML query monitoring at Outbrain (presented April 2014). It took a half-day to code, implement, automate and deploy, and within the first hour of work we managed to catch multiple ill-doing services and scripts. You might want to try this out for yourself.

What's this about?

What queries do you monitor on your MySQL servers? Many don't monitor queries at all, and only look up slow queries on occasion, using pt-query-digest. Some monitor slow queries, where Anemometer (relying on pt-query-digest) is a very good tool. To the extreme, some monitor TCP traffic on all MySQL servers -- good for you! In between, there's a particular type of queries that are of special interest: DML (INSERT/UPDATE/DELETE) queries issued against the master.

They are of particular interest because they are only issued once against the master, yet propagate through replication topology to execute on all slaves. These queries have a direct impact on your slave lag and on your overall replication capacity. I suggest you should be familiar with your DMLs just as you are with your slow queries.

In particular, we had multiple occasions in the past where all or most slaves started lagging. Frantically we would go to our metrics; yes! We would see a spike in com_insert. Someone (some service) was obviously generating more INSERTs than usual, at a high rate that the slaves could not keep up with. But, which INSERT was that? Blindly, we would look at the binary logs. Well, erm, what are we looking for, exactly?

Two such occasions convinced us that there should be a solution, but it took some time till it hit us. We were already using Anemometer for monitoring our slow logs. We can do the same for monitoring our binary logs. Thus was born "Anemomaster".

Quick recap on how Anemometer works: you issue pt-query-digest on your slow logs on all MySQL hosts (we actually first ship the slow logs to a central place where we analyse them; same thing). This is done periodically, and slow logs are then rotated. You throw the output of pt-query-digest to a central database (this is built in with pt-query-digest; it doesn't necessarily produce human readable reports). Anemometer would read this central database and visualize the slow queries.

Analysing DMLs

But then, pt-query-digest doesn't only parse slow logs. It can parse binary logs. Instead of asking for total query time, we ask for query count, and on we go to establish the same mechanism, using same pt-query-digest and same Anemometer to store and visualize the DMLs issued on our masters.

When analysing DMLs we're interested in parsing binary logs -- and it makes no sense to do the same on all slaves. All slaves just have same copy of binlog entries as the master produces. It only takes one server to get an accurate picture of the DMLs on your replication topology.

One server could be the master, and this can indeed be done: just FLUSH MASTER LOGS, parse the binary logs with pt-query-digest, and you're done. But like others, we tend to look at our masters as tender babies. We care for them, and do not wish to overload them unnecessarily. We chose to get the binlog entries from our slaves, instead. We also chose to get the entries from the relay logs, since these are unaffected by slave performance and as long as network is good, we can expect the relay logs to be very up to date. At any given time we have two slaves that take this role (this is automated and verified). On a 10 minute period we would flush the relay logs on these servers, and analyse whatever relay logs we have not analysed as yet.

The script below is a slightly modified version of our own, and should work for the standard installation. Modify to fit your own data (in particular, it assumes relay logs are named mysqld-relay-bin; datadir is specified in /etc/my.cnf, and please don't ask me how to do this on Windows):


# Digest latest relay logs file, write results to "anemomaster"
# This script can run from any machine; it only needs to execute on a single machine per mysql cluster, but for
# analysis availability it should execute on at least two hosts per cluster.

DATADIR=`grep datadir /etc/my.cnf|awk -F= '{print $2}'`

chown mysql:mysql $DIGESTED_RELAY_LOGS_FILE


echo "deleting old relay logs from ${TMPDIR}"
rm ${TMPDIR}/mysqld-relay-bin.[0-9]*

echo "Getting current relay log files"
existing_relay_log_files=$(ls -tr ${DATADIR}/mysqld-relay-bin.[0-9]* | head -n -1)
for existing_relay_log_file in $existing_relay_log_files
    cp -u $existing_relay_log_file $TMPDIR
echo "flushing relay logs"
/usr/bin/mysql -umyself -psecret -e 'flush relay logs\G;' 2>/dev/null
# sleep because the log file takes some time to disappear
sleep 1

echo "Getting current relay log files"
existing_relay_log_files=$(ls -tr ${DATADIR}/mysqld-relay-bin.[0-9]* | head -n -1)
for existing_relay_log_file in $existing_relay_log_files
    cp -u $existing_relay_log_file $TMPDIR

for relay_log_file in mysqld-relay-bin.[0-9]*
    # Filter this relay log file, since it's already been digested
    grep $relay_log_file $DIGESTED_RELAY_LOGS_FILE && rm $relay_log_file

for relay_log_file in mysqld-relay-bin.[0-9]*
    echo "digesting $relay_log_file"
    mysqlbinlog $relay_log_file | /usr/bin/pt-query-digest \
      --type binlog --order-by Query_time:cnt --group-by fingerprint --limit 100 \
      --review  P=3306,u=anemomaster,p=secret,h=anemomaster_host,D=anemomaster,t=global_query_review \
      --history P=3306,u=anemomaster,p=secret,h=anemomaster_host,D=anemomaster,t=global_query_review_history \
      --filter=" \$event->{Bytes} = length(\$event->{arg}) and \$event->{hostname}=\"$(hostname)\" " \
    echo "$relay_log_file" >> $DIGESTED_RELAY_LOGS_FILE
    rm $relay_log_file
# make sure the file does not bloat. 20 entries is more than enough.
echo "done"

As for Anemometer, we patched it to support multiple environments ("clusters") -- but irrelevant to the DML change. If you just want to make it visualize DMLs, here's the major configuration changes to config.inc.php (marked with bold):

$conf['history_defaults'] = array(
	'output'		=> 'table',
	'fact-group'	=> 'date',
	'fact-order'	=> 'date DESC',
	'fact-limit' => '90',
	'dimension-ts_min_start' => date("Y-m-d H:i:s", strtotime( '-90 day')),
	'dimension-ts_min_end'	=> date("Y-m-d H:i:s"),
	'table_fields' => array('date', 'query_time_avg','ts_cnt','Query_time_sum')

$conf['report_defaults'] = array(
	'fact-group'	=> 'checksum',
	'fact-order'	=> 'ts_cnt DESC',
	'fact-limit' => '20',
	'dimension-ts_min_start' => date("Y-m-d H:i:s", strtotime( '-1 day')),
	'dimension-ts_min_end'	=> date("Y-m-d H:i:s"),
	'table_fields' => array('checksum','snippet', 'query_time_avg','ts_cnt','Query_time_sum'),
	'dimension-pivot-hostname_max' => null,
	'dimension-pivot-clustername_max' => null

$conf['graph_defaults'] = array(
	'fact-group'	=> 'minute_ts',
	'fact-order'	=> 'minute_ts',
	'fact-limit' => '',
	'dimension-ts_min_start' => date("Y-m-d H:i:s", strtotime( '-7 day')),
	'dimension-ts_min_end'	=> date("Y-m-d H:i:s"),
	'table_fields' => array('minute_ts'),
	// hack ... fix is to make query builder select the group and order fields,
	// then table fields only has to contain the plot_field
	'plot_field' => 'ts_cnt',

With a 10 minute rotation & digestion, we are able to analyze near real-time what's been done on our masters. If we see a spike in com_insert/com_update/com_delete, or just see slave lags, we turn to Anemomaster and within a couple minutes know exactly what service is guilty of abusing our database. We are also working to protect our database against abuse, but that's for another discussion.

סגור לתגובות

מתדולוגיות של הפצות – חלק שני

במאמר המשך זה אסקור תכונות וסוגים שונים של הפצות המתגלגלות:

הפצות מתגלגלות למחצה (part-rolling, semi-rolling, or half-rolling):
בהפצות אלו קיימים חלקים שלא מתגלגלים. מדובר בדר"כ ברכיבי ליבה (קרנל, xorg והמעטפת הגרפית). דוגמאות: PCLinuxOS, Chakra Linux, Aurora OS

הפצות מתגלגלות באופן מלא: (full-rolling )
בהפצות אלו כל מרכיבי ההפצה מתגלגלים. דוגמאות: Arch, Gentoo

הפצות מתגלגלות באופן מדומה (pseudo-rolling):
בהפצות אלו מנסים ליצב את הענף הלא יציב באמצעות תיקוני תוכנה (patches) המוכנסים אליו ואמורים לספק תכונות הקיימות בהפצות המתגלגלות. דוגמאות: aptosid, siduction, Semplice, antiX

הפצות מתגלגלות לפי בחירה (opt-rolling):
להפצות אלו יש גרסאות להורדה של הפצות מתגלגלות ושל הפצות לא מתגלגלות.
דוגמא: OpenSuse

הפצות מתגלגלות באופן מחזורי (cyclic-rolling):
הפצות אלו מפותחות במחזוריות (בעיקר בחלקיהם הלא מתגלגלים). לפיכך גיל החבילות והיציבות שלהם לא זהה בחלקים שונים של ההפצה. דוגמאות: antiX and LMDE


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

חופש -שימוש ב־owncloud

כל משתמש אנדרויד שחובב חופש מנסה להימנע מהידיים של גוגל. אז מתקינים רומים נקיים (אני משתמש ב־cyanogenmod שאני בונה בעצמי). השלב הבא הוא להוציא את השירותים של גוגל. נתחיל מהמרק, במקומו נשתמש ב־fdroid והיא תוכנה שמתקינים על הסלולרי ומהווה חנות וירטואלית שמכילה רק תוכנות חופשיות. התוכנות שם די מאעפנות... זה לא מה שאני רגיל אליו ב"לינוקס". אני מניח שהעולם הזה עוד מתפתח ואני יכול לצפות לטובה. (דיברתי על זה בפוסט אחר, http://cucomania.dyndns.info/node/236).

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

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

סגור לתגובות


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

הסתובבתי קצת בין קיצורי הדרך וראיתי פתאום שאם לוחצים על Ctrl+Alt+מקש הרווח נכנסים למצב של...
"Create Orientation"

לחצתי וקיבלתי תפריט קטנצי'ק בצד שמאל למטה שנראה כך:

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

פרטים נוספים »
סגור לתגובות

anti patterns של מתודולוגיות עבודה

לפני מספר שבועות קראתי פוסט מאוד מעניין על כך שבשנות ה70 יצאו 2 ניסויים בעולם התוכנה על הרעיון של איך לבנות עורך טקסט:

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

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

הגישה של vi אומרת כי לתזוזה יש יותר ממשמעות אחת. רוצים תזוזה של מילה ? השתמשו ב w. רוצים תזוזה של התחלת המסמך לחצו על gg רוצים תזוזה לסוף המסמך ? לחצו על GG והרשימה עוד ארוכה.

כפי שניתן לראות, המשמעות בשוני מאוד פשוט להסבר, אך החשיבה מאחוריו מאוד לא.
אז אנסה להסביר את זה בצורה אחרת.
קפיצה ממילה למילה נעשת על ידי w. כלומר המציאה של גבולות המילה.
מחיקה נעשת על ידי d. אז כיצד מוחקים מילה ב vi ? ‏dw.
בשביל להעתיק אנחנו משתמשים במקדם y. איך מעתיקים מילה ? yw.
כלומר צריך לדעת מה המקדם של הפעולה שרוצים לבצע (מחיקה או העתקה וכיוב'), והכללים לאחר הפעולה עצמה זהים.
רוצים לבצע העתקה שתשפיע על 10 מילים ? אין פשוט מזה, תלחצו על 10 ואז על yw, כלומר 10yw.

עוד משהו נחמד:
התו ^ מייצג "התחלה של שורה". אז אם אני עומד באמצע שורה, ועושה d^‎, כלומר קודם מחיקה ואז ^, מה יקרה ? הוא ימחק מהנקודה שעומדים בה עד לתחילת השורה את הכל.
התו $ מייצג "סוף של שורה". אני בטח שאתם כבר יכולים לנחש מה יקרה באותה הסיטואציה בהדגמה של ^ אם נחליף אותו ב $.

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

בemacs בשביל להעתיק יש לך API כזה שנקרא copy, אבל הוא מעתיק מה שמסומן. כך גם ב gedit, kate, notepad, sublime וכמעט כל עורך טקסט בעולם התוכנה.
אבל מה קורה כאשר אני רוצה לסמן 10 מילים ולמחוק רק אותם ?
ובכן במידה ואתם עובדים ב vi, אתם תעשו את זה ככה 10dw. לא צריך לסמן כלום בשביל זה. כיצד בעורך טקסט מבוסס רעיון emacs ? ובכן, סמנו 10 מילים ואז תמחקו אותם.
כלומר אין api דווקא בשביל מספר מילים. בעוד שבגישה של vi זה אינו משנה.

גם אין התנהגות מדוייקת למחיקה כדוגמת d^‎ ו d$‎. אתם תעמדו במיקום שאתם רוצים, תעשו סימון עם העכבר או מקלדת, ואז תלחצו על מחיקה, כי אין פקודת API מדוייקת לבצע את זה בצורה הרגילה.

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

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


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

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

לעומת זאת יש שפות שבהם מראש זה לא קורא (בPHP ניסו להתחכם לזה, אבל הם לא שינו את התפיסה של include): בשפות כמו פסקל (לא, לא חזרתי אליה) ו go.
המעבר הוא חד פעמי בלבד, דבר שלא רק מוריד את בעיות הקימפול וניהול התלויות (שלא לדבר על מהירות קימפול גבוהה יותר), אלא מאפשר להשיג המון כוח. למשל גם בפסקל וגם בgo נוצר בעצם סוג של namespace. היצירה של namespace מאוד חשובה היות וזה נרשם פעם אחת בצורה בינארית, ופשוט יש מיפוי לכל המקומות אשר מבקשים להשתמש בקוד עצמו לקפוץ לאיזור המוגדר. ועכשיו אין צורך יותר בhack של ifndef ואז define רק בשביל לגרום לקומפיילר לא להוסיף שוב פעם את הקוד. כמו כן, היות וכבר הnamespace נכנס לאיזשהו עץ בקומפיילר, במקום לקרוא שוב את התוכן, פשוט מסמנים שגם בנקודה הזו שהצהרנו שוב על fmt (למשל) צריך להשתמש ב namespace הזה.

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

עוד משהו מהעולם שלנו, הוא שכולם חושבים כי SQL הפירוש שלו ניהול מידע בעל קשרי גומלין. כלומר, אפשר לנהל קשרי גומלין בין טבלאות שונות בצורה טובה ויעילה.
העניין הוא שזה לא כזה פשוט כמו שזה נשמע.
זו הסיבה ששאילתות join כל כך מסובכות, ויש במסדי נתונים רציניים, גם הרבה סוגים מהם, עם המון משמעויות שונות ומשונות (inner/outer left/right/natural וכיוב'). אם לא מודעים להבדלים הנכונים בין קשרי הגומלין לפי השאילתא (לא לפי כוונת מתכנן הטבלאות, אלא לפי פרשנות מסד הנתונים את השאילתא), המידע לא מגיע בצורה יעילה, אבל יותר חמור, לפעמים הסיבה שהמידע מגיע שגויה, או נראה כאילו אין מידע מתאים, ואז לא תמיד מגלים שזה בעצם שגוי.

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

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

מוקדש כחומר למחשבה.

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

Installing Oracle's JAVA on Debian

There are many solutions floating around to install Oracle's JAVA on Debian based systems. Most of them involve too many manual steps. Here is one that does not, and it simply works! ... continue reading...
סגור לתגובות

Revive and old Smartphone with Cyanogenmod!

I recently installed Cyanogenmod on an old Samsung Galaxy II and I just wanted to share my thoughts. ... continue reading...
סגור לתגובות

Quick Tip – Tiling Windows manager in Mate-Desktop

Here is how you can achieve Tiling windows management without leaving a full blown Desktop Environment such as Mate-Desktop using x-tile ... continue reading...
סגור לתגובות

Dell is not serious about Linux

How serious Dell is about Linux? I think it is not that serious, and it is using Ubuntu fans as free advertising platform ... continue reading...
סגור לתגובות

Git tip – git describe

Earlier I posted a tip how to count commits between tags, this post suggests a better way to do it ... continue reading...
סגור לתגובות

Git tip – Count commits between tags

Once every N commits I would like to release a new version of pwman3, so here is how to keep a track of this number between releases ... ... continue reading...
סגור לתגובות

Localizing applications with gettext

I was always interested in how I can add translations to pwman3 or to my little PyGTK tutorial, these are summerizing of my gettext experiences ... continue reading...
סגור לתגובות

PyGTK CD Ripper Tutorial – Part 7

Part 6 of this tutorial completed the Preferences dialog and introduced gtk.Frames and gtk.Expanders. This part of the tutorial will add some more polish to th UI, introducing icons and completing the About Dialog ... continue reading...
סגור לתגובות

PyGTK CD Ripper Tutorial – Part 6

Part 5 of this tutorial added a gtk.Notebook and other widgets to the Preferences dialog. This part of the tutorial introduces the gtk.Frame and gtk.Expander widgets and completes the Preferences dialog. ... continue reading...
סגור לתגובות

PyGTK CD Ripper Tutorial – Part 5

The last part of this tutorial added some polish to the main window of the CD Ripper, and showed how to create an empty Preferences dialog. This part of the tutorial will complete the Presences exploring gtk.Notebook and other widgets. ... continue reading...
סגור לתגובות

חבר חדש Darktable, או איך לעשות Post Production בכמה שניות

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

‫ספרים דיגיטליים ויריד הספרים בלונדון‬

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

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

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

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

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

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

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

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

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

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

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

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



קטגוריות: IDPF, ספרים, ספרים דיגיטליים | סגור לתגובות

מתדולוגיות של הפצות – חלק ראשון

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

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


  • אובונטו LTS ‏12.04‏ (ובקרוב אובונטו LTS ‏14.04): הפצה שנתמכת לתקופה של 5 שנים (Long Term Support)
  • CentOS \ Redhat: הפצות שנתמכות לתקופה של 10 שנים
  • Debian Stable: הפצה שנתמכת לתקופה של 3 שנים (בערך)

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

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

דוגמאות להפצות מתגלגלות למחצה:

  • Linux Mint LMDE – הפצה שמתבססת עם Debian Testing. העדכונים מגיעים אחת למס' חודשים במה שנקרא Update Pack.
  • Solydxk – גם הפצה זאת מתבססת על Debian Testing. עדכונים נעשים אחת לשלושה חודשים (פירוט לגבי מדיניות העדכונים תוכלו לקרא כאן)

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

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

  • Arch (הפצת Bleeding Edge). הפצה עצמאית. מי שמשתמש בה חי בקצה לטוב ולרע (נהנה מהחבילות החדשות ביותר אך מסתכן בקריסה של מערכת ההפעלה / תוכנות שונות (לי קרה שכשהכניסו את Python 3 למאגרים ההפצה נשברה לגמרי).
  • Manjaro הפצה עליה כתבתי לפני שבועיים. משחררת עדכונים כל שבוע/שבועיים.

עתה נראה לי שאוכל לענות על השאלה הבאה של פוסטר:
"אבל בשורה התחתונה, בתור המשתמש הפשוט – זה שמשתמש במערכת ההפעלה למשימות די טריויאליות – מיילים (דרך lotus notes), דפדפן, התחברות למכונות מרוחקות, תכנות (עורך הטקסט שלי הוא vim שאותו אני מעדיף על פני כל IDE) אני באמת מתקשה לראות מה יהיה אצלי שונה כאשר אעבור ל- Arch".

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

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

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

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

סיווג ההפצות שתיארתי במאמר זה הוא גס מדי ולא ממש מדוייק. בפועל המצב לא כ"כ פשוט… בשבוע הבא אכנס יותר לעומק ואסווג את סוגי ההפצות המתגלגלות (כדי לקבל הבנה ברורה ומדוייקת יותר של סוגי הפצות אלו: Opt Rolling, Cyclic Rolling ,Part Rolling, Full Rolling, Pseudu Rolling, True Rolling)

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

אפר' 27: מצעד למען החיים 2014- צועדים עם ולמען שורדי השואה

ביום השואה כולנו זוכרים את המתים אך בישראל 2014 חיים למעלה מ-180 אלף ניצולי שואה, למעלה ממחציתם עדיין אינם ממצים את מלוא הזכויות המגיעות להם !

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

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

יום ראשון, ה-27 באפריל, בשעה 17:00
נפגש מול כיכר הבימה בתל אביב נצעד לאורך שדרות רוטשילד עד לבית העצמאות בשדרות רוטשילד 16, מקום הכרזת המדינה שבבנייתה היו שותפים ניצולי השואה.

**המצעד הוא אירוע אזרחי עצמאי, ולא מפלגתי.
הירשמות ואישור הגעה במייל ל- sari@avivshoa.co.il

מצעד למען החיים אביב לניצולי השואה

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

תכירו: פרויקט ARA

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

תכנון מודלארי של מערכת

"If I had eight hours to chop down a tree, I'd spend six sharpening my ax." — Abragam Lincoln

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

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

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

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

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

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

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

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

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

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

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

Some anecdotes I learned at Percona Live

While on the plane back home I wrote down all my impressions from Percona Live 2014. Have lots of TODOs and great ideas to implement. Among all my impressions, there were a few anecdotes worth noting.

  • 5.6 GTID is still unfriendly. It will require complete shutdown & reconfiguration of your entire replication topology; and some companies present hacks around this. Notable, Facebook recoded GTID related code (slave agrees to replicate with GTID even though its master still uses binlog coordinates). Booking.com have their own hack around slowly migrating their topologies. And in a great lightning talk we were shown how to patch MySQL such that the relay logs turn into a  consistent GTID-like coordinate system.
  • Galera replication has been implemented for TokuDB (only active-passive mode, not active-active). This came as a surprise to Tokutek ; apparently Codership did this within a few hours of work. The rest is up for Tokutek!
  • WebScaleSQL is a cool initiative that aims to assist in pushing commonly desired featured back upstream. It is Web Scale. It is also not a productio0n distribution and I do not expect it to be, It is not a fork that is meant for the common DBA to download and deploy.
  • Tungsten replicator has MySQL to Hadoop replication using staging tables - an auditing of changes that are group-deployed on Hadoop.
  • Still so many people unfamiliar with MySQLSandbox. It's such a basic tool, especially for testing and local installations.
  • Still misconceptions about common_schema. Yes, I do use it on production.
  • Everyone has the same problems :)
  • Replication is still queen of MySQL's featureset. We're still all about failing over, promoting, scaling via replication.
  • Linux rules. Where two MacBooks failed to connect to the projector, my Lenovo/Ubuntu Linux did the job just fine and saved the day.
סגור לתגובות

pySioGame – עכשיו גם בעברית

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

MySQL Community Awards 2014: the Winners

The MySQL Community Awards initiative is an effort to acknowledge and thank individuals and corporates for their contributions to the MySQL ecosystem. It is a from-the-community, by-the-community and for-the-community effort. The committee is composed of an independent group of community members of different orientation and opinion, themselves past winners or known contributors to the community.

The 2014 community awards were presented on April 3rd, 2014, during the community event at the Percona Live conference. The winners are:

MySQL Community Awards: Community Contributor of the year 2014

  • Colin Charles
    Colin's list of service to the MySQL Community goes back almost 10 years. He was a community engineer starting in 2005, chaired some of the O'Reilly MySQL conferences, ran the MySQL projects for Google Summer of Code. As a partner and Chief Evangelist for Monty program, he continues to promote and grow the MySQL ecosystem. Though it's his job, he goes above and beyond, driven by his passion for open source and MySQL.
  • Frédéric Descamps
    Frederic organizes the MySQL & Friends Devroom at FOSDEM every year. He worked towards making a true community driven event participated by all key players. in 2014 the MySQL & Friends devroom also presented a shared booth/stand regrouping Oracle, MariaDB/SkySQL and Percona engineers and developers.
  • Geoffrey Anderson
    Geoffrey is organizor & moderator at DBHangops: a bi-weekly community hangout discussing all things MySQL. The hangouts are free to join, and are streamed live and stored for later playback via YouTube.
    Geoffrey works to provide with content, and leads the hangouts with good spirit. DBHangOps makes for a good knowledge sharing media.

MySQL Community Awards: Application of the year 2014

  • Galera
    Galera provides MySQL with synchronous replication, offering a long time sought for High Availability solution for MySQL. It is fast becoming one of the main product/technology everyone is building next-gen businesses around. It is an important part of the renaissance of what's next for the "ecosystem".
  • Random Query Generator
    Random Query Generator has found hundreds of problems with its random generation of queries, because often the most serious bugs are outside of developers' expectations and their test cases. Engineers who work on MySQL and its derivatives have been able to vastly improve the quality of the database because of it. Random Query Generator has positively effected every single user in the MySQL ecosystem, mostly without them even knowing it.
    RQG was originally created by Philip Stoev, and has attracted further contributors over the years.

MySQL Community Awards: Corporate Contributor of the year 2014

  • Oracle
    Oracle has continued to show its commitment to MySQL with the 5.6 release and work in progress on 5.7. MySQL 5.6 might be the best release ever with significant improvements for InnoDB and replication (performance, GTIDs, parallel apply) including significant changes from the community. The 5.7 release has equally high goals for making replication better (enhanced semi-sync) and making InnoDB faster on big multi-core servers. We also appreciate the continued involvement, excellence and passion of the support and community teams.
  • BinLogic
    BinLogic has been a great steward of the MySQL Community in one of the fastest growing technology hubs, Latin America. BinLogic created the MySQL, NoSQL and Cloud Solutions day in 2012 and repeated the event in 2013, drawing in notable speakers from the community.

Congrats to all winners!

Committee members are:

  • Baron Schwartz
  • Domas Mituzas
  • Gerry Narvaja
  • Giuseppe Maxia
  • Jeremy Cole
  • Justin Swanhart
  • Marc Delisle
  • Mark Leith
  • Ronald Bradford
  • Sarah Novotny
  • Sheeri K. Cabral
  • Tim Callaghan
  • Mark Callaghan (co-secretary)
  • Shlomi Noach (co-secretary)

We also wish to recognize and thank Henrik Ingo for initiating and promoting this process throughout the past years.

[UPDATE] To elaborate, the community awards pre-date back to 2005, where awards were given by MySQL AB, and later Sun Microsystems. Arjen Lentz, Jay Pipes, Colin Charles, Giuseppe Maxia and Lenz Grimmer are all past organizers of the community awards.

סגור לתגובות

Andhook – Android Hooking Framework

A long while back I was looking for something MobileSubstrate-like for Android and alas at the time I could find anything.

So I wrote my own super-simple Android Hooking Framework and it has been hanging around my GitHub for ages.
Anyway as it’s sooo old (albeit pretty useful), I’m not going to go into it so much in a post; it’s out there and if you want to take a look – grab it from https://github.com/2of1/andhook

סגור לתגובות

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



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

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

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

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

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

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

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

2 מכל 3 מחשבים עם תוכנה מזויפת נדבקו בתוכנה זדונית.*

2 מכל 3 מחשבים עם תוכנה מזויפת נדבקו בתוכנה זדונית.*

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

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

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

ב- 3 מתוך 4 מחשבים בעלי תוכנה לא חוקית עדכון ה-Windows הושבת, בדיקות המקוריות נעקפו והגישה לעדכוני אבטחה חיוניים נדחתה.*

ב- 3 מתוך 4 מחשבים בעלי תוכנה לא חוקית עדכון ה-Windows הושבת, בדיקות המקוריות נעקפו והגישה לעדכוני אבטחה חיוניים נדחתה.*

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

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

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

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

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

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

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

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

ב- 77% מהמחשבים עם התוכנות הלא חוקיות הושבת עדכון ה- Windows, נעקפו בדיקות ונדחתה הגישה לעדכוני אבטחה חיוניים.*

ב- 77% מהמחשבים עם התוכנות הלא חוקיות הושבת עדכון ה- Windows, נעקפו בדיקות ונדחתה הגישה לעדכוני אבטחה חיוניים.*

מיקרוסופט חוזרים כאן על המידע שהופיע בתירוץ מספר 2, רק שאחוזי הנפגעים עלו מ־66% ל־77%. (לפי התמונה אפילו 80%!). מעניין אם הם ניסו לשאול את אותם משתמשים למה הם מנטרלים את עדכוני האבטחה לפני שהם מתחילים להאשים אותם בעבריינות. ושוב, גם חלק מהמשתמשים החוקיים בוחרים לנטרל עדכונים, ומהם מיקרוסופט מנסים להתעלם באלגנטיות.

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

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

ב28% מהמחשבים עם תוכנות לא חוקיות הוחלפו הכוננים המקוריים.*

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

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

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

 ב-91% מהמחשבים עם תוכנה פיראטית היו גם וירוסים, שאת רובם תוכנת האנטי-וירוס לא יכלה להסיר.*

ב-91% מהמחשבים עם תוכנה פיראטית היו גם וירוסים, שאת רובם תוכנת האנטי-וירוס לא יכלה להסיר.*

*מקור: מחקר אבטחת מחשבים של Microsoft ,2013.

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

מיקרוסופט מסכמים את הרשימה במשפט אחד:

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

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

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

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

סגור לתגובות

Fixing CPAN links on Stack Overflow

If you look at StackOverflow, you might notice that many links lead to version-specific pages on search.cpan.org. Some of them are already broken, others will be broken soon, once the module author decides to remove that version from CPAN. This is quite unfortunate, but it is easy to fix. After all the pages on Stack Overflow are editable.

For the full article visit Fixing CPAN links on Stack Overflow

סגור לתגובות


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

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

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

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

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

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

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

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

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

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

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

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

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






סגור לתגובות

Firebird וליברה אופיס

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

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

ביולי 2013, פרסמתי כי Base מקבל תמיכה בFirebird כחלק מפרוייקט SOC.

החל מגרסה 4.2, במידה ומפעילים תמיכה ביכולות נסיוניות, ניתן לקבל תמיכה בFirebird כמסד נתונים embedded עבור Base.
libreoffice base firebird בשביל לקבל תמיכה בדברים ניסיוניים בליברה, פשוט הולכים בתפריט ל Tools משם ל LibreOffice, משם ל Advanced ולוחצים על Enable experimental features.

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

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

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

תויק תחת:firebird, Office, Open/Libre Office, טכנולוגיה, מסדי נתונים, קוד פתוח, שולחן עבודה, תוכנה
קטגוריות: Office, Open/Libre Office, firebird, טכנולוגיה, מסדי נתונים, קוד פתוח, שולחן עבודה, תוכנה | סגור לתגובות

תכירו את Asus Chromebox

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

Speaking at Percona Live: common_schema, MySQL DevOps

In less than a month I'll be giving these two talks at Percona Live:

If you are still unfamiliar with common_schema, this will make for a good introduction. I'll give you multiple reasons why you would want to use it, and how it would come to immediate use at your company. I do mean immediate, as in previous common_schema presentations I happened to get feedback emails from attendees within the same or next day letting me know how common_schema solved an insistent problem of theirs or how it exposed an unknown status.

I'll review some useful views & routines, and discuss the ease and power of QueryScript. common_schema is a Swiss-knife of solutions, and all from within your MySQL server.

I am using common_schema in production on a regular basis, and it happened to be hero of the day in multiple occasions. I'll present a couple such cases.

This is a technical talk touching at some cultural issues.

At Outbrain, where I work, we have two blessings: a large group of engineers and a large dataset. We at the infrastructure team, together with the ops team, are responsible for the availability of the data. What we really like is technology which lets the owners of a problem be able to recognize it and take care of it. We want ops guys to do ops, and engineers to do engineering. And we want them to be able to talk to each other and understand each other.

What tools can you use to increase visibility? To allow sharing of data between the teams? I'll share some tools and techniques that allow us to automate deployments, detect a malfunctioning/abusing service, deploy schema changes across dozens of hosts, control data retention, monitor connections, and more.

We like open source. The tools discussed are mostly open source, or open sourced by Outbrain.

I'll explain why these tools matter, and how they serve the purpose of removing friction between teams, allowing for quick analysis of problems and overall visibility on all things that happen.

Do come by!

סגור לתגובות

FU-rch: התקנת Arch בתהליך גרפי פשוט

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

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

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

מצב התוכנה החופשית, סקירה חלקית בהחלט

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

 בתחום מערכות הייצור openstack המספקת פתרון וירטואלוזיציה מושלם. כמה מושלם? אפשר להקים באמצעותה ענן ציבורי. והכל בחינם. בתחום הקנייני, מערכת וירטואלוזיצה דורשת 3 שרתים חזקים ומערכת איחסון (storage בעלויות בנות 5 ספרות, בדולרים). רק הרישינות יכולים להגיע ל-25,000$ בשנה. אופן סטאק היא מערכת כמעט מהקופסא, אשר בשימוש מתקדם בה מאפשרת בניית מערכת ענן ציבורית מאובטחות ומנוטורות. אפשר להתקין אותה ללא כל חשש גם על שרתים בני 4 שנים, כי היא שרידה מאוד גם על חומרה רגילה וזולה.

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

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

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

סגור לתגובות

Google Announced It Will Discontinue Its Web Search, Gmail And Google Docs Services

1 April, 2014, Tel Aviv, Israel: Google announced today that following its popular decision to discontinue not-so-popular services such as Google Reader, it is going to discontinue other services such as Google Web Search, Gmail, and Google Docs.

“These services have been suffering from declining use and popularity”, a Google spokesman said, “as a result, Google decided to discontinue them in order to remain profitable.”

Google Web Search is disabled: “Not your lucky day”
The New Google Web Search front page.

After discontinuing these services, Google will focus on more profitable ventures such as version 9 of V8, its open-source JavaScript engine (= "v8 v9"), and its mobile operating system, Mandi the Womanoid. It is also going to provide its world-famous customer service as a service to other companies (“Google Customer Service as a Service” or “GCSaaS” for short).

The same Google spokesman also noted that Google is considering to discontinue Google AdSense and AdWords, because they too are proving to undermine its profitability.

Copyright and Licence

This document is Copyright by Shlomi Fish, 2014, and is available under the terms of the Creative Commons Attribution-ShareAlike License 3.0 Unported (or at your option any later version).

For securing additional rights, please contact Shlomi Fish and see the explicit requirements that are being spelt from abiding by that licence.

The homepage screenshot was adapted from the Google homepage, with the sources available.

comment count unavailable comments
קטגוריות: google | סגור לתגובות

The Free Software Foundation (FSF) Announces New Versions of the GPL

1 April, 2014, Tel Aviv, Israel: “FOSS developers don’t have enough choice when it comes to licensing.” says the Free Software Foundation (FSF). Thus, in order to contribute to the noble cause of licence proliferation, it announced new versions of the GNU General Public License (GPL).

The FSF announced the GPL version 4 (GPLv4), GPL version 5 (GPLv5), GPL version 6 (GPLv6), as well as the GPLv7, the GPLv8, the GPLv9 and the GPLv10 — all with their LGPL (Lesser GPL), AGPL (Affero GPL), and LAGPL (Lesser Affero GPL) variants, and all mutually incompatible with one another and with the GPLv2 and the GPLv3 (which are in turn now deprecated).

GPL v3 is out! Now it's GPLv4, GPLv5, etc.
The New GPL logo now that GPLv3 was deprecated.

In addition, by popular demand, the FSF introduced some often requested variants of the GPL: Strangely-enticing GPL (SEGPL), Diamond Encrusted GPL (DEGPL), Zebra Flavoured GPL (ZFGPL), Objective GPL, GPL++, GPL Enterprise Edition (GPLEE), Industrial Strength GPL (ISGPL), GPL for Dummies (GPL4D), Unusable GPL (UGPL), GNU Passive Aggressive Public Licence (GPAPL), Proprietary GPL (PGPL), Non-Free GPL (NFGPL), and I Can't Believe It's Not The GPL (ICBINTGPL).

The Free Software Foundation is also going to introduce one GPL licence each day in an effort known “Daily GPL”, where each daily GPL breaks compatibility with all the previous daily GPLs. As an FSF spokesman said “We hope that soon there will be more versions of the GPL (“GPLs”? Hmmm…) than GPL-licenced software”.

The GPLs’ proliferation has met with some positive responses from organisations who need to deal with them. The administrators of Freecode, a releases announcements and cataloguing site for UNIX software, noted: “This initiative is threatening to make the database table holding the possible options for software licences larger than all other tables. We’re contemplating to just consolidate all these licences under one option of ‘Under one or more of the FSF so-called-‘GPL’ licences’.”.

In the meanwhile Linus Torvalds had this to comment: “I always was a big fan of version 2 of the GPL, but the new FSF licence The Positively-Awesome Make-Yourself-At-Home Fine-Grained-Control World-Domination-At-A-Snail’s-Pace GNU General Public Licence (GPL) from 2014-04-01-10:35:49 up-to-and-excluding 0123-04-01-01:55:09 seems like such a sexy licence, and I’m considering adopting it (after I implement some custom changes to make it more to my liking.). Good thing it didn’t take the FSF too long to come with a half-decent alternative to the GPLv2.”.

Copyright and Licence

This document is Copyright by Shlomi Fish, 2014, and is available under the terms of the Creative Commons Attribution-ShareAlike License 3.0 Unported (or at your option any later version).

For securing additional rights, please contact Shlomi Fish and see the explicit requirements that are being spelt from abiding by that licence.

The Logo was created using Inkscape based on the SVG in the GPLv3_Logo in the English wikipedia (which is in the public domain but may contain trademarks), and modified using Inkscape by making use of “Mail Ray Stuff” font by Ray Larabie (found on dafont.com), which isn't a libre font, but its licensing terms seemed usable and acceptable for this purposes (and it is available for some kinds of commercial use). Here are the sources.

comment count unavailable comments
קטגוריות: foss, gpl, open source | סגור לתגובות

גלישה באוניברסיטת בן גוריון

לפני זמן מה הייתי באוניברסיטת בן גוריון ויצא לי להתחבר לרשת האלחוטית הפתוחה לאורחים just4visitors, רק מה לא הצלחתי להתחבר לשירותי jabber.org או לvpn שלי.

אם הבנתי נכון כל מה שלא עבר על 80 ו 443 נחסם  (כולל ICMP),הפתרון היה להשתמש בvpn  שעובד על פורט 443 (באם ע"י שימוש באופציה port-share של openvpn או sslh), גיגול מהיר נתן לי רשימה של ספקי vpn חינמי שעובדים על 443 מה שאיפשר חיבור ,ובתוכו הפעלת ה vpn שלי.

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

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

Tech Tip: add a notification (or any other command) after a command-line task has ended

I discovered that one can add a notification after a command you've already
started running has ended on a UNIX system by suspending the command
using “Ctrl + Z” and then typing something like
“fg ; n --msg 'Command finished'” (where “n” is the command I use for
notifications). “fg” brings a job to the foreground, and for more information
about it see
its wikipedia
and the Unix Background Jobs entry on thegeekstuff.com.


You can reuse this entry under
the Creative Commons
Attribution 3.0 Unported
licence, or at your option any later version.
See the
of how to comply with it.

קטגוריות: linux, tech, tech tip, tip | סגור לתגובות

ההתרחבות המוזרה של פייסבוק

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

סקירה: Manjaro Linux

בסקירה : "לינוקס, לאן?" הבטחתי לספר רשמים על Manjaro. עברו כמעט 3 חודשים של שימוש, צברתי ניסיון עם ההפצה ובהחלט יש לי מה להגיד עליה. אתחיל מהסוף: התרשמתי מאוד לטובה מההפצה. ההפצה יציבה מאוד ובכל התקופה לא חוויתי קריסות או תופעות מוזרות. ההפצה משחררת עדכונים במה שנקרא Update Packs. בכל שבוע/עשרה ימים משוחרר Update Pack שמכיל אוסף עדכוני תוכנה. לכל Update Pack יש תיעוד (איזה חבילות משתדרגות, מה המפתחים משנים בעדכון ועוד…), כל החבילות נבדקו ולא אמורות להיות תופעות לוואי (ולי אכן לא היו כאלה).
להפצה מס' כלים נוחים שפותחו ע"י צוות Manjaro. דוגמא: mhwd-kernel דרכו ניתן להתקין,בקלות מדהימה, קרנלים שונים. ההפצה מתחזקת מס' קרנלים, חלקם מוגדרים כקרנלים יציבים, חלקם כקרנלים עדכניים. אני בחרתי להתקין את הקרנל העדכני ביותר שההפצה מציעה (3.13.5). מעבר לעדכוני קרנל, הפקודה mhwd מאפשרת לעדכן דרייברים שונים (כרטיסי מסך) ועוד…

Manjaro תומכת באופן רשמי שלושה שולחנות עבודה: XFCE (בו אני משתמש), Openbox ו- KDE. שני שולחנות עבודה הראשונים מאוד בשלים, קלילים ויציבים. KDE נוסף רק לאחרונה (כמו גם מה שנקרא ה- Community Edition, שם ניתן למצוא את Gnome ו- Cinnamon).

להבדיל מ- Linux Mint (ש- "רוכבת") על ה- repository של אובונטו, מפתחי Manjaro בונים בעצמם את החבילות ולא מתבססים על החבילות של Arch. ל- Manjaro שני ענפים: ענף יציב (בו אני משתמש) וענף בדיקות. מנהל החבילות שלה הוא pacman, אך גם yaourt מותקנת לצורך התקנת חבילות מ- AUR. להפצה סט מאוד גדול של חבילות תוכנה. גם חבילות מאוד נדירות הצלחתי להשיג (בדר"כ ב- AUR). תהליך ההתקנה של Manjaro מאוד פשוט. בסיום ההתקנה תקבלו סט מצומצם (אך קולע לטעמי) של תוכנות ותוכלו לעבוד באופן מיידי עם ההפצה (מה שלא קיים ב- Arch).

למי אמליץ לנסות את Manjaro? לכל אדם טכני, שלא פוחד משורת הפקודה, שמעוניין בעדכניות גבוהה של תוכנות, אך לא מעוניין להתעסק בהגדרות מערכת שונות ומשונות (כפי שצריך לעשות לעיתים ב- Arch). למרות שלא חייבים להשתמש בשורת הפקודה עדיין יכולים להיות בעיות (ברמת הפוטנציאל), ולכן אמליץ אותה רק לוותיקים מבינכם. מי שמעוניין ביציבות מאוד גדולה כדאי לו לעבוד עם ההפצות היציבות: Linux Mint 13 LTS, Crunch Bang ועוד…

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

GNOME 3.12 – סקירה

ערב טוב.

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


  • נוסף מצב חיבור קווי לרשת, עם אפשרות להחליף בין פרופילי רשתות שונים
  • ניתן להוסיף פריטים לתפריט הנפתח, באמצעות קובץ התג „Actions” בקבצי ‎.desktop, להלן דוגמה מ־geary.desktop:

    [Desktop Action Compose]
    Name=Compose Message
    Name[he]=יצירת הודעה
    Exec=geary mailto:
    OnlyShowIn=X-Messaging Menu;Unity;

  • ניתן ליצור תיקיות מותאמות עם יישומים נבחרים באמצעות gsettings או באמצעות הממשק ב־GNOME Software. כיוון שבארץ׳ היישום אינו פועל, רק אפנה לרשומה של Matthias Clasen בנושא, וצילום מסך קטן (בכל זאת ניתן ניתן להתאמה באמצעות gsettings גם בארץ׳):
  • תמיכה בהבחנה גבוהה (ב־3.10 נוספה תמיכה ליישומים בלבד, לא למעטפת)
  • הפעלה מהירה יותר, עקב טעינת קובץ בינרי אחד במקום קבצי JavaScript רבים, כמו גם מעבר ל־mosjs24 והתייעלויות נוספות
  • הנפשה עם ריצוף חלונות:
  • הנפשה במעבר בין „הכול” ו”תדיר” בסקירת יישומים והנפשה בהתחברות (התקרבות)
  • ניווט בין חלונות בסקירה באמצעות המקלדת
  • התקדמות רבה בתמיכה ב־Wayland


  • עיצוב חדש ללשוניות (הצילום מרשומה קודמת):
  • שורת כותרת משולבת פקדים בתיבות דו־שיח (יישומון GtkHeaderBar):
  • תיבות דו־שיח המכילות הודעה בלבד עוצבו מחדש:
  • תמיכה בהדפסה דרך Google Cloud Print
  • תפריט דמוי בלון (GtkPopover):
  • גובה זהה לשורת כותרת משולבת פקדים (GtkHeaderBar) בכל היישומים
  • סמלים של מספר יישומים עודכנו. ראה הדף בוויקי. אצרף כאן אחד (512 × 512):

שיפור התמיכה בכיווניות

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


סרטונים – עיצוב חדש של Totem

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



Gedit – עיצוב חדש

עיצוב כולל חדש לסגנון GNOME 3, הכולל שילוב פקדים בשורת הכותרת (GtkHeaderBar), שימוש ב־GtkPopover במספר מקומות, תפריט צד בכותרת, סרגל צד חדש וכן פתיחת מסמכים שנסגרו באמצעות צירוף המקשים Ctrl+Shift+T יחד עם שינוי צירוף המקשים למסמך חדש מ־Ctrl+N ל־Ctrl+T. נוסף לזה, ניתן לשנות גודל האותיות בתפריט הנפתח (אותיות רישיות, אותיות קטנות, החלפה, אות רישית בראש מילה) ועוד שיפורים רבים.



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


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


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


עבודה רבה נעשתה בדפדפן GNOME (נקרא Web, בעבר גם Epiphany). להלן בתמצות:

  • תהליך נפרד לכל לשונית. ניתן לשנות בחזרה לתהליך אחד לכל הלשוניות באמצעות gsettings (לפני שבוע שונה בררת המחדל לתהליך נפרד לכל לשונית !).
  • שורת כותרת חדשה המשלבת את כותרת הדף ואת תיבת הכתובות.
  • הדף „הנצפים ביותר” הפך לדף HTML, עם לא מעט שיפורים. בוצע על ידי Loren. הדבר מאפשר התאמה קלה של ערכת הנושא, שבוצע על ידי Jakub Steiner.
  • מרבית תיבות דו־שיח עוצבו מחדש, בשילוב פקדים בשורת הכותרת (GtkHeaderBar). מדובר בהיסטוריה, ססמאות, העדפות, עוגיות, ססמאות, ניקוי מידע אישי, הוספת קידודים, הוספת סימניה ושמירה דף כיישורם רשת. אולי פספסתי משהו. בוצע על ידי William Jon McCann.
  • מצב גלישה בסתר קיבל מראה חדש. במקום שימוש בערכת נושא כהה, נעשה שימוש בערכת נושא מיוחדת. דומני גם זה עבודה של ג׳ון.
  • נוסף ממשק לשינוי מנוע החיפוש (עד כה היה ניתן לעשות את זה באמצעות gsettings בלבד).
  • סרגל ההורדות עודכן, כמו גם עדכון לעיצוב דפי about: – גם אלה על ידי ג׳ון.
  • ספק החיפוש פוצל לקובץ בינרי נפרד.
  • מנועה החיפוש בברירת מחדל (DuckDuckGo) כעת גם משתמש ב־HTTPS בברירת מחדל.
  • סרגל חיפוש נפרד לכל לשונית. בוצע על ידי.

הרחבה של שני השיפורים הראשונים ניתן למצוא ברשומה קודמת שלי.


לוח Bluetooth חדש ואפשרות לקבוע רק מתמונות מ־Flickr.


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


יישום חדש – רשמקול

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


יישום חדש – יומנים

מציג יומני systemd (בשונה מ־gnome-system-log). נקרא gnome-logs.


יישם חדש – לקוח IRC חדש – Polari

לקוח IRC חדש, הכולל בין השאר:

  • השלמה אוטומטית
  • ממשק חדיש בעיצוב GNOME 3
  • תמיכה בהודעות פרטיות והצגת מידע על משתמשים
  • תמיכה בהדבקת טקסט גדול דרך fpaste (נראה לי הוסרה לפני כמה ימים מאיזו סיבה)
  • הצגת היסטוריה עם גלילה כלפי מעלה
  • שילוב עם המעטפת (gnome-shell)
  • תמיכה במספר פקודות בסיסיות



GNOME Software קיבל הרבה תכונות חדשות, אך כיוון שהיישום לא פועל על ארץ׳, רק אקשר לרשומה של Richard Hughes.

הגדרה ראשונית – gnome-initial-setup – עוצב מחדש

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

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








במהלך פיתוח 3.11/3.12 הסתכלתי על שני הדפים הראשונים בלבד. היום, משראיתי את כל הדפים, אני חייב לומר שנעשתה כאן עבודה מדהימה.

ממשק ברור, פשוט, יפה, חדיש, מסודר. כל זה פשוט נראה טוב, יחד עם כל GNOME 3, כעת 3.12 :-)

רק אסיים עם סרטון רשמי המציג את GNOME 3.12. קריינות על ידי קארן סנדלר, היא מנכ״ל קרן GNOME כיום.

אחרית דבר – פתח דבר

GNOME 3.12 כבר זמין במאגר gnome-unstable של ארץ׳, וככל הנראה יגיע בשבוע הקרוב ל־testing ובהמשך ל־core.

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

אציין שכתיבת הרשומה לקחה לי שעה אחת יותר ממה שתכננתי, לכן אסיים בברכת קיץ נטול יתושים וערב טוב,

יוסף אור

סגור לתגובות

תביעה ייצוגית על הפרת זכויות יוצרים? אגוז קשה. על Waze.

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

[קובץ התביעה (זהירות, מסמך DOC)]

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

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

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

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

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

סגור לתגובות

GNOME 3.12 שוחרר !

ערב טוב.

לאחר מחזור פיתוח בן שישה חודשים, שוחררה גרסה 3.12 של שולחן העבודה GNOME !

GNOME 3.12

GNOME 3.12

גרסה זו מכילה 34236 שינויים שנרשמו ב־Git על ידי 1140 תורמים, בהשוואה ל־34786 שינויים על ידי 985 תורמים ב־3.10.

אחוז התרגום עומד על 84% (36191 מחרוזות מתורגמות, 2971 מעורפלות ו־3879 שאינן מתורגמות), בהשוואה ל־84% (35956 מחרוזות מתורגמות, 2638 מעורפלות ו־3745 שאינן מתורגמות) ב־3.10, לעומת 83% ב־3.8. על התרגום אחראי ירון, ולאחרונה גם אני. אנו מקווים שנמצא זמן להעלות את אחוז התרגום לקראת 3.14.

כל המעוניין לעזור במלאכת התרגום יותר ממוזמן להתחבר לערוץ ‎#gnome-il ב־GimpNet ולתאם אתי מה הוא רוצה לתרגם, כדי לחסוך עבודה כפולה. לחלופין ניתן לשלוח לי הודעה לדוא״ל (yoseforb תחת gnome dot org).

יש לציין שהתרגום מתבצע לפי כללי התרגום של מיזם גֶּזֶר.

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

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

להלן מוטמע סרטון המציג את GNOME 3.12. קריינות על ידי קארן סנדלר, היא מנכ״ל קרן GNOME כיום.

על כל פנים, מחזור הפיתוח הבא, 3.13/3.14 כבר מתחיל. לא אמתין במתח לראות מה יהיה, אלא אכניס בעצמי שינויים. מזל טוב ובהצלחה ל־GNOME !


יוסף אור

סגור לתגובות

Setting Up RAID using mdadm on Existing Drive

After experiencing a hard-disk failure (luckily no important stuff loss, just some backups), I’ve decided to setup a RAID1 array on my existing Ubuntu 12.04 installation. The important thing was to migrate my existing data to the new RAID array while retaining all the data. The easy solution would have been to setup the array on two new drives and then copy my data over. However, I did not have a spare drive (apart from the new one) to copy my data over while creating the RAID array, so I had to take the trickier way.

I mainly followed François Marier’s excellent tutorial. As I went through it I realized I had to adjust a few things either to make it work on Ubuntu 12.04 or because I preferred another way to do stuff.

I’ve check the steps below using Ubuntu 12.04 on both a physical and a virtual machine (albeit in the dumb order – first I risked my data and then decided to prefect the process on a VM :-)). I think the same steps should apply to other Debian derivatives and more recent Ubuntu versions as well.


Before diving into action, I want to outline the whole process. In the first step we will create a degraded RAID1 array, which means a RAID1 array with one of the drives missing, using only the new drive. Next we will config the system to be able to boot from the new degraded RAID1 array and copy the data from the old drive to the RAID1 array on the new drive. Afterwards, we will reboot the system using the degraded array and add the old drive to the array, thus making it no longer degraded. At this point, we will update again some configurations to make things permanent and finally we will test the setup.

Make sure you got backups of your important stuff before proceeding. Most likely you won’t need them, like I didn’t, but just in case.

Partitioning the Drive

For the rest of the tutorial, I’ll assume the old disk, the one with existing data, is /dev/sda and the new one is /dev/sdb/. I’ll also assume /dev/sda1 is the root partition and /dev/sda2 is the swap partition. If you have more partitions or your layout is different, just make sure you adjust the instructions accordingly.

The first step is to create partitions on the new disk that match the size of the partitions we would like to mirror on the old disk. This can be done using fdisk, parted or using GUI tools such as Ubuntu’s Disk utility or gparted.

If both disks are the same size and you want to mirror all the partitions, the easiest way to do so is to copy the partition table using sfdisk:

# sfdisk -d /dev/sda > partition_table
# sfdisk /dev/sdb < partition_table

This will only work if your partition table is MBR (as sfdisk doesn’t understand GPT). Before running the second command take a look at partition_table to make sure everything seems normal. If your using GPT drives with more than 2TB, see Asif’s comment regarding sgdisk.

You don’t need to bother setting the “raid” flag on your partitions like some people suggest. mdadm will scan all of your partitions regardless of that flag. Likewise, the “boot” flag isn’t needed on any of the partitions.

Creating the RAID Array

If you haven’t installed mdadm so far, do it:

# apt-get install mdadm

We create a degraded RAID1 array with the new drive. Usually a degraded RAID array is a result of malfunction, but we do it intentionally. We do so, because it allows us to have an operational RAID array which we can copy our data into and then add the old drive to the array and sync it.

# mdadm --create root --level=1 --raid-devices=2 missing /dev/sdb1  
# mdadm --create swap --level=1 --raid-devices=2 missing /dev/sdb2

These commands instructs mdadm to create a RAID1 array with two drives where one of the drives is missing. A separate array is created for the root and swap partitions. As you can see, I decided to put have my swap on RAID as well. There are different opinions on the matter. The main advantage is that your system will be able to survive one of the disk failing while the system is running. The disadvantage is that it wastes space. Performance wise, RAID isn’t better as might be expected, as Linux supports stripping (like RAID0) if it has swap partitions on two disks. In my case, I have plenty of RAM available and swap space is mainly unused, so I guessed I’m better of using RAID1 for the swap as well.

You may encounter the following warning when creating the arrays:

mdadm: Note: this array has metadata at the start and
    may not be suitable as a boot device.  If you plan to
    store '/boot' on this device please ensure that
    your boot-loader understands md/v1.x metadata, or use
Continue creating array?

Grub 1.99, which is the default bootloader in recent Ubuntu distributions supports booting from partitions with the 1.2 format metadata, so it’s safe to type “y” here.

Next, we need to create a filesystems on the newly created RAID arrays:

# mkfs.ext4 /dev/md/root
# mkswap /dev/md/swap

The following will record your newly created MD arrays in mdadm.conf:

# /usr/share/mdadm/mkconf > /etc/mdadm/mdadm.conf

Preparing to Boot the Array

In this step we shall prepare the system to boot the newly created boot array. Of course we won’t actully do that before copying our data into it.

Start by editing /etc/grub.d/40_custom and adding a new entry to boot the raid array. The easiest way is to copy the latest boot stanza from /boot/grub/grub.cfg and modify it. The boot stanza looks something like this:

menuentry 'Ubuntu, with Linux 3.2.0-56-generic' --class ubuntu --class gnu-linux --class gnu --class os {
        gfxmode $linux_gfx_mode
        insmod gzio
        insmod part_msdos
        insmod ext2
        set root='(hd0,msdos1)'
        search --no-floppy --fs-uuid --set=root 19939b0e-4272-40e0-846b-8bbe49e4a02c
        linux   /boot/vmlinuz-3.2.0-56-generic root=UUID=19939b0e-4272-40e0-846b-8bbe49e4a02c ro   quiet splash $vt_handoff
        initrd  /boot/initrd.img-3.2.0-56-generic

First we need to add

insmod raid
insmod mdraid1x

just after the rest of the insmod lines. This will load the necessary GRUB modules to detect your raid array during the bootprocess. If you decided to go for 0.9 metadata earlier (despite my recommendation…) you will need to load mdraid09 instead of mdraid1x. Next we need to modify the root partition. This is done my modifying the UUID (those random looking hex-and-hyphens strings) arguments to the lines starting with search and linux. To find out the UUID for your root partition run

# blkid /dev/md/root

Which will give something like

/dev/md/root: UUID="49b6f295-2fe3-48bb-bfb5-27171e015497" TYPE="ext4"

The set root line can be removed as the search line overrides it.

Last but not least add bootdegraded=true to the kernel parameters, which will allow you to boot the degraded array without any hassles. The result should look something like this:

menuentry 'Ubuntu, with Linux 3.2.0-56-generic (Raid)' --class ubuntu --class gnu-linux --class gnu --class os {
        gfxmode $linux_gfx_mode
        insmod gzio
        insmod part_msdos
        insmod ext2
    insmod raid
    insmod mdraid1x
        search --no-floppy --fs-uuid --set=root e9a36848-756c-414c-a20f-2053a17aba0f
        linux   /boot/vmlinuz-3.2.0-56-generic root=UUID=e9a36848-756c-414c-a20f-2053a17aba0f ro   quiet splash bootdegraded=true $vt_handoff
        initrd  /boot/initrd.img-3.2.0-56-generic

Now run update-grub as root so it actually updates the /boot/grub/grub.cfg file. Afterwards, run

# update-initramfs -u -k all

This will make sure that the updated mdadm.conf is put into the initramfs. If you don’t do so the names of your new RAID arrays will be a mess after reboot.

Copying the Data

Before booting the new (degraded) array, we need to copy our data into it. First mount /dev/md/root somewhere, say /mnt/root, and then copy the old data into it.

# rsync -auxHAX --exclude=/proc/* --exclude=/sys/* --exclude=/tmp/* / /mnt/root

Next you need to update /mnt/root/etc/fstab with the UUIDs of the new partition (which you can get using blkid). If you have encrypted swap, you should also update /mnt/root/etc/crypttab.

Last this before the reboot is to re-install the bootloader on both drives:

# grub-install /dev/sda
# grub-install /dev/sdb

Reboot the computer. Hold the “Shift” key while booting to force the Grub menu to appear. Select the new Grub menu-entry you have just added (should be last on the list). After the system finished booting up, verify that you’re indeed running from the RAID device by running mount, which should show a line like this:

/dev/md127 on / type ext4 (rw,errors=remount-ro)

The number after /dev/md doesn’t matter, as long as it’s /dev/md and not /dev/sda or other real disk device.

Completing the RAID Array

If you have made it that far, you have a running system with all your data on a degraded RAID array which consists of your new drive. The next step will be to add the old disk to the RAID array. This will delete any existing data on it. So take a few minutes to make sure that you’re not missing any files (this should be fine as we rsync‘ed the data). Adding the old disk back to the RAID array is done by:

# mdadm /dev/md/root -a /dev/sda1
# mdadm /dev/md/swap -a /dev/sda2

Make sure you are adding the right partitions to the right arrays. These commands instruct mdadm to add the old disk to the new arrays. It might take some time to complete syncing the drives. You can track the progress of building the RAID array using:

$ watch cat /proc/mdstat

When it’s done, it means that your RAID arrays are up and running and are no longer degraded.

Remove the boot stanza we’ve added to /etc/grub.d/40_custom and edit /etc/default/grub to add bootdegraded=true to the GRUB_CMDLINE_LINUX_DEFAULT configuration variable. This will cause your system to boot up even if the RAID array gets degraded, which prevent the bug outlined in Ubuntu Freezes When Booting with Degraded Raid.

Finally update Grub and re-install it:

# update-grub
# grub-install /dev/sda
# grub-install /dev/sdb

We are done! Your RAID array should be up and running.

Testing the Setup

Just getting the RAID array to work is good but not enough. As you probably wanted the RAID array as contingency plan, you probably want to test it to make sure it works as intended.

We make sure that the system is able to work in case on of the drives fails. Shut down the system and disconnect one of the drives, say sda. The system should boot fine due to the RAID array, but cat /proc/mdstat should show one of the drives missing.

To restore normal operation, shutdown the system and reconnect the drive before booting it back up. Now re-add the drive to the RAID arrays.

mdadm /dev/md/root -a /dev/sda1
mdadm /dev/md/swap -a /dev/sda2

Again this might take some time. You can view the progress using watch cat /proc/mdstat.

סגור לתגובות

Preventing Directory Traversal in Python

Consider the following use case:

PREFIX = '/home/user/files/'
full_path = os.path.join(PREFIX, filepath)
read(full_path, 'rb')

Assuming that filepath is user-controlled, a malicious user user might attempt a directory traversal (like setting filepath to ../../../etc/passwd). How can we make sure that filepath cannot traverse “above” our prefix? There are of course numerous solutions to sanitizing input against directory traversalthat. The easiest way (that I came up with) to do so in python is:

filepath = os.normpath('/' + filepath).lstrip('/')

It works because it turns the path into an absolute path, normalizes it and makes it relative again. As one cannot traverse above /, it effectively ensures that the filepath cannot go outside of PREFIX.

Post updated: see the comments below for explanation of the changes.

סגור לתגובות

ה-NSA והמפגש עם האירוניה

מי שנמצא בתחום אבטחת מידע ועוקב אחרי החדשות, יזכור בוודאי את הסיפור שהיה לפני כשנתיים עם חברת Huawei וחברת ZTE הסיניות. מדובר ב-2 חברות סיניות גדולות שרצו למכור בארה"ב ציוד תקשורת בכל הרמות – החל מהרמה הביתית (מודמים DSL וכבלים) … להמשיך לקרוא
סגור לתגובות

אסטרטגיה לפתרון של 2048

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

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

האסטרטגיה מוסברת בהערות על הוידאו. אלו מופיעות רק אם אתם רואים את הוידאו ביוטיוב.


סגור לתגובות


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

  • את התוכנה "בהפוכה" (שנכתבה בשיתוף פעולה עם משה ואגנר ומאיר קריחלי) ניתן להוריד כאן.
  • התוכנה משמשת אותי גם כיום: שייכתי קיצור דרך במקלדת (Alt + B) שמפעיל את התוכנה ומבצע את ההמרה. בעבר התוכנה התארחה ב- sourceforge, אך משום מה קבצי התוכנה ובסיס הנתונים שלה נמחקו מהאתר (ממש מוזר… זה קרה, דרך אגב, גם לפרוייקט מזרים). מאחר ש- sourceforge מואשמים בשילוב "רוגלות" בקבצי ההרצה, החלטתי לעבור ל- github. בקישור תמצאו קבצי deb להורדה (כמו גם את קוד המקור). משתמשי Arch יכולים להתקין את התוכנה מ- AUR.

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


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

Sequel וPostgreSQL

לאחרונה אני מוצא את עצמי משתמש בתכונות מאוד מתקדמות של PostgreSQL, שחלקם נוספו רק ב9.2 (למשל range). העניין הוא שאני עובד עם רובי ו Sequel, ולרוב אנחנו שמים לב כי ORM אינם אוהבים דברים שהם לא סטנדרטיים.

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

ישנם שני דרכים לטעון תוספים:

  1. דרך גלובלית
  2. דרך שתופעל רק על החיבור שלנו

הדרך הגלובלית נראת כך:

Sequel.extension(:core_extensions, :pg_range, :pg_array)

הדרך של החיבור, נראת כך:

DB.extension(:pg_range, :pg_array)

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

DB[:readers].where(Sequel.pg_range(:comments_id).contains([10, 15, 1900])).sql
# SELECT * FROM "readers" WHERE ("comments_id" @> (10, 15, 1900))

והנה יש לנו שאילתא אשר משתמשת ב Range של Pg, אבל כתובה עם ORM.
בתעוד כתוב שגם שם השדה יכול להיות המקור של pg_range (למשל), אבל אצלי זה לא כך (גם אם זה גלובלי).

למערכים, הפעולה מאוד דומה גם כן:

DB[:comments].where(uid: 10).where(Sequel.pg_array_op(:comments).contains(Sequel.pg_array([15,23]))).sql
# SELECT * FROM "comments" WHERE (("id" = 1) AND ("comments" @> ARRAY[15,23]))

קריאה נוספת:

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

כמה מילים על השעונים החכמים החדשים

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

על כספומטים, XP, וסיום חיי מערכת הפעלה

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