Pull to refresh
0
0
TimSparrow @TimSparrow

User

Send message

Электронная библиотека для PocketBook: автоматическая обработка

Reading time19 min
Views40K
Наверное каждому электрочитателю хотелось бы всю свою коллекцию книг содержать прямо на электронной книге-читалке, и при этом, не смотря на общую тормознутость устройства, иметь удобную навигацию.
Зачастую в электронной книге проблематично содержать сотни и тысячи книжек: либо аппарат долго тупит, считывая информацию о каждой книге из ее внутренностей, либо вручную поддерживать коллекцию с разбивкой по каталогам — тот еще геморрой.
Читать дальше →
Total votes 25: ↑25 and ↓0+25
Comments25

Из html в pdf – легко! Обзор конвертеров

Reading time3 min
Views102K
Ежедневно в процессе деятельности регистратора REG.RU, в котором я работаю программистом, совершаются сотни операций, требующих оформления каких-либо официальных документов. Среди них — различные договоры, счета, сертификаты и т.п., которые необходимо печатать как компании, так и клиентам. Для таких целей хорошо подходит формат PDF, который на сегодняшний день стал де-факто основным для обмена и распространения документации. Основными преимуществами этого формата можно назвать: кроссплатформенность, аппаратную независимость и безопасность. Все вышеперечисленное позволило PDF завоевать популярность среди пользователей и стать одним из самых распространенных.

Как можно создавать документы в формате PDF на лету, из скрипта?
Читать дальше →
Total votes 79: ↑70 and ↓9+61
Comments24

«Умный дом» собственными руками. Часть 2. Видеонаблюдение

Reading time4 min
Views96K
В прошлой статье (линк) мы ознакомились с теоретической частью построения нашего «умного дома» и определились с используемыми технологиями. Теперь начнем реализацию практической части :)

Первой жертвой нашего интереса станет система видеонаблюдения.
Читать дальше →
Total votes 95: ↑85 and ↓10+75
Comments88

История создания Ubuntu

Reading time5 min
Views16K
История Ubuntu берёт своё начало в апреле 2004-го. Но прежде чем рассказать о самой Ubuntu, стоит упомянуть о некоторых ключевых фигурах и событиях, которые предшествовали её появлению.

Марк Шаттлворт


Ни одна история Ubuntu не может быть полной без истории своего основателя — Марка Шаттлворта.

Марк Шаттлворт на МКСМарк Шаттлворт родился в 1973-м году, в городе Велком провинции Фри-Стейт, ЮАР. Он посещал авторитетный колледж Diocesan и получил докторскую степень в области финансов и информационных систем в Университете Кэйп-Тауна. В этот период, Марк был страстно увлечён компьютером и стал активным участником сообщества Open Source. По крайней мере косвенно, он принимал участие в проектах Apache и Debian, и был первым человеком, который загрузил веб-сервер Apache, вероятно наиболее важное серверное приложение для платформы GNU/Linux, в архивы проекта Debian.

Увидев возможности и потенциал интернета, Шаттлворт основал в своём гараже центр сертификации и компанию по интернет-безопасности, названную Thawte. За несколько лет он вырастил Thawte во второй по величине центр сертификации во всём интернете, уступив лишь киту безопасности — компании Verisign. К слову, продукты и сервисы Thawte были построены и обслуживались свободным программным обеспечением. В декабре 1999-го, Шаттлворт продал Thawte компании Verisign за сумму, которая не разглашается, но которая, по слухам, составила порядка нескольких сотен миллионов американских долларов.

С такой фортуной в молодом возрасте, Шаттлворт мог бы наслаждаться безбедной жизнью. Но вместо этого, он решил реализовать свою заветную мечту — отправиться в космическое путешествие. После оплаты порядка 20 миллионов долларов русской космической программе и посвятив около года на подготовку, включая изучение русского языка и тренировки в Звёздном городке, Шаттлворт реализовал мечту в качестве гражданского космонавта на борту русского Союза TM-34. Шаттлворт провёл 2 дня в ракете Союз и 8 дней на Международной Космической Станции, где принимал участие в экспериментах, посвящённых изучению СПИДа и генома. В начале мая 2002-го, Марк Шаттлворт вернулся на Землю.

В дополнение к исследованию космоса и увеселительной поездке в Антарктику, Шаттлворт играл активную роль как филантроп и венчурный капиталист. В 2001-м, Шаттлворт основал Фонд Шаттлворта (Shuttleworth Foundation, TSF), некоммерческую организацию, расположенную в Южной Африке. Фонд был основан для финансирования, разработки и внедрения инноваций в области образования. Разумеется, в качестве средств, с помощью которых TSF пытался достичь своих целей, применялось и свободное программное обеспечение. В рамках этих проектов, организация стала одним из самых видных сторонников СПО в Южной Африке и вообще в мире. В области венчурного капитала, Шаттлворт оказывал содействие научным исследованиям, разработкам и предпринимательству в Южной Африке со стратегическими инъекциями денежных средств в стартапы через новую фирму венчурного капитала, названную HBD, что означает «Here Be Dragons» («Тут Драконы»). В этот период, Шаттлворт был занят мозговыми штурмами для своего следующего крупного проекта, который в конечном счёте станет Ubuntu.
Читать дальше →
Total votes 201: ↑189 and ↓12+177
Comments120

Личные финансы — семейный бюджет в GoogleDocs. V2

Reading time3 min
Views22K
В прошлом году моя статья на Хабре о линых финансах на ГуглДокс была активно скопирована на многих сайтах и я понял, что тема актуальная и заслуживает продолжения.

В этом году я сильно переделал систему, теперь у нас есть гораздо больше инструментов для анализа и планирования семейного бюджета.

Вкратце, о чем речь (а потом, добро пожаловать под кат):
  • Есть много онлайн домашних бухгалтерий, но все они страдают от того, что они написаны не вами, и не учитывают все ваши потребоности и запросы.
  • Моя концепция состоит в том, что личные финансы крайне удобно вести в GoogleDocs и настраивать их под себя.
  • Данная статья посвящена тому, как сделать такую систему самому и прведен пример того, как я ее сделал для себя. Под катом даже xls файл с формулами :)
Читать дальше →
Total votes 60: ↑55 and ↓5+50
Comments60

А что, если не платить?

Reading time4 min
Views16K
В жизни каждого дизайнера хоть раз в наступает момент, когда в голову лезут странные мысли о легальном программном обеспечении. Учитывая, что рабочее место дизайнера, использующего связку Windows + Adobe Photoshop + Corel Draw нынче стоит никак не меньше, чем 900 долларов (это с учетом самых волшебных скидок на украинские версии или что-то еще более странное), мысль немедля переходит в рациональную плоскость: «А что, если не платить? А что, если собраться с силами и перейти, наконец, на бесплатный софт?»

image

Читать дальше →
Total votes 174: ↑156 and ↓18+138
Comments224

Google maps api. Построение маршрутов на карте

Reading time4 min
Views9.5K
В данной статье мне хотелось бы рассмотреть еще одну возможность google maps api — добавление маршрутов на карты. Если по маркерам информации в интернете достаточно, то по данной теме, да еще и на русском, толковых примеров мне найти не удалось. Безусловно, все что будет написано ниже, есть у гугла, но чтобы начать разбираться в api необходимы хоть какие-то минимальные представления о предмете.

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

У маршрутов на карте мы можем менять положение узловых точек, удалять их и добавлять новые. В узлы добавлять маркеры, задавать к ним (маркерам) описание. Все это видно на рисунке.
Читать дальше →
Total votes 11: ↑11 and ↓0+11
Comments16

Экспорт из *.AI в *.CDR

Reading time2 min
Views150K
 AI to CDR
На днях пришлось решать очень интересную и актуальную задачу по конвертированию проекта из Adobe Illustrator в CorelDraw. Под катом небольшое руководство о том как этого я этого добился. Надеюсь эти небольшие приемы помогут кому-нибудь из хабра-сообщества.
Читать дальше →
Total votes 36: ↑32 and ↓4+28
Comments87

Полезняшка от Leadtek – Winfast VC100 U

Reading time3 min
Views3K
Когда я только начинал писать обзоры, я и предположить не мог, что вот-вот и это станет моим хобби, а в последующем и интересной работой. Статейка за статейкой, коробка за коробкой…и вот, настал тот предсказуемый момент, когда стала ощущаться нехватка свободного места, куда можно было бы спрятать какие-нибудь коробки, инструкции, диски с драйверами и прочие невостребованные провода.

image

Немного дефрагментировав обстановку в комнате, я обнаружил одно злачное местечко – тумбочку, битком набитую старыми VHS-кассетами. «Ну погоди», «Сам себе режиссер», «КВН» — ну что тут еще сказать :) Думаю, многие меня поймут – вроде давно не нужно, но и выкидывать как-то жалко… Решение проблемы нашлось довольно быстро.
Читать дальше →
Total votes 81: ↑77 and ↓4+73
Comments109

Мертвые с косами. И тишина…

Reading time11 min
Views11K
Хочу поделиться опытом сборки бесшумного компьютера для дома.

Недавно я публиковал статью о выборе современного монитора, которую хабрапользователи довольно высоко оценили. Это дало вдохновение для второй части. Как и в прошлый раз, прошу не рассматривать статью как нечто академическое, просто мне хотелось поделиться информацией, на сбор которой ушло много времени.
Я задался целью собрать из комплектующих максимально тихий системный блок, при этом надежный и быстрый, для комфортного кодирования HD-видео. Вот как это было.

Корпус

Компьютерный корпус — это всего лишь коробка, более или менее прилично выглядящая. Однако, если уделить внимание шумоизоляции, удобству сборки и эффективности охлаждения, то все не так очевидно. Для большей гибкости я рассматривал корпуса без блока питания, т.к. уже заранее выбрал один из самых тихих БП (см. ниже).
Сразу скажу, что получилось дорого. Я выбрал корпус Antec P182 (на фото выше). Без блока питания они выпускают несколько моделей. Наиболее известные серии — P182 и P190 (сильно дороже). Есть еще довольно маленький корпус без БП NSK4000, но в небольших корпусах охлаждение менее эффективно и требует более шумных вентиляторов.
Наряду с Antec я почитал про корпуса Lian-Li. Они оригинальны тем, что сделаны из чистого алюминия. Выглядят очень стильно и сделаны с высоким качеством. Но в России распространены еще меньше, чем Antec.
Можно было, конечно, найти много хороших корпусов среди более дешевых. Что мне понравилось в Antec?
Читать дальше →
Total votes 222: ↑214 and ↓8+206
Comments212

CircuitLab: создаем схемы в браузере

Reading time1 min
Views56K
Если вы хотите избежать пожара, неисправности, а также других несчастных случаев, неплохо было бы спроектировать схему, прежде чем начать пайку. Бесплатное веб-приложение CircuitLab является свободным, веб-базированым инструментом, который может упростить этот процесс: просто размещаем резисторы, конденсаторы, источники тока и остальные детали схемы на чертежной доске и соединяем все это вместе. Создатели говорят, что вы также можете моделировать, как ваш проект будет вести себя, и если у вас есть проблемы, вы можете обратиться к сообществу за помощью, расшарив ваши схемы, пометив их как публичные. Кроме того, так как приложение веб-базированое, оно должно хорошо работать на всех платформах.



Upd: спасибо int_index за ссылку: Ссылка
Total votes 40: ↑38 and ↓2+36
Comments8

О том, как работают JavaScript таймеры

Reading time4 min
Views101K
Чрезвычайно важно понимать, как работают JavaScript таймеры. Зачастую их поведение не совпадает с нашим интуитивным восприятием многопоточности, и это связано с тем, что в действительности они выполняются в одном потоке. Давайте рассмотрим четыре функции, с помощью которых мы можем управлять таймерами:
  • var id = setTimeout(fn, delay); — Создает простой таймер, который вызовет заданную функцию после заданной задержки. Функция возвращает уникальный ID, с помощью которого таймер может быть приостановлен.
  • var id = setInterval(fn, delay); — Похоже на setTimeout, но непрерывно вызывает функцию с заданным интервалом (пока не будет остановлена).
  • clearInterval(id);, clearTimeout(id); — Принимает таймер ID (возвращаемый одной из функций, описанных выше) и останавливает выполнение callback'a.
Главная идея, которую нужно рассмотреть, заключается в том, что точность периода задержки таймера не гарантируется. Начнем с того, что браузер исполняет все асинхронные JavaScript-события в одном потоке (такие как клик мышью или таймеры) и только в то время, когда пришла очередь этого события. Лучше всего это демонстрирует следующая диаграмма:

Продолжение
Total votes 69: ↑60 and ↓9+51
Comments20

Знакомство с gitolite

Reading time4 min
Views60K
gitolite — это средство для создания централизованных репозиториев для совместной разработки через git.

Зачем оно нужно?


Родные средства git для этой задачи на сегодня явно недостаточны: родной git-протокол не содержит каких-либо средств авторизации, а для работы через ssh потребуется завести полноценного юзера в ОС (с шеллом), что далеко не всегда уместно и желательно.
gitolite же позволит вам заводить пользователей независимо от наличия аккаунта в ОС и гибко раздавать права.
Читать дальше →
Total votes 37: ↑34 and ↓3+31
Comments22

Дополнения Firefox, приводящие к утечкам памяти.

Reading time2 min
Views25K
Адаптация статьи с Cybernet
Одна из основных причин, позволившая Firefox достичь 400 миллионнов загрузок, это его настраиваемость, достигаемая благодаря дополнениям.
Безусловно, дополнения придают браузеру уникальные и полезные возможности, но в то же время могут вызвать нежелательные проблемы.

Уже существует дополнение, успешно помогающее обнаруживать пользователя и разработчикам дополнений утечки памяти в дополнениях. К сожалению, решены не все проблемы в некоторых дополнениях, что приводит к сбоям, утечкам памяти, повышенной нагрузке CPU.
Читать дальше →
Total votes 43: ↑38 and ↓5+33
Comments73

Автоматический бекап при подключении внешнего HDD в Ubuntu

Reading time3 min
Views17K
Последнее время стали популярны посты на тему бекапа. Продолжу и я эстафету под девизом «Много бекапов хороших и разных».

Статья 1 и статья 2, натолкнувшие меня на эту идею.

Сам я давно пользуюсь rsnapshot для бекапа серверов, да и не только. Для тех, кто не в курсе, что оно такое — это базирующаяся на rsync утилита на Perl для создания резервных копий. Особенностью является ориентация на создание полных снапшотов файловой системы через заданный интервал времени, для экономии места на диске, не изменившиеся с момента первого бэкапа файлы линкуются как hard link.

Я работаю на Ubuntu 11.10 на ноутбуке и потому статья будет описывать метод бекапа этого самого ноутбука на внешний USB HDD, который не постоянно подключен, а подключается лишь периодически. В момент подключения и будет запускаться скрипт для бекапирования системы.

Итак, начнем.
Читать дальше →
Total votes 29: ↑25 and ↓4+21
Comments12

CSS кнопки с помощью псевдо-элементов

Reading time5 min
Views47K


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

В этом уроке я покажу как создать кнопку с изюминкой, используя только якорный тег и мощь CSS.

Читать дальше →
Total votes 238: ↑230 and ↓8+222
Comments117

Работа с памятью (и всё же она есть)

Reading time13 min
Views106K
Существует распространенное мнение, что «рядовому» PHP разработчику практически не нужно заботиться об управлении памятью, однако «заботиться» и «знать» всё же немного разные понятия. Попытаюсь осветить некоторые аспекты управлению памятью при работе с переменными и массивами, а также интересные «подводные камни» внутренней оптимизации PHP. Как вы сможете убедиться, оптимизация это хорошо, но если не знать как именно она «оптимизирует», то можно столкнуться с «неочевидными граблями», которые могут вас заставить изрядно понервничать.

Читать дальше →
Total votes 235: ↑224 and ↓11+213
Comments90

Демоны на PHP

Reading time4 min
Views75K
Памятка начинающему экзорцисту.

Прежде, чем начать: я знаю, что такое phpDaemon и System_Daemon. Я читал статьи по этой тематике, и на хабре тоже.

Итак, предположим, что вы уже определились, что вам нужен именно демон. Что он должен уметь?
  • Запускаться из консоли и отвязываться от неё
  • Всю информацию писать в логи, ничего не выводить в консоль
  • Уметь плодить дочерние процессы и контролировать их
  • Выполнять поставленную задачу
  • Корректно завершать работу

Отвязываемся от консоли


// Создаем дочерний процесс
// весь код после pcntl_fork() будет выполняться двумя процессами: родительским и дочерним
$child_pid = pcntl_fork();
if ($child_pid) {
    // Выходим из родительского, привязанного к консоли, процесса
    exit();
}
// Делаем основным процессом дочерний.
posix_setsid();

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

Читать дальше →
Total votes 188: ↑167 and ↓21+146
Comments125

Обработка критических ошибок в PHP

Reading time6 min
Views32K
В статье описан функционал, который доступен в PHP (актуально для 5.3.х) для обработки ошибок всех типов, включая ошибки интерпретации кода (E_ERROR, E_PARSE, E_WARNING, etc). Эта обработка поможет вам для управляемого отображения страницы в случае возникновения таких проблем. В статье присутствует множество описаний и рабочих примеров(архитектуры) для того, что бы сразу воспользоваться в своем программном продукте. В конце концов, ну немного сломали сайт, ну надо же, об этом сообщить поисковику с заголовком 4хх или 5хх и повеселить пользователя, вместо возврата белого экрана (или что хуже экрана со священной информацией, для хакеров) с ответом 200 Ok.



Идея написать этот топик возникла, когда я на храбре задал 2 вопроса:

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

Если заинтересовались, то подробности под катом…
Читать дальше →
Total votes 116: ↑105 and ↓11+94
Comments57

HOWTO: свой бизнес в США из России

Reading time6 min
Views157K
    Наверняка многие из нас хоть раз думали про себя: «Черт побери, и везет же этим американцам!». Это касается многого, от магазинов с доставкой «только в пределах 48 континентальных штатов» до вполне серьезных контрактов, которые срываются только потому, что потенциальный заказчик в США категорически не желает иметь дело с иностранцами.

    В этой статье я попробую осветить процесс создания и администрирования американской корпорации для резидента РФ. Наверняка многие из фактов для самих американцев покажутся тривиальными, однако для жителя России все куда сложнее — увы, это данность. Чтоб не сказать — это Родина, сынок. Оговорюсь сразу — я все это проделал более 2 лет назад, так что, некоторые детали могут быть не совсем актуальны. Но вряд ли что-то поменялось принципиально.
Читать дальше →
Total votes 402: ↑398 and ↓4+394
Comments184

Information

Rating
Does not participate
Registered
Activity