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

Субъективно про будущее и настоящее IT сферы от разработчика ПО
Download Telegram
Вчера на канале @myunpublished прочитал отзыв о книге Уолтера Айзексона "Инноваторы".
Приведу часть отзыва, после которой я не раздумывая купил книгу: "... Как несколько гениев, хакеров и гиков совершили цифровую революцию» и уже по первой главе понимаю, что это очень крутой исторический и биографический трактат о машинной, цифровой, компьютерной эпохе. Айзексону здорово удаются биографические очерки (вспомним книгу про Стива Джобса), но, оказывается, он ещё неплохо справляется и с подробным описанием математических вычислений и процессов создания механизмов — предвестников компьютеров в то время. ..."

Спасибо автору @myunpublished за отзыв о книге, а то так бы и не заметил выход еще одного мастрида. Приятно вспоминать, как изменился ход моих мыслей после прочтения книги о Стиве Джобсе, думаю "Инноваторы" будет не менее мотивирующая

Хочу поделиться еще двумя источником хорошего чтива
1) Здесь публикуются отличные сводки новостей из научного мира (без мнений маркетологов): @funscience Частенько проскакивают годные статьи с фантазиями о будущем и достижениями в настоящем. Не знаю как автор успевает накидывать так много интересных статей, спасибо ему за труд!

2) Дружественный канал о продуктивности, лайфхаках, стартапах, технологиях и автоматизации: @themarfa
Пример цепляющей статьи, которую написал автор канала:
http://blog.themarfa.name/vosiem-sovietov-dlia-google-chrome-kotoryie-rieshat-vsie-probliemy/#axzz4FaqnM23o
Уолтер Айзексон - Инноваторы
Точка входа
Посмотрите историю развития такой штуки, как "машинное обучение" от одного из калифорнийских инвесторов: http://a16z.com/2016/06/10/ai-deep-learning-machines Как и всегда подход гугла сдвинул с места целую область: просто взяли и загрузили в нейронную сеть…
Так и думал, что скоро это произойдет. Вышла статья по которой можно понять, чему можно научиться, играясь в песочнице TensorFlow: https://cloud.google.com/blog/big-data/2016/07/understanding-neural-networks-with-tensorflow-playground

Под конец идет хардкор про аппроксимацию двойной спирали (http://goo.gl/PBE6SB )

Впервые открыл для себя сервис по предоставлению мощностей для машинного обучения: https://cloud.google.com/ml/
Там есть калькулятор стоимости - ценник конечно же конский) Но с большим датасетом скорее всего выгодней арендовать мощности, чем насиловать себя с администрированием
Хочу поделиться тремя мыслями:

1) Всю неделю пишу фронт на AngularJS 2, могу точно сказать, что фреймворк идеально подходит для написания больших SPA

Огромное спасибо подписчикам за обратную связь по Aurelia и реакту! Мне всегда интересно читать о ваших результатах и вашем опыте!

Эта книга помогает мне провигаться в изучении фреймворка семимилными шагами: https://www.ng-book.com/2/ Она платная, но покупка того стоит - в ней разжевываются ключевые моменты при написании сложных приложений

2) После калькулятора зарплаты от stackoverflow (https://stackoverflow.com/company/salary/calculator) начал понимать, почему к нам на собеседования приходит все меньше и меньше профессионалов (но мы рады видеть и перспективных интернов)

3) Коллега посоветовал посмотреть курс (бесплатный) по основам Computer Science "cs50":
http://javarush.ru/cs50.html

Лучшие уроки, которые я когда-либо видел. На хабре есть рекламный пост к видеокурсу: https://habrahabr.ru/company/javarush/blog/303806/
Если вы только начинаете погружаться в мир программирования, то это must see
Почитал про вторую версию Ionic - писать под мобильные устройства станет еще проще и приятней, по сравнению с первой версией (особенно, если учесть появление Redux): http://ionic.io/2
Мое знакомство с этим фреймворком произошло несколько лет назад, когда они только запустились. Мы искали инструмент для быстрого прототипирования мобильных приложений. Результаты были более, чем удовлетворительные: опытный фронтендщик буквально за день мог накидать рабочий прототип приложения с несколькими ключевыми экранами (логин, различные списки, редактирование объектов и тд). Из того, что я успел прочесть по новому Ionic, в новой версии будет поддержка второго AngularJS, много новый компонентов и других полезных полуфабрикатов

Из множества минусов Ionic могу выделить только один существенный: приложения, написанные с помощью него, не очень быстро работают. Например, один из проблемных моментов - это большие списки с бесконечнм скроллом. Нативный список в iOS (и не только) реализован таким образом, что приложение держит в памяти только те ячейки, которые ппоказываются на экране. А в Ionic в памяти (в DOM'е) лежат все элементы списка. Так получается из-за разных подходов рендеринга (веб и не веб). Возможно что-то изменится в будущем, но пока проблема сохраняется

Гибридные приложения точно не победят нативные, но по крайней мере они продолжат помогать разработчикам и предпринимателям быстрее презентовать свои мысли и выводить на рынок первую жизнеспособную версию продукта (судя по сайту Ionic, этот фреймворк был использован более чем в 1 млн. приложений)

Любителям поковырять внутренности, советую разобрать Cordova - именно эта библиотека является мостом между WebView и нативной частью приложения. Не знаю как сейчас, но 2 года назад Android сильно отставал в развитии от iOS в плане передачи данных из нативной части в JS

P.S. Redux, на мой взгляд, один из основных модулей, который фронтендщику нашего времени следует изучить. Автор модуля не бросил разработчиков в одиночестве и сделал нормальные видеоуроки, где на пальцах объясняет, как правильно работать с Redux: https://egghead.io/courses/getting-started-with-redux
Я никак не пересекаюсь с программированием игр, рендерингом и тд. Но иногда интересно посмотреть, что происходит в "другом" мире. Несколько месяцев назад один крутой программист скинул посмотреть вот такое вот видео: https://www.youtube.com/watch?v=P_I8an8jXuM&feature=youtu.be
С помощью технологии Vulkan Prototype рендеринг ускоряется в разы. Даже захотелось посмотреть на какую-нибудь современную игрушку, которая использовала бы для рендеринга Vulkan

Только cейчас появилось время, чтобы понять, что это вообще такое. Статьи на хабре хватило, чтобы понять, что хеллоу ворлд сходу не реализовать
https://habrahabr.ru/post/283490/

Скорее всего бородачи уже пишут свои обвязки под эту штуку для обыных людей, т.к. судя по статье - напрямую писать под нее не самое приятное занятие
На днях общался с другом, который только начинает программировать. Он уже имеет небольшой опыт взаимодействия с Ruby и после просмотра курса Гарвардского курса по программированию cs50 попросил пояснить различия межд другими языками программирования. Без подробностей по поводу ООП, интерпретируемости/компилируемости и тд я не смог сходу пояснить, но вспомнил, что видел хорошее видео на ютубе о выборе языка: https://www.youtube.com/watch?v=T70qJndjYi0
После просмотра станет ясно, какой язык стоит выбрать в качестве первого, а какой нет (Java, C#, Python стоит, остальные не очень)

P.S. на мой взгляд мотивация по выбору первого языка должна быть основана на желании что-то написать, например, игру или приложение на мобильник, иначе, не видя четкой цели можно застрять в груговороте мнений
Посетил вчера 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