Как стать автором
Обновить

Компания EPAM временно не ведёт блог на Хабре

Сначала показывать

Какие английские слова IT-лексикона мы неправильно произносим чаще всего

Время на прочтение5 мин
Количество просмотров171K
Пока пара новых статей на технические темы еще в процессе написания, я решил опубликовать небольшой лингвистический материал. Достаточно часто замечаю, что коллеги, у которых английский язык — не родной, неправильно произносят некоторые характерные для IT сферы слова. И дело здесь не в том, насколько аутентично произносятся отдельные звуки, а именно в транскрипции. Регулярно встречал ситуации при общении с носителями, когда неправильно произносимое слово приводило к недопониманиям.

Дальше я приведу несколько наборов слов, сгруппированных по типовым ошибкам. К каждому слову будет приложена транскрипция, приблизительная транскрипция на русском и ссылка на более детальную информацию в словаре. Так как большинство IT компаний все-таки работает с Северной Америкой, то транскрипции будут из US English.
Читать дальше →
Всего голосов 309: ↑308 и ↓1+307
Комментарии486

Музей Компьютерной Истории

Время на прочтение5 мин
Количество просмотров26K
Привет всем! image

На прошлых выходных мне посчастливилось побывать в замечательном месте — Музее Компьютерной Истории (Computer History Museum), который находится в городе Маунтин Вью в Калифорнии, США.

За время своего похода я сделал очень много фотографий экспонатов. В этой статье, я покажу вам эти фотки (конечно же не все), расскажу о том, что там происходило. Так же я очень хочу сам разобраться во всём том, что я увидел в этом замечательном месте, потому что музей содержит тысячи экспонатов, даже подумать про каждый и постоять возле него физически не получится в течение дня.

Итак, давайте начнём с истории. В нескольких следующих абзацах я приведу информацию из Википедии и других источников про сам музей.

Музей Компьютерной Истории, так же возможен перевод "Музей Истории Вычислительной Техники", но я предпочитаю вариант номер 1, начинает свою историю в далёком 1968 году. Гордон Бэлл в те годы занялся сбором электроники для истории и начал он с компьютера Whirlwind, который я видел и о котором расскажу ниже. Первую выставку «Проект Музей»«Museum Project» провели в 1975 году в лобби компании DEC, которую этот самый Бэлл и возглавлял. В 1978 года «Музей Цифрового Компьютера»«The Digital Computer Museum» переехал в другое лобби DEC в Мальборо, Массачусетс. 1984 году «Компьютерный Музей»«The Computer Museum», переехал в Бостон.

В конце девяностых артефакты музея были разделены между двумя центрами — Музеем Компьютерной истории здесь, в Кремниевой Долине, и Бостонским музеем науки. С 2003 года Музей получил своё место в бывшем здании Silicon Graphics в Маунтин Вью, где и показывает свои экспонаты сегодня.

Много букоф, ссылок и фото под катом
Всего голосов 60: ↑55 и ↓5+50
Комментарии29

Нейронные сети на JS. Создавая сеть с нуля

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

КПДВ про нейронные сети


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


Но врожденные любознательность и энтузиазм довели меня до того, что я стал одним из разработчиков Synaptic — проекта фреймворка для построения нейронных сетей на JS с 3к+ звезд на GitHub. Сейчас мы с автором фреймворка занимаемся созданием Synaptic 2.0 с ускорением на GPU и WebWorker-ах и с поддержкой почти всех основных фич любого приличного NN-фреймворка.


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

Читать дальше →
Всего голосов 53: ↑51 и ↓2+49
Комментарии43

Как пишутся книги

Время на прочтение10 мин
Количество просмотров31K
Мой самый крупный самостоятельный проект — увесистый том «Pro Android Web Game Apps» увидел свет не только в электронной форме, но и во плоти. В этой заметке я хочу поделиться своим опытом — рассказать о том, как появляются на свет технические книги — от идеи и переговоров с издательствами до утверждения обложки и печати.

cover

Первые шаги и разговор с издательством


Когда мысль о книге впервые пришла ко мне в голову, я даже не хотел её озвучивать. 99% моих идей кто-то уже придумал, нужно только как следует поискать. В этот раз было не так – google не возвращал ничего кроме блогов или отрывочных заметок — ничего действительно фундаментального. Значит у идеи есть шанс. Раз так, то почему бы не попробовать?

Процесс «для новых авторов» у всех крупных издательств приблизительно одинаковый: опишите нам свою идею, объясните почему именно вы должны её реализовать и не звоните нам, мы сами вам позвоним. Чтобы начать переговоры, нужно написать 2-3 страницы в свободном стиле о вас и вашей книге. Три из пяти издательств, которым я написал ответили, что моя тема не входит в стратегию развития на следующий год. Ещё два издательства — Apress и Manning ответили, что им интересно. Apress ответил быстрее и всего через несколько часов я начал с ними работать.
На этом этапе моей основной проблемой был язык. Я неплохо говорю, и могу сносно обсудить релиз проекта, футбол или игру Эммы Уотсон, но книга — это совсем другое. Любая неточность будет лишний раз напоминать, что автор пишет на неродном языке.
Читать дальше →
Всего голосов 52: ↑50 и ↓2+48
Комментарии17

Как переехать в Индию всей семьей и не быть избитым палками на карантине

Время на прочтение11 мин
Количество просмотров29K
Индия – это страна, где надо всем властвует сердце. Шантарам

Часто успех в нашем сознании связан с жизнью в Европе или Америке, но никак не с Индией. От окружения постоянно слышишь полярные высказывания: либо там бедно и грязно, либо красиво и много туристов. Выход один – ехать и делать выводы самостоятельно. Но очень немногие решаются переехать в столь экзотическое место, очень немногие могут справиться с настолько отличной культурой, очень немногие способны адаптироваться и идти вверх. Наш герой попал в это меньшинство и рискнул. Дмитрий перебрался в Индию в прошлом июне вместе со своей семьей. О том, как уговорить жену на приключение, лавировать на грани культурных стереотипов и пережить карантин без последствий – в интервью Director, Software Engineering EPAM Дмитрия Галюка.


Читать дальше →
Всего голосов 45: ↑42 и ↓3+39
Комментарии71

Оптимизация кода под Pebble

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

На Хабре уже было несколько статей об общих принципах написания кода под Pebble. Для программирования используется язык C, а сам процесс разработки происходит в браузере, при этом компиляция происходит на удаленных серверах, и изменить ее параметры нет возможности, разве что установить Ubuntu и инсталлировать необходимые инструменты для офлайн-компиляции. Но даже такой ход не избавит основного ограничения – на устройстве доступно только 24 Кб оперативной памяти, которая используется и для скомпилированного кода, то есть действительно динамической памяти остается 5-10 Кб. И если для простых программ, которые используются как тонкие клиенты или дополнительные датчики для телефона, этого с головой достаточно, то для написания самодостаточной более или менее сложной игры, которой не нужен смартфон, этого откровенно мало. Вот здесь и понадобится оптимизация кода под размер.

Свои шишки я уже набила, и поэтому предлагаю поучиться на моих ошибках, которые я объединила в 16 советов. Некоторые из них могут показаться капитанскими, от некоторых избавит хороший компилятор с правильными флагами компиляции, но, надеюсь, некоторые из них кому-нибудь да и будут полезными.
Читать дальше →
Всего голосов 40: ↑39 и ↓1+38
Комментарии16

Руководство по фоновой работе в Android. Часть 3: Executors и EventBus

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


Приветствую, коллеги. Рад видеть вас снова в третьей части «Руководства по фоновой работе в Android». Если не видели предыдущие части, вот они:


В прошлый раз мы разобрались, как работают Loaders, а сразу после этого Google взял и сообщил, что они полностью переписали LoaderManager. Видимо, мне надо позже вернуться к этой теме, но пока что буду следовать плану и делиться подробностями того, как организовать фоновую работу в Android исключительно с помощью джавовых thread pool executors, а также как EventBus может помочь в этом, и как всё это работает под капотом.
Читать дальше →
Всего голосов 35: ↑32 и ↓3+29
Комментарии8

Ламповый Linux-like терминал в Windows

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

Вступление (лирическое)


Привет, Хабр!

Для меня, автоматизатора-линуксоида, использвание Windows на основной рабочей станции первое время было просто болью и страданием. Но с этим я ничего поделать не мог: корпоративные стандарты и софт, кторый работает только на Windows. В попытке найти золотую середину, я прошёл три стадии. Сначала я только изредка переключался на винду по необходимости. Затем виртуалка на virtualbox-е с X-server-ом. После этого захотелось хоть чуть-чуть того консольного комфорта, который был на линуксе (я использовал Terminator в качестве основного терминала).

После яростного гугления и установки всех эмуляторов терминала под Windows, которые только удалось найти, оказалось, что нет ни одного хоть немного подходящего мне. А хотелось, чтобы вёл себя терминал максимально приближенно к линуксовым вариантам. Например, естественно нужны табы, сплит, выделение текста с прокруткой (когда нужно выделить больше чем один экран), копирование текста в буфер сразу при выделении и т.д.

В итоге я получил «комбайн» как на скриншоте ниже. О том, как это настроить, можно узнать, заглянув под кат.



Читать дальше →
Всего голосов 71: ↑50 и ↓21+29
Комментарии59

Программирование устройств на основе модуля ESP32

Время на прочтение26 мин
Количество просмотров181K
Микроконтроллер — это интегральная схема, способная выполнять программы. Сегодня на рынке представлено множество таких моделей от самых разных производителей. Цены на эти устройства продолжают падать. Однокристальные чипы находят широкое применение в самых разнообразных сферах: от измерительных приборов до изделий развлечений и всевозможной домашней техники. В отличие от персональных компьютеров микроконтроллер сочетает в одном кристалле функции процессора и периферийных устройств, содержит оперативную память и постоянное запоминающее устройство в для хранения кода и данных, однако обладает значительно мешьшими вычислительными ресурсами. ESP32 — это микроконтроллер, разработанный компанией Espressif Systems. ESP32 представляет собой систему на кристалле с интегрированным Wi-Fi и Bluetooth контроллерами. В серии ESP32 используется ядро Tensilica Xtensa LX6. Платы с ESP32 обладают хорошей вычислительной способностью, развитой периферией и при этом весьма популярны ввиду низкой цены в диапазоне 7$ – 14$: Aliexpress, Amazon.

image
Читать дальше →
Всего голосов 32: ↑30 и ↓2+28
Комментарии5

Основы медитации, или как научиться ничего не делать с пользой

Время на прочтение10 мин
Количество просмотров68K
«Опять те же грабли», — сказала мне жена, когда я в очередной раз задерживался с работы. «Проект интересный, надо доделать», «Сейчас поднажму, потом будет легче», — мой типичный набор ответов на переработки.

С удалённой работой перегрузить себя ещё проще — ходить никуда не надо, никто не зовёт попить кофе, а список вариантов отдохнуть «снаружи» сократился.

В онлайне только и разговоров, как работать эффективно и сохранять баланс с отдыхом, но ведь гораздо проще включить YouTube, заесть чем-то сладеньким. Через час устать ещё больше: «Какого чёрта, я хотел посмотреть полезное видео, а смотрю как УАЗ наматывается на столб»?!

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

В этой статье я расскажу, почему медитация — лучшее средство от стресса и перегрузок.


Читать дальше →
Всего голосов 32: ↑30 и ↓2+28
Комментарии121

Руководство по фоновой работе в Android. Часть 4: RxJava

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

Обработка событий — это цикл.

В прошлой части мы говорили об использовании thread pool executors для фоновой работы в Android. Проблема этого подхода оказалась в том, что отправляющий события знает, как должен быть обработан результат. Посмотрим теперь, что предлагает RxJava.

Дисклеймер: это не статья о том, как использовать RxJava в Android. Таких текстов в интернете и так прорва. Этот — о деталях реализации библиотеки.
Читать дальше →
Всего голосов 36: ↑32 и ↓4+28
Комментарии1

AWS: Хороший, плохой, злой

Время на прочтение8 мин
Количество просмотров15K
Здесь, в awe.sm, мы с самого начала использовали Amazon AWS для хостинга. За последние три года мы изучили, что хорошо, а что не очень и сформулировали для себя свой собственный набор правил для запуска высоко доступной, высоко производительной системы, которые в некоторых случаях отличаются от того, что советует Amazon.

Мы собираемся поговорить о следующих родственных понятиях:
  1. Для людей, которые слышали об Amazon, но еще не имели возможности его использовать, мы покажем все преимущества и недостатки этого сервиса, с которыми мы столкнулись в своей работе.
  2. Для тех, кто уже использует AWS, мы проясним некоторые детали и расскажем о лучшей практике использования Amazon для таких высокопроизводительных сервисов, как наш, где непрерывная работа системы является самым высоким критерием.

Читать дальше →
Всего голосов 39: ↑33 и ↓6+27
Комментарии21

5 диаграмм, необходимых для документирования архитектуры решений

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

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

Читать далее
Всего голосов 28: ↑27 и ↓1+26
Комментарии3

Клиент для Habrastorage.org на Ruby

Время на прочтение1 мин
Количество просмотров6.6K
Привет хабраписателям! image

По рекомендации Хабрахабра многие пользуются сервисом habrastorage.org для хостинга картинок. Да, загрузка многих изображений через веб страничку это может и удобно, но не очень.

Я для скриншотов использую клиент Gyazo и наработки, описанные в этой статье. Приходится перезаливать изображения на хабрасторадж, а это иногда донимает, если в посте немало картинок.

Появилась идея модифицировать клиент Gyazo, чтобы сразу отправлять скриншоты в хабрасторадж. И знаете, всё получилось!
Читать дальше →
Всего голосов 42: ↑34 и ↓8+26
Комментарии12

Руководство по фоновой работе в Android. Часть 5: Корутины в Котлине

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

Остров Котлин

Предыдущие тексты этой серии: про AsyncTask, про Loaders, про Executors и EventBus, про RxJava.

Итак, этот час настал. Это статья, ради которой была написана вся серия: объяснение, как новый подход работает «под капотом». Если вы пока не знаете и того, как им пользоваться, вот для начала полезные ссылки:


А освоившись с корутинами, вы можете задаться вопросом, что позволило Kotlin предоставить эту возможность и как она работает. Прошу заметить, что здесь речь пойдёт только о стадии компиляции: про исполнение можно написать отдельную статью.
Читать дальше →
Всего голосов 24: ↑24 и ↓0+24
Комментарии5

Руководство по фоновой работе в Android. Часть 1

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

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


Читать дальше →
Всего голосов 24: ↑24 и ↓0+24
Комментарии9

Высокодоступный FTP-сервер с хранением данных в AWS S3

Время на прочтение5 мин
Количество просмотров18K
Добрый день, уважаемые читатели.
Снова хочу поделиться с вами приобретенным опытом.На одном из проектов была поставлена цель организовать FTP-сервер повышенной надёжности. Под повышенной надёжностью подразумевалось следующее:
  • Данные хранятся в AWS S3
  • Сам FTP-сервер (выбран был Pure-ftpd) должен быть максимально возможно доступен
  • Организовать балансировку нагрузки (опционально)
Читать дальше →
Всего голосов 34: ↑29 и ↓5+24
Комментарии21

.NET гуру Дино Эспозито: «Не будь пассажиром поезда, идущего под откос»

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

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


image
Читать дальше →
Всего голосов 29: ↑26 и ↓3+23
Комментарии14

Руководство по фоновой работе в Android. Часть 2: Loaders

Время на прочтение6 мин
Количество просмотров16K
Это вторая из серии статей об инструментах и методах фоновой работы в Android. Ранее уже были рассмотрены AsyncTask, в следующих выпусках — ThreadPools с EventBus, RxJava 2 и корутины в Kotlin.


Читать дальше →
Всего голосов 25: ↑24 и ↓1+23
Комментарии9
1
23 ...