יום רביעי, יולי 06, 2016

לראות ולחייך

איזה תענוג לראות את הדבר הבא כאשר מדברים על בנייה של מוצר -
Linux
  • Python v2.7
  • make
  • A proper C/C++11 compiler tool chain, for example GCC
  • native-keymap needs libx11-dev.
    • On Debian-based Linux: sudo apt-get install libx11-dev
    • On Red Hat-based Linux: sudo yum install libx11-devel.x86_64 # or .i686.
  • Building deb and rpm packages requires fakeroot and rpm, run: sudo apt-get install fakeroot rpm
After you have these tools installed, run the following commands to check out Code and install dependencies:

Windows
git clone https://github.com/microsoft/vscode
cd vscode
scripts\npm install


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

יום חמישי, מאי 19, 2016

זה הכל עניין של עוצמה

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

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

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


עבור מיליוואט :
P(dbm) = 10 * log_10 (P(mW) / 1mW)

מכאן כן לראות שעבור וואט אחד מדובר על 30dbm:
10 * log_10 (1000 mW / 1 mW) = 10 * 3 = 30dbm

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

האם קרינה לא מיננת אינה גורמת נזק ? ממש לא ! המיקרוגל הביתי אינו מיינן אבל הוא הורס רקמות מצויין (טיגון) .

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

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

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

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

 
These findings appear to support the International
Agency for Research on Cancer (IARC) conclusions regarding the possible carcinogenic
potential of Radiofrequency radiation (RFR) .


הבדיקה נעשתה ע"י חשיפה לקרינה במשך כ9 שעות בעוצמות של 1.5 וואט לקילוגרם ' בתדרים 900 ו 1900 (לא מדובר על התדרים של וי-פי ואם זכרוני אינו מטעה אותי הם לא בשימוש ).

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

יום שלישי, מאי 10, 2016

windows subsystem for linux

אם כבר עברתי לצד האפל , חשבתי לעצמי אולי הבעיות בהן נתקלתי (חוסר תמיכה) יפתרו על ידי שימוש ב windows subsytem for linux.

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

בשביל ההתקנה  יש לעבור ל developer mode ולהוריד preview (אני הלכתי על 14332) ,את ההורדה ביצעתי  באמצעות wget על וינדוס אבל אפשר גם דרך דפדפן.

בשביל להתקין תצטרכו לאשר את windows subsystem for linux תחת windows features בתוך programs and features.

לאחר איתחול הפעילו cmd ומתוכו הריצו bash וצרו משתמש (זאת כמובן אם אתם מסכימים לתנאי השימוש של ubuntu :) )




ההתקנה הולכת לתוך  %localAppData%\lxss אצלי היא לקחה 630 מ"ב .
מתחתיה התיקיות cache data home mnt root ו rootfs באופן מתפיע יש אפילו grub מותקן (רק שאני מאמין שאינו עוזר בשיט.

בשביל להסיר : lxrun.exe /uninistall

כמה דברים בסיסים להתחלה :

user@DELL-E6540:/proc$ uname -a
Linux DELL-E6540 3.4.0+ #1 PREEMPT Thu Aug 1 17:06:05 CST 2013 x86_64 x86_64 x86_64 GNU/Linux

user@DELL-E6540:/mnt/c$ cat /etc/lsb-release
DISTRIB_ID=Ubuntu
DISTRIB_RELEASE=14.04
DISTRIB_CODENAME=trusty
DISTRIB_DESCRIPTION="Ubuntu 14.04.4 LTS"

user@DELL-E6540:/mnt/c$ mount
rootfs on / type rootfs (ro,relatime)
tmpfs on /dev type tmpfs (rw,seclabel,nosuid,relatime,mode=755)
devpts on /dev/pts type devpts (rw,seclabel,relatime,mode=600)
proc on /proc type proc (rw,relatime)
sysfs on /sys type sysfs (rw,seclabel,relatime)
user@DELL-E6540:/mnt/c$ sudo df -h
df: cannot read table of mounted file systems: No such file or directory


לצערי בגלל הבעיה של proc דברים אחרים חשובים אינם עובדים כמו lsusb ו lsmod (מה שמונע שימוש בדברים כמו wvdial למשל) .

התחלתי לוודא אילו כלים שהיום עובדים לי בwindows יעבוד מתוך ה subsystem.

netcat עובד.
telnet עובד.
git-svn אינו עובד (נתקע).
nmap אינו עובד (Problem binding to interface).
ping אינו עובד (icmp open socket: socket type not supported)

מה אני אגיד לכם שימוש ב msysgit ו gnuwin נותן יכולות טובות יותר נכון לעכשיו.

יום ראשון, מאי 08, 2016

המפלצת היומית (כי מרי שלו לא נתנה לה שם)

על טעויות משלמים ומשלמים טוב, אם הקורא החביב צריך את המחשב לעבודה תעשה לעצמך טובה ואל תתקין Win10.

כפי שהזכרתי כבר מספר פעמים עברתי ל windows 10 ומאז כשאני רוצה לקלל אני פשוט אומר win10.

אחת התופעות היותר מדהימות שמצאתי היתה בעייה בדריברים הקשורים למודם;מה שמונע חיבור לאינטרנט באמצעות nokia pc suite / nokia pc internet access.

הפתרון הראשוני שלי היה לנסות לדלות את הדריברים שיש במודם/טלפון ע"י שינוי מצב המודם על לינוקס (שינוי DisableSwitching ל 1 בתוך /etc/usb_modeswitch.conf) ואז העתקת הקבצים לוינדוס בשביל להתקין. אמנם הצלחתי לקבל גישה לקבצים ולהתקין אולם זה לא עזר. תשאלו למה צריך לשלוף בצורה ידנית דרך לינוקס ? כי תוכנת ההתקנה עובדת מאחורי הגב ותכשיל פעולה עם גרסאות הדריבר לא מתאימות (וזו בדיוק הבעיה שצריך לפתור) ולא מצאתי דרך להעביר מודם למצב cdrom בוינדוס ללא התקנת תוכנה חיצונית.

הפעולה גרמה לזיהוי של שני רכיבים ע"י windows שנקראו CDC Comms interface ו Generic Phone ( אך ככאלה להם אין דריבר ), שימוש ב scan for devices (מה שאומר להפעיל שרשת פעולות שתתקין דריברים דרך וינדוס ) לא עבדה גם לא הפעלה check for updates  מה שבתורו הוביל אותי לבעיית ה Preparing to install updates 0% (למרות שזה זיהיה שיש עידכונים לבצע רק נשאר ב 0% במשך כחצי שעה המחשב אותחל והמשכתי הלאה).

לאחר מכאן המשכתי לשימוש ב Nokia PC suite  ו Nokia Suite. בנקודה מסויימת כבר חזרה לי היכולת לראות את תוכן הקבצים ולקבל גישת SMS (צפיתי בSMSים במכשיר)



הפתרון הנאיבי שלי לאחר שהגעתי למצב בו יכלתי לצפות ב SMS היה יצרת התקן באמצעות dialup connection  שמחייג ל  *99***1# עם התוספת במאפייני החיבור/מודם.

+CGDCONT=1,"IP","internet.isp.tld" 

נכשל עם 628 (ניתוק בגלל המערכת המחייגת).

כשניסיתי להשתמש בconnect to internet של suite ושל Nokia PC internet Access (כאומר המכשיר זוהה) - חיכה לאין סוף ונכשל.

כשניסיתי עם Nokia PC Suite היה נכשל שוב. גלשתי לי למאפיינים של המודם אבל גם כשערכתי את המאפיינים המתקדמים של הדריבר (modems->drivername->advanced->extra initlialization commands) הוא היה מחליף ל
+CGDCONT=,,"internet.isp.tld"

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

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

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

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

מה שעשיתי היה להתקין VM של virtual box ובתוכו להרים debian.

בתוך הדביאן התקנתי מראש wvdial וקינפגתי :
[Dialer hack]
Phone = *99***1#
Username = user
Password = pass
Stupid Mode = 1
Dial Command = ATDT
Modem = /dev/ttyACM0
ISDN = 0
Baud = 460800

Modem Type = USB Modem
Init1 =ATZ
Init2 =AT+CGDCONT=1,"IP","internet.isp.tld";

הגדרתי עבור ה VM שכל רכיבי ה USB יעברו פנימה (אפשר להגביל רק פר רכיב בודד) ,
ואז מתוך ה VM הפעלתי wvdial hack מה שנתן לי חיבור לרשת מתוך ה VM דרך רכיב הרשת המחובר כ USB למחשב המארח שמריץ win10.

זה עקום כמו פתרון מיפוי ב 2015 הבנוי על בסיס  silverlight אבל זה עובד בנתיים.

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

להפעיל את המחשב מחדש (כאשר המודם בחוץ) , להתקין suite ישן (אני התקנתי מ 2011) ולא לעשות windows update להפעיל מחדש את המחשב, לחבר את מודם ולהתקין את הקבצים שחילצנו בהתחלה (להתקין את ה Nokia PC Internet access ) עכשיו להסיר suite ולהפעיל מחדש.

נפלאות דרכי ה win10

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

בשבוע שעבר נחשפתי לפטיצ'ר פשוט מדהים:

בערך רבע עד חצי שעה לפני הצגה שהייתי צריך לעשות מכונות ה Win10 שלי החליטה שהיא לא מזהה יותר את כרטיס האלחוט שלי, גם העברה ממצב on  ל off ובחזרה ל on לא החזירה את הרכיב (שימוש ב scan for changes תחת devices לא תרמה מאומה).

בוינדוס כשהייתי לוחץ על האייקון של ה Wireless קיבלתי את ההודעה המשמחת no wireless devices found (יכול להיות שהמלל היה טיפה שונה).

ע"פ מייקרוסופט אם יש לך VPN  התכונן לבעיות :

After you upgrade a computer that has virtual private network (VPN) software installed from Windows 8.1 to Windows 10, no wireless networks are listed as available.

This is true even when the wireless network adapter seems to function correctly. If you restart the computer or you try to reinstall the wireless network adapter driver, this does not fix the problem.

This problem may also prevent wired Ethernet connections from functioning correctly. This affects connections that are made through either a built-in Ethernet adapter or a USB Ethernet adapter.
צריך לבצע את הפעולה הבאה בממשק המשתמש הטקסטואלי :

reg delete HKCR\CLSID\{988248f3-a1ad-49bf-9170-676cbbc36ba3} /va /f

המקרה שלי זה לא VPN (כי לפי גוגל זה בדר"כ קורה למי שיש לו VPN של Cisco).

טוב , בגלל שזו לא הפעם הראשונה שזה קורה לי ב win10 , הפעלתי את ה nokia pc internet connection בשביל לנסות לעבוד.

נחשו מה רבה היתה ההפתעה שלי שעכשיו גם המודם שלי לא מזוהה - התוכנה לא מזהה חיבור , לפי ה  Network Connections המודם נמצא במצב disconnected ולא עובר למצב מחובר ללא תלות בשום שינוי דבר שאני עושה : הכנסה / הוצאה של ה USB או אפילו שינוי המאפיינים במכשיר.

ה workaround שלי היה להחליף מחשב, ולחכות לטוב. לאחר מספר שעות לאחר שהפעלתי שוב את המחשב פוף הWiFi חזר (בלי שום התקנות חדשות ובלי שום שינוי נוסף שעשיתי) אבל ה Nokia PC interenet access עדיין לא עבד.

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

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

ניסיון באיתור הדריבר (לחיצה על scan for new devices) הובילה לתקיעה ו restart הוביל ל DRIVER_POWER_STATE_FAILURE

מכירים את זה שבין שינוי לשינוי צריך לאתחל ? אז תחת ה win10 האיתחול לוקח מעל דקה (ממצב מופעל למצב מופעל) אפילו במחשב נייד מ 2006 (שיש לי לידו) שרץ עליו systemd וKDE זה הרבה יותר מהיר.


נ.ב. בלינוקס זה לא קורה והמודם עובד מצויין דרך wvdial.

 win10 %%#%%#. 

יום שלישי, מאי 03, 2016

מנפלאות ה Win10

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

ידעתי ששידרוג למערכת ההפעלה Win10 הולך להיות כואב רק לא הבנתי עד כמה, אבל נדרשתי  לבצע וביצעתי והנה אני ב 10.

לאחר שעברתי ממערכת עובדת של Win7 וביצעתי שידרוג ל Win10 גיליתי תופעות מדהימות. אני חייב להגיד שבמהלך עבודתי ב 7 לא נתקלתי בבעיות כאלה במחשב הזה (Latitude E6540).

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

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


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

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

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

שימוש במנהל העידכון של Dell (דרך האתר ) והתקנה של כל מה שהוא טוען שצריך להתקין - בוצע ולא עובד.

הורדה ועידכון של הקיט ב Intel -ניסיתי לא עובד, על הדרך נזכרתי בתענוג של פעם למה הינו עובדים עם קבצי DEF כשהיינו בונים קבצי DLL  :




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

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

שינוי ה registry , הסרת הדריברים הסוררים , מחיקה של קבצי ה inf מתוך %systemroot%\inf 
לאחר מכן ביצוע מחיקה של הדריברים מתוך device mangaer וביצוע scan for changes. -  לא בוצע .

בחירת דריבר שגויי תחת device properties ,ביצוע disable , איתחול מחדש , הסרה , ריענון של רכיבים זבח של בתולה לאל השמש  - עבד יש לי רכיבי usb שחזרו לעבוד.


סוף וודו .

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

נוסיף לזה כמובן את ביטול האפשרות לביצוע noise cancelation - ב win 7 היתה אפשרות לבטל את הרעש הסטטי של המיקרופון תחת הטאב enhencments ב 10 האפשרות נעלמה כאשר משתמשים בדריברים של דל (או של מיקרוסופט). אם מתקינים את הדריבר 2.7 של realtek האפשרות מוחזרת אבל אז אין קול כאשר משתמשים בheadset.

כמה דברים יפים שגילתי היו למשל העובדה  F8  במהלך העלייה לא נותן Safe Mode , ובשביל להגיע ל Safe  Mode צריך ללחוץ על shift לאחר כניסה ואז ללחוץ על הכפתור Restart (או לבצע דרך msconfig).

עוד נקודה שמפריעה לי מאוד היא חוסר הקיום של תוכנה בסגנון של sudo, כן אני מבין שאפשר ללכת וללחוץ על האייקון ובתפריט לבחור Run as administrator , הדבר הכי קרוב לעבודה כזאת היה ביצוע runas  ביחד עם טסריט מוכן אבל זה עקום כמו שימוש  ב silverlight על KDE.

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

שמו את תיקיית הבית תחת users (המקבילה ל home)

בצעו הפרדה של התקנת תוכנות פר מערכת %program files% + %programdata% (המקבילים ל /usr/bin ו /usr/share)

נתנו ממשק בו כל משתמש יכול להחזיק קבצי הגדרה ספיציפים אליו %Appdata% (המקביל כנראה ל ~/.local/share/ )

בנו מערכת הרשאות לשימוש UAC (אני מאמין שהדבר הקרוב ביותר זה AppAromor אבל אשמח לתיקון) .

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

בשביל לקבל גישה לקבצים במערכות כמו דביאן אני פשוט אפעיל chown בוינדוס 10 הפקודה נקראת takeown שצריך להפעיל ממשק משתמש טקסטואלי (CLI).

במערכות כמו דביאן כשצריך לערוך קבצי הגדרות צריך להשתמש ב sudo או משתמש בעל הרשאות , הפלא ופלא ב Win10 כאשר פתחת קובץ לעריכה (נגיד etc\drivers\hosts) צריך שהאפליקציה תופעל כ Administrator בשביל לבצע עריכה (או להיות מחובר ל Administrator ב Safemode שזה המקבילה ל root).

אם יש UAC מופעל לא מצאתי דרך כמו ב sudo לאשר פעולות או תוכנות מסויימות אם אלו לא חתומים (חתימת אפליקציה נעשת ע"י signtool והחותמת צריכה להיות מופעלת על ידי group policy ).

במערכות כמו דביאן ו ארץ' קבצי ההגדרות נמצאים במספר מקומות (במיוחד /etc ) ב Win10 יש קובץ רגיסטרי וקבצי ini שצריך לערוך בשביל לשנות הגדרות כשיש תקלה.

במערכות כמו דביאן כאשר יש בעייה במנהל התקן אפשר יהיה לבצע לו פשוט blacklist , ב Win10 אני צריך ללכת להסיר אותו מה registry ללכת ולהתפלל לטוב.

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