LINUX.ORG.RU

Сообщения dimv

 

Ищу проект на clojure

Последние полтора года изучал и писал на clojure. Здесь можно смотреть и оценивать код: https://github.com/vdim/yz

Интересует проект на данном языке. Могу тратить 20-30 часов в неделю.

В целом интересует: функциональное программирование, статистика, визуализация данных, NoSQL, большие объемы данных.

Чуть-чуть работал с erlang (книга «Programming Erlang» и мелкая задача по обработке гигабайтов данных на многоядерной машине).

Английский на уровне чтения технической документации.

 , ,

dimv
()

[loroogle] gramota.ru в offline

Хочется gramota.ru в offline, чтобы ввел слово, а оно тебе как правильно писать (и орфографически, и фонетически плюс привел синонимы и антонимы, и еще и дал трактовку). Для stardict нашел только толковый Даля. Может есть какое спец. ПО? Может не там словари для stardict искал?

 

dimv
()

[Lisp] Hello-world

Осваиваю Lisp. В качестве первого упражнения решаю следующую задачу. Имеется текстовый файл с часами разработчика в формате

<дата> <модификатор деятельности> <количество часов> <описание>

(Файл может содержать комментарии, начинающие с знака «#».) Необходимо подсчитать общее количество часов работы.

Например, для файла

20.05.2011 RD 2 Чтение глав «Функции» и «Параметры» из PCL
20.05.2011 OT 1 Установка SBCL
20.05.2011 CO 2 Кодирование и отладка функции count-hours

Результат должен быть 5.

Вот мое решение:

;;;; Program reads file with working hours of developer                                                                                        
;;;; and outputs sum of hours.

;; Counts working hours from specified filename.                                                                                               
(defun count-hours (filename)                                                                                                                
  (let ((in (open filename :if-does-not-exist nil)) (hours 0))                                                                                 
       (when in                                                                                                                                
             (loop for line = (read-line in NIL) while line do          
                   ; Doesn't process line with comments and empty line                                                                       
                   (if (not (or (= (length line) 0) (char= (elt line 0) #\#)))             
                       (setf hours (+ hours (parse-integer (get-word line 3))))))                                                            
             (close in)) hours))                                                                                                               
                                                                                                                                               
;; Returns nth word in string. Words are separated by Space and Tab                                                        
(defun get-word (str num)                                                                                                                    
  (let* ((white-spaces (list #\Space #\Tab)) (pos (get-white-space-min-pos white-spaces str)))                                                 
       (if (not pos) "0"                                                                                                                       
           (if (= (1- num) 0) (subseq str 0 pos)                                                                                               
               (get-word (string-trim white-spaces (subseq str pos)) (1- num))))))
                                                                                                                                               
                                                                                                                                               
;; Returns minimum position in str of character from list of characters (white-spaces).
;; If str doesn't have characters from list then nil is returned.                                                                              
(defun get-white-space-min-pos (white-spaces str)                                                                                              
  (let ((min-pos NIL))                                                                                                                         
       (dolist (white-space white-spaces)                                                                                                      
               (let ((pos (position white-space str)))                                                                                         
                    (if (not min-pos) (setf min-pos pos))                                                                                      
                    (if (and pos min-pos) (setf min-pos (min min-pos pos)))))                                                                  
       min-pos))                                                                                                                               

Запускать можно так:

(сount-hours «wh-dimv.txt»)

Собственно вопросы:
1. Не кажется ли вам, что здесь все написано в императивном стиле, просто с использованием скобочек? Если да, то направьте на путь истинный.
2. Есть ли в коде места, которые лучше было бы реализовать с помощью макросов? Я таких мест сейчас вижу, скорее всего, потому что слишком мало знаком с lisp. Или задача слишком маленькая, чтобы понадобились макросы?

 

dimv
()

Указание связей в запросе по объектной модели.

Всем привет. Пусть имеется объектная модель предметной области. Реализована она на языке с ООП (например, java), для хранения в РСУБД используется ORM фреймворк (например, hibernate), для запросов либо API(JPA), либо объектный язык (HQL).

Предположим в модели имеется такая цепочка сущностей (это просто пример): Grant-Project-Team-Manager-University (в принципе сейчас не важно как они связаны между собой один-к-одному, многие-ко-многим или один-ко-многим). В соответствующих классах имеются ссылки друг на друга, т.е. например грант имеет список с проектами, а проект имеет ссылку на грант и т.д.

Теперь, предположим, необходимо получить все гранты с указанием университетов, в которых работают руководители проектов, выполняющихся на данный грант, т.е. структура результата запроса такова:
Grant_1, University_1
Grant_2, University_1
Grant_3, University_2
и т.д.

Чтобы теперь выполнить такой запрос, необходимо связать с помощью join сущность Grant к University (как в JPA, так и в HQL).

Теперь собственно вопрос: есть ли инструменты, которые позволяют делать интуитивные запросы по модели без указания связей (связи, например, выводятся или получаются на основе мета-информации)? Т.е. хочется писать что-то вроде такого псевдокода:

select Grant..University where Grant.country='Russia'
ведь между Grant и University существует однозначный путь.

На основе данного псевдокода строится запрос:

select g, u 
from Grant as g join g.projects as pr join pr.teams as t join t.manager.uniersity as u
where g.country='Russia'

Можно без относительно к технологиям, можно статьи где ставилась подобная задачи и доказывалось, что это не нужно (невозможно, не продуктивно). Вообщем любая информация приветствуется. Сам не смог нагуглить.
Спасибо.

dimv
()

[Java] Запросы к БД через Hibernate.

Добрый день.
Как я знаю можно задавать запросы несколькими способоми:
1. Query by API, используя для этого, например, Criteria API 2.0 из JPA 2.0.

2. Query by String. Пишется запрос, например, на JP-QL или HQL, по которому получаем результат. Все проблемы таких запросов перечислены здесь.

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

 

dimv
()

[хочется] Parsing Techniques: A Practical Guide

Хочется сабжа http://www.ozon.ru/context/detail/id/4629616/ , но нищебродство такое нищебродство. Сабж составляет 2/3 зарплаты. Можно ли в нерезиновой или болотостане найти хотя бы за 3-4 тысячи.

dimv
()

[dia] Тень у объекта.

Вот прямо как здесь: http://developer.symbian.org/wiki/images/d/df/File_server.png . Можно как-нибудь сделать с помощью Dia?

 

dimv
()

[тыщураз][админлокалхост]adsl + точка доступа + два компа - не получается настроить

Модем d-link 2500u подключен к телефонной линии. Настройки: pppoe 0/0/55 (port/vpi/vci).

Точка доступа d-link di-524 up (4 порта + WLAN) подключена к модема.

В точку доступа втыкается два провода от компов.

Если от модема воткнуть в точку в WLAN оба компа получают IP адреса 192.168.0.100 и 192.168.0.101 соответветственно, доступна страничка точки по адресу 192.168.0.1, НЕ доступна страничка модема по адресу 192.168.1.1, имена разрешает, но сами данные не доставляет, т.е. инета нет.

Если от модема воткнуть в обычный порт точки, то один из компов (который первый загружен) получает адрес от провайдера (такой же адрес, если воткнуть от модема сразу в сетевуху), второй комп не может поднять eth0, видна страничка модема, НЕ видна страничка точки, на первом компе интернет есть.

Может что-то хитрого надо указать в настройки модема или точки, ибо в интернетах говорят, что заводится с полпинка (правда на winxp)?

Линукс тут при том, что на обеих машинах он стоит.

P.S. Пробовал на точке крутить wlan, т.е. настраитьва как pppoe, pppoe only for russian - но безрезультатно. На модеме все что можно разрешил,

P.S.S. Не нашел на модеме, где включается NAT (а он где-то должен по идее включаться ибо пишет NAT is disable).

dimv
()

[php] Не работает функция mail.

Возвращает true, но при этом не приходят письма на указанный адрес. Что такого хитрого надо запустить, чтобы заработало? В php.ini секция [mail function] оставлена без изменений, т.е. все закомментировано. Запускал скрипт от рута в консоле - не помогает, т.е. дело не в правах на запуск процессов. Что может быть такое?

 

dimv
()

[философия] есть что почитать занятного?

Собственно сабж.

Через полгода предвидится экзамен по философии, хотелось бы быть в теме. Только чтобы не заснуть на 2 странице, хотя бы к 10-15.

 

dimv
()

[выбор]интерфейс к БД.

Собственно в нашем мухосранске о том, что такое разработка софта слышали не многие. Вообщем как-то нашел меня один знакомый кадр, говорит что нужна кнопка "сделать зае***сь", все как обычно сделать то, не знаю сам что. Путем ректального криптоанализа удалось узнать, что нужно спроектировать БД и написать интерфейс к нему (сейчас все данные храняться в excel) со всякими гламурными вещами (типа напечатать отчет за месяц). Вообщем подписался на это чисто из-за знакомства.

Контора небольшая, связанная с недвижимостью. Предполагается выделить сервак(скорей всего будет обыкновенный десктом под столом директора) + 4-5 клиентов, которые будут работать с этой бд.

В случае если клиент предпочтет модель с толстым клиентом мой предложение: qt4 + postresql. А ваше?

 

dimv
()

[kopete]кодировка

неожиданно поломалась кодировка для одного контакта, который с винды с миранды пишет. До сегодняшнего дня все было ОК, В свойствах контакта было проставлена cp1251. Сегодня выдает: äàðîôô . Проставка других кодировок не помогает (по умолчанию, utf-8, koi8-r).

В чем может быть проблема?

ЗюЫюЖ Версия kopete 0.60.3, opensuse 11.1, xfce 4.4

dimv
()

[java] автоматическое написание сеттеров и геттеров в netbeans.

Описал атрибуты класса. Можно ли как-то netbeans заставить написать за меня все геттеры и сеттеры?

 

dimv
()

[kopete] история не контактов

Где может хранить (или вообще хранит ли?) копыто, системные сообщения? Что-то типа "пользователь Ч вошел в сеть", "пользователь Ч вышел из сеть", "контакт № добавил вас в лист" ну и т.д..

В ~/.kde4/share/apps/kopete нашел только историю разговоров.

Пните где можно найти это дело?

dimv
()

[php]Не работает конструкция <?=$var;?>

Сабж. Не работает на локальном десктопе. Приходится исправлять на конструкцию <?php echo $var;?> . Ума не приложу где и что можно (нужно) поменять, чтоб заработало.

opensuse11.1
PHP 5.2.9 with Suhosin-Patch 0.9.7 (cli) (built: Mar 12 2009 21:22:29)
Server version: Apache/2.2.10 (Linux/SUSE)


Все ставилось из репов.
Перемещено hibou из Development

 

dimv
()

[xfc4.4.3][opensuse11.1]не работают некоторые хот-кеи

Через раз (здесь это употребляется в буквальном смысле) в русской раскладке не работают backspace и alt-f2. Если с alt-f2 еще можно смириться, то backspace доставляет. Что нужно поправить и где?

dimv
()

[анабиоз]чтение и постинг на форум

Есть форум, предположим движок известен.

<мечта>

Есть программа с функционалом и интерфейсом почти полностью повторяющая один из многочисленных IM, только вместо контактов - темы интересные мне из изестного форума. Кто-то запостил в тему - сразу вывалилась мессага, я, если посчитал нужным ответить, ответил, enter и фперед дальше работать.

</мечта>

Что мне нужно для себя открыть?

dimv
()

[jabber]Ошибка аутентификации

Все клиенты, что я попробовал под opensuse 11.1 выдают мне сабж. Что пробовалось: mkabber, kopete, sim, psi, tkabber.

VirtualBox + WindowsXP + miranda = все отлично работает.

Сервер - jabber.org:5222

Пните куда копать надо?

 

dimv
()

Запуск windows-swt под linux

Здесь написано, что можно запустить под linux откомплированный под windows swt http://www.linux.org.ru/view-message.jsp?msgid=2882514&page=2#2884771

Нужно запустить carbide. А пока падает с таким логом:

!SESSION 2009-02-14 21:34:04.187 -----------------------------------------------                                             
eclipse.buildId=I20080617-2000                                                                                               
java.version=1.5.0_15                                                                                                        
java.vendor=Sun Microsystems Inc.                                                                                            
BootLoader constants: OS=win32, ARCH=x86, WS=win32, NL=ru_RU                                                                 
Command-line arguments:  -os win32 -ws win32 -arch x86                                                                       

!ENTRY org.eclipse.osgi 4 0 2009-02-14 21:34:07.636
!MESSAGE Application error                         
!STACK 1
org.eclipse.swt.SWTError: No more handles
        at org.eclipse.swt.SWT.error(SWT.java:3803)
        at org.eclipse.swt.SWT.error(SWT.java:3695)
        at org.eclipse.swt.SWT.error(SWT.java:3666)
        at org.eclipse.swt.graphics.Image.<init>(Image.java:730)
        at org.eclipse.jface.resource.URLImageDescriptor.createImage(URLImageDescriptor.java:162)
        at org.eclipse.jface.resource.ImageDescriptor.createImage(ImageDescriptor.java:227)
        at org.eclipse.jface.resource.ImageDescriptor.createImage(ImageDescriptor.java:205)
        at org.eclipse.ui.internal.Workbench.initializeImages(Workbench.java:1485)
        at org.eclipse.ui.internal.Workbench.createDisplay(Workbench.java:537)
        at org.eclipse.ui.PlatformUI.createDisplay(PlatformUI.java:161)
        at org.eclipse.ui.internal.ide.application.IDEApplication.createDisplay(IDEApplication.java:143)
        at org.eclipse.ui.internal.ide.application.IDEApplication.start(IDEApplication.java:88)
        at org.eclipse.equinox.internal.app.EclipseAppHandle.run(EclipseAppHandle.java:193)
        at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.runApplication(EclipseAppLauncher.java:110)
        at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.start(EclipseAppLauncher.java:79)
        at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:386)
        at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:179)
        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
        at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
        at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
        at java.lang.reflect.Method.invoke(Unknown Source)
        at org.eclipse.equinox.launcher.Main.invokeFramework(Main.java:549)
        at org.eclipse.equinox.launcher.Main.basicRun(Main.java:504)
        at org.eclipse.equinox.launcher.Main.run(Main.java:1236)

!ENTRY org.eclipse.osgi 2 0 2009-02-14 21:34:07.720
!MESSAGE The following is a complete list of bundles which are not resolved, see the prior log entry for the root cause if it exists:
!SUBENTRY 1 org.eclipse.osgi 2 0 2009-02-14 21:34:07.720
!MESSAGE Bundle update@plugins/org.eclipse.swt.wpf.win32.x86_3.4.1.v3449c.jar [19] was not resolved.
!SUBENTRY 1 org.eclipse.osgi 2 0 2009-02-14 21:34:07.720
!MESSAGE Bundle update@plugins/org.eclipse.swt.win32.win32.x86_64_3.4.1.v3449c.jar [79] was not resolved.
!SUBENTRY 1 org.eclipse.osgi 2 0 2009-02-14 21:34:07.720
!MESSAGE Bundle update@plugins/org.eclipse.equinox.launcher.win32.win32.x86_64_1.0.101.R34x_v20080731/ [95] was not resolved.
!SUBENTRY 1 org.eclipse.osgi 2 0 2009-02-14 21:34:07.721
!MESSAGE Bundle update@plugins/org.eclipse.equinox.launcher.wpf.win32.x86_1.0.101.R34x_v20080731/ [118] was not resolved.

amd64 + opensuse-11.1 + kernel 2.6.27.7-9-default + wine-1.1.9 + стоит java версия под wine 1.6u12

Запускаю через wine, устанвленный бинарник (кстати, ставится на ура). Ткните как правильно делать и куда надо копать?

dimv
()

Разница между dhcpd.leases и dhcp.log

dhcpd.leases - база данный (database), хранящая в текстовом файле данные об арендах (leases).
Пример:
lease 192.168.100.211 {
starts 0 2008/04/01 03:12:51;
ends 0 2008/04/01 04:12:51;
cltt 0 2008/04/01 03:12:51;
binding state active;
next binding state free;
hardware ethernet 00:76:00:aa:3d:23;
uid "";
client-hostname "aphina";
}

dhcp.log - сюда сбрасываются c помощью syslog мессаги о взаимодействии клиента-сервера.
Пример:
Jan 19 00:00:03 ns dhcpd: DHCPINFORM from 172.20.100.01 via vlan802
Jan 19 00:00:03 ns dhcpd: DHCPACK to 172.20.100.01
Jan 19 00:00:03 ns dhcpd: DHCPREQUEST for 172.20.100.02 from 00:31:dd:ff:01:34 (Hostname Unsuitable for Printing) via vlan802
Jan 19 00:00:03 ns dhcpd: DHCPACK on 172.20.206.129 to 00:31:dd:ff:01:34 (Hostname Unsuitable for Printing) via vlan802

Какая идея хранения примерно одного и того же в двух видах? И где можно достать документацию по syslog-овским сообщениям (кроме как из кода)?

dimv
()

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