مستطیل پشت سر شما

مستطیل پشت سر شما

شبکه نمایش وحشی سخنرانی موزه تاریخ کامپیوتر

در سال 2012 ، موزه تاریخ رایانه از تیم doodle گوگل (که آن زمان من نیز در آن عضو بودم) خواسته بود تا یک پنل با عنوان هنر و فناوری پشت Google ارائه دهد doodles در امکانات فوق العاده خود در Mountain View ، Calif.

قالب: مدیرعامل موزه ، جان هولار ، تعدیل کننده ، چهار نفر از اعضای تیم - رایان ، جن ، کریس ، و من - و مخاطبان س questionsال می پرسند .

این نتیجه نهایی است ، من به آن بسیار افتخار می کنم - اگرچه نه به دلایل واضح ، اما به دلیل تکنولوژی سفارشی که ما برای این کار آماده کرده ایم.

مشکل اینجاست ما با آن مواجه بودیم: قالب پانل فرم آزاد و پرسش و پاسخ مخاطبان به این معنی است که ما واقعاً نمی توانیم یک ارائه دقیق و خطی را آماده کنیم. با این حال ، من واقعاً می خواستم که بتوانیم نمونه هایی از آنچه راجع به آن صحبت می کردیم نشان دهیم. به هر حال کار ما بسیار بصری بود. من همچنین می دانستم که مردم به اسلایدهای نشان دهنده پیشرفت خلاقانه در doodles واکنش مثبت نشان می دهند و می خواستم آنها را اضافه کنم.

بنابراین ، من سیستمی ساختم که نام آن را "Spartacus" گذاشتم. ایده اصلی یک ریموت دسترسی تصادفی بود که به ما اجازه می داد یکی از هزاران ابله را روی صفحه پشت خود بکشید. لازم بود سریع باشد (ما نمی خواستیم کسی با کارکردن آن مشکل داشته باشد) و جادویی باشد (مخاطب نباید در معرض هیچ یک از رابط کاربری قرار گیرد).

به نظر می رسید ساده است ، اما معمولاً چیزهای ساده 't من نمی دانستم این کار تا چه حد دیوانه کننده می شود.

تنظیمات اولیه کنفرانس معمولاً یک لپ تاپ متصل به پروژکتور است و شخصی اسلایدها را از طریق صفحه کلید کار می کند:

اگر اسلایدهای شما در HTML هستند ، احتمالاً از سرور محلی کمی استفاده می کنید و ارائه مرورگر شما در حالت تمام صفحه است که صفحات آن سرور را نشان می دهد:

می توانید یک کنترل از راه دور را در دست مجری قرار دهید و از طریق مادون قرمز یا رادیو با لپ تاپ صحبت کنید. ارائه از راه دور فشارهای کلیدی را شبیه سازی می کند:

هر زمان من می خواهم کنترل از راه دور من کارهای جادویی انجام دهد (چیزی که روی اسلاید تعاملی است ، زمان سنج را به من نشان می دهد ، کمی آزادی Turing Machine) - من معمولاً آیفون خود را گرفته ، مرورگر وب را باز می کنم و صفحه جدیدی را از سرور رایانه بارگذاری می کنم. همانطور که صفحه اول یک برنامه وب کوچک است که ارائه را نشان می دهد ، این صفحه جدید یک برنامه کوچک است که به عنوان رابط کاربری راه دور اختصاص داده شده است.

یک برنامه وب از راه دور که برای یک سخنرانی در سال 2012 ساخته شده است. زمان سنج از شروع صحبت شمارش می شود. کشیدن انگشت به چپ و راست روی اسلایدها حرکت می کند. مطبوعات طولانی ویژگی های اضافی موجود در برخی از اسلایدها را نشان می دهد و پنهان می کند. پس زمینه زرد سیگنالی است که برای خودم اضافه کردم تا به سمت کامپیوتر بروم یا کار خاصی انجام دهم.

تلفن از طریق wi-fi با رایانه صحبت می کند. من می توانم یک شبکه wi-fi خصوصی در رایانه خود ایجاد کنم ، اما به نظرم آن قابل اعتماد نیست. بنابراین ، من معمولاً ایستگاه پایه بی سیم خود را می آورم و یک شبکه جداگانه جداگانه برای صحبت دو دستگاه با یکدیگر ایجاد می کنم.

اگر ریموت شما به اندازه کافی خوب است- به عنوان مثال. همه عملکردهای ارائه شما را پوشش می دهد - شما نیازی به رایانه ای ندارید که روی صحنه همراه شما باشد و می توانید آن را پنهان کنید. البته ، این کمی خطرناک است. اگر مشکلی پیش بیاید ، رفع آن سخت تر خواهد بود. من معمولاً لایه های خاصی از حفاظت را اضافه می کنم: در صورت خرابی کامپیوتر ، بی سر و صدا به ریموت وصل می شود.

این تنظیم معمول برای گفتگو است. برای موزه تاریخ کامپیوتر ، ما از آنجا شروع کردیم. ما چهار نفر در پنل صحبت می کردیم ، اما نمی خواستیم آنها با ریموت کنترل مجبور شوند. کنترل ارائه یکی دیگر از اعضای تیم در ردیف اول مخاطبان بود که هنگام صحبت کردن در مورد داودل های Google مربوطه را جمع آوری کرد. ما از Nexus 7 استفاده کردیم زیرا نیازی به نگرانی در مورد جیب نداشتیم.

این ، در زیر ، رابط Nexus 7 است که من ساخته ام. "صفحه اصلی" پر از دکمه هایی است که داودل ها را به پروژکتور اصلی احضار می کند. ما مواردی را انتخاب کردیم که فکر می کردیم به احتمال زیاد در مورد آنها س askedال می شود:

( ابله فعلی فعال با رنگ قرمز مشخص شده است.)

با این حال ، اگر ابله دیگری وجود دارد در طول مکالمه ما ظاهر شد ، من یک رابط کاربری سریع برای نوع جستجو ایجاد کردم که می توان از آن برای نشان دادن تقریبا 2500 ابله تا به امروز استفاده کرد:

این مشکل را حل نمی کند مشکل اسلایدهای تعاملی که روند خلاقیت را نشان می دهد. کنترل شخص دیگری برای ما ناخوشایند است ، بنابراین Nexus 7 دیگری را که در بین مردم روی صحنه داشتیم و گهگاه از آن استفاده می کردیم ، اضافه کردیم.

در اینجا چند نمونه از اسلایدهای تعاملی اساسی که داشتیم آورده شده است. با ضربه زدن به ابله ZX Spectrum ، چند گزینه فرعی وجود داشت:

< /img>

برای خیابان کنجد ، یک اسلایدر وجود داشت برای نمایش پیشرفت بکشید:

ما نیز در صورت نیاز ، یک کامپیوتر دیگر را وصل کردیم. اگر در رایانه اصلی مشکلی پیش آمد ، می توانیم رایانه دیگری را به عنوان پروژکتور تعیین کنیم. (این 100٪ ضد حماقت نبود ، زیرا سرور وب روی اولین رایانه کار می کرد ، بنابراین خرابی اولین کامپیوتر کل راه اندازی را خراب می کند.)

ما همچنین تصمیم گرفتیم چند ویدئوی معرفی موزه تاریخ رایانه را که هر رویداد خود را در اسپارتاکوس شروع می کند ، اضافه کنیم ، تعویض رایانه را در ابتدا به حداقل برسانید. برای این کار لازم بود Nexus 7 دیگری اضافه شود و به کارکنان موزه برای عملیات اولیه تحویل داده شود:

در نهایت ، موزه از ما برای ضبط اسلایدهای غیرقابل پیش بینی کمک خواست ... بنابراین تصمیم گرفتیم یک کامپیوتر دیگر به شبکه اضافه کنیم و Camtasia (نرم افزار ضبط صفحه) را روی آن اجرا کنیم. < /p>

سرور Node.js که کنار هم قرار داده ایم اساساً سیگنال ها را پخش می کرد و از لحاظ نظری می توانست بی نهایت دستگاه را در خود جای دهد ... اما این دستگاه دو مورد بیشتر از آنچه قبلاً آزمایش کرده بودیم بود.

من این سیستم را طوری ساختم که دستگاه ها همیشه با یکدیگر صحبت می کردند ، حتی زمانی که وجود داشت چیزی برای گفتگو وجود ندارد ، فقط برای اطمینان از اینکه همه زنده هستند. اتصال مجدد تقریباً فوری بود و از همه مهمتر ، برای مخاطب نامرئی بود.

در سمت چپ ، مثال گپ زدن در اتر ، در سمت راست ، نمونه ای ازپیامی مجدد در ریموت کنترل:

در طول صحبت زیاد نمی بینید ، اما در طول رویداد ، من دائماً تأکید می کردم که چیزی قرار است شکست بخورد. با این حال ، به طور معجزه آسایی ، همه چیز کار کرد. هر کنترل از راه دور آنچه را که باید انجام می داد انجام داد ، رایانه اصلی هرگز در نمایش اسلاید مناسب شکست نمی خورد و مخاطبان کاملاً از کاکوفونی پیامهای رد و بدل شده بین سه کامپیوتر و سه ریموت کنترل پخش شده در اتاق بزرگی که در آن قرار داشتند غافل می شدند.

آنها فقط برای آشنایی با doodle های Google آنجا بودند ، و امیدوارم ما ارائه دهیم - این نرم افزار فقط برای کمک بود. که در غیر این صورت یک راه عالی برای فکر کردن در مورد اسلاید است.

بعداً ، من از یک برنامه Spartacus مشابه (اما بسیار معتدل) برای مصاحبه ای که با سازندگان شگفت انگیز بازی Indie انجام دادم استفاده کردم. : فیلم ، لیسان پاجوت و جیمز سویرسکی.

این فیلم خوب کار کرد ، گرچه ای کاش می توانستم به جای این که خودم با Nexus 7 دست و پنجه نرم کنم ، یکی از تماشاگران به من کمک کند (و ، لطفاً زشتی را ببخشید به طور کلی این مصاحبه - این اولین مصاحبه ای است که انجام دادم.)

از رایان گرمیک ، کریس هم ، جنیفر هوم ، جان هولار ، تیم A/V و کارکنان تاریخ کامپیوتر متشکرم. موزه ساخت این رویداد شگفت انگیز.

مستطیل پشت سر شما ، مجموعه ای از مقالات درباره ارائه های تعاملی.

نویسنده مارسین ویچاری (mwichary)

سلام رایانه

سلام رایانه

هم از نظر کار و هم از نظر شخصی ، هفته گذشته تقریباً همه ویدیوهای مربوط به Amazon Echo و Google Home را در YouTube در YouTube تماشا کردم. لذت بردم و همچنین چیزهای زیادی یاد گرفتم. سپس داستانی را با همکارانم تعریف کردم. من هم دوست دارم با شما به اشتراک بگذارم. امیدوارم دوست داشته باشید.

بیایید به 30 سال قبل بازگردیم.

ما سعی کردیم با رایانه ها صحبت کنیم. اما… /p>

وقتی رایانه به حرف ما گوش نمی دهد ، ما سخت تلاش می کنیم و واقعاً عصبانی می شویم.

اما گاهی اوقات ، ما به رایانه احساس می کنیم ، می گوییم "دوستت دارم".

اما گاهی اوقات ، مانند این که به بچه های خود می گوییم با غریبه ها صحبت نکنید ، به آنها می گوییم با کامپیوتر صحبت نکنید. از آنجا که…

واقعاً؟

می ترسید؟

یا هنوز دوست دارید با رایانه صحبت کنید؟

می خندیم ، دوست داریم ، عصبانی می شویم ، ما شگفت زده ایم ، ما احساسات زیادی با کامپیوتر داریم.

واقعاً با چه کسی صحبت می کنید؟

img src = "https://cdn-images-1.medium.com/max/426/1*aVuQ0ljxm8PdJTeawPspxg.jpeg">

رایانه؟ رایانه چیست؟

پروژه گراهام (سمت چپ) ، Joey Chaos از Hanson Robotics (راست)

شاید ما خود کامپیوتر باشیم.

< img src = "https://cdn-images-1.medium.com/max/426/1*kN8ZNaBWdi4U86WOXRH-KA.png">

شاید زندگی ما فقط داده باشد.

< img src = "https://cdn-images-1.medium.com/max/426/1*0e9HRfx-Y04TgTGSkcSv-Q.png">

آیا واقعاً با رایانه "صحبت" می کنیم؟ < /p>

آیا واقعاً نیاز داریم با رایانه ها "صحبت" کنیم؟

چگونه می توان گفتگوی انسان و کامپیوتر را واقعاً گفتگو کرد؟

چگونه رایانه ها باید متفاوت با بچه ها صحبت کنند ( یا افراد مختلف)؟

آیا رایانه ها دارای جنسیت ، شخصیت و احساسات هستند؟

آینده روابط ما با رایانه ها چگونه است؟

من این را ترک می کنم e سوالات برای شما! اگر داستان من را دوست دارید ، لطفاً توصیه کنید. اگر به تبادل افکار علاقه دارید. به من اطلاع دهید :) بیش از خوشحالم که صحبت کنم ، صحبت واقعی است.

ایندیانا لایحه ای را برای ارائه علوم کامپیوتر به هر مدرسه تصویب کرد!

ایندیانا لایحه ای را برای ارائه علوم کامپیوتر به هر مدرسه تصویب کرد!

پنجشنبه ، قانونگذار ایندیانا با اکثریت قاطع لایحه ای را تصویب کرد که تضمین می کرد هر مدرسه ای در ایالت علوم رایانه ارائه می دهد و یادگیری حرفه ای را برای معلمان تأمین می کند.

لایحه بعدی به فرماندار اریک منتقل می شود. هولکامب که انتظار می رود این لایحه را به قانون امضا کند.

دولت. هولکامب پشتیبان سرسخت علوم رایانه بوده و تعهد خود را در زمینه علوم رایانه در آدرس ژانویه خود در ایالت ایالات متحده اعلام کرده است.

فرماندار هولکامب در مورد تصویب SEA 172 گفت: مهارتهای علمی تقاضای زیادی برای مشاغل امروزی دارند - و برای نسلهای آینده بسیار مهم خواهند بود. به همین دلیل این لایحه بسیار مهم است. اطمینان از اینکه هر مدرسه ایندیانا علوم رایانه ارائه می دهد ، نیاز نیروی کار ما را با فرصت های آموزشی هماهنگ می کند. "

این قانون از هر مدرسه ای می خواهد که شامل آموزش علوم رایانه برای دانش آموزان از کودکستان تا پایه دوازدهم ، از مدرسه 2021-22 باشد. سال.

فناوری به بخش جدایی ناپذیری از زندگی و اقتصاد ما تبدیل شده است و بسیار مهم است که علوم رایانه به عنوان یادگیری اساسی در سیستم آموزشی K-12 آموزش داده شود. فارغ از مسیر دانش آموز ، ما باید به هر دانش آموز ابزار لازم برای موفقیت در قرن 21 را بدهیم.

تبریک می گوییم ، ایندیانا!

Candid: یک زبان رایج برای رابط های کاربردی در رایانه اینترنتی

Candid: یک زبان رایج برای رابط های کاربردی در رایانه اینترنتی

معرفی Candid ، یک زبان توصیف رابط کاربری جدید برای رایانه اینترنتی ، که کد میزبان را قادر می سازد تا یکپارچه ادغام شود

ما ابزارهایی را برای ایجاد خودکار UI و انجام آزمایش تصادفی بر اساس فایل شرح خدمات ایجاد کردیم. < p> همانطور که بنیاد DFINITY برای راه اندازی اینترنت به ریشه های آزاد و باز خود با راه اندازی رایانه اینترنتی فعالیت می کند ، اولین شبکه بلاک چین با سرعت وب با ظرفیت محاسباتی نامحدود ، افزایش تجربه توسعه دهندگان و ارائه گزینه های بیشتر ، یک تمرکز ثابت است. رایانه اینترنتی میزبان قوطی های نرم افزاری است ، تکامل قراردادهای هوشمند سنتی که می توانند مقیاس پذیر شوند ، که شامل کد بایتی WebAssembly با صفحاتی از حافظه است که کد در آنها اجرا می شود. اینها توسعه دهندگان را قادر می سازد تا برنامه های کاربردی ، سیستم ها و سرویس های اینترنتی سازگار با امنیت ، غیرقابل توقف و استفاده از ویژگی های بلاک چین مانند توکن سازی را ایجاد کنند که به طور مستقیم در اینترنت و نه در زیرساخت های اختصاصی مستقر می شوند.

برای حمایت از رشد جهان نرم افزارهای تصویری مجدد در یک بلاک چین عمومی که در آن برنامه های مختلف می توانند مستقیماً با یکدیگر ادغام شوند و خدمات را می توان به راحتی ترکیب و گسترش داد ، تیم زبانهای ما زبان توصیف واسط کاندید (IDL) را توسعه داد ، که به طور مشترک به آنها امکان می دهد ساختن اکوسیستم رایانه اینترنتی برای اتصال کاملاً یکپارچه کد آنها ، حتی اگر به زبانهای مختلف نوشته شده باشد ، که ما مشتاق هستیم امروز با جزئیات بیشتر آن را شرح دهیم.

Candid چیست؟

Candid یک IDL است که به طور خاص برای رایانه اینترنتی ساخته شده است و یک زبان مشترک برای رابط های برنامه برای تسهیل ارتباط بین سرویس های نوشتاری ارائه می دهد. n در زبانهای برنامه نویسی مختلف.

یکی از مزایای کلیدی Candid این است که زبان را می شناسد و قابلیت همکاری بین سرویس ها و قسمت های جلویی را که به زبان های مختلف برنامه نویسی مانند Motoko ، Rust و جاوا اسکریپت ، و سایر موارد. این به توسعه دهندگان اجازه می دهد بدون نگرانی در مورد ارتقاء رابط در سرویس های خارجی ، سرویس هایی را که به یکدیگر متکی هستند ، با خیال راحت و بدون دردسر بسازند. توسعه دهندگان با استفاده از Candid توانایی توصیف رابط عمومی یک سرویس را دارند ، معمولاً در قالب برنامه ای که به عنوان قوطی استفاده می شود. به عنوان یک توسعه دهنده ، می توانید سرویسهای خارجی که در رایانه اینترنتی در حال اجرا هستند را به عنوان فراخوانی تابع ناهمزمان فراخوانی کنید. بدون شکستن کلاینت های موجود-به عنوان مثال ، به این معنی که می توانید با خیال راحت پارامترهای اختیاری جدید را بدون از دست دادن سازگاری برای مشتریان فعلی به سرویس اضافه کنید. پشتیبانی از ویژگی های رایانه اینترنتی: Candid به ویژه برای توسعه برنامه های کاربردی مناسب است رایانه اینترنتی.

کاندید تا حدودی از IDL های مشابه و زبانهای تعریف داده (DDL) مانند Protobuf ، Thrift و JSON الهام گرفته شده است. اما Candid ترکیبی منحصر به فرد از ویژگی هایی را ارائه می دهد که در این فناوری های دیگر یافت نمی شود:

Candid یک زبان توصیف رابط کامل است ، نه فقط یک زبان توصیف داده. یک مقدار Candid را مستقیماً به انواع و مقادیر زبان میزبان ترسیم کنید. Candid ذاتاً یک زبان مرتبه بالاتر است که به استدلال های پیام اجازه می دهد تا به خدمات و روش های دیگر ارجاع دهند. Candid داردپشتیبانی داخلی از ویژگی های رایانه اینترنتی خاص ، مانند حاشیه نویسی پرس و جو. Candid قوانین را برای نحوه ارتقاء خدمات و رابط آنها به شیوه صوتی و ترکیبی ، از جمله موارد مرتبه بالاتر ، تعیین می کند.

چگونه از Candid استفاده کنم؟

هدف اصلی Candid اتصال برنامه هایی است که به زبان میزبان نوشته شده اند - به عنوان مثال Motoko ، Rust یا JavaScript - با رایانه اینترنتی. در بیشتر موارد ، مجبور نیستید با داده های برنامه خود به عنوان مقادیر Candid برخورد کنید. در عوض ، شما با یک زبان میزبان مانند جاوا اسکریپت با استفاده از مقادیر آشنا جاوا اسکریپت کار می کنید ، و سپس بر Candid تکیه می کنید تا این مقادیر را به صورت شفاف به قوطی نوشته شده در Rust یا Motoko منتقل کند. قوطی مقادیر را دریافت می کند و آنها را به عنوان مقادیر اصلی Rust یا Motoko در نظر می گیرد.

مواردی وجود دارد که مشاهده مقادیر Candid به طور مستقیم در شکل قابل خواندن برای انسان مفید است-به عنوان مثال ، هنگام ورود به سیستم ، اشکال زدایی ، یا تعامل با یک سرویس در خط فرمان. در این سناریوها ، می توانید از ارائه متنی برای مقادیر Candid استفاده کنید.

Candid یک سیستم قوی تایپ شده با مجموعه ای از انواع است که به طور متعارف بیشتر موارد استفاده را پوشش می دهد (برای مشاهده لیست ، به صفحه SDK ما مراجعه کنید). فلسفه این مجموعه انواع این است که آنها برای توصیف ساختار داده ها کافی هستند تا بتوان اطلاعات را رمزگذاری ، منتقل و رمزگشایی کرد ، اما سعی نمی کنند محدودیت های معنایی فراتر از آن را توصیف کنند. Candid این مجموعه از انواع را پشتیبانی می کند تا امکان ترسیم طبیعی انواع داده ها بر اساس انتخاب های منطقی و متعارف مناسب هر زبان میزبان را فراهم کند ، خواه کد خود را به Motoko ، Rust ، JavaScript یا برخی زبان های دیگر بنویسید.

از انواع کاندید می توان برای توصیف یک سرویس از طریق یک فایل توصیف سرویس Candid (فایل .did) استفاده کرد که می تواند به صورت دستی نوشته شده یا از پیاده سازی سرویس ایجاد شود. به عنوان مثال اگر در Motoko قوطی بنویسید ، کامپایلر هنگام کامپایل برنامه به طور خودکار یک توضیح Candid تولید می کند. در زبان های دیگر ، مانند Rust ، باید توضیحات رابط Candid را به صورت دستی بنویسید. با کمک انواع ، ما ابزارهایی را برای ایجاد خودکار UI و انجام آزمایش تصادفی بر اساس فایل توضیحات سرویس توسعه دادیم.

Candid همچنین برای ارتقاء خدمات مفید است. خدمات در طول زمان تکامل می یابند ؛ آنها روشهای جدیدی به دست می آورند و روشهای موجود داده های بیشتری را برمی گردانند یا انتظار استدلال های اضافی را دارند. معمولاً نویسندگان سرویس می خواهند این کار را بدون شکستن مشتریان موجود انجام دهند. Candid کمک می کند تا خدمات با ایمن سازی قوانین دقیق زیرنوع (در Coq رسمی شده است) تکامل یابد که نشان می دهد نوع سرویس جدید همچنان قادر به برقراری ارتباط با سایر طرف هایی است که از توصیف رابط قبلی استفاده می کنند.

علاقه مند به یادگیری بیشتر؟ در اینجا برخی از مطالب مرتبط با Candid برای شروع…

آموزش ها و منابع کاندیدا

ویدیوی توضیح دهنده کاندیدا: شما می توانید یک آموزش تصویری در مورد نحوه استفاده از Candid را در اینجا پیدا کنید. اسناد و مدارک آموزشی: می توانید به اسناد ما در Candid در سایت SDK ما در اینجا مراجعه کنید. Candid Crate: جعبه Candid یک کتابخانه سریال سازی/ضد آب زدایی است که می تواند برای ایجاد خدمات Candid مورد استفاده قرار گیرد. یا مشتریان در Rust. کتابخانه عامل رایانه اینترنتی برای جاوا اسکریپت: این نماینده شامل پشتیبانی از Candid. پشتیبانی شده توسط انجمنکتابخانه ها برای Candid: کتابخانه هایی در حال حاضر برای Haskell ، Elm ، AssemblyScript و Kotlin وجود دارند. UI Candid: این قوطی یک رابط کاربری اصلی برای هر قوطی که روی رایانه اینترنتی اجرا می شود ایجاد می کند و توسعه دهندگان را قادر می سازد تا با قوطی ها تعامل داشته باشند در وب (برخلاف ترمینال) ، و همچنین ارائه قابلیت اشکال زدایی.