Home

Advertisement

Customize

жутковато

Nov. 13th, 2008 | 01:07 pm

Прочитал историю на ithappens.ru:
http://ithappens.ru/story/137

Суть вкрадце: некие товарищи из крупной конторы, которая не назыается, реализовали в своих устройствах сами протокол TCP, другие товарищи (из другой конторы), которые писали софт для управления по этому TCP неким роботом, обнаружили что путается порядок данных.
Первые это подтвердили - да, дескать, для оптимизации обработки иногда пакетики могут переставляться.

Страшно жить - такие грабли в реализации стандартов могут стоить жутких аварий...
А еще страшнее читать такие вещи на сайте прикольных историй без указания названия конторы. Страна должна знать таких героев! О таких вещах надо "на каждом углу" кричать.
Tags:

Link | Leave a comment {10} | Add to Memories | Tell a Friend

(no subject)

Jun. 19th, 2007 | 01:18 am

Правильный сайт, заботящийся о посетителе, должен выяснять скорость канала, которую выделили браузеру посетителя, и мощность ресурсов компа, которые разрешили браузеру занимать, и выдавать содержимое в оформлении, соответствующем этим параметрам.

Честно говоря, слишком мало знаю о современном состоянии веб-технологий, чтобы оценить, насоклько это реалистично.

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

И не стоит думать, что массовому потребителю это не нужно, так как они сидят за компами, которые все равно ничего другого не делают. Рабочая станция, которая даже просто web-терминал, может делать еще некоторые вещи, которые очень чувствительны к загрузке CPU - например, играть музыку. С нынешними сайтами браузер подчас ведет себя как газ - занимает все что есть, и проигрыватель начинает заикаться даже на самом мощном компе.
Tags: ,

Link | Leave a comment {15} | Add to Memories | Tell a Friend

тоже зашел на "башорг".

Sep. 27th, 2006 | 02:38 pm

понравилось:

у gmake есть один ОГРОМНЫЙ минус
eve% gmake love
gmake: *** No rule to make target `love'. Stop.
сравни с BSD make
eve% make love
make: don't know how to make love. Stop
ПОЭТИКИ НЕТ
Tags: ,

Link | Leave a comment {3} | Add to Memories | Tell a Friend

Microsoft...

Jul. 25th, 2006 | 09:59 am

Фирменный стиль документации и интерфейса Microsoft, легко наследуемый очень многими, кто что-то пишет под их ОСи, состоит в заботе о поддержании интеллектуального тонуса у пользователя.
Это самое лестное объяснение, которое я могу придумать.

Для того, чтобы разобраться с нетривиальной сетевой тулзой в винде мне приходится тратить несколько дней, а на аналогичную (по сложности внутренней семантики процессов) тулзу под линуксом уходит меньше часа.
Почему-то в документации большую часть текста считают своим долгом посвятить обьяснениям в духе "чтобы отредактировать атрибуты А, переведите курсор на обьект А и нажмите на кнопочку 'редактировать атрибуты', и вы увидите формочку с атрибутами, набор которых зависит от вида обьекта А и его текущего состояния, только потом не забудьте сохранить"
(Кстати, при этом КАК именно зависит, в большей части случаев обьяснять уже не считается нужным, а как подбирать ПРАВИЛЬНЫЕ осмысленные значения этих атрибутов - написано совсем не в этом абзаце, посвященном атрибутам обьекта А, а в настолько неожиданном месте...И хорошо если написано вообще)

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

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

Или у людей, которые в этом живут, есть какие-то наработки, которые для меня пока остаются тайной?
Tags: ,

Link | Leave a comment {8} | Add to Memories | Tell a Friend

высокотехнологичные будни

Jul. 12th, 2006 | 02:00 pm

Фраза дня от админа: "вы будете смеяться, но чтобы поставить новую материнку в сервер, нам пришлось использовать напильник. Я сперва хотел кусачками, но пришел ** и сказал что это несолидно, принес из машины напильник.". Тут появляется в проеме этот ** и спрашивает: "у тебя нет молотка и двух гвоздей? ну или саморезов.."
Tags: ,

Link | Leave a comment {3} | Add to Memories | Tell a Friend

найдено на просторах жж

Jun. 18th, 2006 | 11:08 am

жалоба программиста: "Стандарт есть. И даже два..."
Tags: ,

Link | Leave a comment | Add to Memories | Tell a Friend

Виртуальная реальность.

Jun. 8th, 2006 | 12:52 pm

Наткнулся вот на анекдот - в духе "если бы программисты строили дома". Только про хакеров.
http://iskatel.livejournal.com/212893.html

И понял, чем он меня глубоко цепляет.
Совершенно общее место сейчас, на эмоциональном уровне - что все вируальное на самом деле "игрушечное".
Почему-то само собой разумеется, и скажем, 14-летним ребенком хорошо понимается, что ломать двери в школе, в которой учишься - не-по-человеески, не говоря уж о том, что тот "хакер" с солонками делал. Да, физической энергии у детей море, исследовательского любопытства - а что будет если попробовать то-то? - тоже, но как-то оно почти всеми детьми (ну, из тех, что я вижу, по крайней мере) держится в рамках уважения к чужому, уважения к общественным местам.
Оставлять тетради в незапираемом, и всем (по кр.мере ученикам этого класса) доступном шкафу - это нормально, и никому не приходит в голову над чужой тетрадкой что-то сотворить, или бояться за свою тетрадку. (Или может я наивный идеалист, и на самом деле приходит в головы? Но в любом случае, всеми без лишних обьяснений воспринимается как недостойный поступок.)
Но почему-то разными правдами и неправдами добыть чужой пароль и стереть чужие программы из его каталога - милое дело, невинная шутка!
Конечно, до такого сейчас уже не доходит. Но половина исследовательских побуждений почему-то остаются разрушительными. Другие воспоминания, меня выбившие "в осадок" еще на моем первом курсе - сервер в студенческом комп. классе образованными студентами не воспринимается как общественное место, а напротив, как место для упражнений в хакерством искусстве - совсем как для этого, с солонками.. Хорошо хоть не изображали, что "борются на самом деле за повышение безопасности". Но совершенно типичным было, что приходишь, а места на сетевом диске нет, потому что очередной такой умелец пол-часа назад все сломал, а админы еще не заметили/не починили. И это еще одно из самых невинных, что бывало.

Надеюсь, через поколение-два это пройдет...
Tags: , ,

Link | Leave a comment {16} | Add to Memories | Tell a Friend

Рабочее...

Apr. 26th, 2006 | 11:54 am

- Я не зануда, я только констатирую факты.

---

Если, перенаправляя вывод в /dev/null, ошибиться скажем в количестве буковок 'l', то получишь сообщение "Permission denied", что вводит в некоторый ступор.
Tags: ,

Link | Leave a comment | Add to Memories | Tell a Friend

рабочее...

Mar. 15th, 2006 | 05:48 pm

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

a = (a == LINK_DOWN) ? LINK_DOWN : LINK_UP;

и не нужно ли убрать эту строчку нафик?
Tags: ,

Link | Leave a comment {14} | Add to Memories | Tell a Friend

Рабочие будни..

Mar. 8th, 2006 | 11:15 am

(в понедельник...)

- А я щас научился gdb заваливать!
...
- За последний год "синий экран смерти" я видел всего несколько раз, зато "kernel panic" - по тридцать раз на дню
Tags: ,

Link | Leave a comment {3} | Add to Memories | Tell a Friend

рабочие будни...

Feb. 23rd, 2006 | 08:33 pm

"я его сперва усыпил, а потом, не выводя из сна, убил - чтобы он точно убился."
Tags: ,

Link | Leave a comment {3} | Add to Memories | Tell a Friend

(no subject)

Jan. 18th, 2006 | 05:55 pm

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

и вспомнил другую фразу (очного знакомого):
если я получаю письмо без текста, с вордовым файлом в аттаче, в котором лежит список файлов, который человек хочет от меня получить по мейлу, то я считаю адекватным послать ему эти файлы в архиве *.tar.bz2, и пусть делает с ним, что хочет

Впрочем, кажется последние вин-рары даже bz2 понимают.
Tags: ,

Link | Leave a comment {3} | Add to Memories | Tell a Friend

на тему фильтрации данных и сравнения с шаблоном...

Jan. 18th, 2006 | 04:13 pm

в поисках фундаментальных знаний на эту самую тему натолкнулся на занятный практический образец:

результат поиска на books.ru )
Tags: ,

Link | Leave a comment | Add to Memories | Tell a Friend

(no subject)

Jan. 17th, 2006 | 05:01 pm

забрел вот на http://bash.org.ru/

DeViL: :q!
DeViL: Это смайл?
$h@d0vv: это выход без сохранения
Tags: ,

Link | Leave a comment {2} | Add to Memories | Tell a Friend

рабочее..

Jan. 4th, 2006 | 10:36 pm

Любопытная задача возникла.

Есть поток данных - можно считать, что из пакетов (переменной длины). в каждом пакете могут быть какие-то атрибуты.
Здесь "атрибут" - это пара "ключ, значение", где значение может быть вообще говоря довольно сложным, но это совершенно неважно.
ключи бывают численными и строковыми.

Уникальность ключей атрибутов в пределах одного пакета в общем-то не гарантируется.
Нужно фильтровать этот поток данных по атрибутам. Точнее, нужно придумать удобный гибкий механизм задания фильтров - чтобы там, где происходит
содержательная обработка данных, не морочится с фильтрацией. это "там" бывает разным и пишется пользователем ( с моей точки зрения - пользователем).

Приемник этого трафика должен уметь понимать задание фильтра и в соответствии с ним фильтровать. К слову, задача успешно и давно решена для ситуации более-менее статичной структуры пакета (пример - IP заголовок).

Но вот что делать, когда хочется скажем поймать только те пакеты, в которых атрибут А обязательно на первом месте (неважно с каким значением), атрибут Б неважно где, но обязательно есть ровно один раз, атрибут В попадается хотя бы раз со значением, попадающим под такую-то маску, а все вхождения атрибута Г (возможно, их ни одного - тогда все хорошо) удовлетворяют условия 0 < * < 10 ?????

Есть резоны попытаться создать нормальный способ описания таких фильтров, и нормальные алгоритмы их обработки.
Надо почитать классику.
Про регулярные выражения сказали читать Ахо. Может, я оттуда что-нибудь умное вычитаю.
Tags: ,

Link | Leave a comment {5} | Add to Memories | Tell a Friend

о "стандартном"

Jan. 3rd, 2006 | 07:50 pm

что-то сегодня мне попадаются "стандарты", к которым черта с два что найдешь.
По мне так, формат файлов (в моем случае - музыкальных, - но в общем неважно) стандартен, если скажем поиск на sourceforge.net и/или "apt-cache search" выдает не один десяток проектов/пакетов, как-то с ним связанных.

мне нравятся любители формата APE, утверждающие, что за ним будущее, при том, что есть (видимо) ОДНА надежная программа, работающая с ним, под ОДНУ операционную систему (винду, конечно же). Первым нетривиальным результатом поисков было то, что это оказывается "Monkey Audio" (в чем, я кстати, до сих пор не уверен - на сайте этой фирмы хоть и упоминается "APE", тождество совсем не ясно)

Мне удалось найти в инете следы того, что кое-кому удается прослушивать APE файлы под юниксом. Но попытки повторить их успех на моем рабочем компе приводят к каким-то невообразимым проблемам. Или Debian Sarge уже морально устарел?
Tags:

Link | Leave a comment {5} | Add to Memories | Tell a Friend

Алгоритмическое

Nov. 21st, 2005 | 01:47 pm

Пусть есть N чисел. для простоты, все разные.
Если нужно установить из них минимальное, легко показать, что меньше чем (N-1) сравнениями нельзя обойтись (очевидно, их хватает).

Если нужно отсортировать - вопрос сложнее. Лучшие алгоритмы дают количество сравнений N(\log_2 N).
Почему нельзя сделать алгоритм с лучшей асимптотикой (хотя бы в среднем) - обьяснить довольно легко.
Упорядочивая массив из N элементов, мы автоматически, необходимым образом, устанавливаем, в каком они порядке были изначально. Какой обьем информации нам необходимо узнать для этого? Всего вариантов "сообщения" N! (факториал), значит, информации в нем - \log_2 (N!) бит,
что по формуле Стирлинга дает практически те же N(\log_2 N - \log_2 e).

А если нужно только установить минимальный и максимальный? Ясно, что 2(N-1) хватит. Но это с избытком. Можно придумать алгоритм, делающий
1.5 N сравнений. Есть доказательство, что не существует алгоритма, гарантирующего меньшее количество сравнений, Костин нам его рассказывал лет десять назад. Но ни вспомнить, ни придумать его я сейчас не могу..
Точнее, то что придумывается, на доказательство не тянет.
Tags: ,

Link | Leave a comment {10} | Add to Memories | Tell a Friend

Как учить детей программированию

Nov. 2nd, 2005 | 01:52 am

Предисловие.
Обсуждали мы (в "офисе" ЮМШ, а также еще кое-где) недавно, что учеников нужно приучать к исследовательской деятельности, и к тому, что картина знаний незамкнута, динамична, и вообще слегка субъективна.

А теперь собсно сабж.
Решил я поучить детей ООП. 40 минут распинался об идеологии, рисовали забавные примеры - о числах, точках, фигурах, машинках. Все это без конкретного языка, просто так, на русском языке.
Потом 40 минут углубления в конкретику.
"Итак, заниматься ООП мы будем на языке Руби. Хороший язык, только вот одна тонкость - я его еще сам не знаю. Поэтому я щас вам покажу, как я напишу на нем свою первую программку".
Впрочем, пакет собсно языка и прорва примеров у меня уже были скачаны и установлены.
По этим примерам я парочку простых программ написал сходу. Им понравилось.

Но это все развлечение на первый урок по теме.
За каникулы мне предстоит написать минимальную динамическую составляющую сайта на этом Руби, так что к следующим урокам я его буду уже знать существенно лучше :)
Tags: ,

Link | Leave a comment {10} | Add to Memories | Tell a Friend

(no subject)

Oct. 17th, 2005 | 04:21 pm

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

Link | Leave a comment {11} | Add to Memories | Tell a Friend

SCSI

Oct. 17th, 2005 | 02:38 pm

никогда бы не подумал, что SCSI расшифровывается как "Small Computer Systems Interface".
полезное дело - чтение базовых спецификаций :)
Tags:

Link | Leave a comment {1} | Add to Memories | Tell a Friend

dead-lock.

Oct. 9th, 2005 | 11:09 pm

Когда настроение паршивое, и устал за день (от малосодержательной беготни по городу), хочется лечь спать. Но на вечер запланированы некие дела, которые очень желательно сделать сегодня вечером, потому что утром на них времени не будет, а днем нужны их плоды. Браться за дела не хочется - потому что хочется спать, но спать ложиться совесть не позволяет - потому что дела не сделаны.

Когда нам рассказывали про базы данных, рассказали специальный термин для такой ситуации — dead-lock.

PS. Когда перечитывал пост, обнаружил, что все абзацы начинаются со слова "когда". Наверное, это что-нибудь значит.
Tags: , ,

Link | Leave a comment {1} | Add to Memories | Tell a Friend

философское...

Aug. 30th, 2005 | 01:21 am

хоумы + nfs-server
ldap
dns
mail-relay
imap/pop3
squid
apache
svn
samba
apt-proxy

риторический вопрос - чего я забыл?
Tags:

Link | Leave a comment {10} | Add to Memories | Tell a Friend

доктор, это лечится?

Jul. 25th, 2005 | 02:18 am

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

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

Ради избавления от этого дискомфорта я готов пойти на весьма серьезные неудобства в синтаксисе.
Tags:

Link | Leave a comment {35} | Add to Memories | Tell a Friend

народные приметы сисадминов

Apr. 7th, 2005 | 04:19 pm

Если нечто (хоть как-либо связанное с сетью) долго висит, потом отвисает и кое-как отрабатывает - проблемы скорее всего в DNS.
Tags: ,

Link | Leave a comment | Add to Memories | Tell a Friend

Открытие.

Apr. 7th, 2005 | 12:56 am

Я вчера узнал (с некоторым удивлением) что в unix-shell есть массивы (правда, только одномерные) и локальные переменные у функций.
Что, в общем, отодвигает необходимость перехода с нынешним моим 8-м классом на другие языки программирования в неопределенное будущее - практически вся классика "учебного программирования" вполне доступна технически.

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

Link | Leave a comment {3} | Add to Memories | Tell a Friend

командная строка vs GUI

Mar. 23rd, 2005 | 06:30 am

да, картинки с окошками в качестве user interface давно перестали быть исключительным атрибутом систем "для пользователей". Теперь (почти) любая уважающая себя юниксовая программа имеет GUI, и старается его поддержать на уровне.

Но, тем не менее, всевозможные гуи-шные (чтоб не сказать "гуёвые") менеджеры закачки файлов в моих глазах меркнут перед удобством wget.
Да, чтобы его о чем-то слегка нетривиальном попросить - надо полчаса читать man, и потом писать строку аргументов на пару сотен символов.
Но по количеству проблем, с которыми я не имею возможности бороться, он уделывает все остальные программы.
Впрочем, "полчаса читать" - это я загнул. Это только в первый раз - полчаса. :D

Вообще, удобный интерфейс не тот, в котором легче разобраться для использования в идеальной ситуации, а тот, в котором легче найти способы разобраться с проблемами.
Tags: ,

Link | Leave a comment {4} | Add to Memories | Tell a Friend

детективное

Feb. 22nd, 2005 | 11:22 pm

изучение бага чем-то похоже на расследование преступления - по идее, в первую очередь нужно выяснить, что произошло/происходит, а уж потом, разобравшить, судить кто виноват (чей баг), но тем не менее при расследовании в первую очередь доминирует желание найти виноватого и (почти) все гипотезы строятся от этого.
Tags: ,

Link | Leave a comment {3} | Add to Memories | Tell a Friend

(no subject)

Feb. 14th, 2005 | 07:25 pm

Учу детей программировать. Так стихийно сложилось (и видимо, довольно неплохо), что учу я их на unix-shell.
Я и раньше знал, что это довольно достойный язык, но сейчас вот задумался, что он в некотором идейном отношении похож на Алгол-68: в нем можно писать конструкцию типа

while
echo "Enter positive number or zero if finished"
read a
test $a -eq 0
do
# тут сделать что-то содержательное с переменной a
done

и теперь вот в некоторых раздумьях - стоит ли рассказывать про такое детям с неокрепшей психикой :)
пожалуй, стоит.
Tags: ,

Link | Leave a comment {20} | Add to Memories | Tell a Friend

Linux & Samsung 173P

Oct. 28th, 2004 | 05:54 pm

Я уже почти выбрал монитор.

У него один серьезный недостаток - не управляется кнопками с корпуса, а управляется из компутера специальной программой MagicTune, которую заботливая компания Samsung сделала только для винды.

Ну что, настоящие герои не сдаются - довольно легко нашел, по какому протоколу они общаются. То, что такой протокол должен бы станадартным - легко догадаться, поскольку в описаниях MagicTune и самого монитора ничего специального про видеокарту не написано.

Как и следовало ожидать, этот протокол (DDC) поддерживается всеми более-менее современными видеокартами, более того, XFree86-4 им пользуется, чтобы узнавать параметры монитора.

Что ж, прикрутить морду, чтобы менять параметры настройки (яркость, геометрию и т.п.) из компа - становится чисто технической и не очень сложной задачей. Буду с ней бороться.

Если не найду клиента для линукса для этого протокола - вероятно, напишу сам :)
Tags:

Link | Leave a comment {8} | Add to Memories | Tell a Friend

заметка на будущее

Oct. 25th, 2004 | 05:40 pm

хорошая картинка для упражнения детей в "реалистичном" программировании - "умный" домофон (скажем, такой, у которого для каждой квартиры свой код).
Tags: ,

Link | Leave a comment | Add to Memories | Tell a Friend