Еще один удар по торговцам смертью

Оригинал взят у adagamov.info в Еще один удар по торговцам смертью

© REUTERS

16.08.2012, Австралия | Австралийскому правительству удалось преодолеть сопротивление табачного лобби и теперь, впервые в мире, сигареты в стране будут лишены брендовой расцветки — сигаретные пачки оливкового цвета станут отличаться друг от друга только фотографиями последствий курения. Название сигарет будет написано одинаковым шрифтом внизу пачки. Оспорить новые правила пытались все ведущие табакопроизводители, мотивируя это нарушением прав на интеллектуальную собственность. «Большие табачные компании сделали все возможное, чтобы препятствовать проведению этой реформы. Наша победа должна стать сигналом всему миру, что табачников можно победить», — говорится в заявлении Минздрава Австралии, которое цитирует РБК-Daily.

B+HTree, now powering IntelliJ IDEA 11 indices

Last summer I implemented mine own flavor of B+Tree aka B+HTree, H for Hash. Usually O characteristics for B trees are calculated on height of the tree, however insertion of the data to leaf block can be costly. E.g. if key / value pairs are stored as array, one needs to shift at least half of the pairs at insertion. To avoid the problem, the data storage itself is organized as binary tree or nested b+tree, still having complexity of logarithm of the size of leaf block (usually the size is at least 4K, or 100x of key/value pairs). B+HTree leaf node is organized as hash table with open addressing, achieving O(1) complexity for insertion / removal of elements, at the expense of some extra bits.

The data structure is used to store every index in IntelliJ IDEA 11, e.g. inverted index of indexed source code for IDEA project is 1,8M keys. For such size, it turned out that B+tree based index is twice as compact comparing to previous hash based representation. Index compactness + limited leaf page accesses contributed to significantly better indexing performance of IntelliJ IDEA 11 for large code bases.

C/C++ plugin v. 0.8.1 for IntelliJ IDEA 8/9/X

Change notes:

* Major feature: initial support for handling Cpp and C files without switching settings.
* Completion of member names in constructor initializer list.
* Find usages over string literal will find other occurrences of the same literal.
* Completion of macros parameters inside macro body.
* Assorted performance and usability fixes got from dog fooding :).
* Completion / navigation for targets / value references in makefiles.
* Recent find usages action works in usage view for c++ symbols.
* Option to disable multiple definition checks (C++ Project Settings|Settings).
* No absent definition error produced for declaration of static integral constant inside class.
* Leading // file level header comments are folded.
* Fixed bug with broken "Navigate to constant / macro".
* Added IdeaX support.
* Dropped Idea 6 (Demetra) and Idea 7 (Selena) support.
Install it from IDEA's plugin manager

Кредиты СитиБанка - отстойло!

Я решил взять кредит Ситибанка на сумму X. Я у них давний постоянный клиент, уже брал кредит (и выплатил :), принёс официальную справку о зарплате. Вы думаете мне дали кредит на сумму X? Нет, не дали, только на сумму 0,6*X, что существенно меньше даже чем прошлый кредит. Потом я вспомнил, что в первый раз была такая же история, дали кредит меньше чем просил. Но Ситибанк часто перекредитует (думаю, в первую очередь тех, кому дал меньше запрошенного:). Т.е. помимо получения меньшей суммы, клиенты также попадают несколько раз на минимум три месяца самых больших процентов после каждой выдачи кредита.
ЗЫ Про высокий процент по кредиту Ситибанка я даже писать не стал.

Several V8 instances in process, ep. 2

В репозитории V8 появилась экспериментальная ветка Isolates, в которой вытаскиваются статические данные в отдельный класс Isolate, а статические методы глобальных объектов типа Heap становятся экземплярными. Интересно, что это та самая работа, что я проделал для того, чтобы поддержать несколько экземпляров v8 в процессе (класс V8Context -> класс Isolate), сделал доступной (репозиторий, патч на ревью). Вот такой Open source in action и Easier To Write New Code ...
Update:

Index: AUTHORS
===================================================================
--- AUTHORS (revision 4838)
+++ AUTHORS (working copy)
@@ -28,4 +28,5 @@
Rodolph Perfetta
Ryan Dahl
Subrato K De
+Maxim Mossienko

Удивительное рядом

В очередной раз смотрю как быстро индексирует исходники Идея, на этот раз открываю ещё таск-мэнеджер, включаю опцию Read I/O bytes , Write I/O bytes и вижу невобразимое, тихо и незаметно какой-то процесс прочитал уже 1.6 ТБ

CppTools 0.7.1 for IntelliJ IDEA 6/7/8/9

Change notes:
* IDEA 9 (Maia) / Community Edition support.
* Override / implement methods action for IDEA 7/8/9.
* Quick navigate info (aka Control + mouse hover) for IDEA 7/8/9.
* Report problem with instantiation of abstract classes.
* Quick fixes: static_cast / dynamic_cast when type cast error detected.
* Bugfixes.
Install it from IDEA's plugin manager