Официальная возможность получить лицензионный софт бесплатно.
Giveaway of the Day
Это не реклама!

Щелкните для получения прогноза по Биробиджану


вторник, 24 декабря 2019 г.

bash: сравнение двоичных файлов с комфортом

Выкачал я с корпоративного FTP установочный образ винды. Не, всё легально - свежая официальная версия для установки внутри конторы. Копирую его на верный Zalman VE-300, гружусь с него на целевом компе и начинаю установку. Получаю славную ошибку 80070570 - "файл поврежден" или как-то так.
Не вдаваясь в лишние подробности, скажу, что образ действительно получился битый и md5 на ftp и у меня не совпали. Сегодня ночью с того же ftp скачался тот же (или перезалитый, чтобы скрыть повреждения?) образ, md5 совпали и я нормально установился с него.
Однако, всё это некрасивая лирика, а мне захотелось прекрасного. Например, как было в далёком DOS-овском детстве, можно было с помощью PCTools или Norton Utilities побайтно сравнивать файлы с большим комфортом, чем позволял штатный fc или cmp. Штатной приблуды в стандартной поставке "искаропки" нет, но свет не без добрых людей... Аж в 2010 году кто-то заинтересовался вопросом и получил на него интересные и полезные ответы.

--
diff  + xxd
Try diff in the following combination of zsh/bash process substitution:
diff -y <(xxd foo1.bin) <(xxd foo2.bin)
Where:
  • -y shows you differences side-by-side (optional).
  • xxd is CLI tool to create a hexdump output of the binary file.
  • Add -W200 to diff for wider output (of 200 characters per line).
  • For colors, use colordiff as shown below.

colordiff + xxd

If you've colordiff, it can colorize diff output, e.g.:
colordiff -y <(xxd foo1.bin) <(xxd foo2.bin)
Otherwise install via: sudo apt-get install colordiff.
binary file output in terminal - diff -y <(xxd foo1.bin) <(xxd foo2.bin) | colordiff
--
There's a tool called DHEX which may do the job, and there's another tool called VBinDiff.
For a strictly command-line approach, try jojodiff.
--

четверг, 10 октября 2019 г.

#!/bin/bash: поиск дубликатов файлов с выводом в csv

Все мы люди и все мы человеки. Со временем наша лень побеждает нас, и некогда красиво организованные файловые ресурсы превращаются в совершенно некрасивые файловые помойки. В том числе и за счет дублирующихся файлов.
С одной стороны, есть в убунтах, а также прочих никсах утилита fdupes, которая ищет дубликаты файлов в заданном пути. С другой, вывод этой утилиты далёк от совершенства и результат не очень пригоден для дальнейшей автоматизированной обработки. Пришлось написать скрипт-обёртку, который берет вывод fdupes и выводит результаты во что-то похожее на csv.



На выходе получаем CSV (разделитель полей - точка с запятой) в UTF8. Excel в этом плане туп и открывает его в 1251. Решение: в новой книге сделать импорт данных "из текста", задав нужные параметры.
Open/Libre-office сразу предлагают окно настроек и открывают в правильной кодировке.

воскресенье, 29 сентября 2019 г.

MySQL Workbench: read-only результаты запроса и safe update

Иногда при выборке из таблицы, причем без всяких выкрутасов, результат получается только для чтения потому что "To edit table data, the SELECT statement must include the primary key column(s)"



среда, 18 сентября 2019 г.

OpenOffice/LibreOffice - как скопировать сводную таблицу

Попытался скопировать свод с одного листа на другой. Вставились только значения.
Попытался скопировать целиком лист - оформление сохранилось, но собственно свод исчез, остались значения.
Как быть, если не хочется заново подбирать параметры, но нужна та же таблица немного в другом разрезе?

На исходной таблице жмём "Изменить макет", там жмём "Еще" и выбираем новый лист в качестве места назначения:


среда, 24 июля 2019 г.

Прогноз погоды из интернета

Искал одно, нашел совсем другое. Нашел вот что: "Как узнать погоду с помощью PowerShell". Хотел было порадоваться, неужто MS сделали что-то полезное. Оказалось, MS не при делах.

$ curl http://wttr.in/Биробиджан
Weather report: биробиджан

      .-.      Heavy rain
     (   ).    13..14 °C
    (___(__)   ↙ 16 km/h
   ‚‘‚‘‚‘‚‘    5 km
   ‚’‚’‚’‚’    20.0 mm
                                                       ┌─────────────┐
┌──────────────────────────────┬───────────────────────┤  Wed 24 Jul ├───────────────────────┬──────────────────────────────┐
│            Morning           │             Noon      └──────┬──────┘     Evening           │             Night            │
├──────────────────────────────┼──────────────────────────────┼──────────────────────────────┼──────────────────────────────┤
│      .-.      Heavy rain     │      .-.      Heavy rain     │               Overcast       │  _`/"".-.     Light rain sho…│
│     (   ).    13..14 °C      │     (   ).    13..15 °C      │      .--.     16 °C          │   ,\_(   ).   13..15 °C      │
│    (___(__)   ↙ 16-24 km/h   │    (___(__)   ↙ 18-27 km/h   │   .-(    ).   ← 21-28 km/h   │    /(___(__)  ← 22-31 km/h   │
│   ‚‘‚‘‚‘‚‘    5 km           │   ‚‘‚‘‚‘‚‘    8 km           │  (___.__)__)  10 km          │      ‘ ‘ ‘ ‘  10 km          │
│   ‚’‚’‚’‚’    18.9 mm | 80%  │   ‚’‚’‚’‚’    6.7 mm | 83%   │               0.3 mm | 57%   │     ‘ ‘ ‘ ‘   0.4 mm | 76%   │
└──────────────────────────────┴──────────────────────────────┴──────────────────────────────┴──────────────────────────────┘
                                                       ┌─────────────┐
┌──────────────────────────────┬───────────────────────┤  Thu 25 Jul ├───────────────────────┬──────────────────────────────┐
│            Morning           │             Noon      └──────┬──────┘     Evening           │             Night            │
├──────────────────────────────┼──────────────────────────────┼──────────────────────────────┼──────────────────────────────┤
│               Overcast       │               Overcast       │      .-.      Light rain     │  _`/"".-.     Light rain sho…│
│      .--.     12..13 °C      │      .--.     12..13 °C      │     (   ).    12..13 °C      │   ,\_(   ).   11..12 °C      │
│   .-(    ).   ↙ 14-20 km/h   │   .-(    ).   ← 12-17 km/h   │    (___(__)   ↙ 10-14 km/h   │    /(___(__)  ↙ 11-15 km/h   │
│  (___.__)__)  10 km          │  (___.__)__)  5 km           │     ‘ ‘ ‘ ‘   10 km          │      ‘ ‘ ‘ ‘  10 km          │
│               0.0 mm | 0%    │               0.3 mm | 47%   │    ‘ ‘ ‘ ‘    1.0 mm | 71%   │     ‘ ‘ ‘ ‘   1.2 mm | 65%   │
└──────────────────────────────┴──────────────────────────────┴──────────────────────────────┴──────────────────────────────┘
                                                       ┌─────────────┐
┌──────────────────────────────┬───────────────────────┤  Fri 26 Jul ├───────────────────────┬──────────────────────────────┐
│            Morning           │             Noon      └──────┬──────┘     Evening           │             Night            │
├──────────────────────────────┼──────────────────────────────┼──────────────────────────────┼──────────────────────────────┤
│               Fog            │               Mist           │               Overcast       │               Cloudy         │
│  _ - _ - _ -  13 °C          │  _ - _ - _ -  16 °C          │      .--.     16 °C          │      .--.     12 °C          │
│   _ - _ - _   ↙ 5-8 km/h     │   _ - _ - _   ← 6-7 km/h     │   .-(    ).   ← 6-8 km/h     │   .-(    ).   ← 5-8 km/h     │
│  _ - _ - _ -  1 km           │  _ - _ - _ -  7 km           │  (___.__)__)  10 km          │  (___.__)__)  3 km           │
│               0.0 mm | 0%    │               0.0 mm | 0%    │               0.0 mm | 0%    │               0.0 mm | 0%    │
└──────────────────────────────┴──────────────────────────────┴──────────────────────────────┴──────────────────────────────┘
Location: Биробиджан, городской округ Биробиджан, Еврейская автономная область, ДФО, РФ [48.7881668,132.9282082]


Я не знаю, что есть curl в powershell, но в никсах оно есть ну очень уж давно. Впрочем, никто не мешает открыть эту страничку в браузере, на выходе получите то же самое:

среда, 17 июля 2019 г.

Windows 10: нормальный print screen

Ну, наконец-то в десятке обнаружилась функция, которой я уже лет 10 как пользуюсь в XFCE: запуск по PrtScr приложения, позволяющего захватить в буфер только нужную мне часть экрана, помимо известных "весь экран" и "текущее окно".
Не уверен, что эта фишка будет работать со стандартными "ножницами", но она точно работает с их потомком под названием "Snip & Sketch":

Если рука дрогнула и начало выделяться не то, что надо, жмём ESC и начинаем сначала. Потом можно подправить полученное изображение.
При нажатии PrtSCR экран затемняется, а выбираемая область будет полноцветной:

(этот скриншот сделан с помощью IrfanView во время работы виндового скриншутера)