Как стать автором
Обновить
1
0

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

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

Алгоритмическая неразрешимость – это не препятствие для алгоритмического ИИ

Время на прочтение11 мин
Количество просмотров25K
В замечательном произведении Аркадия и Бориса Стругацких «Понедельник начинается в субботу» есть такой диалог:
– Голубчики, – сказал Фёдор Симеонович озабоченно, разобравшись в почерках. – Это же проблема Бен Бецалеля. Калиостро же доказал, что она не имеет решения.
– Мы сами знаем, что она не имеет решения, – сказал Хунта, немедленно ощетиниваясь. – Мы хотим знать, как её решать.
– Как-то странно ты рассуждаешь, Кристо… Как же искать решение, когда его нет? Бессмыслица какая-то…
– Извини, Теодор, но это ты очень странно рассуждаешь. Бессмыслица – искать решение, если оно и так есть. Речь идёт о том, как поступать с задачей, которая решения не имеет. Это глубоко принципиальный вопрос, который, как я вижу, тебе, прикладнику, к сожалению, не доступен.
Читать дальше →
Всего голосов 94: ↑89 и ↓5+84
Комментарии167

Очень быстрый и эффективный способ расслабления глаз

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

Предисловие


imageНе знаю, все ли программисты всесторонне любознательные люди, но я всегда пытаюсь получить фундаментальные знания во всех областях, которые могут быть практически полезны. В то время, когда мне в голову пришла эта идея я изучал анатомию и физиологию по журналам «Тело человека. Снаружи и внутри», ну а по работе я занимался стерео-варио фотографиями (для тех кто не знает — были такие советские календарики с ребристой поверхностью, где картинка либо казалась объемной, либо менялась). Так вот, в один из вечеров мне пришла в голову замечательная идея, которую я на протяжении уже 4х лет использую для поддержания своего зрения.
Обещаю, что эффект почувствуете сразу!
Читать дальше →
Всего голосов 246: ↑238 и ↓8+230
Комментарии207

Ступени инженера. Когда встаёт вопрос «Что дальше?»

Время на прочтение6 мин
Количество просмотров14K
На хабре с завидным постоянством мелькают публикации о стадиях развития программистов. Порою серьёзные, порою юмористические.
Осмысливая их с оглядкой на картину в целом, я пришёл к выводу, что это весьма частный случай, и любой хороший (или не хороший — зависит от его способности к самокритике) специалист поднимается на несколько ступеней.
Число этих ступеней и их высота определяются многими параметрами: местом работы, отношением к этому месту и к профессии в целом, от личных качеств, от города и много ещё чего.
image
Для меня лично качественными прыжками становилась смена места работы. А начальство — наиболее важный фактор.

Под катом я расскажу об этом на примере моей собственной истории
Всего голосов 91: ↑79 и ↓12+67
Комментарии50

Культурные различия 2. Коллеги из Индии

Время на прочтение3 мин
Количество просмотров5.1K
Я работаю в израильском отделении большой американской компании. Приходится много работать с индусами и американцами, даже есть группы, в которых часть людей сидит в другой стране.
Поэтому раз в год нам проводят семинары о культурных различиях. Как надо общаться с коллегами из других стран.

Мой первый рассказ был об американцах.
Сегодняшний — об индусах.

С индусами я работаю много. Есть даже в фирме «мой» индус — архитектор как и я, который вместе со мной отвечал за Business Logic нашей новой аппликации. В то время мы с ним говорили по мессенджеру или по телефону каждый день, я его опекал во время визитов в Израиль, свозил по своей инициативе в Иерусалим и даже приглашал домой.

У меня с ним отличные отношения (хотя и не без трений), но, как выяснилось, не всё я делал правильно :)

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

Но есть своя специфика. Вопросы рассовой политкорректности индусов волнуют меньше, а вот вопросы «потери лица» — больше.

Читать дальше →
Всего голосов 146: ↑139 и ↓7+132
Комментарии115

Еще немного про текстовую оптимизацию. Как готовят военные документы.

Время на прочтение1 мин
Количество просмотров962
О стилистике военных инструкций, приказов, докладов складываются легенды. В 1984 году «Воениздат» выпустил книгу «Подготовка и оформление служебных изданий», в которой была предпринята попытка лишить нас шедевров военной стилистики. Тем не менее, эта попытка не удалась — более того, стилистические находки военных находят повсеместно находят применение в современных деловых документах.

Aka-author бережно отсканировал несколько страниц из этого интереснейшего издания. Многие советы действительно полезны. Одно удивляет — язык изложения: как можно расчитывать, что человек, который пишет «устранить имеющие место недостатки» или «благодаря невыходу на работу» знает, что такое «синтаксически неоднородные конструкции» или «наличие общего зависимого слова при различном управлении».

Итак, читаем:
Читать дальше →
Всего голосов 60: ↑52 и ↓8+44
Комментарии30

Ускорение загрузки Windows for fun and profit

Время на прочтение4 мин
Количество просмотров807K
image Пожалуй, начну с того, что если перегружаться 15 раз в год, то любой «тюнинг» процесса загрузки отнимает больше времени, чем будет выиграно на перезагрузках за все время жизни системы. Однако, спортивный интерес берет свое, тем более, что люди интересуется процессом оптимизации быстродействия. А загрузка оказалась самым очевидным кандидатом в примеры того, как на мой взгляд должен выглядеть этот самый процесс. Сразу скажу, что грузиться будем с 5400 rpm винта, грузиться будем в «рабочую» систему: помимо недобитой вендорской крапвари там стоит еще куча всякого типа вижуал студии, антивируса, скайпа, стима, гуглапдейтера и пр…

Про то, почему отключение pagefile-а скорее вредно, чем полезно — как нибудь в другой раз, а пока…
Под катом много однообразных картинок и немножко унылого текста
Всего голосов 533: ↑517 и ↓16+501
Комментарии365

Самые дурацкие вопросы на собеседовании

Время на прочтение1 мин
Количество просмотров109K
Тема глупых вопросов на собеседовании поднимается на Хабре довольно часто. Ниже мой перевод отличного комикса Oatmeal на эту тему:


Читать дальше →
Всего голосов 439: ↑385 и ↓54+331
Комментарии301

Как я выиграл суд с EMS Почта России

Время на прочтение10 мин
Количество просмотров204K
Как я выиграл суд с EMS.
Итак, как было обещано в вопросе habrahabr.ru/qa/19545, я публикую свой опыт по подаче иска к «EMS – Почта России», который завершился положительно для меня. Впрочем, обо всем по порядку.
Big Update — сегодня, 6.03.2013 получил деньги. Кафкианский процесс завершен. Ура!
Читать дальше →
Всего голосов 483: ↑464 и ↓19+445
Комментарии260

Привет из свободного от libc мира! (Часть 1)

Время на прочтение5 мин
Количество просмотров29K
В качестве упражнения я хочу написать программу на С. Достаточно простую для того, чтобы дизассемблировать ее и объяснить весь код самой себе.

Звучит несложно, правильно?

У читателя предполагается наличие опыта компиляции программ и работы в Линуксе. Небольшое умение читать ассемблерный код тоже пригодится.
Читать дальше →
Всего голосов 138: ↑126 и ↓12+114
Комментарии61

Размещение заказов у китайских поставщиков

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

Основано на реальных событиях: «Mini-Desktop своими руками»


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

Как мне кажется, данная статья будет интересна разработчикам, которые хотят заказать единичные образцы продукции, так и тем кто хотел бы начать серийное производство своих товаров. Так же, на той площадке, о которой потом пойдет речь далее, можно заказывать уже готовую продукцию Азиатских поставщиков минуя посредников.
Читать дальше →
Всего голосов 96: ↑90 и ↓6+84
Комментарии66

Создаем ELF-файл с отладочной информацией (DWARF) вручную (для микроконтроллеров ARM)

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

Введение


С недавнего времени я увлекся микроконтроллерами. Сначала AVR, затем ARM. Для программирования микроконтроллеров существует два основных варианта: ассемблер и С. Однако, я фанат языка программирования Форт и занялся портированием его на эти микроконтроллеры. Конечно, существуют и готовые решения, но ни в одном из них не было того, что я хотел: отладки с помощью gdb. И я задался целью заполнить этот пробел (пока только для ARM). В моем распоряжении была плата stm32vldiscovery с 32-битным процессором ARM Cortex-M3, 128кБ flash и 8 кБ RAM, поэтому я и начал с нее.
Писал я кросс-транслятор Форта конечно на Форте, и кода в статье не будет, так как этот язык считается экзотическим. Ограничусь достаточно подробными рекомендациями. Документации и примеров в сети по предмету почти нет, некоторые параметры подбирались мной путем проб и ошибок, некоторые — путем анализа выходных файлов компилятора gcc. Кроме того, я использовал только необходимый минимум отладочной информации, не касаясь, например, relocation-ов и множества других вещей. Тема очень обширна и, признаюсь, разобрался я с ней только процентов на 30, что оказалось для меня достаточным.
Читать дальше →
Всего голосов 30: ↑30 и ↓0+30
Комментарии3

Очень быстрое переключение пользователей Windows

Время на прочтение5 мин
Количество просмотров29K
Хочу поделиться с вами лайфхаком, которым пользуюсь ежедневно уже на протяжении нескольких лет. Работает безупречно, сберегает время. Так повелось, что у нас с женой разные учетные записи на одном домашнем компьютере. Это удобно: у каждого свой рабочий стол, свои обои, предпочтения, настройки приложений, кукисы в браузере. Я даже не представляю сейчас, как можно работать под одной учеткой. Но (без этого “но” не было бы и статьи), есть одна маленькая проблема. Переключение пользователей. Как это делается обычно: Пуск –> некая кнопочка, в зависимости от системы -> сменить пользователя. Появляется экран выбора пользователя. Тыкаем в нужного пользователя. Да, есть сочетание клавиш Win+L. После которого опять надо ткнуть смену пользователя и иконку. Итого минимум 3 действия. В Windows 8 сделали заметное улучшение в этом плане. нажимаем Win + иконку пользователя и в списке кликаем на другого. Но это без учета, что на учетке есть пароль. Вот тут-то уже начинаются существенные задержки. Вводить пароль каждый раз при каждом переключении надоест очень быстро. А пароль на свою учетку мне пришлось поставить, так как нужен был удаленный доступ. Да, можно было для удаленного доступа сделать другую учетку, но мой лайфхак уже был готов к тому моменту, и прекрасно работал вне зависимости от того, есть пароли на учетках или нет.
Читать дальше →
Всего голосов 71: ↑61 и ↓10+51
Комментарии46

Стивен Кинг «Как писать программный код»

Время на прочтение6 мин
Количество просмотров51K
«Что? Стивен Кинг „Как писать программный код“ ?! Нет такой книги! Да он вообще не программист ни разу!».
Да, так и есть. Тем не менее — книга с таким содержанием у него есть. Хотя он и не думал, что пишет её об этом. Хотя в результате написал. Хотя, наверное, и не знает об этом. О чём же я тут рассуждаю? О недавно прочитанной мною прекрасной книге «Как писать книги» (англ. — «On Writing»).

Кинг писал её как опытный писатель для писателей начинающих. Однако в результате у него получилась книга, рассказывающая не только как писать именно фантастическую литературу, но и том как писать вообще что угодно — в том числе и программный код. Прочитав за последние пару лет два десятка основных книг-икон современной программной индустрии (ну знаете, все эти «рефакторинги», «паттерны», «чистые и совершенные коды» и т.д.) я могу утверждать, что этой книге Кинга вполне себе место среди них, причём не на последнем месте. Дальше будет пару примеров (и как результат — спойлеров), поэтому самым правильным будет не продолжать читать статью, а пойти и прочитать саму книгу. Потом можете вернуться и сравнить свои выводы с моими. Ну а если времени на книгу у вас нет — под катом выдержки и выводы.
Читать дальше →
Всего голосов 122: ↑115 и ↓7+108
Комментарии24

Ломаем спички, или Алиса в стране математических ошибок

Время на прочтение5 мин
Количество просмотров76K
Есть у меня любимый форум, посвящённый головоломкам. Недавно я наткнулся там на следующую задачу:

Сидел однажды Вася у себя на кухне и от нечего делать спички ломал. Поломал, поломал и задумался — чему равна вероятность того, что по крайней мере одна спичка будет переломана точно посередине? Запас спичек у Васи неограничен.


Я довольно быстро доказал, что вероятность этого события равна нулю. Гордый собой, я запостил решение и ответ, ожидая плюсика в карму. Оказалось, однако, что авторский ответ совсем другой: 1 — 1/e. Забегая вперёд, скажу, что этот ответ неверен.

Неправильные авторские решения — довольно частое явление в интернет-головоломках. И я ни за что не стал бы писать этот пост, если бы автором задачи, а также её неверного решения, не был британский логик и алгебраист Чарльз Л. Доджсон, более известный под псевдонимом Льюис Кэрролл.
Скандалы, интриги, расследования
Всего голосов 228: ↑218 и ↓10+208
Комментарии381

Matlab-бот, тёплый ламповый

Время на прочтение8 мин
Количество просмотров6.4K
Мне, как и многим другим под новый год очень пришлась по душе Теплая, ламповая новогодняя игра, описанная здесь.

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

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

К тому же я недавно заново открыл для себя Matlab. И если уж я в Matlab'e занимаюсь управлением шаговыми двигателями через LPT, то почему бы не попробовать в нем еще более дикую идею написания бота для игры.

И вот что получилось
Всего голосов 29: ↑28 и ↓1+27
Комментарии11

Исключительная красота исходного кода Doom 3

Время на прочтение14 мин
Количество просмотров220K
image

Сегодня вас ждет рассказ об исходном коде Doom 3 и о том, насколько он красив.
Да, красив. Позвольте мне объясниться.
Читать дальше →
Всего голосов 281: ↑256 и ↓25+231
Комментарии245

А будет ли дождь?

Время на прочтение5 мин
Количество просмотров25K
Время от времени я езжу на работу на велосипеде. Иногда на улице идёт дождь, погода «не велосипедная», и тогда возникает дилемма: немного подождать, пока он закончится, либо вообще ехать на автомобиле. Бывает и так, что с утра погода хорошая, а вечером начинает идти дождь и хочется найти «окно» для того, чтобы вернуться домой сухим. Пару раз доходило до смешного – с утра светит солнце, я выезжаю, минут через пять начинается неслабый дождик, а ещё через несколько минут он заканчивается, снова светит солнце, а я вхожу в офис мокрый до трусов.

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

Под катом мы сделаем следующее – программно загрузим карты дождя с одного из сервисов и посмотрим, что будет происходить в окрестностях определённой точки, сохранив результаты в dropbox. Нехитрое пятничное упражнение исполним, разумеется, в LabVIEW.
Читать дальше →
Всего голосов 44: ↑42 и ↓2+40
Комментарии30

Простой внутрисхемный программатор LPC микроконтроллеров. Особенности внутрисхемного программирования. Часть вторая

Время на прочтение4 мин
Количество просмотров62K
В своей первой статье я описал схему простого программатора, сегодня расскажу, каким образом, подсоединить его к программируемому устройству.

Рис. 1. Внешний вид программатора.
В старые, добрые времена, когда микроконтроллеры с перепрограммируемой памятью программ на основе FLASH только начинали появляться, их программирование осуществлялось по параллельном интерфейсу. При этом для программирования могло использоваться более 20 выводов и зачастую требовалось использовать повышенное напряжение — 12 вольт и более. Микроконтроллеры тогда выпускались в выводных ДИП корпусах.
Подробности
Всего голосов 24: ↑23 и ↓1+22
Комментарии5

Онлайн-инструменты для кодеров

Время на прочтение2 мин
Количество просмотров284K
Онлайн-сервисы становятся все популярнее, постепенно усложняя функционал и улучшая интерфейсы. В этой подборке представлены онлайн-инструменты для кодеров.

Cloud9


«Это Google Docs, только для кода» — так говорят о проекте. Облачный сервис вырос из Mozilla Bespin. Основные фишки: SSH, drag-and-drop и возможность разработки оффлайн.

Читать дальше →
Всего голосов 204: ↑191 и ↓13+178
Комментарии55

Shamoon — что это было?

Время на прочтение4 мин
Количество просмотров12K
Компьютерные системы нефтяной компании Saudi Aramco 15 августа 2012 года подверглись атаке, ее подробности не раскрываются. Было сообщено, что компания вернулась к нормальной работе спустя 10 дней. Министр обороны США Леон Панетта 11 октября 2012 года, выступая на конференции по кибернетической безопасности в Нью-Йорке сообщил, что компьютеры компании Saudi Aramco и Катарской компании по произодству газа RasGas были атакованы вредоностной программой Shamoon. Некоторые высокопоставленые лица США утверждают, что Shamoon имеет иранское происхождение, однако прямых доказательств этого у них нет. Правительство Ирана, в свою очеред, настаивает на проведении официального международного расследования атаки Shamoon. Акхаван Бахабади (Mahdi Akhavan Bahabadi) – секретарь Национального центра, который занимается киберпространством Ирана, подтвердил, что, по их мнению, подобного рода высказывания американцев связаны с политическими мотивами, точнее с предстоящими выборами на пост президента США.

Ответственность за атаку на Saudi Aramco взяла на себя хакерская группа «Рассекающий меч правосудия» (The Cutting Sword of Justice), мотивировав свой поступок политическими причинами, обвинив Саудовскую Аравию в организации беспорядков в Сирии и Бахрейне. По непроверенной информации, размещенной якобы инициаторами атаки на сайте pastedbin.com, в Saudi Aramco были заражены более 30.000 компьютеров.

Образцы Shamoon были детально проанализированы сотрудниками Лаборатории Касперского, первая статья вышла 21 августа. Эксперты пришли к выводу, что атака имела точечный характер, образцы не были зафиксированны в KSN (Kaspersky Security Network). ВПО содержит несколько модулей. Внутри одного из них присутствует строка:

'C:\Shamoon\ArabianGulf\wiper\release\wiper.pdb'. Основной функционал программы — деструктивный. Многие Интернет СМИ публикуют неверную информацию, что Shamoon собирает информацию и отправляет ее на удаленный сервер.
Читать дальше →
Всего голосов 46: ↑36 и ↓10+26
Комментарии5

Информация

В рейтинге
Не участвует
Зарегистрирован
Активность