Pull to refresh
21
0
Александр @apah

Пользователь

Send message

Почему заниженные зарплаты и переработки сотрудников неэффективны для стартапов

Reading time6 min
Views11K
В этом материале американский программист с двадцатилетним опытом работы объясняет, почему заниженная зарплата и семидесятичасовая рабочая неделя губительны для любого стартапа.

image

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

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

Уязвимости в прошивках австралийских животных

Reading time6 min
Views88K
В Австралии последние 60 тысяч лет живут племена хакеров. Только ломают они не ИТ-системы, а прошивки животных. Начнём с истории бумеранга.


На заливных лугах около Дарвина, Северные территории

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

Проблема с птицами в том, что они имеют очень чёткий алгоритм реакции на угрозы. Вот кусочек псевдокода (естественно, я сейчас невероятно грубо упрощаю):

— Сгенерировать случайное число от 1 до 11.
— Если это 1-10 – смотреть вниз и искать еду до клевка.
— Если это 11 — осмотреться.

Таким образом, когда у вас на болоте сидит стая птиц в 50-60 голов, 5-6 птиц играют роль радара, обозревая небо и окрестности, а остальные в это время едят. Причём насыщаются все одновременно, без выделенных часовых – никакого ролевого распределения, просто отличное распараллеливание процессов.

IoT и проблемы экологии

Reading time6 min
Views7.2K
Экосистема нашей планеты состоит из множества переплетенных и постоянно взаимодействующих между собой сложных сетей. Глобальное изменение климата вынуждает человечество искать способы контроля за трансформацией окружающей среды, чтобы заранее распознать экориски, и по возможности, минимизировать их последствия. Одним из них является набирающая популярность концепция Интернета вещей — соединенные в глобальную сеть «умные устройства» позволяющие осуществлять как мониторинг и анализ состояния экосистемы в целом, так и решать конкретные задачи по устранению негативного воздействия на нее человека.


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

Мониторинг головного мозга

Reading time4 min
Views16K

Мониторинг работы оборудования и ключевого ПО — это азы системного администрирования. Но все мы постигаем их по-разному. За 10 лет работы в IT моё отношение к мониторингу прошло через три стадии:


Отрицание. Ничего не мониторить, пользователи сами сообщат, когда у них возникнут проблемы.
Гнев. Мониторить всё, что можно и нельзя, оповещать всех, включая не очень заинтересованных лиц, что на веб-сервере в течение 30 секунд нагрузка на CPU была 95%.
Смирение. Бизнесу пофиг на процессор/память/диски. Его больше интересует, лучше или хуже стало после изменений в инфраструктуре. Надо работать на упреждение.



Под катом — подробности эволюции моего отношения.

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

Самое сложное в программировании это…

Reading time7 min
Views133K


Мне очень понравилась ветка обсуждений на Quora.com: What is the hardest part about learning to program? Все 87 ответов я так и не прочитал, но понравившиеся, выделил в отдельную статью из 10 пунктов. Это вольный пересказ мнений многих разных людей. Если читателям будет интересно, я продолжу.

1. Разница между высокими стандартами и своими низкими умениями


В статье «Никто не говорит об этом новичкам» рассказывается об общей проблеме людей, занятых творческим или интеллектуальным трудом. Программирование — сложный предмет, и обычно за него берутся способные, амбициозные и склонные к перфекционизму люди. На начальном этапе у них не будет хорошо получаться. Привыкшие к высокой планке, они будут расстраиваться. Внутренний голос будет постоянно нашептывать: “У тебя никогда и не получится, лучше оставь это дело”. В такие моменты думайте о том, что ваша самокритичность — это признак вашей экстраординарности, и верьте, что преодолеете этот “неумелый период”.

Что касается необычайных преимуществ программирования, то вот они:
Читать дальше →

«ФосАгро»: ЦОД за четыре месяца

Reading time8 min
Views5.8K
Сегодня мы хотели бы рассказать про один из последних проектов по созданию корпоративного центра обработки данных. Это Череповецкий ЦОД компании «ФосАгро», основное направление деятельности которой – производство фосфорсодержащих удобрений, фосфатного сырья, а также кормовых фосфатов, азотных удобрений и аммиака. В Группу «ФосАгро» входят АО «Апатит» и его Балаковский филиал, АО «ФосАгро-Череповец», АО «Метахим», ООО «ФосАгро-Транс», ООО «ФосАгро-Регион» и АО «НИУИФ». Группа является крупнейшим европейским производителем фосфорных удобрений, а также крупнейшим мировым производителем высокосортного фосфорного сырья.

Основными целями создания нового ЦОДа стали централизация серверного комплекса «ФосАгро» в одном месте, а также реорганизация ядра сети. Проект был реализован всего за четыре месяца, причем, по классической технологии – с капитальным ремонтом помещений. Как этого удалось добиться спросите вы? В первую очередь, благодаря эффективно работающей команде, своевременной поставке оборудование, согласованному выполнению монтажа различных подсистем. Ну и, конечно, помог грамотный выбор технических решений. Подробности – ниже.
Читать дальше →

Топливо для ИИ: подборка открытых датасетов для машинного обучения

Reading time6 min
Views84K


Связанные проекты сообщества Open Data (проект Linked Open Data Cloud). Многие датасеты на этой диаграмме могут включать в себя данные, защищенные авторским правом, и они не упоминаются в данной статье


Если вы прямо сейчас не делаете свой ИИ, то другие будут делать его вместо вас для себя. Ничто более не мешает вам создать систему на основе машинного обучения. Есть открытая библиотека глубинного обучения TensorFlow, большое количество алгоритмов для обучения в библиотеке Torch, фреймворк для реализации распределенной обработки неструктурированных и слабоструктурированных данных Spark и множество других инструментов, облегчающих работу.


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


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

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

Как отличать птиц от цветов. Или цветы от птиц

Reading time12 min
Views13K
В качестве программы выходного дня мне захотелось поиграться с как бы «нейронной» сетью (спойлер — в ней нет нейронов). А чтобы потом не было мучительно больно за бесцельно прожитые годы часы, я подумал, что зря мы его кормим, пусть пользу приносит — пусть заодно эта сетка разберет домашний фотоархив и хотя бы разложит фотографии цветов в отдельную папку.

Самая простая сеть


Самая простая сеть нашлась в статье "Нейросеть в 11 строчек на Python" (это перевод от SLY_G статьи "A Neural Network in 11 lines of Python (Part 1)", вообще у автора есть еще продолжение "A Neural Network in 13 lines of Python (Part 2 — Gradient Descent)", но здесь достаточно первой статьи).

Краткое описание сетки — в этой сети есть ровно одна зависимость — NumPy.

Множество входов рассматривается как матрица $X$, множество выходов — как вектор $y$. В оригинальной статье сеть умножает входную матрицу, размерностью (4 x 3), на матрицу весов входов $syn0$ (3 x 4), к произведению применяет передаточную функцию, и получает матрицу слоя $l1$ (4 x 4).
Читать дальше →

Единый репозиторий для управления Enterprise Architecture

Reading time7 min
Views17K
Моя история не для всех. В том смысле, что тема не хайповая. Но тем, кто в теме, надеюсь, будет интересно. Она (история) основана на реальном опыте последних лет. Я расскажу об одном из вариантов — с моей точки зрения, эффективном, — управления сложным архитектурным ландшафтом.

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

Необразованная молодежь: да, еще один пост с точки зрения школьника

Reading time5 min
Views26K

Воззап


Тема для меня очень актуальная. Я школьник, учусь в 11 классе, занимаюсь программированием большую часть своего свободного времени. Сначала предыстория, чтобы обозначить мое положение в мире IT, обучения, работы и по списку.

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

Как убить вашу сеть с помощью Ansible

Reading time6 min
Views19K
Прим. перев.: Эта статья, написанная сетевым инженером из Швеции, рассказывает о некоторых нюансах работы с шаблонами в Ansible, а главное — учит одному простому и очевидному правилу, помогающему не «выстрелить себе в ногу»… причём не только в ногу и даже не только свою, когда речь идёт об автоматизированном управлении большим множеством устройств/серверов. Описанный в ней пример будет полезен каждому системному администратору и DevOps-инженеру. (Выделения в тексте не являются авторскими — они сделаны при переводе для акцентирования внимания на нескольких моментах.)



Я не только пользуюсь Ansible, но и пишу о нём, и пытаюсь помочь другим понять, как он работает. Недавно отвечал на вопросы пользователей Ansible. Один из них не понимал, почему модуль ios_config некорректно применял его шаблон. Объяснив, что не так с этим шаблоном, и размышляя об этой проблеме дальше, я осознал, что подобная ошибка может быть по-настоящему опасной. Опасной настолько, что может привести вашу инфраструктуру к нерабочему состоянию.
Читать дальше →

Как мы Scrum масштабировали

Reading time6 min
Views11K
Всем привет! Меня зовут Леша. Я работаю в подразделении Альфа-Банка, занимающемся развитием электронных каналов. Интернет- и мобильный банкинг – это все про нас.

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

Сегодня я хочу рассказать о нашем опыте масштабирования Scrum, когда над одним продуктом работало сразу несколько команд. Как мы до этого дошли и что из этого вышло? Всех заинтересованных прошу под кат.
Здесь должен быть слоник
Читать дальше →

«Коллеги, все нравится, но...» или как построить работу с заказчиком

Reading time11 min
Views19K


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

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

Создание Tinkoff Design System. UI Kit, версионирование и витрина компонентов

Reading time6 min
Views56K
image

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

Управление задачами в Jenkins

Reading time5 min
Views163K


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

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

Как мы торговали играми из киосков с газетами

Reading time7 min
Views35K


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

Что меня куда больше удивляет — мы узнали, сколько людей покупают газеты. Это просто чума! Двадцать первый век на дворе, космические корабли бороздят просторы Вселенной, Фейсбук по 15 лайкам знает, что мне понравится, а что нет — а люди покупают и читают бумажные газеты. С завидным постоянством.

И — там дичайшая нерациональность использования бумаги. Каждый цикл у нас увозят килограмм 10 старых газет на переработку, и привозят килограмм 30 новых. Сейчас расскажу, что и как.
Читать дальше →

Laravel подробнее про Homestead

Reading time6 min
Views44K
В официальной документации Laravel написана целая страница о Homestead, но проблема в том, что в ней мало разъяснений зачем это вообще надо. В документации скорее инструкция для тех кто уже знаком и с VirtualBox и с Vagrant и с Linux (Ubuntu). Если Вы из таких — статья не откроет что-то новое, но если Вы прочитали про Homestead в документации и не поняли зачем это вообще надо, или что-то не получилось выполнить по инструкции — в этой статье все будет разжевано подробно.
Читать дальше →

Composer — менеджер зависимостей для PHP

Reading time10 min
Views405K
Composer (getcomposer.org) — это относительно новый и уже достаточно популярный менеджер зависимостей для PHP. Вы можете описать от каких библиотек зависит ваш проект и Composer установит нужные библиотеки за вас! Причём Composer — это не менеджер пакетов в классическом понимании. Да, он оперирует с сущностями, которые мы будем называть «пакетами» или библиотеками, но устанавливаются они внутрь каждого проекта отдельно, а не глобально (это одно из основных отличий от старого-доброго PEAR).

Кратко, как это работает:
  1. У вас есть проект, который зависит от нескольких библиотек.
  2. Некоторые из этих библиотек зависят от других библиотек.
  3. Вы описываете в своём проекте те библиотеки, от которых непосредственно зависит ваш код.
  4. Composer находит нужные версии требуемых библиотек для всего проекта, скачивает их и устанавливает в папку вашего проекта.

При создании Composer авторы черпали идеи и вдохновение из аналогичных проектов: npm для Node.js и Bundler для Ruby.

Изначально он был спроектирован и разработан двумя людьми Nils Adermann и Jordi Boggiano, сейчас в проекте участвует более двадцати контрибьюторов, Проект написан на PHP 5.3, распространяется под лицензией MIT и доступен на github.

Первые коммиты были сделаны апреле 2011 года и на сегодняшний день Composer находится в стадии «alpha3». Однако, он уже достаточно стабилен и используется многими популярными PHP проектами (например, Symfony 2). Список проектов использующих Composer можно посмотреть на сайте packagist.org — это официальный репозиторий Composer пакетов. Кстати, на недавней конференции Devconf 2012 разработчик фреймворка Yii в своём докладе упомянул, что Yii2 скорее всего тоже будет использовать Composer.

В этой статье я кратко опишу основные возможности Composer и мы попробуем создать демонстрационный проект использующий Composer для загрузки необходимых библиотек. Все примеры будут доступны на github.com и bitbucket.org.

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

Vagrant для малышей, или как на Windows легко получить настроенный сервер для разработки веб-приложений

Reading time9 min
Views197K
Здравствуй, мой дорогой любитель поработать с Composer'ом, создавая свой очередной крутой проект на одном из модных фреймворков. Или, быть может, ты — фронтэнд-мастер, пишущий сложные штуки на JS и CSS, компилируя их из jsx- и less-файлов, устанавливая библиотеки через Bower, а проект собирая в каком-нибудь Grunt, попутно прогоняя код юнит-тестами и, конечно же, заливая потом всё это на github… Если всё это — часть твоей повседневной жизни, то хвала Всевышнему, поздравляю: ты прошел все эти испытания и даже не сломал себе мозг. Отныне, ты — из числа тех счастливых, потративших не одну неделю, разбираясь в том, как корректно настроить всю эту кучу инструментов, а также, ты — один из тех, кто может доминировать, властвовать и унижать блистать своими знаниями в комментариях Хабра к статьям других, менее проворных и смышлёных коллег по цеху…

Но… быть может, ты — лишь один из тех, кто только мечтает о подобных извращениях манипуляциях мастеров разработки современных веб-приложений?) Тогда я спешу обрадовать тебя: я тут на днях узнал пару полезных вещей и понял, что это — настоящий подарок для начинающих разработчиков. И решил написать эту статью.
Читать дальше →

Information

Rating
Does not participate
Location
Санкт-Петербург, Санкт-Петербург и область, Россия
Date of birth
Registered
Activity