Pull to refresh
294
0.5
Дмитрий Кашицын @Halt

Программист, линуксоид, паяльник-железячник

Send message
> Чем же занимаются программисты, и как объяснить это остальным?

«Метод называется «парное программирование». У сотрудников на двоих один стол и один компьютер. Один из сотрудников — «ведущий» — работает на клавиатуре и вводит в компьютер пароли. Другой, «штурман», следит за дизайном и проверяет компьютер на предмет наличия вирусов.» ©
есть крутая прога для моделирования мультиагентных систем ccl.northwestern.edu/netlogo/, там есть куча предустановленных алгоритмов поведения (например модели сегрегации Шелла, модель распространения слухов, игра жизнь и т.д), и встроенный язык для программирования агентов

если вам интересно моделирование такого рода как в статье, то думаю вам будет интересна прога -)
rm -rfd путь в дебиане и убунте удаляет миллионы файлов без построения списка файлов…
Вообще-то скорость и склонность к зависанию определяются файловой системой, на которой папка лежит. Ну и немного ещё sysctl-ками.

ls тупит т.к. пытается перед выводом прочесть весь список и отсортировать его, чтобы отключить такой режим надо использовать флаг -f. Ну а дальше для неспешного удаления достаточно затротлить вывод `ls -f` через какую-то тулзу (например через перловый скрипт) и через xargs организовать удаление (100 файлов в 10 секунд):
ls -f . | perl -pe 'select(undef,undef,undef,0.1)' | xargs -n 100 rm
UFO landed and left these words here
Смотрю, тема оказалась интересна многим, так что добавлю еще кое-чего.
Почему в конкуренции целого зоопарка несовместимых компьютеров победила именно архитектура IBM PC? Сейчас это приводят как христоматийный пример преимуществ «открытой архитектуры» над закрытыми. При этом напрочь забывают, что открытой она стала не благодаря, а вопреки, из-за невероятного стечения обстоятельств.

Во-первых, сама IBM тогда была мировым лидером в области компьютеростроения для бизнеса, в первую очередь благодаря «большим» в прямом и переносном смысле ЭВМ System/360, для которых она выпускала и железо, и ОС. Зарождавшийся рынок персоналок тогда считали «детскими игрушками», поэтому вместо того, чтобы отвлекать серьезных профессионалов от не менее серьезных задач по выпуску /370 и далее, было принято революционное решение отдать разработку и выпуск всего что можно на аутсорс. Поэтому — процессоры Intel, а не собственные IBM, поэтому шина ISA, поэтому самая популярная на тот момент ОС CP/M вместо ОС собственной разработки.

Чтобы уменьшить зависимость от Digital Research, в IBM наняли еще Microsoft с их собственной (точнее перекупленной) ОС. И, чтобы снизить стоимость контракта, MS DOS выкупили не полностью, а по схеме «ОЕМ» — то есть на PC эта операционка называлась IBM DOS, у Microsoft-a забрали и опубликовали всю документацию на то, что сейчас называют API, но Биллу Гейтсу оставили право продавать свою ОС другим производителям железа, еще не зная, что это железо окажется клонами IBM PC.

Третье обстоятельство: американская военщина очень не хотела зависеть от единственного поставщика оборудования и заставила Intel передать все чертежи процессоров х86 фирме AMD. Из-за этого в последствии IBM не смог просто взять и выкупить эксклюзивные права на процессор 8086 (хотя неэксклюзивную лицензию IBM таки купил и одно время самостоятельно выпускал х86-совместимые процессоры на своих фабриках).

Четвертое: платформа PC приглянулась основателям фирмы Borland, которые написали под неё Turbo Pascal 1.0 и выкатили его на рынок по смешной цене $100 (конкуренты тогда хотели порядка $1000). Дешевое клонированное «железо» плюс очень дешевый и качественный компилятор обеспечили огромную популярность платформы у студентов технических ВУЗов (в противовес гуманитариям с их любовью к продукции Apple). Через пару-тройку лет студенты закончили учебу и пошли основывать свои стартапы — по разработке софта для PC.

Разумеется, попытки вернуть контроль над платформой были. Самое смешное — первыми их предприняла даже не IBM. Больше всех в этом преуспела фирма Tandy, выпустившая персоналку на 80186 с собственным, весьма продвинутым графическим адаптером и прочими плюшками для игровой системы… но сейчас это не более чем строка в истории.

Сама IBM тоже не сидела сложа руки. Но сначала они слишком верили в своих юристов, затем случилась трагедия — главный разработчик PC-направления разбился в авиакатастрофе. В результате PC AT пришлось доделывать «как есть». он вышел с 80286-ым процессором и кучей других аппаратных усовершенствований, но не содержал ничего существенного, что позволило бы вернуть контроль над рынком.

Патентованые технологии появились только в следующем поколении персоналок IBM PS/2 — процессор там был 80386 производства Intel, зато была собственная запатентованная шина (Microchannel) и собственная ОС (OS/2), но поезд уже давно ушел. От той системы в историю вошли только разъемы для мыши и клавиатуры, для которых просто не смогли придумать патентов, да файловая система NTFS — улучшенная и доработанная версия HPFS от OS/2.
Аж ностальгия замучала ) Могу добавить, что в таких схемах сильно играет способ разводки питания на плате. При нормальной разводке вполне достаточно одной емкости на ряд.

С т.з. практики самое интересное в этой проблеме — количество и емкость кондеров, а этого как раз в статье нет. Примерно прикинуть можно по пиковому току потребления одной микросхемы и длительности фронта, оно как раз даст емкость на один чип. Потом надо умножить на 10 :)
Запомни крепко: в доме не свистят. Не будет денег. Так гласит примета. И постепенно смысл приметы этой становится понятен всем подряд. Пока ты в доме исполняешь свист, ты нарушаешь авторское право. И в дверь твою уже стучится РАО и говорит, что ты рецидивист. Ты нарушаешь авторский закон. Не верите — спросите у юриста: есть автор у исполненного свиста, и даже не беда, что умер он. Так даже проще — чтобы не мешал. И пусть при жизни он не знал про РАО, но РАО восстановит честь и право, устроив юридический скандал. Он умер, но мелодия живет. А там, глядишь, и родственники живы. И вместе с РАО требуют поживы с любого, кто свистит и кто поет.

Не пой под душем песен никогда! Наследники уже под дверью ванной. Приклеились к двери как листик банный и ждут, пока отключится вода. И в тот же миг они тебе несут отнюдь не полотенце или тапки, а строгие бумаги в красной папке, среди которых есть повестка в суд. Суду всё ясно, он уже привык. Он постановит твердо, без нюансов: изъять твое имущество, финансы, а также вырвать грешный твой язык. Чтоб не совал его, закон поправ, в сокровищницу мировой культуры, беря без спросу рифмы, партитуры и прочие объекты смежных прав.

Не для того поэт, и музыкант, и композитор, вечная им слава, творят объекты авторского права, успешно применяя свой талант. Не для того, чтоб ты, спустя года, бесплатно слушал радио в маршрутке. Предмет искусства — это вам не шутки, а ценные улики для суда.

Услышал где-то музыку — беги, мизинцами заткнув покрепче уши. И отрицай, что ты ее прослушал, иначе образуются долги. Концерты в телевизоре не смей просматривать с семьею — только лично! Иначе исполнение — публично, и ты попал на миллион рублей. Приемник лучше подари врагам: пусть слушают налево и направо. В конце концов их всех поймает РАО, и выйдет им немало по деньгам.

С невестой в ЗАГС под музыку вошел? Отдай все деньги и ступай на зону! А РАО передаст их Мендельсону. Придет — получит. Нет — и хорошо.

Придумал стих? Исполнить не спеши. Хоть ты и автор, и законы в силе, но Авторское общество России оставишь без положенной маржи. Зарегистрируй, денег принеси, представь заявку и дождись отметки. И прочитай домашним с табуретки в назначенную дату и часы.

Велели в школе вызубрить стишок? К доске не выходи ни в коем разе! Публичным исполнением при классе юристы назовут такой урок. И за чужой стишок получишь два (условных года по итогам дела). И в кассу РАО местного отдела уплатишь штраф за все свои слова. Сидите, дети, лучше по домам. Забудьте, дети, про кружок вокальный, не подходите к школе музыкальной — чужое исполнять научат там. Литературу с музыкой — забыть: с правами там не ясно и не чисто. Пусть в школах учат только на юристов, а также адвокатов, может быть. Непобедимый, страшный как дракон, мы в школах лишь один предмет оставим: об Авторском а также Смежном праве — великий славный Божий наш закон!

Семейные альбомы изучай. И твой пра-прадед, как ты сам увидишь, Кирилла и Мефодия подкидыш вдруг может оказаться невзначай. А значит, у тебя в руках права на авторские буквы алфавита. И каждый, кто напишет их открыто, обязан заплатить тебе сперва. А если родословной вовсе нет — то значит, из народа вышел родом. И всё твоё — что числилось народным: любая поговорка и куплет. Услышал исполнение — звони в ближайшую районную управу. И вызывай наряд в мундирах РАО, и пусть воришку в суд ведут они.

Вот ты прочел поэму до конца. А кто тебе, скажи, позволил это? Губами шевелил? Гони монету! Я выступаю в качестве истца! Пошел в свой блог и сделал копипаст? А ну-ка денег заплати нам с РАО! Оно на всё искусство сверху срало! Оно его и купит и продаст!

2009-11-02
Леонид Каганов
Спасибо, за статью, но она получалась слишком поверхностной, и в ней описываются в общем то хорошо освещенные вещи. Dimmerg опередил меня, но вставлю и свои 5 копеек :)

Что касается минимакса: Рассказали бы хотя бы про алгоритмы Alpha-Beta (ну ладно, тоже избит), Negascout, MTD(f). Потом известно, что в любом игровом дереве часто случаются коллизии и некоторые последовательности ходов можно повторно не просчитывать. Для этого обычно используется Zobrist-хеширование вместе с таблицами перестановок. Было бы интересно услышать и про параллельную реализацию алгоритмов поиска в дереве. Ведь эффективное использование всех потоков тоже не тривиально (алгоритмы PVS, DTS). Про использование хеширования вместе с этими алгоритмами (с критическими секциями и без).

Про шаблоны почти ничего не написано, однако было бы интересно узнать о техниках быстрого сопоставления или распознавания шаблонов. Например в GnuGo используется DFA. Ну и вообще как эти шаблоны использовать и составлять (можно вручную и автоматически).

Замечания по поводу методов Монте-Карло:
Хотелось бы более подробного описания алгоритма UCT, вместе с формулами.
И вы не совсем правильно написали:
«По этой статистике программа решает, что такой-то ход приведёт к выигрышу с вероятностью в 5%, такой-то — 3% и так далее. Далее программа просто выбирает ход с наибольшей вероятностью выигрыша и повторяет алгоритм. В итоге программа делает ход, который с наибольшей вероятностью ведёт к победе.»
А как же остальные ходы с меньшей вероятностью? Они на самом деле тоже рассматриваются и то, как часто они рассматриваются, зависит от коэффициента в алгортиме UCT, количества посещений данных узлов и количестве побед из данных узлов.

Впрочем, я и сам собираюсь писать потом статьи на данную тематику, т.к. русскоязычного материала практически нет.
Подключаем телек к компу, открываем браузер и переходим на http://www.lagom.nl/lcd-test/
Правила сисадмина.
1. Делай бэкапы всегда.
2. Первым делом на новом сервере настраивай бэкап.
3. Проверяй, что твой бэкап распаковывается и работает. Раз в месяц это делать также не помешает.
4. Сохраняй бэкапы минимум в 2 независимых хранилища (а лучше больше — учись у Волан-де-морта)
5. Если ты получил письмо «о плановых работах» — сразу сделай внеочередной бэкап!
6. Разработай план на срочный переезд к другому хостеру.
7. А лучше сразу арендуй там машину и настрой. Чтобы ждать только обновления записей в ДНС.
8. Проверяй состояние своих серверов, хотя бы Яндекс.метрикой. Можно и смс получать, бесплатно.
9. Не придумал.
10. Никогда не надейся ни на кого, кроме самого себя. Всегда помни, что драть за косяки будут тебя, а не хостера.

На всякий случай оставлю:
Настройка небольшого сервера.
Скрипт для бэкапа этого сервера.

Мои рецепты далеко не идеал, но лично мне помогают. Авось кому еще пригодятся.
Можно. Достаточно для измерения использовать напряжения, при которых pn переходы открываться не будут. Схем полон гугл. Как пример
ludens.cl/Electron/esr/esr.html
DroidWall существует уже довольно давно, и вполне себе работает)
Неправильный ответ.
Лучше править "/etc/security/limits.conf".
Достаточно добавить всего одну строчку.
username soft nproc 128
username hard nproc 128

UFO landed and left these words here
Хоть и просторечие, но есть такое слово.

ru.wiktionary.org/wiki/ихний
slovari.yandex.ru/ихний/правописание

Поклажа-то сто́ит дешевле ихнего проезда. © Достоевский.

Меня одолевает непреодолимое чувство фейспалма,
не только потому что я проглядел по диагонали вашу статью, но
и что я сам такое же делал на GBA в своё время =)

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

ldrh C1, [src, #0]
ldrh C2, [dst, #0]

or ps, C1, C1, LSL #16; ?G?R?B
and ps, ps, mask_G_R_B; 0G0R0B
or pd, C2, C2, LSL #16
and pd, pd, mask_G_R_B

mul ps, ps, alpha ;fast 32х8 bit mul
mla ps, pd, inv_alpha, ps

and ps, mask_G_R_B, ps, LSR #5
or ps, ps, LSR #16

strh ps, [dst, #0]
На всякий случай распишу подробнее:

[RRRR RGGG GGGB BBBB RRRR RGGG GGGB BBBB] = P // 2 пикселя
[0000 0111 1110 0000 1111 1000 0001 1111] = 0x07E0F81F
[0000 0GGG GGG0 0000 RRRR R000 000B BBBB] = P & 0x07E0F81F = P' // выделяем нечетные компоненты

[A AAAA] = a // коэффициент прозрачности состоит из 5-ти бит

[0000 0AAA AA00 0000 AAAA A000 000A AAAA] = oddA // выравниваем α по нечетным компонентам
[GGGG GGGG GGGR RRRR RRRR R0BB BBBB BBBB] = P' * oddA // после умножения компоненты начинают занимать выделенные пространства
[0000 0GGG GGGG GGGG RRRR RRRR RR0B BBBB] = P' * oddA >> 5 = P" // выравниваем полученные значения
[0000 0GGG GGG0 0000 RRRR R000 000B BBBB] = P" & 0x07E0F81F // очищаем место для вставки четных компонент

Information

Rating
1,875-th
Location
Алматы (Алма-Ата), Алма-Атинская обл., Казахстан
Date of birth
Registered
Activity