2009
12.10

NetBeans IDE 6.8 released

С небольшим опозданием вышла новая версия популярной среды разработки с открытым исходным кодом NetBeans.

Некоторые из нововведений:

  • Поддержка Java EE 6;
  • Поддержка JavaFX 1.2.1, улучшены возможности редактирования .fx-файлов;
  • Новые возможности интеграции с kenai.com;
  • Полностью поддерживается PHP 5.3;
  • Поддержка Rails 2.3.4, усовершенствованный рефакторинг Ruby;
  • Улучшен профайлинг C/C++: определение утечек памяти, «узких мест»;

http://netbeans.org/community/releases/68/index.html

2009
12.09

Многие согласятся, что эпоха Web 2.0 уже подходит к концу. Сегодня я расскажу вам о некоторых стартапах следующего поколения и предреку смерть некоторых Web 1.0 зубров. Прошлые несколько лет прошли под лозунгом «User generated content», следующие же — под двумя новыми:

  • User generated applications.
  • Platforms.

Начнём с User generated applications.

Одной из главных причин популярности PHP является количество бесплатных и простых в установке продуктов: Wordpress, MediaWiki, phpBB, Drupal & Joomla — всех их легко можно встретить на большинстве сайтов в интернете. Процентов 90% решений, основанных на них отличаются лишь настройкой(дизайн/плагины), таким образом запуск проекта по сути состоит только лишь из deployment’a.

Индустрия ответило на это моделью SaaS(Software as a Service) — такие сайты, как Wordpress.com & Blogger.com позволяют вам создать свой блог, причём настроить его можно так, что выглядеть это будет как standalone-решение. Пример — Graceless Failures, блог разработчиков Twitter о языке Scala. Собственный домен и отсутствие признаков сторонней платформы в дизайне. Мейл-листы/Google Groups стандарт де-факто среди открытых проектов, причём если вашим пользователям нужен привычный интерфей форума — нет проблем, взгляните на форумы Mono, естественно они не ставили никакой phpBB, а перед вами просто интерфейс к мейл-листам от проекта Nabble. Google Sites позволяет любой малой-средней фирме вести свой сайт без чьей-либо помощи, а Shopify поможет вам открыть свой магазин.

Время, когда вам нужен программист для того, чтобы создать среднестатистический сайт, проходит. Максимум из того, что вам может пригодиться — дизайн. Остальное за вас сделают умные сервисы.

Начнём пожалуй с Iceberg. Это приложение было запущено в начале лета и уже успело прогреметь в западном интернете. Project management & Customer relationship management лежат в основе деятельности любой компании, поэтому Web 2.0 продукты от 37 signals & ZOHO были встречены «на ура». Две основные их проблемы — возможность настройки и размещение своих данных в интернете. Проект Iceberg был создан, чтобы их решить.

Отличный обзор проекта можно прочитать на сайте RRW. Iceberg следует принципам Model Driven Architecture, в котором обычный пользователь может создать своё приложение через веб-интерфейс, создавая компоненты и устанавливая отношения между ними(как ассоциации has_many & belongs_to в Ruby on Rails). Замечательный сайт Learning Iceberg расскажет менеджеру, как он может перестать пинать своего программиста и сам автоматизировать свои бизнес-процесы. В отличие от продуктов 37 Signals, Iceberg может работать внутри локальной сети. Написан он, кстати, на .NET.

Следующим MDA-powered приложением будет Wufoo, стартап поддерживаемый небезызвестными Y Combinator. Этот проект позволит вам без проблем создать любую анкету, среди примеров есть простые баг-трекеры, формы заказа или заявок на работу. Вашему программисту требуется на это неделя, но только после того, как он осовбодиться? Создайте сами форму из кучи настраеваемых компонентов и получите красивый отчёт с графиками и экспортом в Excel.

Раз уж мы заговорили об Excel, то нелья не упомянуть о DabbleDB. Excel был одним из продуктов, который позволил захватить компании Microsoft бизнес сектор. В демо-ролике на их сайте показывают как вы сами можете перенести свои spreadsheets в веб-интерфейс, да и вдобавок сделать это побыстрее админки Django или Symfony.

Вот они, три флагмана в направлении user generated apps. MDA модель давно уже известна в Enterprise-мире, и сейчас переживает новое рождение с популяризаций DSL(Domain Specific Languages). Я думаю все согласятся, что большинство работы в малых/средних компаниях (корпоративные сайты и автоматизация бизнес-процессов) представляют собой в основном сбор требований и настройку уже существующего продукта, либо рутинное кодирование функционала. Со временем настройка становится проще, а использование готовых решений дешевле, чем содержание программиста.

Уже мало кто пишет свою ERP/CMS, но число 1С/Битрикс/Anything-интеграторов(заметьте, не «программистов», а именно «интеграторов») растёт. В USA уже никто не собирает компьютеры сам(купить в Dell куда дешевле), а с развитием виртуализации мы опять возвращается к «мейнфреймам», никто не бегает от компьютера, к компьютеру устанавливая офис/настраивая сеть/… Обычный хостинг умирает: за 20$ вы можете взять VPS с 256MB оперативной памяти и сами поставить нужную вам версию PHP, а если надо развернуть свой блог/сайт, то куча сервисов к вашим услугам, где вы концентрируетесь только на вашей задаче и не занимаетесь программированием/хостингам. Не многим хостерам по силам конкурировать с Amazon EC2/Slicehost/Engine Yard.

Компьютерная индустрия развивается огромными шагами и самым важным требованием становится профессионализм. Как тут многие любят писать — любой школьник/студент, интересующийся компьютерами — фрилансер, так вот рынок фриланса в ближайшее время подвергнется большому удару со стороны таких вот сервисов, «фрилансер-заменителей».

Теперь немного о весёлом — платформы.

Волна привычных блогов, форумов и CMS, из которых состоит обычный сайт уже схлынула, и если мы будем говорить о последних новостях в мире Python, Ruby, PHP и прочих, то основная тема будет — фреймворки. Основными католизаторами удачного бизнеса в интернете теперь могут стать только уникальная идея и быстрое средство для её реализации.

Web-services, Facebook, OpenSocial, iPhone, Android, Google Maps, YouTube, Messaging, Open Standards, Cloud Computing — вот где развернётся в ближайшее время «война» в интернете. Теперь фраза «Я делаю Mash-Up или участвую в Startup’e» заменяет популярную раньше «Я делаю Web-сайты». Меньше всех придётся волноваться дизайнерам — их услуги будут нужны ещё долго, дизайн не автоматизируешь, а вот web-мастерам-администраторам-кодерам можно начать задумываться. Впрочем, профессионалы будут нужны всегда, но если вы кодер и вашу работу можно автоматизировать, а вы не знаете что такое сложность алгоритма и всякие O(n), то переквалифицироваться будет непросто.

Описывать все эти Buzz-words, перечисленные выше смысла нет, развиваются они быстро, так же как и меняется наша жизнь. Однако, если вы о них не слышали, стоит обратить внимание, вдруг это «убийцы» вашего ремесла.

И снова о грусном и нравоучительстве.

Вообщем мой вам совет — следите за индустрией, не зацикливайтесь на определённых вещах и раширяйте свой кругозор. Совсем не ясно, как будет выглядеть интернет и его разработчик через 5-10 лет. Многие обвиняют наше образование в том, что их не учат HTML/PHP/… Господа, образование научит вас мыслить и адаптироваться к жизни. А PHP лет через 10 может и не быть, зато математика, которую вы прогуливали, делая очередной сайт, останется.

2009
11.21

Linked Data

For many, Linked Data is quite a difficult concept to understand.  After all, isn’t data already on Web, in terms of text on Web pages?

A Web site that documents where Linked Data can be found online, at last count found more 4.2 billion assertions encoded in Resource Description Framework across a variety of different data-annotating projects.

Berners-Lee said that if the Web manager uses common uniform resource identifiers to identify people, cities or countries in the data, the browser could automatically pull information from other Web sites about those entities. “So there is very much more value to data for me, if I’m just browsingl,” he said.

Say you want to attend a conference at some location.  The conference site has a Web site, so you copy its physical address from the site and go Google maps to find directions. In reality (with RDF) th address can be passed from one site to the next through your browser automatically, without you having to do anything.  The mapping site could check your cache and list any addresses found there, offering you the option of mapping them.

Overseen by the World Wide Web Concortium, the organization that maintains the Web’s standards, RDF is a way of making data available by encoding it so that external IT systems can understand it.

RDF is based on making associations.  It describes data by breaking each data element into three notes: a subject, predicate and object.  For example, consider the fact that Yellowstone National Park offers camping.  “Yellowstone” would be the subject, “offers” would be the predicate and “camping” would be the object.  All three elements get uniform resource identifiers, or a globally recognized Internet addresses.

A query against triple store, which is what an RDF database is called, can link disparate facts.  If another triple, perharps located in another triple store, contains the fact that Mammoth Hot Springs are located in Yellowstone, a single search across multiple Triple Stores can return both facts.

Additional standards can further refine the precision of the data definition.  For instance, two parties can agree that the term “Yellowstone”  refers to “Yellowstone National Park” by using a shared, controlled vocabulary, which can be referenced through an RDF schema called RDFS, you can state that Yellowstone is a type of national park.  So a search for national parks that offer camping would return “Yellowstone”.

In essence, with RDF, user can build a set of data from various sources on the Web that might not have been brought together before.

How do you use these triples?  One way is thought the query language for RDF, called SPARQL, an acronym for recursive SPARQL Protocol and RDF Query Language.  With Structured Query Language (SQL), you can query multiple data tables through the Join function.  With a SPAQL query, you specify all the triples you would need, and the query engine will deliver the answers that fit all of your criteria.

For example, let’s say you are looking for a four-star hotel in New York. You have a query to look for triples specifying four star hotels, hotels and New York.  The query search engine would find all the triples for hotels in New York, in addition to all the triples for four-star hotels, and filter down the four-star hotels in New York.

Even more sophisticated interpretation fo RDF triples can be done through another W3C Web standard called the Web Ontology Language (OWL).

The logica chain of reason within an RDF triple is relatively static and can vary according to who does the encoding.  One triple might say that Yellowstone “offers” camping as service, but another triple might state that camping “is offered” at Arcadia National Park.  Although it might seem obvious to us that both Arcadia and Yellowstone offer camping, it wouldn’t be to the computer.  An RDF query engine, perharps one embedded in a Web application, could consult OWL and return both entities.

For anyone familiar with HTML, RDF could be thought of as an extention to the metatag, which developers use to describe the contents of Web pages for search engine.

A Web site can host an RDF document that contains a list of terms, called a namespace, that can be used to tag different bits of data across its Web pages.  All the pertinent data on the site’s Web pages can then be tagged with terms in this namespace.  For example, <album:name>Abbey Road</album:name>indicates that the name of a music album in the text is called “Abbey Road”. As long as the Web page of RDF names is formatted using a standard W3C RDF namespace, a link between the organization’s own namespace and the rest of the Web is established.

As Bernes-Lee states in a document that describes how Linked Data works, RDF identifiers also could use hash tags, which would give any data elements on the Web their own Web addresses. For instance, a Web page with some RDF-tagged information about someone named Albert could be rendered like this : “http://example.org/smith#albert.”

“This is valuable thing to do, as anyone on the planet can now use that global identifier to refer to Albert and give more information,” Bernes-Lee writes, adding that additional information could be mapped to Albert through RDF, such as who his children are.

Although the idea of a machine-readable Web sounds great, it still requires data holders to render material in RDF, a tall order for already-overworked Web mangers.  Fortunately, W3C has been working to develop standards that would make enbedding RDF into Web pages easier.

“The more thngs you have to connect together, the more powerful it is,” Berners-Lee said.

  1. Linked Data
  2. Data.gov Wiki
  3. Structured Meaning in HTML 5
  4. Tim Berners-Lee on Linked Data design issue
  5. Building Semantic Web Applications for Government
  6. How to publish Linked Data
  7. RDF Primer
  8. Web Ontology Language Primer
  9. RDF in XHTM – Syntax and Processing
  10. HTML+RDF
  11. Drupal RDF Content Construction Kit
  12. Drupal RDF Content Construction Kit
2009
11.21

Data Reference Model

Data Reference Model would set out an evolutionary path for accessing datasets.  The path involves outward inprovemenets for consumers of the site and inward imporvemenets to agency processes for producing and publishing the datasets.  There are three specific areas where this concept of operations are most fruitful:  context (via metadata), enhanced description (via Semantic Web) and access (via query points).

Context. We take a particular approach to metadata bu using a core set of attributes based on Dublin Core and an extension set of attributes for specific data types, such as statistical or geospacial data. This can evolve and expand the collection, standardization and precision of such metadata. It is good to see a willingness to examine new techniques, including Semantic Web techniques to increase the precision of the collected metadata.

Description. The concept of operations considers taking adavantage of Semantic Web techniques to enhance the linkage (via robust relashionships), discovery (via uniquely identified concepts) and meaning (via set theory) of such data.

Access. Query points encourage the development of what is known as part of Service Oriented Architecture data service layer.  The azimuth might have changed from information sharing to transparency, but the mechanisms to deliver either the outcome are the same and still spelled out clearly in the FEA DRM.

2009
11.20

Lightweight databases

The necessity for scalability and speed of data inserts and retrieval spawned quite a few new open source products like:

  1. Drizzle
  2. CouchDB
  3. MongoDB
  4. Tokyo Cabinet

Major reason to move to unstructured sets of data is exhaustion. Enterprise software development teams has been preoccupied with integrating data, formatting it properly, moving it between databases and preparing for processing. With new databases on the block such actions are actions of the past.

2009
11.19

My bookmarks

Here’s the list of sites that Roman visits on daily basis: