Как стать автором
Обновить
53
1.1
Сергей Кулик @saboteur_kiev

Configuration engineer

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

Игры для программистов

Время на прочтение3 мин
Количество просмотров134K
Должен признаться, что я плохой программист. Я не люблю настраивать Maven и писать конфигурации для Spring Framework. Я не знаю в деталях, как работает JVM (да и в общих чертах представляю это себе довольно смутно). Я плохо понимаю паттерны проектирования, а любая новая технология вводит меня в уныние. И тем не менее, я люблю программировать.

Специально для таких как я (а может, и для каких-то других) существует небольшой класс игр, представляющих собой квинтэссенцию программирования. В них не нужно скрещивать ежа с ужом и беспокоиться о версиях библиотек. Лишь кристально чистое алгоритмическое программирование, обёрнутое в симпатичный интерфейс — вот моё маленькое счастье.

Минуточку внимания.

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

Так о чём же статья?
Всего голосов 120: ↑102 и ↓18+84
Комментарии89

Как я сам научился программировать за 8 недель

Время на прочтение3 мин
Количество просмотров568K
Для многих, кто никогда не программировал, обучение программированию кажется невероятно сложной задачей. Как бы то ни было, спасибо тому огромному количеству ресурсов, которые недавно стали доступны в Интернет и являются бесплатными — самообучение программированию никогда еще не было таким простым.

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

Ниже я описал простой путь от ничего не зная о разработке программного обеспечения до обладания рабочим прототипом за восемь недель, который примерно повторяет шаги, которые я выполнил.
Читать дальше →
Всего голосов 133: ↑90 и ↓43+47
Комментарии92

Программировать с нуля. «Сейчас» — самое подходящее время, чтобы начать

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

(Иллюстрации к статье А.П. Ершова «Программирование — вторая грамотность»)

Стив Джобс не написал ни строчки кода, Билл Гейтс — написал. Пол Грэм — первоклассный программист, Питер Тиль — юрист по образованию, сооснователь PayPal и владелец Palantir (написал ли он что-нибудь?), а Илон Маск в детстве написал свою игру и успешно её продал.

Никита truesnow из #tceh сказал мне, что на курсе «Врубаемся в Ruby» они научат программировать любого человека, даже с нуля. Я спросил его: «А с гуманитарием справитесь?» И мы задумались, были ли случаи, когда «гуманитарий» выучил язык программирования?

На ум сразу пришел бомж-программист, но после успеха с его приложением он предпочёл остаться «дзен-монахом». Есть ли еще примеры? Вдохновляющий пример, что научиться кодить может каждый — слепой программист. Когда я прочитал статью на Хабре «Смотря на код с закрытыми глазами», то понял, что нет преград, кроме собственных отмазок.

А у меня для вас есть три истории из моей жизни. Просто три истории.

История первая — ламер


Слово «ламер» я прочитал в «Компьютерре». Там давалось такое определение: «Ламер — отнюдь не безграмотный человек, не умеющий (как бы это помягче выразиться?) программировать». Окрылённый истиной я побежал и рассказал об этом друзьям-одноклассникам, но они предпочли поиграть в футбол, вместо того чтобы освоить суперспособности. Забавно, что потом все они зарабатывали программированием деньги, а я нет. Через неделю я записался в краевую станцию юных техников (КСЮТ), где был кружок по программированию. Там для новичков давали qbasic. А боги прогали на C.
Читать дальше →
Всего голосов 36: ↑29 и ↓7+22
Комментарии62

Как правильно мерять производительность диска

Время на прочтение14 мин
Количество просмотров338K
abstract: разница между текущей производительностью и производительностью теоретической; latency и IOPS, понятие независимости дисковой нагрузки; подготовка тестирования; типовые параметры тестирования; практическое copypaste howto.

Предупреждение: много букв, долго читать.

Лирика



Очень частой проблемой, является попытка понять «насколько быстрый сервер?» Среди всех тестов наиболее жалко выглядят попытки оценить производительность дисковой подсистемы. Вот ужасы, которые я видел в своей жизни:
  • научная публикация, в которой скорость кластерной FS оценивали с помощью dd (и включенным файловым кешем, то есть без опции direct)
  • использование bonnie++
  • использование iozone
  • использование пачки cp с измерениема времени выполнения
  • использование iometer с dynamo на 64-битных системах


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

Как мерять правильно
Всего голосов 151: ↑145 и ↓6+139
Комментарии164

Получение серификата Oracle Certified Java Professional Programmer и о сертификации в целом

Время на прочтение5 мин
Количество просмотров116K
Добрый день жители хабра и остального мира. Эта статья является продолжением первого поста о сдаче экзамена Java Progammer I. Часть информации будет продублирована тут. Сегодня я хотел бы затронуть такие вопросы: image
  • зачем нужна сертификация;
  • какие виды сертификатов может получить инженер от Oracle;
  • что нужно знать или выучить, чтобы успешно сдать экзамены по Java Programmer I/II.

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

Расковыриваем сжатие ресурсов в Might and Magic III

Время на прочтение7 мин
Количество просмотров26K
Не очень хорошо помню, как я оказался в дебаггере DOSBox, и почему я ковырялся в 16-битном ассемблере, восстанавливая функцию распаковки ресурсных файлов MM3.CC – но это было здорово. Игра у меня появилась на какой-то из последних распродаж humble bundle, а потом в сети я наткнулся на страницу Джеффа Людвига, где описывались проблемы с модификацией игры, связанные с компрессией в MM3.CC. В частности, там было написано следующее:
Оказалось, что этот алгоритм довольно сложно взломать, и пока ещё никто не научился распаковывать эти данные.

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

DOS Packer


Посмотрев на MM3.EXE, я обнаружил, что это сжатый исполняемый файл DOS, с неким несжатым оверлеем, в начале которого стоит FBOV. Я ничего не знал про ДОСовские компрессоры, но я подсмотрел у Джеффа Людвига, что он использует вещь под названием “Universal Program Cracker” v1.11. Я нашёл версию 1.10 (выпущенную 25 июня 1997 года) и распаковал ехе. И мне удалось даже правильно обработать данные оверлея. И всё равно мне хотелось узнать название паковщика. Мне подсказали, что нужно использовать программу Detect It Easy, и действительно – она выдала:

EXECUTRIX-COMPRESSOR(-)[by Knowledge Dynamics Corp]
Borland TLINK(2.0)[-]


Для любителей истории могу рекомендовать старые ветки обсуждений, касающихся этого софта – от 1991 и 1995 годов:

https://groups.google.com/forum/#!topic/comp.os.msdos.programmer/QsjHLY6Kb4s
https://groups.google.com/forum/#!topic/comp.compression/IAj2-VHbtl4
Читать дальше →
Всего голосов 55: ↑52 и ↓3+49
Комментарии7

MCMC и байесова статистика в BASIC

Время на прочтение5 мин
Количество просмотров13K
BASIC был одним из самых распространенных языков программирования. В 80-х он шел в стандартном наборе программ на компьютере (например, Commodore 64 и Apple II), а в 90х и DOS и Windows 95 включали в себя QBasic IDE.

QBasic был также моим первым языком программирования. Я не программировал на Бейсике уже почти 20 лет и решил вспомнить этот действительно странный язык. Поскольку я провел много времени за байесовскими алгоритмами, я подумал, что будет интересно увидеть как байесовская аналитика будет выглядеть в утилите 20-летней давности.

image
Читать дальше →
Всего голосов 23: ↑21 и ↓2+19
Комментарии20

Ускоренный курс по нотациям в теории языков программирования

Время на прочтение10 мин
Количество просмотров31K
Программисты часто сталкиваются с проблемами чтения математических нотаций, когда пытаются разобраться с теоретическими основами какого-либо языка программирования. Также с ними толкнулся и я в своих теоретических изысканиях. К счастью, мне очень помогла замечательная статья Джереми Сиека (Jeremy Siek), чьим переводом я хочу с вами поделиться. Надеюсь она поможет многим программистам-«не математикам».
Читать дальше →
Всего голосов 25: ↑25 и ↓0+25
Комментарии4

Две простые и эффективные бесплатные программки для восстановления потерянных данных

Время на прочтение9 мин
Количество просмотров122K
файлы…файлы…файлы

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

О том, как восстановить данные самостоятельно, если знакомый гуру категорически отказывается общаться в выходной на профессиональные темы, а ближайший сервис откроется не раньше понедельника, мы расскажем в нашей статье.
Читать дальше →
Всего голосов 16: ↑12 и ↓4+8
Комментарии14

7 лучших форумов, блогов и YouTube-каналов о квадрокоптерах

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


Фото со встречи нашей группы. Другие фото тут.
Читать дальше →
Всего голосов 12: ↑11 и ↓1+10
Комментарии3

2 года картавых обзоров — история любительского шоу Old-Hard

Время на прочтение9 мин
Количество просмотров13K
“Some say, we're never meant to grow up...”
(Sum 41, “Some Say”)

Сегодня моей маленькой, регулярно выходящей ютубовской передаче про старые компьютерные игры и железо исполняется два года. Срок для любительского шоу немалый… Самое время провести небольшую ретроспективу, разобрать "(не)творческий путь". Интересно? Добро пожаловать под кат!
Читать дальше →
Всего голосов 31: ↑30 и ↓1+29
Комментарии18

Исследование защиты игры Limbo. Кейген

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


Всем привет. Многие знают об этой замечательной игре — LIMBO! Вы даже наверняка покупали ее в Стиме, или качали с торрентов…
Я тоже ее купил когда-то (что и вам советую!), и прошел). Но, как всегда, мне было этого мало, и я, из спортивного интереса, решил изучить ее защиту. Так и появился кейген к игре LIMBO.
Читать дальше →
Всего голосов 128: ↑115 и ↓13+102
Комментарии76

Смотря на код с закрытыми глазами

Время на прочтение6 мин
Количество просмотров123K
От переводчика

Эта статья — перевод блогозаписи Флориана Бейджерса, слепого программиста из Нидерландов.
Перевод любительский, поэтому прошу указывать на ошибки и критиковать.
Я не нашёл корректного перевода слова accessibility, поэтому перевёл его как «доступность». Если есть вариант получше — предложите, пожалуйста.
Антон Туманов предложил «адаптированность», за что ему большое спасибо.
Как заметил в комментарии pepelsbey, «доступность» является корректным переводом, вернул её обратно.
Почему я сделал перевод? Я наткнулся на опрос на Quora.com «Как программируют слабовидящие программисты?». Ответы людей меня впечатлили, а блогозапись Флориана показалась наилучшим вариантом для введения в этот важный вопрос.

Я — программист. А ещё я слеп. Слеп, как крот, как говорится. Таков я от рождения.

Когда я говорю об этом своим товарищам, то те из них, у кого никогда не было проблем со зрением, обычно задают один из трёх вопросов:

  • Как же ты тогда можешь читать то, что я пишу?
  • Ого. А как ты тогда можешь кодить?
  • Или — самый популярный вопрос — А ты видишь сны?

Мне задают эти вопросы снова и снова. Поэтому в этой блогозаписи я хочу на них ответить. Я попытаюсь нарисовать картинку для тех из вас, кто интересуется доступностью и тем, как слепые люди пользуются компьютером, кодят и выполняют другие работы в 21 веке.
Читать дальше
Всего голосов 227: ↑224 и ↓3+221
Комментарии174

Блондинка в IT: чему гуманитарий может научиться у айтишников?

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

Читала на Хабре статью девушки-сервисного инженера, которая рассказывала о своих буднях в IT-офисе. Статья мне показалась не совсем полной, в основном потому, что героиня мало рассказала об особенных задачах инженера, при этом подробно “прошлась” по инфраструктуре компании.

Мне же, например, были интересны именно рабочие особенности, наложенные на гендерную принадлежность и корпоративную культуру компании. И тут я сама решилась написать для Хабра пост о том, как живется гуманитарию в IT-сообществе.
Читать дальше →
Всего голосов 21: ↑16 и ↓5+11
Комментарии14

Механические клавиатуры

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

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

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

Механические клавиатуры. Путеводитель.

Читать дальше →
Всего голосов 323: ↑313 и ↓10+303
Комментарии331

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

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

Каждому сисадмину приходится иногда обслуживать компьютеры знакомых или совершать надомные выезды. В этом деле ему помогает проверенный набор утилит. Наш обзор расскажет только о бесплатных, не требующих установки и ставших стандартом де-факто.
Читать дальше →
Всего голосов 39: ↑26 и ↓13+13
Комментарии36

Microsoft назвала международные цены на Windows 10

Время на прочтение1 мин
Количество просмотров27K
Ресурс Neowin сообщает, что пользователи из Америки, Великобритании, Испании и других стран Евросоюза заметили изменение программы «Получить Windows 10» (Get Windows 10), которая с недавнего времени показывается в системном трее у пользователей Windows 7 и Windows 8.1. В окне программы стали отображаться цены на новую Windows 10 Home, релиз которой ожидается 29 июля этого года.
Узнать подробности
Всего голосов 22: ↑17 и ↓5+12
Комментарии17

Вайфай мне в розетку: прокидываем интернет нестандартным путём

Время на прочтение4 мин
Количество просмотров93K
Привет, Geektimes! Сегодня я хочу рассказать об одной штуковине, которая меня здорово выручила и помогла «починить» беспроводную сеть дома у родителей.

image

Картинка из комментариев к посту apcsb на Хабре про неочевидные нюансы WiFi

Началось всё с того, что один из провайдеров подключил очень-очень много квартир в доме и каждому повесил WiFi роутер в прихожей, вне зависимости от того, нужен он там или нет. Просто всем по сплиттеру оптики в витую пару, роутеру и выкидышу на телефонную розетку, пользуйтесь. В результате 2.4 ГГц диапазон оказался загажен настолько, что о 40 МГц полосе и думать не приходилось…
Читать дальше →
Всего голосов 40: ↑40 и ↓0+40
Комментарии43

Как заработать очки, даже не запуская игру

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

Как-то вечером, сидя за компьютером, я наткнулся на одну инди-игру под названием «Shoot First» (игру можно скачать абсолютно бесплатно с сайта автора, а за донат любого размера вы получите специальную версию с двумя новыми видами оружия и ещё одним видом уровней). Геймплей её довольно незамысловат — игроку необходимо бегать по этажам в поисках прохода на следующий уровень, при необходимости собирая различные предметы (карты, ключи, etc) и попутно убивая встретившихся на его пути врагов. В общем, этакий action roguelike. Несмотря на кажущуюся простоту, игра меня довольно сильно зацепила, и я потратил не один час, пытаясь добраться как можно дальше и заработать как можно больше очков.

Кстати, об очках. После смерти персонажа и ввода имени игра отображает онлайн-таблицу рекордов:

image

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

Как протекал процесс, и что из этого вышло, читайте под катом (осторожно, много скриншотов).
Читать дальше →
Всего голосов 39: ↑38 и ↓1+37
Комментарии25

Руководство по сетевой загрузке предустановочной среды Windows (WinPE)

Время на прочтение7 мин
Количество просмотров44K
Предустановочная среда может использоваться не только для установки операционной системы, но и как основа для инструментов системного администратора, например, восстановления системы, антивирусного лечения, диагностики сети и т.д. В данной статье будем рассматривать стандартный образ WinPE без добавления административных утилит, так как это тема для отдельной статьи.

Последовательность сетевой загрузки WinPE, начиная с версии 2.0, следующая:
  1. загружается сетевое ядро pxeboot.com;
  2. сетевое ядро загружает стандартный диспетчер загрузки bootmgr.exe, далее сетевая загрузка практически не отличается от загрузки с других носителей;
  3. диспетчер загрузки читает файл BCD (boot configuration data), где прописана конфигурационная информация (расположение загрузочных файлов), загружает необходимый шрифт (wgl4_boot.ttf) и драйвер виртуального диска boot.sdi, потом загружается образ WinPE;
  4. диспетчер загрузки передает управление программе, указанной в параметре path BCD-файла.

Читать дальше →
Всего голосов 20: ↑19 и ↓1+18
Комментарии0

Информация

В рейтинге
1 345-й
Откуда
Украина
Зарегистрирован
Активность