вівторок, 26 липня 2016 р.

Австралийская школа или на что меня подписал Владислав | Australian school


Я рассказываю детям в школе Владислава, почему нужно учиться кодить (программировать).
Живой программист пришел в кружок программирования который ведет Владислав.


Дети слушали с удовольствием - это все добровольно и "вместо" ланча. Но вопросы мои отвечали и все "в теме".

Очень весело было :)


А - вот пару слайдов что я набросал. Может пригодится кому-то.

https://goo.gl/rfv8vE




Lexar 128GB JDS75-128 ~ $35 USB 3.0 flash drive speed test


Тест скорости флешки Lexar 128GB стоимостью сейчас ~$35. Заявлена как USB 3.0
Не самая быстрая - но быстрее USB 2.0 и то хорошо :)



http://au.lexar.com/flash-drives/jumpdrive-s75



пʼятниця, 8 липня 2016 р.

Бывал Гаврила в универе, Гаврила лекцию читал... или тот редкий момент когда впервые не я к профессору шел на лекцию, а наоборот.

Есть у нас местный университет (Университет Воллонгонга) который по этому рейтингу аж на втором месте по острову (нет, в Австралии больше чем два университета) и готовят там самых разных специалистов. Большой такой университет.
Не много я о нем знаю, но в местном высшем образовании есть такая традиция - приглашать экспертов в области рассказать студентам, а как на самом деле обстоят дела. Особенно это популярно среди преподавателей работающих на полный день - где ж им взять вчерашний реальный опыт? Вот и стараются разбавить свои немного устаревшие знание и малый опыт реальным. Иногда за это даже платят экспертам :)
Студенты тут могут выбирать какие курсы они хотят слушать, на лекции есстественно ходить необязательно и маразма в виде перекличек никто не делает.
Преподаватели рекламируют свои курсы, ИТ инфраструктура развита до серьезных высот и используется всеми включая преподов. Аудитории оснащены, досок с мелом я не видел.
Мою лекцию вроде тоже рекламировали внутри курса и пришло меня послушать человек 70..90
И вот тут-то я вспомнил студентов и себя студентом! Лица разные, в основном слушали, аудитория отзывалась, реагировала (тут не все люди в курсе, что инициатива наказуема). В основном молодежь, но видел и лица постарше. Даже одно лицо сильно смахивающее на наше - слушал меня очень внимательно. Кто-то вел записи в малюсенький блокнотик, кто-то в ноут. Пару человек мгновенно добавилось на linkedin :)
Много воды утекло и сказать что "еще вчера я был студентом" уже не могу - но КПИ вспомнил и пытался шутить :)

На этот раз позвали эксперта в области Digital Analytics на факультет маркетинга и тема моя пафосно называлась "Why and how Digital Analytics is going to change your life" сопровождаемая описанием "Latest trends and revolutionary changes in Digital Analytics world - how they are going to affect everyone. Survival practices for marketers and Digital Analytics in current multi-channel and multi-device world. Micro-moments of the customer journey on their way to the purchase"

Лекцию слушали внимательно, не все правда :) Задавали вопросы. Интересный такой опыт.
Вот видеозапись, которую я обещал особо не распространять - но своим я полагаю можно.


Мой голос и слайды, если вдруг интересно.

После лекции получил пару писем мол, спасибо - а что на самом деле читать, какие технологии учить, как эксперт полагает - надо ли изучать вордпресс и т.д. то есть народ реально интересуется.
А ну еще и вино дали, правда вот открывать его в университете не разрешили. Курить и пить там нельзя. Я правда за два с половиной года в Австралии наверное только однажды видел чтобы на улице курили и пару раз чтобы пили с бутылки из горла. Справедливости ради - по мрачным районам Сиднея не гулял - там наверняка это все есть.


Ну и посмеятся напоследок. Студенты на первой паре. Смотреть вдумчиво, несколько раз.

вівторок, 5 липня 2016 р.

Как поднять людский SSH сервер на Windows. | SSH server on Windows using openSSH

И даже не спрашивайте зачем :-) Особенно когда есть PowerShell.
Я правда все равно расскажу :)
OpenSource - это жесть для извращенцев. Есть такая клевая программа R, есть ее улучшенная и переработанная версия (в которой о боги, добавлена многопоточность вычислений!) от майкрософта MRO, но и она благодаря убогости основной кодобазы недалеко ушла.

R используется для статистического анализа данных и для предсказаний будущего. Кто не знает - я тружусь в области аналитики (Digital Analytics). Кто сомневается зачем - мудрый человек недавно сказал: "аналитика это новый апп девелопмент".
Для анализа эффекта ТВ рекламы понадобилось предсказать количество открытых веб-сессий (и сессий на мобильных) в следующие минуты сразу же после показа телевизионной рекламы основываясь на прошлых значениях. Алилуя, - для этих целей здесь есть человек с соответствующим образованием и PhD. Похожую задачу решает Гугл и даже выдал страждующим готовый модуль для R CausalImpact. Может он написан так, может R в принципе не может работать быстрее, может действительно алгоритмы тяжелые, но один проход алгоритма (time series на пару сотен значений) занимает примерно минуты 3..4. Таких проходов для того чтобы набрать статистически весомые данные нужно примерно 10 тыс. Любители математики умеющие быстро делить на 60 уже оценили масштаб.
Есстетсвенно, что очень хочется распараллелить и тут уже я сгодился. Относительно несложно было найти MRO и подключить "многоядерные библиотеки" (еханы бабай 2016ый год же!). Стало легче. Но чтоб совсем уж исправить ситуацию - "а почему бы не подключить распределенные вычисления" подумал я.
Быстрый гугл показал, что возможно. Два дня потраченных нервов убедил в справедливости народной мудрости: "в теории между теорией и практикой разницы нет. Но на практике - она есть".
К этому гребаному R невероятно мало документации и ее качество еще ниже, чем плинтус (уровень документации всяких тулзов на линуксы). Где-то в процессе, эксперементальным (!) путем удалось выяснить, что этот красава использует ssh для коннекта между сервером и клиентами. SSH удалось поставить и настроить, но без перекомпиляции R (чтобы исправить некоторые хардкоднутые значения командной строки) получить распределенные вычисления в вменяемое время не удалось. Сейчас проблему решаем дедовским методом: запуском нескольких копий R одновременно :) Ну и учим сейчас Azure Machine Learning & Google Cloud.

А теперь собственно по теме!

Как поставить OpenSSH сервер на Windows

И не превратиться в нервного и дергающегося админа из серии: ничего не трогай ничего не меняй.

Итак - берем openSSH. Для виндоуза нашелся добрый человек который поддерживает актуальным набор бинарников адаптированных для винды и даже сделал инсталлер. Все кроме картинки там цивильно и внушает доверие.
http://www.mls-software.com/opensshd.html
Устанавливайте последнюю версию смело.

Не забудьте установить сервер :)

Устанавливать нужно как SSHD_SERVER учетная запись. Пароль можно и сменить, но по умолчанию он D0ntGu3$$M3

Да, нам нужно разделение привилегий (или как это обозвали в русском вин сервере?)

Откройте 22 порт в файрволе. Можно и сменить порт, я пробовал - работает. И даже линуксовые машины заходят - проблем не заметил. Не знаю трактует ли внутренняя система безопасности винды порты до 1024 как какие-то особенные.

Теперь самое интересное. Нужно создать пользователя на машине. То есть ваш виндоуз сервер должен иметь пользователя с правильными правами. Прописать имя и сертификат в настройках ssh сервера не достаточно.
Парольная асентикация работает почти сразу мгновенно и вуаля супер полезный комманд промпт (привет линуксоидам от мс-доса) доступен. Можно даже запускать че-та.
Но кто ж сегодня паролями-то пользуется? Упомянутая выше программа R умеет логинится только с сертификатом и вот тут уже начинаются пляски.

Сам mls-software вот такую инструкцию дает как конфигурировать себя. http://www.mls-software.com/opensshd-pki.html
От себя добавлю, что $HOME это директория пользователя, который будет ломится на сервер, а не sshd эккаунта.

Ключи которые пользователи будут использоваться для логина я ложил в домашнюю директорию sshd_server учетной записи (%Users%\sshd_server\.ssh\) в файл authorized_keys в формате:
ssh-rsa <KEY> description
Часто description это идентификатор пользователя. Например имя его учетной записи. Да - ключи у меня сработали только ssh-rsa

В той же папке я создал файл environment (добавляющий переменные окружения - кто не в курсе, наберите в command prompt: set команду). По неизведанной для меня причине Temp (TMPDIR, TMP) переменная не была задана и программы пытающиеся ее использовать, как бы так правильно сказать - miserable fail.

Вся Австралия в двух картинках

Вот как-то так тут вещи происходят.
Совершенно серьезно.
Продает барышня телевизор. Назвала бренд и выставила две фотки. На вопрос "а какого он собственно размера", следует ответ - "расставив широко мои руки - то вот такой". Потенциальный покупатель живо интересуется - "а какие у тебя руки? Длинные или короткие?" Ведь если руки длинные у Becka - то он назначит цену и купит.
Вот так.



Здесь вообще все так происходит.
Даже покупка дома за поллимона-лимон.
Народ покупает не глядя, потом если что, несут возвращают или пользуются, чем попалось. Посмотреть, пощупать, подумать над покупкой тут как-то не принято.
Консультанты в магазинах твердо знают, что покупателей интересует цвет вещи - а вопросы о других качествах товара часто приводят в недоумение, мол - "а вам зачем? 10 лет это продаю ни разу индекс твордости пола не спрашивали". Но послушно идут, узнают.
Вот например покупали мы плинтуса к полу. Нам сразу же вывали толпу металлических и говорят выбирайте цвет. Я говорю вот пол такой, а ну покажи сам какой подходит? Мужик задумчиво, "да.. не сильно подходят - разве что вот этот лучше всех, но все равно плоховатенько". Я соглашаюсь и жду. И вот тут возникает неудомение ибо австралийцы берут вот этот самый лучший из неподходящих и уходят, а мы говорим, "а ну-ка иди посмотри на сайте производителя, может там родные есть?" Идет, смотрит - оказывается бывают. Здесь уже профессионально работают - довольно быстро образцы оказались у нас дома, чтобы мы могли их примерить. И теперь тот магазин продаeт не только металлические плинтуса :) и у нас будут подходящие.
А вот у австралийцев до нас - исключительно плинтуса выбранные в стиле"по размаху рук незнакомого человека".