Условная компиляция в actionscript

Как известно, actionscript весьма кривоват и не балует даже препроцессором. Тем не менее, в нем откопалась возможность условной компиляции. Понятно, что через одно место.

При компиляции, в mxmlc можно указывать константы:

mxmlc -define=CONFIG::debugging,true -define=CONFIG::release,false MyApp.mxml

а в коде надо нарисовать слудующую ужасную конструкцию:

Continue reading

Тирчик

Тирчик неотвратимо добрался до 50К установок. Это, конечно, еще мало, но все же прикольно.

А ведь скоро добавлю туда турниры, щас то ПвП вообще нет!

Вот, подбираю dedicated сервер. А то как-то неуверен уже в VPS.

Фильтр мата для флеша (AS3)

Для Тира сделал фильтр нецензурной лексики, а то молокососы в чате достают, матерятся как сапожники, может еще кому пригодится:

package com.grom 
{
	/**
	 * ...
	 * @author Alexander Sorokin aka Grom  - http://alexsorokin.ru/
	 */
	public class WordsFilter 
	{
	private static var words:Array = ["fuck","пидар", "мудак", "чмо", "дибил", "говн", "дерьм",
		"тварь", "еблан", "уебашка", "уебатор", "мудила", "пидрила", "мудак", "гавноеб", "ебан", "ебать",
		"хер", "пизда", "хуй", "йух", "блять", "блеать", "блиать", "блядь", "блядина", "говноеб", "уебище", "пиздопроебище",
		"хуйло", "хуило", "ахуел", "иди на хуй", "иди нахуй", "нахер", "иди впизду", "ебалан", "4мо", "сученок", "сучара",
		"гнида", "ебал в рот", "ебал врот", "ебаный", "ебанный ", "хуйня", "херня", "по хуй", "похуй", "ебись",
		"придурок", "пидофил", "педофил", "мудоеб", "ёбырь", "ебантяй", "сучка", "дура", "дегенерат", "ебучий"];
 
		public function WordsFilter() 
		{
 
		}
 
		static public function filter(str:String):String
		{
			var ttyrt:String = str;
 
			var t:Function = function(s:String, s1:String):int { var d:int = (s.length - s1.length); return d > 0 ? 1 : (d==0 ? 0:-1); }
			words.sort(t);
			var rr:RegExp = new RegExp('(' + words.join('|') + ')', "igm");
 
			var str:String = ttyrt.toLowerCase();
			for (var i:int = 0; i < words.length; i++) 
			{
				var w:String = words[i];
 
				var idx:int = 0;
				do {
					idx = str.indexOf(w, idx);
					if (idx == -1) break;
					ttyrt = ttyrt.substr(0, idx) + w.replace(/./ig,'*') + ttyrt.substr(idx + w.length);
					str =     str.substr(0, idx) + w.replace(/./ig,'*') + str.substr(idx + w.length);
					}while (true);
			}
 
			return ttyrt;
		}
	}
 
}

Код написан по-быстрому на коленке, да и ActionScript – говно редкостное. Так что принимаются предложения по оптимизации.
Кстати, менять при помощи RegExp у меня не вышло – не понимает сравнение без учета регистра.

Как делать виджет на javascript + jQuery

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

Там по линку вообще подробное руководство как виджеты делать. Даже мне понятно!

via How to build a web widget (using jQuery) – Alex Marandon.