Архив метки: выходные

Новая рубрика

Иногда находишь что-нибудь интересное, и хочется этим поделиться и сохранить у себя навечно. За сим, открываю новую рубрику — репосты. Это все то, что мне понравилось, но чтобы не засорять блог чужим контентом, светиться оно в общей ленте не будет (нужно заходить напрямую)

OpenSUSE vs xubuntu

У меня дома есть специальный стационарник, на котором стоит SUSE пятилетней давности. Точнее стояла. Я его использую в паре с двухтерабайтным винчестером для бекапа этого сервера. Там работает прекрасная схема по связке ssh+screen+encfs+rsync+tar+gzip. Но произошла беда. SUSE умерла, и я решил вместо нее поставить что-нибудь более мне знакомое и популярное — xubuntu. Небольшое сравнение:

OpenSUSE:
+ Красиво вставший загрузчик
+ Под новый год он превращается в чудесной красоты монстра
+ Все работает
+ Очень качественный инсталлятор
+ При загрузке есть нормальная графика
+ Первый терминал (tty1) имеет красивые обои на фоне

— Я как-то ухитрился ее сломать
— Не любит ставиться с usb

xubuntu:
+ xfce лучше kde на слабых машинах
+ ставится с usb без проблем

— В процессе установки по-умолчанию пытается убить все (я чуть не повелся)
— Загрузчик встал криво
— Загрузчик работает только в текстовом режиме
— Загрузчик нельзя нормально настроить, так как он при апдейтах перенастроится
— В процессе загрузки не показывается вообще ничего

Итог: xubuntu — бесполезное убожество, по сравнению со SUSE.

MATLAB under latest archlinux

Вчера один крайне умный товарищ подкинул мне простую идею: «Если есть чужая научная статья, а к ней есть исходники, то их надо тырить, а результаты проверять уже у себя. Вдруг они обошлись без подтасовок?». Из этого следовал не менее простой факт: зайти сюда, забрать исходники, подсунуть свою выборку, получить свои результаты.

Читать далее

Google Cardboard

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

Сборка продукта премиум класса не заняла много времени.
IMG_20160129_114443

Читать далее

Пущинская новогодняя олимпиада 2015

Сегодня провели традиционную новогоднюю олимпиаду. На этот раз было куча народу из Дубны, аж с двух площадок. 51 не ноль в таблице. Провели без значительных косяков, к счастью я вырезал задачу I за полчаса до начала. Тесты были сделаны отменно — было всего лишь две посылки получившие 100 баллов и при этом не прошедшие тесты из условия. Мои задачи были недостаточно гробовыми — их решил приехавший из СУНЦа одиннадцатиклассник — Леша Соловьев. Собственно, он ухитрился решить мою задачу на 10% быстрее чем я на том же алгоритме. Посмотрев его код нашел пасхалку.

Правильные дефайны: +10% к скорости работы

Правильные дефайны: +10% к скорости работы

Owncloud

Поковырял owncloud и неожиданно оказалось, что он умеет очень много чего хорошего.

  • News — полноценная замена tt-rss.
  • Contacts — замена гугл аккаунту для синхронизации контактов под android
  • ocDownloader — замена deluged, который я до этого использовал. +умеет качать ftp/http ссылки и видео с youtube.
  • Tasks — замена evernote

Примерно так это выглядит

Примерно так это выглядит


Стоит отметить, что в поставку по-умолчанию эти плагины не входят, их надо ставить вручную.

Настоятельно рекомендую к прочтению эту статью с хабра. Там есть много скриншотов.
А я, тем временем, жду последнего элемента для полного отключения от чужих облаков — синхронизации закладок, истории и паролей в браузере. Верю в тебя, vivaldi

О чужом коде

Пару лет назад я посмотрел код OpenSSL. Он был ужасен. Особенно меня поразила примерно такая конструкция:

if (0) {
    L1:
    // some code
}

if (condition)
    goto L1;

Через некоторое время я решил что конструкция в принципе нормальная. А прочие ужасы кода свалил на то, что он написан математиками.

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

#define XS_IMPLEMENT_SCHEME 1
#include "../include/fb2def.h"

#if 0
void SaveBase64Objects( ldomNode * node )
{
    if ( !node->isElement() || node->getNodeId()!=el_binary )
    return;
    lString16 name = node->getAttributeValue(attr_id);
    if ( name.empty() )
    return;
    fprintf( stderr, "opening base64 stream...\n" );
    LVStreamRef in = node->createBase64Stream();
    if ( in.isNull() )
    return;
    fprintf( stderr, "base64 stream opened: %d bytes\n", (int)in->GetSize() );
    fprintf( stderr, "opening out stream...\n" );
    LVStreamRef outstream = LVOpenFileStream( name.c_str(), LVOM_WRITE );
    if (outstream.isNull())
    return;
    //outstream->Write( "test", 4, NULL );
    fprintf( stderr, "streams opened, copying...\n" );
    /*
     lUInt8 dbuf[128000];
     lvsize_t bytesRead = 0;
     if ( in->Read( dbuf, 128000, &bytesRead )==LVERR_OK )
     {
     fprintf(stderr, "Read %d bytes, writing...\n", (int) bytesRead );
     //outstream->Write( "test2", 5, NULL );
     //outstream->Write( "test3", 5, NULL );
     outstream->Write( dbuf, 100, NULL );
     outstream->Write( dbuf, bytesRead, NULL );
     //outstream->Write( "test4", 5, NULL );
     }
     */
    LVPumpStream( outstream, in );
    fprintf(stderr, "...\n");
}
#endif

А вот так элегантно решается вопрос об индикаторе батареи:

О современных браузерах

Я неожиданно заметил, что ноут перестал шуметь. Что такое подумал я? Какие отклонения от нормы? Отстутствие хрома было мне ответом. Неужто браузер настолько греет комп? Запустив браузер и открыв пустую вкладку я затаился на другом рабочем столе открыв показания датчиков температуры.
Читать далее

Поездка в Пущино

В субботу пришел на наш матан. Меня встретила Наташа рядом нестандартных вопросов вида «Сколько добираться до Пущино?». Короче, это был день открытых дверей нашей обсерватории. И мой папа там тоже водил экскурсии. И Наташа с Рамилем решили туда съездить. Ну и я заодно, чего уж тут. Естественно, маршрутка на Пущино так и не приехала, в результате чего на начало экскурсий мы не успели. Причем опоздали всего на 10 минут. Пошли на поле за обсерваторией.

2015-04-11 16.04.31
2015-04-11 16.04.45

Наташа на дереве

Наташа на дереве


Поле

Поле


Еще поле

Еще поле


Я синхронизируюсь с папой, пытаясь посчитать тайминг.

Я синхронизируюсь с папой, пытаясь посчитать тайминг.

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

2015-04-11 16.21.21
2015-04-11 17.19.25

BSA. С него идут данные для поиска пульсаров.

BSA. С него идут данные для поиска пульсаров.


mainstream

mainstream

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

Единственная приличная фотография

Единственная приличная фотография

А потом ко мне домой: голодных студентов полагается кормить на убой. Ну и на ноутбук, считающий пульсары посмотрели. День прожит не зря!