Всякая приблуда для е-читалок [Kindle, ebook, useful links]

Удобности от самого амазона:

Отправляя книжки на адрес your_account_name@kindle.com – вы получаете их на своем устройстве (когда оно вылезет в интернет через wifi или 3g). Причем если киндл не в состоянии работать с полученным форматом – он пробует его конвертировать в один из поддерживаемых.

Список утилиток для создания киндло-дружелюбных книжек – здесь. KindleGen – создает на основе HTML/XML и документов родственных разметок  киндловые книжки. Mobipocket Creator – конвертирует обычные текстовые файлы, pdf и документы MS Word в формат mobi. Проверить как будут выглядеть созданные с помощью вышеописанных средств книжки на вашем устройстве можно воспользовавшись утилитой Kindle Previewer.

Сторонние средства:

В первую очередь это конечно же Calibre – http://calibre-ebook.com/. Ядренный комбайн, который помогает управляться с вашей библиотекой, конвертировать книжки из формата в формат или вообще из интернет-страничек. Добротно. Удобно. Других альтернативных решений “все-в-одном” не знаю.

Утилита для конвертирования книжек формата fb2 в читабельный на 6 (или сколько настроите) дюймах pdf https://sites.google.com/site/fb2pdfj/

Для того чтобы законвертить понравившуюся или любопытную статью из интернета в удобо-читаемый вид для читалки можно воспользоваться сервисом http://www.readability.com/ (Updated 2018 – более не доступно – альтернативы – https://blogging.im/rssreaders) или stand-alone приложением с http://www.klip.me/. Они также позволяют отправлять оптимизированный для чтения веб-контент на амазонью почту = на устройство. Также можно установить плагин для браузеров с аналогичной функциональностью – http://sendtoreader.com/

http://wiki.mobileread.com/wiki/Conversion_matrix – вот тут есть список форматов используемых для чтения на мобильных устройствах всякого разного пошиба, а также расписано, какие утилиты могут использоваться для конвертирования из одного формата в другой. fb2 там в силу специфики ресурса и самого формата нет, остальные же расписаны достаточно подробно.

Jailbreak – повышение ваших привелегий в системе. За счет jailbreak возможен запуск и установка дополнительных пакетов программ. Одна из версий  с инструкциями и ссылками на русском – тут. На английском, для kindle touch – тут.

Полезное ПО, которое стоит(?) запихнуть на киндлу:

порт Cool Reader 3 – продвинутой программы-читалки книжек (в том числе fb2) – http://www.the-ebook.org/forum/viewtopic.php?t=20730 

Невозможное-возможное – бесплатный безлимит таки существует! [kindle 3g, jailbreak,achtung]

Есть такая замечательная компания как Амазон. Там работают милые и наивные люди. Которые взяли и, от души, запаяли в свою известную читалку (Kindle 3g keyboard) сим-карточку с безлимитным интернетом по всему миру. Чтобы пользователи на радостях тратили денежки в их магазине. Ну и изредка заходили на чей-нибудь разлюбимый бложик. Идиллия. Да.

Однако пытливый ум и неукротимая жажда халявы приносит свои плоды. В случае, ежели сильно хочется бесплатного http-трафика через любимую читалку придется немного попотеть. Хотя нет. Попотеть придеться много: сделать жейлбрейк читалке (хотя это с учетом возможности заодно добавить чтение неподдерживаемых форматов скорее плюс), доставить скриптов, поработать с tcpdump’ом и, под конец, специальным образом настроить файерфоксу, что бы тот подделовал заголовки http-запросов на амазоновскую проксю. Есть конечно в этом определенный шик заглянуть на родную железяку через телнет, узреть самый что ни на есть линукс… Однако, выкачивание больших объемов гипотетически может привести к забаниванию симки со всеми вытекающими. Так чта думайте сами, решайте сами.

Собственно, инструкции:

на русском – http://mykindle3.blogspot.com/2011/07/blog-post_25.html
на английском – http://balaganov.wordpress.com/2010/09/25/tethering-the-kindle-3/

Каждой системе – свой diff (утилиты для сравнения файлов под Windows, Mac, Linux)

Из-под какой бы системы мне не приходилось возиться с кодом, рано или поздно  становится чересчур накладно сравнивать разные версии исходников. Здесь указаны легкие бесплатные утилитки для поиска различий в файлах под Linux, Windows и Mac. Общий формат запуска – <diff-tool> file1 file2.

Под Windows с задачей сравнения содержимого файлов (да и каталогов, что порой не бесполезно) прекрасно справляется – WinMerge. Легкая. Не завязана ни на какие IDE. Писана на Qt и кроссплатформенна – должна запускаться и на никсах. Кроме файлов умеет сравнивать и содержимое директорий (в том числе на основе масок-регэкспов). Можно навешать дополнительных плагинов.

WinMerge - diff tools under Window

WinMerge – кросс-платформенная утилита для сравнения файлов и не только

Mac – opendiff. Представляет собой отдельный компонент XCode. Вполне себе запускается standalone из командной строчки. Различия подсвечивает бледно-серым, зато умеет кстати показывать стрелочками что куда добавилось. Может выполнять слияние (ключик -merge). Если кроме сравниваемых файлов, указать после ключа -ancestor общий файл-предок то сравнение будет производиться с ним. Умеет сравнивать папки.

opendiff tool comparing two makefiles

утилита opendiff – бесплатное средство сравнения файлов на системе Mac

Linux – kdiff3. Есть на всех платформах (Windows, Mac, Linux) за счет того что так-же написан на Qt. Умеет сравнивать до трех файлов или директорий. Поддерживает возможность слияние изменений, с поддержкой редактирования для ручного разрешения конфликтов.

Утилита kdiff3 - сравнение двух файлов

Утилита kdiff3 – сравнение двух файлов

UPDATE 18.10.2013

Если в никсах вы работаете в Gnom’е то прекрасный выбор – meld. Интеграция с популярными системами контроля версий (Git, Subversion, и др.), инструменты для слияния – авто-слияние, редактирование с подхватыванием текущих различий “на лету”, подсветка синтаксиса. Есть порты для OS X Windows.

meld diff-tool in action

meld diff-tool in action

пример использования контекстного сравнения с помощью diff

Ну а на крайняк (если ничего стороннего поставить нельзя) – на помощь приходит неказистый diff из под командной строки (предустановлен на nix-like-системах включая и Маки, и Солярисы). Гибкий. Можно долго и с упоением играться с настройками, чтобы получить возможность отображения различий на основе маски (-F), получать сравнение в привычных двух колонках (ключик –side-by-side) и т.п. Для объемных незнакомых файлов предпочитаю вывод в “контекстном” формате, когда отображаются не только измененные строчки, но и соседние с ними.

Для сравнивания более чем двух файлов может подойти diff3.

Всякие интересные тулзоевины

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

http://www.sandboxie.com/ – “песочница” для запуска подозрительных программ. Если ваш антивирус ленится следить за горящими новинками троянов а ручонки так и тянутся запустить какую-нибудь свеже-стянутую из интернета пакость – реккомендую обратить внимание – можно сэкономить массу времени на излечении последствий беззаботности.

http://www.imagemagick.org/ – набор мелких и не очень утилит для работы с изображениями (конвертация из формата в формат, редактирование, етс). Есть байндинги для вороха языков (от c/c++ до lisp,com+), а потому можно легко прикрутить к своим программам под свои нужды.

http://eyeos.org/ – интернет-ось. Прекрасная иллюстрация как мощи javascript-ajax технологий так и концепции – если есть интернет – твои документы всегда с тобой. Заходишь на сайт, вводишь свой логин/пасс – и оказываешься в своем родном рабочем столе, операционки крутящейся в твоем браузере. Опен-сурсна. Может быть развернута на вашем сайте.

http://www.wolframalpha.com – эдакая “умная” интернет-энциклопедия, в какой-то мере можно окрестить данный проект расширенным аналогом знаменитой википедии. На основе базы знаний, на ваш запрос выводится справочная информация. Хотите подробный анализ химической формулы или на основаниии уравнениия построить плоскость? А быть может уточнить кто же начал столетнюю войну или который сонет Шекспира незаслуженно забыт нашими современниками? Вольфрамальфа может предложит вам результаты своих исследований. Хороший обзор возможностей представлен например здесь – http://habrahabr.ru/blogs/search_engines/137893/)

http://code.google.com/p/opennero/ – игровая платформа для изучения методов искусственного интеллекта. Хотите натренировать своих собственных человекоподобных роботов? Это то, что вам надо 🙂 В нее уже внесены возможности обучения на основе нейронных сетей (вы просто указываете необходимые цели и меняете среду окружения), но, так как движок открыт, ничто не мешает добавить туда ваши собственные методы. Периодически проводятся соревнования между командами роботов и в принципе любой может добавить туда своих подопечных.

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

Citavi – удобный инструмент для создания базы знаний по определенной тематике – ссылки на публикации, ведение библиографии, цитат и своих умных мыслей, выдирая нужные сведения из pdf-файлов и по ISBN-кодов. Описание на русском – тут.

Emscripten – конвертор c/c++ кода в Javascript (на самом деле берет байткод от LLVM).

Adobe flascc – конвертирует исходный c/c++ код во флеш.

google native client – переводит приложения c/c++ в приложения для Chrome (в другие браузеры не умеет).

binwalk – удобный инструмент для анализа прошивок

Final Term – интересная попытка создать идеальный терминал для никсов

Java-сниппет – как програмно установить приложени из .apk-архива на Android

Маленький, но полезный снипет для установки приложения из apk-архива на Андроид из вашей java-программы:

Intent intent = new Intent(Intent.ACTION_VIEW);
intent.setDataAndType(Uri.fromFile(new File("PUT-PATH-TO-APK-FILE-HERE")), "application/vnd.android.package-archive");
startActivity(intent);

Полезно, в случае если необходимо установить какой-то дополнительный компонент для вашего приложения или произвести обновление всей программы. К примеру, если ваш apk-файл, new_module.apk, сохранен на sd-карте, в папке distribs для его установки:

// somewhere in resources
String Module_Name="new_module.apk";
String Module_Folder="/distribs/";
// usage
Intent intent = new Intent(Intent.ACTION_VIEW);
intent.setDataAndType(Uri.fromFile(new File(Environment.getExternalStorageDirectory()+Module_Folder+Module_Name)), "application/vnd.android.package-archive");
startActivity(intent);

Больше кода и рассуждений – там – http://stackoverflow.com/questions/4967669/android-install-apk-programmatically

vi xterm-color: Unknown terminal type

Волею судеб и служебной надобности занесло меня на Solaris 10, с самым что ни на есть минималистичным набором пакетов. Меж тем надо было подправить несколько файликов. Запускаю я было vi my.config а оно мне и молвит в ответ человечьим голосом:
xterm-color: Unknown terminal type
I don’t know what kind of terminal you are on – all I have is ‘xterm-color’.

Сие недоразумение удалось устранить явно указав, как следует трактовать мой терминал:
export TERM=’vt100′

C-sharp разработчику – утилиты что облегчают жизнь

В помощь шарп-разработчику – список утилит которые помогают программировать. Если не помечено явно – утилита бесплатная. Для всех платных есть триалы на месяц.

NUnit (http://www.nunit.org/) – для написания юнит-тестов.
NDoc (http://ndoc.sourceforge.net/) – для генерирования проектной документации.
NAnt (http://nant.sourceforge.net/) – при необходимости сложной логики сборки проекта – гибкое удобное средство.
CodeSmith (http://www.codesmithtools.com/) – кодо-генератор – когда самому лениво. есть сдк для генерации кода из других программ. Платный.
FxCop (http://msdn.microsoft.com/en-us/library/bb429476(v=vs.80).aspx) –
подсказывает что же не так в датском королевстве – анализирует код и выдает отчет о возможных путях оптимизации. Платный.
Snippet Compiler (http://www.sliver.com/dotnet/SnippetCompiler/) – позволяет комплять маленькие кусочки кода
ASP.NET Version Switcher (http://www.denisbauer.com/NETTools/ASPNETVersionSwitcher.aspx)
и Visual Studio .NET Project Converter (http://sourceforge.net/projects/vspc/) – позволяют тестировать совместимость проекта
с различными версиями net-фреймворка.
Regulator (http://sourceforge.net/projects/regulator/) – просто строит регэкспы.
.NET Reflector – декомпилятор c sharp кода. Платный.
NHibernate (http://nhforge.org/Default.aspx) – ORM-обвязка для удобной работы с базами данных
Resharper ( http://www.jetbrains.com/resharper/) – прекрасный навигатор по коду с кучей вкусностей. Платный.

подробнее там – http://msdn.microsoft.com/en-us/magazine/cc300497.aspx и по ссылкам самих программ в посте.

C-sharp декомпиляторы и дизассемблеры

Основные C-sharp-декомпиляторы:

Reflector (http://www.reflector.net/) – один из самых мощных и активно допиливаемых декомпиляторов. Кроме Шарпа жует VB.Net. Платный. Есть триалки. (к нему для удобства реккомендуют прикручивать – http://www.denisbauer.com/NETTools/FileDisassembler.aspx).

Дотпик (dotPeek – http://www.jetbrains.com/decompiler/) от jetbrains. Бесплатен.

Для более низкоуровневого анализа и дизасемблинга sharp-программ:

Ildasm – http://msdn.microsoft.com/ru-ru/library/f7dy01k1.aspx

Ilspy – http://wiki.sharpdevelop.net/ilspy.ashx

Старенькое руководство от мыщъха по взлому шарпных программ: http://www.insidepro.com/kk/258/258r.shtml

Ошибка “no ocijdbc11 in java.library.path” и что с ней делать

sqldeveloper error window no-ocijdbc11-i-java-library-pathРеализации технологии JDBC для Oracle дает возможность java-программам обращаться к базе двумя методами:
Тонким клиентом (jdbc thin), по сути, представляющим собой реализацию протокола SQL* Net через TCP/IP на основе Java-сокетов.
Тонкому клиенту никакие клиентские библиотеки не нужны. Он платформо-независим и прекрасно себе может работать даже через java-аплеты в браузере.

Толстый клиент (jdbc oci) – для взаимодействия с базой использует интерфейс вызовов оракла (Oracle Call Interface) предоставляемый специальным OCI-драйвером, который должен быть установлен на клиентской машине. OCI-драйвер представляет собой набор библиотек, поставляемых вместе с клиентским или серверным ПО. Самый простой способ их найти – скачать Oracle instant client. Работать с базой данных через интерфейс OCI можно напрямую из java-программ используя все оракловые плюшки вроде ООП-биндингов через OCCI и т.п.

Если на клиенте – машине с которой не обходимо установить соединение с базой соответствующей версии OCI-драйвера нет – то сообщение об ошибке будет примерно таким: “no ocijdbc11 in java.library.path“. Если библиотека есть, но система не имеет ни малейшего представления о ней – читай как: “проверь свои переменные PATH!” – ошибка будет подобного же типа.

В ряде случаев требуемой версии oci драйвера просто нет в природе – с этим прискорбным фактом я столкнулся когда пытался завести на Маке распоследнюю версию SQLDevelopera. На момент написания последняя доступная версия клиентских библиотек для Mac Os – была 10.
Меж тем мучительно хотелось попасть в базу.

При работе с базой я обычно устанавливаю тип соединения TNS – при этом как раз и используются OCI-драйвер.
Для того чтобы соединение к базе было установлено достаточно изменить тип на Advanced и вручную указать строку вида:
jdbc:oracle:thin:@[HOST][:PORT]:SID

Как сделать скриншот в Mac Os

Команды по умолчанию для создания скриншотов на Маке:

Одновременно нажав:

 Command + Shift  + 3

делаем скрин всего экран (он автоматически сохраняется в файл на рабочем столе).

Если хотите, чтобы скриншот экрана был скопирована в буфер обмена, используйте такую комбинацию клавиш:

Command + Shift + Control  + 3

Для создания скриншота определенного окна или области в Mac Os:

Command + Shift + 4 + Пробел

после чего курсором можно будет выбрать область экрана для снимка.

Настроить эти комбинации можно в Keyboard Shortcuts (System Preferences -> Keyboard -> Keyboard Shortcuts )

Более разжеванное описание тут – http://macspoon.ru/tips/capturing-screenshots-new-options/