Search
Write a publication
Pull to refresh
198
0
Сергей Новоградцев @snipsnap

Java разработчик

Send message

К черту талант

Reading time4 min
Views10K
Поверьте, научиться кодить чертовски сложно

Учиться кодить очень трудно. Функции, проценты. Отступы и поля. Охватить нужно очень много, и еще больше, чтобы понять, как это писать. Я работаю в этой сфере уже 10 лет, и только сейчас я почувствовал себя чем-то вроде «эксперта» в том, чему я учу людей.

Поэтому послушайте, что я понял. На данный момент я научил программировать более 300 людей. Я знаю, что это трудная дорога с препятствиями. Но знаете, что еще трудно? Ходить.

Вы не рождены с умением ходить, вам пришлось учиться и практиковаться. Тогда почему вы считаете, что можете стать мастером в кодировании в один момент? Почему вы уверены, что никогда не будете так же хороши, как «эксперты» в этой области? Вы считаете, им не пришлось практиковаться, и это все чистый талант? Знаете, они тоже когда-то были никчемными кодерами.
Читать дальше →

Полный гайд по робототехническим конструкторам от Робостанции

Reading time10 min
Views52K


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

Только повзрослев, я узнал, что детский конструктор это вершина эволюции игрушек на изобретение (скорее, даже открытие) который европейские педагоги потратили сотни лет, шаг за шагом подбираясь к тому великолепию, что мы имеем сейчас в каждом детском магазине. Не будь конструкторов, не было бы у меня и такой тяги к DIY роботам.

У нас на Робостанции есть десяток магазинов с конструкторами и всамделишная робошкола, где из этих конструкторов собирают настоящих роботов. Вот об этом и поговорим.


Но сначала немного теории.

От эксперимента к продукту: Hadoop и Big Data

Reading time3 min
Views8.3K
Сегодня мы обсудим тему облачной инфраструктуры и интеграции возможностей Big Data в традиционные ИТ-системы. Отправной точкой этого обзора послужили заметки ряда экспертов данной отрасли.

Читать дальше →

Обучение на STM32 в массы

Reading time6 min
Views151K

Небольшая предыстория


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

Мое обучение началось, когда я два года назад заинтересовался темой микроконтроллеров и инженер, у которого поинтересовался насчет них, выдал мне плату 300х200мм и сказал, что в ней стоит контроллер STM32F217ZGT6 и на этой плате есть все необходимое для обучения. «В общем, освоишь ее — все остальное покажется фигней» (он, правда, не сказал, что для моргания светодиодом надо настроить SPI, о котором на тот момент я даже не слышал). Спустя три не очень напряженных месяца бесплотных попыток, осознания слабости навыков программирования и огромного количества прочитанных статей пришлось все же раскошелится на STM32VLDISCOVERY и способом копирования программ и экспериментов с ними дело наконец-то пошло, но все равно медленно.

За полтора года успел поработать разработчиком, искал вакансии, где работают с STM32 (так как считаю, что сейчас это наиболее перспективные микроконтроллеры своего класса), нахватался опыта и когда дело дошло до диплома, вспомнил о своих наболевших мозолях. Идея с темой пришла мгновенно: «Отладочная плата на STM32 и (полноценный) обучающий курс (для самых маленьких) к ней».

Да, знаю, знаю, от многих инженеров слышал, что с темой «отладочная плата» «будь я преподавателем, я бы тебя завалил на защите», но все же считаю, любая идея имеет право на жизнь, так что всем, кому интересно, прошу читать далее.
Читать дальше →

Расследование одного взлома или как быстро и просто потратить миллиард

Reading time6 min
Views157K
UPDATE: Всем привет! Сегодня с удивлением узнал от коллег об этой записи. Выяснилось, что мой аккаунт взломали — представители Хабрахабра это подтвердили и восстановили мне доступ и сейчас разбираются, как так получилось. Но я оставляю эту запись как есть, для истории.
В комментариях уже отметились представители Яндекса: говорят, что уязвимость закрыта, ведётся аудит безопасности софта.

И, пользуясь случаем, хочу напомнить, что у нас в Badoo уже несколько лет идет программа "Проверь Badoo на прочность" и мы платим за найденные уязвимости.


Все вокруг постоянно рассуждают о коррупции. А я хочу рассказать Вам о случае, на коррупцию очень похожем, но в среде чистого IT-бизнеса, на государство никак не завязанного.

Описываемый далее случай интересен именно с точки зрения взлома бизнеса, хотя статья больше посвящена взлому в смысле IT.

Начну с нетехнической части.
Читать дальше →

Sexy primes, «медленный питон» или как я бился о стену непонимания

Reading time10 min
Views31K
Многие разработчики, особенно принимающие активное участие в проектировании системы, наверняка сталкивались с подобной ситуацией: приходит коллега (разраб, проектлид или продажник не суть важно) с очередной идеей-фикс: давай перепишем все на java, scala и т.д. (любимое подставить).

Вот и мне в очередной раз «спустили» такую идею в немаленьком-таком legacy проекте. Не совсем переписать, не совсем все (ну в перспективе). В общем перейти с питона (а у нас там еще и тикль модульно присутствует) на scala. Речь пока шла о разработке новых модулей и сервисов, т.е. начинать с наименее привязанных к middle-level и front-nearby API's. Как я понял в перспективе возможно совсем.

Человек — не разработчик, типа нач-проекта и немного продажник (для конкретного клиента) в одном лице.

Я не то, чтобы против. И скалу уважаю и по-своему люблю. Обычно я вообще открыт ко всему новому. Так, например, местами кроме тикля и питона у нас появляются сервисы или модули на других языках. Так, например, мы переехали с cvs на svn, а затем на git (а раньше, давно-давно, вообще MS-VSS был). Примеров на самом деле масса, объединяет их один момент — так решили или как минимум одобрили сами разработчики (коллективно ли, или была группа инициаторов — не суть важно). Да и дело в общем в аргументах за и против.

Проблема в том, что иногда для аргументированной дискуссии «Developer vs. Anybody-Else» у последнего не дотягивает уровень знаний «материи» или просто невероятно сложно донести мысль — т.е. как-бы разговор на разных языках. И хорошо если это кто-нибудь типа software architect. Хуже, если имеем «беседу» например с чистым «продажником», огласившим например внезапные «требования» заказчика.

Ну почему никто не предписывает, например, плиточнику — каким шпателем ему работать (типа с зубцами 10мм клея же больше уйдет, давайте может все же 5мм. А то что там полы-стены кривущие никого не волнует). И шуруп теоретически тоже можно «закручивать» молотком, но для этого же есть отвертка, а позже был придуман шуруповёрт. Утрирую конечно, но иногда действительно напоминает такой вот абсурд.

Это я к тому, что инструмент в идеале должен выбирать сам разработчик или иметь в этом как минимум последнее слово — ему с этим инструментом работать или мучиться.

Но что-то я отвлекся. В моей конкретной истории аргументов — за scala, у человека как всегда почти никаких.
Хотя я мог бы долго говорить про вещи, типа наличие разрабов, готовые наработки, отточенную и отлаженную систему и т.д. и т.п. Но зацепился за его «Питон очень медленный». В качестве примера он в меня кинул ссылкой на Interpreting a benchmark in C, Clojure, Python, Ruby, Scala and others — Stack Overflow, которую он даже до конца не прочитал (ибо там почти прямым текстом есть — не так плохо все с питоном).

Имелось ввиду именно вот это (время указано в секундах):
  Sexy primes up to:        10k      20k      30k      100k
  ---------------------------------------------------------
  Python2.7                1.49     5.20    11.00       119     
  Scala2.9.2               0.93     1.41     2.73     20.84
  Scala2.9.2 (optimized)   0.32     0.79     1.46     12.01

Читать дальше →

Глубокое обучение на R, тренируем word2vec

Reading time10 min
Views24K
Word2vec является практически единственным алгоритмом deep learning, который сравнительно легко можно запустить на обычном ПК (а не на видеокартах) и который строит распределенное представление слов за приемлемое время, по крайней мере так считают на Kaggle. Прочитав здесь про то, какие фокусы можно делать с тренированной моделью, я понял, что такую штуку просто обязан попробовать. Проблема только одна, я преимущественно работаю на языке R, а вот официальную реализацию word2vec под R мне найти не удалось, думаю её просто нет.
Читать дальше →

Gradberry — автоматический рекрутер программистов, проверяющий качество кода

Reading time1 min
Views7.4K
image

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

Стартап основали два программиста родом из Объединённых Арабских Эмиратов. Закончив Американский университет в Шардже, они пытались устроиться на работу, но им везде отказывали, отдавая предпочтение людям из более известных учебных заведений. Ребята не растерялись и сумели не только сделать свой проект, но и получить финансирование – как раз от одного из самых известных институтов, MIT. Выиграв конкурс стартапов в Марокко, они переехали в Бостон.
Читать дальше →

Будет ли у человека секс с роботами?

Reading time3 min
Views37K
image

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

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

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

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

Чтобы машина выглядела максимально правдоподобно, ее покрывают силиконовой кожей, которая используется в пластической хирургии. Под «кожей» можно услышать биение сердца, которое создает специальный имитатор. Во время занятий сексом у робота учащается пульс, а дыхание становится прерывистым…

Недавно в США начали продаваться куклы-роботы по имени Roxxxy, которые могут сымитировать оргазм.
Читать дальше →

Fungi hunting – подозрительное хобби

Reading time4 min
Views26K
Скажи англичанам, что любишь собирать грибы, и тебя не поймут. Зачем рисковать, когда в магазинах есть простые-понятные шампиньоны & трюфели? Дикие грибы и выглядят, и пахнут подозрительно, а тот, кто их ест и ходит живой, – либо невероятный везунчик, либо тот-кто-знает-все-секреты – что тоже, в общем-то, подозрительно.

Понять осторожных британцев поможет грибной фольклор и тест на выживаемость в английских лесах. Поехали!
Читать дальше →

Пример векторной реализации нейронной сети с помощью Python

Reading time14 min
Views50K
В статье речь пойдет о построение нейронных сетей (с регуляризацией) с вычислениями преимущественно векторным способом на Python. Статья приближена к материалам курса Machine learning by Andrew Ng для более быстрого восприятия, но если вы курс не проходили ничего страшного, ничего специфичного не предвидится. Если вы всегда хотели построить свою нейронную сеть с преферансом и барышням векторами и регуляризацией, но что то вас удерживало, то сейчас самое время.

Данная статья нацелена на практическую реализацию нейронных сетей, и предполагается что читатель знаком с теорией (поэтому она будет опущена).
Читать дальше →

Печальное состояние сисадмина в эпоху контейнеров

Reading time3 min
Views82K
Системное администрирование сейчас в печальном состоянии. Оно в хаосе.

Я не говорю про олдскульных админов, они знают как управлять системами и контролировать обновления.

Проблема в контейнерах, готовых виртуальных машинах (prebuilt VMs), а также в невероятном хаосе, который они создают, потому что в их концепции не хватает «доверия» и «обновлений».

Давайте взглянем на Hadoop. Судя по всему, никто не знает как собирать Hadoop с нуля; это просто огромная куча из зависимостей, необходимых версий и утилит сборки.

Ни одна из «замечательных» утилит не собирается традиционной командой make. Каждая утилита поставляется со своим собственным не переносимым и не совместимым c чем-либо «методом дня» для сборки.

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

Поиск работы для программиста в Лондоне

Reading time11 min
Views53K

Дисклеймер


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

Мы переехали в Лондон (Великобритания) из Хабаровска (Россия) в конце 2014. Мой муж senior php developer, с серьезным опытом работы c linux и вообще большой умница. Мой профессиональный багаж включает всякую ерунду типа FoxPro, но на последнем месте работы я занималась разработкой под интеграционную шину и JavaEE.

Шаг 1. Виза


Очевидно, чтобы приехать в Великобританию требуется виза, в контексте работы, пожалуй, наиболее реальный вариант Tier2 General.
Читать дальше →

Основы Kubernetes

Reading time13 min
Views931K
В этой публикации я хотел рассказать об интересной, но незаслуженно мало описанной на Хабре, системе управления контейнерами Kubernetes.

image

Что такое Kubernetes?


Kubernetes является проектом с открытым исходным кодом, предназначенным для управления кластером контейнеров Linux как единой системой. Kubernetes управляет и запускает контейнеры Docker на большом количестве хостов, а так же обеспечивает совместное размещение и репликацию большого количества контейнеров. Проект был начат Google и теперь поддерживается многими компаниями, среди которых Microsoft, RedHat, IBM и Docker.
Читать дальше →

Мой опыт внедрения Apache Cassandra

Reading time3 min
Views57K
Как и большинство NoSQL-решений, C* подвержена одной крайне неприятной эпидемии: она является отличным инструментом для узкого класса задач, но позиционируется евангелистами как очередная серебряная пуля по хранению данных. В этой статье я расскажу о своём опыте внедрения C* в (сравнительно) нагруженный проект веб-аналитики. Она будет полезна всем, кто стоит перед выбором масштабируемого хранилища данных, и развенчает мифы и заблуждения об этом инструменте.


Читать дальше →

Наиболее интересные доклады с Analyst Days 2015

Reading time8 min
Views7.9K
17-18 апреля 2015 года в Минске прошла 4-я Международная конференция по системному и бизнес-анализу «Analyst Days 2015». Во многом благодаря данному мероприятию в странах СНГ сформировалось живое и активное сообщество аналитиков, где каждый готов поделиться своим ценным опытом. В этом году конференцию посетили более 300 специалистов отрасли, в том числе и сотрудники нашей компании. Несмотря на то, что общий уровень докладов в этом году достаточно высок и каждый из них заслуживает внимания, мы хотели бы выделить те, которые в большей степени затрагивают практические аспекты работы аналитика.
Читать дальше →

Как создать искусственный интеллект? История вторая. Алгоритмы интеллектуального поиска и хранения информации

Reading time10 min
Views70K
image
В серии статей мы рассказываем о новых подходах в Искусственном Интеллекте, моделировании личности и обработке BIG Data, которые недоступны для большинства специалистов по ИИ и общественности. Ценность этой информации в том, что она вся проверена на практике и большинство теоретических наработок реализованы в прикладных проектах.

image

Все вы без исключения пользуетесь современными поисковыми системами, которые хорошо справляются с поиском ссылок по ключевым словам. Но можно ли считать эти технологии поиском информации, умеют ли они отвечать на ваши вопросы в разных контекстах, могут ли они размышлять, воображать на основе сотен, тысяч источников на разных языках?

Крупные поисковые компании обладают почти неограниченными ресурсами – у них есть деньги, на них работают самые профессиональные сотрудники, тысячи и даже миллионы серверов обслуживают поисковые запросы.
Так почему же до сих пор вы получаете в качестве ответа ссылки, а не ответ на свой вопрос?

В этой статье мы поговорим о технологиях и алгоритмах, которые изменят ваше представление о поиске и хранении информации.
Читать дальше →

Как машинное обучение позволяет создавать музыку

Reading time3 min
Views13K


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

5 инструментов в помощь аналитику

Reading time5 min
Views92K
Данных становится всё больше и больше, поэтому сейчас как никогда важно иметь необходимый инструментарий для анализа данных и принятия решений. Сегодня мы поговорим о пяти популярных аналитических системах.



Содержание
  1. MS Excel Power Query
  2. MS Power BI
  3. Pyramid Analytics
  4. Компоненты аналитики MS SQL server (MDS, SSIS, SSAS)
  5. Главный инструмент аналитика

Читать дальше →

Elasticsearch — сортируем выдачу руками

Reading time5 min
Views19K
Благодаря своей гибкости и масштабируемости, сегодня Elasticsearch находит применение во все более широком круге задач — от поиска до аналитики. Однако есть ряд вопросов, с которыми Elasticsearch не справится в одиночку.

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

Другой пример. Параметр, влияющий на сортировку, меняется слишком часто: Elasticsearch построен на базе Lucene и использует append-only хранилище, обновление документов фактически отсутствует. Каждое изменение документа приводит к его переиндексации и влечет периодическое перестроение сегментов хранилища. Иными словами, если вы хотите отсортировать выдачу по количеству просмотров документа на сайте, то самое тупое, что можно сделать, — это записывать каждый просмотр в Elasticsearch. И здесь, похоже, назрел вопрос использования внешнего хранилища мета-информации, используемой для сортировки документов.


Читать дальше →

Information

Rating
Does not participate
Location
Kassel, Hessen, Германия
Registered
Activity