Category: компьютеры

Category was added automatically. Read all entries about "компьютеры".

поумнеть

gtk, виджет

Хочу примерно вот такое:



суть: можно и с клавиатуры ТОЧНО ввести, можно и мышкой/пальцем примерно прикинуть, можно уточнять в любой момент в любое поле.

сходу в гтк такого готового не нашел.

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

embedded + web

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

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

поскольку в устройство можно без проблем сунуть достаточно мощный управляющий комп (stm32f407 - arm, ~300VHz, 192kb ram, 1Mb flash, аппаратный USB), возникла идея - вместо того, чтоб писать управляющие программы под все возможные ос, тупо сделать так, чтоб этот arm притворялся сетевой картой, за которой сеть, в которой всякие там arp/dns/dhcp плюс вебсервер, и для управления устройством нужно/можно/достаточно зайти броузером на этот "сайт", нажать нужные кнопочки, выбрать из меню, итп.

в принципе, меня больше всего интересует "как наваять сайт" в этом контексте, плюс "какие типовые сервисы там должны быть". сайт - буквально одна-семь однотипных страниц с 1-7 показометрами и ручками управления на каждой. супердизайн не нужен, нужно нечто уверенно работающее, итого вписывающееся в примерно 0.5Мб места на "диске" на сервере, позволяющее выбрать рецепт из хардкоженого списка или последовательность рецептов, оперативно отображать стадию процесса, срочно выключать. ручки и показометры на сайте берут/дают данные в/из реального техпроцесса.

как я понимаю, мне нужен фронт-энд сообшник. :)
проект некоммерческий - делаю для себя и для удовольствия. сырцы по gpl/bsd/апач/"qt", главная цель - собрать-настроить удобную для себя хрень, с кучей обратных связей и автоматизации, чтоб установка и сама работала и через веб отображала состояние и позволяла управлять.

Кому интересно, пишите в камменты, в личку, в почту.

ps: если тут это на грани оффтопа, посоветуйте, где стОит такое обсуждать.
  • semjon

Ассемблер

Товарищи! Как разыскать человека, хорошо знающего ассемблер (x86)? У меня к нему есть предложение, но к сожалению, это такие редкие звери!
ioda

Случайный "access denied" в .bat

У меня .bat-сценарий случайным образом (т.е. не каждый раз) выдает ошибку access denied при попытке исполнить только что созданную программу или при попытке удалить только что исполненную программу.

Сам скрипт:


@echo off
:a
copy /B 7z.exe 7.exe >nul
7.exe >nul
del 7.exe >nul
goto a


В консоль выдает ошибки:
Collapse )

Что за хрень творится? Помогите разобраться, пожалуйста :)

Upd: проблема решена. По совету френда запустил procmon, который показал, что Comodo Firewall зачем-то все время лезет к exe-файлам. То есть, зачем - понятно, там что-то вроде антивирусного монитора, но я же его в настройках отключил, так что имеем непрошенную самодеятельность. Снес Comodo - жизнь стала лучше.

Организовать окошки по шорткату

Тут появился вопрос для компьютерного сообщетсва.
Есть необходимость постоянно организовывать рабочие окна в Windows 7. Типа скайп и файрфокс, или файрфокс и Visual Studio. Скайп занимает 1/3 экрана, файрфокс 2/3. Или файрфокс 1/3, VS 2/3 экрана. Мышкой все время возюкать не комильфо, хочется шорткат. Знаю что в седьмой винде можно окна на пополам разделять легко Win + Left для левой половины, Win + Right на правую половину.
А чтобы точно так же делать на одну-две трети экрана? есть какой-нить софт для этого?
Или самому написать? -)

з.ы. в гугле был, ничего толкового не нашел.

UPD: нашел решение проблемы, аж две. Подробности.

(no subject)

На сайте нужно сделать древовидные комментарии: неограниченная вложенность, пагинация, возможность ссылаться на треды. Как лучше всего хранить их базёнке? Nested sets не подходят. Топорную тормощящую связь через parent_id как-то стремно иcпользовать.

UPD
Более конкретные вопросы:
1. Как будет выглядеть select для выбора первой страницы комментариев?
2. Cколько памяти и процессора будет кушать код, преобразующий result set в многоуровневый хэш?

(no subject)

Мое почтение всем.

Для отладки драйвера режима ядра на целевой машине по USB-кабелю разыскивается NET20DC. Судя по всему, найти его в Израиле почте нереально. Можно, конечно, заказать и подождать, но хочется получить его как можно скорее, заказчик уже торопит. Может быть кто-то знает где в Израиле его можно купить, или у кого-то есть лишний и он может дать его в аренду/продать? Как вариант, конечно, можно отладить драйвер по COM-порту, но для этого придется искать два компьютера с COM-портами и один из них должен быть достаточно мощный, т.к. целевая система 64битная.

Заранее благодарен.

P.S. Сначала не сообразил, что участники сообщества в массе своей не из Израиля, потом сообразил и удалил запись, а потом подумал, что может что дельное посоветуют :).

Насчет USB2Serial -- не уверен, наличие устройств между компьютерами не помешает отладке. Если у кого-то есть положительный опыт отладки с USB2Serial устройствами -- напишите, пожалуйста, есть ли какие-то проблемы и если есть, то какие.
Waveform 8 delay 5

Возвращение 64-битных микропроцессоров от MIPS Technologies

Когда-то давно, еще в 1991 году, компания MIPS Technologies прославилась созданием первого в истории 64-битного микропроцессора, варианты которого потом использовались в роботах Sony и игровых приставках.

Но последний десяток лет компания жила в основном на доход от лицензирования небольших экономичных 32-битных ядер. Исключениями был доход от давней сделки с японским агенством аэрокосмических исследований JAXA, которое лицензировало 64-битное ядро MIPS 5K для использования в спутниках; а также сделок на лицензирование архитектуры MIPS64 (не ядер) сетевым компаниям NetLogic, Cavium, Broadcom и правительству КНР, которое сфинансировало дизайн "китайского национального процессора" Loongson/Godson на основе MIPS64.

А теперь, ура-ура! MIPS Technologies возвращается в крутые 64-битные ядра, да не просто так, а с поддержкой хардверного мультитрединга и других занятными features. Разрешите представить

MIPS Technologies анонсировала новое семейство 64-битных микропроцессоров
MIPS Prodigy ("Вундеркинд")


Collapse )

Вот видео с роботом-собакой AIBO от компании Sony, в котором стоял очень ранний 64-битный микропроцессор MIPS R4000. Новый MIPS Prodigy принципиально круче (я объясню детали ближе к его выходу в свет):

Collapse )

Хотя, как я уже сказал, в последние годы MIPS Technologies дизайнила практически только 32-битные ядра, история старых 64-битных ядер MIPS очень нетривиальна - в ней засветился Голливуд, Пелевин, космос и много другой всячины:

Collapse )

В MIPS Technologies работают и русские программисты - в частности люди, которые еще в 1980-е годы приносили в СССР Unix и интернет:

Collapse )
general
  • yigal_s

lock cmpxchg -- очень странные результаты

Я поэкспериментировал немного с interlock-операциями на процессоре x86 (i7 860)
и получил весьма странные результаты.

Тестировал, в частности, функцию увеличения на единицу, написаную посредством InterlockedCompareExchange aka CAS. Интересовало меня, сколько раз этот самый CAS "сорвется" т.е. алгоритм уйдет на вторую попытку из за конфликта с другим тредом, при максимальной загрузке компьютера.

    inline int AddByCompareExchange(volatile int *pval, int delta, int &conflicts)
    {
        ++conflicts; // actually counts both conflicts and regular calls
        int cur = *pval;
    retry:
        int act = __sync_val_compare_and_swap(pval, cur, cur + delta); // gcc x86 extention
        if( act == cur )
             return cur;
       ++conflicts;
       cur = *pval;
       goto retry;
    }


Загрузил я этой функцией увеличения на единицу одной и той же переменной, вызываемой в цикле -
четыре ядра (гипертред отключил).

Так вот, даже на четырех ядрах я получил безумно малые 0.07%, семь сотых процентов конфликтов, т.е.
значение conflicts отнесенное к общему числу вызовов функции AddByCompareExchange было равно 100.07%

Интересно, что если в цикле инкрементировать попеременно не одну переменную, а две, разнесенные далеко в памяти, чтобы они не попадали в один кеш-лайн, то доля конфликтов растет до 10% при работе на 4-х ядрах. На 2-х ядрах же все равно доля конфликтов 0.02%. Совершенно неправдоподобно малое значение, мне кажется.

UPD: написал тестовый пример для публикации.Collapse )
  • borodin

Проектирование небольшой БД комплектующих (Access и C#)

Приветствую.

Опишу задачу. Необходимо создать БД компьютерных комплектующих (мат. плата, процессор, HDD, видеокарта, оперативная память, DVD/CD-привод). С этими комплектующими могут быть выполнены следующие действия: ремонт, передача в другое подразделение и модернизация. При каждом действии с комплектующими требуется оформлять акт приемо-передачи.

Что думаю я: Делаю я это в Access с дальнейшим подключением к БД через приложение на C#. Так как с БД Access особо работать не приходилось, да и с другими тоже, то мои вопросы покажутся ламерскими. Извините. Для начала я создал две таблицы: ActionType (в ней я сделал поля: ремонт, передача в другое подразделение и модернизация) и HARDWARE (поля: мат. плата, процессор, HDD, видеокарта, оперативная память, DVD/CD-привод). Теперь у меня стоит задача связать эти таблицы. Я так полагаю, что связь тут будет многие-ко-многим. Ибо в каждом поле у HARDWARE могут быть три значения из таблицы ActionType. Не совсем догоняю как это сделать. Прочитав теорию, понял, что необходима связующая таблица. Но вот какая - вопрос? Далее. В самом приложении, я так понимаю, должны быть действия над БД такие: добавить запись в таблицу комплектующих, удалить ее оттуда. Особо тут мудрить и нечего. Остается вопрос с актом премо-передачи. При каждой манипуляции с комплектующим, кроме добавления и удаления, нужно формировать акт. Как сделать форму акта?

Спасибо. Надеюсь на вашу помощь, товарищи.