Development using different platforms, languages, etc: links, thoughts, experience, articles.
Thursday, November 1, 2007
FAR 1.80: Unicode and OpenSource
Так что сбрасывать со счетов старый добрый FAR пока не стоит!
Более детальная информация о новом FAR-е.
Monday, September 24, 2007
Google Documents: Presentations
Давно уже ходили слухи о том, что гуглдокс пополнится средством построение презентаций. Лично я уже думал для своих целей уже самому с использованием GWT написать что-то простенькое. Но Google обогнало меня в этом - и теперь на docs.google.com можно создавать презентации.
Да, сейчас они по функционалу не блещут - очень многих мелочей мне лично не хватает. А именно:
- Возможности создания своих "тем" (Например, логотип или общий текст на всех страничках) - есть возможность или переключатся между предустановленными темами или копировать уже созданный слайд.
- Возможности добавления разных геометрических фигур: стрелочки, квадратики и т.д.
Но уже то, что есть довольно сильно впечатляет:
- Возможность онлайн-демонстрации презентации: после старта презентации можно кинуть урл презентации тем, кто хочет послушать вас и потом в мини-чате уже проводить. Естественно логично добавить бы поддержку звука (с помощью Flash). Возможно это будет в следующей версии
- Возможность экспорта презентации для off-line показа: после экспорта мы получаем zip архив, в котором есть все необходимые файлы для запуска презентации там, где нет интернета.
Что ж, резюмируя могу сказать: очень впечатляющее, но только начало. Google, так держать!
Wednesday, August 29, 2007
GWT: Out of beta!
Поздравляю всех, кто работает или заинтересован в GWT. Ибо сегодня "великий день" - с выходом релиза 1.4 GWT уже перестал иметь статус "Beta"!
Кому интересны подробности, советую почитать эту новость в оригинале.
Тут же напишу небольшую выдержку о том, что именно новенького в 1.4 кроме выхода из "бэты":
- Код после компиляции стал меньше до 30% и скорость компиляции возросла на 20%-50%
- Ускорен стартап приложения на клиенте (уменьшенно кол-во запросов)
- Новые стандартные виджеты: RichTextArea, HorizontalSplitPanel, VerticalSplitPanel, SuggestBox, DisclosurePanel, PushButton, ToggleButton
- Знаменитый "ImageBundle" - одним запросом можно получить много картинок (снова таки оптимизация)
- Оптимизированы старые виджеты, добавлен новый ф-ционал (напр. Image)
- Поддержка NumberFormat и DateTimeFormat для более простой локализации
- Добавлена система бенчмаркинга юнит тестов GWT
- Поддержка cross-stite трансферов модулей
... и многие другие фичи и очень много багфиксов.
Это действительно огромный шаг в развитии GWT.
Cледующий шаг - поддержка Java 1.5 синтаксиса. И, судя по отзывам разработчиков, это будет уже скоро.
Thursday, August 9, 2007
Google Mashup Editor: New Google project
Проглядывая море ньюсфидов я обнаружил ссылочку на довольно интересный проект: Google Marshup Editor.
Так, как доступ пока закрыт, не совсем ясно что это за зверь такой. Но уже есть галерея готовых "машапов", по которой можно примерно узнать как оно работает.
Довольно простой и интересный пример - TaskList (там же есть и исходники).
Насколько я понял, эта система позволит клепать небольшие странички, которые будут иметь возможность хранить индивидуальные данные для каждого пользователя, имеющего account в гугл, получать доступ к другим источникам данных и т.д.
Интересно, что сам редактор использует GWT, при этом есть отличное обоснование, почему именно.
Tuesday, July 31, 2007
Multiple WAN: OpenWRT solution
Некоторое время назад провайдер, к которому я был подключен наверное больше 4 лет (IpNET) стал совсем уж слабо удовлетворять моим требованиям. По этому я решил сменить его. Но у ИпНета есть один довольно существенный плюс - его внутренняя сеть. И как-то не хотелось терять возможность качать со скоростью 5-6мб/сек. Да и покупка ноутбука с WiFi добавила ещё одну причину поменять рутер.
Недолго думая, я остановился на Asus WL500g Premium. Он сравнительно недорогой (~$90), но, судя по описанию, вполне мог обеспечить необходимый функционал - два WAN(MAN) подключения + WiFi.
Попробовал сначала прошивку от Олега, но мне она всё-таки немного не понравилась - получается просто комбинация стандартного интерфейса Asus и OpenWRT. Так что решил я сразу перейти на OpenWRT, но только с неплохим интерфейсом. По этому, остановил я свой выбор на X-WRT.
Как базовую документацию по созданию двух WAN-ов я взял статейку вики на самом сайте OpenWRT. Но там конфигурация намного сложней, чем мне нужна была - там полноценный load balancing, который мне не нужен был.
По этому, я модифицировал скрипты просто добавив в /usr/share/udhcpc/default.script при инициализации рутинга вызов некоторого кастом-скрипта:
[ -n "$router" ] && {
#remove previous rule/table
ip route flush table $interface
for i in $router ; do
echo "adding router $i"
#route add default gw $i dev $interface
ip rule add from $ip table $interface
ip route add $TT dev $interface src $ip table $interface
ip route add 192.168.1.0/24 dev eth0.0 table $interface
ip route add default via $i table $interface
valid="$valid|$i"
done
#add the default route with equalize mpath
#echo "deleting and updating routes"
#while route del default >&- 2>&- ; do :; done
#P1=`ip route list table eth0.1 | grep via | cut -d" " -f 3`
#P2=`ip route list table eth0.2 | grep via | cut -d" " -f 3`
#ip route add default scope global \
# nexthop via $P1 dev eth0.1 weight 1 \
# nexthop via $P2 dev eth0.2 weight 1
#echo "deleting old routes"
#$(route -n | awk '/^0.0.0.0\W{9}('$valid')\W/ {next} /^0.0.0.0/ {print "route del -net "$1" gw "$2";"}')
#flush previous route
[ -f /etc/$interface.dhcp ] && . /etc/$interface.dhcp
ip route flush cache
}
После чего, создал файлик /etc/eth0.1.dhcp в котором прописал статические подсетки, которые я хотел рутить на WAN интерфейс eth0.1:
ip route add 172.16.0.0/18 dev $interface src $ip table $interface
ip route add 172.16.140.0/22 dev $interface src $ip table $interface
ip route add 82.193.96.0/20 dev $interface src $ip table $interface
ip route add 82.193.96.0/19 dev $interface src $ip table $interface
ip route add 82.193.96.232/29 dev $interface src $ip table $interface
Ну и так, как eth0.2 у меня нужен был как дефолтный, я прописал в /etc/firewall.user (может надо в другом файле, но я не знаю точно в каком) инициализацию дефолтного гейтвея:
......
# Default route
ip route add default scope global via 194.0.91.193
Таким образом я получил, что подсетки, указанные в eth0.1.dhcp идут через eth0.1, а всё остальное - через eth0.2, что и требовалось.
Пользовательская оболочка довольно приятная. Хорошая фича - рисование графиков загружености в реальном времени.
Вот примеры рисования графиков:
Friday, July 27, 2007
Netcraft Web Servers Survey: who is GFE/GWS?
Попалась на глаза свеженькая статистика веб серверов. Судя по ней, сейчас 4.3 млн. сайтов работают под управлением серверов от Google.
Может я что-то не понимаю, но ведь Google не опубликовывали никаких своих веб-серверов (по типу Apache/IIS). Откуда столько сайтов?
При этом, сами сервисы Google работают на разных веб серверах - вот списочек.
Насколько я знаю, Google использует модифицированные Linux + Apache.
Не удивлюсь, если скоро появится опенсорсовый Google Web Server, который вполне может отобрать определенное количество аудитории от гигантов IIS/Apache.
Хотя, зачем это Google?
Wednesday, July 18, 2007
GWT: Tutorials
Не смог удержатся от того, чтоб не сделать кросс-пост отличной подборки туториалов. Оригинал можно посмотреть тут.
- Getting Started Guide - От самого GWT.
- Kickstarting Google Web Toolkit on the Client Side - Early "Hello, World!" tutorial with a second, animation example. This quick-start tutorial aims to translate some of the knowledge gained from my monkeying about with GWT into a useful text which will get other developers up and running quickly. To keep things nice and simple, we'll focus on only client-side matters.
- Google Web Toolkit Tutorial: The Break Down - Very short tutorial from early on. Demonstrates a simple rollover with GWT.
- Working with the Google Web Toolkit - Extensive tutorial with lots of screenshots that demonstrates everything from the basic getting started to some of the more interesting features, such as history support (i.e. the back button.). Article includes a Maven module for GWT.
- Introduction to the Google Web Toolkit - another extensive tutorial, this one from Oracle, so if you want to see how to GWT with JDeveloper, this one is for you.
- GWT Tutorial with Googlipse - yes, Googlipse is no more, but Cypal Studio has taken it's place. This demonstrates one way of doing GWT with Eclipse.
- Exporting WAR in GWT - Tutorial to create a WAR file in command line (works only with WTP 2.0).
- GWT Small Guide - I wrote this guide thinking in the user's who want's develope dynamic application's with the GWT (Google Web Toolkit) in an AMP(Apache,MySQL,PHP) environment's. The basic idea is write a small and very simple application using MySQL and PHP at the server side, and GWT for the client interfaze, using JSON for the communication between the client and the server.
- Ajax for Java developers: Exploring the Google Web Toolkit - One of several GWT tutorials from IBM's developerworks. In this article, I'll run through creating a simple GWT application to fetch a weather report from a remote Web API and display it in the browser. On the way, I'll briefly cover as many of GWT's capabilities as possible, and I'll mention some of the potential problems you'll come across.
- Trivial GWT Example - from Robert Hanson, who went on to write an excellent book on GWT, a simple GWT-RPC example.
- Build an Ajax-enabled application using the Google Web Toolkit and Apache Geronimo - recent (May 2007) two part series (part two is here) with source code, flash demos, etc.. Requires registration.
- Google Web Toolkit - This article describes the development of a simple Ajax application on Mac OS X using GWT and familiar Java tools, such as Apache Ant, the Tomcat 5.0 servlet container, and the IntelliJ IDEA integrated development environment (the latter is a commercial IDE). The article assumes some knowledge of Java and Ant.
- GWT Tutorial - focuses on producing a web site, rather than a webapp.
- Getting Started - the first of Paval JBanov's planned five GWT tutorials. The others are First Application, Core widgets and panels, Custom widgets and RPC (not yet written).
- GWT Plugin Tutorial - oddly enough, this tutorial demonstrates how to integrate GWT with Struts 2 WITHOUT the GWT plugin. Hmmmm.
- Getting Started with Google Web Toolkit (GWT) - Very basic, getting started instructions.
- Tutorial: Creating a Login application - demonstrates the use of Instantiations' GWT Designer tool (WYSIWYG UI design for GWT).
- Basic GWT / PHP Communication - Part 1: Java and Part 2: PHP. All the GWT documentation is about hooking up Java on the front and back ends. What about PHP? This shows how.
- String-based RPC between GWT and PHP - forget about serializing Java objects via XML and JSON; this is the dead simple approach.
- Using cURL to Interface GWT with an Existing Site - this one is kind of hard to explain. If you know about curl and PHP, this article is worth reading.
- Creating GWT RPC Services Tutorial - short guide to using gwt4nb, the Netbeans plugin for GWT, to create GWT-RPC services.
- Creating a simple app with GWT4NB - flash based tutorial on creating an anagram application with GWT and Netbeans.
- Googled by GWT - Part 1 and Part 2. Extensive getting started tutorial with lots of screenshots.
- Google Web Toolkit Tutorial - short example demonstrates use of the keyboard listener.
- Step by Step: A Mortgage Calculator using GWT - as it says, a mortgage calculator demo using GWT.
- IntelliJ IDEA: Google Web Toolkit as 1-2-3 - Animated demo walks through the configuration of IntelliJ Idea for the
Google Web Toolkit and shows how to write a GWT image viewer
application. - IntelliJ IDEA: Creating GWT Application from a Web Module - Animated demo of using GWT in a web module (IDEA's project/module type for Java webapps).
- Ajax for Java developers: Exploring the Google Web Toolkit - extensive tutorial from IBM developerworks that builds all the way to a weather reporter widget.
- Integrating the Google Web Toolkit with JSF using G4jsf - I can't say that I really love JSF, but if you bend that way, this will teach you how to marry the two. Extensive with lots of code snippets and screenshots.
- Asynchronous Google (Web Toolkit) and Django - Integrating GWT and Django using JSON.
- Using VistaFei IDE 1.0 for GWT: A Tutorial - VistFei is an IDE. The last time I looked at it, this tutorial had somehow lost it's screenshots and the CSS had been jacked up.
- Using Google Web Toolkit - video HOWTO by Bruce Johnson, the tech lead of GWT.
- GWT-Spring Integration Demystified - any time a new technology comes along, it just has to be integrated into Spring. Here you go.
- Build an Ajax application using Google Web Toolkit, Apache Derby, and Eclipse - Part 1 and Part 2. Extensive tutorial in two parts, the first of which deals with the front end, the second of which deals with the back end.
- Ease AJAX development with the Google Web Toolkit - develops a book search application as part of a getting started tutorial.
- Roughian Examples - combination demo/tutorial of GWT. Version 2 is under development.
Если ещё найду, буду добавлять.
Мне когда-то больше всего помогли 1 и 26.

