31 марта 2011 г.

О судьбах Delphi

В связи с выходом новой версии Lazaurus я хотел бы порассуждать о судьбе такого языка программирования (хотя на самом деле это среда разработки) под названием Delphi. Название это было на слуху на рубеже столетий и Delphi был очень популярен в России. У некоторых программистов он популярен до сих пор и они умудряются выпускать качественные и популярные программы. Для Delphi своеобразным знаменем является Total Commander, а вернее сам автор Кристиан Гислер, который умудрился сделать программу, успех которой не удается повторить никому (файловый менеджер Frigate и ставший культовым у некоторых администраторов и программистов FAR не то и погоды не делают). Не уверен что Кристиан Гислер смог бы написать такую же программу, если бы взялся писать её не в Delphi, а например на C++.
Лично у меня Delphi вызывает до сих пор по большей части негативные эмоции: Total Commander, который я помню еще "маленьким" когда он назывался windows commander - единственное светлое пятно. Связаны мои не очень приятные воспоминания с творениями начинающих и не очень талантливых программистов на Delphi, творения которые напоминали монстров, изобиловали использованием чужих компонентов (в Delphi это очень поощрялось) и пугали нестандартным внешним видом.
Тем не менее уважать и любить Delphi есть за что: он подарил свободу самовыражения многим программистам. Свободу установить простую IDE и начать программировать сложные программы с интерфейсом и даже игры. TurboPascal, которым с самого школьного возраста пичкали этих начинающих программистов нашел свое достойное продолжение в среде программирования Delphi. Мне также повезло соприкоснуться с великим и ужасным языком C, но на меня он не произвел такого впечатления, все на что он был способен это делать вычисления и выдавать данные на экран, там мне казалось в то время. Затем я познакомился с одной из реализаций Basic (это было задолго до QBasic), и в этой версии Basic можно было перейти в графический режим. Вот это было для меня круто.
Но я увлекся своими воспоминаниями. Вернусь к языку программированию Delphi (согласно Wikipedia так его надо было величать). Не знаю кому и зачем может понадобиться в современном мире использовать этот так называемый язык программирования для своих будущих проектов. Я вижу несколько причин для этого и все они дурно пахнут:
  • программист слишком глупый (или старый) и не хочет учить никаких ЯП кроме Delphi
  • необходима поддержка и развитие ПО, которое было написано в 2000-х гг
  • никто не хочет связываться с .NET или Java, а приложение, которое использует браузер для работы с сервером вызывает непонимание
  • в незапамятные времена была куплена лицензионная версия Delphi и никто не хочет раскошеливаться на что-то другое (даже такое бывает в России, где в 90-2000-х повально использовалось пиратское ПО)
То что, я вижу со своего места просто пользователя, когда ко мне по долгу службы приходит очередное ПО написанное неизвестно кем на Delphi, вызывает у меня ужас.
Базы данных? Киньте этот файл в папку с программой - там содержатся последние нужные вам данные.

Программа тормозит? Нет, она просто так работает. Оставьте компьютер включенным на 2 суток и она выдаст нужный вам результат (последнее не шутка и не преувеличение! Такие программы бывают и работают они, оказывается, не в ядерных центрах на суперкомпьютерах).
Программа закрывается с ошибкой? И даже без всякой ошибки? Вы просто неправильно с ней работаете и не читаете инструкций. Мы скажем об этом вашему начальству и оно примет в отношение вас и вашей компьютерной безграмотности меры.
Но не языки программирования пишут программы, а люди. Вряд ли сам Delphi виноват в качестве программ и судьбе большинства программ, написанных в нем. Хотя вина в плачевном положении, которое сложилось сейчас у разработчиков есть. Появилось множество разных языков программирования. Многие из них не требуют покупки дорогой среды разработки, для того чтобы начать писать и продавать программы. Владельцы Delphi сделали ответный ход и выпустили облегченную, начальную среду разработки Delphi XE Starter Edition по цене обычного сотового телефона.
Если бы я начинал писать пользовательские приложения сейчас, то ни за что не взял бы в качестве среды разработки Delphi. Да и не стал бы осваивать её. C#, Visual Basic.NET выглядят более предпочтительнее для этого, а также во много раз перспективнее. Даже Java, под которую Oracle копает яму, лучше. Есть множество других способов писать приложения, причем без необходимости что-либо покупать и быть от кого-то зависимым.

30 марта 2011 г.

Облагораживаем браузер Chrome

К сожалению, способы изменения внешнего вида браузера Chromium и соответственно всех остальных браузеров, которые базируются на нем (тот самый Google Chrome), весьма ограничены архитектурой программы, которая не позволяет внедряться глубоко в программу. И это решение правильно, на первом месте должна стоять безопасность пользователя, а только затем удобство использования программы.
Кроме того философия Chrome изначально декларировала минимализм интерфейса и его логичность, и на моей взгляд это удается весьма успешно - в этом браузере нет ничего лишнего, лишних панелей, меню, extensions не суются в меню, а многие не отображают иконку - просто работают.
Сайт на котором хранятся все расширения для Chrome/Chromium
Но всё-таки если душа требует прекрасного, то помочь ей украсить свой браузер на основе chromium поможет официальный сайт. Самое очевидное - это темы. Темы разные, цветастые, кричащие, с поддержкой windows aero (полупрозрачность) и без aero (хорошо использовать на устаревшей Windows XP - там aero ни к чему). И опять же, благодаря особенностям браузера мы не увидим такого кардинального изменения интерфейса браузера как в Opera или Mozilla Firefox, но как я уже говорил, интерфейс был хорош и так.
Elemetary scrollbars. Жаль не умеют исчезать спустя некоторое время, как в версии для Opera
Еще один элемент для кустомизации - это скроллбары, назойливая полоска справа (или даже слева), которая сигнализирует о том сколько еще крутить до конца страницы.
Авторы тем для chrome выкладывают свои работы на deviantart.com. Установка таких сильно модифицированных тем может потребовать перезаписи некоторых ключевых файлов в каталоге chrome. Лично для меня это неприемлемо, кроме того, подозреваю что эту процедуру необходимо проходить при каждом обновлении браузера.

29 марта 2011 г.

Меняем язык ввода пароля на экране приветствия

Я, как и многие пользователи со стажем, привык использовать пароли только на английском языке. В современном мире, когда UTF-8 уже стал более распространен чем страшные cp-1251, koi-8 или даже  ibm cp-866 нет никаких проблем с набором русскоязычных паролей ни в популярных дистрибутивах Linux, ни в большинстве версий Windows. Но кто знает в какие неведомые дали тебя занесет (легко об этом мечтать сидя на любимом кресле перед компьютером) и какие там будут клавиатуры? Поэтому стоит подстраховаться и использовать пароли которые могут быть набраны по крайней мере на большинстве клавиатур выпущенных человечеством.
Смертельный номер - лезем своими руками в святая святых. Я уже поменял значения.
Меня с давних пор напрягала необходимость постоянно переключать раскладку для ввода своего любимого пароля на английском языке в экран приветствия Windows 7. Windows по простоте душевной считает что если пользователь русскоязычный, то и пароли у него все сплошь состоят из русских букв. Доля истины здесь есть, но мы же не обычные пользователи. Поэтому легко исправим проблему с помощью реестра. В интернете предлагается непонятный мне способ с различными менюшками. Но способ с реестром более прост и понятен:
набираем в меню пуск, в поисковой строке волшебное слово: regedit
запускается редактор реестра (попросит особые разрешения для внесения корректировок), в котором мы путем перемещения по дереву проходим по следующему адресу:
  • HKEY_USERS\.Default\Keyboard Layout\Preload (см. скриншот)
  • там мы наблюдаем два ключа с простыми именами: 1 и 2. Значения у этих ключей 419 и 409. 
  • Просто меняем их местами эти значения (двойной клик на имени) и получаем что по умолчанию (значение 1) будет включен язык ввода 00000409 - английский, а при переключении раскладки (вариант 2) он переключится на русский - 00000419
Вот собственно и все. Теперь не нужно каждый раз тратить время на переключение раскладки на английскую.

Firefox 4

Как всегда прекрасные шрифты и огромная функциональность за счет расширений
Конечно, я не мог пройти мимо такого замечательного и, можно сказать, эпохального браузера Firefox 4. Выхода этой версии я ждал, правда уже не с тем нетерпением, времен Firefox 3.12, когда радовался каждому обновлению расширения.
Я не дождался 4-й версии этого браузера, пересилил себя и ушел на Chromium, чьи новые сборки я жду, чтобы в 12-й версии оказаться на передовом крайне борьбы браузеров. В windows я расстался с Firefox и виной тому были серьезные притормаживания, проблемы с интерфейсом и стабильностью - нисколько не виню в это браузер от Mozilla. Все проблемы происходили не только от самой архитектуры браузера, но и от огромного количества расширений, которыми я любил обвешивать свой браузер. Я и сейчас обожаю этим заниматься, и скажу вам, заниматься этим в браузере Firefox лучше чем в любом другом браузере, архитектура программы многое позволяет.
Я стер firefox из windows, но удалять в linux я его не собирался - продвинутой операционной системе нужен продвинутый браузер. Я обновился до новейшей 4-й версии Firefox с помощью следующих команд:
sudo add-apt-repository ppa:mozillateam/firefox-stable
sudo apt-get update
sudo apt-get install firefox-4.0
С обычным обновлением возникла проблемка, новой 4-ки не было в стандартных репозиториях, хотя сейчас, возможно, это недоразумение исправлено. Не обошлось без накладок, русская локализация установилась только с сегодняшним обновлением. Все расширения были проверены на совместимость - почти все популярные расширения работоспособны в 4-й версии, несовместимость обнаружилась в нескольких некритичных, поэтому я их безболезненно отключил, а некоторые удалил.
Итак, что я получил? Я получил однозначно замечательный браузер, обновленный, быстрый и красивый. В наличии огромное количество расширений, которое уже написано или будет написано в будущем. За счет использования аппаратного ускорения и другой магии нет проблем с отображением интерфейса (это выводило из себя в предыдущих версиях). Скорость загрузки и отображения страниц приятно радует, хотя 12-й chromium уже успел меня избаловать просто реактивной скоростью. Обновленный Firefox смотрится не хуже. Мне понравился обновленный интерфейс, разработчики не стали далеко уходить от классического варианта.
Есть и минусы. Я очень привык к omnibox в chromium и периодически пытаюсь набрать поисковый запрос в строке url (я надеюсь эту беду поправить расширением omnibar).  Также я отвык от работы в режиме параноидальной безопасности браузера с отключенными cookies, reffers и отключенными скриптами, поэтому я долго смотрю на очередной сайт и не могу понять почему он не работает как нужно, впрочем это не проблема браузера. После определенного времени работы образуется "белый список" доверенных сайтов.
Пожалуй в linux я пересяду на firefox. Больше браузеров хороших и разных!

28 марта 2011 г.

Paint.NET

Paint.NET 3.5.8
Paint.NET это не могущественный Photoshop и даже не GIMP. Это небольшая программа стала для меня швейцарским ножом, в Windows 7 я использую её в основном для снятия и сохранения скриншота экрана, а также для простейшей правки изображений. Как видите цели весьма простые и тривиальные, тем более запускать неуклюжий со своей GTK в windows GIMP для этих целей я считаю излишним.
Стандартная программа Paint помолодела
Конечно, для целей публикации скриншота можно использовать стандартную программу, известную всем - Paint, в последней версии она немного похорошела и стала более функциональной, но поверьте - её тезка с приставкой .NET гораздо приятнее.
В Paint.NET нет многих функций, которые есть в обычных программах для снятия скриншотов, типа художественной обрезки или многочисленных стрелочек и пузырей с поясняющими надписями. Лично мне это не нужно, хотя возможно данные функции легко реализовать с помощью системы плагинов, которые поддерживает данная программа.
Вот так небольшой проект в колледже вырос в простую и эффективную программу для простейшего редактирования графических изображений.