Category: it

Category was added automatically. Read all entries about "it".

брюзжанье

фирменная погода нашей местности: пасмурно, жарко и ветрено одновременно. причём ветрено настолько, что взлетевшим песком прям кожу лица сечёт. и в кожу головы под волосы налетает куча минеральных крупинок.

"Собор и базар": кризис "базарного подхода". У старых языков программирования, с которых я начинал свою карьеру, был по крайней мере один определённый автор, майнтейнер и/или комитет по стандартизации. То же самое можно было наблюдать и тогда, и сейчас для старых/классических библиотек и фреймворков. К примеру, с языками C/C++/Python мы обычно можем связать по крайней мере одного реального человека (Керниган, Страуструп, ван Россум, Мацумото и т.п.), а также набор библиотек и фреймворков, стандартность и кроссплатформенность которых поддерживаается усилиями специальных людей (Boost, STL, ACE, GTK и Qt для C++, Twisted и PyGame для Pythonа, Expect и Tk для TCL, Rails для Ruby и т.п.). Но сейчас настали другие времена, народ юзает node.js и npm. Что прикажете выбрать из полутора десятков библиотек для генерации uuid/guid, например ? Как обсновать, что такая-то из этих библиотек лучше какой-то другой её альтернативы ? Ей богу, проще на aliexpress товар по картинкам выбрать, чем npmовскую либу на заданную тему. То же касается модулей расширения для всё более популярной у нас системы управления проектами под названьем Trac. Их хранилище модулей - это вообще какая-то свалка, где мёртвый лежит на живом и наоборот. Сейчас, выбирая между двумя модулями с аналогичной функциональностью, я просто сравниваю даты последних обновлений кода и документации этих модулей в траковском Wiki. Неконтролируемый "базар" при отсутствии какого-то заметно сильного "собора" - это печальное зрелище. Или вспомнить про PHPшные либы mysql/mysqli/PDO_MySQL... В общем, появление node.js и npm я теперь называю "месть самоделкиных" или "месть велосипедистов", смотря по своему настроению

как сохранить загруженный файл в веб-приложении, написанном на Java ? Этот вопрос довольно популярен в Инете, и правильный ответ на него таков: использование локальной файловой системы - это порочная практика, которая лишает ваше веб-приложение масштабируемости. В частности, из-за этого вы не сможете разнести ваше приложение на несколько разных физических хостов для его горизонтальной масштабируемости и балансировки нагрузки. Сохранять файлы настоятельно рекомендуется в системах хранения с многопользовательским/сетевым доступом, которые к тому же сами предоставляют горизонтальную масштабируемость, репликацию на серверном уровне и фейловер на клиентском. Например, в приличной JDBC/SQL или в JCR.

с огромным разочарованием узнал, что не каждый Maven repository является Java Content Repository. Т.е. если вы уже пожевали и с отвращением выплюнули Artifactory и Archiva, и с облегчением остановились на Nexusе 2.x, который у нас используют в каждой собачьей будке, вам всё равно нужно будет ставить отдельный инстанс JackRabbitа, чтобы хранить там файло не с Mavenа, а с других аппликух. Поскольку далеко не каждый Maven-rep поддерживает те самые сакральные JSR 183 и 270 ... или 170 и 283 ?...

установка винды с помощью Linux и KVM

По работе мне часто приходится сетапить Windows7 или другие винды на разном железе, загружаясь с CD/DVD
С обычным жёстким диском, используемом в десктопном ящике или в ноутбуке, и с обычной DVD-пластинкой, вставленной в IDE/SATA/USB-DVD-драйв, это процесс занимает примерно 20..40 минут. Чрезвычайно много времени тратится на позиционирование дисковых головок при чтении данных с DVD и при синхронизации их записи на HDD (чем "Установщик Windows" занимается ну оооочень часто).
Однажды я купил себе на Aliexpress USB3-флэшку InnoStor IS917 на 128 ГБ, и с тех пор "всё изменилось" (tm)
Collapse )
в следующем посте, возможно, стоило бы рассказать вам о создании гибридных MBR+GPT-флэшек, которые можно с успехом совать в любые USB-дыры, хоть в старые, хоть в молодые :>

Женщины, Linux+KDE и я - продолжение

(начало см. в http://muwlgr.livejournal.com/45971.html)
Мы продолжаем обучение населения пользованию Linuxом. Я в основном осуществляю моральную и техническую поддержку.
В процессе обнаружились следующие технические спотыкачи (так что про женщин тут даже речи не пойдёт):

Collapse )
Итак, Линух на десктопе продолжает оставаться не слишком юзабельным для населения без специальной подготовки.
Я ещё проверю, какие есть улучшения в LO5 по сравнению с LO4, но приятных сюрпризов не жду...

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

предпенсионные женщины и Debian stable (8.2)

Волею государствующих над нами судеб, к выборам 2012 года в нашей стране было закуплено и роздано по избирательным участкам достаточное количество довольно неплохих компов (HP Probook 4540s, проц Core i5, рамять 4ГБ, винт 320 ГБ, единственная недостача - разрешение экрана всего 1366x768, плюс простая встроенная DVDшечка) -- для сбора и отправки результатов выборов, т.е.
И после тех самых выборов, в силу непостижимых для меня обстоятельств, эти компы в течение 3лет оставались лежать неизъятыми по избирательным участкам Днепропетровского района. И вот недавно, одну-две недели назад, я встретился с женщинами Днепропетровского района, которые (в переводе с суржика на русский или украинский) сказали мне примерно следующее:
"Нас очень беспокоит, что по окончании выборов 2012 года очень неплохие ноутбуки уже более 3 лет лежат у нас без дела. Компьютеры, которые мы до сих пор у себя используем для реальной работы, по нашему подозрению, значительно уступают этим ноутам по многим показателям. Нельзя ли их задействовать для нашей работы, и притом так, чтобы не платить лишних отчислений Мекрасовту ?

Collapse )
Кароче, пожелайте мне удачи и всё такое. Мотивация, энтузиазм и заинтересованность в [именно этом] результате у меня уже в принципе есть.
:>

Поиски работы

"Сниму квартирку в престижном районе, чтоб мебель вся из дуба"...
(link)

В своей карьере, начиная ещё с 5-го курса университета (21 год с рождения плюс 21 год доныне), я начинаю замечать определённые этапы, каждый из которых для меня по-своему прискорбен:

1. Программист на C++, потому что изучил C++ (1994..1996)
2. Подключатель широких кругов населения к Интернету, поскольку изучил TCP/IP и serial communications на предыдущей работе (1996..1998)
3. Unix-admin и скриптописец, потому что изучил FreeBSD и Linux и прочитал man sh (1999..2001 и 2001..2005)
4. Программист на C++, потому что хотел зарабатывать больше денег (2005..2006)
5. Офисный IT-supporter на хлебзаводе, чтобы отдохнуть от п.4. (2006..2008)
6. 19-месячный отдых от п. 5 (2008..2009)
7. Unix/Windows-админ/скриптописец, получающий немалую зп от [местами довольно странных] датчан (2010..2014)
8. На текущий момент - не менее чем 12-месячный отдых от п. 7 (2014..2015)

Сейчас я периодически получаю предложения от известных в нашем городе айти-компаний. Но наши собеседования обычно заканчиваются безрезультатно - с кислой рожей на их или моей стороне мы отдаляемся друг от друга и продолжаем идти своими дорогами. Предложения работодателей сводятся обычно к следующему: за время нашего эволюционирования у нас накопился унылый зоопарк разных тухнологий, которые мы в разное время пытались применять для достижения прибыльность нашего бизнеса. Не желаете ли вы лечить наш широкий ассортимент жувотных от широкого ассортимента их экзотических болезней ? Часто бывает такая добавка: в последнее время мы освоили передовую тухнологию, которая позволяет нам по дешёвке клонировать жувотных на фермах типа AWS и им подобных. И чтобы держать всё это поголовье хоть в какой-нибудь узде, нам нужен зоотехник с мгновенным и хорошим знанием puppet/chef/ansible/cfengine. Чего у меня, увы, нет, поскольку с нужными масштабами и churn rate мне работать не приходилось.

Лишь однажды мне приходило предложение, казавшееся мне по-настоящему интересным -  стать embeddedщиком и писать прошивки для роутеров на Си. Но, увы, оно требовало переезда в Киев, и я от него отказался.

Сейчас подумываю, может мне действительно снова податься на какое-нибудь близлежащее производственное предприятие? А иногда мне кажется, что я мог бы учить людей математике. Жёстко и с позатыльниками. Вокруг себя я вижу большую дымящуюся кучу людей, занимающихся айтишечкой и ни беса не смыслящих в математике. К примеру, есть такие программисты на JS и PHP, которые блаженно прибавляют единички к своим числовым переменным и совершенно не ожидают, что однажды их a+1 не сработает и останется равным a (потому что числовые переменные в js и php не являются ни целыми, ни рациональными, а являются приближёнными, либо вычетами по модулю 2^2^n). Вот этот антипаттерн я бы охотно выжигал из их убогоньких мОзгов калёным сапогом ... Но увы, без педагогичного образования в этот род занятий обычно не впускают ...

нетрадиционная печать под Linuxом и другим опенсорсом

Моим хорошим религиозным знакомым однажды достался комп с лицензионно- и кармически- чистым софтом - Ubuntu 14.04 (сейчас это Lubuntu, т.е. LXDE, ибо рамяти там всего 2 ГБ).
К этому компу я помог им подключить МФУ Canon MF4550D и убедился, что его принтерная часть печатает, а сканерная сканирует (под Linuxом эти задачи иногда бывают нетривиальны)
И вот однажды они меня просят: распечатай нам pdfку в увеличенном масштабе на 2 листах A4 вместо одного. Это были некие выкройки, развёртки или трафареты. В векторном виде.
Для просмотра pdf в современных Linuxах обычно используется либо evince (Gnome/GTK), либо okular (KDE/Qt). Как ни печально, но ни то, ни другое не предоставляет готовых средств для печати страниц увеличенного формата по частям. Поэтому пришлось загуглить и найти композиционное решение, использующее мощь "единственно верного компонентного подхода" Unix/Linux (т.е. командной строки и последовательной обработки наборов данных разными процессами) :
Collapse )

Зайки с АСЬКИ разбежались по кустам, по кустам !

Дорогие зайки и зайчихи !

Позвольте снова затеять с вами разговор на ту же тему в связи с теми же событиями.

В наше интересное время всё легче становится обмениваться мгновенными сообщениями по протоколу Jabber/XMPP и не зависеть от прихотей компании АОЛ, которая периодически решает повертеть на своём болту пользователей альтернативных клиентов  и отсеять ту часть аудитории, которая не желает подвергаться воздействию АОЛовской и прочей рекламы.

Если у вас есть почтовый ящик на yandex.ru , читайте http://online.yandex.ru/ , загружайте их программу (для Windows) и пользуйтесь ей (или любой совместимой для вашей ОС). Ваш jabber-контакт - тот же, что и ваш почтовый адрес в домене ya.ru

Если у вас есть почтовый ящик на gmail.com, читайте http://www.google.com/talk/ , загружайте их программу (для Windows) и пользуйтесь ей (или любой совместимой для вашей ОС). Ваш jabber-контакт - тот же, что и ваш почтовый адрес в домене gmail.com . Использовать GTalk можно также прямо через веб-страницу как flash-приложение, не устанавливая никакой программы на свой комп.

Если у вас есть имя на LiveJournal, читайте http://www.livejournal.com/chat/ , загружайте рекомендованные там программы независимых разработчиков для Windows или Linux/Unix, настраивайте по тамошним инструкциям и пользуйтесь ими.

Если у вас нет ничего из вышеперечисленного, заходите на http://www.jabber.org/web/Main_Page или http://www.jabber.ru/ , получайте бесплатный jabber-контакт в этих доменах, настраивайте программу по тамошним инструкциям и пользуйтесь ей.

Сообщите ваш jabber-контакт всем, с кем хотите вести мгновенную переписку.
Дайте им ссылку на этот пост, в котором я пытаюсь научить читателя пользоваться jabberом :>
Мои jabber-контакты указаны в моём LJ-профиле - http://muwlgr.livejournal.com/profile .
Это emailоподобные адреса в разделе Connect / External services с иконками-лампочками.

В свой список контактов вы можете включать jabber-контакты в любых доменах. Принцип действия как у emailа.
Вам не обязательно использовать программы, предоставляемые Гуглом или Яндексом. Подойдут любые программы независимых разработчиков, поддерживающие Jabber/XMPP - http://pidgin.im/ , http://psi-im.org/ , http://sim-im.org , http://www.miranda-im.org/ , http://kopete.kde.org/ , http://www.adiumx.com/ и мн. мн. др.. Для мобилок - Nokia Gizmo (S60), Nimbuzz (Windows Mobile 5/6) , jabbermix client , просто bombus , bombusmod и bombus-ng (Java)

Я уж не говорю о том, что если в вашем распоряжении есть собственный домен в DNS, то вы можете поднять  для этого домена собственный jabber-сервер и поиметь ещё большую независимость от болтов :>

Вот такие вот неновые новости на сегодня, дорогие зайки и зайчихи.
Надеюсь на вашу любовь к общению, свободному от лишней рекламы, а также на прыткость и сообразительность :>

Ваш Я :>

upd: 2009-02-05: АОЛовцы снова прекратили выджобываться на некоторое время. Но, надеюсь, ещё некоторые пользователи аськи почувствовали, что в них то что-то довольно неприятно всовывают, то высовывают обратно. И кагбэ приготовились к прыжку :>

Прощай, аська ?

(edited: 2009-01-27)

AOL меня таки реально засношал. Я поменял контактную инфу в своих асечных эккаунтах через web. Поглядите, если интересно. Там я рекомендую всем мигрировать на открытый и стандартизованный протокол XMPP, известный также под названием Jabber.

Если у вас есть учётная запись на Google (GMail/GTalk),  Livejournal(LJTalk) или Yandex(Я.Онлайн), вы можете использовать её как jabber-контакт. Получить бесплатный контакт можно также на  Jabber.Org или Jabber.Ru . Если мы с вами знакомы и доверяем друг другу, пишите мне, и я вам сделаю бесплатный Jabber-контакт в домене @mwg.dp.ua . Если, конечно, вам не слишком хочется пользоваться бесплатными эккаунтами, находящимися неизвестно под чьим контролем :>

Бесплатного, лицензионно чистого и опенсорсного софта для общения по Jabber/XMPP - тоже валом, и скорее всего, что-то из этого списка у вас уже есть : Pidgin, PSI, SIM, QIP, Exodus, Kopete(KDE) - и без всякой рекламы, естественно, из-за чего и начался очередной сыр-бор с AOLом.

Мои Jabber-контакты указаны в моём LJ-профиле (В разделе External Services - такие emailоподобные адреса, рядом с которыми нарисована лампочка :>). Глядите и контачьте.

Предлагаю всем, кого AOL засношал так же, как и меня (а сколько уж раз это случалось !), распространить аналогичные призывы к переходу на Jabber среди жильцов вашего подъезда. Заранее благодарен :>

upd : 2009-01-24 : в аську таки удалось вылезть. даже без изменений софта. должно быть, вражины забоялись пиар-дизастера на ровном месте. но уже поздно. дизастер уже в разгаре. всех, кто стучится ко мне в аську, я буду только переманивать на jabber. ну или если чел не слишком глубоко копает технически, тогда на skype. а общаться на прочие важнные темы - только в тех сетях.

Срачно в номер !

Мой skype id - в моём профиле. Как у многих :>

А, вот ! Чуть не забыл ! LiveJournal даёт бесплатный Jabber в своём домене !
Он тоже у меня в профиле, и я туда даже вылез ! Все на Jabber ! :>

Отведал Рельсов 2.1

как следствие переезда с Ubuntu Hardy на Intrepid.
И если выразить это словами, то мне показалось, что они шире, чем 2.0.
Т.е. без дополнительной адаптации поезда в них проваливаются :>

Вот, например, в модуль Enumerable они давно уже добавляют метод group_by. Удобная штука, чтоб делать хэши из массивов и прочих контейнеров. И вот в Rails 2.0 этот метод возвращает простой и всем знакомый Hash, а в 2.2 - некий  ActiveSupport::OrderedHash. Который весьма похож на Hash, только не имеет метода has_key?. В результате пришлось мне из OrderedHashа довльно примитивным и лишним телодвижением делать просто Hash, только для того, чтобы в дальнейшем юзать этот has_key?, как встарь.

Я знаю и люблю эту инженерскую поговорку, что система достигает совершенства не тогда, когда к ней нечего добавлять, а когда из неё нечего выбрасывать. Но по-моему, это не тот случай. Если в названии вашего класса есть Hash, то согласно duck typingу и принципу подстановки Барбары Лисков всё ж хочется питать надежду, что вести он себя будет как Hash. Если, конечно, метод has_key? не объявлен устаревшим и ему не подыскана более современная замена.

Даже переезд с Рельсов 1.2 на 2.0 со сменой старшей версии прошёл у меня гладше. Понадобилось только добавить в указанное место произвольную строку в качестве шифровального ключа для stateless-session-cookies.

Там ещё умельцы из Canonical скрутили головку courier-maildropу в Intrepide.
Но это уже другая история, хотя и столь же малоприятная.