LINUX.ORG.RU

Сообщения MKuznetsov

 

идея конкурса под пиво

Форум — Talks

Что-то в разделе Development как-то стало скучно. В честь пятницы предлагаю обсудить потенциально холиварный командный конкурс — реализацию любого практичного ЯП на неродственном языке (чтобы избежать тупого eval), произвольными группами товарищей, без заимствования готового кода. Например 7 дней (до следующей тяпницы) на определение конкретных условий и критерия победы и 9 дней на реализацию(чтоб 2 пары выходных попали).

Чтобы было азартно, можно делать ставки :) или открыть счёт на приз победителям

Предполагаю, что наиболее просты к реализации lisp и fort подобные. Но у них наверняка есть подводные камни, о которых местные аналитики не знают либо умалчивают :-) . Неплохими кандидатами видятся подмножества tcl и pascal, первый из-за простой концепции, второй за счёт проработанной p-машины. Что-то вроде python/ruby кажется сомнительным.

Причем сдаётся что реализаторы pascal-подобного имеют замечательные шансы :) Апологетам lisp ещё надо договариваться про gc и реализуемые фичи, знатоков форт «мало и слишком далеки они народа», tcl только внешне кажется простым.

PS. хотя если честно — нынешний посетитель lor ленив и неазартен, так что скорее всё пропадёт в туне

 fort, , ,

MKuznetsov
()

рекурсивный прототип

Форум — Development

Хочется объявить прототип: указатель на функцию, которая возвращает аналогичную(с тем-же прототипом) функцию.

typedef void * (*foo)(); // <- вместо void *, должен быть foo

собственно как ?

 ,

MKuznetsov
()

Наличные всё

Форум — Talks

http://lenta.ru/news/2013/10/08/nocash/

«Банк России поддержал предложение министерства финансов ограничить максимальную сумму наличных расчетов 600 тысячами рублей.»

малый бизнес окончательно убит и экономика поделена на чёрную-белую.

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

 

MKuznetsov
()

Комп таки сдох

Форум — Linux-hardware

(продолжение опять сдох комп:-()

после замены БП и чудесного старта, системник отработал ровно одну сессию - в 3 ночи был корректно выключен, а 8 утра (через 5часов) уже не ожил :( На этот раз лампочкой питания он уже не мыргает, может разве что подмигнуть клавой включенной через переходник в ps/2.

реквестирую советы по наименее затратному оживлению железа и мысли про что могло сломаться и как подобное можно в будущем диагностировать.

P.S. выходные удались - комп помер, утюг сломался, тёщина дверь открыта с ноги и требует замены замка :)

 , ,

MKuznetsov
()

быстрое редактирование строк с разделением памяти

Форум — Development

не хочется велосипедить свою реализацию,поэтому сначала ищу:

- С-шная библиотеку для работы со строками и текстами (структурирование текста)

- Для Unicode (чтоб внутре был wchar_t, а лучше utf8)

- с [del]блекджеком и шл[/del] с тегированием строк

- с максимально быстрым редактированием. Самые частые ожидаемые операции - конкатенция, вставка и удаление подстрок.

- тексты очень большие и неплохо если контент будет шариться между строками

где-то так вот :-)

близкое к желаемому libxml - но тяжеловесное API и сделан(оптимизирован) немного для других вещей.

MKuznetsov
()

опять сдох комп:-(

Форум — Linux-hardware

Надо понять что конкретно ушло к проотцам. Симптомы: поиграл блин в дуалбуте - со всех сторон враги и все отключилось. Кнопка ВКЛ.не работает, мыргнет диодом питания и все.

Это что, очередной бп каюк? Если мать или проц то совзсем пичаль-пичаль :-(

P.s. а рядом стоит свеже-месяц-как собранный блок из новых комплектующих, который вообще не завелся. Что блин за перенаправлен

 

MKuznetsov
()

как такое сделать css-ом ?

Форум — Web-development

есть текст в тегах <pre></pre> внутри него могут быть слова обрамлённые <span class=«remark»> - вот их бы разместить справа на заданном отступе в той-же строки где встретились.

то есть текст

<pre>строка1
какой-то текст <span class=«remark»>заметка</span> ещё текст
строка2</pre>

должен отрендерится в

строка1
какой-то текст ещё текст            заметка
строка2

MKuznetsov
()

ОС на флешке vs SQL базы на ней

Форум — Admin

имеется машинка с 4G hdd (thin client), хочется её задействовать под мониторинг сети - пусть себе стоит и коллектит статистику snmp. Но на винт взаимоисключающе влезает либо ось, либо базы

Если ставить ОС на винт, то встаёт вопрос о работе баз Mysql на флешке - есть подозрение что за месяц флешка просто умрёт.

Если ставить какой-нить puppyrus на флешке, то не до конца понятно как в него во frugal варианте поставить cacti со всем необходимым и опять-же может внезапно кончится место под базу. То есть мороки ощутимо больше, риски те-же :(

вопросов всего 2:

№1 возможно-ли и как правильно содержать MySQL базу на флешке,

№2 ткните в мануал по puppy - как в него поставить snmp,apache, php, mysql - тяжёлые весьма пакеты...или безболезненно перетащить настроенный puppy из виртуалки на флешку

ps. добавить винт, хоть внешним, хоть по usb - не предлагать.

MKuznetsov
()

Code formatter

Форум — Development

хочу найти subj, который делает подобное:

#include                                     <math.h>
#include                                   <sys/time.h>
#include                                   <X11/Xlib.h>
#include                                  <X11/keysym.h>
                                          double L ,o ,P
                                         ,_=dt,T,Z,D=1,d,
                                         s[999],E,h= 8,I,
                                         J,K,w[999],M,m,O
                                        ,n[999],j=33e-3,i=
                                        1E3,r,t, u,v ,W,S=
                                        74.5,l=221,X=7.26,
                                        a,B,A=32.2,c, F,H;
                                        int N,q, C, y,p,U;
                                       Window z; char f[52]
                                    ; GC k; main(){ Display*e=
 XOpenDisplay( 0); z=RootWindow(e,0); for (XSetForeground(e,k=XCreateGC (e,z,0,0),BlackPixel(e,0))
; scanf("%lf%lf%lf",y +n,w+y, y+s)+1; y ++); XSelectInput(e,z= XCreateSimpleWindow(e,z,0,0,400,400,
0,0,WhitePixel(e,0) ),KeyPressMask); for(XMapWindow(e,z); ; T=sin(O)){ struct timeval G={ 0,dt*1e6}
; K= cos(j); N=1e4; M+= H*_; Z=D*K; F+=_*P; r=E*K; W=cos( O); m=K*W; H=K*T; O+=D*_*F/ K+d/K*E*_; B=
sin(j); a=B*T*D-E*W; XClearWindow(e,z); t=T*E+ D*B*W; j+=d*_*D-_*F*E; P=W*E*B-T*D; for (o+=(I=D*W+E
*T*B,E*d/K *B+v+B/K*F*D)*_; p<y; ){ T=p[s]+i; E=c-p[w]; D=n[p]-L; K=D*m-B*T-H*E; if(p [n]+w[ p]+p[s
]== 0|K <fabs(W=T*r-I*E +D*P) |fabs(D=t *D+Z *T-a *E)> K)N=1e4; else{ q=W/K *4E2+2e2; C= 2E2+4e2/ K
 *D; N-1E4&& XDrawLine(e ,z,k,N ,U,q,C); N=q; U=C; } ++p; } L+=_* (X*t +P*M+m*l); T=X*X+ l*l+M *M;
  XDrawString(e,z,k ,20,380,f,17); D=v/l*15; i+=(B *l-M*r -X*Z)*_; for(; XPending(e); u *=CS!=N){
                                   XEvent z; XNextEvent(e ,&z);
                                       ++*((N=XLookupKeysym
                                         (&z.xkey,0))-IT?
                                         N-LT? UP-N?& E:&
                                         J:& u: &h); --*(
                                         DN -N? N-DT ?N==
                                         RT?&u: & W:&h:&J
                                          ); } m=15*F/l;
                                          c+=(I=M/ l,l*H
                                          +I*M+a*X)*_; H
                                          =A*r+v*X-F*l+(
                                          E=.1+X*4.9/l,t
                                          =T*m/32-I*T/24
                                           )/S; K=F*M+(
                                           h* 1e4/l-(T+
                                           E*5*T*E)/3e2
                                           )/S-X*d-B*A;
                                           a=2.63 /l*d;
                                           X+=( d*l-T/S
                                            *(.19*E +a
                                            *.64+J/1e3
                                            )-M* v +A*
                                            Z)*_; l +=
                                            K *_; W=d;
                                            sprintf(f,
                                            "%5d  %3d"
                                            "%7d",p =l
                                           /1.7,(C=9E3+
                              O*57.3)%0550,(int)i); d+=T*(.45-14/l*
                             X-a*130-J* .14)*_/125e2+F*_*v; P=(T*(47
                             *I-m* 52+E*94 *D-t*.38+u*.21*E) /1e2+W*
                             179*v)/2312; select(p=0,0,0,0,&G); v-=(
                              W*F-T*(.63*m-I*.086+m*E*19-D*25-.11*u
                               )/107e2)*_; D=cos(o); E=sin(o); } }

 , ,

MKuznetsov
()

Перевод сайта на WP и его поддержка

Форум — Job

есть необходимость перевести сайт c некой ImageCMS на более знакомый и понятный WordPress. Требований к сохранению шаблона и вообще внешнего вида нет. Можно брать готовый или даже (в меру) платный шаблон подходящий по тематике. Необходимо сохранить небогатое содержание, по возможности провести его SEO-оптимизацию и далее в качестве поддержки пинать нас, чтобы выдавали статьи,прайсы, релизы и прочее-прочее.

просто катастрофически нет времени на свой-же сайт :)

и ещё требование - Москва,Подмосковье. Должна быть возможность пожать руку/попить пива/набить морду :)

идеи, предложения - тут, или на почту max_kma@mail.ru

MKuznetsov
()

монтажник,пусконаладчик

Форум — Job

срочно нужны монтажники-слаботочники на монтаж ОПС, видеонаблюдения, СКС. Денег пока немного 1700р/день монтажник, 2000р/день инженер средней квалификации. Подробности по тел 8 (903) 200-0069, вопросы можно задавать тут.

 , ,

MKuznetsov
()

убивство ядра 3.0

Форум — Development

имеется система на старом ядре

3.0.0-31-generic #48-Ubuntu SMP Mon Feb 4 13:22:36 UTC 2013 x86_64 x86_64 x86_64 GNU/Linux
причем ядро менять нельзя (точнее крайне нехочется)

и процесс который циклически отжирает почти всю имеющуюся память выделяя и заполняя массив [1024][1024][4096].

Если не дай бог ещё что-то знатно потребляет память (огнелис к примеру), то система просто падает в куищще, а надо чтоб убился тот самый процесс с массивом (Убивать его нестрашно - всё равно отладка)

подскажите что можно в системе поднастроить..

ps кстати не пойму почему оно swap не задействует - он при полностью отожранной оперативке, занят процентов на %10 всего.

решено

ошибка вызывавшая reboot была где-то между firefox, ядром и (возможно) nvidia-блобом. убивство ядра 3.0 (комментарий)

 ,

MKuznetsov
()

Функциональный tcl

Форум — Development

зарелизил элементы ФП в Tcl. Представлены :

  • Функции высшего порядка filter,fold,map,merge
  • Композиция chain
  • Ленивые вычисления lazy
  • Каррирование curry и realcurry
  • Мемоизация memoize
  • всякие мелочи
    • zip транспонирование списков
    • range генерация последовательностей
    • ldiv lmod деления списков на части

по сравнению с пред.анонсом сделан окончательный выбор варианта синтаксиса в сторону уменьшения числа скобок :) Часть функционала реализована на C. Есть незначительный дегрейд - временно удалёна compose (позже верну) и сахара тоже стало меньше.

проект живёт на assembla.com https://www.assembla.com/spaces/tclamba/wiki, Инструкции по использованию соотв. https://www.assembla.com/spaces/tclamba/wiki/HOWTO

В будущем стоит ожидать

  • комбинаторы S K и прочие; реализуются они не сложно, просто пока нет настроя их делать
  • паралелльные вычисления в союзе с tpool
  • возможно macro и pattern-функции

заодно и вопрос - какие ещё бывают полезные фичи, которых может нехватать в tcl? например из пролога :) или ещё откуда..

 ,

MKuznetsov
()

как проверить 4-х пиновый разъём

Форум — Linux-hardware

тот который на мать, то есть питание на нём? не имея под рукой тестера..

ps. почистил блин комп о пыли..работают только вентиляторы и питание на USB

MKuznetsov
()

а накидайте ссылок на «пузомерки»

Форум — Development

а-ля "Работа с последовательностями в разных языках (Работа с последовательностями в разных языках)

это когда ТС`у быстро накидывают 100500 вариантов решения задачи на чуть менее чем дохрена языках. Официальные и академические ресурсы неинтересны - нужны именно темы где люди демонстрируют живую практику языков.

MKuznetsov
()

про TP-Link R470+/R480+

Форум — Admin

производитель заявляет что железка может конфигурироваться как 4 Wan+1Lan (то есть все пять интерфейсов независимо имеют/получают IP и реально маршрутизирует).

Вопрос счастливым обладателям сего - заявленное маркетингом соответсвует действительности? Какие протоколы маршрутизации оно держит (rip,ospf) или только статика? Маршрутизирует-ли он между wan-интерфейсами или только wan-lan..

железячно-продавцов такие вопросы повергают в ступор, из-за которого они не могут ничего ответить :(

ps. Если у кого под рукой такая железяка - напишите какой у неё блок питания - на сколько вольт и ампер. (а это вообще фирменный секрет не указанный ни в одной спецификации)

MKuznetsov
()

хочется на будущее шустрый программный кеш

Форум — Development

чтобы хранить бинарные данные (байт-код вирт.машины) по UTF-16/32 ключам в ограниченном объёме (по числу записей и объёму ключа) чтобы быстро к ним стучаться.

Но есть ограничение - имплементация классический ANSI С :( То есть модный новодел нейдёт :)

MKuznetsov
()

Функциональный tcl (часть2)

Форум — Development

в продолжении Функциональный tcl

как-то внезапно получились lazy и memoize :) это уже в добавок к map,fold,filter,zip,compose и прочим.

Демка:

#!/usr/bin/tclsh
source functional.tcl
namespace import f::*

# функция, что ну очень долго и нудно работает
set massive {{x} {
	puts "Чтото-там считаем над x=$x"
	after 1000
	puts "Читаем файлы и Обращаемся к серверам"
	after 1000
	puts "че-то получили"
	set x
}}
# но будет её соханять её результаты :)
set massive [ memoize $massive ]

set vector {}
foreach i [ range 0 10000 ] {
	lappend vector [ lazy $massive $i ]
}

set subvect [ lrange $vector 100 102 ]

set n100 [ invoke2 $massive 100 ]
set n100plus200 [ chain $massive {expr 200+} 100 ]
puts "=== Calcs done :) ==="
puts "ИТОГО:"
puts "massive 100..102 = $subvect"
puts "massive 100 = $n100"
puts "massive 100+200 = $n100plus200"
и выхлоп демки:
Чтото-там считаем над x=100
Читаем файлы и Обращаемся к серверам
че-то получили
=== Calcs done :) ===
ИТОГО:
Чтото-там считаем над x=101
Читаем файлы и Обращаемся к серверам
че-то получили
Чтото-там считаем над x=102
Читаем файлы и Обращаемся к серверам
че-то получили
massive 100..102 = 100 101 102
massive 100 = 100
massive 100+200 = 300

Хотелось бы узнать мнение сообщества об:

1) Наиболее естественный синтаксис для map,fold,filter и прочего. Сейчас

map func1 func .. funcN {argList}
Но может быть
map {funcList} arg1 arg2 .. argN
или
map {funcList} {argList}

2) Какие удобные фичи стоит подсмотреть в других языках ?

 ,

MKuznetsov
()

Функциональный tcl

Форум — Development

Точнее библиотека just-for-fun зарелижена вашим покорным слугой на https://www.assembla.com/spaces/tclamba

наличиствуют map, filter, fold, chain, compose, zip а также некоторые другие, полезные и не очень. Интеграция в стиль Тикля на мой взгляд получилась неплохая и даже удобная.

А вот примерчик:

## Можно использовать процедуры tcl как lambda
map { expr 2+$$ } [ f::range 1 10 ]
# =3 4 5 6 7 8 9 10 11 12

## Анонимные функции по прежнему используются
map { apply {{a b} { expr $a + $b }} } {{2 3} {4 5}}
# =5 9

## lambda можно выстраивать в цепочку
map { expr 2+} { expr 2*} [ f::range 1 10 ]
# =6 8 10 12 14 16 18 20 22 24

## Можно применять фильтры c break и continue
map {
	if { {$$} =={} } {  break } else { continue }
} {{a b} {expr $a + $b}} {{ 1 2} {0 7} {} {3 4}}
# =3 7

## fold lambda+ init list
fold {{{a b} {expr $a+$b}}} 0 { 1 2 3 4 }
# =10

map { fold {::tcl::mathop::+} 2 } { { 1 2 3 } { 4 5 6 } }
# =8 17

## filter lambda+ list
filter {expr $$ % 2} [f::range 1 10 ]
# =1 3 5 7 9

## chain lambda+ list - просто цепь исполнения без обработки сигналов
chain { concat "WORD" } { concat "hello" } { string totitle "$$" 0 end } "!!"
# =Hello word !!

## Можно строить композиции (конвееры),использовать внешние переменные
##  и много-много разного
set charClass "upper"
set numberOfUpperChar {
   {split {$$} {}}
   {isolate { if {$charClass == "lower"} { set charClass "upper"} }}
   {filter {string is $charClass -strict} }
   {collapse}
   {llength}
}
set lorem "Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum"

chain {*}$numberOfUpperChar $lorem
# =4

## в частности делать вот такую композицию:
set func [ compose2 {string range $$ 1 end-1} {lindex $$ end} ]
invoke [ list $func ] {one two three}
# =hre

## теперь можно считать факториалы "по взрослому" :)
proc fasum { n } {
	set s [ zip [ map {{ a {
		list "*(1+$a" ")"
	} }} [ range 2 $n ] ] ]
	set s [ string map { " " {} \{ {} \} {} } $s ]
	return [ string range $s 2 end-1 ]
}
fasum 10
# =1+2*(1+3*(1+4*(1+5*(1+6*(1+7*(1+8*(1+9*(1+10))))))))

в дальних планах - lazy, благо что свой-же код надо только слегка переделать и (если осилю NRE) lazylist

 ,

MKuznetsov
()

network discovering

Форум — Admin

subj. Ну очень надо простую в использовании тулзу для «изучения сети». Нечто что можно поставить на нотебук, за день просканить сеть,чутка подстроить и оставить на неделю чтобы снять всякие показания (нагрузки на каналы, наличие конфликтов, потери и так далее).

пока-что всё испробованное (zabbix,nagion,netdisco,wiredmaps) либо требует долгой предварительной настройки, либо не умеет мониторить автоматом-обнаруженное. И абсолютно всё не умеет работать в оперативных условиях - нет use-case «новая сеть-изучить-уточнить-снимать статистику-сохранить». Все они ориентированны на то что ставятся сразу и навсегда на выделенный сервер подконтрольной сети.

MKuznetsov
()

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