Сергей-4030: Все сообщения за 6 Декабря 2011 года

 
ПнВтСрЧтПтСбВс
1 2 3 4
5 6 7 8 9 10 11
12 13 14 15 16 17 18
19 20 21 22 23 24 25
26 27 28 29 30 31

Сергей-4030

исключающий третье
★★
После 3.5 лет после покупки ксеноновые фары в моем Приусе сели окончательно. Перевести на "обычные" лампы встанет в тысячу долларов. Купить новые - в автомагазине по сотне за лампу. К счастью, онлайн доступны цены поприличнее, за 50 долларов за лампу. Все равно не бросовая цена. Пришлось купить и на этих выходных поменять. Причем и менять тоже не очень просто, час потратил на смену. И самое главное - ну нет практически никаких выгод. Не замечаю ничего существенно лучшего. Если у вас будет выбор - ксеноновые или обычные, мой искренний совет - выбирайте обычные. Ксеноновые - для понтов.
 15.0.874.12115.0.874.121

Сергей-4030

исключающий третье
★★
Блин, совсем уже плохой стал, пересидел за компьютером. %( У меня на экране сбоку приклеена бумажка с адресом (в смысле - физическая бумажка, наклейка). Только что хотел распечатать, как проехать туда. Начал пытаться мышкой с бумажки сделать copy&paste в гугльмап. %(
 15.0.874.12115.0.874.121

Сергей-4030

исключающий третье
★★
russo> Ксенон? Выскажу наболевшее: как меня бесят реднеки которые ставят ксенон на своих говнопикапах и при том не утруждаются отрегулировать фокусировку. Слов нет, одни выражения.

По-моему, это стоит не одну штуку баков. Реднеки все больше покупают обычные галогеновые лампы, покрашенные в синий свет, а не ксеноновые.
 15.0.874.12115.0.874.121

Сергей-4030

исключающий третье
★★
Татарин> Но почему убрать блок поджига стОит таких денег? - этого мне не уразуметь. :)

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

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

Сергей-4030

исключающий третье
★★
Татарин> Разрегулированый ксенон на встречке (а там ещё и по яркости раза в два больше, чем обычно) - выбешивает сильно, да...

Да, это жопа. Но в наших условиях дальний свет почти никогда не включается. 95%, а то и 99% я езжу с ближним.

ЗЫ У меня свет не разрегулированный. :) Кстати, а дальний - он какая разница, разрегулированный или нет? На встречке противно все равно.

ЗЗЫ А самое противное - высокие машины, джипы всякие. У них даже ближний слепит будь здоров, фары-то высоко. С$ки.
 15.0.874.12115.0.874.121
+
-
edit
 

Сергей-4030

исключающий третье
★★
Кстати, E-350 спокойно тянет HD. Без проблем совершенно. Так что если вдруг кто захочет - это очень неплохая платформа для маленькой рабочей станции. И поскольку охлаждение пассивное - исключительно тихая. Win 7 идет вполне ровно и успешно, для браузера и офисных приложений более чем достаточно.
 15.0.874.12115.0.874.121

Сергей-4030

исключающий третье
★★
Balancer> Ну, не повезло тебе.
Balancer> А для меня DLNA — лучшее открытие этого года. Не представляю теперь, как раньше без него жил :D

А для меня - Windows Media Server. ;)

Кстати, был неправ. Он понимает DLNA тоже. Но не только!

ЗЫ На самом деле, конечно, главное все-таки TV. Остальное можно смотреть просто на компьютере с подключенным телевизором. А вот ТВ - хочется отдельное устройство. И это супер, когда туда же можно сунуть и картинки/музыку/видео/нетфликс etc.
 15.0.874.12115.0.874.121

Сергей-4030

исключающий третье
★★
Balancer> Ну, не повезло тебе.

А у тебя звуковой усилитель может быть управляем из Интернета? Это как?
 15.0.874.12115.0.874.121

Сергей-4030

исключающий третье
★★
Balancer> Э... DLNA-control point же может звуком управлять. Громкостью. И зачем из Интернета? Из интранета.

Это неудобно для меня. Так делать можно, но удобнее громкость на усилителе менять.
 15.0.874.12115.0.874.121

Сергей-4030

исключающий третье
★★
Д.В.> Тупой, ответьте нам пожалуйста на вопрос: как вы считаете, есть ли на свете кто либо более тупой, чем вы? А то видите - возникли разногласия по этому вопросу. Каково ваше мнение?

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

Сергей-4030

исключающий третье
★★
GOGI> Вопрос наверное простой,
GOGI> имеется массив char[n]. Как получить из него переменную типа uint, где LSB=char[m], MSB=char[m+1]? Пока единственное что получается, это uint var=((uint)char[m+1]

Конечно. В Си вся такая фигня делается на раз. Правда, делать так НЕ НАДО!!! Еще раз - НЕ НАДО!!! И в третий раз - НЕ НАДО! То есть, вот так:

char * str = malloc(sizeof(char));
str[0]=1;
str[1]=2;

int * istr = (int*) str;
printf("%d", istr[0]);

делать можно спокойно. Но не надо.

Ты ведь только в порядке самообразования, правильно? Так вот, в порядке самообразования - всегда приводи типы явно. Если уж тебе неймется, лучше наоборот делать, иметь массив uint и из него извлекать lo/hibyte.

Еще есть цирк с union, но я даже рассказывать не буду, потому что это отстой. Полнейший отстой. Нет таких задач, на которых ты получишь на нынешних процессорах какую-то хоть сколько-то заметную выгоду от такого бреда. И вообще, C - отстой, брось бяку. Java, С#, на худой конец C++. Но не C. С умерло, не будь некрофилом.
 15.0.874.12115.0.874.121

Сергей-4030

исключающий третье
★★
Ты, надо полагать, делаешь ввод данных какой-то, ага? Ввод данных делается так (и только так, всякая чушь со считыванием структуры целиком - для лохов) ;)

code text
  1. typedef struct _data {
  2.    int start;
  3.    long middle;
  4.    char finish;
  5. } data;
  6.  
  7.  
  8. data read(stream str) {
  9.    data *d = new data();
  10.    d->start = str.readInt();
  11.    d->middle = str.readLong();
  12.    d->finish = str.readChar();
  13.    return d;
  14. }


Вот это - правильно и хорошо и как надо делать. Будешь так делать - сэкономишь много времени и нервных клеток.

А страдать со считыванием целиком структуры или тем более со считыванием в массив байт и потом выкусыванием полей - это неправильно.
 15.0.874.12115.0.874.121

Сергей-4030

исключающий третье
★★
GOGI> Сергей, это для микроконтроллера, тут выбора нет на чем писать. Ну и "правильное" программирование не всегда возможно ввиду ограниченности ресурсов.

Даже для микроконтроллера, ты сэкономишь пустяки. Впрочем, ответ, как ты уже понял - "да", ты можешь приводить ссылку на такой-то тип к ссылке на любой другой тип. Но это плохо.

Ну и юнионы тоже можно использовать, конечно.

code text
  1. typedef struct _twobytes {
  2.    char lobyte;
  3.    char hibyte;
  4. } twobytes;
  5.  
  6. typedef union _number {
  7.    int number;
  8.    twobytes bytes;
  9. } number;
  10.  
  11. number array* = alloc(sizeof(number));
  12.  
  13. array[0].bytes.lobyte = 1;
  14. array[0].bytes.hibyte = 2;
  15.  
  16. printf("%d", array[0].number);


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

Сергей-4030

исключающий третье
★★
Mishka>> А у тебя возможных интерпретаций этих потоков 8 битных значений много? А число N какие значения может принимать?
GOGI> Да, нет, не много. N Фиксированно 512 (сектор с диска). Первое это FAT32 Boot Record, причем мне всю не надо, только некоторые, но не подряд идущие поля, потом просто массив байт и массив uint.

Ну, если такая низкоуровщина, то тогда, конечно, придется извращаться. Что-нибудь такое:

char *buffer = read_MBR();

int some_int_parm = *( (int*) (buffer+26) );
long some_long_parm = *( (long*) (buffer+30) );
 15.0.874.12115.0.874.121

Сергей-4030

исключающий третье
★★
Сергей-4030> char *buffer = read_MBR();
Сергей-4030> int some_int_parm = *( (int*) (buffer+26) );
Сергей-4030> long some_long_parm = *( (long*) (buffer+30) );

Хотя, конечно, тут уже надо смотреть. Может, правильно сделать так:
code text
  1. char * MBR;
  2. int pos;
  3.  
  4. void initMBR() {
  5.    MBR = readMBR();
  6.    pos = 0;
  7. }
  8.  
  9. int readInt() {
  10.    #ifdef DEBUG
  11.        if(pos>mbr_size-2)
  12.           fatal("Memory overflow");
  13.    #endif
  14.    int rez = *( (int*) MBR + pos );
  15.    #ifdef DEBUG
  16.        if(doesntSeemRight(rez))
  17.           fatal("Shit happens.");
  18.    #endif
  19.    pos+=2;
  20.    return rez;
  21. }
  22.  
  23. int readInt(int offset) {
  24.    pos = offset;
  25.    return readInt();
  26. }
  27.  
  28. int readLong() {
  29.    long rez = *( (long*) MBR + pos );
  30.    pos+=4;
  31.    return rez;
  32. }
  33.  
  34. int readLong(int offset) {
  35.    pos = offset;
  36.    return readLong();
  37. }
  38.  
  39. void process() {
  40.     initMBR();
  41.     int parm1=readInt();    
  42.     int parm2=readInt();    
  43.     long parm3=readLong();    
  44.     long parm4 = readInt(parm2);
  45. }


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

в начало страницы | новое
 
Поиск
Настройки
Твиттер сайта
Статистика
Рейтинг@Mail.ru