Членство

На тему членства как ругательства, MetaWizard прислал отличный анекдот:

После косультаций с Кучмой, Владимир Путин заявил: «Если Украина сейчас вступит в НАТО, то это будет просто членством»

2 комментария

Банд-формирования

«Незаконные банд формирования» [ >>> ] 11 страниц
«Законные банд формирования» [ >>> ] 0 страниц

Ничего, через пару месяцев вторых в поиске найдётся больше, чем первых.

4 комментария

PHP vs. ASP.NET глазами Microsoft

PHP versus ASP.NET [ >>> ] (eng). Почитайте — интересно. Некоторые вещи (например, по поводу организации функций) весьма разумны. Правда Microsoft, местами, слегка замалчивает некоторые вещи. В частности:

Data access is one of the most important parts of almost any application these days. Both PHP and ASP.NET offer facilities for connecting to various data sources such as Microsoft SQL Server™ and MySQL.

ASP, насколько я знаю, поддерживает только то, у чего есть ODBC-интерфейс, PHP, кроме ODBC, поддерживает различные СУБД через их API, что менее универсально, зато быстро и позволяет использовать некоторые функции характерные для конкретной СУБД. Собственно, Microsoft относит это к недостаткам:

[..] ASP.NET breeds data-access familiarity amongst developers. In other words, once you've learned how to connect to and send queries to a Microsoft SQL Server, you're going to understand how to perform the same actions with almost any data source. No such comparison can be made with PHP since PHP uses a completely different set of data access functions for each data source.

Таких мест там — масса. Но это и понятно — всякий кулик своё болото… Кстати, нигде не сказано, что ASP.NET работает только на одной платформе — Windows.

13 комментариев

GIF

А знаете ли вы, что кончилось действие патента на алгоритм LZW, который применяется в GIF? Говоря проще, работать с GIF теперь можно совершенно бесплатно. Что не может не радовать.

2 комментария

Во всякой вше есть польза

[..] ученые-генетики [..] смогли определить примерную дату появления одежды с помощью исследования генов… обыкновенных вшей.

На сегодняшний день существует два вида вшей — вошь головная (P. humanus capitis) и вошь нательная (Pediculus humanus humanus). Второй вид появился в результате эволюции первого. Причиной такой эволюции стало широкое распространения одежды — основного места обитания Pediculus humanus humanus.

Определение момента возникновения второго вида позволило бы уточнить время появления одежды. Перед генетиками стояла задача «распутать» цепочки ДНК для обоих видов и обнаружить разницу в последовательностях. Чем больше эта разница, тем раньше произошло разделение, и соответственно раньше была создана одежда. [..]

Эксперименты показали, что люди впервые стали укрывать свое тело от холода около 70 тыс. лет назад.

Источник [ >>> ]

Оставить комментарий

Большой брат всё никак не угомонится

Microsoft Word, помимо основной информации о документе, хранит так же:

Информация об организации и пользователе, создавшем файл.
Текст из других документов, открытых на компьютере.
Заголовки e-mail и информацию о сервере.
Имена принтеров и данные о них.
Данные о компьютере, на котором был создан документ.
Информацию о том, где на компьютере документ был сохранён.
Версию документа и его формат

Источник (eng, PDF): [ >>> ]

Оставить комментарий

ИНН

Неожиданно обнаружил, что ИНН распадается на несколько цифр. Существуют 10— и 12-ти значные ИНН в форме NNNNXXXXXC и NNNNXXXXXXCC.

Где
NNNN — номер налоговой инспекции.
XXXXX или XXXXXX — номер налогоплательщика.
C или CC — контрольные числа.

Я нашёл алгоритм расчёта контрольных числе и переписал их на PHP. Если кому-нибудь надо (например, для проверки на валидность введённого ИНН), могу поделиться:

function CheckNN ($inn)
{
	$factor = array (3, 7, 2, 4, 10, 3, 5, 9, 4, 6, 8);

	if (strlen($inn) == 10)
	{
		for ($i = $sum = 0; $i<9; $i++)
		$sum += $inn{$i}*$factor[$i+2];

		return ($sum%11)%10;
	}

	if (strlen($inn) == 12)
	{
		for ($i = $sum = 0; $i<10; $i++)
		$sum += $inn{$i}*$factor[$i+1];

		for ($i = $sum2 = 0; $i<11; $i++)
		$sum2 += $inn{$i}*$factor[$i];

		return (($sum%11)%10) . (($sum2%11)%10);
	}

	return FALSE;
}

Оставить комментарий