Как стать автором
Обновить
0
0
Сергей Финогенов @ServengeR

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

Отправить сообщение

Король разработки

Время на прочтение15 мин
Количество просмотров210K


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

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

Недавно у него дела пошли в гору, и там где нормальные люди радуются и расцветают, этот парень, кажется, совсем съехал с катушек. Мы с ним как следует выпили, и он рассказал мне много искреннего дерьма, которое, честно, я бы хотел расслышать обратно.
Читать дальше →
Всего голосов 375: ↑315 и ↓60+255
Комментарии667

Сложнейшая проблема компьютерных наук

Время на прочтение12 мин
Количество просмотров19K
… это, конечно же, именование сущностей. И я говорю не только об именах переменных или новых технологий, нет. Мы не можем договориться даже о самых базовых терминах.

Тысяча диалектов


Знаете ли вы, что спецификация языка программирования С часто упоминает термин «объект»? Нет, это не объект в том понимании, как он описывается в ООП — объект в С определяется как «блок данных в среде выполнения, содержимое которого может представлять некоторое значение». В этом понимании объекта имеет смысл говорить о, например, «объекте типа char».

Термин «метод» достаточно распространён, но вы можете встретить программистов, которые будут говорить исключительно «функция-член класса». Язык программирования Java, поэтому, то ли имеет, то ли не имеет функций, в зависимости от того, кого вы об этом спросите. Термины «процедура» и «подпрограмма» иногда используются как аналог «функции», но в некоторых языках программирования (например, Pascal) процедура это совершенно не то же самое, что функция.

Даже в рамках одного языка программирования мы, бывает, путаемся.
Читать дальше →
Всего голосов 35: ↑33 и ↓2+31
Комментарии52

PHP: фрактал плохого дизайна

Время на прочтение32 мин
Количество просмотров205K

Предисловие


Я капризный. Я жалуюсь о многих вещах. Многое в мире технологий мне не нравится и это предсказуемо: программирование — шумная молодая дисциплина, и никто из нас не имеет ни малейшего представления, что он делает. Учитывая закон Старджона, у нас достаточно вещей для постижения на всю жизнь.

Тут другое дело. PHP не просто неудобен в использовании, плохо мне подходит, субоптимален или не соответствует моим религиозным убеждениям. Я могу рассказать вам много хороших вещей о языках, которых я стараюсь избегать, и много плохих вещей о языках, которые мне нравятся. Вперёд, спрашивайте! Получаются интересные обсуждения.

PHP — единственное исключение. Фактически каждая деталь PHP в какой-то мере поломана. Язык, структура, экосистема: всё плохо. И даже нельзя указать на одну убийственную вещь, настолько дефект систематичный. Каждый раз, когда я пытаюсь систематизировать недостатки PHP, я теряюсь в поиске в глубину обнаруживая всё больше и больше ужасных мелочей(отсюда фрактал).

PHP — препятствие, отрава моего ремесла. Я схожу с ума от того, насколько он сломан и насколько воспеваем каждым уполномоченным любителем нежелающим научиться чему-либо ещё. У него ничтожно мало оправдывающих положительных качеств и я бы хотел забыть, что он вообще существует.
Читать дальше →
Всего голосов 450: ↑392 и ↓58+334
Комментарии538

Практическое пособие «Как вывести из себя программиста»

Время на прочтение6 мин
Количество просмотров58K
Разработчики и неразработчики мыслят совсем по-разному. Поэтому то, что кажется всем остальным нормальным (вопросы, комментарии и просто фразы для поддержания разговора), может довести специалиста до белого каления. Менеджерам на заметку: если у программиста нервно задергался глаз после вашего вопроса, возможно, следует его переформулировать или вообще больше не задавать.

Такие вопросы, помимо нервного тика, приводят и к другим последствиям: у программистов не остается другого выхода кроме как соврать. Потому что дать человеку, далекому от программирования, экспресс-курс «Как писать код» за несколько минут, задача не из легких.

Итак, встречайте топ-7 фраз менеджеров, которые не оставляют выбора программистам.

Всего голосов 58: ↑46 и ↓12+34
Комментарии117

Пятничный формат: «Нельзя просто так взять и объяснить непрограммисту…»

Время на прочтение8 мин
Количество просмотров25K
Существуют концепты, которые очень сложно понять даже программистам в начале своего пути. И некоторые из них точно не удастся легко и быстро объяснить «простым смертным», если они не математики. Обычно такие понятия уже не так пугают людей после приведения примеров из «обычного» мира.

Мы в 1cloud попытались найти такие аналогии, так что теперь разговоры с неспециалистами могут стать чуточку интереснее, и вам с большей вероятностью удастся достичь взаимопонимания (на эту тему мы написали практическое пособие «Как вывести из себя программиста»).

Всего голосов 26: ↑22 и ↓4+18
Комментарии24

Навыки опытного программиста: Самые популярные советы начинающим

Время на прочтение6 мин
Количество просмотров43K
Быть программистом — это призвание? Возможно. Мы в 1cloud решили выяснить, как сами программисты оценивают свои достижения, какие качества считают неотъемлемыми в своей работе (вне зависимости от выбранного языка и специализации) и какие советы дают начинающим разработчикам.

Читать дальше →
Всего голосов 27: ↑18 и ↓9+9
Комментарии32

Что делать с чужими долгами?

Время на прочтение16 мин
Количество просмотров34K
Один из аспектов профессии разработчика — посвящение профанов в особенности процесса разработки ПО.
С. Макконнелл, Совершенный код

Цель этой публикации — поделиться опытом работы над проектом со сложной историей и тяжёлым наследием. После ухода из очередного т.н. «стартапа», я решил что хочу попробовать новых ощущений: enterprise, legacy, etc. Для этого взялся за работу над корпоративным приложением для транснационального концерна. Разработка на тот момент шла уже третий год, приложение пережило несколько поколений разработчиков, но стабильного релиза так и не было.

Полагаю публикация будет полезной:

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

Затрагиваемые в статье вопросы:

  • Низкая компетенция разработчиков, и что с этим можно поделать?
  • Какие аргументы убедительны в глазах заказчика для нефункциональных изменений в проекте?
  • Почему работа аналитиков и QA очень важна с точки зрения разработки в частности и для проекта в целом?

Читать дальше →
Всего голосов 88: ↑85 и ↓3+82
Комментарии76

Бизнес — модель

Время на прочтение2 мин
Количество просмотров16K
Друзья,

я бы хотел с Вам поговорить об одной модели бизнеса, которая последнее время в России (ибо, например, в США уже давно) набирает обороты.

Назовем ее One month — one shop — OMOS.

Читать дальше →
Всего голосов 48: ↑31 и ↓17+14
Комментарии77

Несколько интересных особенностей Windows 8

Время на прочтение6 мин
Количество просмотров259K
Так получилось, что в последнюю неделю сентября и первые две недели октября я провёл 6 мастер-классов по Windows 8 для «Кампус-экспертов» — студентов немецких ВУЗов, которые оказывают техподдержку по основным пользовательским продуктам Майкрософт (операционная система, офис и пр.) у себя в ВУЗах. В рамках подготовки к этим мастер-классам я составил небольшой список «особенностей» или фич, показавшихся мне интересными и несколько неочевидными. Еще несколько фич мне подсказали сами студенты. Этот небольшой список со скриншотами я решил оформить в виде небольшого обзора. Конечно, не каждая из этих фич является новой или совсем неизвестной, но я постарался выбрать то. что мне показалось интересным.
Читать дальше →
Всего голосов 118: ↑98 и ↓20+78
Комментарии132

Психологическая деформация программистов. Взгляд с обеих сторон баррикад

Время на прочтение6 мин
Количество просмотров136K
Само наличие психологической деформации у какой-либо профессии, как правило, достаточно спорный момент ввиду того, что у разных людей она проявляется по-разному. Однако общую тенденцию можно выделить и, пожалуй, настало то время когда можно достаточно смело говорить, что программисты всё же имеют свой особенный психологический портрет который обусловлен их профессиональной деятельностью.

Я достаточно часто сталкивался с подобным мнением и не придавал ему особого значения, но когда женский коллектив нашей организации поздравил программистов с 23-м февраля по доброму назвав их «космическими войсками», решил всё же расставить определенные акценты в данном вопросе, т.к. одна из моих профессий связана напрямую с психоанализом. Да и баш уже не молчит.

И что же них такого деформированного?
Всего голосов 461: ↑436 и ↓25+411
Комментарии558

50 цитат о программировании всех времён

Время на прочтение6 мин
Количество просмотров159K
Перевёл после прочтения комментариев к статье «О ненависти к C++». В цитатах можно найти ответы на большинство возникших там вопросов.

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

49. Lisp — это не язык, а строительный материал.
— Alan Kay

48. Ходить по воде и разрабатывать программы, следуя спецификации, очень просто… если они заморожены.
— Edward V Berard
Читать дальше →
Всего голосов 344: ↑336 и ↓8+328
Комментарии136

Прекратите скручивать (восклицательный знак)

Время на прочтение6 мин
Количество просмотров1.7M
Ну действительно, прекратите. Есть куча прикольных штук для соединения самых разнообразных проводов, а все равно технология «откусить зубами изоляцию, скрутить, замотать изолентой» жива до сих пор.

Дальше много текста, фотографий, разборок. Ну все как обычно
Всего голосов 682: ↑667 и ↓15+652
Комментарии360

Работа с Arduino

Время на прочтение9 мин
Количество просмотров115K

Как это было?


Когда у меня возникло желание вести разработку под Arduino, я столкнулся с несколькими проблемами:
  • Выбор модели из списка доступных
  • Попытки понять, чего мне понадобится кроме самой платформы
  • Установка и настройка среды разработки
  • Поиск и разбор тестовых примеров
  • «Разборки» с экраном
  • «Разборки» с процессором


Для решения этих проблем я просмотрел и прочитал довольно много разных источников и в этой статье я постараюсь сделать обзор найденных мною решений и методов их поиска.

Выбор платформы


Перед началом программирования под железяку требуется в начале ее купить. И тут я столкнулся с первой проблемой: оказалось, что разных *дуин довольно много. Тут есть и широкая линейка Arduino и примерно такая же широкая Freeduino и другие аналоги. Как оказалось, большой разницы, что именно брать, нет. То есть одни из этих устройств чуть быстрее, другие чуть медленнее, одни дешевле, другие — дороже, но основные принципы работы практически не отличаются. Отличия появляются практически только при работе с регистрами процессора и то я далее объясню, как по возможности избежать проблем.
Читать дальше →
Всего голосов 30: ↑19 и ↓11+8
Комментарии9

Arduino Robot: открытая платформа для сборки роботов

Время на прочтение1 мин
Количество просмотров88K


Компания Arduino анонсировала новое семейство инженерных плат и выпустила готовый конструктор Arduino Robot для сборки роботов. Как обычно, конструктор не требует пайки, собирается без особых инструментов. Вся система открыта, легко программируется по USB и поддерживает подключение разнообразных периферийных устройств. Центральный дисплей подключается к верхней управляющей плате.
Читать дальше →
Всего голосов 54: ↑45 и ↓9+36
Комментарии61

Искусственный интеллект на базе Arduino

Время на прочтение9 мин
Количество просмотров51K


В настоящее время в Российском сегменте интернета недостаточно освещено современное состояние дел с применением искусственного интеллекта (ИИ) в робототехнике. Желание исправить эту ситуацию побудило опубликовать материал связанный с технологиями разработки интеллектуальных систем управления. В работе рассматривается историческое развитие средств искусственного интеллекта (нечеткая логика (НЛ), генетические алгоритмы (ГА), нечеткие нейронные сети (ННС)) для проектирования системы автоматического управления (САУ). Сравнение методологий проектирования проводится на примере робота, основанного на платформе Arduino.
Читать дальше →
Всего голосов 19: ↑11 и ↓8+3
Комментарии5

Scratch for Arduino делает программирование под Arduino более наглядным

Время на прочтение2 мин
Количество просмотров146K


Windows / Mac / Linux: Программирование Arduino не так уж сложно, но если вы ищете что-то более наглядное, то Scratch for Arduino(S4A) это именно то, что вы искали. Она использует MIT's Scratch в качестве основы для обучения детей (или просто начинающих) программированию Arduino.
Идея состоит в том, чтобы предоставить вам более наглядный язык программирования, чтобы вы лучше понимали как это работает. Даже если вы профессионал в программировании Arduino, то даже вам будет интересно поработать с данной программой. Это отличная программа для начала программирования Arduino, для того чтобы вы разобрались как с ним работать.
Интерфейс программы выглядит следующим образом:



Читать дальше →
Всего голосов 18: ↑13 и ↓5+8
Комментарии3

Собираем и заставляем бегать бюджетного гексапода

Время на прочтение11 мин
Количество просмотров270K
Много чего предстоит сделать, прежде чем мы дойдем до вот этой картинки:



Опуская росказни о том, как именно я пришел к мысли построить гексапода (это были тонны видео на ютубе), перейду сразу к процессу выбора деталек. Это был январь 2012-го. Я сразу знал, чего я хочу от своего робота, а чего — нет. Я хотел:

— каждая нога должна иметь 3 степени свободы — 3dof (3 dimensions of freedom). Потому что более простой вариант 2dof — не дает такого ощущения насекомого, а 4dof — излишне, 3dof и так позволяет свободно перемещать кончик ноги в 3д пространстве;
— 6 ног; снова-таки, это уже не 4 (тогда робот неуклюже скачет), но и еще и не 8, как у пауков и уже чрезмерно;
— небольшой;
— дешевый;
— минимум плат и соединений;

Пост большой.
Читать дальше →
Всего голосов 224: ↑222 и ↓2+220
Комментарии60

2400 иконок флагов под свободной лицензией

Время на прочтение1 мин
Количество просмотров90K


Самая большая коллекция флагов: 2400 пиктограмм размерами 16×16, 24×24, 32×32, 48×48 и 64×64. Есть государственные флаги всех стран, плюс бонусы: Англия, Абхазия, Нагорный Карабах, Красный крест, Южная Осетия, Сомалиленд, флаг Марса, НАТО и проч.

Все иконки в двух вариантах: стандартный и глянцевый.

Скачать:
www.gosquared.com/download/pixels/flags.zip

Лицензия MIT (GPL-совместимая), разрешает использование иконок в коммерческих проектах.
Всего голосов 93: ↑84 и ↓9+75
Комментарии30

Black Mesa уже можно загрузить бесплатно!

Время на прочтение2 мин
Количество просмотров203K
Загрузить!
Зеркало 1
Зеркало 2
Зеркало 3
Зеркало 4

Отложите все свои дела на вечер, предупредите семью и близких, сегодня вечером в 18:45 MSK в свободном доступе появится легендарная Black Mesa.
Black Mesa это полный римейк всем известной Half-Life на движке Source. Проект стартовал в 2004 году, когда Valve перевыпустила оригинальный Half-Life на движке Source, но из нового в игре был только движок. Все текстуры и модели были старыми. Это и дало начало созданию мода с полностью новыми моделями от начала и до конца.




Читать дальше →
Всего голосов 114: ↑109 и ↓5+104
Комментарии231

Перевод: Чему я научился за 30 лет программирования

Время на прочтение5 мин
Количество просмотров78K
Оригинальная статья Джона Грэхем-Камминга.
Переведено и опубликовано с разрешения автора.


Я занимаюсь программированием уже более 30 лет, начиная с машин, уже устаревших (на процессорах Z80 и 6502) до современных, используя языки BASIC, ассемблера, C, C++, Tcl, Perl, Lisp, ML, occam, arc, Ruby, Go и многие другие.

Далее следует список того, чему я научился.
Читать дальше
Всего голосов 155: ↑127 и ↓28+99
Комментарии86
1

Информация

В рейтинге
Не участвует
Откуда
Керчь, Республика Крым, Россия
Дата рождения
Зарегистрирован
Активность