Как найти список доменов зарегистрированных на определенный ip?

  1. http://search.msn.com/results.aspx?q=ip%3A66.249.93.104
    Вместо 66.249.93.104 вбиваем нужный нам IP
  2. Удобненько так… http://www.seologs.com/ip-domains.html
  3. ну и конечно же мега-тулза http://www.robtex.com/
  4. оффтоп: просто кучка тулзовин http://member.dnsstuff.com/pages/tools.php

Find out top 10 directories eating up your disk space

Find out top 10 directories eating up your disk space:

du -cks * | sort -rn | head -10

Using pw to add a group and user in FreeBSD

Using “textdrive” as an example

pw groupadd textdrive
pw useradd textdrive -m -c "Main Textdrive account" -d /home/textdrive -s /bin/tcsh -G textdrive -k /usr/share/skel/

Then set the password:

passwd textdrive

Чистим бинарные логи в mysql

можно воспользоваться простой командой в mysql:

RESET MASTER

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

Можно поставить в еженедельный cron.

Украинские Базы Данных

Первая ссылка
Вторая ссылка
Телефонные БД городов: Владимир-Волынский; Днепродзержинск; Днепропетровск; Донецк; Житомир; Запорожье; Золотоноша; Измаил; Киев; Киев (орг); Киев (таксофоны); Киевская область; Луганск; Луцк; Львов; Мариуполь; Николаев; Никополь; Полтава; Ровно; Сумы; Харьков; Херсон; Чернигов.
Телефонные БД городов: Киев, Запорожье, Львов, Черновцы
Днепропетровск
Донецк
Бердичев
Донецкий справочник (также Фарлеп и Велтон) + база предприятий
Львов (Укртелеком – Только квартирные телефоны ~ 2002 год)
Запорожье
Одесса
Киев (Укртелеком)
Киев
Кировоград – Телефонная БД, Телефоны Кировограда
Телефонный справочник городов Крыма
Нововолинськ 09 (Волинська область)
Фастов (и район)
Хмельницкий – Телефонный справочник города.
Почтовые индексы Украины
Жители Украины

FreeBSD для обслуживания 100-200 тысяч соединений (freebsd tcp optimization tune speed socket mbuf sendfile sysctl)

Стенограмма выступления Игоря Сысоева с конференции РИТ-2007.

mbuf clusters

FreeBSD хранит сетевые данные в mbuf clusters, размер каждого 2Кб, но из
них используется только около 1500 байт (по размеру Ethernet пакета).

mbufs

Для каждого mbuf кластера нужен “mbuf”, который имеет размер 256 байт и
нужен для организации связи цепочек из mbuf кластеров. В mbuf можно поместить
полезную информацию в районе 100 байт, но это не всегда используется.

Если в машине 1Гб и больше памяти, то по умолчанию будет создано 25 тыс. mbuf кластеров,
что не всегда достаточно.

При ситуации исчерпания числа свободных mbuf кластеров FreeBSD попадает в
состояние zonelimit и перестает отвечать на запросы по сети,
в top это выглядит как “zoneli”. Единственная возможность как-то повлиять на
ситуацию – это зайти с локальной консоли и перезагрузить систему, уничтожить
процесс находящийся в состоянии “zoneli” невозможно. Для Linux 2.6.x данная проблема
тоже характерна, причем работать переставала даже консоль.

PID USERNAME THR PRI NICE SIZE RES STATE TIME WCPU COMMAND
13654 nobody 1 4 0 59912K 59484K zoneli 209:26 0.00% nginx

Read the rest of this entry »

301 Permanent Redirect

New domain name?

Need to change a file name?

Hierarchy of your servers directory structure change?

meta http-equiv=”refresh”… is highly frowned on by search engines and is commonly used by spammers. As such, THIS SHOULD BE AVOIDED.

A 301 Redirect as it is commonly referred to will allow you to make these changes without compromising your hard earned SEO results.

Using the Apache web server, fortunately this is a simply task.

There are a few different places you can set various ‘Redirect’ directives such as your servers main configuration file (typically httpd.conf) or within a ‘Virtual Host’ container inside one of your server configuration files. The final method and the one we will be discussing here is using your servers directory Auth file (AKA: .htaccess). Read the rest of this entry »

Команда watch в Linux и во FreeBSD

root@jupiter:~$ uname -a
Linux jupiter 2.6.15-26-386 #1 PREEMPT Thu Aug 3 02:52:00 UTC 2006 i686 GNU/Linux
nexus@jupiter:~$ whatis watch
watch (1) – execute a program periodically, showing output fullscreen

root@cod:~# uname -a
FreeBSD cod 5.10-STABLE FreeBSD 5.10-STABLE #1: Mon Jul 26 09:54:43 EEST 2006
root@cod:~# whatis watch
watch(8) – snoop on another tty line

Ну а если хотите такую же функциональность watch в FreeBSD как и в Linux, то portinstall cmdwatch
и используйте cmdwatch.

Типичный случай: cmdwatch df

Почему Singleton антипаттерн

“главная проблема синглтона в том, что это первый паттерн описанный в GoF” (c) MaximVK. На него набрасываются и не замечают его недостатков, из коих:

1. Синглтон нарушает SRP (Single Responsibility Principle) — класс синглтона, помимо того чтобы выполнять свои непосредственные обязанности, занимается еще и контролированием количества своих экземпляров.
2. Глобальное состояние. Про вред глобальных переменных вроде бы уже все знают, но тут та же самая проблема. Когда мы получаем доступ к экземпляру класса, мы не знаем текущее состояние этого класса, и кто и когда его менял, и это состояние может быть вовсе не таким, как ожидается. Иными словами, корректность работы с синглтоном зависит от порядка обращений к нему, что вызывает неявную зависимость подсистем друг от друга и, как следствие, серьезно усложняет разработку.
3. Зависимость обычного класса от синглтона не видна в публичном контракте класса. Так как обычно экземпляр синглтона не передается в параметрах метода, а получается напрямую, через GetInstance(), то для выявления зависимости класса от синглтона надо залезть в тело каждого метода — просто просмотреть публичный контракт объекта недостаточно.
4. Наличие синглтона понижает тестируемость приложения в целом и классов, которые используют синглтон, в частности. Во-первых, вместо синглтона нельзя подпихнуть Mock-объект, а во-вторых, если синглтон имеет интерфейс для изменения своего состояния, то тесты начинают зависеть друг от друга.
Говоря же проще — синглтон повышает связность, и все вышеперечисленное, в том или ином виде, есть следствие повышения связности.

Естественно, можно акккуратненько пройти по граблям и использовать синглетон, но (цитата из доки к пикоконтейнеру) “Overuse makes for bad solutions. At the enterprise level, it makes for very very bad solutions”…
Тем более, что при тщательном рассмотрении вопроса, использования синглтона, как правило, можно легко избежать. А если можно легко избежать, значит это нужно сделать, чтобы удержать себя от излишнего соблазна “оверюза”… Например, для контроля количества экземпляров объекта вполне можно (и нужно) использовать различного рода фабрики.
Наибольшая же опасность, как было сказано, подстерегает при попытке построить на основе сиглтонов всю архитектуру приложения, такому подходу существует масса замечательных альтернатив. Например, IoC контейнеры — там проблема контроля создания сервисов решается естественным образом, так как они, по сути, являются “фабриками на стероидах” =). Другой альтернативой являются Service Locator-ы, из известных вариантов этого подхода — паттерн IServiceProvider.

Уроки английского: Логика английских времен

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

Но на самом-то деле, в русском их не 3. Смотрите:

* делал
* сделал
* делаю
* сделаю
* буду делать

или даже так:

* ходил
* сходил
* шел
* хожу
* иду
* схожу
* буду ходить
* буду идти

(Представляю себе иностранца, который пытается разобраться, чем отличаются эти формы.)

Просто в русском языке эти варианты разбросаны по нескольким классификациям, а в английском объединены в одной.

Но что если я скажу, что в английском языке на самом деле всего три временных формы, а все остальные так называемые «времена» надуманы? Так, вот, я говорю это :)

Вот эти три формы:

1. The Present Indefinite (Simple) — простое настоящее время: <глагол в 1-й форме>[+es];
2. The Past Indefinite (Simple) — простое прошедшее время: глагол во 2-й форме (<глагол в 1-й форме>+ed, у неправильных глаголов свой вариант);
3. The Future Indefinite (Simple) — простое будущее время: will + <глагол в 1-й форме>.

Это все :) Не верите? Попробую вас убедить. Сейчас будем строить все остальные временные формы исходя исключительно из этих.

Нужно только иметь ввиду следующее:

1. У глагола to be эти 3 временные формы выглядят так:
* is/am/are — настоящее время;
* was/were — прошедшее время;
* will be — будещее время.

2. У глагола to have так:
* have/has — настоящее время;
* had — прошедшее время;
* will have — будущее время (тут ничего необычного);

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

3. Инговая форма глагола (<глагол в 1-й форме>+ing) — это не глагол, а активное определение.
* writing author — пишущий автор;
* reading man — читающий человек.

или
* He is speaking. — Он — говорящий (выполняющий говорение).
* They are running. — Они — бегущие.

Это характеристика состояния. Субъект характеризуется как выполняющий сам некоторое действие, точнее, находящийся в состоянии «делания» этого действия.

4. 3-я форма глагола (та, которая образуется как <глагол в 1-й форме>+ed, а для неправильных глаголов имеется свой вариант) — это также не глагол. Это пассивное определение.
* written letter — написанное письмо;
* read book — прочитанная книга (у глагола read все формы при написании одинаковые)

или
* It is broken. — Это сломано.
* She is dressed. — Она одета (Ее одели).

Субъект характеризуется действием, выполняющимся над ним.

Итак, поехали.

1. The Present Indefinite Tense

He loves her.

Это и есть та самая обычная форма настоящего времени, которая упоминалась выше.
Тут больше нечего сказать.

2. The Present Continuous Tense

The man is reading.

И так, как и обещал, времен кроме прошедшего, настоящего и будущего не будет.
А одно настоящее уже было. Другого нам не надо.
is — это форма глагола to be в настоящем времени,
reading — активное определение.

Т. е. это все то же «Present Indefinite», да простят меня преподаватели английского :) Но ведь по сути так и есть. Когда употребляется Present Indefinite? Одно из применений — констатация факта, типа «I have a car». Здесь мы как раз и имеем констатацию факта:

The man IS reading.
Человек ЯВЛЯЕТСЯ читающим.

И не обязательно речь идет именно про текущий момент. “I’m loving you”, как поет солист Scorpions, не означает обязательно, что он прямо сейчас ее любит :) . Это выражение описывает состояние, в котором пребывает влюбленный человек в текущий период жизни, так скажем.

3. The Past Indefinite Tense

I bought a car.

Самое обычное прошедшее время. Что-то когда-то случилось, и мы называем, действие, которое произошло, констатируем факт.

4. The Present Perfect Tense

I have bought a car.

Что мы видим тут:
— bought – это 3-я форма глагола to buy, что, как мы знаем, является пассивным определением, т. е. тут речь про купленную машину.
— have – это иметь и ничего более; не будем называть это вспомогательным глаголом.
Получаем: Я имею купленную машину.

Не даром, у англичан это настоящее время (Present Perfect), хоть и переводить на русский следует в прошедшем (Я купил машину). Глагол have-то у нас тут в простом настоящем времени. Это снова Present Indefinite.
Все просто: раз я купил машину, значит она у меня сейчас есть (купленная).

Еще пример: I have lost my ticket.
Я имею потерянный билет.

Дословный перевод конечно же некрасив, но он выявляет логику образования фразы. Я билет потерял, а значит, на данный момент он потерян.
Как можно иметь потерянный билет? Также как иметь отсутствие денег во фразе: I have no money.

5. The Past Perfect Tense

Сразу попробуем ту же логику в более сложной форме. В форме, в которой я в начале своего пути изучения английского языка долго не мог разобраться, когда же ее употреблять.

I had bought a car.

Уже третье Я купил машину. Но, имеем глагол to have в обычной прошедшей форме (Past Indefinite), что говорит нам о том, что машину я имел когда-то, и сейчас у меня ее может и нет (Я имел купленную машину). Важно понимать вот это «когда-то». Переносим свое «сейчас» в прошлое, и как бы говорим, что на тот момент у нас была купленная машина.
Скажем, вы рассказываете кому-то про эпизод из своей жизни, который произошел прошлым летом, и хотите сказать, что в то время у вас была машина (вы ее до этого купили). Отличие I had bought a car (1) от I bought a car (2) в том, что когда мы говорим (2), мы подчеркиваем факт покупки машины (произошло некое действие), когда (1) – факт ее наличия в прошлом.

I had lost my ticket. — Я имел потерянный билет.
Например, сейчас я мог его уже найти, но в тот момент, про который я рассказываю, билет был потерян.

6. The Past Continuous Tense

I was doing my homework at 3 pm yesterday.

Форма ничем не отличается от Present Continuous Tense (2-й пункт), за исключением того, что состояние описывается в прошлом. Причем, как видим, глагол to be имеет форму Past Indefinite.

7. The Present Perfect Continuous Tense

Пошли более хардкорные случаи.

I have been doing this for 3 hours.

Это обычное настоящее время, т. е. Present Indefinite (смотрим на глагол to have).
Все остальное НЕ глаголы (мы так условились в начале):
— doing – активное определение, т. е. делающий;
— been – 3-я форма to be, а значит пассивное определение, которое относится к слову doing. Не передать это на русском языке. Попробуем понять смысл этого слова по аналогии:
done – сделанный;
bought – купленный;
been — … (в общем сделали так, чтобы он был; наверное тут подходит слово «созданный»)

Итак, почти дословно: Я имею созданное состояние делания.

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

8. The Past Perfect Continuous Tense

I had been doing this for 3 hours.

Конечно же, глагол to have можно поставить в прошедшем времени (Past Indefinite).

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

9. The Future Indefinite Tense

I will buy a car.

Проще некуда. Констатируем факт действия в будущем. Точно также как мы можем констатировать его в настоящем (Present Indefinite) и прошлом (Past Indefinite).

10. The Future Continuous Tense

He will be calling you tomorrow at 5.

Также просто: описание состояния в определенный момент в будущем.
Глагол to be имеет форму Furure Indefinite, а calling – просто определение (звонящий).

11. The Future Perfect Tense

I will have bought a car.
Я буду иметь купленную машину.

Акцентируем внимание на том, что машина будет иметься в наличии, а не на самой покупке как таковой.
Более живой пример: Я куплю машину к следующему лету.

12. The Future Perfect Continuous

I will have been doing this for 3 hours.

Полная аналогия Present Perfect Continuous или Past Perfect Continuous, за исключением временной формы глагола to have.
Все же приведу дословный перевод: Я буду иметь созданное состояние делания 3 часа.
Например, я собираюсь сказать, что завтра буду учить английский уже в течении 3 часов, к тому моменту, когда придет моя жена:
I will have been studying English for 3 hours when my wife comes.
(Честно говоря, могу ошибаться в правильности составления этого предложения, но суть не в этом.)

И так, что же получилось. Абсолютно все 12 английских времен сводятся к трем: Present Indefinite, Past Indefinite и Future Indefinite!
Вот и получается, что в английском только три временных формы по сути существует. По крайней мере, на мой взгляд, так можно и полезно думать. Эх, почему ж мне еще в школе об этом не рассказали…

P.S. Конечно, я понимаю, что это все достаточно грубо, и про каждую временную форму можно еще наговорить кучу тонкостей ее употребления. Но чтобы вникать в тонкости, нужно для начала уяснить для себя логику построения этих форм. А уж понимание тонкостей придет либо с практикой, либо с еще большим углублением в английскую логику построения фраз.

UPDATE:
Повторюсь, в этой статье специально допущены огрубления и упрощения некоторых моментов для облегчения выявления «внутренностей» языка.