Иногда находишь что-нибудь интересное, и хочется этим поделиться и сохранить у себя навечно. За сим, открываю новую рубрику — репосты. Это все то, что мне понравилось, но чтобы не засорять блог чужим контентом, светиться оно в общей ленте не будет (нужно заходить напрямую)
Архив метки: выходные
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
Пущинская новогодняя олимпиада 2015
Сегодня провели традиционную новогоднюю олимпиаду. На этот раз было куча народу из Дубны, аж с двух площадок. 51 не ноль в таблице. Провели без значительных косяков, к счастью я вырезал задачу I за полчаса до начала. Тесты были сделаны отменно — было всего лишь две посылки получившие 100 баллов и при этом не прошедшие тесты из условия. Мои задачи были недостаточно гробовыми — их решил приехавший из СУНЦа одиннадцатиклассник — Леша Соловьев. Собственно, он ухитрился решить мою задачу на 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 минут. Пошли на поле за обсерваторией.
Потом пошли смотреть в телескопы, привезенные радиолюбителями на солнце. Ничего интересного я там не увидел, хотя утверждалось, что в них видно корону солнца. Ну а потом пришел папа и провел отдельную экскурсию для нас троих. Папа был уверен, что я знаю все. Я думал, что я не знаю ничего. В целом мы были правы: я знал примерно половину.
Потом я внезапно потерял контроль, отобранный нашим бравым доктором, поэтому дальше мы поехали на смотровую.
А потом ко мне домой: голодных студентов полагается кормить на убой. Ну и на ноутбук, считающий пульсары посмотрели. День прожит не зря!