RAR

Aug. 26th, 2015 08:33 am
madf: (Default)
Звідси: http://www.compactpc.com.tw/support.aspx?mode=3&id=63

faust@hammer ~ $ file linux-image-2.6.32-21-vortex86_2.6.32-21.32_i386.rar
linux-image-2.6.32-21-vortex86_2.6.32-21.32_i386.rar: RAR archive data, v1d, os: Win32

RAR, Карл!
madf: (Default)
Значить, є у мене прокт карвош. Там автоматизація помивки машин, як виходить із назви. Проект старий, почався ще десь у 2007-му, або навіть раніше. Рулить там всім „тіпа промисловий комп“ — ebox-2300sx. Ну він, звісно, ніфіга не промисловий, зате маленький, крутенький і x86.
Read more... )
madf: (Default)
Проект CarWash тепер і в Грузії! Поки, правда, тільки у Тбілісі.
Проект NTRIP Caster тепер обслуговує і Польщу.
Проект Stargazer не вмер, він просто так пахне :)

З 17 по 26 жовтня буду знову у NYC. Треба подивитись чи можна буде там проголосувати.
madf: (Default)
to-dnipro
Дякувати богові, не танки.
До речі, по одному з проектів працюють об’єкти в Маріуполі і Новоазовську. Новоазовськ пропадав коли його захопили, але зараз знову транслює дані.
По іншому проекту працюють станції у Донецьку і Сімферополі. У Луганську не працює. У Красному Лучі теж.
madf: (Default)
„Ты знаешь, что производительность труда —
критерий развистости общества любого!“
АСГУ



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

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

© Монотонное движение.

Мабуть всі у своєму житті стикались з подібними ефектами і пам’ятають на скільки виснажливою є монотонна робота.

Хочу розказати одну історію, пов’язану з проектом CarWash, яким я займаюсь уже шість чи сім років. Це один із найуспішніших проектів у яких я брав участь. Він зараз переживає стадію активного росту і очікує на кардинальні зміни, але мова піде не про це. У своїй роботі я слідую принципам DRY і намагаюсь автоматизувати більшість однакових монотонних дій. Тут я люблю згадувати стару історію: колись давно, коли я тільки почав заробляти собі на життя програмуванням і тільки познайомився з редактором vim, переді мною постала задача замінити у файлі з пів сотні рядків за певною схемою. Пів сотні — замало щоб писати програму для цього, але достатньо щоб навіяти смертельну нудьгу. Я знав що на цю роботу я витрачу хвилин 20, але навіть починати її не хотів. Мені було не цікаво. Тоді я вирішив написати регулярний вираз який виконає цю роботу за мене. Схема заміни рядків була не тривіальною, тому я витратив ті самі 20 хвилин на написання регулярного виразу, який зробив усю роботу за кілька мілісекунд. Тобто, робота зайняла той самий час, але я зміг уникнути монотонної праці (і багатьох помилок). Я вважаю що якщо якусь роботу може виконувати машина — нехай саме вона її і виконує. Людина у конвеєра — пережиток двадцятого сторіччя, артефакт із минулого. Машина зробить цю роботу швидше, надійніше і не допустить помилок, а її робота коштує значно менше ніж робота людини.

Read more... )

Мораль проста: нехай роботу працюють роботи, а людині залиште творчість.
madf: (Default)
Написав пекельний скрипт (а точніше штук 5 скриптів) на bash і expect для заміни айпішок OpenVPN-сервера на роботах carwash. Їх там штук 100. Буде прикольно втратити керування такою мережею... На всякий випадок із кожної серії залишаю один хост на старому ip.
Писав і тестував кілька днів поспіль, натикав купу перевірок, веду 5 логів - а все одно нервуюсь.

Ех, а я казав кілька років тому щоб купували колокейшн, дедік чи хоча б VPS. :(

PS: а все через "покращення" :(
madf: (Default)
Давно хтів показать, та все ніяк не виходило. То батарейка сяде на фотіку, то ще шо.
фотке )
madf: (Default)
Рік тому відбулась історична суперечка між Linus'ом Torvalds'ом та іншими розробниками ядра (Ingo Molnar та Ted Ts'o) з приводу нової файлової системи ext4. Суперечка стосувалась системному виклику sync.
Суть у тому, що сучасні файлові системи не пишуть одразу дані на фізичний носій, а застосовують буферизацію. Це значно збільшує швидкодію (і строк служби flash-носіїв). Але, як завжди буває, така техніка має зворотній бік медалі: надійність.
Програма записує дані в файл, після чого виникає аварійна відсічка живлення: дані втрачено. Якщо звернутись до першоджерела (суперечки), ext3 виконує синхронізацію з диском раз на 5 секунд, в той час як ext4 виконує цю операцію раз на 2 хвилини. Звісно, що втрата даних на ext4 більш ймовірна, але ext4 менше завантажує систему дисковими операціями (маю наголосити, що ця різниця не єдина; більш того - зовсім мізерна в порівнянні з додатковим функціоналом ext4).
Наразі я зіткнувся з цією проблемою. Є файлова система ext2. Є сервер який на ній працює. Є зовнішня утиліта-конфігуратор, яка спілкується з програмою-сервером і перезаписує файли конфігурації. Частина системи "підхоплює" нові налаштування одразу, а частина - лише після перезапуску системи. Перезапускають систему банально - відсічкою живлення. В результаті частина даних не встигає записатись на диск. Як і писав Linus Torvalds, ця задача лягає на плечі програмістів (flush + sync) або користувачів (параметри монтування розділу). Як зараз пам'ятаю обговорення цього питання з Борисом aka [livejournal.com profile] stg34 коли ми їхали минулого року через міст на правий берег.
flush - скидає дані буферів із userspace до kernelspace.
sync - скидає дані буферів із kernelspace до носія.
Правда, не треба забувати що у сучасних носіїв є свій внутрішній буфер. Залишається сподіватись на ємність конденсаторів системи живлення носіїв даних :)

Upd.
Забув зазначити що ситуація описана для Compact Flash, тому транзакційні файлові системи не підходять.
madf: (Default)

  1. Не викориcтовуйте time і gettimeofday для обчислення часових інтервалів - все може зламатись при синхронізації часу (скажімо, по NTP чи вручну).

  2. Є clock_gettime/clock_getres/clock_settime - інтерфейс до кількох системних таймерів. Для обчислення інтервалів підійде CLOCK_MONOTONIC.

  3. На деяких системах (залежить від конфігурації uClibc) CLOCK_MONOTONIC недоступний, хоча ядро його реалізовує. Тут допоможе syscall(__NR_clock_gettime, CLOCK_MONOTONIC, ×pec).

  4. Є прекрасна утилітка для перевірки доступності системних таймерів. Її джерельний код можна знайти тут: http://www.gelato.unsw.edu.au/archives/linux-ia64/0411/11792.html

  5. Я ще нагуглив getitimer/setitimer але так їх і не спробував, бо сискол вирішив всі мої проблеми з таймерами.



PS: а джерельні коди ядра не така вже і страшна штука як їх малюють. Я б навіть сказав що там все логічно і неможливо загубитись. Не вперше туди лазю :)
madf: (Default)
Якби дехто нормально заземлив установку, або хоча б зробив занулення я б не провисів 2 з половиною години на телефоні; не прийшлось би через 2 шелла, OpenVPN і GSM-модем аналізувати кількамегабайтні логи і повернувся я б додому о 7-й вечора, а не о 10-й.
Коротше кажучи, при вмиканні частотника і переході його між різними режимами роботи регулярно відпадав USB. Тільки цього ніхто не знав, були лише підозри. Потім я побачив це на власні очі (через ті самі шелли). Потім заміряли різницю потенціалів між екраном і нулем частотника: матінко рідна, там жеж напруга скаче в межах +-1.5В! І так же співпало що на інших постах або було нормальне заземлення або був зв’язок через COM-порт. "Тяжела и неказиста жизнь простого программиста" (с) народне.
madf: (Default)
Всі вихідні займався carwash. Убийте мене хтось!
Прийшла велика партія компів на прошивку (безпосередньо від виробника). Спочатку збирався навчити Борю прошивати. Потім почались глюки: то IDE-контролер не завантажується (його, як виявилось, треба у Native Mode ставити). Потім виявилось що CF - завжди Secondary. Прийшлось коригувати прошивку. Потім не завівся драйвер мережевої карти. Точніше завівся, але інтерфейс завжди Busy і підняти його немає ніякої можливості.
Спробував 30-те ядро - ті ж яйця. Спробував оригінальний модуль з 30-м ядром - без змін. З 27-м - те саме. Надибав в інеті що один чувак з такою самою проблемою завів інтерфейс на 21-му ядрі з оригінальним модулем. Зібрав - не завантажується система. IDE-контролер не працює. Длубався-длубався - перевів у Legacy-режим (27/30 працюють виключно у Native, 21 - виключно у Legacy). Драйвер мережевої карти завівся, слава богу.
Тепер на черзі установка iptables. Зібрав, поставив - не працює. Лається не по нашому: "getsockopt failed strangely: No such file or directory". При чому навіть на iptables --help.
Довго мучився, ще разів 5 перезібрав ядро і самі iptables. Поліз у джерельні коди. До кінця не розібрався, але ім'я однієї з функцій натякнуло на динамічне завантаження плагінів (я збирав iptables статично, щоб не було геморою). Перезібрав динамічно. Запрацювало.
Залишилось зробити ще 6 прошивок до завтра. Убийте мене хтось - я спустив 2 вихідні в унітаз!

PS: це вже 3-й різновид eBox-2300SX :(
madf: (Default)
Минулого четверга отримав новий eBox-2300SX (історія моїх відносин з 2300SX: раз, два і три). Цього разу одразу нормально завівся із X-Linux і з моєю системою на 2.6.30. Але тепер задача трохи ускладнилась: треба до нього причепити 3G-модем від Utel.
Read more... )
madf: (Default)
Історія з промисловими компами (раз і два) продовжується. Останні пару днів заставили трохи понервуватись: компанія-постачальник у себе відібрала два екземпляра серії, протестувала і не виявила тих відхилень що я спостерігав. Потім вони перевірили повернутий нами комп і виявили у ньому горілий USB-контролер (принаймні, так нам сказав їх менеджер). Постало питання: чи не ми угробили два не дуже дешевих пристрої?
Read more... )
madf: (Default)
Пам'таєте, я писав про kernel panic?
Епопея продовжилась.
Read more... )
madf: (Default)
Два дні поспіль намагався завести свіженький eBOX-2300SX
Спочатку не знайшов у ядрі 2.6.24 драйвера для мережевої карти R6040. Потім стопіцот раз збирав ядро 2.6.30, а воно все панікувало. Потім скачав документацію по налаштуванню ядра для цього девайсу: Vortex86SX_Linux_HowTo.pdf. Виявилось, там трошки інший контролер IDE ніж на старій моделі. Завантажилось, запустилось... Почало панікувати на USB. Спершу коли намагався відправити 1 байт у /dev/ttyUSB0 на якому висів перетворювач USB-RS232 CP2102. Потім під час modprobe ehci-hcd. В кінці кінців стало панікувати просто при завантаженні.
Завантажив старе ядро - ті ж яйця.
Таким чином дійшов висновку що проблеми апаратні :(
madf: (Default)
Це фірмовий перетворювач USB/RS-232/485:

Він коштує приблизно 600 грн.
Це наш самопал із двох мікросхем (правда, без гальванічної розв'язки):

Пізніше він отримає гальванорозв'язку, нормальний корпус і роз'єми. Його собівартість - до 100 грн.

PS: на індикаторі ПІД-а температура в приміщенні :)
PPS: Linux підтримує силу-силенну USB-Serial перетворювачів. З тим фірмовим йшли драйвери і бібліотеки. Навіть під Linux були драйвери на диску (правда, для ядра 2.2 :). А виявилось, він без проблем працює на pl2303. Наша мікруха працює на cp2101, а ще один перехідник (він, правда, нам не підійшов) - на ftdi_sio.
madf: (Default)
Трохи раніше я писав про проблеми з CVS. Саме тоді я задумався про перехід на DVCS і почав придивлятись до різних: Bazaar, Mercurial, git, Darcs... Після тестування найбільшу симпатію в мене викликав Bazaar. А тепер, власне, story.
Read more... )
madf: (Default)
На кого б спихнути саппорт по CarWash...
Вони мене сьогодні вивели ще зранку. Телефонують і обвинувачують у всіх гріхах земних, бо у них, ба, піна не працює! Нічого що у Армавірі працює, у Києві працює, а у них - ні! Я довго й нудно пояснюю (хоч я й програміст) про жорсткість води, діаметр труб, оберти двигуна помпи, дозатори, клапани, сонячну радіацію, магнітні бурі, торсійні поля, місяць у стрельці і т.д. І думаю що відв'язався. Але ні!
Не встиг я сходити на обід - мене запрошують туди щоб я переконався на свої очі в тому що піна не працює!
Приходю. Вмикаю. Піна не працює. Замість піни йде воск. Дивлюсь їх конфіги - у них дозатори місцями переплутані. Змінюю коди. Вмикаю піну - йде піна. Вмикаю воск - йде... піна! Перавіряю обидва дозатори вручну - кожний відповідає за своїм кодом. Перевіряю текст скрипта для кнопки воск - дозатор вірний. Вмикаю ще раз - йде піна. Перезапускаю керуючу програму. Йде піна. Перезапускаю керуючий комп. Йде піна.
Потім щось у мене в голові клацнуло: "а чи кнопки вони місцями не переплутали?". Дивлюсь на якій ще кнопці піна - ага, "Вода+Піна". Вмикаю - йде воск. І от, же, збіг - скрипти відрізняються одним дозатором!
Увага, питання: нафіга мені, програмісту, займатись їхніми переплутаними налаштуваннями і вислуховувати про "баги в програмі"?
Обід у мене вийшов пізній, о 18:00. На саппорт у мене пішло 3 години.

Облом

Aug. 4th, 2009 02:58 pm
madf: (Default)
Чекати 30 хв доки запуститься grub (хз чого він так тормозить) щоб побачити
Error opening terminal: rxvt-unicode.

Once again...
madf: (Default)
Щось важкувато стало купити CF. Особливо маленьких - до 4 Гб.
Сподіваюсь, у компаній-постачальників промислової електроніки вони не зникнуть.

Profile

madf: (Default)
madf

April 2017

S M T W T F S
      1
2345678
9101112131415
1617 1819202122
23242526272829
30      

Syndicate

RSS Atom

Most Popular Tags

Style Credit

Expand Cut Tags

No cut tags
Page generated Jul. 27th, 2017 02:36 pm
Powered by Dreamwidth Studios