LINUX.ORG.RU

Сообщения Puzan

 

База электронных компонентов

Форум — Science & Engineering

Тут как-то CYB3R спрашивал про базу данных электронных компонентов. Мне вот сегодня пришла рассылка от сайта parts.io, на котором я когда-то давно зарегистрировался. Оказалось, это почти то, что интересовало CYB3R'а.

Для Ъ: довольно обширная база электронных компонентов с поиском по параметрам, по аналогам, с даташитами, ценами, рейтингом доставабельности и пр.

 

Puzan
()

С Днем Победы!

Форум — Talks

С Днем Победы СССР над нацистской Германией в Великой Отечественной войне!

Перемещено Klymedy из talks

Перемещено leave из club

Перемещено Licwin из talks

Перемещено tailgunner из club

Puzan
()

Энергоемкая фича на Thinkpad X220

Форум — Linux-hardware

Добрый день, господа.

Вот решил поделиться интересным открытием (не исключаю, что баян). В биосе ноутбука Thinkpad X220 есть флажок «Memory Protection/Execution Prevention», который, если я правильно понял, включает поддержку бита NX (или как он там у Интела называется). Так вот, включение этого флажка увеличивает потребление на 5 ватт (!). В моем случае это 13Вт вместо 7-8Вт.

Вот такая вот энергоёмкая фича.

 , ,

Puzan
()

Простой SIP сервер

Форум — Admin

Посоветуйте маленький простой сервер SIP для личного пользования. Хочу поставить его на свою виртуалку и делать видеозвонки между членами семьи.

 ,

Puzan
()

Переезд между VDS-ками + паранойа

Форум — Admin

У меня есть личный виртуальный серверок, на котором мой личный http-сервер, git, jabber, vpn и пр. В связи с тем, что уже третий хостер приказывает долго жить, мне наконец надоело перенастраивать все сервисы и окружение фактически заново.

В связи с этим вопрос: какие есть простые быстрого разворачивания уже настроенного окружения с приложениями?

Я знаю в общем только три:

  • chroot;
  • docker;
  • витруальная машина.

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

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

В общем, расскажите, кто как делает?

 , , , ,

Puzan
()

Попробовал OpenSCAD

Галерея — Скриншоты

Здравствуйте, товарищи!

Здесь на ЛОРе есть люди, которые используют OpenSCAD в работе. А я вот отстал от жизни, и решил это исправить. Результаты на скриншоте - это корпус для устройства, которое я не очень давно делал. Вообще, корпус уже есть, и рисовал я его в SolidWorks, по этому я просто повторил его в OpenSCAD.

Делал я это в течение четырех вечеров. С непривычки весьма тяжело, однако под конец я уже начал понимать принципы работы. Очень понравилась возможность глобальной параметризации. Например, длина ножек светодиодов и положение их сгиба зависят от высоты корпуса, толщиты стенок, толщины платы и положением платы в корпусе. В SolidWorks такие зависимости бывает очень сложно сделать.

Есть и минусы, такие как отсутствие возможностии делать скругления и фаски. Помогает сумма Минковского, но в сложных случаях это выливается в невероятный геморрой и тормоза. Кроме того, нет оператора оболочки, нет вытягивания по направляющей, нельзя узнать размеры объекта и пр. Однако, есть возможность создавать произвольные объекты из точек и поверхностей, что, при наличии какого-никакого языка программирования с циклами и условиями, позволяет делать совсем нетривиальные вещи (конечно, если есть время этим заниматься).

При этом, люди пытаются добавлять свои фичи, выкладывают патчи, делают форки на гитхабе, но почему-то их изменений нет в главном репозитории. Собрал из гита, изменения таки есть.

В общем, несмотря на минусы, я все таки осилил доделать корпус и мне это понравилось.

Вот еще картинки и фотка готового коропуса

Там есть разрез, на котором видно, что разъем MicroSD с картой и MicroUSB не касаются корпуса.

 , ,

Puzan
()

Отступы для комментариев перед case

Форум — Development

Здравствуйте!

Скажите, можно ли исправить отступ для комментариев перед case?

Вот так это выглядит сейчас:

void func(n) {
    /* Comment for switch */
    switch(n) {
        /* Comment 0 */
    case 0: break;
        /* Comment 1 */
    case 1: break;
        /* Comment 2 */
    case 2: break;
        /* Comment X */
    defult: break;
    }
}

А нужно так:

void func(n) {
    /* Comment for switch */
    switch(n) {
    /* Comment 0 */
    case 0: break;
    /* Comment 1 */
    case 1: break;
    /* Comment 2 */
    case 2: break;
    /* Comment X */
    defult: break;
    }
}

 

Puzan
()

Как называется игра?

Форум — Talks

Помню, на досе играл: http://www.dosbox.com/screenshots/big/18.png

 

Puzan
()

KiCAD теперь поддерживает трассировку скоростных печатных плат

Новости — Open Source
Группа Open Source

Сегодня была анонсирована поддержка трассировки дифференциальных пар и выравнивания длин трасс для EDA KiCAD.

На данный момент есть некоторые особенности (например, нельзя прописать ограничения проекта - параметры дифпар, длины дорожек - в параметрах проекта, пока это можно делать только по факту, в процессе трассировки; сложно редактировать дифпары; нельзя выровнять плечи «звезды» и др.), но основные функции уже работают: можно вести дифпары, выравнивать длины одиночных линий и дифпар, выравнивать фазы внутри дифпар.

И хотя прямо сейчас использовать это довольно трудно из-за сырости и ограниченности, потенциально эти функции открывают возможность трассировки в KiCAD серьезных высокоскоростных проектов на базе таких технологий, как PCI-Express, DDR2-3, Gigabit Ethernet и пр.

Видео с демонстрацией работы

>>> Скачать исходный код

 

Puzan
()

Загадка черно-синего платья

Форум — Talks

Фак мой мозг! Я только что чуть не поругался с женой из-за спора о цвете платья вот отсюда: http://www.gazeta.ru/science/news/2015/02/27/n_6964937.shtml

Для Ъ: по ссылке фотка платья с пересвеченным фоном и опрос: Какого цвета платье? Черно-синего или Бело-золотого?

Я и дочь видим бело-золотое платье, жена и сын черно-синее.

В тексте ссылка на объяснение, но то-ли я тупой, то-ли автор, в общем я ничего не понял.

PS: может линуксячий пингвин тоже не бело-черно-золотисный?

 ,

Puzan
()

Всё-таки не тихоокеанская группировка спутников?

Форум — Talks

http://www.gazeta.ru/tech/news/2015/01/22/n_6847657.shtml

Федеральное агентство по связи США (FCC) рассматривает возможность использования российской спутниковой системы ГЛОНАСС для определения местонахождения звонящих в службу спасения 911 с мобильных телефонов.

...

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

Как объяснил Трэй Фогерти из NENA, соответствующие американские системы не покрывают достаточно территории.

Так что, работает таки ГЛОНАСС?

Что характерно, власти США обеспокоены.

 , ,

Puzan
()

Openbox без панелек

Галерея — Скриншоты

Сто лет не постил скриншот рабстола.

На картинке Openbox, Conky, Emacs и терминал с Ranger. Остальное свёрнуто. Никаких панелек не использую, чтобы не занимать место на экране. Вместо них использую клики по рабстолу: левый клик - список окон и столов, правы клик - меню с часами и зарядом батарейки, скролл - переключение рабочего стола.

Справа и слева есть области шириной в 7 пикселей, которые всегда свободны от окон - распахнутые окна туда не залазят, перетакиваемые упираются в барьер. Туда я кликаю, если нужно вызвать список окон или меню (на скриншоте с правой стороны емакса как раз такая ситуация) - для этого нужно просто сдвинуть мышь до упора влево или вправо.

На самом деле, меню я использую редко, потому что большинство частоиспользуемых действий (и запусков программ) забиндено на клавиши с модификатором Meta. Например, очень часто используемые комбинации - Meta+Left, Meta+Right - распахивают окно на половину экрана слева или справа (емакс на скриншоте распахнут таким образом).

Собственно, всё.

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

PS: Забыл сказать: это Debian Jessie на ThinkPad x230.

 

Puzan
()

Необязательные параметры функции в Scheme

Форум — Development

Есть ли общепринятые метода работы с необязательными параметрами в Scheme? Вот, для ясности, пример функции:

;; string-prefix? s1 s2 [start1 [end1 [start2 [end2]]]] -> boolean
(define (string-prefix? s1 s2 . optional) ...)

Можно для каждой функции делать уникальный разбор списка optional, но это не кошерно. Наверняка есть какой-то общепринятый макрос, который все используют?

Я вот попытался написать:

(define-syntax optional-args
  (syntax-rules ()
    ((_ (args (var0 default0) ...) body ...)
     (let-values (((var0 ...)
                   (if (> (length args) (length '(var0 ...)))
                       (syntax-error "too many args")
                       (apply values
                              (let loop ((a args) (d (list default0 ...)) (acc '()))
                                (if (null? d) (reverse acc)
                                    (if (null? a)
                                        (loop '() (cdr d) (cons (car d) acc))
                                        (loop (cdr a) (cdr d) (cons (car a) acc)))))))))
       body ...))))

Применяется так:

(define (string-prefix? prefix str . opt)
  ...
    (optional-args
     (opt (start1 0) (end1 prefix-length)
          (start2 0) (end2 str-length))
      ...)))

Но мне не нравится, что он очень медленно работает. Такой вариант значительно быстрее:

(define (string-prefix1? prefix str . opt)
  (let ((opt-length (length opt))
        ...)
    (let ((start1   (if (> opt-length 0) (nth opt 0) 0))
          (end1     (if (> opt-length 1) (nth opt 1) prefix-length))
          (start2   (if (> opt-length 2) (nth opt 2) 0))
          (end2     (if (> opt-length 3) (nth opt 3) str-length)))
      ...)))

Но я не смог написать макрос, который бы разворачивался в такую конструкцию. Вот заготовка:

(define-syntax optional
  (syntax-rules ()
    ((_ args ((var0 ...) (default0 ...)) body ...)
     '(let ((len (length args)))
        (let ((var0 default0) ...)
          body ...)))))

Должно быть по идее так:

        (let ((var0 (if (> (length args) X) (nth args X) default0)) ...)

где X - порядковый номер подстановки (arg0 ...), но я не нашел способа определить этот номер. Может быть кто-то подскажет? Или скажет, почему это не нужно?

Делается это всё для R7RS на chibi-scheme.

 ,

Puzan
()

Много ли здесь электронщиков?

Форум — Talks

Навеяно темой про диодный мост.

Много ли здесь инженеров-электронщиков, и какое ПО они используют в Linux?

Я вот, например, из специфичного софта использую (по порядку из меню) KiCad, Quartus, Freescale CodeWarrior, TI CCS, Icarus Verilog, GTKWave, NGSpice, QCAD.

В виртуалочке запускаю три программы - Solidworks, HyperLynx, Cadence Allegro Viewer.

А ты?

 ,

Puzan
()

Консольный тайм-трекер

Форум — Development

Тут кто-то спрашивал простой таймер рабочего времени для консоли. Я тоже не нашел, и решил написать. На scheme.

Вот, может кому-то пригодится: https://github.com/punzik/worktimer

За одно и код поругайте.

 , ,

Puzan
()

Есть ли у вас дети?

Голосования — Голосования

Стал замечать, что аудитория ЛОРа стареет. Многие рожают (некоторые сами, остальные посредством жены), наверное есть и те, у кого уже внуки :). Интересно посмотреть статистику.

За себя отвечу, у меня двое.

  1. Пока нет 761 (44%)

    ********************************************************************************************************************************************************************************************************************************************************************************************************************************

  2. Один 273 (16%)

    ******************************************************************************************************************

  3. Нет, и не собираюсь 231 (13%)

    *************************************************************************************************

  4. Я ещё сам/сама ребёнок 161 (9%)

    *******************************************************************

  5. Двое 129 (8%)

    ******************************************************

  6. Не знаю 85 (5%)

    ***********************************

  7. Трое 29 (2%)

    ************

  8. Сбился со счета 19 (1%)

    *******

  9. Я уже дедушка/бабушка! 19 (1%)

    *******

  10. Четверо 9 (1%)

    ***

  11. Больше четырех 2 (0%)

Всего голосов: 1718

 ,

Puzan
()

Линеаризация истории

Форум — Development

Здравствуйте!

Есть репозиторий git (кусок истории):

...
* 8
* 7 merge
|\  
| * 6
| * 5
| * 4
* | 3
|/  
* 2
* 1
...

Как слить это раздвоение в одну ветку, чтобы получилось так:

...
* 8
* 6
* 5
* 4
* 3
* 2
* 1
...

Пробовал всяко делать rebase, но ничего не вышло. Он или ругается, или предлагает сделать ручной мерж чего-то с чем-то. Почему он не может разобраться автоматически, ведь все промежуточные шаги ему известны?

В коммите 3 изменения очень незначительные, буквально пять строк изменено (всего в файле 800).

Тот-же вопрос и по mercurial.

 ,

Puzan
()

Work everywhere!

Галерея — Скриншоты

Телефон HTC Desire, правка кода на рабочей машине через openvpn+ssh.

Есть еще планшет с дебианом в чруте, но его дети экспроприировали, а за ноутом лень в рюкзак лезть :)

 

Puzan
()

Про разводку ПП

Галерея — Скриншоты

Кто-то спрашивал про прогу для разводки печатных плат? Вот на скриншоте KiCad - по-моему самый толковый опенсорц EDA CAD для линукса. gEDA тоже ничего, но уж очень много недоделок. Единственный недостаток KiCad'а - отсутсвие автотрассировщика (точнее он есть, но совсем никакой). А в gEDA (точнее в GNU PCB) автотрассировщик есть, вроде на базе MUCS PCB. Вот нужно как-то выбрать время и прикрутить MUCS PCB к KiCad'у.

Puzan
()

По поводу Swen и Wine

Галерея — Скриншоты

Просили показать скриншот с игрой Swen запущенной из под Wine. Вот собственно, получите и распишитесь. ;)

Puzan
()

RSS подписка на новые темы