LINUX.ORG.RU
ФорумJob

Писать на Rust прошивку IP-камеры

 ,


4

11

Привет, мы в компании Эрливидео ( https://erlyvideo.ru/ ) помимо серверного софта для трансляций телевидения и массового видеонаблюдения, ещё делаем прошивку для IP-камер: https://habrahabr.ru/company/erlyvideo/blog/334912/

Делаем мы её на Rust, потому что это удобно, надежно и просто мозговзрывательно! Rust работает с железом, принимает видео, раздает клиентам, обслуживает соединения, по JSON API общается с вебмордой.

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

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

Сколько платить денег — вопрос непростой, но раз это требуется, то пусть это будет в широком окне от 100 тыс рублей в месяц до 180.

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

По прочему: мы полностью белая компания, оформление по ТК РФ, вся прочая хурма которую здесь обычно пишут. Если работать в офисе, то у нас новый клевый офис на севере Москвы возле МЦК.

Писать мне max@erlyvideo.org

★★★★★

Последнее исправление: max_lapshin (всего исправлений: 1)

Ответ на: комментарий от Deleted

затролел чутка

Не, я такой цели не имел, правда )

Deleted
()
Ответ на: комментарий от Deleted

Если обращаться потом не по индексу вполне скомпилится )

Deleted
()
Ответ на: комментарий от Deleted

Ну да, то, что там по возврату происходит, не так интересно

Наоборот, это даже более интересно. Показывает, что подобные баги могут проявляться далеко от места, где случаются.

tailgunner ★★★★★
()
Ответ на: комментарий от MyTrooName

При взятии слайса строки происходит проверка, что байты между char находятся. В моём парсере тратится порядка 5-10% времени на это.

RazrFalcon ★★★★★
()
Ответ на: комментарий от Deleted

Если данные в стеке, а ты записываешь сверх меры то ты можешь перезаписать этот код возврата ) что если я не ошибаюсь нарушит выход из main в нашем случае и сегфолт случиться до или после, на х86 стек растёт от старших адресов к младним вроде, а где то наоборот, не обязательно вообще ошибка сегментирования может выскочить «Недопустимая инструкция». Но если честно я забыл как разные стеки где работают =)

Deleted
()
Ответ на: комментарий от MyTrooName

вокруг SDK, немного ещё планируется вокруг перезаливки прошивки. Т.е. только доступ к аппаратуре.

max_lapshin ★★★★★
() автор топика
Ответ на: комментарий от Deleted

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

Пришлось править логику

max_lapshin ★★★★★
() автор топика
Ответ на: комментарий от max_lapshin

Интересно, ну желаю вам найти программиста с некой долей Шерлока Холмса внутри, правда, подобные моменты желательно не только исправить что-бы работало, а понять причину того что работает иначе чем ожидалось, потому что вдруг проблемный код это как раз то стечение обстоятельств 1 на 100000000 когда в Rust что-то не так скомпилировалось (если исключить конечно что код был правильно переписан, но мне кажется это так, потому что если была такая проблема с ней разбирались конкретно и плотно)

Deleted
()
Ответ на: комментарий от Deleted

Ты почти убедил меня пойти нагуглить, что это такое, но зачем мне знать что это такое, если это мешает работе?

max_lapshin ★★★★★
() автор топика
Ответ на: комментарий от max_lapshin

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

Deleted
()
Ответ на: комментарий от max_lapshin

Так а толку?

У тебя же достаточно опыта с одним не очень популярным языком, теперь хочешь расту обучать за свои? )

Проблема раста, ровно та же что у всех убийц си, и она концептуальна: пока жив си, всё остальное будет догонять вечно.

Ядро, либы - накорябаны на си. Значит кто то будет переписывать константы и нотации сисколов для своих супер-пупер языков чтобы хоть как то существовать.
Потом либы подгонять, обёртки всякие.
Я этого наелся 16 лет назад ещё с VB, ощущение что сидишь в гетто. Ну там хотя бы была классная IDE, с классной справкой, отладчиком. И гуй ляпался мышкой быстро и комфортно.
А в этих новых языках вообще голяк, чего ради?
Хочешь безопасный си - вали в джаву а не в раст.
Хочешь язык для макак - бери пхп а не какой то го.

«Рынок» языков давно поделен: си, джава, перл, пхп, питон. Они закрывают все практические потребности, под них 100500 всего есть.
За последние лет 20 собственно практически ничего не взлетело.
Бейсик помер как самостоятельный и живёт только в офисе. Ещё 100500 разновидностей тоже сдохли.
NET - жив только из за поддержки МС, asp сдох. Сколько они не вкладывают - под линухом оно никому и даром не надо.
Был какой то D - да так и не взлетел.
Свифт, ещё чего то там от яблока - так и осталось фричеством под фрическую платную платформу.
Фортран, хоть и старый, почти сдох.
Ерланг - практически мёртв, полтора живых проекта из того что может быть интересно хотя бы студентам.
1Ц - тут своя ниша, слишком специфичная.
Дельфи/паскаль в принципе тоже сдох. Это как раз было куда круче чем ваши раст+го и как раз в той же примерно нише.
Из новых «языков» я припоминаю lua, но он жив потому что в этой нише ничего не было.
Вроде R какой то есть, но оно типа специфичное как вольфрамы всякие, там своя узкая ниша, и возможно питон её подъедает.
Плюсы активно роют себе могилу повышая порог входа синстаксическим сахаром и встройкой буста. Спасает их то, что многие просто не различают си и плюсов и что они всё ещё с си совместимы и избавлены от проблем с писаниной констант и деклараций системных и прочих си апи.

Ну и если посмотреть со стороны, какие могут быть перспективы и задачи у го/раст пограмиста?
Ровно как и у си++, жаба и пхп - писать юзеспейсное говно с бизнес логикой, и читать сишный кот из всяких крутых рефенсных имплементаций RFC, крипты, ядра, матерится и переписывать себе :)

Я в чудеса не верю, сейчас кончится хайп и хз что вы будете делать с кодом на этом написанном.
Раз уж бесик и дельфи сдохли, при всей их истории, кодовой базе, людях, учебных программах - у новых языков вообще шансов нет.
Следующий годный язык который может быть будет и реально взлетит - аналог си для квантовых компьютеров, если си туда не портируют в силу слишком другой идеологии.
Всё остальное обречено быть недоязыком который живёт между старых гигантов и не имеет шансов.

Ivan_83
()
Ответ на: комментарий от Ivan_83

Он уже намекал почему раст
1) дешевая раб сила
2) можно писать говнокод который не умеет крашдампится
3) пассивная реклама флусоника, на волне популярности (ура новый язык) попасть на страничку раста организаций использующих его

voipdev
()
Ответ на: комментарий от voipdev

О, валютная уборщица voipdev подтянулась.

Ваня, я не осилил твой текст, тебя понесло про какой-то php, я не стал в это вчитываться.

У меня получается развивать, продавать и внедрять свой софт. Тебе написанность на С твоего софта не помогает. Ты все еще думаешь, что выбор С помогает тебе сам по себе?

max_lapshin ★★★★★
() автор топика
Ответ на: комментарий от max_lapshin

Если кратко то раст, го и много кто ещё не жильцы, потому что они никто на фоне умерших гигантов в виде бейсика и паскаля.

Вообще то мне Си помогает развивать и продвигать, у меня только монетизация хромает :)

Ivan_83
()
Ответ на: комментарий от voipdev

Ну хз.

1. Ниша пустая, дефицит как раз увеличивает цены.
Да и вообще, ИМХО найти даже сишника толкового проблематично.

2. Про говнокод это вроде как киллер фича го?)

3. Сомневаюсь что кто то из покупателей флюсоника вообще читает непонятные странички раста.
Типичный клиент как правило вообще в теме не рубит, и ему нужен не столько сам продукт сколько внедрение услуги.

Ivan_83
()
Ответ на: комментарий от Ivan_83

В продажах спрос повышает цену
а вот при покупке, цена перебивает другое предложение
поднимаем цену и толпа сишников даже с фб или гугла прибежит

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

гоу уже занял свою нишу в вебе среди php и python-а, нейтив получается лажоватый у него
а вот расту сулиться большое будущее, куча фунтиков которые не хотя думать и хотят много денег, будут говнокодить за еду, да и этот говнокод падать не будет
запустил - не работает, уже не будет такой проблемой, главное же не падает)))

реклама штука сложная, даже если раст умрет через пару лет
архивы останутся в анналах истории а это повысит чсв афтару

voipdev
()
Ответ на: комментарий от voipdev

ценник на сишников выше

Естественно. Программист-статический анализатор - редкая зверушка.

red75prim ★★★
()
6 февраля 2018 г.
Ответ на: комментарий от max_lapshin

Попробуй спросить в Gitter, в группе ruRust. Например, в этом чатике. Тусуются и действительно активные растоводы с лора, и немного других. И вакансии публикуются отдельно. Если уж там не найдутся желающие, то пиши пропало — в Рашке других не найдешь. Можно еще в каком-нибудь Твиттере запостить с тегом #rustlang, а еще лучше обратиться к оф. аккаунту, типа Привет, @rustlang. Я ищу …, они ретвитят всё интересное — охват аудитории будет максимальный.

А здесь обсуждение стихло, потому что пипл поболтал на интересную тему, и ладно.

Virtuos86 ★★★★★
()
Ответ на: комментарий от pftBest

и даже удаленно
но найти рабов за еду с нишевым языком оказывается невозможно
выход один
или переплачивать выше рынка что бы кто то учил раст и удовлетворял аффтара
либо переплачивать специалистам с++
но закончится все это тем что аффтар будет сам дальше кодить на своем расте

voipdev
()
Ответ на: комментарий от pftBest

Я обычно советую не думать много самому, а задавать вопросы по неясностям. Вот ТС зайдет на сайт и прояснит, где и как он искал.

Virtuos86 ★★★★★
()
Ответ на: комментарий от Virtuos86

ищут не только в ДС но и удаленно
если не находят, вывод какой ?
1) нет специалистов, а значит нужно растить своих, но учить мертвый язык которым дальше этой КО двигаться не возможно, дураков вряд ли найти
2) спецы есть, но за озвученные деньги они отзываться не хотят

voipdev
()
Ответ на: комментарий от pftBest

Неужели так мало растоводов в Москве? или все совсем зеленые были?

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

bread
()
Ответ на: комментарий от voipdev

но закончится все это тем что аффтар будет сам дальше кодить на своем расте

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

bread
()
Ответ на: комментарий от tailgunner

А ты в курсе, «hello world» - статическая строка, которая лежит в read-only сегменте?

Неправда, в этом примере она неявно скопируется на стек.

intelfx ★★★★★
()
30 апреля 2018 г.
Ответ на: комментарий от max_lapshin

я не очень понял, какой именно букве закона следовать.

  • Исходный код вашей прошивки (пока?) нигде не опубликован в открытом доступе, значит, прошивка попадает в категорию закрытого ПО.
  • Твой пост отчасти можно рассматривать (и объективно это так и есть) как часть рекламной акции. Ты и тег компании проставил.

Вуаля, имеем рекламу закрытого ПО.

Тем более имеется громкий прецедент с рекламной компанией PVS-Studio на ЛОР, после которого, имхо, некоторые модераторы стали чересчур дуть на воду.

Для Хабра твоя запись кошерна, а здесь, получается, что нет. Специфика ресурса, посвященного открытому ПО.

Virtuos86 ★★★★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.