Pull to refresh
0
0
Send message

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

Reading time 3 min
Views 343K


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

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

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

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

Читать дальше →
Total votes 125: ↑117 and ↓8 +109
Comments 55

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

Reading time 1 min
Views 6.2K


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

Читать дальше →
Total votes 46: ↑42 and ↓4 +38
Comments 101

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

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

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

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

Reading time 5 min
Views 4.3K

Преамбула:


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

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

Цель:


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


Читать дальше →
Total votes 47: ↑42 and ↓5 +37
Comments 40

NetHack. Об игре

Reading time 4 min
Views 14K


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



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



Коротко обо всем по-порядочку.
Total votes 118: ↑107 and ↓11 +96
Comments 114

Dwarf Fortress

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

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

image

Читать дальше →
Total votes 77: ↑66 and ↓11 +55
Comments 85

Colobot и Ceebot

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

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

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

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

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

Читать дальше →
Total votes 130: ↑125 and ↓5 +120
Comments 47

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

Reading time 5 min
Views 91K
Разделы можно пропускать без ущерба для понимания, ровно как и любые непонятные/неинтересные места в них.

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


Как обычно:

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

Читать дальше →
Total votes 201: ↑136 and ↓65 +71
Comments 137

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

Reading time 3 min
Views 390K

Предыстория


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

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

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

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

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



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

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

Reading time 5 min
Views 262K
Press Start
Жизнь — игра, в которую играют буквально все. Эта статья — ваше руководство.

Основы

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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



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

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

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

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

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

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

Читать дальше →
Total votes 117: ↑114 and ↓3 +111
Comments 32

Vim и Visual Studio

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

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

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

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

Reading time 7 min
Views 64K

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


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

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

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


Читать перевод
Total votes 87: ↑83 and ↓4 +79
Comments 24

Information

Rating
Does not participate
Registered
Activity