jEdit sFTP connection over http proxy

Рубрика: Development, Java | 12 January 2008, 17:21 | Vadim Voituk

Будучи в расстроенных чувствах, в связи с необходимостью прийти на работу в субботу, решил заняться тем, что мешало мне комфортно трудиться последние 2 месяца – отсутствие возможности редактировать файлы по FTP/sFTP посредством jEdit “сидя” за HTTP-прокси. [Далее...]

DZone internals unleashed

Рубрика: Development, Java | 11 January 2008, 11:05 | juriy

DZone Fail

Okay, there’s no perfect projects. Except HelloWorlds of course. DZone is good but not perfect. At least we’ve found one minor issue about it: it shows stack traces to end users. There’s nothing particularly bad in it considering the fact that this happens not quite often. Still we got a really-really nice stack trace from dzone and we can take a glance on it’s internals. [Далее...]

Когда времени слишком много.

Рубрика: Development, Юмор | 25 December 2007, 11:44 | juriy

Drink Coffee

Меня всегда интересовало, что подталкивает людей делать забавные но абсолютно бесполезные вещи? Может огромное количество свободного времени, или желание выделиться из массы?

Как бы то ни было, в наше компьютеризированное время, у каждого есть возможность сделать абсолютно бесполезную вещь себе и другим на радость.
Вот что можно сделать имея под рукой пару дней свободного времени и Книгу Дракона.

Итак, обзор замечательных, но абсолютно бесполезных языков.

1. Brainfuck.
Этот язык – притча во языцах: он имеет всего несколько операторов, которые позволяют перемещаться по ячейкам памяти и проводить операции инкремента, декремента, считывания и записи.
Примечательно, что компилятор для этого языка занимает… 240-байт.

А вот и пример программы Hello, world!

[code]
>+++++++++[<++++++++>-]<.>+++++++[<++++>-]<+.+++++++..+++.>>>++++++++[<++++>-]
<.>>>++++++++++[<+++++++++>-]<---.<<<<.+++.------.--------.>>+.
[/code]

(а вы говорите, замыкания тяжело читаются :-)

AAAAAAAAAAAAAA!!!!
Синтаксис этого замечательного языка состоит только из букв А, пробелов, запятых и восклицательных знаков. Сложно представить эмоциональное состояние автора этого языка. А вот и пример программы:

[code]
AA AAA AA AA, AAA, AAA, AA A AAA, AA A AA A AA A AAA, AA A AA A!
AA AAA AA A, AAA AAAAA A AAAA, AAA!
AA AAAA AA! AAA A AAA AAAA! AAA A AA AAAA AAA, AA A, AAA AAA, AA A AA A AA A,
AAA AAA, AA A AA A! AAAA A AAA!
[/code]

Не читайте листинг вслух.

Emoticon.
Не менее экзотичен. Использует в качестве инструкций… смайлики.

Пример программы:

[code]
:-(
:-P
8-O
:=\
:-E
:-)
[/code]

Более полный список можно поискать тут.

SCJP-6

Рубрика: Development, Java | 20 December 2007, 11:18 | juriy

Sun выпустила очередное обновление программы сертификации SCJP (Sun Certified Java Programmer). Индекс нового курса – CX-310-065.

Немного об изменениях, которые были внесены в программу.

[Далее...]

Java 6 Web Services

Рубрика: Development, Java | 18 December 2007, 16:52 | juriy

Одно из существенных нововведений в Java 6 – поддержка Web сервисов в JDK Standard Edition. Я не буду разливаться мыслью по древу, и рассказывать, зачем нужны веб-сервисы: и без меня об этом написано много. Я просто покажу, как, используя Java 6, можно за 20 минут написать веб сервис, клиент для веб сервиса и запустить всю эту систему на локальной машине, не используя ничего кроме Java 6 SE.

[Далее...]

Грустно-лирическое о социальных закладках

Рубрика: Development | 13 December 2007, 12:08 | Vadim Voituk

Вот наблюдаю за нынешней популярностью сетей социальных закладок (а-ля del.icio.us, bobrdobr, toodoo и тд)  и с тоской вспоминаю как несколько лет назад, когда о подобных услугах ещё никто и не слышал и в открытую не говорил,  Виктор Пащенко предлагал мне разработать аналогичный сервис. Вспоминаю как тогда просто смеялся и говорил что это все фигня и никто этим пользоваться не будет, что даже специализированные plugin-ы для IE и Opera ситуацию не изменят и удобства такому решению не добавят…
А ведь Виктор тогда ещё долго “горел” этой идеей – что, в принципе, для него очень нехарактерно :)

И что мы видим теперь? Огромное количество популярных сетей закладок, которые ничем не выделяясь с технической точки зрения, имеют огромное количество активных пользователей и такие же рекламные доходы.
Да что уж говорить если я сам пользуюсь del.icio.us :)

Firefox 3 и резко устаревшие расширения

Рубрика: Development | 7 December 2007, 16:27 | Vadim Voituk

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

Чаще всего расширения не поддерживаются новой версией FF отнюдь не потому, что в этой самой новой версии много несовместимых внутренних изменений , а потому что авторы расширения ещё не удосужились изменить значение maxVersion  в описании своего расширения. В результате страдаем мы – честные пользователи.

К чему это я?
А к тому что хочу поделиться советом, как установить старые, возможно uncompatible, а возможно и compatible, расширения на новую версию Firefox 3.

За проверку совместимости версий firefox и  устанавливаемых расширений отвечает параметр конфигурации:
extensions.checkCompatibility

Для его изменения открываем в браузере адрес about:config ищем указанную переменную в списке, если не находим, то создаем (Right click => New => Boolean), и указываем значение false.
Перезапускаем браузер и на свой страх и риск устанавливаем расширения, созданные для любых версий FF.

Документация по версионности на developer.mozilla.com

Using jEdit as diff/merge tool

Рубрика: Development, Java | 7 December 2007, 12:02 | Vadim Voituk

… или о пользе встраиваемых скриптовых языков

Уже лет так 5, для разработки, я пользуюсь  редактором jEdit.  Почти все это время c ним активно использовался плагин для сравнения файлов jDiff.

А вчера решил  использовать jEdit+jDiffPlugin для diff-а и merge-а в системе контроля версий StarTeam.
Кто использовал StarTeam, для контроля версионности кода – могут только посочуствовать, так как наверняка знают что пользоваться встроенным diff-ом/merge-ом – невозможно. [Далее...]

Groovy charset convertor tool

Рубрика: Development, Groovy | 4 December 2007, 09:34 | Vadim Voituk

Consider you have a lot of text files with a specific charset within your project.
And you need to write a batch processor to convert each of them to UTF-8.

Of course you can combine `find` and `iconv` tools to do that.
For example:
find ./tests -name '{*.txt,*.java}' -print -exec iconv -f windows-1251 -t UTF-8 {} \;

But you have neither `find` nor `iconv` tools on Windows!
So, lets try to craft this magic converter tool using Groovy!
[java]

if (args.size() < 3) {
	println "GroovyConv - simple charset convetret tool"
	println "Usage: GroovyConv encoding-from encoding-to filemask1 [filemask2,...]"
	System.exit(1)
}

def charFrom = args[0]
def charTo   = args[1]

def ant = new AntBuilder()

def list = ant.fileScanner() {
	fileset(dir: "") {
		for (i in 2..<args.size())
			include(name: args[i])
	}
}

list.each {
	println "Converting $it from $charFrom to $charTo"
	try {
		it.write( it.getText(charFrom), charTo)
	} catch (IOException e) {
		println "Error: " + e.getMessage()
	}
}

[/java]
That`s only piece of code you need.
Usage example:
groovy GroovyConv.groovy cp1251 utf-8 'tests/**/*.txt' 'tests/*.java'

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

Для построения полноценного современного web-интерфейса были выбран набор библиотек и компонентов, которым хочу с вами и поделиться. [Далее...]