Best viewed with LeechCraft on Microsoft Linux. Войти !bnw Сегодня Клубы
УНЯНЯ. У нас есть немножечко инфы об этом пользователе. Мы знаем, что он понаписал, порекомендовал и даже и то и другое сразу. А ещё у нас есть RSS.
Теги: Клубы:

Посмотрев разные коллекции для Delphi, решил пойти своим путём. И вот, почему: https://bitbucket.org/OCTAGRAM/delphi-cv...../wiki/Home
#XAGNQE (0) / @octagram / 4475 дней назад
#YX8U2A (1+1) / @octagram / 4475 дней назад
Нет, OrenOSP 1.2.14 всё так же ограничен Да чё ж такое? Такая пропаганда IPv6 и TLS, а софта нет, кроме браузеров и ssh
#R5KEHL (0+1) / @octagram / 4479 дней назад
http://www.kousec.com/orenosv/orenosp_en.html Заметил, что появилась новая версия OrenOSP, почти единственного реверс прокси, умеющего IPv6, TLS и SNI одновременно. Уже ломанул, осталось проверить, снято ли дурацкое ограничение на 6 дополнительных профилей SSL
#22O89N (0+1) / @octagram / 4479 дней назад
http://svn.netlabs.org/v_nom Открытая кроссплатформенная альтернатива IBM SOM в стадии альфа — Netlabs Object Model. Но вот, что не нравится — так это > NOM uses garbage collected memory only. The GC will be statically linked to the NOM runtime. http://svn.netlabs.org/v_nom/wiki/BuildNomWindows
#491KDZ (2+1) / @octagram / 4480 дней назад
https://www.virtualbox.org/wiki/Developer_FAQ > *Q*: Why do you ship source codes from Mozilla and build them as part of VirtualBox? This increases build times and every sane person on this planet already has Mozilla Firefox installed! > *A*: On Linux hosts, VirtualBox makes use of Mozilla XPCOM as its component model. Unfortunately, XPCOM is not very standardized and each and every application based on it brings its own binary version of XPCOM. Also, we have significantly enhanced XPCOM for cross process communication and our enhancements have not been incorporated into the Mozilla code base yet. We therefore cannot rely on XPCOM being present on our target systems and even if, it would not have our enhancements. For Windows hosts, we do not rely on XPCOM so we don't build it there.
#VHAFVT (0+1) / @octagram / 4480 дней назад
Оказывается, инженеры AMD64 подложили большую свинью быстрым песочницам и эмуляторам в юзерспейсе, запретив сегментацию даже в x86 программах. В нормальной x86 OS можно запрограммировать LDT как больше нравится, загрузить селекторы в сегментные регистры и, таким образом, получить эмулируемое окружение, например, Xbox или Linux, и даже долбаный fork(), от которого всё никак не откажутся в пользу pthread_create() и posix_spawn(), вполне реализуем без глюков (как в Cygwin), так как внутри эмулируемого окружения расположение нулевого смещения можно выбрать так, чтобы невыгружаемые страницы не занимали место, на котором в форкаемом процессе было что–то другое. В эмуляторе Xbox LDT используется, так как форматы fs:[...] на Windows и Xbox отличаются. А ещё есть программы, которые для противодействия отладке работают на изменённых селекторах. И всё это шмяк — и не работает. В принципе нельзя сделать, чтоб работало как раньше. Только fs и gs можно программировать. Единственное решение в юзерспейсе — патчить код на лету, как это делает vx86. А ещё узнал, что для 64битной Windows нет coLinux.
#BN2E23 (1+3) / @octagram / 4483 дня назад
Tiered vector оказался крепким орешком. Ситуацию усугубляет то, что я реализую не в точности то, что в PDF'ке: описаны только вставка и удаление одного элемента, а для практических нужд, конечно, желательно и вставка нескольких подряд из вектора в вектор, и Tiered Vector по своему устройству позволяет это, но запрограммировать это нетривиально. Например, если размер блока 1024 элементов, и нужно вставить 1023 элемента, то выгоднее на уровне 2 раздвинуть вперёд, а потом на уровне 1 сдвинуть назад. При этом может потребоваться временно выделить память на несколько звеньев, которые на время могут выйти за границы выделенного пространства, но это всё равно будет выгоднее, чем делать сдвиг на 1023 на первом уровне. Tiered Vector похож на калейдоскоп из калейдоскопов, и пока я об этом думаю, у меня у самого мозг превращается в калейдоскоп. Предположительно, сделать хорошую реализацию TV так же трудно, как написать хороший решатель японских кроссвордов, не имея опыта их решения. Вчера, чтобы набраться опыта, порисовал на миллиметровке, но вариантов разобрал мало. Пожалуй, забью, но не забуду.
#OPCMAM (0) / @octagram / 4485 дней назад
http://cjdns.info/ CJDNS представляет из себя IPv6 туннель в виртуальную сеть в частных адресах (адреса начинаются с FC). Выход в виртуальную сеть при этом может организовываться по IPv4 каналам или вообще не–TCP/IP каналам. Соединения шифруются. Сами адреса содержат в себе хеши ключей. От публичного ключа два раза берётся SHA и используется в качестве префикса подсети. Префикс должен начинаться на FC, поэтому при генерации асимметричных ключей процесс повторяется до тех пор, пока хеш от хеша не будет начинаться на FC. На сайты и другие сервисы можно заходить как по IP, так и по обычным доменным именам, если назначить на них виртуальный IPv6. В купе с Namecoin, CJDNS завершает построение независимого Интернета. CJDNS даёт адресное пространство и криптографию, Namecoin даёт домены. И всё это не требует значительных модификаций клиентского ПО, в отличие от I2P. Недостаток текущей реализации: несмотря на значительное количество качественных переносимых библиотек, таких, как Core Foundation и OpenCFLite, GLib, Apache Portable Runtime, Mozilla и прочих, авторов CJDNS хлебом не корми, дай пописать так, чтобы некроссплатформенно получилось. Версия для Windows отсутствует.
#W39DLC (8+2) / @octagram / 4485 дней назад
Интересную вещь откопал. Кажется, наконец–то то, что нужно: http://dunit.cvs.sourceforge.net/viewvc/.....ideattic=0 Не понятно, куда оно переместилось после удаления, но само наличие тестов плюс хороший дизайн API не могут не радовать. Сравнительные характеристики: Delphi 2009 Collections — не доступны до Delphi 2009, параметризуются типами (иногда недостаток), являются TObject, а не интерфейсами. ADSDL — набор нагенеренных инстанциаций DTL, но то, что нагенерено, не происходит от общего интерфейса. Например, все map — это абсолютно разные интерфейсы. Наконец, коллекции по ссылке — все интерфейсы, могут хранить интерфейсы, для базовых типов есть боксы, и ещё есть боксы для TObject, с владением и без. Интерфейсы коллекций наследуются от некоторых общих интерфейсов, в отличие от ADSDL. Кажется, теперь мне есть, куда считывать YAML
#IFEJDW (0) / @octagram / 4486 дней назад
http://www.tindex.net/ Использую этот сайт как справочник, в каких именно версиях появились какие именно фичи Delphi.
#KN3C05 (0) / @octagram / 4490 дней назад
http://www.thomgerdes.com/2011/12/winrt-.....files.html Один из немногочисленных пока обзоров Windows Runtime. > The first thing I noticed is that Windows is doing a lot to break the API down into Namespaces, and for the most part each metadata file describes one namespace. So my first reaction was to put the contents of each metadata file into one Delphi unit. This doesn't quite work though because of a few things: One metadata file may actually contain multiple namespaces, one namespace might be included in several metadata files, and there are circular dependancies between types in the various metadata files. Не ожидал такого дерьма от Microsoft. Это же из C++, это должно быть похоронено, алё? Один файл – один модуль, имена одинаковые. Что опять за творчество восьмидесятых? > Generic Interfaces > Generics are used pretty heavily throughout WinRT. In the C++ language bindings, they end up translating down to a template class, and the pre-compiled headers actually have to parametrize every instance of a generic class. This is pretty ugly and it'd be much nicer to just declare the interface and have the compiler do the right thing. Delphi has a similar problem for similar reasons. Generic Interfaces are supported by the compiler, but the problem arises in that you cannot specify a GUID for parametrized instances of a given generic interface. So for now, I've had to create a unique interface for every parameterized interface in WinRT. А вот про Generics в API не знал. Здесь WinRT лучше, чем IBM SOM. Однако, > But how do you go about assigning a GUID to the interfaces? The answer lies in RoGetParameterizedTypeInstanceIID. Функция эта доступна только в Windows 8, из–за этого нельзя компилировать с других OS. Кстати, не проверял, но, может быть, было бы достаточно унаследовать GUID–интерфейс от не–GUID–ного generic interface. Ну или оставить generic interface as is, а получать его через Supported(), а GUID вычислять на целевой платформе. Впрочем, компилятор следующей версии Delphi наверняка изменится в такую сторону, что эти workaround станут не нужны. Что нравилось в Delphi, так это сращивание с компонентными технологиями Windows до такой степени, что использовать их из Delphi удобнее, чем из C++ и C# от Microsoft. Это же и её минус как плохо переносимого ЯП. Я раньше думал, это Borland додумался TDateTime сделать из Double. Ан нет, это из COM пошло. Ну хоть проблема 2000 не грозит на время существования Солнечной Системы. Плохо, что WinRT доступен только в Win8. Потребуется лет восемь, чтобы на нём можно было писать для массового пользователя. Лучше бы, наоборот, в 2001м году вместо .NET был бы выпущен WinRT, входил бы в обновления OS и был бы доступен везде, а .NET, наоборот, был бы доступен не ранее какой–нибудь версии Windows.
#0VQQ3J (0) / @octagram / 4490 дней назад
Реализую Tiered Vector на Delphi. Давненько не занимался алгоритмами, чувствуется.
#3PNJWB (0) / @octagram / 4490 дней назад
Портирую приложение с Delphi 7 на XE2. Где было ANSI, там становится Юникод, ну и естественно, где–то от такого безоговорочного перехода ничего не изменится, а где–то, особенно, во всём, что связано с сетью, однобайтовые строки должны такими и остаться. Довольно полезен при миграции модуль AnsiStrings, в котором можно найти то, что в SysUtils осталось только для UnicodeString. Но вот ведь западло: AnsiStrings.Format умеет конвертировать UnicodeString, но сыплет exception при попытке использовать в роли %s WideChar, PWideChar или WideStrings: SysUtils AnsiString: Ansi SysUtils WideString: Wide SysUtils UnicodeString: Unicode SysUtils AnsiChar: A SysUtils WideChar: W SysUtils PAnsiChar: Ansi SysUtils PWideChar: Wide AnsiStrings AnsiString: Ansi AnsiStrings WideString: Format '%s' invalid or incompatible with argument AnsiStrings UnicodeString: Unicode AnsiStrings AnsiChar: A AnsiStrings WideChar: Format '%s' invalid or incompatible with argument AnsiStrings PAnsiChar: Ansi AnsiStrings PWideChar: Format '%s' invalid or incompatible with argument
#90UU39 (0) / @octagram / 4493 дня назад
https://www.sqlite.org/lockingv3.html > Locking and concurrency control are handled by the pager module. The pager module is responsible for making SQLite "ACID" (Atomic, Consistent, Isolated, and Durable). The pager module makes sure changes happen all at once, that either all changes occur or none of them do, that two or more processes do not try to access the database in incompatible ways at the same time, and that once changes have been written they persist until explicitly deleted. The pager also provides a memory cache of some of the contents of the disk file. > The pager is unconcerned with the details of B-Trees, text encodings, indices, and so forth. From the point of view of the pager the database consists of a single file of uniform-sized blocks. Each block is called a "page" and is usually 1024 bytes in size. The pages are numbered beginning with 1. So the first 1024 bytes of the database are called "page 1" and the second 1024 bytes are call "page 2" and so forth. All other encoding details are handled by higher layers of the library. The pager communicates with the operating system using one of several modules (Examples: os_unix.c, os_win.c) that provides a uniform abstraction for operating system services. > The pager module effectively controls access for separate threads, or separate processes, or both. Throughout this document whenever the word "process" is written you may substitute the word "thread" without changing the truth of the statement. Интересный модуль. Особенно, если хранить данные в своих форматах (/me косо поглядывает на bitcoind)
#HWHXMC (0+1) / @octagram / 4497 дней назад
http://geekswithblogs.net/Lance/archive/.....10053.aspx > If you get this error, first see if you have virus scanning software that may be blocking outgoing tcp/ip packets. If you do, make sure that your application is set as a "trusted" application or turn your anti-virus scanner off, remove it from your machine, drop the CD on the ground and stomp on it several times
#0SEMGM (0+1) / @octagram / 4499 дней назад
Оказывается, ставить популярные, но не встроенные расширения Mercurial можно гораздо проще, проставляя галочки в настройках TortoiseHg. hggit, nearest и hgsubversion все там есть.
#XVO6S3 (0) / @octagram / 4504 дня назад
http://tutorialsto.com/view/printview-28382.html Всегда терялся в догадках, как пересобрать rtl70.bpl, если в исходниках rtl.dpk нигде не видать, а писать с нуля хлопотно, и ошибиться можно. Его, оказывается, из IDE можно сгенерить автоматом. Как и многие другие недостающие .dpk
#27QMM6 (0) / @octagram / 4506 дней назад
Fatal: Required package 'rtl' not found Долгое время было не понятно, почему сборщик, который проставляет свою ревизию и ревизию проекта в RESOURCEINFO, при одинаковых и повторяемых, казалось бы условиях, вдруг перестаёт работать под предлогом того, что ни один runtime packages не может быть найден. При этом, если собрать из IDE, то проект соберётся, и сам сборщик начинает работать. И на пару недель этот полтергейст исчезает. rhash --tth --recursive на пару с diff -Nu подтвердили мою догадку: с файлами в Program Files\Delphi7 действительно что–то происходит. .dcp могут куда–то исчезать, а Delphi 7 IDE их пересобирает
#UUAEBI (0) / @octagram / 4506 дней назад
--
ipv6 ready BnW для ведрофона BnW на Реформале Викивач Котятки

Цоперайт © 2010-2016 @stiletto.