Saturday, June 28, 2008

Привязные ремни и ненужные обгоны

Есть вещи, против которых человек бессилен. Например, ситуации на дороге.

Не делайте глупости там, где этого не нужно.


Всегда пристёгивайте ремни, даже сзади.

Где и как правильно искать книгу в сети

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

Основы ловли книг в поисковиках
В наше время, все поисковики умеют сканировать электронные форматы (PDF, CHM и прочие), так что вбиваем название книги или лучше её ISBN номер — так будет намного проще найти нужную вам книгу. А далее начинается игра с запросом: добавляем разные форматы документов.

Если вы формируете запрос в кавычках (смотрите мои примеры ниже), то поиск будет произведён именно по указанной фразе. Запрос без ковычек выдаст вам больше результатов, похожих на то, что вы ищете.

Google
  • Advanced Search
  • Advanced Operators
  • по формату: "Война и Мир" filetype:pdf | filetype:doc
  • по адресу: "Герой нашего времени" inurl:\.pdf
  • язык: "Евгений Онегин" lang:ru
Яndex

Я буду следить за пополнением и точностью этого списка.

А ещё, между прочим, описанными способоми можно искать инструкции по эксплуатации разнообразных микроволновых печей, фотоаппаратов и других приборов. Теоретически, всю документацию можно дома не хранить, она (почти) всегда доступна в сети. По большому счёту, это на совести производителей, которые хотят предоставить лучший сервис для своих клиентов.

Friday, June 27, 2008

Simple HTTP error pages collection

This is collection of following HTTP error pages to show to user instead of regular black-white versions as you get from default Apache HTTP Server or some others.

Client Error 4xx
  • 400 — Bad Request
  • 401 — Unauthorized
  • 403 — Forbidden
  • 404 — Not Found
  • 405 — Method Not Allowed
  • 408 — Request Timeout
  • 410 — Gone
  • 411 — Length Required
  • 412 — Precondition Failed
  • 413 — Request Entity Too Large
  • 414 — Request-URI Too Long
  • 415 — Unsupported Media Type
Server Error 5xx
  • 500 — Internal Server Error
  • 501 — Not Implemented
  • 502 — Bad Gateway
  • 503 — Service Unavailable
You should know, that Apache has build-in support for multi language error pages and mine is not, english only (as for now). It may be important depending on project you are working on.

All you need to do is to replace following patterns:
1) replace your site link

<a href="http://your-site/" title="http://your-site/">Home page</a>

2) and your e-mail and name

<a href="mailto:your-name@your-site" title="Your Name">Web-admin</a>


Now, you need to configure your front-end.

Apache (at httpd.conf or external included in httpd.conf)

ErrorDocument 400 /http_errors/en/400.html
ErrorDocument 401 /http_errors/en/401.html
ErrorDocument 403 /http_errors/en/403.html
ErrorDocument 404 /http_errors/en/404.html
ErrorDocument 405 /http_errors/en/405.html
ErrorDocument 408 /http_errors/en/408.html
ErrorDocument 410 /http_errors/en/410.html
ErrorDocument 411 /http_errors/en/411.html
ErrorDocument 412 /http_errors/en/412.html
ErrorDocument 413 /http_errors/en/413.html
ErrorDocument 414 /http_errors/en/414.html
ErrorDocument 415 /http_errors/en/415.html

ErrorDocument 500 /http_errors/en/500.html
ErrorDocument 501 /http_errors/en/501.html
ErrorDocument 502 /http_errors/en/502.html
ErrorDocument 503 /http_errors/en/503.html
ErrorDocument 506 /http_errors/en/506.html

nginx (at nginx.conf or external included in ginx.conf)

error_page 400 /http_errors/en/400.html;
error_page 401 /http_errors/en/401.html;
error_page 402 /http_errors/en/402.html;
error_page 403 /http_errors/en/403.html;
error_page 404 /http_errors/en/404.html;
error_page 405 /http_errors/en/405.html;
error_page 408 /http_errors/en/408.html;
error_page 410 /http_errors/en/410.html;
error_page 411 /http_errors/en/411.html;
error_page 412 /http_errors/en/412.html;
error_page 413 /http_errors/en/413.html;
error_page 414 /http_errors/en/414.html;
error_page 415 /http_errors/en/415.html;

error_page 500 /http_errors/en/500.html;
error_page 501 /http_errors/en/501.html;
error_page 502 /http_errors/en/502.html;
error_page 503 /http_errors/en/503.html;
error_page 504 /http_errors/en/504.html;


«/http_errors» should be in «DocumentRoot» for this configuration.

Download link:
http errors v1.1.0 (12 KB)

Things TODO:
1) want to make tool, for auto generation of these files and to inject there you name and home page links (probably on Java).
2) need to add some open source license

See also:
Hypertext Transfer Protocol -- HTTP/1.1
Status Code Definitions

JBoss and Tomcat problems with Java ClassLoader

Last week I was stucked with some specified java problem.
i made a dynamic web application (servlets and JSP stuff) and used some external libraries (JARs) inside WAR-file. there was under «WebContent/WEB-INF/lib/».

The problem description is that some classes is not visible from where it is being loaded. This happens when you have an isolated deployment (like a WAR) and you try to load it from outside the WAR. This may not be directly. e.g. A WAR class loads a class from outside the WAR which in turn tries to load a class from inside the war.

To understand the root of the problem, it is recommended to look at the Advanced JBoss Class Loading.

And solution was to place these JAR-files not in WAR, but in «jboss/server/default/lib/ext» folder. Or even better — make there you folder and add following in the «jboss/server/default/conf/jboss-service.xml».

<classpath codebase="${jboss.server.lib.url:lib}/YOUR_DIR" archives="*"/>


See also:
Why do I get ClassNotFoundException or NoClassDefFoundError
ClassLoadingConfiguration
Classloader/Classpath problem

Remark:
All this true for JBoss 4.2.0.

Thursday, June 26, 2008

java — quick list from array


import java.util.Arrays;
import java.util.List;

public class Array
{
List<String> animals = Arrays.asList(new String[] {"lion", "tiger", "bear"});
}

Monday, June 9, 2008

new Canon EOS 40D Kit

хочу похвастаться покупкой, сделанной нами на прошлой неделе в пятницу, 6 июня 2008 года (очень важная дата может быть :-). мы купили полу профессиональный зеркальный фотоаппарат Canon EOS 40D.


правильнее сказать, мы взяли комплект: сам аппарат и объектив EF-S 17–85 f/4-5,6 IS USM к нему.


чистый вес фотоаппарата без аккумулятора и объектива - 740 грамм. линза отдельно весит 475 грамм. итого, с батареей внутри, у нас в руках получается около 1.5 килограмма техники!

в нагрузку мы взяли карту памяти (как без неё?) SanDisk Extreme® III CompactFlash® 2GB, чтобы можно было сразу начать снимать.


и сумка для всего этого добра (влагозащищённую, с капюшоном :-) Nova 2 AW от Lowe Pro.


мы очень довольны, так как давно хотели купить купить новый аппарат! правда придётся поголодать пару-тройку месяцев, чтобы отдать кредит :-) в это время, нужно освоить это чудо-технику и идти снимать!

подробный обзор этого агрегата на английском языке с картинками можно найти на Digital Photography Review.