В процессе изучения языка решил немного попрактиковаться и реализовать простейшую хэш-таблицу с цепочками. Собственно реализация самой таблицы, простейшей хэш-функции и примеры использоваия получившегося я выложил здесь: https://gist.github.com/1616657
Уважаемые местные штангисты! Если вам не лень, ткните носом, пожалуйста, где я облажался и как можно было сделать лучше.
Основной вопрос у меня пока - как избежать вот такого явного указания типов хэш-функции при её передаче в момент создания:
intHash = (createHash (divHashForSize :: (Integer -> Integer -> Integer)) 10)
strHash = (createHash (divHashForSize :: (Integer -> String -> Integer)) 10)
А без этого - не компиляется. Чувствую, что здесь что-то не так.
Заранее спасибо!
www.linux.org.ru/people/ligames/profile
Хорошая, годная причина. Почему бы не забанить ещё 11.8% посетителей данного ресурса с такой же формулировкой?
Лень писать новость, так что просто оставлю это здесь. Dart - новомодный браузерный язычок, вроде как позиционировался Гуглём как джяваскрипт-слейер, а в разработке участвовали широко известные в определенных кругах Гилад Брача и Ларс Бак.
В свете этих событий до выхода в смолток-сообществе был некий ажиотаж, так как и Брача и Бак в своё время поработали над Self, Newspeak, Strongtalk и пр.
Сегодня я (и, наверно, ещё многие) изрядно обломились, увидев почти осточертевший С-like синтаксис в примерах на свежачке. С семантикой лично мне не совсем ясно, да и доки на сайте читать как-то лень. Говорят, что стандартная библиотека таки пропитана духом Смолтока.
Ну вот, как то так. Моё скромное мнение - не взлетит.
LevelDB - быстрое хранилище данных, обеспечивающее упорядоченное отображение текстовых ключей на текстовые значения.
Новинка представляет из себя библиотеку для языка C++, которой можно найти множество применений. Например, она может быть использована веб-браузером для хранения кеша недавно открытых страниц, пакетным менеджером для хранения списка установленных пакетов и их зависимостей, приложениями для хранения настроек и так далее.
LevelDB реализована с минимумом зависимостей и поэтому уже доступна на большинстве платформ. Библиотека распространяется под лицензией в стиле BSD.
>>> Сравнение производительности с SQLite и Kyoto Cabinet
>>> Подробности
http://www.flickr.com/photos/gadl/sets/72157594279945875/
Ъ: Набор 360x180 панорам в виде планет. Собрано с autopano&hugin
Возникла необходимость купить внешний винт, ибо raw'ки с камеры складировать уже некуда, а те, что есть, раскиданы по ноутам в самых неожиданных местах.
Основное предназначение - долговременное хранение. Таскать с собой и юзать в полевых условиях не предвидится. Винт будет попеременно втыкаться в линаксовый и бздушный ноуты и валяться дома.
На прилавках, да и у знакомых примелькались только три бренда - Seagate, WD и Transcend. Десктопными Барракудами я пользовался последние семь лет, никаких нареканий. C винтами WD не связывался. От Транссенда у меня только карта памяти да флешка.
Собственно вопрос коллективному разуму - что лучше взять для моих целей и условий? Сам больше склоняюсь к Сигейтам, но мало ли.
Не смог заставить работать сокеты в моём любимом GNU Smalltalk на NetBSD, начал копать и обнаружил багу в ядре :)
Сижу как обычно в Emacs & FVWM. Пробовал разные мордочки к gdb, но они все поголовно кривые (включая емаксовую), так и юзаю старый добрый CLI.
>>> Просмотр ( 1280x800, 56 Kb )
Нежданно-негаданно к нам подкрался очередной релиз современной, свободной реализации языка программирования Smalltalk — Squeak.
Версия с сакральным номером 4.2 несёт нам:
Отдельным пунктом следует выделить адаптацию Squeak к работе на новой виртуальной машине — Cog. Cog обеспечивает приблизительно трёхкратный общий прирост производительности за счёт JIT, также ведётся работа над поддержкой системных потоков и неблокирующих внешних вызовов. Разработка новой виртуальной машины финансируется организацией Teleplace, которая предоставляет свой коммерческий вариант системы виртуальных миров Open Cobalt.
>>> Скачать
Друзья, свершилось! За годы пользования на ноутах Debian так утомил себя своей неубиваемостью, что я уж было хотел променять его на Слаку или Генту, чтобы жизнь была веселее. Но сегодня он наконец-то упал! Да ещё как упал: отправился в саспенд, а по возвращении не нашёл ничего в /dev, обругался непонятными словами, выкинул меня в бизибокс и баста.
Всё бы хорошо, только на линуксовых разделах у меня остались важные доки, которые надо бы подправить и сдать через пару дней. Разделы из бизибокса не примонтировались, fsck я там не нашёл, по признакам особого ничего не выгуглил, идей больше нет.
Вот так всё выглядит в процессе загрузки: http://ompldr.org/vNnk0bA
А вот так - при старте бизибокса: http://ompldr.org/vNnk0cA
В начале ещё писалось что could not mount /dev (чо-то там), но это было быстро и дословно я не помню, а заснять не успел.
Проблемы с винтом? Не знаю, дуалбутная винда загрузилась без проблем, с неё и пишу.
Собственно вопрос: в какую сторону копать?
http://www.boston.com/bigpicture/2010/12/2010_in_photos_part_1_of_3.html
http://www.boston.com/bigpicture/2010/12/2010_in_photos_part_2_of_3.html
http://www.boston.com/bigpicture/2010/12/2010_in_photos_part_3_of_3.html
Для ъ: в заголовке всё сказано
P.S. Я нашёл на фотках Чубакку!
Итак, имеем
interface.cs
namespace Sample {
public interface IModule {
string name ();
}
}module.cs
namespace Sample {
public class Module: IModule {
public string name () {
return "sample!";
}
}
}
loader.cs
using System;
using System.Reflection;
namespace Sample {
public class Loader {
static void Main () {
var module = Assembly.Load ("module.so");
var types = module.GetTypes ();
foreach (Type t in types) {
if (t.GetInterface ("IModule") != null) {
var inst = (IModule) Activator.CreateInstance (t, null);
Console.WriteLine (inst.name ());
}
}
}
}
}
Компиляем:
tokamak% gmcs interface.cs loader.cs -out:loader.exe
tokamak% gmcs interface.cs module.cs -t:library -out:module.so
И запускаем:
tokamak% mono loader.exe
Unhandled Exception: System.IO.FileNotFoundException: Could not load file or assembly 'module.so' or one of its dependencies. The system cannot find the file specified.
File name: 'module.so'
at System.AppDomain.Load (System.String assemblyString, System.Security.Policy.Evidence assemblySecurity, Boolean refonly) [0x00000] in <filename unknown>:0
at System.AppDomain.Load (System.String assemblyString) [0x00000] in <filename unknown>:0
at (wrapper remoting-invoke-with-check) System.AppDomain:Load (string)
at System.Reflection.Assembly.Load (System.String assemblyString) [0x00000] in <filename unknown>:0
at Sample.Loader.Main () [0x00000] in <filename unknown>:0
А теперь внимание, вопрос: что я делаю не так?
Пробовал в NetBSD 5.0.2 (mono 2.6.4) и в давно заброшенном Debian Experimental (mono 2.6.7) - одна фигня.
Сижу я как-то вечерком за ноутом, брожу по интернетам, гуглю. И тут - либо номером ссылки в вимператоре ошибся, либо результат поиска был фейковый, в общем, увидел это.
Я уже представил себе лицо бедного вендузятника, который вдруг увидел сиё мракобесие, и которому тут же предложили поставить этот systempack107_2121.exe для наискорейшего излечения :)
В общем, изобретательность вирусмейкеров не знает границ.
Сомали получила добро на свой домен.
C 1го ноября по 15е декабря (включая аукцион) там можно будет зарегать доменное имя под любую торговую марку, зарегистрированную до 2010г.
Открытая регистрация доменов для всех начнётся с 1го марта 2011г.
Ну что, зарегаем libastral.so? :)
Здравствуйте!
Дано:
- имя и размер шрифта (шрифт не обязательно моноширный)
- строка текста
Надо в скрипте на баше/перле определить размер прямоугольника, в который можно будет вписать этот текст.
В какую сторону копать? В WinApi я это когда-то делал путём выбора шрифта в временный графический контекст и вызовом GetTextExtent(..) для данного контекста и строки. Думаю, что в случае перла будет нечто подобное; хотелось бы минимальный в плане зависимостей алгоритм. Направьте на путь истинный! Gd?
В общем, посоветуйте пожалуйста книги следующей тематики:
Ну, прочие разделы ИАД тоже приветствуются. Первыми двумя пунктами я, в общем-то, занимался, но в контексте нейронных сетей. Хотелось бы изучить другие/альтернативные методы :)
Уровень: не самый начальный, а скорее от начинающего к среднему.
Спасибо
Эту тему я создал уже и на runetbsd.ru, и в список рассылки netbsd-users отписал. Везде молчат. Попытаю удачу и здесь, авось.
Итак. Решил поставить NetBSD 5.0.2 на свой старый ноутбук. Устанавливал на винт через QEMU из Debian, встало нормально.
После ребута система не загружается. Ну, т.е., ядро NetBSD начинает загрузку и замирает где-то после обнаружения USB устройств. Если грузить систему без ACPI, всё проходит удачно и мне предлагают залогиниться. Но тут не работает ноутбучная клавиатура :)) Поэтому и залогиниться не могу.
Вопрос #1: что делать? Я нагуглил баг в багтрекере (2006г.), по описанию всё очень похоже на мой случай. Там всё решилось отключением OHCI. Я правильно понимаю, что для этого надо пересобирать ядро? Просто в BIOS такой опции не нашёл, в мане на boot - тоже.
Вопрос #2: будет ли работать внешняя USB-клавиатура в режиме без ACPI? А то ведь куплю и с ней попытаюсь поковырять систему..
Собрал пару darktable'ов, один из гита сегодняшнего, второй 0.6 (типо стабильный).
Оба безбожно тормозят при экспорте своих шедевриков из RAW в JPG (PNG). Например, я начал эскпорт одной (!) NEF-ки на 12 mpix где-то в час ночи, а желанный жипег получил только под утро - в четвертом часу. При этом все изменения заключались в поправке экспозиции, денойсе и легком шарпе.
Во время экспорта darktable загружает оба моих виртуальных ядра, выедает всю оперативку и своп, выжирает всю водку, блюёт в кактус и бреет кота.
Подскажите, это у всех так, или у меня карма плохая? Я пускаю его на нетбуке с атомом 1.6 Ghz и гигом рамы, может в этом вся беда? Память ограничивать через gconf ещё не пробовал.
| ← предыдущие |