If you're seeing this message, it means we're having trouble loading external resources on our website.

Егер веб фильтрлерін қолдансаң, *.kastatic.org мен *.kasandbox.org домендері бұғатталмағанын тексер.

Негізгі бет

Билл Миллс, Физик және Пәнаралық бағдарламашы

Билл Миллстің суреті
Сәлем, мен Билл Миллспін!

Сіз немен айналысасыз?

Менің бүгінгі жұмысым жақсы бағдарламалау, пайдаланушы интерфейстері және есептеу орталары ғылымның тезірек қозғалуына және көңілді болуына көмектесетін көптеген жолдарға бағытталған! Мен TRIUMF, Канаданың Ұлттық ядролық физика зертханасында GRIFFIN эксперименті үшін веб-маман және бағдарламалық жасақтама жобасының жетекшісі ретінде жұмыс істеймін. GRIFFIN — радиоактивті бөлшектер туралы деректерді бұрынғы кез келген тәжірибеге қарағанда тиімдірек және жылдамырақ жазуға арналған, атом ядросының бұрынғыдан да егжей-тегжейлі суретін алуға мүмкіндік беретін заманауи гамма-сәулелік спектрометр.
GRIFFIN қатысты келсек, менің жұмысым ғалымдардың өз тәжірибелерімен әрекеттесу тәсілдерін жаңғыртуға бағытталған. Менің өрісімдегі өткен тәжірибелер ғалымдарға олардың тәжірибелерінде не болып жатқанын айту үшін қарапайым дисплейлерге сүйенді; кестелерде реттелген, көбірек кестелерге кірістірілген, әртүрлі жерлерде шашыраған сандардың ұзын тізімдерін елестетіңіз. Бұл бірнеше онжылдықтар бұрын тәжірибеге қарапайым құрылғылардың салыстырмалы түрде аз саны ғана қатыса алатын кезі керемет болды, бірақ заманауи тәжірибелерде мыңдаған детекторлар мен деректер ағындары (Тек GRIFFIN апта сайын 200 ТБ деректер шығарады )және одан тыс үлкен қолдау инфрақұрылымы болуы мүмкін.
Біздің тәжірибелер ұйымдастырылмаған интерфейстер мен қарапайым есептерді басқару үшін тым үлкен және тым күрделі болды. Ал егер бұл жеткіліксіз болса, әртүрлі ғалымдар топтары GRIFFIN-ті үнемі пайдалану үшін ұшып келеді - олардың тәжірибелерін жүргізудің үстіне күрделі пайдаланушы интерфейсін үйренуге өткізу қабілеті жоқ. Сондықтан GRIFFIN егжей-тегжейлі немесе қуатты жоғалтпай, ең интуитивті және қолдануға оңай пайдаланушы интерфейсіне ие болуы керек; Сондықтан өткен жылы мен JavaScript қауымдастығы әзірлеген барлық тамаша идеялар мен технологияларын қолданушы интерфейсін жасау үшін пайдаландым, бұл ғалымдар зертханаға келгенде ғылымға мүмкіндігінше тезірек кірісуге мүмкіндік береді.
SPICE детекторының бірінші онлайн сынағынан бастап GRIFFIN үшін құрастырған бақылау тақтасының әзірлеу нұсқасы.
Бірдей қағаз (!) есептеулерін ауыстырған, GRIFFIN және оның еншілес детекторлары үшін веб-негізделген детектордың тиімділік калькуляторы.
Пайдаланушы интерфейсімен жұмыс істеуден басқа, мен ғалымдарға нақты бағдарламалық жасақтама әзірлеушілері қолданатын құралдарды пайдалануға мәжбүрлеу арқылы кодты жазу тәсілдерін жаңартуға көмектесуге тырысамын. Есептеу біздің әдістемемізде маңызды болғаны сонша, бүгінгі күні көп код жазбай күрделі физик болу мүмкін емес - бірақ осы уақытқа дейін физика қауымдастығы жақсы компьютерлік білім мен әдістерге әлі жете қойған жоқ. Физиктердің көпшілігі бағдарламалауды бірдеңе жұмыс істегенше ғана болжау арқылы үйренеді. Нұсқаларды басқару және ашық бастапқы коды ынтымақтастық сияқты стратегияларды әзірлеу процесін жеңілдету үшін бағдарламашылар әзірледі; егер ғалымдар осы стратегиялардан сабақ алса, біз өз ғылымымызды жетілдіріп қана қоймай, оны ашық әрі қайталанатын етіп жасай алар едік. Барлық саладағы зертханаларға ғылыми әдістер одан әрі дамып, дамып отыруы үшін басқа салалардан тың идеялар әкелетін адамдар қажет, мен бүгін физика мен есептеу техникасы арасында дәл осылай жасауға тырысамын.

Бағдарламалауды қалай үйрендіңіз?

Мен бағдарламалау өмірімді CERN-дегі LHC-де ATLAS экспериментінде жұмыс істейтін аспирант ретінде бастадым - және бұл өте жаман болды! Бакалавриат дәрежесінде менде бір бағдарламалау курсы болды, ол сәтсіз аяқталды. Мен кодтау туралы мүлдем ештеңе білмедім және оны нашар меңгергеніме сенімді болдым, содан кейін аспирант кезімде толық уақытты код жаза бастадым. Бес жыл бойы мен диссертацияма негіз болған кешенді талдау пакетін жазуда абдырап қалдым, бірақ ол кезде бағдарламалауды үйренбедім. Магистратурадағы тәжірибемнен мен кәсіби ғылымның жақсы есептеу мәдениеті тұрғысынан қаншалықты жоғалып кеткенін және құлдырап бара жатқанын білдім - және егер біз оны дұрыс жасауды үйренсек, біз үлкен ілгерушілік жасай аламыз.
Аспирантурадан кейін мен бағдарламалауды шынымен үйрендім. Көптеген кәсіби ғалымдар сияқты, университетті бітіргеннен кейін академияда бос орындар аз болды. Мен жұмыс іздеп жүргенімде, Ванкувердегі атақты веб-әзірлеуші ​​серіктесім маған JavaScript тілін үйренуді және қаладағы жергілікті бағдарламалық жасақтама жиналыстарында кездесуді бастауды ұсынды. Бұл керемет кеңес болды, өйткені Ванкуверде бағдарламалық жасақтаманы іске қосудың белсенді сахнасы болғаны (және әлі де бар) мені құшақ жая қарсы алып, веб-дизайн мен әзірлеу негіздерін меңгерген кезде мені қолдады. Ванкувер сахнасымен араласа отырып, мен компьютерлік технологияның ғана емес, сонымен қатар технологияның өте бай мәдениеті бар екенін түсіндім. Дәл осы күрделі шеберлік компьютерде ғылымда жетіспейді, содан бері мен екі әлемді жақындастыруға тырыстым.

Бағдарламаламаған кезде не істейсіз?

Мен бағдарламалаумен айналыспаған кезде, мен бағдарламалауды үйрететін шығармын! Мен кодты үйренуге қызығушылық танытатын әйелдерге арналған Ladies Learning Code кедергілерді жеңуге көмектесетін білім беру бағдарламасының тәлімгері болдым және мен ғалымдарға кодтауды үйретуге арналған семинар-тренинг бағдарламасы Software Carpentry үшін сабақ беру үшін сертификаттауды аяқтағаныма өте қуаныштымын.оқыту.
Қазіргі уақытта мен ерікті әзірлеушілерді кодтау бойынша тәлімгерлікті іздейтін ғалымдармен сәйкестендіру үшін тегін қызмет жасап жатырмын, және экология және ауыл шаруашылығы саласындағы әріптестеріме Arduino электроникасының прототипі және тәжірибелерін модернизациялаудың басқа ашық аппараттық нұсқалары туралы білуге ​​көмектесу арқылы жасаушы қозғалысын зертханаға жеткізу мүмкіндігін зерттеп жатырмын.
Мен сондай-ақ бағдарламашылармен ғылымды тезірек және жақсарту үшін бірлесіп жұмыс істеу туралы сөйлесу үшін мүмкіндігінше көп конференцияларға баруға тырысамын - міне, мен 2013 жылы Лиссабондағы (Португалия) LXJS-те тамаша Анджелина Фаббромен бірге ғалымдар мен бағдарламашылар бірлестігі туралы айтып отырмын:
Хан Академиясының видео-ойнатқышы
Мен шынымен де компьютерден алыс болған кезде, мен өз қауымдастығымдағы қоршаған ортаны қорғау топтарымен ерікті жұмыс істеуге тырысамын және уақыт табамын; Мен табиғатпен қарым-қатынасымызды түзетуге құмармын және біраз уақыт Ванкувердегі SPEC үшін мазмұн мен зерттеулер жаздым.

Жаңа бағдарламашыларға қандай кеңес бересіз?

Ешқашанда туа біткен дағдылар жоқ екенін ұмытпаңыз. Жақсы бағдарламашыларға қарап, өзіңізді шынымен жеткіліксіз сезіну оңай, өйткені сіз ешқашан жеткілікті жақсы болмайсыз және сіз ешқашан «нағыз» бағдарламашы болмайсыз. Бірақ бүгін мен Интернетте ең керемет бағдарламашыларды кездестіру бақытына ие болдым және олардың барлығы бірдей тәжірибеге ие болды - олардың барлығы алғаш рет жұмыс істей бастағанда өздерін жалған және алаяқтар сияқты сезінді, және қазір оларға қаншалықты оңай көрінсе де, олардың ешқайсысы бастапқыда бұл оңай болады деп ойлаған жоқ, . Егер сіз бір жол кодты жазған болсаңыз, онда сіз нағыз бағдарламашысыз, ал кодтауды және үйренуді жалғастырсаңыз, бір күні сіз де шебер атанасыз.