Как стать автором
Обновить
63
0
Илья Лахин @eliah_lakhin

Пользователь

Отправить сообщение

Reinforced.Typings — больше деталей

Время на прочтение17 мин
Количество просмотров9K
И снова здравствуйте.
Кто о чем, а я снова о Reinforced.Typings — своей библиотеке для генерации TypeScript-ового glue-кода из C#-сборок, краткое введение в которую я сделал в предыдущем посте. После чего немедленно получил ряд вопросов и комментариев (не только на Хабрахабре, к слову — многие из заинтересовавшихся просто на нем не зарегистрированы). За это, конечно, всем огромное спасибо, но исходя из проанализированной информации, я понял что одного краткого поста не достаточно, чтобы описать как и что реализуется. Получается что люди задают вопросы «а вот это вот поддерживается?» и каждому приходится объяснять раз за разом, одно и то же. Так что в этой статье я сделаю небольшой cheatsheet по атрибутам, fluent-конфигурации и расскажу про дополнительные возможности. В общем, милости просим. Осторожно, лонгрид и справочная информация!
Читать дальше →
Всего голосов 16: ↑16 и ↓0+16
Комментарии2

Reinforced.Typings — библиотека для автоматической генерации TypeScript-тайпингов и не только

Время на прочтение7 мин
Количество просмотров8.4K
Я написал небольшую, но полезную библиотечку для любителей TypeScript и ASP.NET MVC. Очень хотелось бы про нее рассказать — возможно какому-то разработчику на вышеупомянутой комбинации технологий (а возможно и целой команде) она существенно облегчит жизнь. Писать полноценную документацию на английском пока что времени нет. К ней вообще нужно подходить осмысленно, с чувством, толком и расстановкой. Поэтому я решил написать статью на Хабрахабр, и вот прямо сейчас, под катом, я сделаю краткий обзор и покажу какую магию можно делать этой штукой. Добро пожаловать.
Читать дальше →
Всего голосов 15: ↑13 и ↓2+11
Комментарии32

Google признал Палестину

Время на прочтение1 мин
Количество просмотров53K


Что-то новое происходит в международном праве — если раньше право на признание государств было только у других государств, то теперь такое право есть и у Google. На самом деле компания просто поменяла на своей поисковой странице для Палестины логотип «Google Палестинские территории» на «Google Палестина», пишет The Verge, однако это стало целым международным инцидентом.

Пресс-секретарь израильского министра иностранных дел заявил: «Это изменение вызывает вопросы о причинах этого удивительного вмешательства в принципе частной интернет-компании в международную политику».

Как известно, против признания независимости Палестины выступают и Израиль, и США, однако в Google заявили, что проконсультировались с рядом источников и решили следовать принципам именования ООН, ICANN, ISO и других международных организаций.
Читать дальше →
Всего голосов 66: ↑47 и ↓19+28
Комментарии65

Выдуманная история открытия собственного дела с печальным концом

Время на прочтение13 мин
Количество просмотров3.6K
Вечер, пятница. Почему бы не почитать одну историю с печальным концом? На Хабре ведь не приняты такие?

На днях мной был оставлен комментарий, в котором я в двух словах написал, что мой бизнес уничтожили в зачаточном состоянии. Судя по вопросам в личку на Хабре и в vk тема актуальная. Что-ж, попробую написать о том, как все было, хотя точности не обещаю. Писать о том, что я Д'Артаньян, а все негодяи — не буду, ведь вам нужна поучительная история, а не история-оправдание еще одного неудачника.

Сразу оговорюсь, я не помню о каком городе/районе идет речь, и в каком государстве это происходило, если было. Также не могу вспомнить имен и точных должностей. А потому любые совпадения случайны и не имеют никакого отношения ни к какой власти — официальной и неофициальной.
Читать дальше →
Всего голосов 167: ↑151 и ↓16+135
Комментарии157

Как я искал работу в славном городе Нью-Йорк

Время на прочтение5 мин
Количество просмотров138K
Несколько месяцев назад я сменил работу. Весь процесс от принятия решения о поиске и первого интервью в первой подвернувшейся компании до принятого предложения занял 8 месяцев. Перед началом марафона я имел за душой опыт смены работы 8-летней давности, но в России. Этот рассказ о том, как мои ожидания встретились с американской действительностью.

Прежде чем уйти в детали – краткий обзор меня. Я – разработчик с примерно 10-летним стажем, пишу для .NET платформы. Первые семь лет я базировался в Санкт-Петербурге и 3 года назад переехал в штаты.

Итак, поехали!
Читать дальше →
Всего голосов 172: ↑163 и ↓9+154
Комментарии167

Профессиональная эмиграция — Часть 1 — Проблема курицы и яйца и как с ней бороться, а также развенчание мифов

Время на прочтение4 мин
Количество просмотров59K
Здравствуйте, Хабраюзеры.

Этим постом я хотел бы начать цикл (если позволит время и будет интересно аудитории) про профессиональную эмиграцию, особенно без привязки к работодателю.
Читать дальше →
Всего голосов 228: ↑208 и ↓20+188
Комментарии337

SRP-6: аутентификация без передачи пароля

Время на прочтение5 мин
Количество просмотров33K
Как и было обещано в соседней теме, где рассказывался велосипед, выкладываю описание алгоритма SRP RFC2945 — способе регистрации и аутентификации пользователей безопасным образом по небезопасному каналу. Вот только в процессе подготовки статьи я обнаружил более свежую версию протокола, SRP-6, вместе с реализацией, в связи с чем решил выбросить свои архаичные наработки по SRP-3, и просто дать ссылки на имплементацию новой версии.
Читать дальше →
Всего голосов 48: ↑47 и ↓1+46
Комментарии28

Почему программистам не удается заработать: многомерность и нескончаемое бремя Haskell

Время на прочтение9 мин
Количество просмотров54K
Обсуждение начну с весьма печального твита Криса Аллена (Chris Allen, @bitemyapp):
«Мне немного грустно от того, что некоторые организации твердят мантру „Вы сможете использовать haskell“, чтобы заполучить толковых инженеров подешевке».
Untyped is unsane ( @bitemyapp) 3 июня 2014 г.

Для тех, кто не знает: Haskell — продуктивный и мощный язык, позволяющий программистам, по крайней мере талантливым, быстро писать правильный код. По сравнению с разработкой на Java скорость возрастает в 2–5 раз при сопоставимой производительности и меньшем количестве ошибок. Крис совершенно верно заметил, что разработчик, использующий Haskell, чаще всего не получает достойного вознаграждения. Если вы твердо решили использовать функциональное программирование, то будете зарабатывать меньше коллег, которые разгребают базы кода C++ в банках, накопленные за 30 лет. Как-то это все неправильно. Почему к программистам, применяющим более мощные инструменты, применяются экономические санкции? В отличие от управленцев, ставящих во главу угла выгоду, программисты действительно хотят сделать свою работу как можно лучше. Почему же вместо «пряника» за благие намерения они получают «кнут»?
Читать дальше →
Всего голосов 104: ↑78 и ↓26+52
Комментарии37

Мультиклеточный процессор — это что?

Время на прочтение18 мин
Количество просмотров52K
Многие слышали о мультиклеточной архитектуре, процессорах и даже первых устройствах на них. Особенно продвинутые пользователи опробовали свои алгоритмы. Были проведены первые простые тесты производительности, а также пользователь Barsmonster, вытравил кристалл процессора Р1. Сейчас уже проходит первые проверки процессор R1 и скоро будет доступен всем. Но ответ на вопрос о том, как работает мультиклеточная архитектура и в чём её отличие, знают не все. Попытаемся сейчас ввести в курс дела.
Читать дальше →
Всего голосов 44: ↑43 и ↓1+42
Комментарии37

Демо: Инкрементальный парсер для Web IDE

Время на прочтение3 мин
Количество просмотров14K


Уважаемые коллеги,

я сделал Демонстрационное веб-приложение, наглядно иллюстрирующее, что такое инкрементальный парсер, и как он работает. Посмотрите его, пожалуйста. Буду рад услышать ваши отзывы и критику.

А под катом я расскажу, о том, как работают современные IDE. И как проект, над которым я сейчас работаю, может помочь вывести индустрию разработки веб-редакторов на новый уровень.
Как сделать настоящую IDE для Java, работающую полностью в вебе
Всего голосов 57: ↑55 и ↓2+53
Комментарии19

Почему программисты не работают охранниками

Время на прочтение2 мин
Количество просмотров47K
Я вебмастер
Представляю пятничные размышления на тему программирования как процесса.
В борьбе с прокрастинацией фрилансеры всё больше тяготеют к труду за пределами родного дома. Смена контекста позволяет настроиться на рабочий лад и быстрее войти в «поток». В качестве места деятельности раньше выбирались кафе, в летнее время беседки в парках, а сейчас несомненным трендом являются АнтиКафе и прочие коворкинги. Последние при этом подразумевают почасовую или помесячную оплату.
Оказывается, некоторые фрилансеры подходят к вопросу выбора места ненормально творчески — устраиваются в хорошие офисы охранниками с минимальными обязанностями.
Читать дальше →
Всего голосов 135: ↑82 и ↓53+29
Комментарии80

Шлюз между IRC и Google Hangouts

Время на прочтение4 мин
Количество просмотров7.5K
Преамбула

Так уж получилось, что «по долгу службы» мне каждый день нужен IRC. Используемый клиент — irssi в tmux'е на Debian'овском сервере. В 99% случаев я подключаюсь по ssh (putty) к серверу, там перехожу в окно irssi и читаю/пишу в нужные мне каналы. Оставшийся 1% — это подключение к проксируемым каналам irssi с помощью Mirand'ы.

Для отдельных каналов у меня настроена отправка по электронной почте сообщений, удовлетворяющих определённым критериям. Эта штука продолжает работать и сейчас.

Но не так давно, в связи с некоторым изменением образа жизни, мирандой я перестал пользоваться, и возникла необходимость чтения/записи в один канал со смартфона.
Читать дальше →
Всего голосов 28: ↑26 и ↓2+24
Комментарии13

Практика работы «в белую» с иностранными заказчиками

Время на прочтение4 мин
Количество просмотров108K
Итак, тут уже была серия статей про то как открыть ИП, как вести бизнес с иностранцами и так далее.
Я хочу всё систематизировать и поделиться реальной практикой.

Для начала введём определения и ограничения:
1. вы уже должны быть зарегистрированы как ИП и вы ознакомились со статьями: habrahabr.ru/blogs/freelance/132232, habrahabr.ru/blogs/freelance/132360, habrahabr.ru/blogs/Dura_Lex/114069
2. мы хотим вести бизнес честно, платить с этого налог и делаем это в России;
3. всё что написано ниже в статье применимо только к ИП, возможно что-то применимо и к ООО, но я ИП и рассказываю про ИП;
4. ИП рассматривается на упрощённой системе налогообложения (УСН) со схемой уплаты налогов в 6% от дохода и без наёмных работников – то есть вы сами по себе;
5. вы предоставляете услуги в области ИТ (программинг, дизайн, консультации и т. п.).

Читать дальше →
Всего голосов 65: ↑64 и ↓1+63
Комментарии145

Boids — простой алгоритм перемещения групп юнитов

Время на прочтение3 мин
Количество просмотров32K
Во время разработки клона одной игрушки мне понадобилось перемещать группы юнитов от одной планеты к другой. Первое что пришло в голову — заспавнить юниты один за другим и двигать их по прямой. Но это выглядело не очень весело, кроме того — нужно было как-то обходить планеты. После беглого ознакомления с алгоритмами группового перемещения я решил попробовать Boids. В итоге получилось такое:



Под катом описание алгоритма с примерами кода.

Читать дальше →
Всего голосов 63: ↑60 и ↓3+57
Комментарии23

О применении $.Deferred в работе с асинхронными задачами

Время на прочтение15 мин
Количество просмотров21K
Привет всем!

В данной статье я хотел бы поделиться с вами соображениями о том, как на практике можно использовать механизм работы с асинхронными процессами, предоставляемый библиотекой jQuery с версии 1.5 под названием deferred, «отложенный» (jQuery.Deferred), а также со связанными объектами и методами.

Разумеется, уже написан не один десяток статей на тему работы с парой deferred/promise. Своей же я задался целью предоставить такой набор знаний, который дал бы новичку, во-первых, возможность забыть о своих страхах перед непонятным и сложным и, во-вторых, сделать еще один шаг к написанию понятного и хорошо структурированного кода, работающего с асинхронными процессами. Я бы хотел сосредоточить свое и ваше внимание на проблемах, которые легко разрешаются ипользованием deferred, на предпосылках и типовых схемах использования этого объекта.
Читать дальше →
Всего голосов 30: ↑28 и ↓2+26
Комментарии6

Яндекс посвятил страницу плееру Winamp

Время на прочтение1 мин
Количество просмотров79K
Сегодня, 20 декабря прекратилась поддержка Winamp — самого узнаваемого и родного для многих музыкального плеера. Последней стала версия Winamp 5.66. В память о времени, проведённом вместе, мы сделали тематическое оформление для страницы Яндекс.Музыки. Найти его можно здесь — music.yandex.ru/oldschool.

image

Мы разложили треки в папки с жанрами: панк, рок, металл, эстрада, поп, классика, кантри, регги, джаз и т.д. В папке с музыкой 90-х — E-Type и Иванушки International, Haddaway и Игорь Тальков, R.E.M и тот самый ранний «Мумий Тролль», Matchbox Twenty и ЧайФ. Остальные папки тоже не пустые. Мы собрали даже музыку «на будильник». Будем пользоваться и вспоминать.
Всего голосов 319: ↑304 и ↓15+289
Комментарии182

Проектируем макет корпоративного сайта

Время на прочтение8 мин
Количество просмотров90K


Привет, Хабраюзер! В интернете полно статей на тему, каким должен быть идеальный дизайн сайта, много примеров уже отрисованных макетов, но почти никогда ты не увидишь, как именно этот макет рисовался, какие правки переносил и насколько изначально был далек от финального варианта. Сегодня я приглашаю тебя разобрать процесс отрисовки главной страницы корпоративного сайта фирмы, с нуля. Мы рассмотрим 13 промежуточных вариантов, предшествовавших финальной версии главной страницы и подробно разберем все вводимые в макеты изменения.
Поехали!
Всего голосов 59: ↑47 и ↓12+35
Комментарии61

Нанотехнологии для всех. Часть 1: Как и чем измерить наномасштаб? Сканирующая туннельная микроскопия

Время на прочтение6 мин
Количество просмотров31K
Приветствую вас, славные жители Хаброгорода!

Плюсы в комментариях в посте IBM и ответы на мой вопрос в Тостере а еще карма, выросшая за ночь в 3 раза обозначили яркое желание Хабра читать научно-популярные статьи: достаточно глубокие, но написанные человеческим языком и с прозрачными аналогиями. Заранее определим, как и о чем мы будем писать.

В постах НЕ будет:
  • повторов знаний из Википедии и научно-популярной клюквы с утверждениями, «взятыми с потолка»;
  • математики и формул. Вообще;
  • ликбеза по поводу школьного курса физики.
    да мне не сложно, но тогда статья вырастет до размеров самки кита ;D. Все мы люди взрослые и если не понимаем основы основ — ищем ответ самостоятельно или спрашиваем в комментариях.

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

Материала очень много и для усиления усваивания лучше начать с инженерной статьи. Итак, как же понять, что за технология перед нами, нано или нет? Давайте измерим ее.
Перестать рассматривать котиков и погрузиться в науку
Всего голосов 50: ↑49 и ↓1+48
Комментарии66

Почему я ненавижу virtualenv и pip

Время на прочтение9 мин
Количество просмотров101K
Я не разделяю всеобщей любви к virtualenv (далее — venv) и pip. Я считаю, что они лишь вносят неразбериху и более того — вредят. Python-программисты чаще всего не соглашаются со мной, да и venv+pip де-факто считается стандартом в python-сообществе. Так как я понимаю, насколько голословными звучат мои высказывания, решил написать сей трактат. Конечно, я иногда пускаюсь спорить на эту тему и в реальной жизни: и ну нравится мне заводить людей и наблюдать, как страстно они остаивают свою позицию. Но при этом мне всегда кажется, что словесно я не могу обосновать свою позицию в полной мере. Поэтому вместо того, чтобы постоянно пытаться вербально доказывать свою точку зрения, я решил написать эту статью, дабы потом просто показывать её людям. Может быть тогда некоторые со мной согласятся, потому что сейчас не согласен почти никто. А может наоборот, как только мои доводы будут всецело поняты, найдутся те, кто их аргументированно опровергнет. Так или иначе, я буду рад любому варианту развития событий.
Читать дальше →
Всего голосов 86: ↑68 и ↓18+50
Комментарии61

О летней стажировке в JetBrains

Время на прочтение7 мин
Количество просмотров24K
Привет, Хабр!

Сейчас никого не удивляет, что в IT компаниях для студентов организуются стажировки. При этом сами работодатели преследуют разные цели: выбрать среди студентов лучших для дальнейшей работы, познакомить новичков со своим рабочим процессом или даже просто удовлетворить потребность университета в том, чтобы пристроить к себе на лето студентов. У нас в прошлые годы специальных программ стажировок не было: если один из наших сотрудников преподает в образовательном учреждении, и в потоке есть очень толковый студент, то со временем его курсовая работа может перерасти в нечто более связанное с нашей деятельностью.

C годами у нас появилось много образовательных программ, которые мы поддерживаем (Computer Science Center, программа магистров при АУ РАН, Лаборатория JetBrains при Математико-механическом факультете СПбГУ и пр.) и много студентов, которые хотят пройти стажировку у нас. В результате этим летом мы провели масштабный проект летних практик.

Читать дальше →
Всего голосов 40: ↑33 и ↓7+26
Комментарии15

Информация

В рейтинге
Не участвует
Дата рождения
Зарегистрирован
Активность