?

Log in

No account? Create an account

См Q1. XXX=LJ

Jan. 9th, 2018

08:45 am - Какая зима - такие и ёлки.

Jul. 10th, 2017

04:47 pm - XMLbasic и функции

<?xml version="1.0" encoding="utf-8" ?>
<module>
    <define name="hello">
        <code>
            <print>
                <gettext name="arg"/>
                <str> </str>
                <getattr name="what"/>
                <get name="finish"/>
            </print>
        </code>
    </define>
    <main>
        <code>
            <hello what="World">
                <arg>Hello</arg>
                <finish><str>!</str></finish>
            </hello>
        </code>
    </main>
</module>



function name="main" переименовал в main - так нагляднее.
Просится переимемнование code но пока не придумал во что именно.

Поскольку вызов функции - у нас описывается тэгом, это очевидным образом приводит к двум видам передачи параметров:которые заведомо неравнозначны между собой.
в аттрибуты хорошо ложатся опциональные заведомо константные параметры. К примеру open(2) логично представить в видe:
<open flags="O_RDWR"><filename>...</filename></open>


а вот неименованные параметры плодить не очень удобно. И наверное это правильно.
 сделать <get> по индексу никто не мешает, но пока не делал :)

Tags:

Jul. 6th, 2017

02:54 pm - XMLbasic и xslt

<?xml version="1.0" encoding="utf-8" ?>
<module>
    <function name="main">
        <code>
            <print>
                <str>Hello World!</str>
            </print>
        </code>
    </function>
</module>


Легким движением xslt превращается в :
#include <stdio.h>
int main(int argc, char ** argv){
printf("Hello World!");
        return 0;
}

Jul. 5th, 2017

12:30 pm - Циклы XMLbasic - шаг2.

<?xml version="1.0" encoding="utf-8" ?>
<module>
    <function name="main">
        <code>
            <let name="i" type="int">5</let>
            <repeat>
                <pre-cond>
                    <gt>
                        <var name="i"/>
                        <int>0</int>
                    </gt>
                </pre-cond>
                <block>
                    <print>
                        <str>Iter </str>
                        <var name="i"/>
                    </print>
                </block>
                <post-cond>
                    <dec name="i"/>
                </post-cond>
            </repeat>
        </code>
    </function>
</module>



Бодро печатает:
Iter 5
Iter 4
Iter 3
Iter 2
Iter 1


Код простой как палка:
def tag_repeat(tag):
    preCondition = tag.find('pre-cond')
    postCondition = tag.find('post-cond')
    body = tag.find('block')
    while(preCondition == None or evalChilds(preCondition)):
        evalChilds(body)
        if postCondition != None and not evalChilds(postCondition):
            break

Правда строк уже полторы сотни.

ЗЫЖ: А копипаста из PyCharm прикольно смотрится.

Tags: ,

10:42 am - XMLbasic - всякое забавное про циклы

Структура XML диктует некоторые особенности построения кода.
Как всем известно(tm) есть два вида циклов - циклы с пред-условием, и циклы с пост-условием.
Поскольку представление оных в XML по факту отличается только расположения условия, имеет смысл свести их в один цикл, выкидывая лишние условия по мере необходимости:

<repeat>
    <pre-condition/>
    <block/>
    <post-condition/>
</repeat>


Конструкция не так безумна как может показаться на первый взгляд. Аналог на С будет выглядеть так:
while(pre_condition){
    ....
    if(!post_condition) break;
}

Соответственно бесконечный цикл while(1){....} просто записывается в виде:
<repeat>
    <block/>
</repeat>

Циклов с двумя условиями мне ранее не попадалось, но айсберг языков программирования - дело такое.

Tags: ,

Jul. 4th, 2017

02:42 pm - Всякие извращения...

<?xml version="1.0" encoding="utf-8" ?>
<module>
   <function name="main">
       <code>
           <let name="ld" type="string">ld</let>
           <let name="w" type="string">Wor<var name="ld"/></let>
           <print>
               <str>Hello</str>
               <var name="w"/>
               <str>!</str>
           </print>
           <let name="a" type="int">3</let>
           <let name="b" type="int">2</let>
           <print><str>a + b = </str>
               <add>
                   <var name="a"/>
                   <var name="b"/>
               </add>
           </print>
       </code>
   </function>
</module>


И ведь работает. При интерпретаторе  менее 100 строк на python.

Mar. 7th, 2017

01:40 pm - #@$%!!!!!

И всё то у них так

mysql> explain select uid from log l where '2016-12-31' <= l.startday ;
+----+-------------+-------+-------+---------------+----------+---------+------+---------+-----------------------+
| id | select_type | table | type  | possible_keys | key      | key_len | ref  | rows    | Extra                 |
+----+-------------+-------+-------+---------------+----------+---------+------+---------+-----------------------+
|  1 | SIMPLE      | l     | range | startday      | startday | 3       | NULL | 8370032 | Using index condition |
+----+-------------+-------+-------+---------------+----------+---------+------+---------+-----------------------+
1 row in set (0,00 sec)

mysql> explain select uid from log l where '2016-11-31' <= l.startday ;
+----+-------------+-------+------+---------------+------+---------+------+----------+-------------+
| id | select_type | table | type | possible_keys | key  | key_len | ref  | rows     | Extra       |
+----+-------------+-------+------+---------------+------+---------+------+----------+-------------+
|  1 | SIMPLE      | l     | ALL  | startday      | NULL | NULL    | NULL | 65140960 | Using where |
+----+-------------+-------+------+---------------+------+---------+------+----------+-------------+
1 row in set (0,21 sec)

Tags:

Dec. 24th, 2016

11:53 am - Маленькая задачка на C

В коментариях родилась задачка, которая на мой взгляд, вполне заслуживает оформления отдельным постом:

Есть код на языке C

#include <stdio.h>
#include <string.h>

void something_wrong() {
  //(1)
  char * p;
  strcpy(p, "Hello");
  printf("%s World\n", p);
}
void some_other_code() {
}

int main()
{
  some_other_code();
  something_wrong();
  return 0;
}




И соответственно вопросы:

Nov. 28th, 2016

10:58 am - Рабочее

Мегафон уверенно рванул по проторенной пчелайном дорожке - пошел 4й день лежания магистрального канала.

Nov. 8th, 2016

11:48 am - А кто будет матом ругаться...

того кадилом по голове отцензорю

Nov. 2nd, 2016

05:46 pm - Придумайте подпись

Tags:

Oct. 6th, 2016

09:49 am - ...

У каждого клана теперь были свои новости, больше похожие на кино, и все снимали кино, больше похожее на новости. Ни одна из реальностей больше не являлась общей для всех. Добро и зло стали меняться местами от щелчка пальцев и дуновения ветра. И великую войну на уничтожение уже нельзя было остановить…

Apr. 12th, 2016

12:36 pm - Godot Engine - русификация

Поскольку из коробки godot не позволяет писать на русском, придется уделить данному вопросу некоторое внимание.
Под катом некоторое количество букв и много картинок.

Read more...Collapse )

Oct. 19th, 2015

09:08 pm - Как сложить из кубиков Ж, О, П, А слово «СЧАСТЬЕ»

Оригинал взят у _winnie в Как сложить из кубиков Ж, О, П, А слово «СЧАСТЬЕ»



Смотри ещё: • Сон разума рождает абстракции

Aug. 5th, 2015

11:03 pm - К вопросу о всплывшем в связи с Тютчевым "западники против славянофилов"

У русского художника есть два пути, и оба они ведут в тупик. Первый — ориентированный на «запад», (увлечение востоком тоже западная мода). Второй — почвеннический с ориентацией на местные «древности». Люди, исповедующие эти два направления движения мысли, условно именуются «западниками» и «славянофилами». В массовой культуре сегодня ярче всего они проявляют себя в поп музыке. Есть группы и певцы нарочито окающие, с архаизмами и «народным» звучанием. В противовес им выступают англопоющие с «фирменным» саундом. Присмотревшись, можно увидеть в них одно общее. Они не актуальны в широком смысле. Общий посыл их не про здесь и не про сейчас, а скорее про нигде и никогда. Идя по одному из этих очень русских путей, художник вылетает из местного контекста. Русское — это не западники и славянофилы, а как в электросварке: искра которая пробегает между двумя этими полюсами.
(c) Шнур
https://tjournal.ru/p/shnurov-philosophy

Aug. 4th, 2015

11:48 pm - Блажен кто посетил сей мир....

Напрасный труд — нет, их не вразумишь.
Чем либеральней, тем они пошлее,
Цивилизация — для них фетиш,
Но недоступна им ее идея.

Как перед ней ни гнитесь, господа,
Вам не снискать признанья от Европы:
В ее глазах вы будете всегда
Не слуги просвещенья, а холопы.

Jun. 27th, 2015

08:58 pm - Чудеса в ленте.

Оригинал взят у rikki_tikitavi в Чудеса в ленте.

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

В других общественных областях та же история. Только ленивый не ругает отечественную медицину, но у каждого есть в знакомых “доктор от Бога”. Или “учитель от Бога”. Или автомеханик с золотыми руками. И у каждой приличной женщины имеется свой гениальный кутюрье-стилист-визажист, то бишь портниха и парикмахер.

Так и хочется обнять ласково за плечи и сказать: “Милый, так это же мы, те самые! Не узнаешь?…”

P.S. Мне что-то кажется, что эта нетерпимость к “родным березам” - постсоветская черта. Из той эпохи, когда надо было неуклонно выявлять и изживать недостатки, делать мир лучше. Западный чел в этом плане куда поспокойнее, как мне кажется, он-то знает, что мир не изменишь. А вот мы все еще верим:)

Так что с этой точки зрения все наши либералы, майданщики, революционеры и прочие  – отравленные совком романтики. Потерявшие, в отличие от старого советского ватника, связь с реальностью:)

Mar. 29th, 2015

10:39 pm - Небольшая загадка (и чур не гуглить)

Давным давно, один очень известный человек, написал письмо другому весьма известному человеку:

Зная Вашу исключительно большую занятость, я все же, ввиду исторического значения ..............., решился побеспокоить Вас и просить Вас дать указания о такой организации работ, которая бы соответствовала возможностям и значению нашего Великого Государства в мировой культуре

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

Внимание вопрос - кто все эти люди?

Mar. 5th, 2015

04:02 pm - NAT event logging/Cisco ASR

Поскольку аппетиты nfdump начали слегка напрягать, пришлось быстренько напрячься и изобрести велосипед.
https://github.com/filonov-a/simplenat

Удобно все таки из 13гигового файлика сделать 2.6гига (без учета последующей компрессии).

Требует костылей для сборки, написано кривовато, но работает быстро.

Tags:

Dec. 30th, 2014

10:59 am

Jul. 25th, 2014

10:09 pm - Дэвид Духовны: «Вам есть чем гордиться!»

Оригинал взят у best_saler в Дэвид Духовны: «Вам есть чем гордиться!»


Jun. 27th, 2014

08:25 pm - “Не могу понять…” (с) капитан Алехин.

Оригинал взят у rikki_tikitavi в “Не могу понять…” (с) капитан Алехин.

А я вот думаю… когда Путин называет американцев и прочих евросоюзников “партнерами”, то он что имеет в виду – секс или покер?


Jun. 4th, 2014

11:23 pm - Casus nahui

Оригинал взят у divov в Casus nahui

Прекрасное из одного блога:
"Лично я в том, что было в Луганской ОДА, вообще никакой проблемы не вижу. Штаб боевиков - легальная военная цель. Это вам не из жилых дворов из минометов херачить и убегать, пока ответка не прилетела".

Я тут заметил странное: после теракта в Луганске многие мои соотечественники продолжают - как ни в чем не бывало - общение в комментах со сторонниками нынешней украинской "власти". Хохлосрач такой хохлосрач, все счастливы.
Господа и дамы, зачем вы говорите с людьми, которые поддерживают стопроцентный, печать негде ставить, государственный терроризм?
Факт авиаудара признан даже специальной комиссией ОБСЕ.
Есть варианты, когда город с мирными жителями признается легитимной военной целью. Но Луганск, мягко говоря, не Дрезден. Есть расклады, при которых авиаудары допустимы и в рамках АТО. Здесь не тот расклад совершенно.
Трагедия в Одессе оставила больше вопросов, чем ответов.
Трагедия в Луганске - ответ на все и за все сразу.
После нее любой, кто выступает на стороне "официального Киева", не заслуживает разговора.
Глухой игнор - максимум, чего он достоин.
Общаясь с такими, вы "кормите" не просто троллей (и зачастую подкармливаете комментаторов на зарплате), вы вступаете в диалог с сознательными и последовательными врагами человечества и человечности.
Завязывайте, дамы и господа.
Время разговоров прошло.
Наступает время глухого молчания.

Apr. 25th, 2014

09:58 am - Сенсация!

Стала известна реальная личность "бородача" из ополчения Славянска.


Под маской рядового ополченца Москва коварно заслала, аж целого генерал-майора, опытного специалиста по разведывательно-диверсионной деятельности, имеющего большой опыт подрывных действий на Украине:

[Узнать правду!]

Mar. 28th, 2014

10:53 am - Безумное чаепитие

Перемещаясь утром на работу, я таки сформулировал для себя, на что похожа ситуация вокруг майдана :


– Да, – отвечал Болванщик со вздохом. – Здесь всегда пора пить чай. Мы не успеваем даже посуду вымыть!
– И просто пересаживаетесь, да? – догадалась Алиса.
– Совершенно верно, – сказал Болванщик. – Выпьем чашку и пересядем к следующей.
– А когда дойдете до конца, тогда что? – рискнула спросить Алиса.
– А что если мы переменим тему? – спросил Мартовский Заяц и широко зевнул.

Параллели прослеживаются невооруженным глазом:
- троица устроившая чаепитие
- Болванщик, поссорился с временем аккурат в марте, ну и для образа:
В словах Болванщика как будто не было смысла, хоть каждое слово в отдельности и было понятно.

- всякая всячина на букву М. (ну это как-бы вообще очевидно),

- вежливый Чеширский Кот,появляющийся и исчезающий когда ему вздумается:
Вид у него был добродушный, но когти длинные, а зубов так много, что Алиса сразу поняла, что с ним шутки плохи.
ну и санкции - куда ж без них
– Душенька, вели убрать этого кота
У Королевы на все был один ответ.
– Отрубить ему голову! – крикнула она, не глядя.
– Я сам приведу палача! – сказал радостно Король и убежал.
...
Палач говорил, что нельзя отрубить голову, если, кроме головы, ничего больше нет; он такого никогда не делал и делать не собирается; стар он для этого, вот что!



Ну и в качестве эпилога:

Варкалось! Хливкие буйцы
пырялись по наве
и хрюкотали селюки
как мумзики в мове.

Navigate: (Previous 25 Entries)