Архив за 27 октября 2013

Проблема, идея, и решение

Здравствуйте, дорогие мои детишечки. Спешу сообщить вам, что в мою голову пришла еще одна идея, которая вылилась вот в эту заметку. Идея, собственно говоря, пришла из проблемы, которую подкинула горячо мной любимая и уважаемая компания Microsoft и их новый продукт Windows Server 2012 R2. И тут я нисколько не иронизирую, мне они действительно нравятся. Но начнем по порядку.
Прежде всего отмечу, что я, кроме всего прочего еще и тренер по всякого рода продуктам Microsoft, и соответственно имею доступ к определенным плюшкам в виде готовых виртуальных машин для подготовки к курсам, в рамках учебного центра. И вот, собственно, решил я попробовать погонять новый сервер, ну и, как водится, развернуть на нем виртуалочки от одного курса. Выкачал эти машины, все подготовил, распаковал. И тут меня поджидало ужасное. Они категорически отказывались импортироваться. Читать полностью »

Друзья,

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

Как выбрать бизнес идею для IT стартапа

Это первая статья серии. В ней я опишу свои основные проблемы и ошибки, на которые стоит обратить внимание, несмотря на их простоту. Если вы считаете, что довольно хорошо разбиратесь в том как начать бизнес с нуля — не читайте эту статью.

На старте у многих складывается похожая ситуация:

— Отсутствует бизнес идея
— Отсутствуют уверенные навыков программирования, верстки, дизайна (этот пункт только для IT сферы, в других областях он присутствует, только с другим перечнем навыков)
— Отсутствует стартовый капитал
Читать полностью »

В своем предыдущем посте я писал о том зачем и почему нужно было сделать pybabel-hbs, экстрактор строк gettext из шаблонов handlebars.

Чуть позже появилась необходимость извлекать так же из json.
Так появился pybabel-json.
pip install pybabel-json либо на github

Там использовался лексер джаваскрипта встроенный в babel, но нюансы так же имелись, но пост не об этом, написанное там менее интересное, чем было в hbs плагине и вряд ли нуждается в заострении внимания.

Этот пост о том, как же в целом выглядит полный набор для локализации, от и до, что делать с данными из БД, либо из другого не совсем статичного места.
От и до включает в себя:
(должен заметить — что ни один пункт не является обязательным, все это достаточно легко подключается к любому приложению только частично и по необходимости)

— Babel. Набор утилит для локализации приложений.
— Grunt. Менеджер задач(task-ов),
— coffeescript. В представлении не нуждается, весь клиенстский код написан на coffee, и из него тоже нужно извлекать строки.
— handlebars — темплейты
— json — хранилища строк
— Jed. gettext клиент для js
— po2json. Утилита для перевода .po файлов в .json формат поддерживаемый Jed-ом

Читать полностью »

image

Предисловие или от куда взялась «бредовая» идея ставить Git на Windows

Я работаю в одной не очень большой IT-компании, которая продает свои и чужие программные решения, занимается проектами внедрения, оказывает клиентскую поддержку, проводит обучение и далее все такое в том же духе. До недавнего времени в моей маленькой команде разработки все было неплохо организовано и у нас даже был свой собственный достаточно мощный сервер. Но случилось непредвиденное и по воле злого рока один из серверов фирмы полетел, а руководство решило вместо него в стойку поставить наш сервер отдела разработки. Нам предложили «временно» переехать на любой из серверов общего назначения.

А теперь внимание! Только мы одни во всей фирме работаем на Линуксе, а все остальные сидят исключительно на Windows и сервера у нас тоже под управлением серверных редакций ОС от Билла Гейтса. И если перенос базы Redmine не вызывает особых вопросов, то задача поднять на сервере Windows сервер для Git меня сразу поставила в тупик. Но несколько часов потраченных на поиски дали мне простое работающее решение.

Читать полностью »

Обнаружена самая далёкая галактика: 30 млрд световых лет от Земли

Астрономы из Техасского университета A&M и Техасского университета в Остине обнаружили самую далёкую из известных нам галактик. Согласно данным спектрографии, она находится на расстоянии примерно 30 млрд световых лет от Солнечной системы (или от нашей Галактики, что в данном случае не столь существенно, потому что диаметр Млечного пути — всего лишь 100 тыс. световых лет).

Самый дальний объект во Вселенной получил романтическое название z8_GND_5296.
Читать полностью »

Являясь счастливым обладателем MacBook Pro с SSD на 256Gb, стал замечать, что система непонятным образом «разрастается».

Вроде бы фильмы качаются на внешний жесткий диск, на SSD находятся только рабочие файлы, а место куда-то исчезает.
Из 256Gb со временем осталось лишь 107Gb.

Утилита OmniDiskSweeper показывала, что должно быть занято около 70 Gb пользовательскими данными. Вопрос — куда делись еще примерно 80Gb?

Набрав в терминале
# du -h -d 1 /
увидел в корне странную папку с названием /.MobileBackups, как раз и занимающую 80Gb.

Читать полностью »

Логотипы Web Essentials и WebMarkupMin
Одним из наиболее существенных нововведений для веб-разработчиков в Visual Studio 2013 стал новый HTML-редактор. В отличие от старого редактора, который представлял из себя смесь из управляемого и неуправляемого кода (и даже использовал некоторые компоненты FrontPage), новый редактор был полностью переписан на управляемом коде (в качестве основы использовался HTML-редактор из WebMatrix).

Стоит отметить, что для ASP.NET Web Forms (файлы с расширениями .aspx, .ascx и .master) по-прежнему используется старый редактор.

Помимо улучшенных средств для работы с HTML-кодом, в новом редакторе также реализована поддержка синтаксиса представлений KnockoutJS, AngularJS и Handlebars, и IntelliSense для специальных префиксов и META-тегов (Facebook, Twitter, Open Graph, Windows Phone, iOS и др.).

К сожалению, не каждая новинка из мира веб-разработки может попасть в Visual Studio в силу следующих причин:

  1. Многие современные веб-технологии и библиотеки являются Open Source-проектами (например, компиляторы LESS и CoffeeScript, верификатор JSHint и т.д.), и некоторые из этих проектов имеют лицензии, которые не позволяют включать их в состав коммерческих продуктов.
  2. Сейчас веб-технологии развиваются настолько быстро, что их поддержка средствами разработки может стать неактуальной в течение одной недели. Поэтому ни частые релизы Visual Studio (сейчас период между релизами сократился с двух лет до одного года), ни периодические обновления не позволяют поддерживать Visual Studio в полностью актуальном состоянии.

Для того, чтобы решить перечисленные выше проблемы сотрудником компании Microsoft Мэдсом Кристенсеном было создано VS-расширение Web Essentials. Исходный код Web Essentials опубликован на GitHub (доступны 2 версии: 2012 и 2013).

Ниже перечислены дополнительные возможности HTML-редактора из Visual Studio 2013, которые становятся доступными после установки Web Essentials 2013:

  1. Поддержка Zen Coding (более подробную информацию об использовании Zen Coding в Web Essentials можно прочитать в статье Джона Папа «Zen Coding in Visual Studio 2012») и генератор текста-«рыбы» Lorem Ipsum (например, если ввести lorem10 и нажать клавишу TAB, то в код будут вставлены 10 слов из трактата Цицерона «О пределах добра и зла»).
  2. Команда Go To Definition для тегов <a>, <style> и <script>.
  3. HTML-минимизация выделенного фрагмента кода.
  4. Поддержка HTML-регионов (например, <!--#region main--> Какой-то код… <!--#endregion-->).

Поскольку HTML-минимизация в Web Essentials 2013 была реализована средствами библиотеки WebMarkupMin, автором которой я являюсь, то в этой статье мы рассмотрим данную возможность более подробно.
Читать полностью »

В статьe о dCache рассказано о том, как использовать его в качестве NFS сервера. Но функциональной совместимости с существующими клиентами недостаточно, чтобы системой можно было пользоваться. Производительность тоже должна быть на высоте. Рабочей лошадкой NFS протокола является ONCRPC протокол. В dCache мы используем собственную реализацию, основанную на grizzly nio framework.

Немного истории для молодых

ONC RPC (Open Network Computing Remote Procedure Call) — протокол, созданный Sun Microsystems в конце 80х и опубликован в 1995г вместе с NFSv2. ONCRPC получил быстрое распространение и широко использовался, пока в начале 2000 не был вытеснен модными альтернативами, как CORBA, SOAP, а позже REST и JSON-RPC. Тем не менее, ONCRPC всё ещё используется, где простота и скорость важнее моды — в сетевых файловых системах.

Реализация

Чтобы не изобретать очередной велосипед, вначале мы использовали реализацию Remote Tea, но вскоре столкнулись с ограничениями, которые не могли легко решить: IPv6, GSSAPI, NIO. Так что велосипед пришлось изобретать, но не с нуля. Мы максимально сохранили совместимость с RemoteTea и адаптировали уже написанный код.

Читать полностью »

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

А, кстати. Аспирантура у меня получилась околоайтишная, но процесс поиска все равно идентичный вне зависимости от области, да и собиралась в AI исследователи идти…
Еще замечание: приведённый ниже метод кроме Голландии подходит и для многих других европейских стран, но она была исходной целью, да и в итоге вышло, что в туда поехала, поэтому наиболее точно о ней.
Читать полностью »

image

Привет. У меня для тебя печальная новость. Похоже компания Yota начала медленно умирать. И на то есть причины, но для начала немного истории.

Я пользуюсь модемом Yota уже больше года и до недавнего времени был просто в восторге. Поверьте, в 2012 году LTE это было что-то с чем-то! Интернет из любой точки города на стабильных скоростях до 20 мегабит! Пинг небольшой, можно играть в игры. Я использовал модем Yota дома чисто из-за любви ко всему новому и прогрессивному, хотя у меня есть около 5 провайдеров, которые готовы проложить в мою квартиру нормальный кабель. Я был буквально фанатом Yota, настолько меня удивили возможности, которые они предлагали за адекватные деньги. Я советовал Yota всем своим друзьям, многие из которых тоже начали пользоваться их услугами. А сегодня мне стало неудобно смотреть в глаза своим друзьям.Читать полностью »