All Kinds of Minds
אחת ההרצאות האחרונות שראיתי ב-TED הייתה על מישהי שמדברת על הספקטרום האוטיסטי ואיך לא צריך לפחד ממנו או להרעיף עליו כמה שיותר תרופות עד שהוא יעלם.
אני לא בטוח כמה היא על הספקטרום אבל היא אומרת בצורה מלאה ורהוטה משהו שאני חושב כבר כמה זמן: אוטיזם הוא ספקטרום שאפשר להגדיר מ-0 (לגמרי “נורמלי”) ועד 100 (לגמרי “אוטיסטי”) וככל שנעים על הסקאלה הזאת מ-0 לכיוון 100 אז כישורי התקשורת והכישורים החברתיים יורדים אבל היכולות האנליטיות והחשיבה הרב-גונית מתחזקות.
זאת אומרת, ככל שהאדם יותר אוטיסטי, הוא אולי מסתדר פחות טוב עם אנשים, לפעמים עד רמה שאין אצלו במוח את ההקשרים של שפה וחברה שכולנו לוקחים מאליהם, אבל הוא מסוגל לחשוב חזותית בצורה שמאפשרת לו לדמיין מתמטיקה ופיזיקה כדברים מוחשיים (איינשטיין) או לתכנן מכונות מורכבות ולבדוק איך הן פועלות במוחו בלבד (טסלה) ובכך אפילו לעצב מחדש את ההבנה האנושית.
אז לא צריך לפחד או להיזהר או לנסות לרפא את האנשים האוטיסטים. צריך לעזור להם בהתמודדות עם העולם למידה שהם צריכים ולחכות בציפיה למה שיצא ממוחם ולקוות שזה יהיה מגניב. ואני אפילו חושב שאולי האוטיזם הוא לא מחלה מסוכנת שמאיימת על המין האנושי אלא אולי הפתח שאנחנו צריכים כדי להתקדם, אולי אפילו סממן מקדים לסוג חדש של אנשים שיהיו בעתיד בחזית ההתפתחות הטכנולוגית ויקחו אותנו למקומות שאפילו לא חשבנו עליהם.
Posted in Humanity, Thinking Out Loud by Eran with 2 comments.
A Lotus Quasi-Loop
I keep expecting the universe to collapse but this tastes so good I don’t care…
Posted in Art, Life, Memes and Stuff, Mixing, Weird by Eran with comments disabled.
Reading Files in C++, Quick and Easy
It’s a simple thing that can get needlessly complicated, especially if, like me, you return to C++ after a while of not using it. And then you ask yourself: “I need to read from a file but how did I use to do that? And what’s the best way to do this any way?
Well, I don’t know about best but this is the quickest and easiest way I could find.
std::ifstream t("file.txt");
std::stringstream buffer;
buffer << t.rdbuf();
And now your buffer contains the entire contents of the file and you may do with it as you please, using it like any other stream. Yes, streams allow you to output as strings two. You may even use a wstringstream if you want it to be encoded wide.
My problem came when my boss told me to dump the streams. But more on that later. Maybe.
Posted in Programming by Eran with comments disabled.
חוקים ודברים כאלו
יש כאלו שאומרים “חוקים נועדו כדי להישבר”. אני מעדיף להגיד שחוקים נוצרו בשביל מי שלא יודע יותר טוב.
נהלים נוצרו בשביל שלאנשים יהיה ממשק טוב עם אנשים אחרים בתחומים מסוימים. לכן אני מגדיר את רוב חוקי התנועה בתור ‘נהלי תנועה’ שנועדו ליצור שפה אחת מובנת על הכביש לטובת כולנו.
אבל אם נסתכל רגע על חציית כביש. החוק אומר שצריך לחצות במעבר חצייה מסודר לאחר שהוא ברמזור להולכי רגל הפך לירוק. מבחינתי, זה נועד בשביל אנשים שלא מסוגלים להבין לבד מתי אפשר או אי אפשר לחצות כביש.
זאת סוג של השלכה של מה שאומרים לכותבים: יש חוקים של כתיבה. יש דברים שכבר נעשו ונבדקו ומקובלים והם שם כי הם עובדים. זה לא אומר שדברים אחרים לא עובדים אבל זה כן נותן סט ברור של מה שכן עובד. ולכן, כך אומרים, ברגע שתכיר את החוקים, תתנסה איתם ותבין למה הם קיימים אז תוכל להתחיל לשבור אותם ואולי גם לכתוב חוקים חדשים.
וככה אני חושב על כל החוקים באופן כללי. אני מציית לחוקים עד שאני מבין למה הם נכתבו ואז אני מתייחס למטרה המקורית ולא לחוק.
Posted in Humanity, Practice, Thinking Out Loud by Eran with comments disabled.
Have Some Spare Time Before Next Semester
Now that I am unemployed.
So I’m actually taking the time to advance some creative projects and taking an online HTML5 course.
The main idea, goal and motivation? Achieving Flow.
Posted in Art, From the Writing Desk, Life by Eran with 2 comments.
How to Compile OpenSSL for Visual Studio 2010/2012
We are using OpenSSL for secure communication because… well, anyone with an application communicating over any kind of network should use some kind of secure communication. OpenSSL is free and open source so it’s a good choice for many of the usual reasons.
OpenSSL is multiplatform and requires an on-site build. We are working with Visual Studio 2010 (now moving to 2012) and thus we need to compile it specifically for that environment. I couldn’t find any set of instructions this clear and this precise. This has been cobbled up from many sources and modified by me to fit our scenario. But, I believe this should be useful for anyone compiling OpenSSL for Visual Studio from 2003 and beyond.
Basically, there are two ways to do this: With the Visual Studio assembler or with the Netwide Assembler. I will explain them in tandem. After some (read: many) iterations on this, I’m not sure if there is a problem with either or which one is better. I ended up using the Netwide Assembler. It, however, requires another install. So my suggestion is using the VS assembler and if you have problems you can’t fix, try the Netwide Assembler.
Ingredients:
- Install the Perl compiler for windows. Put it in an easy to reach place like C:\Perl
- Download the latest OpenSSL sources. Put them in an easy to reach place like C:\openssl-<version>
- If you are using the Netwide Assembler (NASM), install that too. Put it in an easy to reach place like C:\NASM
For x86 libraries:
- Open Visual Studio x86 Command Prompt (Should be in your Visual Studio tools subdirectory)
- Change dir to the OpenSSL folder.
- “perl Configure VC-WIN32 no-shared no-idea” (watch the capitals)
- “ms\do_ms.bat” (For NASM it’s “ms\do_nasm.bat”)
- Edit ms\nt.mak file: add “/SAFESEH” to LFLAGS (also, watch the capitals)
- For NASM, Edit ms\nt.mak file: change line 52 to set “C:\NASM\nasm.exe” as the assembly command
- “nmake -f ms\nt.mak”
- This will take a few minutes but in the end you will have two important directories: inc32 and out32. In out32 you will find your two static libraries “libeay32.lib” and “ssleay32.lib”. Put them in a lib directory your linker can use. In inc32 are the headers. Copy all of them into an include directory your compiler can use.
For x64 libraries:
- Open Visual Studio x64 Command Prompt (Should be in your Visual Studio tools subdirectory)
- Change dir to the OpenSSL folder.
- “perl Configure VC-WIN64A no-shared no-idea”
- “ms\do_win64a”
- Edit ms\nt.mak file: add “/SAFESEH” to LFLAGS
- Edit ms\nt.mak file: change directories (lines 37-42) to be 64 and not 32
- For NASM, Edit ms\nt.mak file: change line 52 to set “C:\NASM\nasm.exe” as the assembly command
- “nmake -f ms\nt.mak”
- Same as above only this time the directories are inc64 and out64 (if you changed the directories accordingly in step 6)
Thanks to everyone who helped and/or unknowingly contributed to this guide. If there are problems with it, I happily accept corrections and suggestions.
Posted in Programming by Eran with 4 comments.
Lighting the Torch Forward
After finishing Dishonored, I went back to playing Torchlight II, seriously. And so far, I’m having great fun. I find that not only is the game fun but the kind of people roaming there are more fun than I remember when I played Diablo II.
I mean, there are the occasional games I join and everyone immediately votes me out for some reason (Guys… If you didn’t want anyone in your game, just lock it). And I do feel that I do encounter racism (You don’t speak French/German/Russian/Armenian/Ancient Sumerian? Out with you!) or sexism (I play a female Engineer named Infinity Lorein and you can’t really tell sex from my nickname) but usually people are quite nice and understanding.
For example, I like to play slowly: Clear a zone, go over the items I got, throwing away ones I don’t need, complete a quest, go to town to replace old gear with new, maybe enchant or transmute something, and then, when everyone is ready, go for another quest.
That concept seemed so alien in the Diablo II servers where everyone ran forward as quickly as possible. It helps, now, that everyone gets seperate loot, but it’s more than that. We stop, we trade, we just talk about gear and builds. Sometimes I have something I can’t use so I trade it for anything cool, not only something that is as good or better. And sometimes I just give it away. And when the other responds with “Awesome! Thanks!”, I just smile and say, pay it forward. And, not two minutes later, he does!
Wil Wheaton said not long ago that he ultimately prefers table top games to video games. Video games are fun, yes, but sitting with your friends around a table, talking, gaming, enjoying each other’s company is much better and purer than playing with someone from a different continent who, after shooting you in the head, exclaims about your genital dysfunction, your lesser gender definition and how your mother pleasured him last night.
I agree but there are some online games that are still fun with complete strangers. And my current example for this is Torchlight II. It’s on a weekend sale at Steam. Go get it. Then call me and we’ll play.
Posted in Gaming, Geekdom, Humanity, Life, Thinking Out Loud by Eran with comments disabled.
That Sucks…
אני פוטרתי אתמול.
אני לא כועס. זה לא היה כי עשיתי משהו לא בסדר או עברתי על חוזה. זה היה כי לא הכניסו כמו שציפו להכניס ועכשיו אין מספיק כסף כדי להחזיק אותי. זה מה שהבוס שלי אמר לי ואני מאמין לו כי הוא בן אדם סבבה וממש לא כמו האנשים שעבדתי איתם בעבר. ואני לא אומר את זה רק כי הוא יודע על הבלוג הזה.
אני רק קצת מבואס כי לפני חודש בערך היה יריד תעסוקה בטכניון ולפני שבוע התקשרו אליי לשאול אם אני מחפש עבודה. אם הייתי יודע יותר מראש אז הייתי יכול להיות מוכן יותר. וזה מה שבעיקר חבל לי, שעכשיו אני צריך לתכנן מחדש את העתיד הקרוב בלי הרבה זמן לעשות את זה.
ואני גם שונא לעבור מקום. אתם יודעים למה אני מתכוון? אחרי שהתמקמת ומצאת את השיגרה, במיוחד עם אנשים כיפיים ואכפתיים כאלו. וגם המקום היה נהדר בשבילי. אני הרבה פחות טוב בסביבות תאגידיות נוקשות. חברה קטנה ומשפחתית זה בדיוק מה שאני צריך.
אבל אני בוחר להסתכל על הצד החיובי. עכשיו יש לי קצת חופש לפני הסמסטר הבא אז אני אנסה לקדם כמה דברים שאני עובד עליהם. אני אעשה סדר בדברים שלי. ומי יודע, אולי אני אמצא דרך לתכנן סמסטר שיאפשר לי לסגור כבר את התואר עכשיו.
Posted in Life by Eran with 2 comments.
Preservation and Time
ל-Extra Creditz יש פרק שמדבר על שימור משחקים.
זה נושא מאוד ראוי אבל לי זה גורם לחשוב על היסטורית המשחקים שלנו ומה משחקן חדש וטרי יצטרך לעשות אם ירצה לעבור אפילו רק על המשחקים הכי טובים שנוצרו. אפילו אני לא יכול לטעון ששיחקתי בכולם. כן, גם Planescape Torment וגם The Longest Journey עדיין מחכים לי ברשימה. זאת הבעיה עם רשימה שכל הזמן נוספים לה פריטים חדשים, לפעמים בקצב גבוה יותר מאשר יוצאים ממנה.
כי אם חושבים על זה, משחקים הם המדיום הכי ארוך. סרט ייקח לכם שעתיים. חוברת קומיקס סטנדרטית, לא יותר מזה. ספר טוב, באזור ה-13 שעות. סדרות טלוויזיה, אפילו אם נצמצם לסדרות הכי טובות שחייבים לראות את כולן, מעטות עוברות את ה-10 שעות סך הכל (פיירפליי, למשל). משחק טוב? זה מתחיל ב-10 שעות. יש כאלו שלוקחים 30-40 או יותר וזה רק אם משחקים פעם אחת. יש משחקים שאפשר לשחק כמה פעמים ועדיין לגלות דברים חדשים.
זאת אומרת, הרשימה של רק המשחקים הכי טובים, כולל אלו שיוצאים כל הזמן, יכולה להיות ארוכה מכדי שאפשר להתמודד איתה. אני יודע את זה, מניסיון.
לכן, חשבתי על הרעיון הזה: רשימה, כרגע שרירותית לחלוטין, של המשחקים הכי טובים בכל ז’אנר. שלושה-ארבעה משחקים שכרגע מייצגים את ההכי טוב שיש לז’אנר להציע. וכן, זה אומר שיש טובים שאני לא מתייחס אליהם כי הם כבר התיישנו מספיק שקשה מאוד לשחק אותם (אני מדבר עליך Starflight) או שיש משחקים חדשים יותר שעושים אותו הדבר רק יפה יותר (מצטער על זה, Privateer). וכרגע הרשימה הזאת כוללת משחקים שלא שיחקתי ונכנסו לשם בגלל הדעה הרווחת. אבל אני אגיע אליהם מתישהו.
רעיונות למשחקים שצריכים להיכנס או לז’אנרים שלא התייחסתי אליהם יתקבלו בשמחה.
Posted in Gaming, Geekdom, High-Tech, Less Interesting News, Life, Practice, Thinking Out Loud by Eran with 14 comments.
Trying My Hand at Artistic Photography
Besides, I had a test today. I’ll spare the thoughts until I’ll get my grades.
Posted in Art, Life by Eran with 2 comments.


