Рабочие будни

Архивы

Однокласснико

сентября 8, 2009

Не знаю чем и о чём думают те кто ищет подобное слово в поисковиках (однокласснико). Наверное какая то мода или эхо албанского жаргона...

Свой скрипт доски объявлений

сентября 2, 2009

Вот уже месяц прошел как мною написан и успешно эксплуатируется скрипт доски объявлений. Условное название V-BOARD.
Сказать честно назвать скриптом такую массу кода язык не поворачивается, но так уж принято. Пусть будет это скрипт.
Технические характеристики: поддержка мультисайтов, поддержка тем от wordpress, автоматический генератор тем (о темах можно не думать, если лень искать тему от wordpress, то тема автоматически сгенерируется на основании доменного имени), комментарии, поддержка локализации на 40 языков и автоматический перевод текста объявлений на язык локализации (это привлекает не только русскоязычных посетителей, а так же увеличивает количество страниц в индексе поисковых систем).
Практика показала неплохое отношение поисковиков к данному контенту.
Сначала поднял 3 сайта (в режиме мультисайта) 3го уровня на собственных доменах для эксперимента. За неделю яндекс проиндексировал всё что встретил.
Далее прикупил 6ть доменов и в течении 10 минут подключил в режиме мультисайта к той же системе. Всё в индексе и уже продаётся в хитрой конторе.
P.S. Скрипт пока продавать не собираюсь, потому как это бессмысленно. Даже продав один раз за копейки, можно больше не получить прибыли при дальнейших продажах. Все эти защиты скриптов типа привязок к доменам и ip адресам, снимаются в течении 5и минут. Даже при минимальной стоимости скрипта, пользователи хотят халявы...
P.S. Пример работы http://board.variant.kz

Генератор сателлитов

сентября 2, 2009

Не так давно решил написать онлайн генератор сателлитов и взялся за дело. Написал около 50% кода, и запал прошел. Дописываю его когда появляется свободная минутка и желание продолжить начатое.
Уже сделанное: автоматический подбор статей, автоматический подбор картинок, бесконечная синонимизация текста для получения требуемого результата. Кстати придумал быстрый и нетребовательный к памяти алгоритм синонимизации по базе из 300.000 записей.
В планах: формирование меню, карта сайта, генератор тем, гугли сайтмап. Остальное по ходу дела додумается.
Такие вот дела.

Разбор ломаной на мелкие отрезки

августа 12, 2009

Предположим что существует некий массив из координат отрезков составляющих какую то ломанную линию.
Требуется разбить эту линию на более мелкие отрезки. Зачем? Да мало ли, мне вот понадобилось.

private  ArrayList breakLines (ArrayList aV) //на входе массив координат
{

int snap=200; //требуемое количество отрезков на выходе
ArrayList tPixel = new ArrayList (); //новый массив координат для возврата
ArrayList aPixel = new ArrayList (); //временный массив координат

Point obj1 = new Point ();
int b=0;
foreach (Point obj in aV)
{
if (b != 0)
{
float x1 = obj1.X;
float y1 = obj1.Y;
float x2 = obj.X;
float y2 = obj.Y;
//Алгоритм DDA-линии
int L = (int) Math.Max (Math.Abs (x2 — x1), Math.Abs (y2 — y1));
float dX = (x2 — x1) / L;
float dY = (y2 — y1) / L;
aPixel.Add (new Point ((int) x1, (int) y1)); //Начальную точку в массив

for (int i = 0; i < L; i++)
{
x1 = (x1 + dX);
y1 = (y1 + dY);
aPixel.Add (new Point ((int) x1,(int) y1)); //Следующую точку в массив
}
//aPixel.Add (new Point ((int) x2, (int) y2)); // Можно раскомментировать если требуется дублирование каждой последней точки в отрезке
}
obj1 = obj;
b++;
}
for (int i=0;i<snap;i++)   tPixel.Add (aPixel[(int)(aPixel.Count*i/snap)]);
return tPixel;
}

Такая вот теорема для критики. Если есть кому что добавить, то вэлком.

Установка SVN сервера поверх Apache в gentoo

августа 6, 2009

Ставим Subversion:
USE="apache2" emerge subversion
Конфигурируем:
emerge --config =dev-util/subversion-1.4.6

Редактируем /etc/conf.d/apache2:
добавляем -D DAV -D SVN

Изменим /etc/apache2/modules.d/47_mod_dav_svn.conf:
<Location /svn/repos>
DAV svn
SVNPath /var/svn/repos
AuthType Basic
AuthName «Subversion repository»
AuthUserFile /var/svn/conf/svnusers
Require valid-user
</Location>

Создаём файл паролей:
htpasswd2 -m -c /var/svn/conf/svnusers USERNAME
Создаём других пользователей:
htpasswd2 -m /var/svn/conf/svnusers USERNAME

Перезапускаем Apache:
/etc/init.d/apache2 restart

Готово.
Теперь доступ к репозиториям можно получить как браузером, так и SVN клиентом по адресу http://mydomain/svn/repos/

Легко и просто...

Вычисляем длину линии по координатам

августа 3, 2009

Этот и последующие статьи будут из серии простейших операций с 2d графикой. Получается так, что с частотой в год или два,  приходится выполнять одинаковые задачи с подобными незатейливыми алгоритмами. И постоянно приходится вспоминать одни и те же действия. Статьи будут краткие  и простые. Текущий заказчик захотел исполнение на C# , следовательно код будет именно на нём.

private Double length (Double _x1, Double _y1, Double _x2, Double _y2) {
return Math.Sqrt (Math.Pow (_x2 — _x1, 2) + Math.Pow (_y2 — _y1, 2));
}

И да, скажете почему нет подсветки кода? Мне она не нужна.

Черная метка «блокАДА ЖЖ»

апреля 23, 2009

Вот уже прошло несколько месяцев с того дня (7 октября 2008г.) как интернет пользователи Казахстана не могут обычным путём заходить на блоги ЖЖ(Живого Журнала). Многие пользователи поначалу высказывали своё недоумение по этому поводу, но ситуация с места не сдвинулась. Блокада как была, так и осталась. Может мы делали скромные шаги и нас не смогли заметить? С этого момента я вешаю на все свои сайты счётчик под названием «блокАДА ЖЖ».

На счётчике указано количество дней без ЖЖ. Как только доступ к ЖЖ откроется, счётчик изменит свой траурный вид. Всех желающих приглашаю принять участие в данном мероприятии и разместить у себя на сайте эту метку. Чем больше нас будет, тем быстрее мы добьёмся справедливости!

Изображение метки всегда будет доступно по ссылке http://gritsinger.com/blokada.php