Archive for the ‘Web development’ Category

Samba + Windows XP performance tunning (especially for slow operations with a lot of small files)

Friday, September 26th, 2008

You are probably wondering how to improve your samba’s performance when you work with directories with a lot of small files. Here you will find two versions of same solution (expected improvement in performance 20% - 500%) - one short (for impatient) and one long with explanations.

 

Simptoms: Transfers between windows and samba shares are vary slow especially when working with dirs with a lot of small files

 

Short version: (more…)

Solution for TortoiseSVN + Samba shares permissions problem. “Can’t move”.

Thursday, September 25th, 2008

I had significant problems with commiting changes to svn repository for my Tangra Framework. Repository was at sourceforge.net. For ages I am using one and the same configuration and just recently I’ve started to have problems with commits.

Configuration:

Linux server with Debian/GNU linux + Apache + Samba (2.3.0.31-2) + PHP, etc.

Windows XP with Zend Studio, Dreamweaver, TortoiseSVN, etc.

Working copy of the framework is shared as Samba share. Yes, I know that this is not recommended but it is most convenient way - I am able to edit files directly from my windows PC. 

After upgrade to TortoiseSVN 1.5.* all commits that added new files was showing error like:

“Commit succeeded but…”

“Error: “Error bumping revisions post-commit (details follow):”

“Error: “Can’t move” (some files from .svn/props/ to .svn/prob-base/).

After above error I was unable to commit anymore - svn was stating that I have to execute Clean Up, but when trying to do so - clean up was failing. I had to delete whole dir that was failing, then to update parent dir in order to obtain clean working copy. That was working solution when just one dir was messed up but when I had multiple dirs with same problem - I hade to checkout the entire trunk which tooked about 1hour (because sourcefourge svn is slow, project itself is not vary big.)

Solution:

(more…)

Sourceforge.net се излагат

Thursday, September 25th, 2008

Преди около месец sourceforge си местеха нещата в нов datacenter. Аз лично го чаках с нетърпени този момент, защото очаквах, че най-накрая най-малкото svn ще се забърза малко. Но не би. Не стига, че дори е по-бавен от преди ами и капризен станал. Не мога един checkout да направя като хората без да ми изгърми на няколко пъти с “Could not read response body: An Error: existing connection was forcibly closed by the remote host.  ”. (more…)

MySQL “Create table” to ADODB XML Schema (AXMLS) converter

Tuesday, September 23rd, 2008

During the development of Tangra CMS installer I found that it is really annoying when you have to convert multiple tables from MySQL CREATE TABLE to Adodb’s XML schema format by hand. I had to convert more than 20 tables and I decided to write simple converter that will automate this task. The result is MySQL “Create table” to ADODB XML Schema (AXMLS) converter

Generally speaking it takes something like:

CREATE TABLE `users` (
  `id` int(10) unsigned NOT NULL,
  `username` varchar(50) NOT NULL,
  `password` varchar(50) NOT NULL,
  `disabled` tinyint(3) unsigned NOT NULL default '0',
  PRIMARY KEY  (`id`),
  UNIQUE KEY `i_username` (`username`),
  KEY `i_check_login` (`username`,`password`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8

as an input and as output generates: (more…)

Upgrade до Wordpress 2.6.2

Monday, September 22nd, 2008

Днес (22.09.2008) реших да се подмотам из блоговете на хората и да видя дали има нещо интересно за четене. Не си спомням вече къде, но прочетох, че била излязла версия 2.6.2 на Wordpress и било добре да се ъпгрейдне, че в предишните имало пропуски в сигурността.

Имах усещането, че съвсем скоро ъпгрейдвах (защото ми бяха охакали блог и бяха сложили 1 тон линкове във футера). Оказа се, че съм бил с версия 2.5.1, която вече била поостаряла.

Отделно от хакването на блога - скоро смених антивирусната програма, и новата откри 4-5 дзвера. Не бяха активни уж, но не се знае знае ли се. Накратко казано: тресе ме параноята напоследък и реших, че няма да оставя чувството за мързел да надделее и ще ъпгрейдна wordpress-а.

Както и да е, ъпгрейда мина бързо. Този път много по-бързо успях да бекъпна нещата - явно хостинга не беше затлачен.

Думата ми е задруго. Ясно е, че wordpress е привлекателна цел за всякакъв калибър кракерчета и други подобни вредни елементи, но не го ли изчистиха вече толкова години от елементарни дупки в сигурността (?)…

Вместо да смърдя (и да псувам) колегите, реших, че вече е крайно време да си направя един собствен блог софтуерец. CMS-а ми е почти готов, ще трябва само RSS feed и ping  да му добавя и ще разкарам wordpress-a. Надявам се скоро да ми остане време за това безсмислено,  но приятно упражнение.

Първи впечатления от Google Chrome - прост и супер бърз

Wednesday, September 3rd, 2008

Ето и накратко първите впечатления от Google Chrome:

Инсталация

Бърза и лесна, няма въпроси с повишена трудност. Лошото е, че автоматично разпознава настройките на Windows-а и превключва на езика, който намери в Regional Settings.

При инсталацията импортва отметките от FF. Интересното е, че поне при мен не импортна нищо от IE, а все пак уж този Chrome е с цел да смаже IE-то.

Интерфейс

Максимално опростен, няма дори Home и Стоп бутони. Баща ми, който е на 69 години ще го хареса.

Настройки (more…)

Линк за сваляне на новия броузер Google Chromе

Tuesday, September 2nd, 2008

Не мога да разбера точната причина, но днес поне 4 човека ме питаха откъде съм си свалил Google Chrome. За тяхно разочарование им отговорих, че не съм. За всички, които чак пък с такова нетърпение очакват новия броузер - сайта му ще е наличен на: http://www.google.com/chrome след 20 часа българско време днес (02.09.2008).

Аз лично, този броузер го очаквам със смесени чувства, най-вече, защото (more…)

New site launched: MLB baseball tickets mlbticketsstore.com

Sunday, August 31st, 2008

Few days ago I finally got done with last enhancements on new site commisioned by US SEO guys. It is about MLB baseball tickets. Main features:

  • harvests baseball tickets data from several sources. Harvest tooks about 3,5 hours which is kind of too much but I hope that when new dedicated server is up and running we will lower the harvest time (altough tickets count is reached 600K+ and soon we will have to switch to more powerful RDBMS like PostgreSQL);
  • detects visitors’ country and state by IP and shows appropriate content targeted at that area (i.e. shows events and tickets for teams from that state);
  • have “special” treatment toward googlebot - it is more friendly, i.e. for usual visitors content on index.php is changing each time (if bot is detected). For googlebot we made friendly 1 hour cache, so it will not see changed content all the time (but once per hour);
  • it has extensive control panel that allows import from different CSV files with venues, events, genres, etc items maintaning in the same time DB integrity and eliminating duplicate data;
  • sitemap.xml is generated automatically for all semidynamic pages;
  • site is built using Tangra PHP framework;

We still have a lot of work to do on this site but State 1 is completed and site is now released and online.

Web дизайнери срещу програмисти. Сблъсъкът продължава.

Thursday, July 31st, 2008

Днес отново имах диспут с отнесен от вихъра web дизайнер, който се опитваше да ме убеди да съм му оставел 158 килобайтовия full page background, защото иначе се развалял целия дизайн. Опитах се да му обясня най-човешки, че такова животно като full page background е единствено подходящо за неговия личен сайт, където си представя дизайнерските умения. Опитах се и да му покажа, че ако сайта получи повече content ще се появи скролбар и няма абсолютно никакъв начин неговия bg да изглежда нормално в такъв случай. Наивно очаквах, че след експеримента със скролбара пича ще се усети, че е напаравил гаф и ще измисли нещо ново, но за съжаление, както ми се е случвало и преди с други такива като него, ми излезе със следните идиотски идеи: (more…)

Да напишеш насила captcha модул

Friday, July 11th, 2008

В последните дни за занимавах да направя user registration модул за моя Tangra Framework for PHP. Както и се очакваше - грандоманията в мен отново надделя и вместо на спретна набързо едно модулче с проста формичка за user details, аз се отплеснах и направих чудовищна форма с всички възможни полета за които се сетих, че е конфигурируема отгоре на това (т.е. може да се избере като се настройва сайта кои полета да се показват и кои да са задължителни).

Както и да е, направих регистрацията, админа и т.н. но в един момент покрай правенето на страница за “Resend activation email” е усетих, че злонамерени келеши могат да я използват за много успешна DOS атака. Налагаше се да сложа captcha.

Разрових се из интерсвинщината, (more…)