MetroUI-like scrolling
Два месяца этот примерчик ждал своей очереди, и «пылился» на винче без дела. И, наконец-то, я собрался духом, и выкладываю его на всеобщее обозрение и порицание.
В этой статье я поделюсь своим методом реализации некоего подобия интерфейса Metro UI, написанного, как говорится, «на коленке» на C# под WPF. В примере используется .Net framework 4, но все описанное можно без изменений использовать в версиях 3 и 3.5. Framework 2.0 не умеет WPF, но реализованный здесь алгоритм можно запросто перенести на WinForms (правда, на VCL отрисовка «плывущих» контролов безбожно тормозит и уродует форму, даже если DoubleBuffered:=true, а на каждый тик таймера вызываются Application.ProcessMessages и/или Refresh). WPF был выбран основным для демонстрации этого алгоритма потому что это «модно, стильно, молодежно»… шучу. Конечно, он был выбран потому, что это удобно, быстро и красиво.
Итак, заинтересованных прошу под кат…
Windows 8 first impressions
Скачал, установил в VirtualBox и немного попробовал Windows 8. Вот мои первые впечатления:
Несмотря на то, что система лишь на стадии Developers Build, ей вполне можно пользоваться. Правда, как система для десктопа она не подходит - заточена под пальцы. Однако, радует подача информации и продуманность именно пальцеориентированного интерфейса.
Несмотря на работу в виртуальной среде, без необходимых драйверов, и с эмуляцией лишь минимально требуемого железа (1.6 ГГц, 2 ядра, 2 Гб памяти, 16 Гб НЖМД), пользоваться установленными приложениями приятно и удобно.
В плане интерфейса изменения грандиозные! И не только с точки зрения настольной системы, но и с точки зрения системы планшетной. Изучать и привыкать придется ооочень долго. Но от будущего не убежать...
Да... В скором времени после появления ОС на прилавках, начинаем искать китайские поделки под ее управлением. Они, думаю, быстро смекнут, что их будут расхватывать как горячие пирожки...
С днем программиста!
«Умная самоклейка» на окна
Идея, которую я разместил в конкурсе трансформаций от ASUS, родилась в моей голове несколько лет назад, когда я впервые увидел виджеты в KDE. Тогда я подумал, что было бы неплохо выводить полезную информацию на плоскостях, которые не используются - на окнах. Ну, подумал, и забыл. Ничего необычного. Позже, когда стали проскакивать новости о гибких жидкокристаллических экранах, эта идея вновь всплыла, но была отброшена как нерабочая из-за невозможности эти дисплеи найти в продаже, и их, вероятно, огромной стоимости. Сейчас, по прошествии времени, я предполагаю, что технологии вполне позволят сделать за относительно небольшие деньги то, о чем речь пойдет ниже...
Интерактивные поля ввода при помощи javascript
Маленький пост о том, как сделать поля ввода более интересными с точки зрения функциональности.
Для примера возьмем номер мобильного телефона. Допустим, на нашем сайте человек должен оставить номер своего мобильника для обратной связи. Использование "голого" input'а чревато внесением в это поле любой текстовой информации - от одной буквы и до строчки из библии. Если мы просим человека ввести номер своего телефона, то и ожидать в серверном скрипте мы тоже будем номер. Но что делать, если вместо него пользователь введет "Здесь был Вася"? А если номер телефона используется в автоматической обработке, завязанной на номере телефона? Тогда в голову приходит мысль ограничить ввод, подогнав его под некий шаблон, с которым нам дальше будет удобно работать...
чОрный день
Сегодня совершенно случайно зашел на сервачок одного из проектов, и увидел в топе, что нагрузка на систему превысила единичку. Первым в списке оказался MySQL, который грузил процессор в потолок. Посмотрев в логах, я обнаружил, что кто-то активно шарится по галерее, заставляя скуль изливать в логи по несколько десятков строк дебажной инфы в секунду. Благо, для ведения собственной статистики, я тупо записываю IP-адрес каждого посетителя,.. так, примитивненько. Но этот простой подход позволил мне сразу же определить "нарушителя спокойствия", не шаманя над логами и списками открытых соединений. Вот whois по IP (95.211.111.81) злодея:
jQuery плагин Darken slideshow версия 1.1
Данные обещания надо сдерживать. Именно поэтому я выкладываю новую версию своего плагина, анонсированного здесь. По правде говоря, готов он был еще полгода назад, но из-за общей занятости не было времени довести его до того состояния, в котором не стыдно было бы показать. Но, в конце-концов, все случайные глюки устранены, углы подпилены, и плагин вполне можно использовать. Он, кстати, все эти полгода находится в продакшене, где и удалось выявить некоторые неприятности, и, впоследствии, их устранить. Что же нового есть в этой версии? Об этом ниже...
Качаем файлы с файловых шар в консоли Ubuntu
В качестве вступления: понадобилось мне как-то быстро (читай - разом) скачать несколько частей одного здорового архива, который находился на Rapishare, но, естественно, не имея премиум аккаунта, столкнулся с проблемой 160-минутного ожидания между закачками с одного IP-адреса. Решением стало использование нескольких серверов под управлением Ubuntu Server, к которым у меня есть доступ. Оставалось лишь найти способ качать с этой самой Rapidshare из консоли. Lynx отпадал, потому что страница скачивания изобилует javascript'ами, без отработки которых она будет пустой как голова блондинки. Но, покопавшись в интернетах, я наткнулся на очень полезный проект под названием plowshare. Несколько шагов, чтобы установить его на свою машину и использовать:
Подражание льстит
Сегодня мне сообщили, что у организации, в которой я работаю, появился конкурент в сфере печати фотографий через интернет в нашем регионе. Мне стало интересно, что же он такого предлагает, чего нет у нас, и посетил его сайт. Был несколько удивлен, и, конечно же, польщен одним интересным моментом, о котором - под катом.



