Как запустить GNOME в Ubuntu 12.04

По сути вернуть старый гном нереально, но изменить поведение и внешний вид системы на гномовский можно просто установив пакет gnome-session-fallback. Т.е. делаем:

aptitude install gnome-session-fallback

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

Unix как IDE: Введение

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

Подобные средства есть для всех распространенных настольных ОС, включая Linux и BSD, при этом многие из них совершенно бесплатны, засим вряд ли имеет смысл кодить в Блокноте Windows, в nano, или при помощи cat.

Однако, в среде поклонников Unix гуляет в разнообразных вариациях мем о том, что «Unix — это IDE», в том смысле, что средства, которыми разработчики располагают в терминале, легко реализуют основные возможности современных IDE. Вы можете соглашаться или отказываться назвать Unix «IDE» в том самом смысле, что и Eclipse или Microsoft Visual Studio. Так или иначе, вас скорее всего удивит, насколько законченную среду разработки может являть собой скромный Bash.

Читать

Интервью с Сергеем Вакуленко

Сегодня у меня в гостях Сергей Вакуленко – программист, специалист по встраиваемым операционным системам и аппаратному обеспечению, в частности по различным микроконтроллерам. Ничто так не представляет человека, как его проекты. Проекты Сергея можно найти на его домашней странице. Недавно Сергей переехал в США и работает в MIPS. У нас есть шанс побеседовать с Сергеем.


Если на просьбу написать несколько строчек кода человек начинает вместо этого уходить в объяснения – дело тухлое. Рыбак не может не любить держать в руках удочку.


Спасибо, Сергей, за интервью.

Сергей, первый вопрос не будет оригинальным, но это не делает его менее интересным. Расскажите, как судьба привела вас в мир компьютеров и программирования? Поделитесь вашей историей.

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

Нельзя сказать, что на физтехе в то время как-то особенно хорошо учили программированию. Но там существовал кружок, неформальный клуб людей, очень увлеченных этим. Назывался “НСО” – научное студенческое общество. Немного, может быть человек пятнадцать на весь институт: от первокурсников до аспирантов. В среднем два-три человека с каждого курса. Народ регулярно собирался в общаге или в аудиториях, обсуждали всякие интересные вещи, старшекуры читали лекции для младших и т.п. Именно там я узнал про языки Лисп, Рефал, Си, систему Юникс. Участвовали мы и в студенческих олимпиадах по программированию. Физтех регулярно брал первое место в командном зачете.
Читать

Интервью с Джефом Грэхемом

Disclaimer: Данная статья является переводом с английского. Я не профессиональный переводчик, так что в тексте могут встречаться небольшие неточности. Желающие всегда могут прочитать оригинал интервью на английском. Предложения по улучшению перевода принимаются.


Сегодня у меня в гостях Джеф Грэхем, создатель популярного самодельного микрокомпьютера Maximite. На данный момент мы наблюдаем бум проектов, основанных на микроконтроллерах. Мы все еще называем их “микроконтроллерами” по привычке, но по сути они ими уже не являются. Например, кристалл PIC32 компании Микрочип содержит в себе больше возможностей, чем в восьмидесятых мы имели в “полноценных” компьютерах типа Эппл 2 или Спектрум 48.

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


Джеф создал Maximite на основе PIC32. Maximite является полностью законченным бытовым компьютером, оснащенным современными интерфейсами, такими как VGA, PS/2, SD, USB, а управляет всем этим – Бейсик! Вам это ничего не напоминает? По мне, Maximite является превосходным инструментом для изучения микроэлектроники, в котором можно пощупать, где и как железо соприкасается с программным обеспечением.

У нас есть возможность лично задать Джефу несколько вопросов. Джеф живет в пригороде Кенсингтон города Перт в западной части Австралии. Перт весьма далеко расположен от других городов, но благодаря интернету и FedEx’у, расстояния не кажутся такими уж и большими в наши дни, так что это не мешает Джефу в работе над его проектами.

Читать

RAID из USB флешек

ВНИМАНИЕ для пользователей магаданской локалки, в посте много картинок, которые грузятся из инета.

Нашел я тут пакетик с USB флешками разных лет использования. Как обычно, в работе только две самые последние и самых больших размеров. Остальные – тут.

Читать

Джон Кармак о науке и искусстве разработки ПО

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

Также прошу прощения за отсутствие перевода словосочетания “computer science”. В русском языке нет адекватного ему словосочетания. Всякие «информатики» и «компьютерные науки» — это либо дискредитировавшие себя понятия, либо безсмысленные переводческие суррогаты. Английское понятие “computer science” содержит историческую игру слов, которая в переводе на русский язык должна выглядеть как-то так: «науки о вычислениях, обработке информации и вычислительных устройствах». Думаю, лучше оставить оригинальное “computer science”. Во всяком случае, в таком виде это словосочетание позволит вам самим подобрать нужный контекст из всего многообразия, представляемого им в оригинале.

Почему я решил перевести этот текст (ведь он короткий и не особо насыщенный откровениями)? Потому, что это выступление Кармака. А он, как-никак, знаковая фигура в отрасли разработки ПО. То, что написано ниже, показывает отрыв теории разработки ПО от практики. Ведь, если эти мысли посещают такого разработчика и выносятся на QuakeCon, — то что тогда творится в головах рядовых прикладных программистов?

От автора транскрипции, Эндрю Ко

Я не особо увлекаюсь компьютерными играми, но, тем не менее, обязан им моим увлечением программированием (оно начиналось с алгоритмов отрисовки). Поэтому, когда я увидел в своей ленте выступление Джона Кармака на QuakeCon 2012, я подумал, что надо бы его послушать. Вдруг узнаю чего нового о создании компьютерных игр?

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

Ниже — моя транскрипция этого выступления. Заранее прошу прощения за ошибки.

Читать

Интервью с Чарльзом Уэзереллом

Сегодня у меня в гостях Чарльз Уэзерелл, автор книги «Этюды для программистов», изданной в 1978 году. До сих пор эта книга остается отличным источником интересных реальных задач из разных областей информатики для студентов, изучающих программирование. Сейчас Чарльз работает в компании Оракл, и любезно согласился рассказать немного о себе и о книге.

Предупреждение: Данная статья является переводом с английского. Я не профессиональный переводчик, поэтому в тексте могут встречаться мелкие неточности. Желающие всегда могут прочитать оригинал на английском.


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


«Этюды» не похожи на другие учебники по программированию. В них есть задачи из наиболее важных областей, и преподнесены они весьма нетрадиционным образом. Как родилась идея собрать реалистичные задачи и обыграть их в виде законченных игровых ситуаций? Можете рассказать вкратце как родились «Этюды»?

С 1974 по 1979 я преподавал в университете UC Davis. Там была новая группа выпускников по специальности «Информатика», призванных составить учебную программу по этому предмету, но в реальности это была просто группа людей из разных факультетов. Департамент прикладных наук нанял меня как первого профессора по этой специальности для создания учебной программы. Вместе с небольшой группой других профессоров и преподавателей мы создали новый учебный план с учетом требований по специальности и начали преподавать новые и переработанные курсы.

Работая над учебной программой, мы сошлись во мнении, что студентам стоит иметь опыт работы над реальными задачами в дополнение к теоретическим знаниям. Но под «реальными» задачами я не имею в виду коммерческие или прикладные задачи, так как я убежден, что такие знания очень быстро устаревают. Вместо этого я хотел дать студентам задачи, в которых надо было понять требования и поработать над спецификациями. Кроме этого, необходимо было научить студентов работать в группе. Например, задача по созданию компилятора давалась группе студентов из 2-3 человек, и оценка ставилась всей группе. Также надо было описать, как они поделили работу, и был ли выбор удачным.

Через некоторое время мы решили начать курс программирования проектов, чтобы закрепить знания студентов по созданию законченных приложений. Я сформулировал несколько проектов, которые мы придумали. Но, когда потребовались еще идеи, вокруг были только книги с примитивными задачами, например, распечатать таблицу истинности булевых функций и пару задач, используемых в университете Карнеги-Меллон. Так, сам того не замечая, я уже писал «Этюды». Так вышло, что я ушел из университета UC Davis практически сразу после публикации книги и точно не знаю, продолжили ли они использовать книгу в курсе по проектам.
Читать

Wi-Fi: неочевидные нюансы (на примере домашней сети)

Сейчас многие покупают точки доступа 802.11n, но хороших скоростей достичь удается не всем. В этом посте поговорим о не очень очевидных мелких нюансах, которые могут ощутимо улучшить (или ухудшить) работу Wi-Fi. Всё описанное ниже применимо как к домашним Wi-Fi-роутерам со стандартными и продвинутыми (DD-WRT & Co.) прошивками, так и к корпоративным железкам и сетям. Поэтому, в качестве примера возьмем «домашнюю» тему, как более родную и близкую к телу. Ибо даже самые администые из админов и инженеристые из инженеров живут в многоквартирных домах (или поселках с достаточной плотностью соседей), и всем хочется быстрого и надежного Wi-Fi.
[!!]: после замечаний касательно публикации первой части привожу текст целиком. Если вы читали первую часть — продолжайте отсюда.

Несколько примечаний перед началом:

  • Стиль изложения нарочито упрощен, т.к. некоторые вещи вам, возможно, придется объяснять соседям, совершенно незнакомым с основами радиосетей, стандартом 802.11 и регуляторной политикой государства.
  • Из любого правила есть исключения, которые опущены для краткости. Предельные случаи можно обсудить в комментариях.
  • Пожалуйста, обратите внимание на слово «неочевидные». Подробное доказательство некоторых тезисов требует погружения в стандарты, я этого делать не хочу (хоть и пришлось пару раз).

Читать

Протокол GRE

GRE (Generic Routing Encapsulation) — протокол туннелирования сетевых пакетов, разработанный фирмой Cisco. Протокол GRE обеспечивает механизм инкапсуляции произвольных пакетов в произвольный транспортный протокол. В наиболее общем случае система имеет пакеты, которые нужно инкапсулировать и маршрутизировать (информационные пакеты). Информация (payload) сначала инкапсулируется в пакет GRE, который может также содержать маршрут.

1

Полученный в результате пакет GRE инкапсулируется в пакет другого протокола (протокол доставки). В данной статье мы рассмотрим форматы пакетов проткола GRE.
Читать

Всеобщая айтишная обязанность

Вова проснулся от громкого крика: «Команда, подъём!» За три месяца этот мерзкий голос старшего (или, как его правильно называть, тимлида) Вове уже опротивел. Ему опротивела эта комната, ему опротивел старый компьютер, которым ему разрешали пользоваться, ему вообще опротивели все компьютеры и информационные технологии. Он уже много раз проклял того, кто всё это придумал. Всю жизнь Вова хотел быть учителем и работать с детьми.

Еще один день Вове предстояло заниматься странной, бессмысленной работой. Обычно Вова и его товарищи просматривали письма со спамом и заносили IP-адреса отправителей в огромную базу спам-фильтра. Иногда их заставляли протягивать какие-нибудь кабели, причём часто после окончания работы сразу следовало указание протянутый кабель убрать. Иногда начальство требовало переносить содержимое одного сервера на другой. Делать это тоже требовалось вручную, из консоли, по одному файлу. Тех, кто пытался облегчить себе жизнь, копируя целые папки или как-то автоматизируя свою деятельность, строго наказывали. Наказывали не только того, кто «провинился», но и всю команду сразу. Считалось, что это поддерживает дисциплину. В дисциплину также входила например, расстановка мышек и клавиатур по одной линии после работы. Иногда на это уходило полчаса, а то и час, ведь провода должны были также лежать одинаково.

Конечно, Вове всё это не нравилось, но у него не было выбора. В 2040 году с развитием информационных систем дефицит IT-специалистов стал катастрофическим, и правительство приняло закон «Об обязательной IT-специальности». Согласно этому закону, каждый человек мужского пола был обязан отработать год айтишником. Место работы выбрать было нельзя. Вся работа велась под жёстким контролем сверху. Естественно, никто никого не спрашивал, хочет ли парень работать в IT, есть ли у него к этому способности. Понятно, что из людей, которые не хотят или не могут работать в IT, специалисты получались не слишком хорошие, потому к серьёзной работе допускали мало кого из «обязанных», заставляя их в основном заниматься бессмысленным и бесполезным ручным трудом.

Многие старались избежать этой обязанности. Кто-то обращался к врачам и получал справку об умственной неполноценности, кто-то использовал связи в IT-компаниях, кто-то просто скрывался. Этих людей искали, презрительно называли «уклонистами» и не давали спокойно жить. Никто не спрашивал их, хотят ли они терять год жизни. Никто не спрашивал, хотят ли они заниматься нелюбимым делом. Никто даже не задумывался, не проще ли заменить эту массовую обязанность небольшим количеством профессионалов, которые смогли бы сделать то же самое качественнее и быстрее…

Вова тяжело вздохнул и начал подниматься. «Надо было давно уехать из этой страны», — думал он.

отсюда: http://ithappens.ru/story/9714