Михаил @mikhanoid
ИММ УрО РАН
Таблетка от пингвиньего жара своими руками
12 min
26KСтал я тут недавно 'счастливым' обладателем нетбука на базе Atom N270. Windows XP, естественно для меня, был немедленно выкинут с жёсткого диска и заменён Linux'ом. И всё было хорошо… где-то минут 15, пока процессор (вообще, конечно, все вам скажут, что не процессор, а чипсет, но всякие тесты, вроде кручения бесконечных пустых циклов в bash показали, что именно процессор) не стал чрезмерно горячим в процессе установки всяких разных пакетов (я вообще не понимаю, откуда Intel взяла оценку для TDP N270 в 2.5Вт).
Другая ситуация. У моего знакомого довольно пожилой ноутбук ASUS с достаточно странными настройками ACPI, в таблицах которого записано, что включать throttling нужно при температуре системы в 89 градусов Цельсия, а отрубать систему от критического перегрева при температуре в 81 градус.
Эмс… Вы не сочтите это всё антипиаром ASUS и Intel, ибо (я уверен) на других ноут(нет)буках с другими x86-процессорами вполне появляются схожие проблемы, и этот пост о том, как их решать, а не о том, какие праАативные флагманы IT… И вообще, я фанат ARM'ов… Так что для меня, что Intel, что AMD — одинаковое x86-зло… Но просто факт остаётся фактом. В некоторых старых моделях ноутбуков от ASUS кривые таблицы ACPI, а Atom'ы греются.
Нужно как-то управлять режимами работы процессора, чтобы остужать пыл горячих кремниевых парней, дабы не разрушали они естественный прохладный микроклимат для пингвина.
Проблема только в том, что стандартные рецепты манипулирования только лишь power-уровнями процессора в Linux (при помощи подсистемы cpufreq), которые раздаются на всех форумах направо и налево, недостаточно эффективны. Тот же Atom ощутимо греется находясь и в самом 'экономном' режиме, а моему знакомому в работе периодически нужна высокая производительность процессора, однако не ценой отключения по критической температуре. И при этом сброс процессора его ноутбука в 'экономный' режим при повышении температуры от перегрева не спасал.
В общем, проблемы надо как-то решать. Собственно вот, где-то на троечку с плюсом их решить получилось, решение описываю ниже с некоторыми подробностями, о которых редко пишут на user-форумах Linux (и вообще, я даже и сам не понял, откуда я всё это решение раздобыл :).
Другая ситуация. У моего знакомого довольно пожилой ноутбук ASUS с достаточно странными настройками ACPI, в таблицах которого записано, что включать throttling нужно при температуре системы в 89 градусов Цельсия, а отрубать систему от критического перегрева при температуре в 81 градус.
Эмс… Вы не сочтите это всё антипиаром ASUS и Intel, ибо (я уверен) на других ноут(нет)буках с другими x86-процессорами вполне появляются схожие проблемы, и этот пост о том, как их решать, а не о том, какие праАативные флагманы IT… И вообще, я фанат ARM'ов… Так что для меня, что Intel, что AMD — одинаковое x86-зло… Но просто факт остаётся фактом. В некоторых старых моделях ноутбуков от ASUS кривые таблицы ACPI, а Atom'ы греются.
Нужно как-то управлять режимами работы процессора, чтобы остужать пыл горячих кремниевых парней, дабы не разрушали они естественный прохладный микроклимат для пингвина.
Проблема только в том, что стандартные рецепты манипулирования только лишь power-уровнями процессора в Linux (при помощи подсистемы cpufreq), которые раздаются на всех форумах направо и налево, недостаточно эффективны. Тот же Atom ощутимо греется находясь и в самом 'экономном' режиме, а моему знакомому в работе периодически нужна высокая производительность процессора, однако не ценой отключения по критической температуре. И при этом сброс процессора его ноутбука в 'экономный' режим при повышении температуры от перегрева не спасал.
В общем, проблемы надо как-то решать. Собственно вот, где-то на троечку с плюсом их решить получилось, решение описываю ниже с некоторыми подробностями, о которых редко пишут на user-форумах Linux (и вообще, я даже и сам не понял, откуда я всё это решение раздобыл :).
+78
К вопросу о борьбе со списыванием
3 min
2.3KЯ так понимаю, тут есть преподаватели, ведущие практики всевозможные. Вот, делюсь с ними (выставляю на обсуждение) педагогической мыслью :) Все мы знаем, как сложно победить тягу студента к списыванию и копированию различных решений из интернета (кстати, это совсем даже не плохо — в повседневной практике, например, программирования копипаст является полезным инструментом, но он должен быть разумным). Ниже описан способ хоть какого-то противодействия бездумному копипасту при помощи систем контроля версий.
+28
К вопросу об идентификаторах
4 min
645Разрабатываем мы язык тут потихоньку. И кроме огромного количества синтаксических и семантических вопросов приходится решать и вопросы интерфейсные (так их можно назвать): насколько секси выглядит код, насколько быстро человек врубается в написанное и так далее. Так вот один из таких вопросов — это вопрос о том, из каких символов позволить составлять программисту идентификаторы, и делать ли их case sensitive. Вопрос нетривиальный, и вот почему:
0
О хабрарейтингах
1 min
424Может быть, НЛО заметит и прочитает?.. и воплотит? Так вот, есть рейтинги. И люди ставят плюсы и минусы другим людям. Но согласитесь, рейтинг (-2 = +1024 -1026) совсем отличается от рейтинга (-2 = +0 -2). Тык вот, в воспитательных целях и для повышения качества самооценки на основе хабрарейтинга, неплохо было бы показывать не просто разницу в голосах, но ещё и количества +ов и -ов.
+1
Одна модель заработка на свободной и открытой информации
5 min
766В тексте рассматривается возможный положительный ответ на вопрос о том, можно ли напрямую заработать на создании новых данных (в широком смысле: музыка, книги, ПО), а не при помощи donations, концертов, техподдержки и прочих сопутствующих услуг. При этом модель строится в условиях авторского бесправия, то есть, от модели требуется работоспособность в условиях, когда автор не защищён никакими репрессивными механизмами со стороны государства.
Основными действующими лицами разыгрывающейся ниже трагикомедии являются: Автор, Пользователь — создание, желающее использовать созданную автором информацию, Издательство — комплекс программно-аппаратных средств, помогающий коллективу авторов публиковать информацию, собирать деньги с пользователей и отслеживать Халявщиков — жизненные формы на основе белка и кремния, стремящееся обогатиться за счёт созданной авторами информации.
Основными действующими лицами разыгрывающейся ниже трагикомедии являются: Автор, Пользователь — создание, желающее использовать созданную автором информацию, Издательство — комплекс программно-аппаратных средств, помогающий коллективу авторов публиковать информацию, собирать деньги с пользователей и отслеживать Халявщиков — жизненные формы на основе белка и кремния, стремящееся обогатиться за счёт созданной авторами информации.
+3
Удивительная страна Oz, или как принять данные при помощи send
15 min
1.9KДовольно давно, собирая информацию по средствам параллельного программирования, наткнулся я на элегантный (другими словами сложно описать ощущения) язык Oz http://www.mozart-oz.org. Язык тогда показался мне достойным того, чтобы представить его Habraсообществу. И вот, у меня появилось время и причины это сделать.
Oz — мультипарадигменный язык программирования. Набор базовых абстракций в языке необычный и позволяет, например, написать отправляющую информацию процедуру
Речь идёт именно о том, что отправка и получение данных осуществляются одной и той же последовательностью операций виртуальной машины Oz. Естественно, достигается это за счёт особых абстракций для работы с данными и с параллельными процессами. Описанию этих абстракций и посвящён этот текст, потому как на мой взгляд — они неплохо позволяют почувствовать особенности Oz. Конечно, Oz больше, чем изложенное ниже, но, как мне кажется, тайна хитрого send — материал подходящий для первого знакомства с этим языком и для получения от него удовольствия.
Oz — мультипарадигменный язык программирования. Набор базовых абстракций в языке необычный и позволяет, например, написать отправляющую информацию процедуру
send
так, что при её помощи можно будет так же и получать данные. И без всякого подвоха вроде: send(socket; buffer; flag) = (if (flag == RECV) (recv(socket; buffer)) or (realsend(socket; buffer)))
. Речь идёт именно о том, что отправка и получение данных осуществляются одной и той же последовательностью операций виртуальной машины Oz. Естественно, достигается это за счёт особых абстракций для работы с данными и с параллельными процессами. Описанию этих абстракций и посвящён этот текст, потому как на мой взгляд — они неплохо позволяют почувствовать особенности Oz. Конечно, Oz больше, чем изложенное ниже, но, как мне кажется, тайна хитрого send — материал подходящий для первого знакомства с этим языком и для получения от него удовольствия.
+36
действительно ли Linux не готов к desktopу?
6 min
2.4KНедавно на OSNews появилась ссылка на linuxfonts.narod.ru/why.linux.is.not.ready.for.the.desktop.html. И на OSNews она отрекомендована не как просто holywarный флейм, а как обоснованный список причин, почему Linux не готов к использованию на desktopах. Пошёл я читать, значит. И первая мысль, которая возникла: феерическая (ну, вы сами знаете, что) игра фактами, по большей части не имеющая отношения к реальности. Автор запретил материал копировать, поэтому буду по пунктам его бить далее.
+22
вот почему мы (в основном) такие негативщики?
1 min
448Вопрос вызван к жизни вот этим комментарием habrahabr.ru/blogs/popular_science/59885/#comment_1628726. Проблема в том, что излишне часто мне приходится сталкиваться с таким вот отношением к жизни и научно-техническому процессу. Почему русскому учёному/инженеру проще поплеваться на wikipedia вместо того, чтобы пойти да исправить информацию? И, ведь, не только с wikipedia так. Многие нетривиальные начинания встречают яростную интеллектуальную атаку со стороны специалистов. Просто чудовищные интеллектуальные силы тратятся отечественным научно-техническим сообществом на то, чтобы доказать, почему нечто работать не будет, а не на то, чтобы придумать, как идею воплотить в жизнь. Ну… Или хотя бы подкорректировать wikipedia. Так почему мы такие?
+14
Pogoplug: подключаем жёсткий диск к интернету
1 min
2.2KНаткнулся вот на занимательный девайс — http://www.pogoplug.com/. Умеет он только одно: подключать ваш USB HD к интернету. А дальше через webсервис pogoplugа (который, естественно, снабжён всяким API) вы можете получать доступ к вашим файлам через http, вне зависимости от используемой OS. Понятно, что узким местом во всей этой архитектуре являются 1. Безопасность. 2. pogoplugжный webсервер.
C 2. нам обещают бороться тем, что если серверы вдруг навсегда отпадут по какой-то причине, то исходники pogoplug будут опубликованы (даже указано, где именно — на sf.net)
Какая борьба предлагается за 1. я так и не вычитал у них на сайте, так что вопрос открыт.
Вобщем, очередной шаг навстречу cloudcomputingу сделан: человека всё меньше привязывает к конкретному компьютеру, и всё больше к непонятно где обитающим сервисам в internetе. Только вот весьма непонятно и интересно: а что будет, если в pogoplug воткнуть usbперчатки-грелки?
C 2. нам обещают бороться тем, что если серверы вдруг навсегда отпадут по какой-то причине, то исходники pogoplug будут опубликованы (даже указано, где именно — на sf.net)
Какая борьба предлагается за 1. я так и не вычитал у них на сайте, так что вопрос открыт.
Вобщем, очередной шаг навстречу cloudcomputingу сделан: человека всё меньше привязывает к конкретному компьютеру, и всё больше к непонятно где обитающим сервисам в internetе. Только вот весьма непонятно и интересно: а что будет, если в pogoplug воткнуть usbперчатки-грелки?
+2
использование очень длинных ассиметричных ключей в ssh
2 min
1.8KПривет, $username. Если вы примерно такой же криптоманьяк, что и я, то наверняка не ограничитесь регенерацией /etc/ssh/moduli, и вам захочется большего. Например, использовать для авторизации dsa-ключи длиннее 1024iB. Но проблема в том, что ssh-keygen из пакета OpenSSH, которым вооружено большинство UNIX'оидов, не хочет генерировать такие ключи. Причина такого поведения непонятна, man'ы отыслают на документ FIPS 186-2, в котором ничего толком не сказано, и ссылок на толковые объяснение сего ограничения нет. Поэтому, причин не попробовать понаступать на всякие криптограбли с длинными dsa-ключами нет. Осталось только сгенерировать такой ключ. Сделать это просто, но если не хочется тратить время на всякие ковырялки, то с методом можно ознакомиться под hubracut'ом
+8
time management и bash
1 min
3KИногда весьма мелкие мелочи дают весьма ощутимый эффект. Настолько ощутимые, что ощущения заставили установить Firefox и поделится этим с общественностью. С недавних пор начал использовать такой PS1:
Или с раскраской:
В итоге, мозг начинает получать информацию о том, сколько времени и на какую именно активность тратится в ходе работы. Что очень помогает (imho, даже на чисто подсознательном уровне) более эффективно распределять своё время. И, что ценно при таком подходе к делу, отслеживание времени не отвлекает от производства. В отличии от специализированных решений в виде красивого web-2.0 или очаровательного GUI, где нужно своими же руками осознанно следить за собой. Кроме того, можно сразу видеть много строчек с информацией своей активности и вести журнал сессии без проблем. Вобщем вот.
P.S. Это, кстати, одна из тех фишечек, которая возможна только в command-line интерфейсе. И непонятно, почему сторонники WIMP и CL не соберутся как-нибудь и не выберут из обоих подходов всё самое лучше, и не смешают всё в удобных пропорциях?
P.P.S. Для новичков в bash: PS1 лучше всего задавать в $HOME/.bashrc
PS1='\D{%H.%M} \u@\h \w\n\$ '
Или с раскраской:
PS1='\[\033[02;34m\]\D{%H.%M} \u@\h\[\033[00m\] \w\n\$ '
В итоге, мозг начинает получать информацию о том, сколько времени и на какую именно активность тратится в ходе работы. Что очень помогает (imho, даже на чисто подсознательном уровне) более эффективно распределять своё время. И, что ценно при таком подходе к делу, отслеживание времени не отвлекает от производства. В отличии от специализированных решений в виде красивого web-2.0 или очаровательного GUI, где нужно своими же руками осознанно следить за собой. Кроме того, можно сразу видеть много строчек с информацией своей активности и вести журнал сессии без проблем. Вобщем вот.
P.S. Это, кстати, одна из тех фишечек, которая возможна только в command-line интерфейсе. И непонятно, почему сторонники WIMP и CL не соберутся как-нибудь и не выберут из обоих подходов всё самое лучше, и не смешают всё в удобных пропорциях?
P.P.S. Для новичков в bash: PS1 лучше всего задавать в $HOME/.bashrc
+16
А почему собственно WIMP удобен?
1 min
535На самом деле это небольшой недостаток Habra'а. Я помню о том, что тут был представлен блог, в котором предлагалось публиковать вопросы к общественности на некоторых условиях, но не помню ни его названия, ни его автора, чтобы блог отыскать… Поэтому, пишу в личный, может быть, кто ссылку даст на то замечательное предложение.
Итак. Вопросы к знатокам пользовательских интерфейсов: почему же так удобен WIMP? Или же он на самом деле не так удобен, потому что люди с радостью пользуются HTML-страницами в качестве интерфейсов к всевозможным приложениям? Почему? Существует ли в природе сравнительный анализ отличный от вечного WIMP vs. Command Line?
Вот. Если наберу достаточно материала по теме обещаю написать статью, как и предлагалось в утерянном мной блоге.
UPD: блог нашёлся.
Итак. Вопросы к знатокам пользовательских интерфейсов: почему же так удобен WIMP? Или же он на самом деле не так удобен, потому что люди с радостью пользуются HTML-страницами в качестве интерфейсов к всевозможным приложениям? Почему? Существует ли в природе сравнительный анализ отличный от вечного WIMP vs. Command Line?
Вот. Если наберу достаточно материала по теме обещаю написать статью, как и предлагалось в утерянном мной блоге.
UPD: блог нашёлся.
+10
небольшое размышлялово на тему интеллектуальной собственности
1 min
625Вот опять тут вещают, о том, как пираты наносят ущерб, о том, как страдают бедные актёры, актрисы, программисты… Блин. Но если thepiratesbay.org — это реальность, и если копию фильма от туда скачивают 100 000 человек, то что побуждает издателей продавать копии фильма по $29.95? Брали бы, да продавали бы сразу по цене $2995000. Пользователи бы скидывались и выкупали бы право на распространение в своей сети. И на дорогих адвокатов с распространителями бы тратится не пришлось… Но нет… Мозг капиталиста логике не подвластен. Он будет продавать по $29.95 и кричать на каждом углу о том, какие thepiratesbay — коммунисты, и поэтому недостойны жизни на планете Земля.
-12
Как квантовые физики PageRank считали
1 min
979А я всегда говорил, что есть связь между теорией алгоритмов и физикой. Вот, первые подтверждения от профессионалов. Группа учёных предложила смотреть на PageRank как на волновую функцию в потенциале, который определяется разностью входящих и исходящих ссылок на страницу. Учитывая это, и применяя простую алгебраическую магию над исходной формулой для PageRank, математики приходят к уравнению типа уравнения Шрёдингера, решением которого является функция PageRank. Человечеству это, кроме осознания удивительных взаимосвязей в природе, даёт ещё и возможность вычислять PageRank (не точно, похоже, а только приблизительно) в три раза быстрее, чем существующим итеративным методом.
Статья доступна здесь: arxiv.org/abs/0807.4325
Статья доступна здесь: arxiv.org/abs/0807.4325
+60
swfdec plugin для проигрывания flash
1 min
943Если судить по количеству вопросов о том, как смотреть flash в 64-битном linux, и по тому, что обычно в качестве решения предлагается установить чего-нибудь вроде netscape plugin wrapper, включить поддержку 32-битных приложений в ядре, а так же установить linux32, чтобы использовать flashplayer от Adobe. То можно сделать вывод о том, что 'мужики-то и не знают'.
+6
Вы всё-ещё не любите изобретать велосипеды? Тогда Antec идёт к Вам
1 min
634Это действительно к вопросу об изобретательстве велосипедов. Казалось бы, что новое можно предложить в области корпусов для персональных компьютеров? Многое перепробовали, даже корпуса совмещённые с мониторами. Однако… Antec таки изобрела очередной довольно интересный велосипед.
Подробности можно почитать и посмотреть здесь:
http://www.ixbt.com/news/hard/index.shtml?10/57/95
Подробности можно почитать и посмотреть здесь:
http://www.ixbt.com/news/hard/index.shtml?10/57/95
+2
-2
A списки todo действительно работают.
2 min
2.3KКогда по неким причинам в жизни я стал раздолбаем и несобранной сущностью, то использование списков todo действительно помогло собраться. Спасибо хабралюдям за рекомендацию. Однако, мои todo отличаются от стандартных и описанных ранее, вполне возможно, что описание того, как я их веду поможет разработчикам соответсвующего софта, ну, или другим людям побыстрее найти оптимальную для себя форму их ведения.
+32
Haskell
1 min
1.7KВот существует такая категория людей — любители программировать на Haskell. И всё с ними хорошо и замечательно, но мучает меня такое обстятельство, что я совершенно их не понимаю :).
То есть да, Haskell, монады, всё круто, сложно, разминка для мозгов, куча неявных правил и ленивых вычислений. Можно мерятся пузами в искусстве писать стрелочки и bind'ы. И так далее. Но вот от чего уши встают дыбом? Так это от того, что эти люди неожиданно начинают заявлять, что все их программки в одну строчку делаются исключительно средствами языка. Вот что тут странно. Куда пропадает из этого рассуждения мысль о том, что этот самый Haskell требует нешуточного такого runtime для своей работы: ядро Linux, например, плюс ещё сверху процедуры развёртки/свёртки lambda-графов, не считая, сборщика мусора.
Конечно, естественно, когда у вас есть ядро Linux, Apache, runtime и монада IO, наполовину написанная на Си, то web-приложение на Haskell можно написать в три строчки.
Но можно ли его считать написанным исключительно на Haskell? Неужели Haskell настолько развивает абстрактное мышление, что высококлассные программисты на нём забывают о таких 'мелочах', как остальная экосистема?
Вот этого я не понимаю… Хм. Или я не понимаю чего-то другого? Того же великого Дао, скрытого за этими самыми монадами и оператором bind? Или там понимать нечего и всё является чистой воды выпендрёжем?
Эх. Проблема в том, что мы живём в век дезинформации, мнений авторитетов и сверхспециализации.
То есть да, Haskell, монады, всё круто, сложно, разминка для мозгов, куча неявных правил и ленивых вычислений. Можно мерятся пузами в искусстве писать стрелочки и bind'ы. И так далее. Но вот от чего уши встают дыбом? Так это от того, что эти люди неожиданно начинают заявлять, что все их программки в одну строчку делаются исключительно средствами языка. Вот что тут странно. Куда пропадает из этого рассуждения мысль о том, что этот самый Haskell требует нешуточного такого runtime для своей работы: ядро Linux, например, плюс ещё сверху процедуры развёртки/свёртки lambda-графов, не считая, сборщика мусора.
Конечно, естественно, когда у вас есть ядро Linux, Apache, runtime и монада IO, наполовину написанная на Си, то web-приложение на Haskell можно написать в три строчки.
Но можно ли его считать написанным исключительно на Haskell? Неужели Haskell настолько развивает абстрактное мышление, что высококлассные программисты на нём забывают о таких 'мелочах', как остальная экосистема?
Вот этого я не понимаю… Хм. Или я не понимаю чего-то другого? Того же великого Дао, скрытого за этими самыми монадами и оператором bind? Или там понимать нечего и всё является чистой воды выпендрёжем?
Эх. Проблема в том, что мы живём в век дезинформации, мнений авторитетов и сверхспециализации.
+18
Information
- Rating
- 2,284-th
- Registered
- Activity
Specialization
другое
Scheme
C
Assembler
Linux
Maths
Julia