ermouth: (Default)
[personal profile] ermouth

Я тут читал всякое про пчёл и набрёл на два любопытных факта.

Конструкция улья

Выяснилось, что привычного вида улей – невысокая деревянная коробка со вставными рамками – совсем не такая примитивная конструкция, как кажется.

Этому дизайну чуть более ста лет, и он вполне, если так можно выразиться “научный” – не по наитию сделанный и никакое не народно-историческое творчество.

Улей Лангстро сконструирован так, что пчёлы всегда строят соты внутри рамок и никогда – на стенках коробки, в которую рамки вставлены.

Фокус в том, что существует магический диапазон гапов, примерно от 6 до 15 мм, которые по мнению пчёл не подходят ни для строительства сот, ни для “заклеивания” (починки).

Улей Лангстро сконструирован так, что просветы между рамками и геометрия контруктива рамок используют этот принцип. И пчёлы строят соты только внутри рамок.

Изумительное по красоте инженерное решение, по-моему. Иногда magic numbers чудеса творят, хоть в IT-среде такие решения почему-то нередко корявыми считаются.

Шпанская мушка

Это, в самом деле, жук-нарывник, часть его жизненного цикла проходит в гнёздах диких пчёл. Он интересен сразу двумя фичами. Первое – его гемолимфа (“кровь”) очень ядовита для всего живого, кроме нарывников. Второе – это насекомое в течение жизненного цикла претерпевает не просто метаморфоз, а гиперметаморфоз.

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

Интересно, есть что-нибудь похожее среди инженерных систем? Мне вот ничего в голову не приходит.

Date: 2015-02-04 05:38 pm (UTC)
From: [identity profile] rezkiy.livejournal.com
>> magic numbers

google 0x5f3759df

Date: 2015-02-04 05:56 pm (UTC)
From: [identity profile] rezkiy.livejournal.com
там вкуривать надо, я даже не знаю что такое polynomial conversion :-). Кстати книжка есть про волшебные константы, http://www.hackersdelight.org/

Date: 2015-02-04 06:33 pm (UTC)
From: [identity profile] ermouth.livejournal.com
Да не, там просто всё, проще чем FISR. SDBM – это такой очень быстрый хэш с пристойным распределением.

Там вся суть – берём байт из буфера, прибавляем к нему предыдущее значение хэша * 65599, берём следующий байт, и тд. Всё это в пространстве unsigned long.

Скоростью отрисовки/обновления списков например jquerymy по хорошему обязана одной этой волшебной константе.

Ссылка хорошая, спасибо.

Date: 2015-02-04 07:15 pm (UTC)
From: [identity profile] 802-11.livejournal.com
Уау. Didn't know any of this.

Date: 2015-02-05 01:47 am (UTC)
From: [identity profile] morfizm.livejournal.com
Интересно, есть что-нибудь похожее среди инженерных систем? Мне вот ничего в голову не приходит.

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

Date: 2015-02-05 02:55 am (UTC)
From: [identity profile] ermouth.livejournal.com
Да, например. Хотя если ты имеешь в виду что-то типа трояна, который иранские урановые центрифуги ломал – в моей картине мира это более высоко организованные системы.

Мне скорее приходит в голову что-то типа цепочки оптимизирующих кросс-компиляторов.

Типа Source1→ Source2 → Source3 → Installer → Runtime.

Но я на три совсем разные стадии никак не могу придумать примера без натяжки за уши.

Date: 2015-02-05 03:43 am (UTC)
From: [identity profile] morfizm.livejournal.com
Да, я как раз о них и думал.

Аналогия с компилятором хуже, потому что у тебя обычный data pipeline, а не worker, который необратимо меняет своё состояние несколько раз.

Date: 2015-02-05 03:52 am (UTC)
From: [identity profile] morfizm.livejournal.com
По-моему, более хорошая аналогия будет с инсталляцией апдейтов. Там мы имеем систему, которая, обновляя себя, становится способной сделать следующее обновление, и только конце цепочки она сможет делать нужную фичу.

Пример: представь себе обновление к .Net Framework 4.0 для винды, которое меняет флаг в реестре, чтобы включить какую-то оптимизацию (которая уже была, но была выключена).

Имеем процесс:
1) Инсталляция голой винды, Win 7 для примера.
2) Инсталляция update for windows update. Без него не скачаешь других апдейтов, т.е. это принципиальное изменение поведения системы, превращение её в другого типа личинку.
3) Инсталляция сервиспака. Без него, допустим, нельзя поставить .Net Framework.
4) Инсталляция .Net Framework. Там уже есть нужный код, но он в законсервированном состоянии. Нужен апдейт, чтобы его за-enable'ить.
5) Инсталляция этого патча, который enable'ит апдейт.
Получаем 5 этапов. Вполне ничего так.

Date: 2015-02-05 04:39 pm (UTC)
From: [identity profile] ermouth.livejournal.com
Не, по-моему совсем не подходит. Это, конечно, всё метафизика – но тут больше как развитие одного организма.

Вот если б Винда по пути превращалась в *nix, а потом, например, в Андроид – тогда да.

Главное чтоб в МакОС не превращалась )
Edited Date: 2015-02-05 04:40 pm (UTC)

Date: 2015-02-05 09:47 am (UTC)
From: [identity profile] service-picky.livejournal.com
бутылка пэт вполне себе выглядит шпанской мушкой ))
сначала капсула, потом заготовка бытылки, потом раздута до бутылки и налита жидкость, потом использована, как дешевый поплавок на ферме мидий, потом переплавлена обратно в капсулу.

Date: 2015-02-05 01:49 pm (UTC)
From: [identity profile] ermouth.livejournal.com
Если б она сама раздувалась, да походу менялась сама собой с ПЭТ на стекло – тогда да.

Profile

ermouth: (Default)
ermouth

November 2021

S M T W T F S
 123456
78910111213
14151617181920
21 222324252627
282930    

Most Popular Tags

Style Credit

Expand Cut Tags

No cut tags
Page generated Feb. 2nd, 2026 06:28 am
Powered by Dreamwidth Studios