Pull to refresh
0
0
waterhouse @waterhouse

User

Send message

Набор PHP-функции для создания user-friendly интерфейса на русском языке

Reading time7 min
Views1.3K
Почти в каждом своем проекте я использую набор функций, которые делают сайт чуточку приятнее для глаза и удобнее для восприятия. Эти функции я частично позаимствовал в разных местах и частично написал сам. Наверняка, многие используют подобные, но я решил все же поделиться — возможно, кому-то они будут полезны.

Они умеют склонять существительные по числовому признаку, выводить дату с нормальными русскими названиями месяцев и выводить дату в удобочитаемом человекопонятном виде (вчера, позавчера, 2 дня 3 часа и 2 минуты назад, через 1 год и 2 месяца и т.д.).

Использовать их можно примерно так:
<acrnonym title="<?php print r_date($timestamp'j M Y в H:i'false); ?>"><?php print human_date($timestamp2false);?></acronym>
<acrnonym title="<?php print r_date($timestamp'j M Y в H:i'); ?>"><?php print human_date($timestamp);?></acronym>


Это вернет примерно такой результат:
<acrnonym title="2 января 2009 в 23:39">1 день назад</acronym>
<acrnonym title="2 января в 23:39">Вчера</acronym>

(Хабр обрезает тег <acronym>)

И вот так:
<?php
$count 
10;
printf('%d %s'$countdeclension($count, array('комментарий''комментария''комментариев')));
?>


Это вернет:
10 комментариев

Читать дальше →
Total votes 59: ↑49 and ↓10+39
Comments26

Создание point-to-multipoint тоннелей на базе инкапсуляции GRE в Linux 2.6

Reading time4 min
Views17K
В ОС Linux встроена поддержка двух типов тоннелей: ipip и gre. В том виде, в котором тоннели традиционно используются в системе, без разницы, какой из них использовать: они оба дают в точности одинаковые накладные расходы к пакетам, посылаемым в тоннель IPv4-in-IPv4 (специально проверял), одинаково защищаются средствами IPsec и занимают одинаковое процессорное время для обработки. Однако, это разные типы тоннелей, и возможности gre значительно более широкие.
К сожалению, нигде в интернете не описывается очень удобная и замечательная особенность gre-тоннелей, и большинство (если не все) администраторов Linux не знают о такой возможности, как mGRE-тоннели. К счастью, мы намереваемся восполнить этот недостаток :-)

Читать дальше →
Total votes 21: ↑18 and ↓3+15
Comments6

Как отлаживают графику Windows в Microsoft

Reading time3 min
Views3.1K
Я в MS уже больше двух лет, и все равно в отладчике провожу большую часть полезного времени (больше только в Outlook).
Раньше я делал Windows Imaging Component, новую библиотеку для работы с изображениями, а теперь DXGI — инфраструктуру hardware acceleration. Первое целиком в user mode, второе и в kernel, и в user, но общий экспириенс дебага в общем-то тот же.

Читать дальше →
Total votes 179: ↑144 and ↓35+109
Comments134

Еще одна шпаргалка

Reading time2 min
Views16K
VIM содержит сотни команд, выучить их все невозможно, да и по правде говоря «зазубривание» — дело неблагодарное. Читая различные факи и туториалы я взял за правило заносить новые для меня команды в отдельный файл, сопровождая их кратким описанием. В процессе работы с редактором я часто заглядываю в этот файл и с течением времени многие команды из него пополняют мой стандартный набор. Своим файлом-шпаргалкой я и хочу с вами поделиться.
Читать дальше →
Total votes 64: ↑55 and ↓9+46
Comments41

LogParser — привычный взгляд на непривычные вещи

Reading time5 min
Views55K
Когда я в очередной раз использовал LogParser, то чтобы проникнуться и чужим опытом, ввел его название в поиск на Хабре. Как результат — сообщение «Удивительно, но поиск не дал результатов». Вот уж воистину удивительно, когда столь интересный инструмент обойден вниманием. Пришла пора восполнить этот пробел. Итак, встречайте LogParser. Маленькая, но чертовски полезная утилита для любителей SQL.

Из названия инструмента, казалось бы, очень непросто понять, что он делает в разделе SQL. А правда заключается в том, что он такой же LogParser, как и ChartGenerator. В то смысле, что он справляется с обоими задачами с одинаковыми успехом. В целом я бы его охарактеризовал как SQL-процессор гетерогенных данных. Концепция работы в общем такова, что он берет данные из некоторого формата и преобразует их в табличный вид (собственно говоря, только на этом этапе и выполняется иногда парсинг). Затем, посредством выполнения над этими табличными данными некоторого SQL-запроса формирует таблицу с результатом и сохраняет ее опять же в некотором формате. Если коротко, то цепочка выглядит как подготовка входных данных->SQL-процессинг->генерация выходных данных.
Читать дальше →
Total votes 56: ↑46 and ↓10+36
Comments17

Круговая прокрутка а-ля iPod на тачпаде

Reading time2 min
Views4.2K
Всем известно, что мультитач и прочие удобные трюки тачпадов от фирмы Synaptics, которые стоят практически на всех ноутбуках, зачастую реализуются драйвером тачпада и от аппаратной составляющей мало что зависит. Вот только поддержка их на разных системах разная.
Около полугода назад я, покопавшись в сети, настроил себе нажатие двумя пальцами на правую кнопку мыши, а тремя — на левую, после чего стал переносить руку на мышь гораздо реже. Но хотелось несколько большего.
Порывшись в man synaptics, нашел там интересную вещь под названием CircularScrolling, что в переводе означает «круговая прокрутка». Многим она знакома по плеерам iPod — весьма и весьма удобна при прокрутке длинных документов. Естественно, мне захотелось себе такую же, ибо прокрутка по правому краю не лучший выбор.
Итак, приступим к настройке. Попутно покажу, как реализуется обработка нажатий двумя и тремя пальцами.
Читать дальше →
Total votes 77: ↑76 and ↓1+75
Comments88

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

Reading time9 min
Views261K
Я хочу рассказать о свободном решении для компьютерной телефонии от компании Digium. Asterisk – это ATC созданная хакерами (в первоначальном смысле этого слова), а точнее, это супер конвергентная платформа компьютерной телефонии, распространяемая по лицензии GNU GPL, изначально разрабатываемая Марком Спенсером (Mark Spenser), позже ставшим президентом и техническим директором компании Digium. Благодаря коммерческой поддержке Его компании и лицензии GNU GPL Asterisk активно развивается и поддерживается тысячами людей со всей планеты.

Дaлее
Total votes 111: ↑108 and ↓3+105
Comments67

IPython: замена стандартного Python shell

Reading time5 min
Views55K
Python shell достаточно удобная вещь для тестирования и изучения возможностей языка, кто-то даже использует его в качестве калькулятора(что между прочим весьма удобно), в этом цикле статей я бы хотел рассказать о IPython — замене стандартного Python shell'а, который предоставляет расширенный список возможностей, что делает работу с ним более эффективной.

Читать дальше →
Total votes 54: ↑50 and ↓4+46
Comments16

Фриланс — практика

Reading time11 min
Views61K
В наше время в сети достаточно легко найти «12 правил фрилансера», или «20 советов фрилансеру», а то и «библию фриланса».
У всех разное отношение к этому явлению, разный опыт или предубеждения. Немало, кстати, негативных мнений.
Мне бы не хотелось писать очередное руководство «как заработать 10000$ в месяц». Поделюсь своим небольшим, но положительным опытом в роли «Фрилансера» и кое-какими выводами. Этот опыт сделал для меня работу на фрилансе комфортной и прибыльной.

полный текст
Total votes 163: ↑158 and ↓5+153
Comments96

Обзор Jabber-клиентов для мобильных телефонов с поддержкой Java (J2ME)

Reading time2 min
Views20K
В последние время многие решили перейти на Jabber. И тут же возникает вопрос какой Jabber клиент выбрать для мобильного телефона? Не так давно был обзор существующих решений для Symbian 9. К сожалению, смартфоны есть не у всех — поэтому представляю краткий обзор Jabber-клиентов для мобильных телефонов с поддержкой Java.

Читать дальше →
Total votes 47: ↑42 and ↓5+37
Comments32

Эксперименты с ферромагнитной жидкостью (видео)

Reading time1 min
Views2.2K
image

Ферромагнитные жидкости представляют собой коллоидный раствор магнитных частиц в жидкой среде. В итоге получается жидкость, на которую можно влиять с помощью магнитного поля. При использовании сложных магнитных структур можно получить по-настоящему потрясающие процессы!

Читать дальше →
Total votes 115: ↑109.5 and ↓5.5+104
Comments79

Bluetooth в Linux

Reading time3 min
Views52K

1. Вступление


А вы знаете, что настроить bluetooth соединение с PC на Linux совсем не сложно?
Итак, сейчас мы создадим подключение к телефону\PDA, примонтируем файловую систему телефона к оной на ПК и создадим GPRS\EDGE подключение.

Читать дальше →
Total votes 53: ↑50 and ↓3+47
Comments45

vim, и как сделать из него полноценную IDE.

Reading time2 min
Views15K
Vim (сокр. от Vi Improved, произносится Вим) — свободный режимный текстовый редактор, созданный на основе более старого vi. Ныне это один из мощнейших текстовых редакторов с полной свободой настройки и автоматизации, и созданным благодаря этому расширениям и надстройкам. (с)wiki

Вот и настроим. У меня была цель — сделать из Vim полноценную IDE для perl. Но таким же путем это делается и для любого другого языка.

Читать дальше →
Total votes 109: ↑95 and ↓14+81
Comments128

Заметки о лучшем хостинге: часть первая

Reading time5 min
Views14K
imageТак получилось, что до недавнего времени все мои web-проекты реализовывались на своих собственных серверах. И по этой причине мне ни разу не приходилось иметь дела с хостингом. Но всему приходит конец и в конце 2008 года я вдруг решил, что просто обязан купить себе хостинг и пару доменов.

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

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

UPD: доступна вторая часть статьи
Читать дальше →
Total votes 108: ↑84 and ↓24+60
Comments128

Зеркало для скачивания новых версий QIP.

Reading time1 min
Views2.3K
QIP Infium 9022:
download.asechka.ru/qipinfium9022.exe

QIP 2005 8081:
download.asechka.ru/qip8081.exe

QIP PDA for Windows Mobile Build 2111:
download.asechka.ru/qippda2111.cab

Symbian S60 (Nokia):
QIP PDA for Symbian v6, v7 1043 download.asechka.ru/qip1_1043.sis
QIP PDA for Symbian v8 1043 download.asechka.ru/qip2_1043.sis
QIP PDA for Symbian v9 1043 download.asechka.ru/qip3_1043.sis

QIP PDA for Symbian UIQ3 (SonyEricsson):
download.asechka.ru/qip_uiq3_1043.sis

Зеркало на www.Asechka.ru является официальным. В дневнике Ильгама www.inf.ru даны ссылки на мои сервера.

Раздача происходит с 4 серверов:

Non-authoritative answer:
Name: download.asechka.ru
Addresses: 213.219.216.50, 62.205.190.38, 78.107.91.229, 62.205.190.35


UPD: Ещё две версии qip 2005 и для мобильной винды SE будут завтра, на сегодня все устали и хотят спать :) Спокойной ночи.

Минусуйте на здоровье :) мы всего лишь помогаем и всё.
Total votes 397: ↑312 and ↓85+227
Comments99

Векторная графика в LaTeX. Пакет PGF/TikZ

Reading time7 min
Views56K
Доброго времени суток. Давно собирался рассказать о возможностях векторной графики в LaTeX, предоставляемых низкоуровневым макропакетом PGF и его расширением TikZ, а выход предыдущей статьи о пакете Xy-pic для создания диаграмм и графов и появление свободного времени сделали возможным начать работу :-).

Мне в своё время понадобилось найти и изучить какое-то гибкое средство для создания качественных векторных изображений, потому что уже достали криво масштабированные, вставленные с ужасным расширением картинки растровых форматов, портящие всё впечатление от документа, да и увеличивающие его размер в два раза из-за одной большой картинки с прямоугольником и несколькими подписями к нему. Имеющиеся возможности встроенного окружения picture весьма скудны; пакет PStricks ориентирован на язык PostScript (не работает с pdflatex, который мне необходим), хотя и может кое-что, чего не может PGF; система MetaPost, пожалуй, является наиболее мощной из всех в этой области, но функционирует с использованием отдельного интерпретатора со всеми вытекающими из этого последствиями. Таким образом, выбор пал на PGF/TikZ.


Читать дальше →
Total votes 72: ↑71 and ↓1+70
Comments17

GTK + VisualStudio 2008: Быстрый старт

Reading time2 min
Views12K
Для создания кроссплатформенного приложения, была выбрана хорошо известная библиотека GTK, но если в Unix системах всё более-менее просто (хотя конечно и не всегда порой), то с установкой и использованием в Windows — системах могу возникнуть некоторые вопросы.

Решением этих вопросов, а если быть точнее, настройкой Microsoft Visual Studio 2008 для работы с библиотеками GTK, я бы и хотел поделиться.

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

Читать дальше →
Total votes 42: ↑38 and ↓4+34
Comments50

JavaScript библиотека «Raphaël» — SVG расцветает, SVG и iPhone

Reading time1 min
Views3.1K
Raphaël — это небольшая JavaScript библиотека с простым синтаксисом для работы с векторными форматами: SVG и VML (для IE). Впрочем, как я успел заметить у разработчика возникают проблемы с VML (когда многие вещи в SVG делаются очень просто в VML не всегда есть простая альтернатива)

часы
Читать дальше →
Total votes 49: ↑42 and ↓7+35
Comments50
1

Information

Rating
Does not participate
Location
Россия
Date of birth
Registered
Activity