Блог
Пишем об архитектуре, разработке и процессах. Без воды — только практика из реальных проектов.

Hot Reload, который не заработал. Инкрементальная компиляция в браузере своими руками
В прошлой статье я рассказывал, как мы делаем онлайн IDE для .NET — дизайн, компиляция и запуск приложений происходят прямо в браузере, без сервера. Проект живёт по адресу xaml.io. С тех пор мы много чего добавили, и в какой-то момент у нас стало получаться загружать в IDE довольно крупные .NET проекты — десятки XAML, сотни C# файлов, несколько референсных проектов и пакетов NuGet. Одна из главных возможностей — это

Онлайн IDE для .NET
Обычно под .NET разрабатывают в Visual Studio, собирая и запуская приложения локально на компьютере. А что если IDE работала бы прямо в браузере? Как Figma, только для .NET приложений. Мы задались именно этой целью — сделать онлайн IDE для .NET. Сейчас в нашем инструменте уже работает: ✏️ Редактор UI на XAML (подмножество WPF) с drag-and-drop. ⚡ Компиляция C# и XAML полностью в браузере без участия сервера. 🖥️ Запус

WPF приложения на Android, iPhone, iPad, Mac и Windows
Уже более пяти лет мы занимаемся разработкой OpenSilver — open-source-фреймворка, который позволяет переносить приложения на базе WPF и Silverlight в современный веб. Проект стабильно развивается, активно используется в корпоративной среде, и недавно мы задумались о том, как расширить возможности наших пользователей и запустить существующие приложения ещё и на iOS и Android. Поскольку под капотом OpenSilver используе

WYSIWYG UI дизайнер для VS Code
Наш WYSIWYG UI XAML-редактор теперь доступен и в Visual Studio Code для OpenSilver-приложений. Карточка бургера на скриншоте полностью сделана через редактор. Расширение можно установить из Visual Studio Marketplace абсолютно бесплатно. Читать далее

Новый AI UI дизайнер для «Silverlight» приложений
Мы занимаемся разработкой фреймворка OpenSilver — opensource наследника платформы Silverlight. В версии 3.0 мы добавили современный UI дизайнер в Visual Studio расширение и сделали веб-версию дизайнера. Читать далее

Подросток взломал 4-ступенчатый шифр Агентства кибершпионажа
Портал ABC News Online в четверг, 1 сентября, опубликовал любопытную новость о том, что Австралийское Управление Связи (ASD) выпустило монету с секретным кодом в честь 75-летия Агентства кибербезопасности внешней разведки . Чем для нас интересно это событие? Забавным стечением об

“Проектирование и конструирование компиляторов”
Сегодня снимаем с полки нашей библиотеки интереснейшую книгу Робина Хантера “Проектирование и конструирование компиляторов” и рассказываем, зачем ее читать.

"Распределенные системы" Таненбаума и ван Стеена
Сегодня гостями нашей книжной рубрики "IT-библиотека HWdTech LLC" становятся Эндрю Таненбаум и Мартин ван Стеен со своей книгой “Распределенные системы. Принципы и парадигмы”. Мы вам покажем не только первое издание этой книги, которое есть у нас в библиотеке, но и расскажем о по

OpenSilver. Воскрешаем Silverlight
12 октября Майкрософт прекращает поддержку Silverlight. С одной стороны - ок, все равно никто им уже не пользуется. А с другой, выясняется, что есть много компаний, которые 10 лет назад написали свои внутренние продукты на Silverlight, и успешно все это время работают. А сейчас нет ни людей, знакомых с бизнес логикой этих приложений, ни времени/возможности/знаний все это переписать с нуля. Мы попытались бросить солом

"Poker IT": правила игры и справочник
Перед вами правила нашей второй айтишной настолки и пояснения к картам.

Читаем «Шаблоны интеграции корпоратив-ных приложений»
Начинаем знакомство с IT-библиотекой HWdTech LLC с книги, посвященной паттернам.

Улучшение скорости отклика страниц в 10+ раз
Микросервисная архитектура значительно ускорила работу городского портала.

Как мы создали фирменный лого-пак
и облегчили жизнь себе и всем вам

Искусственный интеллект для объявлений
Семантический анализ фразы на русском языке для извлечения поискового запроса.

Об опыте применения jsonb в реальных проектах
Доклад Евгения Тюменцева на конференции PgConf.Russia 2016 (5 февраля 2016 / Москва, Известия Hall).

Программирование бизнесу: как мы делаем ЭТО?
Как бизнес-задачи вывели программистов «из тени» и оказалось, что коммуникация — конек IT-сферы.

Сервис мониторинга строительного оборудования
Более 80% американских строительных компаний пользуются им в своей работе

UI/UX агронавигатора: как превратить трактор в космолет
Как мы делали дизайн с нуля для приложения, которое оптимизирует полевые работы.

Зачем программисту нужно знать математику?
Доклад Евгения Тюменцева на конференции HappyDev lite (12 апреля 2015)

"Зачем мне математика?!" на примере агронавигатора
А действительно - зачем??? Отвечаем на главный вопрос студентов IT-специальностей.

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

Sciter в действии
Здесь мы рассмотрим некоторые примеры использования движка при разработке интерфейсов для десктопных приложений.

Ahead-of-Time компиляция и Blazor
В .NET 6 запланирована поддержка AOT компиляции для Blazor WebAssembly приложений. Давайте попробуем запустить в Preview 2 версии. Анонса и инструкций пока что нету. Поэтому и решено написать этот пост. Читать далее

Accelerated Mobile Pages
Как просто и быстро создать приложение, использующее AMP-страницы, с помощью Next.js.

Rich Text Editors
Обзор популярных фреймворков для создания Rich Text Editors

Slate Editor
Вы слышали про такой фреймворк? Если нет, то сейчас мы это исправим.

Sciter
Что это такое и зачем он нужен?

Вектор атаки на JWT токен
Яков Лило, CTO Hello World! Technologies, рассказывает о Json Web Token, безопасности и кибератаках. Все совпадения с реальностью случайны или подтасованы.

Фичи JavaScript, о которых вы должны знать
Перевели для вас статью о новой версии ECMAScript и предложениях, которые были реализованы в ней.

Трендовые технологии 2020 года и нового десятилетия
ИИ, беспилотники, криптовалюта, расширенная реальность: что их ждет в ближайшие годы.

Лучшие технологии JS для изучения в 2020 году
Знание каких фреймворков и технологий поможет вам получить хорошую работу в новом году и десятилетии.

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

Дегустация Cypress: как тестировали фреймворк для тестирования
Наш тестировщик Михаил Левашов о том, что такое Cypress, каковы его особенности а также о февральском обновлении платформы.

Плитка Grid с автоподгонкой и min-max
Сегодня переводим полезный пост с gedd.ski, «Grid Tile Layouts with auto-fit and minmax», от разработчика Дейва Геддеса, основателя Mastery Games.

Вы не смотрите рекламу во время разработки? Непорядок
Дожили. Примерно такая реакция у меня была, когда на локальном проекте на localhost поверх всего вылезла реклама. Вот так вот: Так-то давно пора было. Что это я себе позволяю? Браузером пользуюсь, а рекламу не везде смотрю. Читать дальше →

9 проектов, чтобы стать мастером front-end'а в 2020 году
Подборка из 9 проектов и туториалов, которые помогут вам развить свои навыки использования различных фреймворков и библиотек JavaScript.

Daily reports в IT: зачем внедрять и как упростить
Говорим о нашем видении того, почему daily reports крайне важны именно в IT, что они дают заказчику и разработчику и как упростить процесс создания отчетов

10 полезных фич Angular, которые вы, вероятно, не использовали
Возможно, вы написали уже много приложений на Angular и уверены, что все о нем знаете . Чтобы быть уверенным на 100% - читайте дальше!

Наш вклад в Google, Chromium, React и др. репозитории
Почему для нас важен open source, какой вклад мы внесли в развитие открытого программного обеспечения и какими коммитами можем похвастаться.

Как мы делали настольную игру. Зачем и почему?
Ты решил стать программистом чтобы разрабатывать игры? И вот ты разрабатываешь игры… настольные… Захотелось нам летом поиграть в какую-нибудь настолочку про IT. И не получилось найти ту, которая бы понравилась. А это значит, что надо сделать самим! Расскажу, что у нас получилось. Читать дальше →

Криптовалюта и VR «перехайпованные» тренды 2019 года
Основатели и сотрудники стартапов рассказали, что они считают несправедливо переоцененными и недооцененными трендами в IT.

2020: тренды UX/UI дизайна в новом году
Голосовой интерфейс, AR/VR, сторителлинг и многое другое.

Как машинное обучение породило кризис научных исследований?
«Кризис воспроизводимости», неверные корреляции и другие подводные камни работы машин с данными.

Подборка игр для изучения JS и веб-разработки
Бесплатные онлайн-игры со всей Сети, которые помогут быстро приобрести полезные навыки веб-разработки и освоиться с JavaScript.

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

Правила игры Hello · Word
Подробные правила разработанной нами настольной игры!

React Conf 2019: ТОП-5 докладов (часть 2)
Крупнейшая конференция от разработчиков ReactJS в разрезе: самые интересные доклады, фишки, фичи и инструменты этого года.

React Conf 2019: ТОП-5 докладов (часть 1)
Крупнейшая конференция от разработчиков ReactJS в разрезе: самые интересные доклады, фишки, фичи и инструменты этого года.

Нужны ли «крошечные программисты»?
По этому поводу мы пообщались с Евгением Тюменцевым, CEO Hello World! Technologies вот о чем: стоит ли учить программированию детей? Это ведь так интересно! Так и хочется поделиться знаниями. Вот только надо ли…

Стресс-собеседование и мотивация «назло»
Нужно ли унижать кандидатов и что это даст? Двойное интервью о спорных методах подбора персонала: «не останавливайтесь, даже если вам в лицо говорят «вы не программист».

Месяц IT-стажировки: говорим о самом главном
Сегодня ровно месяц как новая группа стажеров HWdTech с нами, и настало время подводить промежуточные итоги: что получается, что сложно и как дальше жить.

Zero knowledge proof
доказательство с нулевым разглашением на службе приватности в блокчейне

Make Sign: приложение для электронной цифровой подписи
Необычное задание на пост-стажировочный период, которое превратилось в интересный проект.

Презентации дипломов: разбираем ошибки на примерах
Типичные ошибки, которые мы нашли в студенческих презентациях и предложили варианты исправления. Часть 2.

Презентации дипломов: разбираем ошибки на примерах
Типичные ошибки, которые мы нашли в студенческих презентациях и предложили варианты исправления. Часть 1.

«Смотри в березу!» или где находится Канада
В нашей подборке: обмороки, пирожки, гири, мнемонические карты, курение в замочную скважину и другое оружие невидимого фронта, на котором студенты пытаются «списать», а преподаватели — поймать их на этом.

Невыносимая легкость разработки под блокчейн
Стоит ли учиться разработке смарт-контрактов? Правда ли, что там водятся легкие и бесконечные деньги? И кому они в итоге достанутся?

Four problems of software development complexity (part 2)
Why do you have to lead the chaos? Is it possible to test a hundred lines of code forever? And why AI is the "atomic bomb"?

IT-стажерам и студентам: как сделать презентацию
Наши советы тем, кто хочет создать простую, но качественную презентацию. Без каких слайдов не обойтись, как оформить, что говорить, как отвечать на критику и многое другое.

Four problems of software development complexity
What's happen when development turns into a merry-go-round, how programmers put bricks and why you need to "run". Part 1.

Антивирус: как бороться с эпидемией в офисе
Расскажем о том, как бороться с ОРВИ. Полезные советы от специалистов прилагаются!

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

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

Как студенты смогли в 10 000 раз сократить количество багов
Им помогли методы обнаружения разладки. Подробности в нашем кейсе.

Методы обнаружения разладки случайных процессов
От лампочек до теории вероятности.

История провала
Как мы сделали идеальный тайм-трекер, но наш стартап все равно прогорел.

Нужно ли программисту образование
О том, за что вас могут казнить в Средневековье, почему не надо перезакапывать кладбище и зачем всем нужны истории неуспеха.

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

Как оценить эффективность труда интернет-тролля
В кейсе показано, как на основе статистического анализа данных, сделать оценку эффективности сотрудника с плохо формализуемым вкладом в результат

Котики в шляпах: начинаем решать задачу
Мы видим, что наше задание для начинающих разработчиков получило большой отклик, а потому давайте начнем разбирать решение.

Как написать email о стажировке
Так, чтобы его заметили, открыли, прочитали, запомнили и дали ответ.

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

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

Четыре проблемы сложности разработки ПО (часть 2)
Зачем возглавлять бардак, как тестировать 100 строк кода целую вечность и почему ИИ - наша «атомная бомба».

Четыре проблемы сложности разработки ПО и где они обитают
Когда работа над проектом превращается в карусель, как программисты кладут кирпичи, и почему надо бежать. Часть 1.

Автоматизация процессов дизайна c помощью Adobe
Как программная автоматизация работы в Photoshop и Illustrator дала +30% к производительности труда дизайнеров, а еще вывела некоторых менеджеров на чистую воду

Искусственный интеллект (AI) модерирует контент
Кейс: как искусственный интеллект (AI) и разумная автоматизация бизнес-процессов сократили время модерации контента с 24 часов до 30 секунд, а также где его применение обосновано, а где - может навредить

Воровство клиентов: как простое веб-приложение может помочь
Быстрое по реализации и эффективное решение, которое пресекло воровство клиентов и промышленный шпионаж на производстве пивоварен. Детали решения ниже.

«Мониторинг производительности .NET-приложений: подходы и инструменты», — интервью с Диной Гольдштейн
Не всегда разрабатываемое решение работает с приемлемой производительностью. Особенно для заказчика. И если предложение докупить памяти и поднять системные требования не срабатывает (у меня ни разу не получалось), приходится браться за оптимизацию. И для этого у нас есть не только StopWatch: об инструментах, которые позволяют понять, где искать, куда лезть в первую очередь, каких результатов ждать, работая над перфом

Рейтинг Elo в играх для двух игроков
Раньше наш рабочий процесс прерывался из-за ряда неразрешенных вопросов: А кто из нас лучше всех играет в настольный футбол? С кем бы мне сейчас пойти поиграть? Кого надо уволить, потому что он не работает а только играет? Наш опыт решения данных вопросов с помощью системы рейтинга Elo будет рассмотрен в статье. А также ссылка на репозиторий и на сайт будут разбросаны по статье. Читать дальше →
Как сделать онлайн просмотр документов
Первый рабочий день. Первая задача в Redmine. Первая спецификация в формате doc. На новой рабочей машине. К чтению спецификации удалось приступить часа через 3. Пока скачался и установился MS Office. Вспоминая этот случай, я был уверен, что в нашей системе управления задачами надо сделать онлайн просмотр документов. Вот только идей по реализации за разумное время и трудозатраты не было. Недавно мы нашли способ – Micr

Apple App Store. Получаем ERN
Перед загрузкой приложения на ревью в Apple App Store нам задают неожиданный вопрос, а не использует ли наше приложение криптографию? И хотя соблазн ответить «нет» и загрузить наконец-то очень велик, и кто-то тихо шепчет, что ты мог и забыть про https или вообще не знать, как он работает, но совесть советует разобраться и в этом. У меня много сил ушло, чтобы получить ERN(Encryption Registration approval from BIS), и
Кроссплатформенный GUI на C# и веб-технологии
Самая первая спецификация продукта, частично устная, содержала требование – наличие кроссплатформенного(Windows, Linux, Mac) клиента под десктоп и облегченную версию мобильного(Windows, Android, iPhone). По возможности интерфейс должен быть максимально похожим на разных ОС. Благодаря Mono мы можем писать кроссплатформенные приложения, но вопрос с GUI остается открытым. Имеющиеся технологии под .Net(Windows Forms, WPF