Точка входа
527 subscribers
13 photos
1 file
60 links
Спасибо, что зашли на канал!

Субъективно про будущее и настоящее IT сферы от разработчика ПО
Download Telegram
Посетил вчера Go meetup, который проходил в офисе Mail Group. Было 4 доклада, в основном по внутренностям Go. Видеозапись можно посмотреть здесь: https://www.youtube.com/watch?v=8JnOiz7r-g0&feature=youtu.be

По стилю изложения и качеству материала явно выделялся первый докладчик. Все-таки работа в компании с мировым именем (Dropbox) дает о себе знать. Он говорил об собенностях реализации компилятора и runtime, устройстве базовых типов, хранении структур в памяти, создании горутин, изменении размера стека и прочих низкоуровневые подробности. Вот его стоит посмотреть (ссылка на видео с началом его выступления: https://youtu.be/8JnOiz7r-g0?t=1h47m24s)

Остальные хантили людей и размазывали, что у них там есть на часовое выступление - годного материала от них не услышать. Рассказчик про базы данных, по-моему, плохо понимает различия между индексируемой БД и просто KV. По рассказам друга, который его собеседовал, так и есть

Последний, 4ый докладчик говорил про мост между питоном и Go - это совсем было извращение. Просто RPC будет меньше душить разработчика, чем то, что было показано на слайдах

P.S. судить об уровне подготовлнности докладчиков можно по бенчмаркам с текстом "нет лишних аллокаций" - какие из аллокаций автор считает лишними не понятно
Прочитал статью про революцию искусственного интеллекта: https://medium.com/ai-revolution/ai-revolution-101-8dce1d9cb62d#.27j986njj
Хочу поделиться основными моментами, которые я отметил для себя

Появление новых технологий ускорилось в разы, по сравнению с предыдущими поколениями. Если внимательно понаблюдать за происходящим, то можно наяву увидеть, как прогресс меняет привычный уклад жизни, и скорее всего, этот уклад скоро треснет под натиском прогресса

Выделяют 3 типа искусственного интеллекта:
1) который решает хорошо только одну задачу (ANI: Artificial Narrow Intelligence).
Человечество уже начало эксплуатировать данный вид интеллекта: поисковые алгоритмы, фильтры спама, в автомобилях
2) который похож на человека и может видеть жизнь комплексно, отслеживать причинно-следственную связь и обучаться на полученном опыте (AGI: Artificial General Intelligence)
3) который умнее всего человечества. Характерная черта: очень быстро развивает сам себя (ASI: Artificial Super Intelligence)

Исследователи предполагают, что в 2020х комп будет работать как человеческий мозг. Но существует 2 ключевых проблемы: одна с железом, другая с софтом. Не ясно какая архитектура отработает лучше. Например, железо, можно построить по типу нашего мозга, а можно пойти другим путем, как например, самолетостроение - они не делают самолеты, подобные птицам. Самолеты работают по совсем другим принципам. Скорее всего искусственный интеллект не должен быть реализован на подобии человеческого мозга. Ну а с софтом все еще хуже, на данный момент

Что сможет ASI, чего пока не могут люди:
1) развивать нанотехнологии
2) помочь людям стать бессмертными

По поводу бессметртия привожу лучший отрывок: "It is one of the most remarkable things that in all of the biological sciences there is no clue as to the necessity of death. If you say we want to make perpetual motion, we have discovered enough laws as we studied physics to see that it is either absolutely impossible or else the laws are wrong. But there is nothing in biology yet found that indicates the inevitability of death. This suggests to me that it is not at all inevitable, and that it is only a matter of time before the biologists discover what it is that is causing us the trouble and that that terrible universal disease or temporariness of the human’s body will be cured."

Так же хотело бы полностью согласиться со словами: "Before the prospect of an intelligence explosion, we humans are like small children playing with a bomb. Such is the mismatch between the power of our plaything and the immaturity of our conduct". Ведь действиетльно, предугадать последствия столь мастабного шага вперед очень тяжело. Этот шаг в развитии заденет всех без исключения

В итоге, мораль статьи такова: ИИ - это будет последнее изобретение, которое сделал человек

P.S. Будет интересно понаблюдать, как религиозные деятели и другие сторитейлеры начнут менять свои концепции, дабы удержать вожжи в своих руках
Что есть нанотехнологии
Forwarded from TechSparks
Для разнообразия сошлюсь не на чужие мнения и публикации - а на интервью со мной же :)
После YaC/m у меня был интересный мне самому разговор с Натальей, журналисткой из Красноярска. Журналисты, искренне старающиеся понять, что происходит интересного - а не скандального - редкость в наше время; Наталья оказалась из таких.
Поэтому рассказывал то, что обычно попадает в раздел вопросов и ответов после моих лекций: почему надо учиться делегировать не только людям, но и машинам (а это психологически очень непросто), как открытый код и вообще коммодитизация технологий меняют суть профессии разработчика, почему даже литературоведу и вообще любому гуманитарию полезно иметь представление о машинном обучении и машинном интеллекте (а то можно публично сесть в неприятную лужу).
В общем - вот:
http://newslab.ru/article/726422
Месяц назад решил освежить свои знания по фронту. До сих пор освежаю. Накопилось несколько хороших материалов, которыми хочу поделиться

Примеров годной реализации SPA со вторым ангуляром почти нет в открытом доступе, но один все-таки попался (с комментариями к коду): https://github.com/ngrx/example-app/tree/master/src

У неподготовленных, может вскипеть мозг от обилия новых терминов. Особо сильно воздействует на психику одна либа, назваемая RxJS. Ее фишка в том, что она предлагает новый подход к обработке ассинхронных событий: все является потоками, на которые можно подписаться

Что такое RxJS: https://www.youtube.com/watch?v=NK-WzH3RBds
Дока RxJS: http://reactivex.io/documentation/observable.html
Годные примеры применения методов либы (сразу в jsbin): https://gist.github.com/btroncone/d6cf141d6f2c00dc6b35

Сразу приходит на ум вопрос, что есть уже промисы, зачем что-то еще!? Но с промисами не получится нормально поработать с вебсокетами (потому что промисы отрабаывают один раз, а данные из сокетов хлещут постоянно). С RxJS не будет разницы, откуда берутся данные: клик мыши, xhr запрос или новое сообщение по сокетам - все под одной гребенкой, все это источники, на которые можно подписаться

Видео с докладом о свежих трендах в JS разработке, после которого все становится на свои места: https://www.youtube.com/watch?v=1abiJ9VBsDc

И последнее: долго сопротивлялся новым редакторам кода, но решил попробовать VSCode (https://code.visualstudio.com), т.к. на многих видосах в последнее время сверкает именно он. Остался доволен. После саблайма, особенно приятно наблюдать нормальные подсказки по коду и автоматические переходы на реализации функций. Второе работает так себе только в одном месте: при работе с интерфейсами в Go
В течении последних двух недель веду набор разработчиков на начинающего бека, начинающего фронта и ведущего фулстека. И для экономии времени провожу все собеседования удаленно, по скайпу, даже для тех, кто будет ходить в офис. Таких собеседований за несколько лет я уже успел провести достаточно, соответственно, отметил для себя паттерны и антипаттерны в поведении кандидатов, которые помогают кандидату выглядеть лучше или хуже в глазах интервьюера. Хотел бы поделиться своими заметками

Считаю положительнымы моментами:
1) Включать фронтальную камеру во время разговора. Не знаю почему, но люди, включающие камеру, выглядят более открытыми. Если не имеете возможность включить камеру, то стоит так и сказать интервьюеру. Не стоит думать, что этот момент останется незамеченным, особенно, когда интервьюер уже включил свою камеру
2) Отвечать прямо и честно на технические вопросы. Если не знаете ответа или не имеете такого опыта, то стоит заявить об этом прямо. Но после этого стоит уточнить, что имеете другой весомый опыт, а не просто молчать
3) Рассуждать вслух над сложными вопросами или задачами. Интервьюеру интересно понять, как человек думает. Именно поэтому и спрашивает - не ради развлечения

Считаю отрицательными моментами:
1) Собеседоваться на удаленщика, не имея стабильного канала связи. Это основная вещь, которая должна быть у удаленщика, иначе сама идея удаленки бессмысленна
2) Собеседоваться на улице. Из-за шума не всегда слышно ответы
3) Отвечать на технические вопросы скользко, юлить. Если предполагаете что-то или говорите навскидку, то лучше так и сказать, что предполагаете, без воды
4) Говорить интервьюеру, что ему стоит делать. Например, недавно я слышал, что слушать про технические задачи компании - это трата времени и поэтому, эту часть интервью стоит пропустить. Или то, что интервьюер должен всему вас обучить. Скажу точно, не во все команды можно будет вписаться с таким характером

Конечно, это все относительно. Сильному кандидату не всегда помешает то, что он не включил камеру. Но тем, у кого знания достаточно низкие, стоит выстраивать положительное впечатление о себе всеми возможными способами, даже такими мелочами
Видео, доступно объясняющее, какие достижения есть в наше время по генной инженерии и что нас ждет в будущем:
http://laughingsquid.com/how-crispr-technology-and-genetic-engineering-will-change-the-future-forever/

После долгих рассуждений с коллегой задались вопросм: когда люди станут киборгами (полулюдьми-полумашинами), можно ли будет развернуть сервер в голове человека на мощностях мозга?
Подрастает новое поколение обслуживающего персонала: https://www.facebook.com/cnbc/videos/10154570196684369/

Робот говорит, что хотчет убивать людей, но мне кажется оно хочет убирать, готовить, выпонять рутинную или опасную работу за человека
Всем привет! В прошлом году я начал этот канал, как эксперимент - хотел посмотреть как реагирует народ на айтишную и околоайтишную тематику в телеграмме. Результат меня удивил - не ожидал, что за месяц подпишется 2000 человек. Но т.к. основная моя деятельность - программирование, а не написание постов, то я прервал эксперимент, перестал выкладывать материалы и перенес все внимание на свои проекты. После этого я ни раз получал призывы от подписчиков продолжить писать (что несомненно является хорошим показателем). И я решил продолжить публикации. Но без долгосрочных обещаний, например, по поводу курсов по Go. С ними я, очевидно, переоценил количство своего свободного времени.

Тематика канала сохранится. Т.к. я все еще тимлид и все еще работаю в сфере IT, то буду постить информацию, которую считаю необходимой для освоения программным инженером нашего времени.

Итак, первый пост. Осенью я посетил конференцию dotGo (по языку программирования Go). Масштаб докладов, конечно же, разительно отличается в лучшую сторону от того, что за те же деньги можно услышать в Москве.

Например:
http://www.thedotpost.com/2016/10/kelsey-hightower-self-deploying-go-applications
Инженер гугла рассказывает, как они воспрнимают деплой. Для них мир - это большой распределенный компьютер, на который надо залить приложения. ...это не пара хостов в датацентре.

Мораль: надо почаще выбираться на встречи/конференции крупного масштаба, т.к. там проще всего и восхитится, и почувствовать объем информации, который еще необходимо пропустить через себя.

Остальные доклады (с видео) можно найти здесь: http://www.thedotpost.com/conference/dotgo-2016
Несколько разжеванных материалов по машинному обучению.

1) Книга для тех, кто хочет начать работать с TensorFlow, но официальных гайдов недостаточно:
http://www.tensorflowbook.com/

2) Лекция (как автор ее назвал) по введению в линейную регрессию для желающих освоить питон для мл:
https://github.com/mephistopheies/dds/blob/master/lr_040117/ipy/lecture.ipynb

Обилие уроков - это хорошо, но все они одинаковы. На мой взягляд, взрывным был бы манул "как запилить свою призму". Развелось бы их, как в свое время инстаграмов.
Испанские ученые создали биопринтер, который может печатать человеческую кожу. Пока планируют применять в трансплантологии и при тестировании химических средств (у зеленых сейчас слеза потекла от счастья). Получается, что это будет первый заменитель человеческого органа, напечатанный на 3D принтере, который поступит на массовый рынок. Впечатляет.

Интересно, насколько дешевле будет стоить операция по пересадке кожи, созданной таким образом? И будет ли ценовая матрица зависеть от цвета?

http://www.uc3m.es/ss/Satellite/UC3MInstitucional/en/Detalle/Comunicacion_C/1371227676752/1371215537949/Spanish_scientists_create_a_3D_bioprinter_to_print_human_skin
Закончил смотреть курс по PostgreSQL DBA2. Рекомендую ознакомится всем, кто работает с этой СУБД:
https://postgrespro.ru/education/courses/DBA2
Курс бесплатный и создан комитерами постгреса. Все как надо: с теорией и живыми примерами, которые можно повторить у себя в терминале.

Из уроков станет понятно, как работают индексы, вакум, как можно оптимизировать запросы и т.д. Известно, что в документации постгреса все и так есть, но лично мне некоторые моменты стали понятнее только после этих лекций.

Чит: для того, чтобы сэкономить немного времени, можно смело ускорить воспроизведение видео в 2 раза (на ютубе есть такая функция, которая доступна после нажатия на иконку шестеренки), т.к. лекторы вещают размеренно и не торопясь.

И сразу кину ссылку на плейлист на ютубе:
https://www.youtube.com/watch?v=iODeKnTD1kA&list=PLaFqU3KCWw6JgufXBiW4dEB2-tDpmOXPH&index=1
Стартуя новый проект, каждый раз обещаю себе, что начну писать комментарии к коммитам по-человечески. Но чаще всего, это похоже на обещание студента начать нормально учится в новом семестре. Ситуация налаживается, конечно, но до эталона от Торвальдса еще далеко. Надо исправлять.

Рекомендация Линуса (создателя git) по тому как должен выглядеть комментарий к коммиту: https://github.com/torvalds/subsurface/blob/a48494d2fbed58c751e9b7e8fbff88582f9b2d02/README#L88

В опенсорсе, само, собой, комментарий к коммиту - это лицо программиста, как и код. А вот что на счет закрытых проектов? Думаю, ситуация не меняется.
Нашел интересный канал на ютубе по машинному обучению. Парень снимает скринкасты по решению простых задач с помощью ml. Явно фанат TensorFlow.

Если вам интересно посмотреть видео по решению задачи классификации с кодом и комментариями, то вот:
https://www.youtube.com/watch?v=4urPuRoT1sE

Использует: pandas, numpy, matplotlib, tensorflow.
Можно смотреть с 12ой минуты, до этого ничего интересного.

Ссылка на его канал: https://www.youtube.com/channel/UCWN3xxRkmTPmbKwht9FuE5A
Фронтендщикам, думаю, стоит прочитать:
https://www.html5rocks.com/ru/tutorials/internals/howbrowserswork/

Из этого текста можно узнать, как устроены браузеры под капотом и поправить свою картину мира, относительно того, как они работают.

Часто бывает на собеседованиях, на позицию старшего фронтенд разработчика, люди не могут в двух словах описать как браузер превращает html+css+js в то, что мы видим на экранах. Или откуда появляются заголовки, типа origin. Это, конечно, никуда не годится.

Я не утверждаю, что являюсь экспертом по браузерам, но могу точно сказать, что прочтение этого текста в свое время дало мне исчерпывающее пояснение базовых принципов их работы.
Хочу вспомнить чем закончился 2016ый: сети начали генерировать изображения по текстовому описанию, и наоборот - человекочитаемое текстовое описание по изображению.

Описание процесса генерации картинки по тексту:
https://arxiv.org/pdf/1612.03242v1.pdf
Это, конечно, фантастика. Со временем начнут генерировать видео по сценарию. И, скорее всего, на первый план вылезет генерация порно видео, т.к. сценарий незамысловат, да и сцены понятны.

А здесь сотрудник Google в Яндексе вещает о том, как они решают обратную задачу: генерируют описание того, что изображено на картинке. Например: в программу загружается изобржении с ребенком, спящим рядом с красным плюшевым медведем и прога на выходе выдает что-то вроде "ребенок лежит рядом с красным игрушечным медведем".
https://events.yandex.ru/lib/talks/4318/

Зачем смотреть сериалы о будущем, когда можно просто открыть записи с митапов по машиннорму обучению и получить те же самые ощущения?
Свежий недельный курс по машинному обучение от MIT и Nvidia (выложили несколько дней назад).
http://introtodeeplearning.com/index.html
Пока только пробежался, есть лабы на TensorFlow.
Посмотрел видео на котором Алексей Редозубов (один из топовых авторов хабра) "на пальцах" поясняет работу мозга. Точнее то, как он ее видит. Я просмотрел все его видео цикла "Логика сознания" и могу сказать, что данная запись отличается от остальных локаничностью и полезной информацией на "кубический метр". Логическая цепочка рассуждений при этом не теряется.

Если не знакомы с деятельностью Алексея, то рекомендую начать с этого видео.

P.S. Интересно было бы в жизни когда-нибудь посмотреть на эксперимент с лабороторной крысой, которой по кусочкам вырезают мозг, чтобы проверить, теряет ли она от этого память о том, где выход из лабиринта или нет. (Не теряет).

https://www.youtube.com/watch?v=7c6YUJ0JuqI
Тем временем люди из гугла решили сертифицировать "дата инженеров":
https://cloud.google.com/certification/data-engineer

Format: Multiple choice and multiple select
Registration fee: USD 120 (discounted from retail price of USD 200)

Цена демократичная, а вот требования будут посерьезней:
https://cloud.google.com/certification/guides/google-certified-professional-data-engineer.pdf

...вам тоже стало интересно какая зарплата у людей с такими навыками?:)