25 червня 2009 року, автор: Jolly Roger
No Gravatar

Сьогодні ми продовжимо налаштування Buildbot’а. Сподіваюсь, читач вже знайомий з попереднім матеріалом на дану тему, тому тут будуть вказані типові запитання, вдосконалення, можливі проблеми без зайвих слів.

Читати далі »

16 червня 2009 року, автор: minus-one

Сьогодні Опера обіцяла перевинайти Веб, і те, що вона зробила, дуже схоже на це. Opera Unite крута штука. Шарити файли між Операми – дуже крута ідея (усі інші сервіси теж класні (Media Player мій улюблений моя музичка на роботі, до речі)). Про те, що таке Юнайт і все супутнє, ви можете прочитати/спробувати самі (з офіційних джерел).

Та я хотів би просто і ясно висловити, що власне зробила Опера: вона створила безкоштовний тунель через operaunite.com.

Якщо хто не знає, що таке тунель, я поясню в простих словах: уявіть, ви змінюєте роботу (а для мене це якраз актуально :( ), приходите на нове місце, а там файервол і аська не працює — взагалі, паше тільки html, все інше заблоковано. Що з цим зазвичай роблять? Користуються обхідним шляхом, який називається тунелюванням (для чого існує спеціальний софт):

  1. десь в “кошерному” місці (де інет чистий — напр. вдома) встановлюється тунель-сервер;
  2. на роботі встановлюється клієнт
  3. аська (і все що треба) пускається через нього

Коротше кажучи, весь трафік аськи іде через 80 порт як текст, а тунель-сервер розшифровує його назад в аську і власне здійснює зв’язок з сервером icq.

Таким чином, у вас все працює “за стіною” :) . Очевидним недоліком тунелювання є той факт, що весь ваш трафік, власне, дублюється: адже ви пересилаєте дані на тунель-сервер, а він точно ті же дані пересилає вже за призначенням.

Те, що зробила Опера зі своїм Юнайтом – по суті те саме. Прийшовши на будь-яке місце (чит. за будь-який файервол) і запустивши Оперу (яка виступає тут в ролі тунель-клієнта), ви можете шарити свої файли зі світом.

Що залишається за лаштунками, так це operaunite.com (вірніше той факт, що він є тунель-сервером). Тобто весь ваш трафік дублюється через нього (адже тільки так це диво “децентралізації” можливе…).

А отже, для того, щоб децентралізувати інтернет (“позбутися посередників”, словами офіційних протоколів), Опера по суті хоче створити єдиний глобальний тунель.

І тепер два питання:

  1. чи подужає Опера глобальний трафік (це ж не гугл, врешті-решт)
  2. чи вірите ви, що вміст ваших приватних вінчестерів, продубльований Оперним тунелем, лишається після цього таким самим приватним, яким був до?

І мої відповіді на обидва питання: НІ.

(
п.с.: сама ідея просто назвичайно чудова, але повинний бути вільний спосіб створювати свої тунель-сервери, незалежні від Опера.

п.п.с.: уточнення – насправді Опера спочатку намагається встановити прямий конект, і лише потім, якщо “відчуває” файервол, обходить його тунелем.
)

12 червня 2009 року, автор: Jolly Roger
No Gravatar

Як я й обіцяв в минулій статті, сьогодні ми дослідимо реальний приклад використання системи неперервної інтеграції під назвою BuildBot. Ні сам процес розробки, ні структура проекту не вважаються ідеальними, однак саме завдяки їм у мене зараз є можливість написати як можливо вижити в, здавалося б, такому хаотичному проекті.

Постановка задачі

Проект на Java(використовується система збирання Ant) в репозитарії Subversion знаходиться за адресою https://project.example.com/svn . Необхідно проводити аудит працездатності системи щоразу після внесення змін до нього. Результати збирання системи надсилаються автору змін у випадку успішного результату, або ж у список розсилки всього проекту, якщо процес пройшов невдало.

Вибір між CruiseControl, про який мені розповіли співробітники, та BuildBot, з яким я встиг познайомитись в якості розробника, був досить складний. Проект був вже тоді немаленький(на даний момент весь репозитарій складає 6Гб місця), після тестування його переносила на продуктивні сервери окрема людина. Enterprise, одним словом. І я, довірившись особистому знайомству, вибрав BuildBot. І не прогадав.

Читати далі »

11 червня 2009 року, автор: Jolly Roger
No Gravatar

Сьогодні, шановний читачу, ми продовжимо розмову про те, як можна автоматизувати процес розробки програмного забезпечення, зменшити витрати часу на допоміжні роботи в великому колективі і сконцентруватись на власне розробці.

У колективі, кожен член якого працює над окремою незалежною частиною, стадія інтеграції є заключною. Саме в ній виявляються проблеми сумісності всіх компонентів системи, через це кінцева дата випуску може бути відсунута на невизначений термін. Саме на зменшення часових та трудових витрат на процес інтеграції за рахунок раннього виявлення проблем та усунення помилок та протиріч спрямовані системи неперервної інтеграції.

Читати далі »

10 червня 2009 року, автор: Jolly Roger
No Gravatar

Час, коли в цивілізованому світі дешевше було найняти сотню негрів замість зробити ткацький верстат і навчити одну людину з ним працювати, давно минув. Ще пару десятиліть тому ледь не кожен працівник в сфері інформаційних технологій вважався митцем, творцем чогось надзвичайного, того, що не може зробити жодна інша людина в світі. Однак, час і прогрес не стоїть на місці, і поділ праці тому доказ. Замість тисяч самописних бібліотек виростають десятки, проте зручні та легкі; замість купи підходів до розв’язку задач виділяють одиниці, однак найефективніші; замість того, щоб вигадувати велосипед, використовують існуючі рішення, вносячи свій вклад в їх розвиток на ниві відкритих технологій. Ще донедавна програмісти збирали всі свої програми вручну або ж за допомогою самописних сценаріїв. Цей час пройшов.

В світі, що рухається неймовірними обертами, не можна даремно витрачати час. Вся рутина повинна бути автоматизована, і крапка. Якщо ви з цим не згодні, перечитайте перший абзац. Людина мусить спрямовувати розум на подолання нових проблем, а не на одноманітну купу операцій. Порахуйте, скільки процесів, які ви щодня виконуєте, можна автоматизувати, і зрозумійте, скільки часу ви витрачаєте марно.

Способи організації проектів, їх документації, юніт-тестів, тестів продуктивності, вражають своєю кількістю. Зазвичай кожен другий виробник більш-менш серйозного IDE, пакету програм для розробки, пропонує свій спосіб збереження файлів всередині проекту, організації процесу збирання, написання чи то генерація документації. Проблема постає у виборі інструментів, які допоможуть підвищити ефективність роботи та знизити часові витрати на її виконання. Сьогодні ми говоримо про системи збирання проектів.

Читати далі »

6 квітня 2009 року, автор: minus-one

Ні, не все, ще дещо:

…а по-третє, є такий крутий сервіс з дурацькою назвою smart.fm. Колись він називався iKnow , та вони чогось переіменувалися. Неважливо. Так от, це абсолютно геніальна річ для всякого, хто вчить японську! Серйозно. Там є така прога iKnow (так, назва лишилася, як у старого сайту) — так от вона дуже допомагає зі словарним запасом ;) .

Спочатку ви вибираєте т.зв. лист для вивчення; це просто випадковий тематичний текст, який ви хочете прочитати, але канджі/слів з нього не знаєте. Здається, тупик? Чи довгі безконтекстні тикання по словниках? На поміч приходить iKnow — запускаєте прогу і вчите в контексті всі слова цього тексту з промовою і написанням. Кожен день прога підкидає вам порцію нових слів плюс повтор, нівелюючи тим самим затухання пам’яті (забування нового).

Так, ясно, це ті самі флеш-картки, що були завжди, але реалізація тут дійсно краща. (Вони навіть обіцяють, що прога розрахувує ваші особисті затухання і підлаштовується саме під них!).

А ще там є диктант і брейн-штурм. А ще цей сервіс розроблений японцями, тому там багато японського матеріалу. Наприклад, текстів з аніме ;) (я собі усі листи по Сен то Чіхіро зібрав, тепер вчу лексику (щоб потім подивитися без перекладу…)). Коротше, дійсно працючий варіант ;) .

10 лютого 2009 року, автор: graywolf

У світлі нещодавніх подій вирішив якомога більше неконфіденційних даних винести в Інтернет, а відповідно почав зондувати ґрунт на предмет засобів, які допоможуть мені це зробити. Мну принципово не розглядав онлайн-сховища, які базуються на під’єднанні мережевого диску, бо це практично неюзабельна штука із-за ненадійності Інтернет-зв’язку і його низькою швидкістю. Натомість більш цікавими є сховища, що діють по принципу онлайн-бекапу, тобто періодично синхронізують вміст локального каталогу з Інтернетом. Перевагами цього способу є те, що з користувацької точки зору нічого не змінюється – ви працюєте як і раніше, а софт сам в фоні заливає їх в інет. Окрім того, подібні сховища мають додаткові фічі: в багатьох з них підтримується ведення версій файлів (тобто можна повернути стару версію, якщо ви її помилково перезаписали), або, наприклад, ви можете якісь зі своїх онлайн-файлів давати у вільний доступ. Вже близько року я користувався одним з таких сервісів під назвою Dropbox, хоча вчорашня розвідка показала, що є й більш потужні його аналоги, але зараз все таки розповім трохи про нього.

Отже, Dropbox. Це проект випускників Массачусетського Технологічного Інституту, основна мета якого – забезпечити швидку і прозору синхронізацію даних між кількома комп’ютерами та резервне копіювання даних. При цьому значна увага приділяється мінімізації об’єму даних, що пересилається через Інтернет. Після встановлення клієнтського додатку Dropbox (до речі, він існує для як для Windows і Mac так і для Linux) один з каталогів на вашому HDD починає синхронізуватись з серверною частиною. Для цього у MS Windows в “Моїх Документах” автоматично створюється відповідна папка “My Dropbox” і способу змінити це розташування я не знайшов примітка. Як з цим справи в інших ОС – не знаю. Файли починають синхронізуватись практично одразу після того як ви там щось створите чи скопіюєте. При першому завантаженні, звісно, пересилається повна його версія, але при наступних його модифікаціях у гру вступає механізм “binary diff”, який робить порівняння поточної і серверної версії файлів і потім на сервер відправляється лише цей diff-файл, завдяки чому оптимізується використання вашого інтернет-каналу. Якщо я правильно розумію то їх копії серверних файлів для порівняння лежать у відповідному каталозі в Application Data, тому зважте, що при використанні Dropbox папка синхронізації фактично займатиме подвійний об’єм нам диску. Після того як ви внесете зміни у файл і ці зміни відправляться на сервер, той у свою чергу повідомить інші клієнти (звісно, якщо у вас декілька комп’ютерів включеним Дропбоксом) і ті негайно оновлять свої копії, що дуже зручно. Дані на сервер передаються безпечно (по SSL протоколу) і зберігаються у зашифрованому по алгоритму AES-256 вигляді.

От і все, що стосується фіч клієнтської частини. Що ж пропонує нам саме сховище? На сервері всі ваші файли в свою чергу підлягають контролю версій в чомусь подібному тому, який використовуються у програмуванні. Але для тих, хто далекий від цього поясню: наприклад, ви створили якийсь документ і він попав на сервер. Відповідно це і є версія (або інколи ще кажуть ревізія) “1″ цього файлу. Потім ви зробили в ньому якісь зміни і він знову попав на сервер. З одного боку це той самий документ, але з іншого його вміст відрізняється від попереднього. Таким чином це буде той же файл з версією “2″. І так далі… Суть будь-якої системи контролю версій в тому, що ви в будь-який момент можете отримати файл в практично будь-якому з його збережених проміжних станів і якщо ви внесете якусь помилку, то можна буде потім відкатитися до того його стану, коли її ще не було. Завантажені папки можна розшарювати і таким чином декілька користувачів Dropbox можуть мати спільну синхронізовану папку. Крім того, за допомогою Dropbox можна легко організовувати онлайн-фотоальбоми типу ось такого, який я завдяки Дропбоксу створив за 5-10 секунд :) Правда, враховуючи обмеження в 2GB я б все-таки не став його використовувати саме з цією метою ;) Через веб-інтерфейс можна також робити операції з файлами (додавання/переміщення/переіменування/видалення), але не дуже зручно.

Ну і найголовніше: скільки це щастя коштує? А ніскільки. Щоправда в безкоштовній версії Дропбоксу вам у розпорядження дається всього 2GB простору (що все-таки немало), але за 9.99$ в місяць, або 99$ в рік об’єм можна збільшити до 50GB.

Якщо ви все ще слабо уявляєте як це все виглядає, то зверніть увагу по-перше на “Посібник з використання Dropbox”, де хоч і англійською, але зі скріншотами пояснено що і як можна з ним робити, а щоб подивитись вживу – прогляньте на це офіційне скрінкаст-відео з процесом синхронізації MacOS та Windows і прошарюванням фоток.

От. Щодо мене, то хоч я і знайшов деякі інші аналогічні і в чомусь кращі служби онлайн-бекапу (про які я розповім якось пізніше), але для синхроніхації файлів на різних машинах я продовжуватиму використовувати Dropbox, бо я до нього вже звик і саме з початком його використання мну фактично перестав носити флешки на роботу, адже щось важке (>100MB) я тягаю досить рідко, а все, що менше я просто кидав в синхронізовану папку і приходячи додому без зайвих рухів вже мав цей файл на домашньому комп’ютері і навпаки.


Прим: як правильно помітив Мінус-один, то в мене виявляється стояла стара версія клієнта. В останній можна задавати розташування папки для синхронізації, а також обмежувати при необхідності швидкість аплоду та даунлоду файлів.

3 лютого 2009 року, автор: graywolf

Історія створення

Нещодавно мені набридло користуватись глючними Google Docs‘ами лише для наявної там перевірки орфографії і я помітив, що Chrome в полях вводу сам підсвічує неправильно написані англійською слова. Я подумав: “Якого дідька англійською? Включу українську і не матиму клопоту.” Зайшов у “Параметри” > “Маленькі підказки” > “Змінити налаштування шрифту та мови” > “Мови” і там в полі “Мова програми перевірки правопису” не знайшов української. WTF? Що за дискримінація? Але фіг з ним, завжди можна скачати словники і замінити одну з наявних мов… і тут-то мене чекало друге розчарування: Хром хоч і використовує словники від hunspell (це юнікодовий нащадок myspell), але вони там не у первозданному вигляді, а в сконвертованому у власний бінарний формат, що має розширення bdic. Ну, що робити? Доведеться, думаю, шукати конвертер (він називається convert_dict.exe). Бінарів на мій превеликий подив не було абсолютно ніде, але сорс досить швидко знайшовся в самому SVN-репозиторії Хрому. Мну зрадів та сходу злив лише сорс самої тулзи, але щастя тривало недовго… У цього крихітного конвертера виявилося стільки залежностей, що через годину підтягування їх по черзі я зрозумів, що це процес нескінченний і мені доведеться зливати весь Хром. Поставив качатись весь trunk (ще й інет був у мене в той вечір звіздєц який хєровий і качалось все дуууже повільно) і вирішив все-таки посьорфитись трохи на предмет існуючої збірки. І мої старання були винагороджені: zedlik з Білорусі буквально за три дні до мене зіткнувся з тією ж самою проблемою створюючи перевірку орфографії для білоруської і вже пройшов всі ті етапи збирання, які чекали не мене. “Ура!”, подумав я і недовго думаючи попросив поділитись бінарем, а він в свою чергу не відмовив. Далі вже все справа техніки. Остання перепона на шляху до мети полягала в тому, що convert_dict ну ніяк не бажав конвертувати скачані з офсайту hunspell словники української у кодуванні KOI8-U, але швидкоруч написаний менш ніж 10-рядковий скрипт на пітоні чудово сконвертував його в UTF-8, який вже схавав той нещасний convert_dict.

Інструкція по експлуатації

Отже вам теж хочеться мати гарненьку перевірку правопису в Хромі? Нема нічого простіше: качаємо файл з даними для програми перевірки:Note: There is a file embedded within this post, please visit this post to download the file.На назву файлу не звертайте уваги – це українська, а не російська орфографія – я залишив її такою для зручності встановлення. Копіюємо його в папку:

C:\Documents and Settings\<username>\Local Settings\Application Data\Google\Chrome\Application\Dictionaries

замінивши при необхідності існуючий ru-RU-1-1.bdic (до речі, можете його і збекапити на всяк випадок) та в налаштуваннях виставити російську перевірку орфографії. Все :)

9 січня 2009 року, автор: Jolly Roger
No Gravatar

Мабуть, немає таких людей в середовищі Linux-користувачів, яким би не доводилося ставити закрите або комерційне програмне забезпечення. Не раз доводилось бачити “рідні” для цього виду програм інсталятори: графічні чи консольні, але завжди своєрідні. І поширюється програма разом з інсталятором в одному сценарії для командного інтерпретатора. А чи може хто-небудь написати власну програму-інсталятор, налаштувати її під себе? . Сьогодні, шановний читачу, ми навчимося писати інсталятори для UNIX.

Читати далі »

Теги: ,
Рубрики: Howto, софт | прокоментуй!
21 листопада 2008 року, автор: FerR0zer
No Gravatar

Сьогодні в GMail 2 з’явилася підтримка тем. Причому деякі теми змінюються в залежності від часу дня та погоди на вулиці, для чого при виборі нової теми пропонують вказати місцезнаходження. Це значно збільшить і так значну інтерактивність Гугловської пошти.

Ось, наприклад, як виглядає тема “Пляж” в той же час для Бостнону та Києва.

Читати далі »

Теги: ,
Рубрики: інтернет | 3 коментарі