Pull to refresh
0
0
KakOFF @KakOFF

User

Send message

Про одного парня

Reading time14 min
Views191K
История реальная, я все видел своими глазами.

Несколько лет один парень, как и многие из вас, работал программистом. На всякий случай напишу так: «программистом». Потому что он был 1Сником, на фиксе, производственной компании.

До этого он пробовал разные специальности – 4 года во франче программистом, руководителем проектов, умел закрывать по 200 часов, одновременно получая процент с проекта, за руководство и немного занимаясь продажами. Пробовал самостоятельно разрабатывать продукты, был начальником IT-отдела в большой компании, численностью 6 тысяч человек, примерял разные варианты применения своей кавычечной профессии – программиста 1С.

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

Этому парню стало интересно, как можно зарабатывать больше денег, не занимаясь продажами и не создавая свой собственный бизнес.
Читать дальше →
Total votes 272: ↑239 and ↓33+206
Comments247

Метеостанция на Arduino от А до Я. Часть 1

Reading time8 min
Views74K

Оглавление:



Метеостанция. Arduino, ESP8266, nRF24L01, DHT22


«Так, давайте сразу договоримся: вы не собираетесь снимать кино для Голливуда. Даже в Стране чудес утверждается не более пяти процентов от всех сценариев, и только один процент идет затем в производство… Таким образом, вместо всего этого вы собираетесь создать свой собственный Голливуд.»
Эд Гаскель «Снимаем цифровое кино, или Голливуд на дому»


Предисловие


Что, ещё одна погодная станция на Arduino?! Да, ещё одна и, что-то мне подсказывает, не последняя в интернете вещей.


Точно также, как каждый программист обязан написать программу «Hello World!», так и каждый ардуинщик обязан иметь за плечами опыт построения простой или не очень метеостанции.
Уже созданных проектов метеостанций в интернете описано немалое количество, читатель может выбрать любой из них для реализации. Не скрою, я внимательно изучил около десятка подобных проектов и ещё кучу смежных. Поэтому нельзя сказать, что я создал всё с нуля, конечно же я «стоял на плечах гигантов».

Читать дальше →
Total votes 24: ↑18 and ↓6+12
Comments33

Почему не стоит выкидывать Radeon, если ты увлекся машинным обучением?

Reading time4 min
Views56K

image


Свою рабочую станцию мне выдалось собирать, будучи студентом. Достаточно логично, что я отдавал предпочтение вычислительным решениям AMD. потому что это дешево выгодно по соотношению цена/качество. Я долго подбирал компоненты, в итоге уложился в 40к с комплектом из FX-8320 и RX-460 2GB. Сначала этот комплект казался идеальным! Мы с соседом по комнате слегка майнили Monero и мой набор показывал 650h/s против 550h/s на наборе из i5-85xx и Nvidia 1050Ti. Правда, от моего набора в комнате бывало слегка жарковато по ночам, но это решилось, когда я приобрел башенный кулер к CPU.

Читать дальше →
Total votes 52: ↑51 and ↓1+50
Comments39

Парный постмортем: как победить Ктулху и ещё 2000 человек

Reading time8 min
Views10K

Всем привет, меня зовут Оля. Две недели назад на CodinGame завершился очередной контест — соревнование по программированию ботов для игры. Я попала в топ-300 мирового лидерборда, поэтому хочу рассказать, почему контесты это круто, и поделиться своими секретами. А ещё секретами поделится Иван spaceorc, который попал в топ-100 того же соревнования.


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


Что такое CodinGame


codingame.com — обучающая платформа для разработчиков всех возрастов и уровней подготовки. Можно писать на 26 языках: от C# и Python до Bash и Haskell. Самое крутое, что задачки там не скучные и непонятные, а настоящие игры с неплохим GUI:


image

Как не только играть, но и побеждать...
Total votes 26: ↑26 and ↓0+26
Comments15

Верстка email рассылок от А до Я для чайников

Reading time9 min
Views404K
Уже 3 с лишним года занимаюсь дизайном и версткой почтовых рассылок, которые ориентированы на англоязычных пользователей. За время работы перелопатили огромную кучу информации, перепробовали много вариантов верстки, набили достаточное количество шишек. Были найдены и исправлены типичные баги, которые в той или иной мере повторялись во всех почтовых клиентах. Также нашлись проблемы с некоторыми CSS свойствами — различные почтовые клиенты интерпретировали их по разному. Каждое письмо тестировалось на самых популярных почтовых клиентах: Gmail, Outlook, Yahoo, Android, iOS, MozillaThunderbird, Microsoft Outlook, The Bat. Рассылки ходят на сотни миллионов пользователей и приносят очень хорошие результаты. Итак, приступим к изучению.
Читать дальше →
Total votes 66: ↑62 and ↓4+58
Comments35

Symfony2. Универсальный инструмент для быстрого приготовления табличных списков в административной панели

Reading time9 min
Views8K
Речь пойдет о бандле для Symfony2, первую версию которого я написал более двух лет назад. Всё это время я и мои коллеги активно его использовали, бандл периодически улучшался. Решил поделиться им с сообществом.

Практически в любом приложении требуется выводить табличный список сущностей, обязательно должна быть пагинация, неплохо также иметь возможность сортировки по всем полям и гибкую фильтрацию. Именно эти задачи и решает предоставленный на ваш суд AdminPanelBundle. Конечно, это не что-то новое — та же SonataAdminBundle предоставляет подобный функционал, но Соната — это монстр (в хорошем смысле этого слова), с кучей настроек и зависимостей, а моей целью было реализация быстрой и гибкой навигации по большим табличным массивам.
Читать дальше →
Total votes 10: ↑5 and ↓50
Comments6

Самые нужные плагины для Grunt

Reading time6 min
Views49K


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

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

А еще я выложил подборку на GitHub, чтобы каждый мог пополнить коллекцию.

Читать дальше →
Total votes 53: ↑48 and ↓5+43
Comments43

Классификация знаний в области программирования

Reading time7 min
Views188K
2 года назад я написал статью о классификации знаний в области программирования. Это было на волне интереса и моей активной деятельности по самообразованию в компьютерных науках. Написал статью и забыл о ней. Публиковать на Хабре не собирался. В конце концов, она базируется на моем личном опыте и знаних, которые могут оказаться весьма субъективны.

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

Но прежде, чем «запустить» материал, еще небольшое отступление. О том, почему вообще я все это писал. Дело в том, что у нас в странах бывшего СССР с образованием в области IT очень туго. С одной стороны нет программ обучения, которые подготовят специалистов на должном уровне (наверное, за очень редкими исключениями, которые можно отнести к погрешности). С другой стороны, из-за широких возможностей самообразования, программисты и не спешат учиться в ВУЗах — все стремятся начать практиковать как можно раньше. Часто изучается только одно направление (например PHP+Mysql — самое популярное) и в бой. Причем, на этом все заканчивается. В итоге у нас огромное количество программистов, которые и базовых вещей не знают. Отсюда вытекают проблемы с качеством кода, и с эффекивностью алгоритмов, с велосипедированием.

Но программирование — это полноценная область знаний, которая требует в том числе и инженерной подготовки. Точно так же, как строительство или телекоммуникации. Да, построить дом (особняк) можно своими руками и без образования. А поднять большинство сайтов можно прочитав пару книг по PHP и HTML. Но многоэтажку без специальной подготовки не построишь, как и Гугл не напишешь, не зная основ.

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

Поехали.
Читать дальше →
Total votes 78: ↑57 and ↓21+36
Comments52

Революция PHP7: Типы возвращаемых значений и удаление артефактов

Reading time5 min
Views54K
Планируемая дата выпуска PHP7 стремительно приближается, внутренняя группа усиленно работает, пытаясь исправить наш любимый язык, сделать его как можно лучше, будут удалены артефакты прошлых версий и добавлено несколько столь желанных фич. Есть много RFC, которые можно изучить и обсудить, но в этом посте я хотел бы сосредоточиться на трех самых важных.

PHP 5.7 vs. PHP7


Как я уже говорил в прошлом письме, 5.7 был отклонен в пользу перехода непосредственно к PHP7. Это означает, что не будет новой версии между 5.6 и 7 — даже если она и появилась бы, то просто служила бы сигналом тем, кто все еще погряз в устаревшем коде. Первоначально, 5.7 не должна была иметь новые функции, но должна была выбросить уведомления и предупреждения об устаревании кода, который скоро изменится в v7.

Также необходимо предупредить о некоторых ключевых словах, которые будут зарезервированы в PHP7, чтобы люди могли быстро привести свой код в соответствие с помощью какой-нибудь «автоматической» проверки совместимости версий PHP. Однако, как я писал в рассылке, большинство людей, которые достаточно компетентны, чтобы соблюдать совместимость своего кода с последней версией PHP, на самом деле и не используют конструкции, которые может сломать PHP7.
Читать дальше →
Total votes 59: ↑50 and ↓9+41
Comments60

Учебник AngularJS: Всеобъемлющее руководство, часть 2

Reading time22 min
Views192K
Часть 1

4.1 $rootScope


$rootScope не сильно отличается от $scope, просто это объект $scope самого верхнего уровня, от которого происходят все остальные области видимости. Когда Angular начинает создание вашего приложение, он создаёт объект $rootScope, и все привязки и логика приложения создают объекты $scope, являющиеся наследниками $rootScope.

Обычно мы не используем $rootScope, но с его помощью можно обеспечить передачу данных между разными областями видимости.
Читать дальше →
Total votes 33: ↑29 and ↓4+25
Comments23

Netatmo — стильное ядро для умного дома

Reading time6 min
Views52K
На первый взгляд Netatmo — просто стильная погодная станция, которая замеряет температуру, влажность, уровень углекислого газа и шум. Но на самом деле в гаджете заложен огромный потенциал, и вокруг него можно выстроить свой умный дом без проводов, паяльника и программирования.

Netatmo - ядро для умного дома



Читать дальше →
Total votes 43: ↑39 and ↓4+35
Comments36

Белый Куб на страже чистоты воздуха, часть 1

Reading time14 min
Views134K
Устройство для мониторинга параметров домашней среды с передачей данных по Wi-Fi.

image

В статье описывается устройство для измерения, индикации на встроенном дисплее и передачи в сеть по Wi-Fi параметров окружающей среды:

• уровень СО2 (углекислый газ)
• уровень СО (угарный газ)
• содержание паров этилового спирта (С2Н5ОН)
• уровень горючих газов (LPG)
• уровень аммиака (NH3)
• содержание водорода(H2)
• значения атмосферного давления
• влажности и температуры воздуха
• уровня освещенности
• уровня магнитного поля по трем осям
• уровня гравитации по трем осям
• уровня ускорений по трем осям
• температуры произвольного количества цифровых датчиков температуры типа DS18B20.
Читать дальше →
Total votes 93: ↑87 and ↓6+81
Comments134

Конструктор Multiplo — создай своего робота

Reading time3 min
Views100K


Проект Mutiplo я заметил давно, ещё на этапе когда они успешно завершили кикстартер кампанию — было это в октябре 2012 года. Проект выстрелил успешно — почти 10-кратное превышение заявленной суммы! Из заявленных $15,000 было собрано $132,022 и более 700 вкладчиков.

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

Оригинальным было конструктивное решение — они придумали свои механизмы крепления, и так же большим плюсом было то что проект полностью open-source и open-hardware проект — то есть все чертежи конструктивных элементов должны были быть выложены в открытый доступ — чтобы любой желающий мог сам нарезать на лазерном ЧПУ или напечатать на 3d-принтере. И так же схемы всей используемой электроники — выложены в открытый доступ.

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

Из чего состоит набор Mutiplo
Total votes 36: ↑33 and ↓3+30
Comments46

Сеть умного дома 1-wire и FreeBSD

Reading time4 min
Views53K
Статей про «умный дом» и технологию 1-wire написано великое множество. Я же хочу написать как это делается «с нуля» и не на ОС Linux (как в большинстве инструкций и статей в сети), а на FreeBSD.

Почему именно эта ОС? Потому что есть люди, у которых дома развёрнуты собственные маршрутизаторы на FreeBSD, у которой есть некоторые отличия от Linux в настройке тех или иных служб и сервисов. Саму статью я пишу как новичек, т.е это, в своём роде, попытка поделиться собственным опытом.
Читать дальше →
Total votes 24: ↑18 and ↓6+12
Comments47

Jump Start в PowerShell (часть I)

Reading time5 min
Views249K
Только автоматизация. Только PowerShell.



Предисловие


В качестве хобби и при наличии времени преподаю студентам в УКИТ (бывший Московский государственный колледж информационных технологий). На данный момент у меня мало времени, чтобы уделить его группе студентов, зато вполне достаточно, чтобы подготовить пост здесь, на Хабре.

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

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

Внимание: PowerShell вызывает привыкание.
Читать дальше →
Total votes 46: ↑37 and ↓9+28
Comments63

Научно-популярные фильмы о физике

Reading time1 min
Views81K
Всем привет!

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

Недавно случайно наткнулся на ютубе на фильм с Брайаном Грином «Тайны мироздания» и удивился, что у видео так мало просмотров.

Не сказать, чтобы такая подача материала мне очень нравилась, но все равно, местами довольно интересно :) Может быть, будет интересно не только мне.

Сами видео под катом.
Читать дальше →
Total votes 81: ↑76 and ↓5+71
Comments35

Размеры экранов

Reading time2 min
Views550K
Планшеты и смартфоны оснащаются экранами с разными соотношениями сторон и разной плотностью пикселей, однако эти параметры редко указываются в технических характеристиках.

Попробуем разобраться со всеми хитростями, связанными с этими параметрами. Начнём с планшетов.
Вот соотношение размеров экранов, использующихся в большинстве современных планшетов.



Обратите внимание, насколько экран 8" с соотношением сторон 4:3 визуально больше широкого экрана 7". А широкий экран 10.1" на сантиметр меньше экрана 9.7" по высоте.

Я свёл в таблицу параметры экранов, чаще всего использующихся в планшетах.



Текст на экранах с низким PPI (количеством точек на дюйм) читается не комфортно. Я бы не стал покупать планшет с экраном, имеющим PPI ниже 150. Даже 164 PPI экрана iPad mini многим кажутся недостаточными. Отлично воспринимаются экраны с PPI больше 200.

Для меня было большим открытием, что экран 9.7" 1024x768 имеет даже меньшее PPI, чем экран 7" 800x480.

Читать дальше →
Total votes 157: ↑147 and ↓10+137
Comments69

Нейробиология и искусственный интеллект: часть третья – представление данных и память

Reading time6 min
Views74K
Продолжение.

Глава 1: Нейробиология и искусственный интеллект: часть первая — ликбез.
Глава 1.5: Нейробиология и искусственный интеллект: часть полуторная – новости от Blue Brain Project.
Глава 2: Нейробиология и искусственный интеллект: часть вторая – интеллект и представление информации в мозгу.


Рис. 1

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

Это дает повод спекулировать об альтернативных теориях сознания, в которых берут какой-нибудь малоизученный эффект и объявляют его панацеей. Одна из таких теорий была выдвинута Р. Пенроузом и С. Хамероффом – квантовая теория сознания, основанная на теоретических предпосылках к квантовому взаимодействию тубулиновых микротрубочек, составляющих цитоскелет нейронов. Если будут желающие, могу обсудить эту теорию в отдельной главе, а пока вернемся к более проверенным теориям.

Читать дальше →
Total votes 55: ↑52 and ↓3+49
Comments41

Нейробиология и искусственный интеллект: часть первая — ликбез

Reading time6 min
Views126K
Так уж получилось, что я уже давненько читаю Хабр и особенно раздел про искусственный интеллект, однако до сих пор так и не отважился внести свою лепту в общий уровень энтропии.

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

В данной статье я в сжатой форме попытаюсь дать ответы на следующие вопросы:
— что же такое нейрон, как он устроен и работает?
— что происходит в синапсах, когда нейроны общаются друг с другом?

А в следующей (-щих):
— как интеллект и сознание связаны с активностью нейронов? (здесь же про то, как информация обрабатывается мозгом, нейропластичность, квантовую теорию сознания, сон и т.д.)
Читать дальше →
Total votes 68: ↑64 and ↓4+60
Comments43

Молекулярный компьютер 3000000 вековой давности

Reading time5 min
Views44K
Говорят, что все изобретения человечества были «подмечены» у природы, или хотя бы имеют природные аналоги; например, у самолёта в природе есть аналог — птица. А есть ли аналог компьютера и компьютерных программ?
Это — биологическая клетка, которая и будет рассмотрена в этом посте с точки зрения программиста, как молекулярный компьютер. Вы узнаете, что многие современные способы и алгоритмы обработки информации появились не в 1980-х годах, а на многие миллионы лет раньше.

Читать дальше →
Total votes 125: ↑117 and ↓8+109
Comments73
1
23 ...

Information

Rating
Does not participate
Registered
Activity