Category: it

Перенос данных с мёртвого лаптопа на внешний диск

Несколько лет назад умер ASUS. Но было подозрение, что жёсткий диск ещё жив. На нём было 3 раздела, 1 — с NTFS, 2 — с ext4 (для / и для /home). Зачем-то ещё swap был, но это не важно. Сейчас есть Macbook с переходником USB-C для USB портов наружу. Т.к. дисков с данными было много, обзавёлся ещё AgeStar HDD Box. Ну и целевой внешний диск на 2 TB.

Диск был без изюминок, с S-ATA портом. Коробке подошёл.

Коробку подключил к USB порту, NTFS раздел был распознан с помощью драйвера, шедшего в комплекте с NTFS for Mac тулой, данные перенёс быстро.

С ext4 разделами вышло сложнее. 

  • Шаг 1. Поставил osxfuse. Смoнтирoвал к маку:

sudo ext4fuse /dev/disk2s6 /Volumes/m1 -o allow_other
sudo ext4fuse /dev/disk2s7 /Volumes/m2 -o allow_other

Тут обнаружилась засада: /home оказался зашифрован с помощью ecryptfs (Ubuntu 14.04 передаёт привет). Файлы зашифрованные видны, но их не посмотреть, утилиты cat и прочие говорили: Operation is not implemented.

  • Шаг 2. Настраиваю VirtualBox с Ubuntu 16.04 (я начал нервничать и только позже додумался посмотреть, какая версия была установлена). Ставлю ext pack, guest add-on на виртуалку. Настраиваем shared folder между Host Darwin (OSX) и Target Ubuntu. Ставим ecryptfs-utils.
  • Шаг 3. Монтирую диск с разделами на shared folder, пробрасываю диск внутрь виртуалки. Выясняю, чтo из Ubuntu нет возможности даже прочесть файлы: Operation is not permitted. 
  • Шаг 4. Добавляю юзера и root виртуалки в vboxsf vboxuser vboxusers. Не помогает.
Read more...Collapse )
Tags: , ,

Web-программирование на Haskell

Туториал по Yesod


автор: Yann Esposito
Переводчики: swamp_agr, ownclo.

01_flying_neo
upd: обновлено для Yesod 1.2
TL;DR: Простое пособие по Yesod. Yesod - это web-фреймворк на Haskell. Вам даже не нужно знать Haskell.

Почему Haskell?

Ответ под катомCollapse )

Построение графиков eps в gnuplot с динамическим размером шрифта

 Ниже приведена многоэтапная процедура построения графика в формате Encapsulated PostScript с помощью программы gnuplot. Главная особенность данной процедуры заключена в том, что числовые и текстовые надписи на изображении могут быть, вообще говоря, с произвольным размером шрифта.

I этап. Построение графика в Gnuplot.
 

Создадим простой график

$ gnuplot

set terminal epslatex newstyle color solid size 9cm, 8cm # размеры рисунка можно варьировать как угодно
set output "testplot.tex"
unset key
set format xy "$%g$"
set xtics 2.5
set ytics 2.5
set xlabel '$x$'
set ylabel offset +3.0 '$y$'
set xrange [0:5.5]
set yrange [-5.5:5.5]
plot sqrt(x) lt -1, -sqrt(x) lt -1


При желании можно создать файл с расширением .gnu (например, test1.gnu), поместив в него необходимые для построения графика команды, тогда в командной строке достаточно выполнить следующий код:

$ gnuplot test1.gnu

На выходе имеем два файла: testplot.eps, testplot.tex. В первом - содержатся только линии, подписей нет!!! Во втором - информация о подписях осей, а также числовые значения возле насечек на осях. 


II этап. Компиляция изображения.

Для того, чтобы собрать эти два файла в один, создадим файл build.tex. Его содержимое приведено ниже:

\documentclass[a4paper]{extreport}
\usepackage{graphics}
\usepackage{graphicx}
\usepackage{nopageno}
\usepackage{txfonts} % данный пакет позволяет вносить текст в изображение
\usepackage[usenames]{color}
\usepackage[14pt]{extsizes} % данный пакет подключает отличные от 11 и 12 размеры шрифта, [в скобках]

\begin{document}
\begin{center}
\input{testplot}
\end{center}
\end{document}


Теперь скомпилируем dvi-файл командой

$ latex build.tex

После выполнения данной команды, мы должны получить страницу в начале которой по центру находится рисунок с надписями и подписями.

III этап. Редактирование изображения.

$ dvipdf build.dvi # переводим в pdf
$ pdfrcop build.pdf # обрезаем pdf до 9x8 см
$ pdf2ps build.pdf img1.ps # конвертируем в PostScript
$ ps2eps img1.ps # переводим в Encapsulated PostScript
$ rm build.dvi build.aux build.log # удаляем мусор


На выходе получился eps-файл с текстом 14-го шрифта.

Для автоматизации процесса можно создать Makefile или написать скрипт.
Tags: , , ,