LINUX.ORG.RU

Сообщения nobody

 

На чём должен сфокусироваться программист

Уважаемое сообщество, хочу услышать ваше мнение.

Сначала контекст. Есть автономный прибор, а я его разраб, то бишь программист embed. И есть интерфейс к этому прибору, у которого (интерфейса) тоже есть разраб, программист ПК. Ну так оно дешевле, чтоб не у каждого девайса свой дисплей с кнопками, а чтоб ПК был дисплеем для кучи девайсов, каковых в контейнере сотни. Контейнер — обычный морской 30-футовый контейнер, в котором все потроха смонтированы, и кабеля проложены. Грузится на судно. Приборы по одному кидаются за борт, работают на дне, всплывают, засовываются в контейнер, с них скачиваются данные, нефтяники/газовики эти данные обрабатывают.

Теперь вопросы.

1. Должен ли программист ПК сосредоточиться на типовой задаче или распыляться на низкоуровневое управление устройством (которое энд-юзеру нужно как собаке пятая нога)? Моё мнение: нах низкоуровневые вещи, инженер нашего КБ сделает это через низкоуровневый интерфейс hex-кодом. Не задача это для программиста ПК. Он должен делать максимально удобно и приятно для конечного юзера, а на остальное забить болт, ибо некогда. Его (программиста ПК) мнение: инженер КБ тоже человек, и надо о нём тоже позаботиться. Даже если это не увеличивает рыночную стоимость (а мы живём с разности между рыночной и себестоимостью).

2. Должен ли программист ПК решать за юзера, что ему можно, а что нельзя? Моё мнение: никогда не считай себя умнее юзера, и, соответственно, никогда не решай за него. Предоставь выбор ему. Можешь предупредить, что некое действие чревато сгоранием прибора, но не более. Его (программиста ПК) мнение: юзер — существо не сильно внимательное, соответственно, склонное к ошибкам. А значит задача программиста ПК — минимизировать вероятность ошибок юзера при низкоуровневом управлении устройством (ну когда порты ввода/вывода контроллера могут сгореть).

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

Рассуди, лор, кто же из нас прав?

 

nobody ()

Прошу пояснений про Клуб

Уважаемая администрация ресурса! Прошу разъяснения по поводу работы раздела Клуб. Там написано, что этот раздел только для тех, у кого не менее 2 ярко светящихся зелёных звёзд. Из этого я делаю вывод: если у кого-то звёзды не светятся достаточно ярко, или их вообще нет, то доступ туда закрыт. Тем не менее, в теме «Что делать в эпоху чебурнета?» я вижу пользователей вообще без звёзд. Прошу объяснить, означает ли это изменение правил раздела Клуб? Или это баг движка?

 

nobody ()

PGA своими руками, как?

Есть аналого-цифровая схема. У неё дифференциальный вход: 2 операционника, плюсовыми входами наружу. Операционник очень хорош и прям под задачу: очень низкий уровень собственных шумов в полосе до 1 Гц. Но просто впаять ему резисторы в обратную связь нельзя, потому что требуется настраиваемый коэффициент усиления. Вобщем, нужно сделать из него PGA (программируемый усилитель).

Засандалить в обратную связь цифровой потенциометр — идея хорошая и дешёвая, но не катит. Потому что на 2 плеча придётся поставить 2 потенциометра. И из-за большого разброса параметров пострадает подавление синфазной помехи: она из синфазной превратится в дифференциальную и будет усилена.

Взять какой-то готовый PGA тоже нельзя, потому что все они отстой. Шумы у них адские, а речь идёт о чувствительности в десятки нановольт.

Пока смотрю в сторону прецезионной r-2r сборки + mux + latch по spi. Но колхозить всё это из рассыпухи не хочется, а хочется некое готовое решение в одном корпусе. Цена вопроса роли не играет, заказчик богатый (это наше с вами государство). Зато играет миниатюрность (это его требование) и сроки (ещё более жёсткое требование).

Вобщем, вопрос такой. Где бы найти нечто, что можно было бы поставить в обратную связь операционнику. И чтобы оно было с точностью не хуже 0,1%. И чтобы им рулить программно. И чтобы в мелком корпусе. Может кто знает название продукта. Или хотя бы подскажет поисковый запрос для гугла? То что мне удалось нагуглить по resistor network/ladder — это не готовое решение. При том что я знаю, что в совдепии подобные штуки были, причём с точностью 0,02%.

 

nobody ()

Ищется программист, близкий к железу

Первая задача будет такая: сделать программу для платы, которая оцифровывает сигнал с датчиков и записывает отсчёты в NAND флэш, формируя там файл. Прибор автономный, так что жрать процессор платы должен чем меньше, тем лучше. Плата должна работать в RT, а значит кодер БЧХ для микросхем NAND флэш делать будет сам программист. Плюс нужен хороший цифровой фильтр для входного сигнала, обеспечивающий не менее 120 дБ в полосе задерживания (во всей, так что забудьте про sync). Частота дискретизации 16 кГц и ниже, деля на двойку. На чём и как делать фильтр — оставляется на выбор программиста. Можно DSP, можно ПЛИС, лишь бы жрало мало. Вообще выбор всей элементной базы оставляется за программистом — если хочет. Если нет, дадим в помощь инженера-электронщика. Время на решение задачи: через год должно быть представлено что-то, что хоть как-то работает (хотя бы иногда).

Что требуется от соискателя? Первое и обязательное: быть на ты с математикой. Придётся разбираться с цифровой обработкой сигналов. Плюс придётся вникать в БЧХ (это метод вычисления ECC). Плюс наверняка потребуется ещё что-нибудь такого же типа (CRC и подобное). Если человек не знает, ему придётся узнать, понять и использовать. У нас есть готовые наработки, но чтобы их использовать, потребуется понимание — чтобы их адаптировать под чуть другую задачу.

Второе обязательное: уметь программировать на Си. Потребуется писать программы не для ПК, а для прибора. Причём программы многозадачные и очень ограниченные в вычислительных ресурсах (десятки килобайт памяти, единицы мегагерц процессора). И надёжные: глючить нельзя.

Третье опциональное: быть схемотехником. Если человек им не является — не страшно, просто придётся для начала научиться понимать схемы. Потом, глядишь, и сам начнёт создавать свои (своя-то лучше с т.з. программиста).

Образование, знание языков и прочее: без разницы. Если не знаете чего-то, будете учить самостоятельно. Ставится задача, а дальше извольте её решать как хотите. Чем можем — поможем. Советом, готовыми наработками и т.п. Но делать вам, вам и отвечать за результат.

Оргвопросы. Испытательный срок 3 месяца. Сначала контракт на год, и только потом бессрочный. З/п 20-50 т.р. чистыми (зависит от квалификации и от конкретной отдачи). Оформление по ТК РФ, полная занятость. Отпуск 2 месяца в год (можно разделить) с оплатой проезда на чём угодно туда и обратно с семьёй или без в пределах РФ раз в 2 года.

Об организации. ООО Моргеокомплекс, РФ, Мурманская область, г.Мурманск, ул.Свердлова, 39. Тел.: (8-8152)-43-45-97. Мелкое КБ без какой-то бы то ни было бюрократии и с очень хорошим начальником. По части реализации предоставляется полная свобода творчества в рамках поставленной задачи и в пределах сроков.

Если иногородний. Подобрать жильё поможём, но проблема будет в адаптации к жизни за Полярным кругом. В одно время года солнце светит круглосуточно, в другое его нет совсем. Среднее время адаптации — от года до двух.

Можно ли работать удалённо. Не знаю, сильно сомневаюсь. В любом случае придётся летать в Мурманск, чтобы налаживать прибор целиком (он состоит не из одной вышеописанной платы, там ещё куча всего).

 

nobody ()

И пришел злой Шаман...

Может, не надо было так по "Linux Desktop 2006: better than ever"? Там, наверно, где-то ближе к началу было "некорректное сообщение", но в ответ на него развернулась весьма интересная дискуссия по поводу прав доступа. В т.ч. на инет-порты. tailgunner озвучил довольно своеобразное мнение по поводу этих прав. А заодно назвал имеющееся решение: accessfs. Лично мне это было незнакомо и весьма интересно. Думаю, другим тоже было бы небезынтересно ознакомиться. Может, как-нибудь вернуть это дело обратно?

nobody ()

HTML widget для Tk?

Существует ли в природе нормальный widget, отображающий HTML, для Tk? Чтоб понимал все тэги и спецсимволы (&foo;), и не имел проблем с русским?

Tkhtml подружить с русским не удалось. И он не все понимает.

nobody ()

M сигнал для графических LCD на NT7704 & NT7703

Очень интересует сигнал M (Alternate Signal for LCD Drive) для чипсета NT7704/NT7703.

Novatek молчит как партизан. На chipdoc хотят денег.

Есть весьма дешевые LCD panels на чипсете novatek (производители LCD (типа Hitachi/Optrex/Wintek/etc) хотят продавать не матрицы, а COG). Все замечательно, но ни в одном datasheet не описан сигнал M: для чего он нужен, можно ли его прицепить на лог.0 или лог.1, или им обязательно нужно управлять с DSP.

И еще DISPOFF/. Все datasheets дают его timing относительно DATA LATCH сигнала (строчная синхра), но ни один не описывает, зачем им дергать.

Если кто имел дело с графическими LCD, подскажите, pls, логику работы с LCD.

nobody ()

Требуется программист/электронщик

ФГУП Техморгео (бывшему НИИ ТМГР) в отдел геологоразведочной аппаратуры требуется программист со знанием электроники или электронщик (схемотехник), умеющий программировать на ассемблере. Мы готовы принять на работу как готового специалиста, так и юношу (девушку) без образования, но имеющего способности и желание быть разработчиком.

Чем будет заниматься человек: разработка автономных, полностью автоматических устройств для нужд геологии и геофизики. Это микродевайсы (на базе Microchip PIC) с минимально возможным энергопотреблением (порядка 2 мА в спячке, 40 мА при полной нагрузке (по 5 вольтам)).

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

Сотруднику предоставляется полная свобода творчества: есть ТЗ и есть сроки, а как ты чего будешь делать -- твои проблемы. Никто не стоит над душой, и не дает ЦУ. Если возникнут какие-то заморочки -- всегда поможем, чем сможем, но отвечать за свою разработку все равно будешь ты.

Обязательные требования: добросовестность и ответственность. У нас нет "дядьки с палкой", который бы подгонял и контролировал -- все заняты своим делом.

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

Дополнительные требования для неспециалиста: знание физики и математики в объеме программы для средней школы, способность и желание стать разработчиком.

Испытательный срок 1 месяц. Если человек не является специалистом, ФГУП Техморгео берет на себя его обучение. Но в этом случае с человеком будет заключен контракт не менее чем на 3 года (можно будет уволиться и раньше, но с потерей весьма немаленькой суммы денег).

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

Зарплата от $100 до $400. Это если сидеть на берегу. За работу в поле 30% к окладу + суточные. За работу в северных морях зарплата * 2.3 + суточные + отсутствие расходов (когда корабль в рейсе). За работу в иностранных морях + около $1000 к зарплате.

Зарплата зависит от знаний, опыта и реальной отдачи. $100 -- это для неспециалиста, которого придется учить всему. Если человек увлекается радиоэлектроникой и знает схемотехнику, но не имеет опыта работы по специальности -- это $200. Зарплата на испытательный срок -- по результатам собеседования.

ФГУП Техморгео предоставляет все льготы, предусмотренные действующим законодательством РФ для жителей Крайнего Севере: оплата проезда к месту отдыха раз в 2 года на любом виде транспорта для работника и членов его семьи (в пределах РФ, если дальше, то за свой счет), сокращенный на 1 час рабочий день для женщин и т.п.

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

При приеме на работу будет собеседование. Нам нужны разработчики. Поэтому первое, о чем я буду спрашивать -- это что вы умеете делать. Если у вас есть собственные разработки по железу и/или софту -- будет очень неплохо, если вы опишите их в резюме. Можно приложить схему. Я работаю на linux, поэтому не надо посылать файлы в формате Microsoft Word. Plain text или html, любой графический формат для схем (если он сжимается, то желательно его пожать каким-нибудь компрессором).

В данный момент у нас 2 вакансии. Резюме можно прислать на адрес отдела: gra@tmg.com.ru или лично мне: an@tmg.com.ru. Набором сотрудников в отдел заведует начальник отдела, но он сейчас загружен сверх всякой меры, поэтому вопросами кадров временно занимаюсь я. Если есть какие вопросы, можно позвонить мне на домашний телефон: 43-90-50. Можно в отдел: 43-55-25 (сказать, что по поводу приема на работу -- меня там найдут или скажут номер телефона, по которому я есть).

Можно задать вопросы здесь, в форуме. Я сюда хожу вечером. Рабочий день у разработчика ненормированный, поэтому понятие "вечер" является растяжимым, где-то от 18 до 3. Как приду домой, так обязательно отвечу на вопросы, если они будут.

Адрес организации: г.Мурманск, ул.Свердлова, д.3. Доехать можно на автобусе 27 до остановки "Институт". Если от центра, то ехать в сторону Северной промзоны (Ленинский округ). Наш институт -- это девятиэтажка-свечка рядом с остановкой.

nobody ()

Регистрация домена при одном статическом IP?

Господа админы, помогите советом, пожалуйста, если знаете.

Есть один статический IP адрес. На нем будут висеть серверы ftp, http, mail и, может быть, еще что-нибудь. Чтобы адрес не выглядел как у подпольного порносайта (http://1.2.3.4), надо зарегистрировать свой домен. Решили, что лучше домен 3 уровня в com.ru. На ripn.net написано, что для этого требуется поднять 2 сервера DNS, причем они должны быть в разных сетях. А IP адрес-то у нас только один. На второй денег нет (у нас чисто научный бюджетный институт -- НИИ по-советски). Провайдер готов зарегистрить наш домен, но при этом в нагрузку дает свои сервера DNS, и хочет с нас по $50 в месяц (за их поддержку). Во-первых, для нас это дорого, а во-вторых, поддержка сервера DNS не стоит столько (поставил djbdns, и он работает). Вобщем, вопрос такой: можно ли зарегистрить свой домен, имея только один IP адрес и на нем один (primary) сервер DNS? И, если можно, то как именно?

ЗЫ: у провайдера оба сервера DNS находятся в одной сети, значит как-то они обошли эту проблему?

ЗЗЫ: если кто-то из мурманчан поможет решить эту проблему, я выбью из директора института ящик пива :).

ЗЗЗЫ: прошу не пинать за админскую неграмотность -- я всего лишь программер, которого заставили (в добровольно-принудительном порядке ("больше некому")) админить сервер на только что выделенной линии.

nobody ()

green, глюки после твоих upgrades

green, после того, как ты поменял железо и чего-то там в софте (твоя тема "По поводу не тех ников при просмотре мессаг и о неправильном обновлении страниц в IE"), начались глюки.

Суть глюков в следующем. Допустим, есть некая тема на главной странице. Под ней есть линк: [Число комментариев: xx]. Кликаю на этот линк. Когда в следующий раз захожу на LOR, этот линк отображается более темным цветом, если с момента моего последнего клика на нем количество комментариев не изменилось. Если изменилось, то он более светлый. Так было раньше, до тех пор, пока ты не изменил что-то в софте.

Сейчас это либо не работает вообще, либо работает иногда, для некоторых тем. Вот пример: тема "Richard Stallman: грязная компания SCO не убьёт GNU сообщество". Вчера там было меньше 10 комментариев. Кликнул, почитал. Сейчас 33 комментария, а броузер показывает этот линк ("[Число комментариев: 33]") темным цветом, как будто бы ничего не было добавлено с момента последнего прочтения. Та же хрень творится с темами в форуме Development.

Можно ли вернуть взад прежнее положение вещей? Это было удобно: читаешь только то, что изменилось. Ты, помнится, играл с параметром "Expired". Можно его сделать как раньше было?

ЗЫ: юзаю mozilla-1.3@linux. Прокси между мной и LOR нет. Настройка броузера "Compare the page in the cache to the page in the network" стоит на "When the page is out of date". Броузер не менялся 3 месяца (так же как и его настройки), так что дело не в нем.

nobody ()

Как подправить ядро, чтобы оно не включало монитор из-за мыши?

Ситуация:
Дело происходит в консоли (не в иксах). Ядро 2.4.18, мышь PS/2. Монитор выключен (переведен программно в режим пониженного энергопотребления - vesa blank или что-то типа того). Если случается какая-либо вибрация, мышь дает прерывание, и ядро включает монитор.

Задача:
Если монитор погашен, то включаться он должен только от клавиатуры.

В драйверах клавиатур/мышей не нашел явного вызова unblank или чего-нибудь похожего. Может быть, это делается неявно? Кто знает, подскажите, pls, в каком направлении рыть. Или есть где-нибудь в инете дока, в которой это написано? Если знаете - поделитесь урлом, pls.

nobody ()

access() && open() == security hole???

Этот текст получен по команде "man 2 access" (находится почти в конце файла):

Using access to check if a user is authorized to e.g. open
a file before actually doing so using open(2) creates a
security hole, because the user might exploit the short
time interval between checking and opening the file to
manipulate it.

Кто-нибудь может популярно объяснить, каким образом юзер "might exploit" интервал времени между системными вызовами

access("filename", R_OK);
open("filename", flags);

чтобы получилась "security hole"?

nobody ()

Назначение файлов в /usr/lib/gcc-lib?

Не нашел никакого описания на cc1*. На collect2 - есть в gcc.info, но не очень внятно (для чего он, собственно?). Для чего файлы SYSCALLS.c.X, *.o, libgcc.a и весь каталог include? В include/ есть README, но я из него так и не понял, зачем этот каталог нужен. Если кто знает, где лежат доки, в которых это описано, поделитесь урлами, pls (на домашней странице gcc - нету).

nobody ()

FAQ по ядру 2.4?

Решился на переход с ядра 2.2 на 2.4. Нужна техническая информация примерно такого плана: какие системные утилиты нужно будет перекомпилить, какие обновить до последних версий, нужно ли новому ядру что-то, чего не надо было 2.2? Какая требуется мин. версия gcc, binutils, libc? Добавились ли новые системные вызовы, изменился ли формат вызова каких-либо существующих, убраны ли какие-то старые? И т.д. и т.п. Вобщем, нужно что-то типа FAQ по 2.4. Если кто знает, где лежит подобная дока, поделитесь урлами, pls.

nobody ()

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