• +2
    Нет никакой проблемы, что в первой задачке программист не заметил простого решения ибо обычно таких халявных условий в жизни не бывает. А если так и случается, то программист находится в контексте и знает куда копать. Или заказчик ставит условия объясняет это нюанс. В любом случае, это не повод чтобы отсеять претендента если он просто не заметил подвоха.
    Задачи с собеседований. Три адекватные задачки на «подумать»
  • +2
    Ардуино — попсовый вариант реализации микроконтроллера и имеет много недостатков в плане возможностей и производительности, поэтому нет смысла сравнивать с ПЛИС. По своему опыту: несколько лет назад меня пригласили в проект покодить MSP-430, так я с нуля изучал его неделю. На ПЛИС же я потратил гораздо меньше времени.

    Ну, и в который раз — ПЛИС и микроконтроллеры имеют зачастую совершенно разные назначения, поэтому их сравнивать равносильно сравнению электропилы и перфоратора
    Запуск Bare-metal приложения на Cyclone V SoC
  • 0
    Я собеседовался в Яндекс тоже с листиком и ручкой. При этом никто не обращал внимание на ошибки, которые в бою будут подсвечиваться ИДЕ, например. Смотрели на «ход моих мыслей». Была даже относительно сложная задача, на которую я сказал так: честно говоря, у меня пока нет идей в плане алгоритма, боюсь что это займет много времени и вы будете долго ждать пока я буду пытаться что-то придумать. Они отвечают: мы знаем что эта задача сложная, мы будем подсказывать, нам важно понять как ты мыслишь) В общем, меня приняли и даже сказали, что им понравилось как я себя показал
    Программисты не могут написать алгоритмы без помощи: ещё раз про интервью
  • 0
    У вас простой пример. Для сложных случаев, когда все таки хочется разбить на блоки большой кусок кода, наверное есть смысл вводить промежуточные сигналы и их в одном отдельном месте разгребать через приоритеты. Правильно мыслю?
    FPGA для программиста, простые рецепты
  • +2
    ха-ха, впервые заплюсованный камент про перл
    Релиз Python 3.6 — да, теперь он с нами
  • +3
    Это демагогия уровня «раньше компьютеров не было и жить было лучше» (с) моя бабушка
    Оптимизация кода для платформы Эльбрус на простых примерах
  • 0
    Честно говоря, я подумал, что вы меня тролите в том, что я не могу создать сокет с заданным src портом и я просто на нем забиндил адрес. А на счет того, что на выходе нат-а будет иной порт — признаю, я почему-то подумал, что речь идет не о симметричном нате и порт не будет подменен. В случае симметричного нат-а, конечно смысла в фиксации порта на клиенте нет смысла. Просто иначе организовать соединения через 2 ната — это уже хакерские фишки со спуфингом ip — видимо из-за этого подумал, что у человека проще условия
    «Эхо прошлых лет»: Как решается вопрос недостатка адресов IPv4
  • 0
    P.S. Я увидел, что вы имеете ввиду фиксацию порта на нате, я как раз об этом и не говорил
    «Эхо прошлых лет»: Как решается вопрос недостатка адресов IPv4
  • –1
    Знаете, перл может кем-то и считается некрасивым языком, но говорить, что он чего-то не может — это опасно:

    use IO::Socket::INET;
    $| = 1;
    $socket = new IO::Socket::INET (
    PeerHost => '127.0.0.1',
    PeerPort => '5000',
    LocalPort => '5000',
    Proto => 'udp',
    );
    print $socket "test\n";
    


    Тисипидамплю:

    sudo tcpdump -ilo0 -p -n udp
    Password:
    tcpdump: verbose output suppressed, use -v or -vv for full protocol decode
    listening on lo0, link-type NULL (BSD loopback), capture size 262144 bytes
    01:41:10.327757 IP 127.0.0.1.5000 > 127.0.0.1.5000: UDP, length 5
    «Эхо прошлых лет»: Как решается вопрос недостатка адресов IPv4
  • 0
    Когда система создает соединение, она в качестве src-port выбирает рандомный не занятый в данный момент порт. Ответ приходит именно на этот порт. Допустим вы создаете 2 соединения (что не совсем корректно звучит в рамках udp, но все же) на один и тот же хост. Как удаленный хост будет различать пакеты с вашего ip? Правильно, по src-port. Это так, для понимания процесса рассказал. Залочить порт — это сделать чтоб src-port был фиксированным. Я не знаю есть ли либы для питона, которые могут такое делать. Хотя сам в основном программирую на питоне, но для таких вещей использую перл)
    «Эхо прошлых лет»: Как решается вопрос недостатка адресов IPv4
  • 0
    Безопасность сети вполне волнует админов ибо, скажем, из-за мусорного трафика некоторые сервисы в нете спокойно могут забанить ip провайдера. Да и изоляция компов абонентов между собой вполне реальный кейс — ну… например, чтобы минимизировать риск перепродажи трафика. Сейчас это не так актуально, а всего несколько лет назад еще было. Изоляция может быть на физическом уровне (виланами) или программном (пппое). В целом это немного улучшает безопасность сети. Немного, да, но я и не говорил, что полностью.
    «Эхо прошлых лет»: Как решается вопрос недостатка адресов IPv4
  • 0
    Попробуйте залочить номер исходящего порта так чтоб он был таким же как и входящий. Когда udp-пакет проходит через нат, последний запоминает связку «src-ip, dst-ip, src-port, dst-port» и временно разрешает «обратные» пакеты. По идее вы можете даже обойтись без 3й стороны. Я такой эффект наблюдал, когда был админом сети — валил (вероятно вирусный) udp трафик на клиента, при этом клиент довольно долго запросы не делал
    «Эхо прошлых лет»: Как решается вопрос недостатка адресов IPv4
  • +3
    Т.е извне можно через достучаться до открытых портов компа? Если в большинстве случаев нельзя, то, что это не как частичное выполнение функций фаервола?
    «Эхо прошлых лет»: Как решается вопрос недостатка адресов IPv4
  • +3
    Это бонус. Я не говорю, что он должен заменять фаервол, я говорю по факту, что есть и польза от ната — скажем, домашний комп не смотрит в мир «голой задницей»
    «Эхо прошлых лет»: Как решается вопрос недостатка адресов IPv4
  • 0
    Зато нат частично выполняет функции фаервола — клиент не смотрит в мир всеми своими открытыми портами
    «Эхо прошлых лет»: Как решается вопрос недостатка адресов IPv4
  • 0
    Наверное имелись ввиду приставки «киби» и «миби». Кстати, если позанудствовать окончательно, то в случае «в 1кб 1024 байта» приставку «к» надо писать с заглавной буквы
    Реализация PCI Express v3.0 x16 на ПЛИС Virtex 7
  • 0
    Если так, то прекрасно. Хотя, зная как маркетологи из-за сиюминутной выгоды убивают бизнес, предположил, что здесь может быть такая же ситуация
    Релиз PyCharm 2016.3: Полная поддержка Python 3.6, улучшения в Python консоли, обозревателе переменных, и многое другое
  • –1
    В момент написания был уверен, что будут минусы. Хабравчане не склонны к диалогу, жаль
    Релиз PyCharm 2016.3: Полная поддержка Python 3.6, улучшения в Python консоли, обозревателе переменных, и многое другое
  • –5
    Продукт, конечно, прекрасный, но уверен, если бы вы установили меньшую цену, то покупок было бы на порядок больше. Знаю много людей, которые не могут психологически принять такую цену, но готовы в принципе платить. Я сам разработчик и почти 10 лет продаю биллинг, так вот крупные компании просто не понимаю за что они должны платить такие деньги (на самом деле небольшие, меньше одной зп специалиста) и фиг им объяснишь, что твой продукт окупится в тысячу раз. Пришлось снизить цены, покупают. Тоже с pycharm — возможно он стоит таких денег, ну не могут пока психологически наши прогеры принять такие цены.
    Релиз PyCharm 2016.3: Полная поддержка Python 3.6, улучшения в Python консоли, обозревателе переменных, и многое другое
  • 0
    Ну, т/е конструкция сама по себе ок, только зависит от интеграции с другими частями системы, мне это важно знать ибо я испугался «может чего-то не понимаю». А так да, про метастабильное состояние я читал и сразу понял, что пример будет с ним)
    River Raid на FPGA
  • 0
    always @(posedge CLK1)
    reg1 <= A
    always @(posedge CLK2)
    reg2 <= A
    

    А что тут не так, объясните пожалуйста
    River Raid на FPGA
  • +1
    У меня та же история, в 80-х я в глаза ни разу не видел компьютер, но умел что-то примитивное создавать на логических элементах. Помню даже случай, когда на триггер не хватало несколько копеек и я впервые в жизни у прохожего попросил их, тот чтобы убедиться, что я не попрошайка, пошел со мной в магазин и я при нем купил микросхему) Потом в приложении к Юному Технику появилась схема компьютера и в месте с ней у меня мечта его собрать. Ну в принципе, будет время — осуществлю мечту в FPGA)
    River Raid на FPGA
  • 0
    Не вкурсе, я видел шилды на картинках, например https://ae01.alicdn.com/kf/HTB1ZzDNKFXXXXX1XFXXq6xXFXXX5/FPGA-development-board-ALTERA-Cyclone-IV-EP4CE-four-generations-SOPC-NIOSII-send-send-remote-control-to.jpg
    Но инфу по ним не нашел еще
    River Raid на FPGA
  • 0
    У китайцев есть отдельный VGA-шилд для этой платы. Так что я думаю они специально так сделали чтобы максимально удешевить, платка стоит 39 баксов
    River Raid на FPGA
  • 0
    Так шим предусматривает, что на выходе импульсы будут сглажены. Если предположить, что это сделает сам монитор, то в принципе можно на обратном фронте синхроимпульса убирать сигнал, получится примитивный шим на 3 значения, т.е. получу 27 цветов вместо 8. В принципе, попробовать можно. Более продвинутый шим программно получить только увеличением частоты — хз как китайская железяка к этому отнесется. Сейчас итак там 108Мгц
    River Raid на FPGA
  • +1
    River Raid на FPGA
  • 0
    Я использовал systemverilog из-за возможности использовать структуры и logic. Кстати, был еще один момент, когда я сумел в разных модулях изменить значения одних регистров, причем я не понял как это прокатило. Разбор этой ситуации отложил на потом
    River Raid на FPGA
  • 0
    Есть же переходники. На фото монитор справа как раз через переходник подключен
    River Raid на FPGA
  • 0
    Поскольку я тут пошумел на китайцев, хочу сказать, что не все так плохо как я думал. У меня получилось среди тысячи иероглифов найти файлы для квартуса, где прописаны номера ног для VGA в частности. Сегодня я сделал свой первый проект «пин-понг» — нарисовал рамку и в ней шарик отскакивает от краев. На удивление, это оказалось не так уж трудно, в основном были косяки, связанные с тем, что для модулей необходимы регистры в качестве входного параметра и wire для выходного. В общем, спасибо за совет, но решил к китайцу не обращаться, сам разберусь
    Первый проект на FPGA Altera и подключение USB-Blaster в Linux
  • 0
    Вот например отзыв с российским флажком: «Его работы удивительным». Может так русскоязычный написать? Думаю, отзывы проплачены.

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

    Вообще, ругаться с продавцом пока охоты нет, устройство по сборке очень качественное, буду пытаться заняться реверс-инженерингом как посоветовали выше
    Первый проект на FPGA Altera и подключение USB-Blaster в Linux
  • 0
    Похоже я облажался. Заказал с Китая такую платку: https://ru.aliexpress.com/item/FPGA-development-board-ALTERA-IV-EP4CE-four-generations-NIOSII-send-send-remote-control-to-send-video/32657715247.html

    Приехала вместе с CD. На нем все на китайском языке. Есть какие-то примеры, но они явно написаны под иной чип или плату. Я нашел лишь несколько, которые подошли и все они примитивные и только лишь моргают светодиодами.

    Никакой инфы какие ноги чипа куда распаяны, кроме этих четырех светодиодов у меня нет.

    Никогда не имел опыт работы с ПЛИС и хотел начать с этой платы, но сейчас она для меня как кирпич. Может посоветуете куда капнуть? Визуально смотреть что куда распаяно?
    Первый проект на FPGA Altera и подключение USB-Blaster в Linux
  • 0
    можете сделать картинки кликабельными?
    Первый проект на FPGA Altera и подключение USB-Blaster в Linux
  • +2
    Если есть желание быть понятным большинству и, самое главное, избежать в комментариях уже которых по счету споров на эту тему, лучше писать латиницей. Не понимаю твоего упрямства)
    Библиотека f для функционального программирования в Питоне
  • 0
    Бывает в режиме «eat, sleep, code, repeat» делаешь 90% задачи. Главное выделить под это дело адекватное количество времени. Пишу это, потому что как раз в пятницу вечером решил изучить андроид и написать приложение с ассинхронными запросами по API. Включился в работу вечером и завершил в 5 утра, через 5 часов проснулся, несколько часов на кодинг, пару часов сна, doom4 и до 4 часов утра кодить. Устал жутко, зато сделал задел на будущее и в спокойном режиме смогу продумать все части проекта, что успел сделал в таком режиме нонстоп
    6 «вредных» советов разработчику
  • +1
    Я не планирую делать какие-нибудь уроки после этого «курса» — делал их больше для души. Задача сама по себе интересная оказалась, поэтому я из нее сделал видео. Больше у меня в этом направлении достойных идей нет)
    Как я программирую на Python
  • 0
    Вы машинисткой работате? В 3 раза! А думаете о коде вы когда?
    Опыт перехода с Sublime на Vim
  • +1
    «А что так тоже можно было»? Если бы знал, наклепал бы стопицот статей про ардуино — пока делал сегвей, с сотню задач решил посложнее хеллоуворда. Но, видимо, все дело в запасах фуа-гра, которых у меня нет
    Эксперименты с Arduino 101
  • 0
    Спасибо, буду продолжать
    Как я программирую на Python