• Как именно работает Meltdown
    0
    retry и jz retry нужны из-за того, что обращение к началу массива даёт слишком много шума и, таким образом, извлечение нулевых байтов достаточно проблематично. Честно говоря, я не особо понял, зачем так делать — я бы просто к rax прибавил единичку сразу после чтения, да и всё.

    Судя по всему в некоторых случаях "подсмотренный" байт может занулиться до выполния shl.
    jz retry нужен для того чтобы ингорировать неудачные для нас исходы race condition

  • Использование Android устройства в качестве тонкого UI для С++ программ
    +1
    Использовать стандартный протокол WebSocket (или даже WAMP) и стандартную сериализацию json/msgpack/protobuf по вкусу.
    Это упростит «добавление серверных библиотек для других языков программирования» и с авторизацией и шифрованием сразу понятно будет что делать.

    Про HTML уже написали (можно генерировать HTML код если так хочется писать только на c++)
  • Конкурс по программированию на JS: Классификатор слов (о ходе тестирования)
    +1
    81.44
    Tested 10000 of 10000 blocks
    
       Total       W      NW   NW[0]   NW[1]   NW[2]   NW[3]   NW[4]   NW[5]   NW[6]   NW[7]   NW[8]
       1000k  500672  499328   92206   69134   74631   78793   75506   56814   30604   14427    7213
    
     Correct      F-      F+   F+[0]   F+[1]   F+[2]   F+[3]   F+[4]   F+[5]   F+[6]   F+[7]   F+[8] ms/100w
    
        submissions/5748dda963905b3a11d97d06/
      81.44%   3.78%  33.38%   4.72%  21.86%  29.06%  33.77%  41.36%  54.37%  67.08%  74.49%  76.54%       9
    

  • Конкурс по программированию на JS: Классификатор слов (о ходе тестирования)
    +2

    Чорд, галку gzip в форме не проставил.


    Судя по всему не я один


    $ file */data | grep gzip
    5745740063905b3a11d97bd5/data: gzip compressed data, was "data", last modified: Wed May 25 09:24:43 2016, from NTFS filesystem (NT)
    57466eb863905b3a11d97bed/data: gzip compressed data, was "data", last modified: Wed May 25 14:58:12 2016, max compression, from NTFS filesystem (NT)
    57469a9263905b3a11d97bf0/data: gzip compressed data, was "temp.json", last modified: Tue May 24 19:37:25 2016, max compression, from FAT filesystem (MS-DOS, OS/2, NT)
    57487c4363905b3a11d97c72/data: gzip compressed data, from FAT filesystem (MS-DOS, OS/2, NT)
    5748ab4963905b3a11d97caa/data: gzip compressed data, last modified: Fri May 27 20:00:37 2016, max compression, from Unix
    5748dda963905b3a11d97d06/data: gzip compressed data, from Unix
  • Конкурс по классификации слов от Hola или «где взять ещё один процент?»
    0
    Очевидно, что под любое решение можно написать генератор на котором результат будет гораздо хуже.
  • Конкурс по программированию на JS: Классификатор слов
    0
    Это без VM? Всего 4млн. слов за сутки получается.
  • Конкурс по программированию на JS: Классификатор слов
    0
    В новых конкурсах можно применить краудсорсинг:
    Прописать в условиях, что в течении какого-то срока (скажем первая неделя из 4х) условия могут уточняться.
    За неделю силами самих участников какая-то часть неоднозначностей будет устранена.
  • Отпуск по-программистски, или как я не поучаствовал в конкурсе по программированию на JS. Часть первая
    0
    83% разумеется было на выборках которые не участвовали в обучении.
    На учебных выборках было под 84%.
  • Отпуск по-программистски, или как я не поучаствовал в конкурсе по программированию на JS. Часть первая
    0
    Тоже расскажу про свои 81.5%:

    1) От слов отрезаются префиксы и суффиксы.
    2) Несколькими эвристиками отрезаются «неслова» (больше 14 букв, много гласных/согасных подряд/в_конце_слова, апостроф в слове)
    3) Немного модифицированный bloom: вместо добавления в фильтр битов hash1(word) и hash2(word) добавляются hash1(word.substring(0,6)) и hash2(word.substring(0,9)), что дало сокращение false positives и примерно +1% к результату
    4) За полчаса до дедлайна осознал, что bloom filter тоже можно «обучать» удаляя из него биты с false_positives больше positives. «В полубессознательном состоянии» до дедлайна удалось выжать из этой идеи +0.5%. Уже после дедлайна это обучение дало почти 83%
  • Отпуск по-программистски, или как я не поучаствовал в конкурсе по программированию на JS. Часть первая
    0
    Видимо зависит от числа слов на котором остановятся организаторы.
    На большом числе слов безусловно победят самообучающиеся или гибридные варианты.
  • Конкурс по программированию на JS: Классификатор слов
    +2
    И сколько процентов получилось если не серет?
  • Конкурс по программированию на JS: Классификатор слов
    0
    81% на горизонте виден?

    Тоже уверенно преодолел 80% на официальном тестовом скрипте, но до 81 ещё далеко.
    Вообще удивлён тем, что так мало заявок >=80% — все необходимые для 80% идеи написаны на этой странице по много раз.
    85% в топовых местах уже не кажутся нереальными.
  • Организаторы обмена информацией будут сливать спецслужбам все данные о действиях пользователей
    +10
    На политзанятиях на заводе токарь задает вопрос:
    — Вот вы говорите, что все так хорошо, а куда пропало масло?
    — Я подумаю и отвечу в следующий раз, — говорит агитатор.
    В следующий раз агитатору хочет задать вопрос другой рабочий.
    — Вы, вероятно, хотите спросить, куда девалось масло? — обращается к нему агитатор.
    — Нет, я хочу спросить, куда девался токарь?
  • COOLRF: Перезагрузка
    0
    Протекция это критическая секция? То есть системный код bitcloud запрещает хардварные прерываний на время значительно превосходящее озвученные 50us?
    Ваше прерывание по переходу через ноль никуда не должно пропадать и должно вызываться при выходе из критической секции.
    Timer Input capture не пробовали? При его использовании вы сможете узнать точное время перехода через ноль, даже если во время перехода выполнялась критическая секция.
  • COOLRF: Перезагрузка
    0
    Вы упёрлись в ограничение на 50us в коде «своего/не_системного» прерывания перехода через ноль? (в остальных местах вполне достаточные ограничения на 10ms/50ms).
    Вроде кроме этого прерывания и импульса включения по таймеру для диммера ничего больше и не нужно…
  • COOLRF: Перезагрузка
    0
    1) Да, нужен телефон с BT4 (это фактически BT3+BT LE) и Android 4.3+/iOS.
    Когда диммер зарелизите таких телефонов будет уже много.
  • COOLRF: Перезагрузка
    0
    1) Вы не рассматривали вариант использования NRF51822?
    +++ arm (есть нормальный gcc, а не какой-то sdcc)
    + BT LE (можно управлять напрямую с телефона)
    + поддерживает протокол nrf24l*1 (если будут проблемы с BT)
    — возможно будут те же проблемы что и с BitCloud (стек BT и код приложения крутится одном контроллере)

    2) Контроль ноля не на прерываниях? Что там так долго выполняется?
  • Создание кроссплатформенного Smart TV приложения на базе библиотеки SmartBox для Samsung, LG, Philips и других
    0
    под какой лицензией распространяется библиотека?
  • OPTIMIZE огромных таблиц в условиях ограниченных ресурсов или закат солнца вручную
    0
    А почему место в tmpfs кончалось? INSERT FROM SELECT использовали?
    Вручную 1 -> SELECT без лимита -> читаем 1000 строк -> INSERT -> 1 не пробовали?
    Для INNODB ещё можно было бы в вашем случае заменить OFFSET на id>last_processed_id + ORDER BY id если id-первичный ключ сортировка по которому бесплатна
  • Qt и SQLite и вообще, программирование БД в Qt
    +1
    И наконец, можно просто использовать подставляемые аргументы, которые предоставляет QString

    Но лучше всё-таки использовать bindValue.
    QString не знает о том, что иногда нужно экранировать параметры SQL запроса
  • Layout без layout'ов
    0
    это вариант похож?
    JPanel pnl = new JPanel(new MigLayout());
    CC labelConstraints = new CC().gap("100lp");
    pnl.add(new Label("label1"), labelConstraints);
    pnl.add(new JTextField(), new CC().growX().width("100%").split().sizeGroupY("tfHeight"));
    pnl.add(new JButton("..."), new CC().wrap().height("0!").sizeGroupY("tfHeight"));
    pnl.add(new Label("label2"), labelConstraints);
    pnl.add(new JTextField(), new CC().growX().width("100%").wrap());
    pnl.add(new Label("label3"), labelConstraints);
    pnl.add(new JPasswordField(), new CC().width("200lp").wrap());
    
    pnl.add(new JButton("button1"), new CC().skip().pushY().alignY("bottom"));
    
    pnl.add(new JLabel(new ImageIcon(new URL(ICON_URL))), new CC().pos("0",null,null,"100%"));
    
  • Layout без layout'ов
    0
    А то что текст на кнопке в другом L&F может не поместиться вас не смущает? Если уж так хочется одинаковые размеры — надо размер текстового поля увеличивать под кнопку.
    В MigLayout тоже можно все размеры жестко прописать как у вас только под каким-нибудь линуксом с другими шрифтами в фиксированное текстовое поле влезет только пол буквы в высоту.
  • Layout без layout'ов
    0
    что именно не похоже?
    то что у вас фиксирована ширина поля с паролем и кнопка уезжает вниз?
    или нужно указать ширину колонки с JLabel?
  • Layout без layout'ов
    0
    Вот ещё вариант с MigLayout:
    — «строк» почти нет (при желани наверное и от этих можно будет избавиться)
    — абсоютное позиционирование в MigLayout есть
            JPanel pnl = new JPanel(new MigLayout(""));
            CC tfConstraints = new CC().growX().width("100%").wrap();
            pnl.add(new Label("label1"));
            pnl.add(new JTextField(), tfConstraints);
            pnl.add(new Label("label2"));
            pnl.add(new JTextField(), tfConstraints);
            pnl.add(new Label("label3"));
            pnl.add(new JTextField(), tfConstraints);
    
            pnl.add(new JButton("button1"), new CC().skip());
    
            pnl.add(new JLabel("absolute"), new CC().pos("0","0"));
    
  • Кукушка на bash своими руками
    +2
    Для будильников можно использовать `at`:
    echo -n "banshee --play; amixer -c 0 set Master 60" | at 7:30
  • Хакерский квест
    +1
    с dnsfhu101.disa.mil прокатывает
  • Хакерский квест
    0
    в 33м нужно пообщаться с одним из NS серверов disa.mil
  • Хакерский квест
    0
    В 33 в сторону IRI копать надо?
  • GNU Make может больше чем ты думаешь
    0
    хм, мой make вот что говорит

    $ (make -h 2>&1 && make -v) | grep -e "Make\|-j "
    -j [N], --jobs[=N] Allow N jobs at once; infinite jobs with no arg.
    GNU Make 3.81
  • Проблемы пользовательских поддоменов
    +1
    ЖЖ первым разнес аккаунты по поддоментам из-за того, что там в своих журналах
    разрешено прописывать любой css-код, который в свою очередь может
    украсть куки через expression в IE или -moz-bindins в Firefox.
    http://www.davidpashley.com/blog/computing/livejournal-mozilla-bug.html

    На хабре видимо только для красоты пользовательские поддомены используются.
  • Пасхальные яйца в мультиках Pixar
    0
    Надо срочно пересмотреть всего пиксара :)