Как стать автором
Обновить
130
0
Иващенко Иван @defuz

Разработчик

Reuse, reduce, Starlink: первая ступень Falcon вернулась на Землю после вывода 60 спутников на орбиту

Время на прочтение 3 мин
Количество просмотров 11K
Блог компании Selectel Читальный зал Научно-популярное Космонавтика Физика

Успешно завершился запуск 14-ой партии спутников Starlink — проекта по обеспечении высокоскоростным широкополосным доступом в интернет всей планеты. К 773 спутникам, уже выведенным на орбиту (в их числе тестовые), присоединилась новая партия из 60 космических аппаратов.

Сами пуски уже мало кого удивляют: за октябрь ракета Falcon 9 со спутниками побывала в космосе дважды. Удивляет то, что первая ступень ракеты Falcon 9 возвращается уже в шестой раз. А один головной обтекатель использовался уже три раза. Рассказываем, как компания Илона Маска возвращает многотонные составляющие ракет с небес на землю.

А еще под катом — много фотографий процесса транспортировки элементов Falcon 9.
Читать дальше →
Всего голосов 37: ↑31 и ↓6 +25
Комментарии 35

Кого вы пытаетесь впечатлить своими дедлайнами?

Время на прочтение 5 мин
Количество просмотров 19K
Программирование *Управление разработкой *Управление проектами *Agile *
Перевод
Подсказка: явно не ваших пользователей.

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

Они работают в Oracle.

Удовлетворенность клиентов является одной из корпоративных ценностей компании Oracle. Но корпоративные ценности — они как абонемент в спортзал — недостаточно их просто иметь.

Одержимость клиентами — полезная вещь, но есть ещё одна вещь, которой одержимы многие компании — это сроки. Дедлайны — это хорошо. «Будет готово, когда я закончу» может быть отличной (или даже рекомендованной) стратегией для двух человек работающих над одним приложением. Но когда вы работаете в компании с более чем двумя сотнями сотрудников, вам требуется некоторое понимание того, что происходит; примерное представление о том, когда ваши пользователи смогут использовать ваши новые свистелки и перделки.

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

Дедлайны нужны в первую очередь не клиентам, а менеджменту.
Читать дальше →
Всего голосов 43: ↑43 и ↓0 +43
Комментарии 18

Что значит unsafe в Rust?

Время на прочтение 9 мин
Количество просмотров 6.6K
Системное программирование *Rust *
Из песочницы

Привет, Хабр! Представляю вашему вниманию перевод статьи "What Is Rust's unsafe?" автора Nora Codes.


Мне доводилось видеть много недопониманий относительно того, что значит ключевое слово unsafe для полезности и правильности языка Rust и его продвижения как "безопасного языка системного программирования". Правда намного сложнее, чем можно описать в коротком твите, к сожалению. Вот как я ее вижу.


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

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

Yew — Rust&WebAssembly-фреймворк для фронтенда

Время на прочтение 14 мин
Количество просмотров 15K
Блог компании JUG Ru Group Rust *WebAssembly *
Yew — аналог React и Elm, написанный полностью на Rust и компилируемый в честный WebAssembly. В статье Денис Колодин, разработчик Yew, рассказывает о том, как можно создать фреймворк без сборщика мусора, эффективно обеспечить immutable, без необходимости копирования состояния благодаря правилам владения данными Rust, и какие есть особенности при трансляции Rust в WebAssembly.



Пост подготовлен по материалам доклада Дениса на конференции HolyJS 2018 Piter. Под катом — видео и текстовая расшифровка доклада.
Всего голосов 53: ↑50 и ↓3 +47
Комментарии 22

Что такое блокчейн и зачем он нужен

Время на прочтение 5 мин
Количество просмотров 287K
Блог компании Bitfury Group Информационная безопасность *Криптография *Платежные системы *


В сознании среднестатистического пользователя само слово “блокчейн” (“цепочка блоков”) стало довольно тесно связано с термином “биткоин”, что двояко отразилось на восприятии.

С одной стороны, популярность биткоина вызывает интерес и к блокчейну, с другой стороны, в массовом сознании биткоин часто ассоциируется лишь с чем-то негативным, запрещенным и подвергаемым преследованию со стороны законодателей. Мол, зачем расплачиваться биткоинами, когда есть целый зоопарк электронных кошельков и банковских карт? Ясное дело – чтобы проворачивать какие-то темные делишки.
Читать дальше →
Всего голосов 31: ↑27 и ↓4 +23
Комментарии 48

Rust и парадокс Блаба

Время на прочтение 11 мин
Количество просмотров 31K
C++ *Системное программирование *Компиляторы *Rust *TypeScript *
Перевод

Несколько недель назад я наткнулся на сравнительный анализ Rust, D и Go от Андрея Александреску. Андрей, уважаемый член сообщества C++ и главный разработчик языка программирования D, нанес Rust сокрушительный удар под конец своего повествования, высказав нечто, что выглядит довольно проницательным наблюдением:



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



После нескольких встреч с Андреем, увидев некоторые из его выступлений, я убедился, что он любит подшучивать. Тем не менее, давайте проглотим наживку. Эта шутка смешная только потому, что она выглядит смешной, или может быть потому, что в ней только доля шутки?

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

Анонс Rust 1.6

Время на прочтение 2 мин
Количество просмотров 8.3K
Программирование *Rust *
Перевод
Привет в 2016-м году! Мы рады объявить первый в этом году релиз Rust — 1.6. Rust — системный язык программирования, нацеленный на безопасную работу с памятью, скорость и параллельное выполнение кода.

Как всегда, вы можете установить Rust 1.6 с соответствующей страницы нашего сайта, а также посмотреть подробный список изменений для версии 1.6 на Github. Этот релиз включил в себя 1100 патчей.

Что вошло в стабильную версию 1.6


В этот релиз вошли ряд небольших доработок, одно большое нововведение и изменение на Crates.io.
Читать дальше →
Всего голосов 20: ↑19 и ↓1 +18
Комментарии 9

Rust в 2016 году

Время на прочтение 5 мин
Количество просмотров 21K
Программирование *Системное программирование *Компиляторы *Rust *
Перевод
2015 год был значительным годом для Rust: мы выпустили версию 1.0, стабилизировали большинство элементов языка и кучу библиотек, значительно выросли как сообщество, а также реорганизовали управление проектом. Может показаться что 2016 год не будет таким же интересным (будет трудно превзойти выпуск 1.0), но это будет супер-важный год для Rust, в котором произойдет много захватывающих вещей. В этой статье я расскажу о том, что, как я думаю, должно произойти. Это не официальная позиция и не обещание разработчиков Rust.

2015


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

В 2015 году силами сообщества Rust:

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

Обработка ошибок в Rust

Время на прочтение 32 мин
Количество просмотров 37K
Программирование *Системное программирование *Rust *
Перевод

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



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



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


Читать дальше →
Всего голосов 37: ↑36 и ↓1 +35
Комментарии 73

Анатомия программы в памяти

Время на прочтение 6 мин
Количество просмотров 82K
Программирование *Системное программирование *C *
Перевод
Управление памятью – одна из главных задач ОС. Она критична как для программирования, так и для системного администрирования. Я постараюсь объяснить, как ОС работает с памятью. Концепции будут общего характера, а примеры я возьму из Linux и Windows на 32-bit x86. Сначала я опишу, как программы располагаются в памяти.

Каждый процесс в многозадачной ОС работает в своей «песочнице» в памяти. Это виртуальное адресное пространство, которое в 32-битном режиме представляет собою 4Гб блок адресов. Эти виртуальные адреса ставятся в соответствие (mapping) физической памяти таблицами страниц, которые поддерживает ядро ОС. У каждого процесса есть свой набор таблиц. Но если мы начинаем использовать виртуальную адресацию, приходится использовать её для всех программ, работающих на компьютере – включая и само ядро. Поэтому часть пространства виртуальных адресов необходимо резервировать под ядро.

image

Это не значит, что ядро использует так много физической памяти – просто у него в распоряжении находится часть адресного пространства, которое можно поставить в соответствие необходимому количеству физической памяти. Пространство памяти для ядра отмечено в таблицах страниц как эксклюзивно используемое привилегированным кодом, поэтому если какая-то программа пытается получить в него доступ, случается page fault. В Linux пространство памяти для ядра присутствует постоянно, и ставит в соответствие одну и ту же часть физической памяти у всех процессов. Код ядра и данные всегда имеют адреса, и готовы обрабатывать прерывания и системные вызовы в любой момент. Для пользовательских программ, напротив, соответствие виртуальных адресов реальной памяти меняется, когда происходит переключение процессов:
Читать дальше →
Всего голосов 62: ↑61 и ↓1 +60
Комментарии 24

Я наконец-то понял, что такое unit-экономика

Время на прочтение 4 мин
Количество просмотров 23K
Блог компании PVS-Studio Управление проектами *Управление продуктом *
«Наконец-то понял, что такое unit-экономика!», воскликнул я сам себе. Не спешите закрывать статью, если вы уже знаете, что это. Я понял про unit-экономику для МОЕГО проекта, и, надеюсь, эта информация поможет и другим. Спасибо приятелю Коле, который зашел к нам в офис поболтать о жизни и натолкнул на эти мысли.

Итак, когда говорят о unit-экономике, то ставят такой вопрос: «Сколько вам стоит привлечение одного клиента?». Я несколько лет не мог на него ответить. И это меня очень смущало. Наша команда доросла до 12 человек, а ответить на такой простой и нужный вопрос я почему-то не мог.
Читать дальше →
Всего голосов 26: ↑21 и ↓5 +16
Комментарии 3

Как я сделал тренажер английского, которым пользуется не только моя мама

Время на прочтение 7 мин
Количество просмотров 50K
Я пиарюсь
Я расскажу о том, как мы с releu придумали, сделали и развиваем сервис мини-уроков английского языка, которым пользуются уже 4000 человек каждый день. Для затравки рост числа активных пользователей:

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

Когда данных действительно много: Vowpal Wabbit

Время на прочтение 6 мин
Количество просмотров 41K
Блог компании MLClass Python *Data Mining *Big Data *
Привет, хабр!



В предыдущих двух постах (раз, два) мы расмотрели основные алгоритмы и техники, применяющиеся участниками соревнований Kaggle. Сегодня хотелось бы пойти дальше и поговорить про то, с какими трудностями встречаются исследователи при разработке алгоритмов в случае, когда данных очень много и обучаться приходится на выборках, которые не помещаются в память. Сразу стоит отметить, что это происходит довольно часто, даже на самом Kaggle (в данной задаче обучающая выборка имеет обьем в несколько гигабайт и новичку может быть просто не понятно, что с этим делать). Ниже мы рассмотрим алгоритмы машинного обучения и инструменты, справляющиеся с данной проблемой.
Читать дальше →
Всего голосов 27: ↑23 и ↓4 +19
Комментарии 13

Алекс Шульц (часть 2): введение в growth hacking

Время на прочтение 8 мин
Количество просмотров 12K
Блог компании Фонд развития интернет-инициатив Разработка под e-commerce *Профессиональная литература *
Перевод


Cтэнфордский курс CS183B: How to start a startup. Стартовал в 2012 году под руководством Питера Тиля. Осенью 2014 года прошла новая серия лекций ведущих предпринимателей и экспертов Y Combinator:


Первая часть курса
Читать дальше →
Всего голосов 21: ↑17 и ↓4 +13
Комментарии 4

Адора Чьюнг (2-я часть лекции): growth hacking

Время на прочтение 12 мин
Количество просмотров 15K
Блог компании Фонд развития интернет-инициатив Разработка под e-commerce *Профессиональная литература *
Перевод


Cтэнфордский курс CS183B: How to start a startup. Стартовал в 2012 году под руководством Питера Тиля. Осенью 2014 года прошла новая серия лекций ведущих предпринимателей и экспертов Y Combinator:


Первая часть курса
Читать дальше →
Всего голосов 17: ↑17 и ↓0 +17
Комментарии 5

10 феерических выступлений Стива Джобса

Время на прочтение 3 мин
Количество просмотров 69K
IT-компании

На прошлой неделе случилось то, что хотелось оттянуть на как можно больший срок, но что все равно было неизбежным. Самый инновационный предприниматель Америки, а может, и мира, Стив Джобс оставил пост CEO компании Apple.
Некоторым везунчикам в жизни предоставляется шанс работать над одним революционным устройством. Стив Джобс – человек, который совершил сразу несколько революций в цифровом мире, – по праву может считаться успешным человеком. 
В этой статье собраны 10 наиболее известных и символичных выступлений, которые характеризуют жизнь и карьеру мастера. 
Читать дальше →
Всего голосов 332: ↑254 и ↓78 +176
Комментарии 86

Что такое суперсимметрия?

Время на прочтение 13 мин
Количество просмотров 7K
Научно-популярное
Большой адронный коллайдер (LHC) уже начал свою работу. Его запуск вызвал значительный интерес и сопровождался большим количеством разнообразных и, порой, антинаучных слухов и спекуляций.

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

Я остановлюсь в этой статье на современных теориях физики элементарных частиц, на некоторых идеях и следствиях этих теорий. Среди рассмотренных тем следующие:
  • Стандартная модель фундаментальных взаимодействий (описывает практически все экспериментальные данные в физике элементарных частиц),
  • ее достоинства и недостатки,
  • идея суперсимметрии,
  • решение многих проблем Стандартной модели при ее суперсимметричном обобщении,
  • некоторые особенности минимальной суперсимметричной Стандартной модели (МССМ),
  • экспериментальный статус суперсимметрии.
Я постарался вести рассказ максимально популярно, поэтому пришлось отказаться от математической строгости. Однако кое-где предполагается, что хабралюди, все-таки, еще помнят школьную математику и физику. Без этого было бы затруднительно, если вообще возможно, изложить часть понятий и идей.
Читать дальше →
Всего голосов 135: ↑134 и ↓1 +133
Комментарии 39

Как заюзать буфер обмена из bash?

Время на прочтение 1 мин
Количество просмотров 2.2K
Чулан
Доброго всем времени суток!

Не так давно начал познавать все прелести программирования на bash. Пишу скрипты для автоматизации рутинных действий, возникающих в процессе работы (программист на Си под никсы я). Вроде получается =)
Так вот, возникла необходимость заюзать из баш буфер обмена(используя лишь средства баш и стандартные утилиты Solaris). Т.е. скопировать значение некой переменной в этот самый буфер. «xsel» и «xclip» нет.
Специфика такова, что вся работа происходит на удалённой тачке заказчика, в сетке которого даже нет интернета. Соответственно никакого софта ставить я не могу.
Подскажите, как это сделать(если такое вообще возможно)?
Гугление не дало результатов.

P.S. надеюсь, прямой эфир хоть кто-нибудь читает.
Всего голосов 16: ↑11 и ↓5 +6
Комментарии 9

Оптимизация бизнес-процессов при помощи кривых выживаемости

Время на прочтение 3 мин
Количество просмотров 10K
Data Mining *
Из песочницы
Давайте представим, что у нас есть сервис по бронированию столиков в ресторане. Бронирование происходит в 2 этапа:

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

Мы хотим понять, насколько эффективно работает колл-центр и как быстро обрабатываются заявки.

Хороший способов проанализировать это — кривые выживаемости.


Читать дальше →
Всего голосов 25: ↑19 и ↓6 +13
Комментарии 6

Информация

В рейтинге
Не участвует
Откуда
Киев, Киевская обл., Украина
Работает в
Дата рождения
Зарегистрирован
Активность