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

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

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

О глупости умных людей

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


Для затравки — простая математическая загадка. Бейсбольный мяч и бита вместе стоят 1 доллар и 10 центов. При этом бита стоит на 1 доллар дороже мяча. Сколько стоит мяч?
Читать дальше →
Всего голосов 179: ↑155 и ↓24+131
Комментарии347

Как начать и не бросить писать ОС

Время на прочтение7 мин
Количество просмотров76K
Очередной велосипедЧитая Хабр в течении последних двух лет, я видел только несколько попыток разработки ОС (если конкретно: от пользователей pehat и iley (отложено на неопределённый срок) и Igor1024 (не заброшено, но пока больше походит на описание работы защищённого режима x86-совместимых процессоров, что бесспорно тоже необходимо знать для написания ОС под x86); и описание готовой системы от alman (правда не с нуля, хотя в этом нет ничего плохого, может даже наоборот)). Мне почему-то думается, что почти все системные (да и часть прикладных) программисты хотя бы раз, но задумывались о написании собственной операционной системы. В связи с чем, 3 ОС от многочисленного сообщества данного ресурса кажется смешным числом. Видимо, большинство задумывающихся о собственной ОС так никуда дальше идеи и не идёт, малая часть останавливается после написания загрузчика, немногие пишут куски ядра, и только безнадёжно упёртые создают что-то отдалённо напоминающее ОС (если сравнивать с чем-то вроде Windows/Linux). Причин для этого можно найти много, но главной на мой взгляд является то, что люди бросают разработку (некоторые даже не успев начать) из-за небольшого количества описаний самого процесса написания и отладки ОС, который довольно сильно отличается от того, что происходит при разработке прикладного ПО.

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

Читать дальше →
Всего голосов 125: ↑117 и ↓8+109
Комментарии55

ProtoSnap — интересный «конструктор» для начинающего электронщика

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


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

Читать дальше →
Всего голосов 46: ↑42 и ↓4+38
Комментарии101

Вкратце о лицензиях Open Source

Время на прочтение6 мин
Количество просмотров11K
Многие разработчики и дизайнеры хотят опубликовать свои работы в виде открытых проектов. Они хотят иметь возможность делиться своим кодом. Сообщество open-source с каждым днём всё прочнее стоит на ногах. Открытые программы существуют для любых видов задач, каких вы только можете себе вообразить. А многие веб-разработчики используют свободное ПО как фундамент для своей работы (WordPress, Drupal и многие другие CMS открыты, свободны и бесплатны).

Но ситуация такова, что лицензий open-source существует великое множество, и подчас нелегко понять что на самом деле они означают. Какие права получают разработчики, когда выбирают ту или иную открытую лицензию? Попробуем хотя бы в общих чертах разобраться.
Читать дальше →
Всего голосов 46: ↑44 и ↓2+42
Комментарии17

Одновременное использование нескольких операционых систем при помощи colinux, Virtual PC и утилиты Desktops

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

Преамбула:


Последнее время, мне приходится писать немного кода, и есть необходимость тестировать результаты его работы под разными платформами. Естественно я использую виртуальные машины.
Так как, кроме меня, моим ноутбуком пользуется еще и жена то основная ОС на нем winxp. Мне в принципе все равно с чем работать поэтому пусть будет windows…

Раньше, когда у меня в качестве оконного менеджера использовался IceWM, мне нравилось то что я могу использовать несколько «рабочих столов», для запуска различных тематических приложений в отдельно отведенном для них месте. Под windows такая возможность тоже есть, но те утилиты которые я пробовал, имели те или иные недостатки, поэтому рано или поздно мне приходилось от них отказываться… В конце концов я остановился на Desktops (от sysinternals) она тоже не лишена недостатков, но стабильность ее работы и небольшой размер перевесили все «минусы».

Цель:


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


Читать дальше →
Всего голосов 47: ↑42 и ↓5+37
Комментарии40

NetHack. Об игре

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


Многие, уверен, знают эту замечательную игру и убили на нее не одну неделю своей жизни. По моему скромному мнению — это одна из лучших игр из ныне существующих.
Появилась она очень давно — в 1987 году, через семь лет после выхода Roque — прародителя нетхака и основателем жанра "rogue-подобных игр".
Nethack — самый яркий ее представитель.



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



Коротко обо всем по-порядочку.
Всего голосов 118: ↑107 и ↓11+96
Комментарии114

Dwarf Fortress

Время на прочтение3 мин
Количество просмотров15K
В этот раз я подождал с постом до пятницы и постараюсь быть немногословным, ведь речь пойдёт об игре Dwarf Fortress. Или, если быть точным, Slaves to Armok II: Dwarf Fortress.

Начну свой рассказ вот с такого графика, который я, поразмыслив, даже не решусь назвать шуточным:

image

Читать дальше →
Всего голосов 77: ↑66 и ↓11+55
Комментарии85

Colobot и Ceebot

Время на прочтение5 мин
Количество просмотров34K
ГеймпадВ мире всегда существовали некоторые закрытые общества, которые доступны только ограниченному кругу людей. Для того, чтобы попасть туда нужно было обладать чем-то необычным. Например, ездить на Bentley или курить Behike.

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

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

Их существует огромное количество, каждая игра по своему интересна, у каждой своя архитектура, свой API-интерфейс. Так как всех их невозможно охватить в отдельной заметке — я решил начать серию заметок про различные игры.

P.S. Создал открытый блог Игры для программистов.

Читать дальше →
Всего голосов 130: ↑125 и ↓5+120
Комментарии47

Оказывается, в Windows тоже есть перенаправления, пайпы, свой /dev, /dev/null, /etc/fstab, grub.cfg

Время на прочтение5 мин
Количество просмотров92K
Разделы можно пропускать без ущерба для понимания, ровно как и любые непонятные/неинтересные места в них.

Перенаправления


Как обычно:

echo foo > bar
echo foo 2> bar
echo foo > bar 2>&1

Читать дальше →
Всего голосов 201: ↑136 и ↓65+71
Комментарии137

Ссылки в Windows, символьные и не только

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

Предыстория


В своём топике "Впечатления от Яндекс.Субботника" хабрачеловек absolvo высказал удивление, что один из докладчиков не знал о том, что символьные ссылки есть и в Windows. Честно говоря, не знал этого и я, поэтому поинтересовался об этих ссылках в комментариях.

Думаю, то, что удалось выяснить, может показаться кому-нибудь полезным.
Читать дальше →
Всего голосов 57: ↑52 и ↓5+47
Комментарии108

О гипотезе Пуанкаре. Лекция в Яндексе

Время на прочтение6 мин
Количество просмотров104K
Еще в XIX веке было известно, что если любую замкнутую петлю, лежащую на двумерной поверхности, можно стянуть в одну точку, то такую поверхность легко превратить в сферу. Так, поверхность воздушного шарика удастся трансформировать в сферу, а поверхность бублика – нет (легко вообразить себе петлю, которая в случае с бубликом не стянется в одну точку). Гипотеза, высказанная французским математиком Анри Пуанкаре в 1904 году, гласит, что аналогичное утверждение верно и для трехмерных многообразий.

Доказать гипотезу Пуанкаре удалось только в 2003 году. Доказательство принадлежит нашему соотечественнику Григорию Перельману. Эта лекция проливает свет на объекты, необходимые для формулировки гипотезы, историю поиска доказательства и его основные идеи.



Читают лекцию доценты механико-математического факультета МГУ к. ф-м. н. Александр Жеглов и к. ф.-м. н. Федор Попеленский.
Конспект лекции
Всего голосов 139: ↑131 и ↓8+123
Комментарии14

Жизнь как 8-битная игра: Руководство

Время на прочтение5 мин
Количество просмотров262K
Press Start
Жизнь — игра, в которую играют буквально все. Эта статья — ваше руководство.

Основы

Вы можете даже не догадываться, но реальная жизнь — это стратегическая игра. В ней есть забавные мини-игры, — например, танцы, вождение машины, бег, и секс, — но ключ к выигрышу — просто управление своими ресурсами.
Читать дальше →
Всего голосов 268: ↑236 и ↓32+204
Комментарии110

Избавление от привычек. Миф или вымысел?

Время на прочтение4 мин
Количество просмотров92K
Вы хотите быть эффективным на работе и в жизни, но есть пара дурных привычек, от которых вы не можете избавиться? Расслабьтесь, избавиться от привычки невозможно.

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

Однако мириться с этим немыслимо, с этим нужно что-то делать, и я хочу поговорить об этом.

Сегодняшний пост написан под влиянием полезной книги Чарльза Дахигга "Сила привычки".
Читать дальше →
Всего голосов 95: ↑87 и ↓8+79
Комментарии153

Как первокурсник определение Коши сократил

Время на прочтение2 мин
Количество просмотров77K
image
Под катом я расскажу Вам маленькую и отнюдь не шокирующую историю, большинство из вас, наверное, скажет что я надумал хоть какую-то важность этого события и что все нижеописанное является очевидным, но для меня это было маленькой победой. Если все же интересно, добро пожаловать.

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

Все началось с первого в моей жизни коллоквиума по дисциплине Математический анализ, одно из заданий которого содержало определение не фундаментальной последовательности по Коши. Под катом трафик.
Читать дальше →
Всего голосов 119: ↑73 и ↓46+27
Комментарии144

Запиши свой терминал

Время на прочтение1 мин
Количество просмотров16K
Теперь если Вас просят показать, как что-то выполняется в консоли, не надо копировать вывод из putty или записывать видео через snagIt. Утилита ascii.io сделает все это за Вас.
image
Читать дальше →
Всего голосов 45: ↑40 и ↓5+35
Комментарии39

Теорема Клини о неподвижной точке: квайны

Время на прочтение6 мин
Количество просмотров23K
Здравствуйте, хабралюди. В последнее время было много разговоров о квайнах, и даже некоторый теоретический спин-офф.
Повторю за автором только что упомянутого топика: если вы знакомы с CS, то далее читать нет смысла — все это
вы и так хорошо знаете. А статья будет ответом на вопрос — всегда ли можно написать квайн? Точнее, на любом ли языке?
Физики скажут, что на всех: раз можно написать и на компилируемом C, и на брейнфаке, а кто-то и на SQL пишет — опыт говорит, что ответ на вопрос да. Математика тоже говорит, что да.

Теорема 2
На любом алгоритмически полном языке программирования можно написать программу, печатающую свой код.
Читать дальше →
Всего голосов 59: ↑55 и ↓4+51
Комментарии22

Алгоритм сортировки Timsort

Время на прочтение6 мин
Количество просмотров150K
Timsort, в отличии от всяких там «пузырьков» и «вставок», штука относительно новая — изобретен был в 2002 году Тимом Петерсом (в честь него и назван). С тех пор он уже стал стандартным алгоритмом сортировки в Python, OpenJDK 7 и Android JDK 1.5. А чтобы понять почему — достаточно взглянуть на вот эту табличку из Википедии.



Среди, на первый взгляд, огромного выбора в таблице есть всего 7 адекватных алгоритмов (со сложностью O(n logn) в среднем и худшем случае), среди которых только 2 могут похвастаться стабильностью и сложностью O(n) в лучшем случае. Один из этих двух — это давно и хорошо всем известная «Сортировка с помощью двоичного дерева». А вот второй как-раз таки Timsort.

Алгоритм построен на той идее, что в реальном мире сортируемый массив данных часто содержат в себе упорядоченные (не важно, по возрастанию или по убыванию) подмассивы. Это и вправду часто так. На таких данных Timsort рвёт в клочья все остальные алгоритмы.
Читать дальше →
Всего голосов 293: ↑286 и ↓7+279
Комментарии63

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

Время на прочтение9 мин
Количество просмотров143K
Недавно на хабре в очередной подняли тему алгоритмов сортировки, а именно был хорошо описан метод Timsort.

Он, имея сложность не более O(n log n), ускоряется в случае сортировки частично упорядоченных данных и имеет сложность O(n), если данные изначально отсортированны. Но это не единственный алгоритм с такими заявленными свойствами. Существует еще как минимум два более-менее известных метода с похожей сложностью — это Smoothsort и сортировка Шелла.

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

Читать дальше →
Всего голосов 117: ↑114 и ↓3+111
Комментарии32

Vim и Visual Studio

Время на прочтение3 мин
Количество просмотров16K
Долгое время я использовал только один текстовый редактор — Vim. Но вот я пришёл на новую работу и ситуация изменилась. Мне было предложено работать над относительно большим (> 300000 строк) коллективным проектом. Проект написан в Visual Studio, в качестве системы контроля версий используется MS Source Safe. Мысль писать в VS мне сразу не понравилось, но, поскольку все остальные условия меня более чем устраивали, я согласился.

Несколько дней я поработал в «пустой» VS и понял, что долго так продолжаться не может. Слишком уж неудобным показался редактор студии после нескольких лет регулярного использования Vim. И я начал искать способ продолжать работу над проектом и при этом использовать свой любимый редактор.

Непродолжительный поиск дал следующие варианты частичного решения проблемы.
Читать дальше →
Всего голосов 58: ↑40 и ↓18+22
Комментарии199

Не паникуй (перевод главы книги «Passionate Programmer» by Chad Fowler)

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

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


Хочу поделиться своим мнением с хабрасообществом о книге «Passionate Programmer», перевод одной из глав которой представлен ниже. Книга вышла в 2009 году, но среди российских программистов она не очень широко известна, тем не менее многие, кто познакомился с ней, считают её очень достойной. Чад Фаулер (автор книги) выложился очень хорошо, чтобы передать читателям свой богатый опыт (на данный момент он CTO 6Wunderkinder, имеет более 20 лет стажа разработки и в виду своего большого опыта и круга интересов он желанный гость на Ruby- и IT-конференциях). Да, уже и не помню как нашёл эту книжку, но помню, что именно предисловие от Кента Бека (идейный вдохновитель Test Driven Development и Extreme Programming) послужило причиной прочитать её.

В этой книге нет описания конкретных технологий, алгоритмов и т.п., но есть просто куча советов, касательно того, с чем порой сталкивается любой разработчик: отсутствие мотивации, выбор приоритетов, психология программирования, отношения с руководством и коллегами; по большому счёту даётся масса наставлений, о том как сделать яркую карьеру программиста. Конечно, опытные разработчики могут найти некоторые его идеи достаточно очевидными, но для тех, кто только в самом начале своей карьеры, чтение данной книги, определённо, будет хорошим вложением времени. Большой плюс, что книга читается очень легко и, если вы достаточно хорошо владеете английским, её реально прочитать всего лишь за несколько дней. Просто интересно, почему наши издательства ещё не перевели её на русский язык?

После прочтения книги я заинтересовался Чадом. Нашёл его блог в сети. Как оказалось, он начал выкладывать в нём главы из своей книги (на данный момент опубликовано 2 главы из 53). Я спросил разрешения на перевод для хабра, он ответил, что это хорошая идея, но только сначала мне надо отправить ему письмо с тем, что конкретно я хочу переводить (видимо это пожелание было как-то связано с тем издательством, где была опубликована книга). После моего ответа неделю было молчание, я отправил повторное письмо — ответа снова не было. Потом я получил от него приглашение на Wunderlist (сервис, за который он отвечает на данный момент). В общем, я посчитал, что если явного запрета не было, а эти главы уже и так находятся в свободном доступе, и он ещё не совсем про меня забыл, то делать перевод можно. В общем, если перевод сообществу окажется полезным, я продолжу переводить другие главы. В тексте возможны ошибки (делал вычитку несколько раз, но всё же вдруг), поэтому заранее прошу прощения и прошу сообщать мне обо всех проблемах через личные сообщения.


Читать перевод
Всего голосов 87: ↑83 и ↓4+79
Комментарии24

Информация

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