Wednesday, 4 December 2013
Friday, 17 May 2013
Modulo adjustment
Math.ceil10(55, 2) returns 100 where 2 expresses an exponent for 10^2. Besides of logarithmic adjustment we can use modulo based adjustment. It is almost the same as above but uses an arbitrary number for adjustment.
Tuesday, 2 October 2012
Continuing long lines in a batch script
Imagine, you have some weird combination of commands as below that is not put completely in one line of a screen.
some-command-with-many-arguments | another-lomg-command-with-its-own-arguments | etc | etc | etc
If the line of a code cannot be shown within one line on a screen it will be i) either turned and the rest of line will be shown below on one or more lines or ii) continued out of edges of the screen with a horizontal scrolling bar. Both of them are not convenient because we not able to observe the code entirely.
Fortunately, modern batch scripts (in XP, Vista, Win7) have blocks implemented by brace:
(
some-command-with-many-arguments
) | (
another-long-command-with-its-own-arguments
) | etc | etc | etc
I known this feature (because I used brace in the
if-else and for statements) but did not realised right now. So, this gives us good possibility to break the long line into a several lines without loosing of functionality. This is better than nothing and is better than undocumented feature using the DOS-like escaping character
^ at the very ending of the line because you have to look after that this character is in the lastest character of the line. See the same example with the esacaping character:some-command-with-many-arguments | ^ another-long-command-with-its-own-arguments | ^ etc | etc | etc
Unix shell scripts are featured to continue long commands using by backslashes since the begining of the Unix wolrd.
some-command-with-many-arguments \ | another-long-command-with-its-own-arguments \ | etc | etc | etc
Saturday, 29 September 2012
Monday, 25 June 2012
Merge and sort many logfiles having multiline entries
.gz/.bz2 files is available.
Tuesday, 15 May 2012
Regular Expression Analyzer
Regular Expression Analyzer
Sunday, 25 March 2012
Universal way to identify your external IP and more
Command line interface
Using curlcurl ifconfig.meor wget
wget -qO - ifconfig.me/ip
JScript
JS
var xmlhttp = new ActiveXObject('Microsoft.XMLHTTP');
xmlhttp.open('GET', 'http://ifconfig.me/ip', false);
xmlhttp.send();
var ip = xmlhttp.responseText;
JS+XML
var xmlhttp = new ActiveXObject('Microsoft.XMLHTTP');
xmlhttp.open('GET', 'http://ifconfig.me/all.xml', false);
xmlhttp.send();
var ip = xmlhttp.responseXml.getElementsByTagName('ip_addr')[0].text;
Having JSON library you can read and parse JSON data:
var xmlhttp = new ActiveXObject('Microsoft.XMLHTTP');
xmlhttp.open('GET', 'http://ifconfig.me/all.json', false);
xmlhttp.send();
var data = JSON.parse(xmlhttp.responseText);
var ip = data.ip_addr;
VBScript
Dim xmlhttp, ip
Set xmlhttp = CreateObject("Microsoft.XMLHTTP")
xmlhttp.open "GET", "http://ifconfig.me/ip", False
xmlhttp.send
ip = xmlhttp.responseText
Thursday, 5 January 2012
Artist/Album Info in Foobar2000
I use Run services to view/edit information about albums or artists stored in plain text files. Let's consider how it is possible.
Monday, 10 October 2011
Версии Internet Explorer
Tuesday, 12 July 2011
parseDate
Date.parse. Отличие заключается в том, что корректно обрабатывает строки, содержащие миллисекунды.
Sunday, 1 May 2011
Обмен данными и объектами между скриптами
IWebBrowser2 (ссылка: IWebBrowser2 Interface). Объект хранит в себе данные даже после завершения всех скриптов, практически как буфер обмена, и может служить как средство обмена данными и объектами между скриптами.
Friday, 18 March 2011
Функция вывода разницы во времени
Sunday, 26 December 2010
JavaScript html entities
var original = 'string with guillemets (standard quotation marks in Russia) « and »'; // do something to convert the original string to applicable characters var entities = ...; // insert the resulting string to the DOM var textNode = document.createTextNode(entities);Найденное решение [2] видимо очень известно во всем интернете. Однако это решение нам показалось не оптимально - довольно громоздкий код, который циклически перебирает и заменяет программно заданный набор сущностей. И этот код не использует внутренние возможности самого браузера - ведь браузер делает это автоматически. Но решение было найдено [3]. Этот код полностью нас удовлетворял - он очень мал, использует встроенные возможности и не содержит жестко заданного набора конвертируемых сущностей. Параллельно мы нашли решение для обратной задачи - перевод символов в их сущности [4].
В дальнейшем мы адаптировали оба решения в единый класс Entity. Мы обратили внимание на тот факт, что при переводе "двойных" и 'одинарных' кавычек они не преобразуются в свои сущности. Это не столь критично, но мы посчитали, что этот "недостаток" должен быть исправлен и добавили немного "ручной" работы.
Полное решение с комментариями можно найти по этой ссылке. Здесь можно посмотреть как это работает:
Friday, 6 August 2010
О веб-технологических котлетах
Давайте сразу разложим все котлеты по своим тарелкам - рыбные, мясные, прочие.
В нашем веб-общепите есть стабильный набор очень популярных ингредиентов из которых готовят веб-котлеты. Меню стандартизировано, хотя есть незначительные различия, но, в целом, у всех одинаковый ассортимент.
MySQL, PHP - серверные приложения, они готовят котлеты, ТОЛЬКО серверные котлеты (для приготовления этих котлет используются и другие приложения, но эти - самые распространенные). HTML, CSS, JavaScript - клиентские технологии и готовят только клиентские, такие рыбные котлеты. Здесь я немного слукавил. HTML это зразы, такие особые котлеты, которые готовятся на серверной стороне, но для клиентской стороны.
Если проводить другую, более правильную аналогию, то...
База данных это библиотека, хранилище информации, PHP, Perl, ASP - архивариус, он подготавливает новые данные к хранению и извлекает старые для показа. Веб-сервер - библиотекарь на абонементе, который просит архивариуса принять запрос, выполнить и вернуть отчет о выполненной работе. "Отчетом" может быть сообщение о том, что новые данные помещены в библиотеку, список данных, извлеченных из библиотеки или сообщение об отсутствии запрашиваемой информации. Браузер - клиент, которому данные понадобились или который доставил новые данные (альтруист, который готов поделиться своей информацией). Информацию клиент получает в стандартизированной форме - книга, определенного формата, состоящая из сшитых тетрадей, обернутых в обложку, либо это набор свитков, либо пачка каменных скрижалей -стандарт HTML работает во всех браузерах, но у каждого есть свои маленькие особенности.
Однажды было решено, что каждый клиент библиотеки должен получать нужную ему информацию в определенном стандартизированном формате. Поэтому, чтобы все данные выглядели одинаково - красивый iPod, с красивыми обоями, любимыми рюшечками и с обязательным гламурным тачскрином - придумали способ, чтобы все это разнообразие облагородить и анимировать - CSS, JavaScript. CSS призван сделать из книги, свитка и скрижалей единообразный iPod, JavaScript придуман и облагорожен для того чтобы каждый iPad и iPaq и даже самый первый, простейший коммуникатор чувствовали себя iPod'ом.
Был придуман набор правил для каждой книги и скрижали, но не учли всех книг всех нестандартных форматов и всех скрижалей выше двух локтей в высоту и тяжелее пуда. А еще позволили каждой типографии и каждому резчику по камню иметь свое представление того, как должен выглядеть этот iPod на самом деле. Отсюда и пошли разногласия в представлении каждой стрижали и каждого свитка как Слово Божие должно представляться и анимироваться. Но не все так плохо, появились кудесники (дизайнеры с верстальщиками, и программистами), которые нашли способы, чтобы заставить каждую скрижаль и свиток показывать (CSS-hacks) и анимировать (JavaScript-frameworks) единообразно. Да так, что большинство и не задумывается о ма-а-аленьких различиях. В основном... Но если приглядется... то как не чисть рыбу а кости-то все равно в котлету попадут.
Tuesday, 27 April 2010
Monday, 29 March 2010
Wednesday, 17 March 2010
Tuesday, 16 February 2010
Friday, 12 February 2010
CMD/BAT A few useful routines
Thursday, 28 January 2010
CMD/BAT: Repeat a string multiple times
CMD/BAT only. It accepts three arguments: the name of a variable to store the resulting string, the multiplier (number of time the input string should be repeated), and the input string.