LINUX.ORG.RU

Сообщения yoghurt

 

[haskell][поругайте] Хэш-таблица

В процессе изучения языка решил немного попрактиковаться и реализовать простейшую хэш-таблицу с цепочками. Собственно реализация самой таблицы, простейшей хэш-функции и примеры использоваия получившегося я выложил здесь: https://gist.github.com/1616657

Уважаемые местные штангисты! Если вам не лень, ткните носом, пожалуйста, где я облажался и как можно было сделать лучше.

Основной вопрос у меня пока - как избежать вот такого явного указания типов хэш-функции при её передаче в момент создания:

intHash = (createHash (divHashForSize :: (Integer -> Integer -> Integer)) 10)
strHash = (createHash (divHashForSize :: (Integer -> String  -> Integer)) 10)

А без этого - не компиляется. Чувствую, что здесь что-то не так.

Заранее спасибо!

 

yoghurt
()

«Блокирован модератором catap по причине: молодое дарование»

www.linux.org.ru/people/ligames/profile

Хорошая, годная причина. Почему бы не забанить ещё 11.8% посетителей данного ресурса с такой же формулировкой?

yoghurt
()

Google выпустил Dart

http://www.dartlang.org/

Лень писать новость, так что просто оставлю это здесь. Dart - новомодный браузерный язычок, вроде как позиционировался Гуглём как джяваскрипт-слейер, а в разработке участвовали широко известные в определенных кругах Гилад Брача и Ларс Бак.

В свете этих событий до выхода в смолток-сообществе был некий ажиотаж, так как и Брача и Бак в своё время поработали над Self, Newspeak, Strongtalk и пр.

Сегодня я (и, наверно, ещё многие) изрядно обломились, увидев почти осточертевший С-like синтаксис в примерах на свежачке. С семантикой лично мне не совсем ясно, да и доки на сайте читать как-то лень. Говорят, что стандартная библиотека таки пропитана духом Смолтока.

Ну вот, как то так. Моё скромное мнение - не взлетит.

yoghurt
()

[фото] Wee Planets

http://www.flickr.com/photos/gadl/sets/72157594279945875/

Ъ: Набор 360x180 панорам в виде планет. Собрано с autopano&hugin

 

yoghurt
()

[посоветуйте] Внешний USB-винт

Возникла необходимость купить внешний винт, ибо raw'ки с камеры складировать уже некуда, а те, что есть, раскиданы по ноутам в самых неожиданных местах.

Основное предназначение - долговременное хранение. Таскать с собой и юзать в полевых условиях не предвидится. Винт будет попеременно втыкаться в линаксовый и бздушный ноуты и валяться дома.

На прилавках, да и у знакомых примелькались только три бренда - Seagate, WD и Transcend. Десктопными Барракудами я пользовался последние семь лет, никаких нареканий. C винтами WD не связывался. От Транссенда у меня только карта памяти да флешка.

Собственно вопрос коллективному разуму - что лучше взять для моих целей и условий? Сам больше склоняюсь к Сигейтам, но мало ли.

 

yoghurt
()

Ушёл в саспенд и не вернулся

Друзья, свершилось! За годы пользования на ноутах Debian так утомил себя своей неубиваемостью, что я уж было хотел променять его на Слаку или Генту, чтобы жизнь была веселее. Но сегодня он наконец-то упал! Да ещё как упал: отправился в саспенд, а по возвращении не нашёл ничего в /dev, обругался непонятными словами, выкинул меня в бизибокс и баста.

Всё бы хорошо, только на линуксовых разделах у меня остались важные доки, которые надо бы подправить и сдать через пару дней. Разделы из бизибокса не примонтировались, fsck я там не нашёл, по признакам особого ничего не выгуглил, идей больше нет.

Вот так всё выглядит в процессе загрузки: http://ompldr.org/vNnk0bA
А вот так - при старте бизибокса: http://ompldr.org/vNnk0cA

В начале ещё писалось что could not mount /dev (чо-то там), но это было быстро и дословно я не помню, а заснять не успел.

Проблемы с винтом? Не знаю, дуалбутная винда загрузилась без проблем, с неё и пишу.

Собственно вопрос: в какую сторону копать?

yoghurt
()

2010 в картинках

yoghurt
()

[C#][mono] Проблемы с динамической загрузкой

Итак, имеем

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) - одна фигня.

 

yoghurt
()

[жж][история успеха]

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

Я уже представил себе лицо бедного вендузятника, который вдруг увидел сиё мракобесие, и которому тут же предложили поставить этот systempack107_2121.exe для наискорейшего излечения :)

В общем, изобретательность вирусмейкеров не знает границ.

 ,

yoghurt
()

Новая доменная зона - .SO

Сомали получила добро на свой домен.

C 1го ноября по 15е декабря (включая аукцион) там можно будет зарегать доменное имя под любую торговую марку, зарегистрированную до 2010г.

Открытая регистрация доменов для всех начнётся с 1го марта 2011г.

Ну что, зарегаем libastral.so? :)

yoghurt
()

[perl/bash] Определить размер надписи с данным шрифтом

Здравствуйте!

Дано:
- имя и размер шрифта (шрифт не обязательно моноширный)
- строка текста

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

В какую сторону копать? В WinApi я это когда-то делал путём выбора шрифта в временный графический контекст и вызовом GetTextExtent(..) для данного контекста и строки. Думаю, что в случае перла будет нечто подобное; хотелось бы минимальный в плане зависимостей алгоритм. Направьте на путь истинный! Gd?

yoghurt
()

[книги] Я тут решил взяться за ум...

В общем, посоветуйте пожалуйста книги следующей тематики:

  • Распознование образов;
  • Прогнозирование временных рядов/сигналов;
  • Кластеризация;

Ну, прочие разделы ИАД тоже приветствуются. Первыми двумя пунктами я, в общем-то, занимался, но в контексте нейронных сетей. Хотелось бы изучить другие/альтернативные методы :)

Уровень: не самый начальный, а скорее от начинающего к среднему.

Спасибо

 

yoghurt
()

Проблемы с работой NetBSD на ноутбуке Toshiba Satellite A210-199

Эту тему я создал уже и на runetbsd.ru, и в список рассылки netbsd-users отписал. Везде молчат. Попытаю удачу и здесь, авось.

Итак. Решил поставить NetBSD 5.0.2 на свой старый ноутбук. Устанавливал на винт через QEMU из Debian, встало нормально.

После ребута система не загружается. Ну, т.е., ядро NetBSD начинает загрузку и замирает где-то после обнаружения USB устройств. Если грузить систему без ACPI, всё проходит удачно и мне предлагают залогиниться. Но тут не работает ноутбучная клавиатура :)) Поэтому и залогиниться не могу.

Вопрос #1: что делать? Я нагуглил баг в багтрекере (2006г.), по описанию всё очень похоже на мой случай. Там всё решилось отключением OHCI. Я правильно понимаю, что для этого надо пересобирать ядро? Просто в BIOS такой опции не нашёл, в мане на boot - тоже.

Вопрос #2: будет ли работать внешняя USB-клавиатура в режиме без ACPI? А то ведь куплю и с ней попытаюсь поковырять систему..

yoghurt
()

Андройдофон «под ключ»

Некая компания Synapse-Phones открыла предзаказ на свои гуглофоны. Ключевая особенность - конфигурацию железа можно выбрать на свой вкус вот здесь.

yoghurt
()

Darktable безбожно тормозит

Собрал пару darktable'ов, один из гита сегодняшнего, второй 0.6 (типо стабильный).

Оба безбожно тормозят при экспорте своих шедевриков из RAW в JPG (PNG). Например, я начал эскпорт одной (!) NEF-ки на 12 mpix где-то в час ночи, а желанный жипег получил только под утро - в четвертом часу. При этом все изменения заключались в поправке экспозиции, денойсе и легком шарпе.

Во время экспорта darktable загружает оба моих виртуальных ядра, выедает всю оперативку и своп, выжирает всю водку, блюёт в кактус и бреет кота.

Подскажите, это у всех так, или у меня карма плохая? Я пускаю его на нетбуке с атомом 1.6 Ghz и гигом рамы, может в этом вся беда? Память ограничивать через gconf ещё не пробовал.

yoghurt
()

Посоветуйте банк

...для накопительного вклада в рублях. Срок - год-полтора с возможностью продления (видно будет).

Я тут посмотрел на Втб24, Альфу, Райффайзен, Сбер - везде почти одно и то же. Проценты незначительно меняются, неснижаемые суммы чуть разные. Вкусности вроде возможности снятия/пополнения тоже везде есть.

Склоняюсь к Альфа-Банку, ибо дело с ними уже имел. Но может быть есть какие-то подводные камни? Или стоит обратить внимание на менее распиаренные банки?

Примеры из личного опыта приветствуются

yoghurt
()

[C#] Вопрос практикующим шарперам и монодевелопистерам в т.ч.

Товарищи, мне, правда, очень стыдно, но как в Monodevelop запустить хеллоуворлд, тот, что по умолчанию там вставляется? :)

Собираться оно собирается, файлик в нужной директории появляется, из терминала запускается, но вот из IDE его запустить - ну никак, например. Получаю следующее:

Cannot execute "вот тут правильный путь к исполняемому файлу". File name has not been set.

System.InvalidOperationException: File name has not been set
  at System.Diagnostics.Process.Start_common (System.Diagnostics.ProcessStartInfo startInfo, System.Diagnostics.Process process) [0x00000] in <filename unknown>:0 
  at System.Diagnostics.Process.Start () [0x00000] in <filename unknown>:0 
  at MonoDevelop.Core.Execution.ProcessWrapper.Start () [0x00000] in <filename unknown>:0 
  at (wrapper remoting-invoke-with-check) MonoDevelop.Core.Execution.ProcessWrapper:Start ()
  at MonoDevelop.Platform.GnomePlatform.StartConsoleProcess (System.String command, System.String arguments, System.String workingDirectory, IDictionary`2 environmentVariables, System.String title, Boolean pauseWhenFinished) [0x00000] in <filename unknown>:0 
  at MonoDevelop.Core.Execution.ProcessService.StartConsoleProcess (System.String command, System.String arguments, System.String workingDirectory, IDictionary`2 environmentVariables, IConsole console, System.EventHandler exited) [0x00000] in <filename unknown>:0 
  at MonoDevelop.Core.Execution.NativePlatformExecutionHandler.Execute (MonoDevelop.Core.Execution.ExecutionCommand command, IConsole console) [0x00000] in <filename unknown>:0 
  at MonoDevelop.Core.Execution.MonoPlatformExecutionHandler.Execute (MonoDevelop.Core.Execution.ExecutionCommand command, IConsole console) [0x00000] in <filename unknown>:0 
  at MonoDevelop.Core.Execution.DotNetExecutionHandler.Execute (MonoDevelop.Core.Execution.ExecutionCommand command, IConsole console) [0x00000] in <filename unknown>:0 
  at MonoDevelop.Core.Execution.DefaultExecutionHandler.Execute (MonoDevelop.Core.Execution.ExecutionCommand command, IConsole console) [0x00000] in <filename unknown>:0 
  at MonoDevelop.Ide.Execution.CustomExecutionMode.Execute (MonoDevelop.Core.Execution.ExecutionCommand command, IConsole console, Boolean allowPrompt, Boolean forcePrompt) [0x00000] in <filename unknown>:0 
  at MonoDevelop.Ide.Execution.CustomExecutionMode.Execute (MonoDevelop.Core.Execution.ExecutionCommand command, IConsole console, Boolean allowPrompt, Boolean forcePrompt) [0x00000] in <filename unknown>:0 
  at MonoDevelop.Ide.Execution.CustomExecutionMode.Execute (MonoDevelop.Core.Execution.ExecutionCommand command, IConsole console) [0x00000] in <filename unknown>:0 
  at MonoDevelop.Projects.DotNetProject.DoExecute (IProgressMonitor monitor, MonoDevelop.Projects.ExecutionContext context, MonoDevelop.Projects.ConfigurationSelector configuration) [0x00000] in <filename unknown>:0 

Это как-то лечится, или просто косяк дебиановской сборки? И, да, вопрос к практикующим - вы этим пользуетесь? Может не стоит париться, а просто юзать свой родной Emacs и для шарпа?

Add: mono 2.6.7, monodevelop 2.4

yoghurt
()

--

Прошу забанить меня до октября. Спасибо!

yoghurt
()

[соцопрос] Почему вы не спите?

Я - сижу на работе, работаю. Время по Москве.

 

yoghurt
()

Вимператороподобное поведение в GUI

Для тех, кто в танке - в вимператоре можно нажать f и набрать потом номер ссылки, чтобы по ней перейти (http://vimperator.org/screenshots/vimperator_hints.png)

Я вот думаю, а если сделать то же самое и для обычных окон (на уровне gtk, например), чтобы в конец забить на мышь, на хоткеи, которые ещё надо помнить, на мнемоники кнопок - будет ли это юзабельно?

yoghurt
()

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