- 1
- 2
- 3
- 4
- 5
- 6
- 7
if (sscanf(buf, "%d-%d-%d %d:%d:%d %d.%d.%d.%d %s %d.%d.%d.%d %llu %llu %llu %llu %d %d %d",
&r->year,&r->month,&r->day,&r->hour,&t5,&t6,&s1,&s2,&s3,&s4,&r->iface,&d1,&d2,&d3,&d4,
&r->packets_out,&r->bytes_out,&r->packets_in,&r->bytes_in,&r->proto,&r->sport,&r->dport)<22) {
printf("Syntax error at line %u\n", t->count + 1);
/* ... some cleanup ...*/
return 0;
}
Регулярки - тоже вариант.
А по сути... Идей много, времени мало. Я даже почти допилил чатик-мод для борманда, чтобы новые сообщения в треде всплывали сбоку и встраивались в страничку в реалтайме.
Кстати, @rat4vier в проекте больше не заинтересован, а одному пилить как-то грустно...
Лень заморила на корню множество хороших начинаний.
Так к чему я это... а, вот в очередной раз, когда уютненький, скажем, ляжет, надо завалиться всем на ГК2.0 (всё время теряю ссылку на него, надо забукмарчить), и всё чего не хватает пилить на ходу в ходе общения.
Я хотел поучаствовать в разработке того, что сейчас написано на Scala, но когда я открыл код, я быстро понял, что решения задачек для projecteuler недостаточно для освоения этого языка. Во всяком случае Lift мне кажется существенно сложнее того же Play.
От текущего зашквара на работе я готов писать на любом языке, который смогу понять. Только в случае участия более чем двоих человек нужно хотя бы какой-то беклог иметь и распределять задачи.
Может быть целесообразно устроить голосование на предмет того, на чем писать и кто готов присоединиться?
лол нахер апач вообще нужен, http сервер нетрудно написать и самому
В принципе, мелкософт вроде продвигал идею облачных приложений на с++. Возьмём boost.asio и вперёд!
Но вот кривая обучения похлеще, чем у Emacs. Но вещь крайне годная.
P.S. Emacs мне кажется гораздо проще, чем Vim
Это субъективно, но мне, к примеру, очень тяжело запоминать стандартные биндинги в Emacs. Я работаю с ним 3,5 года, и до сих пор не могу запомнить биндинги для работы с прямоугольными областями. А в виме руки сами всё делают даже ночью с бодуна, хоть я его гораздо меньше использую.
А в емаксе для каждого такого действия нужно задрачивать зубодробительные комбы. Ну хотя фанатам mortal combat и tekken наверное не привыкать ;)
>Ну хотя фанатам mortal combat и tekken наверное не привыкать
Думаю Бетховен был бы чемпионом и гуру.
Пианино кажется мне посложнее джойстика и клавы. Плюс там важна не только память на сочетания, но еще паузы и ритм.
у рахманинова растяжка была на терцдециму, но это не значит, что его аккорды в 7 нот и на 3 октавы надо играть в один заход ;)
сколько барабанщиков нужно чтобы вкрутить лампочку?
Специальная клава для барабанщиков. С достаточно крупными клавишами, по которым можно лупить палочками.
У него гармония сложная обычно, вполне возможно, что он большим пальцем секунды брал...
Об этом я и говорил.
пальцев 5
большим пальцем секунда +1
=6
это большим пальцем надо брать сразу 3, что ерунда
ну или ладонью плашмя, из той же категории
очевидно легенды про 7 нот в аккорде берутся из, например:
https://dl.dropbox.com/u/4275844/rach-6k.png
на картинке можно увидеть партитуры для правой и левой руки, никакой дабл-рахманинов не возьмет эти аккорды по 6 нот одновременно
Любой музыкальный инструмент сложнее клавы на порядоки. Ибо там головой нужно много думать, ритм держать, над звуком работать, голоса соединять...
ЛолШто?
Бубен используют уже тогда, когда клавиатура бессильна.
>http://youtu.be/f6zK_uysQSA?t=1m13
>только что
>http://www.youtube.com/watch?v=f6zK_uysQSA
Праведный Страйкер! Хайвмайнд на говнокоде!
Что?
Верно.
>Лист и Рихтер тоже были бы в теме
Я только хотел сказать, будь жив сейчас Бетховен - был бы чемпионом по Мортал Комбату или какой-другой задротской игре.
Знаю не по наслыше, а от фаната, который все хочет наш проект перевести на Монгодб и Ноде.ЖС, и так больно на это смотреть...
К node.js особой тяги не испытываю, разве что шумихи вокруг него много было, вот и спросил.
Вот так и нас внутренние веб-приложения написаны: дырявые, тормозят и падают.
К тому же, начинания одного-единственного человека (ленивого человека - знаю по себе) приводят обычно ко вселенской тоске.
да это почти классика самого примитивного парсинга строк.
может и не поверите, но жабщики и шарпщики (по крайней мере в моей конторе) завидуют.
> const char FMT[] = "...
зачем!!!!???
> зачем!!!!???
Так я ещё и форматирую обратно в строку тем же форматом.
То есть конструкция const char FMT[] = "..."; весьма бессмысленна. В то время как char FMT[] = "...";, char* FMT = "..."; и модификации последнего с const имеют смысл.
Имеет смысл только если символы действительно будут менять. Или если сишная функция требует char* и нет гарантий того, что она ничего не правит.
> char* FMT = "..."
Нехороший прием. В сишке можно юзать разве что для совместимости со старым кодом, в котором не писали const, но есть гарантия того, что функция не будет модифицировать строку. В крестах - вообще никогда.
> const char *FMT = "..."
Все ок.
Поправлю на досуге на
const char * const FMT = "...";
Нужно больше констов.
P.s. Или тут копирование?
http://liveworkspace.org/code/LiJzg$0
const на conste и constom погоняет.
Вот блин кресты. Ты или знаешь размер строки на этапе компиляции и копируешь строку без нужды или не знаешь и считаешь вручную в рантайме если нужно и не копируешь.
Или знаешь длину на этапе компиляции, не копируешь, но нужны 11 кресты ради constexpr ;)
Кстати const char FMT[] = "" и char FMT[] = "" в глобалках не должны вызывать задвоений и оверхеда. Сам литерал же нигде не используется, и любой достаточно умный компилятор выкинет его. А массив будет заполнен на этапе компиляции и помещен в секцию инициализированных данных. А вот если описать его локально - действительно будет копирование.