• За что олдскульные электронщики ругают ардуино?

    @n12eq3
    всё правильно говорится, с некоторыми оговорками. основные минусы
    1) говнокод. если использовать родное приложение, прошивка получается крайне кривой. отсюда лезет убогость работы по скорости, убогость работы библиотек (совместная работа нескольких), убогость вырастающего на этом кале "программиста", убогость по работе устройства в целом.
    2) отрешённость от железа, искажение представлений о его работе. крайне плохой инструмент для начала изучения контроллеров. самый бородатый и эпичный пример киселя в головах "программистов" - 99% уверены что у всех моделей ардуин (соответственно у их "центральных" чипов) есть аналоговые выходы.
    3) отсутствие развития в изучении и стимула для самостоятельной работы, отупление пользователя в целом. digitalPin high работает равнозначно на uno- и на due-, тогда как первое это древняя atmega а второе это контроллер с ядром cortex-m3 и с кратким даташитом на 1500 страниц. купить камаз чтобы засыпать своему коту лоток.
    4) очень странно, но наличие коммьюнити. просто из статистики имеется достаточное количество адекватных инженеров-пользователей этой платформы. также достаточно количество тех же инженеров не-пользователей, но работающих с этим железом за деньги. условно пару процентов пользователей производят скорее всего 100% всех модулей и/или библиотек + китайская штамповка ---> см п.3 но уже не касаемо железа, а всей платформы в целом. зачем что-то учить и изобретать если можно купить 3 готовых модуля, инклуд 3 библиотеки и "устройство" готово.
    5) говнокачество. форм фактор андрунно не предполагает использование, отличное от настольного. в готовое устройство - не засунуть. в прототип который будет "надёжным" в эксплуатации - не засунуть. каких-либо кастомных схем не собрать - pls-pbs разъёмы при постоянном использовании разбалтываются и при большой схеме на бредборде можно часами шевелить провода ища плохой контакт. всё это можно помножить на хламовые компоненты из чины (кто у нас покупает оригиналы по 20 евро?)
    6) искажение "имиджа" профессии. любой аутист соберёт вайфай замок с эзернет шилдом и блютус чайником за 13 минут, при том, что изготовление "взрослой" электроники займёт неделю или месяц. при этом в популистских статьях полученные результаты подаются как сопоставимые. т.е. дядя учился и работал 10 лет чтобы проектировать правильно и хорошо а школьник собрал аналог пока сидел на унитазе. при этом сравнить качество/функции/надёжность/технологичность забывают, и у дяди подпекает.
    основной источник наездов это п.1, п.2, п.6.

    в целом это интересная поделка для хобби и быстрого прототипирования. очень полезна во многих ситуациях.
    также можно (нужно) посмотреть на отношение к этому у более развитых коллег из западных стран - там это преподносится именно как конструктор для хобби, никаких "инженеров" из этого кала не вырастает.
    ещё достаточно показательный пример - сравнительно часто в проектах по фрилансу (на западе) встречаются задания вида "я сделал прототип и он работает. хочу перенести в реальное железо". это очень правильный подход.
    Ответ написан
    2 комментария
  • Как учить assembler под linux?

    x67
    @x67
    А с каких пор ассемблер стал зависеть от ОС?
    Выберите для себя удобную IDE на удобной системе. Вот есть кроссплатформенная IDE, к примеру, не понравится - сами найдите с помощью запроса в гугле "asm IDE linux" и учите. Собственно как язык, ассемблер изучать незачем, он прост как три копейки, а вот физическое понимание, как оно там работает нужно. И на восприятие этого понимания IDE никак не повлияет. Я в свое время изучал ассемблер для древних микроконтроллеров фуджитсу, родная IDE там почти ничем не отличалась от блокнота с нескучным отладчиком.

    Другой вопрос в том, зачем вам ассемблер? Для прикладных задач навряд ли он вам пригодится. Как хобби - не самый рациональный выбор, так как есть множество более интересных вариантов. Как что-то крутое, стоящее у основ мироздания, чтобы гордиться собою - опять мимо, ассемблер, он конечно стоит где-то у основ, но в современном мире без понимания сферы его прикладного использования он вреден - мозг грузите, тепло вырабатываете, а пользы от этого никакой, соответственно в его "крутости" 0 (ноль) крутости. Лучше тогда С/C++ изучить. Хотя бы сможете написать что угодно для чего угодно, если вдруг захочется.
    Ответ написан
    2 комментария
  • Что положить в портфолио программиста на Си?

    @Sh0ttky
    1. Что касается портфолио. Если нет формального опыта работы на си, то на должность выше среднего рассчитывать в принципе не придётся. Опять же, если этого опыта нет, то шансов написать годное портфолио тоже мало. Лучше вообще код не показывать, пока не попросят.
    2. Если хочется посмотреть, как выглядит хороший современный код на си - рекомендую почитать исходники популярного открытого проекта. В зависимости от удобной специфики. Например: ffmpeg , openssl, openvpn, qemu. Там же можно посмотреть, как организована система сборки/автоматического тестирования.
    Исходники лучше всего читать в процессе отладки (gdb). Тут порог вхождения несколько высокий, т.к. придётся искать IDE. Я пользуюсь emacs.
    3. Из собственного опыта, даже крутые крупные компании готовы брать сишника, лишь бы он был готов стараться. Не стесняйтесь предлагать свои услуги.
    4. Чем хорош п.2 , так это тем, что знание популярных открытых фреймворков - это + к резюме.
    5. Удобнее будет под линуксом.
    Ответ написан
    1 комментарий
  • Как программируют китайские игрушки?

    LeEnot
    @LeEnot
    Енот-андроид
    Это бескорпусный микроконтроллер типа "китайская сопля". Программируют так же, как и корпусные - через отладочный интерфейс типа JTAG.
    Черная хрень это компаунд, под ним кристалл микроконтроллера, который в случае корпусного исполнения залит пластиком (или в металло-керамическом корпусе).
    Сделано это для удешевления производства. Как видно, изначально предусмотрен вариант напайки и корпусного варианта.
    Ответ написан
    2 комментария
  • Как программируют китайские игрушки?

    MaxDukov
    @MaxDukov
    впишусь в проект как SRE/DevOps.
    это "интегральная схема" - по сути недо-микросхема. все транзисторы/резисторы/конденсаторы там, под этим черным "куполом". Программируются - врядли. скорее уж аналоговая схема.
    Ответ написан
    6 комментариев
  • Народ, м. б. у кого возникала такая ситуация: На работе у одного компа постоянно в обед пропадает инет?

    Stalker_RED
    @Stalker_RED
    Главбух выдергивает роутер из розетки и включает в нее чайник. Если хватит смелости - отберите чайник у главбуха!
    Ответ написан
    Комментировать
  • В чем заключается работа человека в web и с сетями?

    nextel
    @nextel
    ненавижу javascript
    как по мне так если прям серьезно заниматься сетевым программированием обязательно знать с, cpp хотя бы для того чтоб писать на них шустрые ядра для каких нибудь обвязавающих библиотечек на скриповых языках типа питона для более легкого лиспользвоания.
    принцип примерно такой:
    поставлена/ придумана какая то хитрожопая задача(для стандартных задач давно уже написаны офигенные библиотеки накаком хочешь языке), например передать мертвых шлюх по udp протоколу с минимальными потерями, что для этого надо сделать? прально писать свою реализацю протокола udp с проверкой на ошибки типа UDPDeadWhore.0.2beta а потом просто мастерить к ней обвязки в на языке который используется в текущем проекте...... PROFIT.

    А нужный стек познается и набирается в процессе на реальных задачах, академические знания конечно хорошо, но это не спасет от тучи граблей на практике.
    Ответ написан
    6 комментариев
  • Студент и Низкоуровневое программирование?

    sofcom
    @sofcom
    DevOps & IT Produce & Digital marketing
    Столько негативного нытья прочитал тут!
    МК и интернет-вещи - уже ближайшее будущее (3-5 лет), вот тут для "железячника" и приходит широкая применимость знаний и высокие ЗП, те кто "в вэбе" закатывайте губы, ваши ЗП в ближайшие годы начнут снижаться. Как только кол-во выпускников-школьников поболее появится на рынке труда (да-да они уже тот-же Python со школы знают), то. к секретарю требование знаний Python или PHP можно будет предъявлять. Не малую часть задач, которые вы сегодня программируете, завтра, смогут решать рядовые секретарши.
    Товарищи "негитивно писащие". Вы в ночном клубе когда последний раз были?
    Культ применимости радиоэлектроники (железяк) виден даже там, направление тренда на ближайшие 5-10 лет легко просматривается. Так что, нравится МК и железяки!? Набирайтесь знания и опыта, эта сфера сильно разгорается, так же и уровень ЗП разогреют в ближайшее время.

    UPD: для "железячников" не было рынка для полета, все наполняли унифицированные устройства (стир-машины, микроволновки и т.д., если говорить про "массовые продукты").
    Сейчас же (оглянитесь вокруг) даже наручные часы хотят "программируемые", т.е. требования к "мозгам" того-же унитаза или водопроводного крана, системам отопления - возросли и еще возрастут в разы. И именно это создает просто огромный рынок возможностей для "железячников".
    В плане нашей страны, России - вчерашней экономической территории на 140 млн чел - уже нет, рынок увеличился (считайте численность ЕАЭС, а не только РФ), и это уже неоспоримый факт, а не фантазии и планы нашего правительства. Справка по ЕАЭС - https://ru.wikipedia.org/wiki/%D0%95%D0%B2%D1%80%D...

    В плане мною описанного.
    Это далеко не просто "позитивный взгляд", это реальность уже ближайших лет. Для того чтоб "трезво" посмотреть на сферу "железяк" достаточно прогуляться по интернету и взглянуть на популярность платформ типа: Arduino, Intel Galileo и др. По распространенности этих платформ можно смело сказать, что это не просто "поиграться", а это сила которая изменит отношение и требования к окружающим нас предметам, причем очень быстро (3-5 лет). И уже совсем рядом время, когда отсутствие слов от утюга "Хозяин, поддай пару", во время глажки, будет наводить на мысль что утюг сломался и надо купить другой.
    Ответ написан
    9 комментариев
  • С чего начать изучение сетей?

    @grafist02511
    Устройтесь админом в школу или небольшую контору, всевозможные кейсы сразу запомнятся
    Ответ написан
    Комментировать
  • Студент и Низкоуровневое программирование?

    @k_levin
    Разработчик ASIC
    Не могу полностью согласиться со всеми высказавшимися.

    Да, в среднем высокоуровневое программирование оплачивается выше чем разработка железок. На счёт уровня зарплат могу судить лишь по Москве (для молодого специалиста с 0.5-1 годом стажа на старт большинство фирм дают ~40 - 50 т.р.). Плюс некоторые готовы брать людей и без опыта, если голова варит.

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

    Да, в большинстве случае будете прямо или косвенно работать на государство. Косвенно - это когда фирма частная, но участвует в разработке по ОКР.

    Но!
    Если говорить о разработке железа (прототипирование на ПЛИС/разработка ASIC), то в сфере наблюдается кадровый голод. Если выучите SystemVerilog, UVM/OVM/Assertions и что-нибудь из комплекта C/C++, Tcl, bash Вам цены не будет как верификатору. Потому что верификация разработки это самая трудозатратная часть. Можно ещё и разработчиком быть - на Verilog-е писать. Везде свои прелести. В итоге поработав лет 10 можете заиметь весьма реальные шансы уехать поработать куда-нибудь. Но тут очень много разных факторов и что будет через 10 лет сказать сложно.
    Ответ написан
    6 комментариев
  • Студент и Низкоуровневое программирование?

    DIITHiTech
    @DIITHiTech
    Fullstack javascript developer
    ИМХО к сожалению, состояние нашей промышленности не способствует созданию таких рабочих мест, где широко нужны программисты "железячники". Если сравнивать с прикладными+веб, то их можно считать что и нету. Увы.
    Сам я тоже должен быть железячником по образованию, все с паяльниками сидел, но еще после школы понял что скорее всего это останется занятием для души бумажки о ВО, а основным, как и все, упорно заняться прикладным, через пару лет дошло что лучше веб. Просто не в том месте или не в то время я родился=) Писать даже индуский код на том же php для "забугра" в разы выгоднее.
    Вообщем себе рисовал картину так - минусы железячника:
    - производство стоит, отсталое
    - маленькое количество рабочих мест
    - относительно низкая ЗП, в несколько раз меньше по сравнению с другими
    - работа на внутренний рынок
    - сложное освоение, большие затраты на покупку демо-железяк
    - привязанность к конкретному месту производства
    - устроится сложно, работа часто "по блату"
    - сам один ты в поле не воин, ты не напишешь крутую прошивку, скажем умного дома, под устройство которого нет, сам не запустишь производство, сам не продашь... как бы этого не хотелось... разве что kickstarter=) и то команда нужна серьезная чтоб создать свое маленькое дело
    - там где есть хоть какое то производство -ужасная экология, жить в индустриальном районе не хочется, ну это так - придирки
    - мало шансов свалить в "загнивающийзапад" по рабочей визе

    Конечно, есть яркие исключения, но в основной массе оно примерно так...

    Может получиться как у меня - отучился на железячника, а все ровно параллельно сам учил прикладное и веб- круть, теперь я web dev с никому ненужными навыками программиста мк, системотехника и архитектора сетей=))
    Вообщем хорошенько еще подумайте=)
    Если бы у меня была машина времени- я бы вообще вернулся на 10 лет назад и сказал бы себе - "харе кодить, забей - сиди на лавке пей пиво, через 10 лет будешь ручным тестированием заниматься - там за месяц буш готов, мозг береги"=)))
    Ответ написан
    3 комментария
  • Какие книги почитать про параллельные вычисления локально на нескольких компьютерах?

    Fesor
    @Fesor
    Full-stack developer (Symfony, Angular)
    неограниченная скорость и зависит от материнской платы

    У шины данных есть ограничения, если что.

    www.open-mpi.org - пожалуй из фришного лучшее что есть для организации паралельных вычислений в кластере. Эдакий стандарт дэ-факто.

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

    p.s. 10 гигабит в секунду медленно (или 8, я уж не помню сколько там x16 3.0 вытягивает)? Я может плохо помню, но CPU bus в современных материнках примерно такие показатели выдаст (или 15-ку). Я правильно понимаю что вы хотите сделать из трех компьютеров один? Не выйдет.
    Ответ написан
  • Куда съезжать с Ubuntu?

    @azazelpw
    Linux SA
    Судя по тексту, звучит как хочу Mac из за его красивости и стабильности, но не имею возможности.

    Вариант 1. Купите Mac
    Вариант 2. Ubuntu очень гибкий дистрибутив в плане надежности и графических оболочек. Настройте систему, и не надо никуда съезжать.
    Потому как вы путаете, если по простому:
    Есть ядро системы, вокруг него навешано куча пакетов. И вот эта куча пакетов и есть то что дает название системе. Debian, Ubuntu, Mint, Centos
    По факту вы любой из этих дистрибутивов можете настроить каждый так как нужно именно вам. И поставить те пакеты которые нужны именно вам.

    А коробочное решение, это Mac.
    Ответ написан
    Комментировать
  • Куда съезжать с Ubuntu?

    Ernillew
    @Ernillew
    Администрирую *nix-системы с 1997 года
    > что с бубунты пора съезжать вообще на что-то более серьезное

    Этот человек — клоун начитавшийся форумов для чайников.
    Ubuntu — мэйнстримный дистрибутив. Никуда съезжать с него нет нужды.
    Ответ написан
    6 комментариев
  • Какой микроконтроллер выбрать?

    RuddyRudeman
    @RuddyRudeman
    что нибудь из CC25xx от TI. Там cortex m3, BLE, хорошая документация и удобная бесплатная среда. Еще они продают некий sensor tag - отладку на этих чипах с всеми датчиками, в т.ч. акселлерометрами, и среди экзамплов есть отправка показаний по bt в прогу на ios
    Ответ написан
    Комментировать
  • Как вы относитесь к идее денежного поощрения за ответы?

    @MoonMaster
    Программист и этим все сказано
    Считаю эту идею не нужной. Если я вижу вопрос и знаю на него ответ, то почему я не должен на него ответить и помочь человеку? Согласен есть вопросы, которые на мой взгляд кажется глупыми (можно минут 5 потратить и найти ответ в интернете). Но существуют и довольно интересные вопросы с "подводными" камнями.
    Если я ответил на вопрос и он оказался решением, то я просто рад, что кому то помог. Тем более существует большая вероятность, что если я задам вопрос и мне обязательно помогут.
    Ответ написан
    5 комментариев
  • Возможно-ли изменить файл задним числом в linux?

    svfat
    @svfat
    ☺Нужен VPS? Два месяца бесплатно. Смотри профиль☺
    $ man touch
    ...
           -d, --date=STRING
                  parse STRING and use it instead of current time
    ...

    Короче: touch -d 20140731 /path/to/file делает то, что вы описали
    Ответ написан
    Комментировать
  • Какой из проводов подает сигнал от монетоприемника?

    MaxDukov
    @MaxDukov
    впишусь в проект как SRE/DevOps.
    если верить схеме - синий на D2.
    Ответ написан
    Комментировать
  • Разница между: транспайлер, транслятор, компилятор?

    RiseOfDeath
    @RiseOfDeath
    Диванный эксперт.
    Ну если в двух словах, то компиляция - процесс получения программы (исполняемые машиной команды) из исходного кода на неком языке программирования.

    Трансляция - преобразование исходного кода программы из одного ЯП в другой. Обычно компиляторы (например для C/C++) транслируют исходник в программу на асемблере, и уже потом ее компилируют.

    Что касатеся транспайлера (Transpiler) - это тот же транслятор с той лишь разницей, что у результата примерно тот же уровень абстракции, что и у исходного текста (ну например транслятор из Java в C++).

    Ссылки:
    Source-to-source compiler
    Compiler
    Translator
    Ответ написан
    Комментировать
  • Framebuffer драйвер для черно белого экрана?

    Spetros
    @Spetros
    IT-шник
    Можно ли написать драйвер для чернобелого экрана 320х240 для linux.

    Пишите.
    Ответ написан
    Комментировать