Pull to refresh
130.2
Karma
0.4
Rating
Иващенко Иван @defuz

Разработчик

  • Followers 39
  • Following 11
  • Posts
  • Comments

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

Selectel corporate blogReading roomPopular scienceAstronauticsPhysics

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

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

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

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

ProgrammingDevelopment ManagementProject managementAgile
Translation
Подсказка: явно не ваших пользователей.

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

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

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

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

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

Дедлайны нужны в первую очередь не клиентам, а менеджменту.
Читать дальше →
Total votes 43: ↑43 and ↓0+43
Views18K
Comments 18

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

System ProgrammingRust
Sandbox

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


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


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

Читать дальше →
Total votes 51: ↑51 and ↓0+51
Views5.3K
Comments 2

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

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



Пост подготовлен по материалам доклада Дениса на конференции HolyJS 2018 Piter. Под катом — видео и текстовая расшифровка доклада.
Читать дальше →
Total votes 53: ↑50 and ↓3+47
Views12K
Comments 22

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

Bitfury Group corporate blogInformation SecurityCryptographyPayment systems


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

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

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

C++System ProgrammingCompilersRustTypeScript
Translation

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



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



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

Читать дальше →
Total votes 49: ↑47 and ↓2+45
Views29K
Comments 134

Анонс Rust 1.6

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

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

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


В этот релиз вошли ряд небольших доработок, одно большое нововведение и изменение на Crates.io.
Читать дальше →
Total votes 20: ↑19 and ↓1+18
Views8.2K
Comments 9

Rust в 2016 году

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

2015


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

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

Читать дальше →
Total votes 44: ↑44 and ↓0+44
Views20K
Comments 59

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

ProgrammingSystem ProgrammingRust
Translation

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



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



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


Читать дальше →
Total votes 37: ↑36 and ↓1+35
Views32K
Comments 73

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

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

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

image

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

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

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

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

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

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

Читать дальше →
Total votes 46: ↑46 and ↓0+46
Views49K
Comments 44

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

MLClass corporate blogPythonData MiningBig Data
Привет, хабр!



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

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

Фонд развития интернет-инициатив corporate blogDevelopment for e-commerceProfessional literature
Translation


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


Первая часть курса
Читать дальше →
Total votes 21: ↑17 and ↓4+13
Views12K
Comments 4

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

Фонд развития интернет-инициатив corporate blogDevelopment for e-commerceProfessional literature
Translation


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


Первая часть курса
Читать дальше →
Total votes 17: ↑17 and ↓0+17
Views15K
Comments 5

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

IT-companies

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

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

Popular science
Большой адронный коллайдер (LHC) уже начал свою работу. Его запуск вызвал значительный интерес и сопровождался большим количеством разнообразных и, порой, антинаучных слухов и спекуляций.

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

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

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

Lumber room
Доброго всем времени суток!

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

P.S. надеюсь, прямой эфир хоть кто-нибудь читает.
Total votes 16: ↑11 and ↓5+6
Views1K
Comments 9

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

Data Mining
Sandbox
Давайте представим, что у нас есть сервис по бронированию столиков в ресторане. Бронирование происходит в 2 этапа:

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

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

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


Читать дальше →
Total votes 25: ↑19 and ↓6+13
Views10K
Comments 6

Information

Rating
1,308-th
Location
Киев, Киевская обл., Украина
Works in
Date of birth
Registered
Activity