2038?? к тому времени выпустят обновление операционок, а ныне действующий аппаратный парк уже и на помойках перестанет встречаться, возможно будут образцы в захолустных музеях.
если не секрет, для чего этому устройству может понадобиться такая прошивка?
вам просто от нехер делать вот такая фигня в голову пришла? — нет и не будет и для многих других устройств предназначенных для работы в лвс не будет прошивок с v6.
Пойду и поменяю — так и сказал с самого начала, выброшу старый хлам и куплю новый хлам.
Во-первых схрена ли? (если не вдаваться, что сейчас принтеров с интерфейсом centronics не найти. Но у меня есть и более другой девайс, где кроме db-25 есть и два usb, а в доме есть прекрасный usb-шный струйник, который хотелось бы шарить между тремя компами автономно.)
Во-вторых: что такое "большая сеть"? Ну, предположим, сейчас мне хватает /24 в IPv4. Но я совершенно не уверен, что лет через 5-10 когда "умный дом" перестанет быть просто маркетинговым слоганом, у меня в квартире не будет ip в каждой электролампочке и каждой розетке с выключателем, а чайник не будет синхронизироваться с блокнотом что бы выяснить во сколько у меня назначена первая встреча на сегодня, а соответственно к какому часу надо подать горячий чай к завтраку. :)
И в этом плане /24 резко не хватит. Тем более, что NAT это не более, чем костыль для продления агонии v4. :)
вообще то в не очень больших офисах работает по 300 — 500 сетевых устройств и прекрасно обходятся традиционным протоколом.
Возможно в вашей квартире однажды и будет 1000 устройств с адресами, но я почти уверен, что вы ради сохранения своего раритетного принтсервера сможете все разрулить по подсетям, не прибегая к протоколу шестой версии.
И не надо мне рассказывать как в офисных сетях работают 300-500 устройств.
Не зря же я постом ниже упомянул вполне свежее устройство, в котором тупо забита маска /24. Спасибо, что хотя бы адрес можно указать произвольный, а не 192.168.0.1 или 192.168.1.1
понятия не имею. твоя коробка замечательно работает и обновлять ее нет ни какого смысла, она предназначена для дома и мелких офисов, там она если физичеси не протухнет еще 100 лет проработает, твои внуки будут на нее молиться.
Проблема Y2K была вполне реальна, поскольку на тот момент в работе было полно систем, использующих 2 цифры для хранения года (оно и понятно, тогда экономили не то что каждый байт, а каждый бит).
Системы, понятно дело, не десктопные, поэтому большинство пользователей этого не заметили никак вообще. Но тем не менее там реально надо было переписывать код, причем код весьма старый, поэтому ООПшная школота со своими фреймворками на все случаи жизни, пролетала в таких работах как фанера над парижем. Программерам на коболе, по слухам, тогда были готовы платить неплохие бабки.
С unixtime'ом проблема больше высосана из пальца, поскольку как и в статье заметили, используется тип time_t, и если кодер не мудак (т.е. не определил переменную как int), все что надо — это перекомпилировать софт с новым time.h.
Специально проверил: sizeof(time_t) под ubuntu 12.04 i686 равен 4 байтам, под FC 22 x64 — 8 байт.
проблем с несовместимостью этих систем я пока не наблюдаю.
конечно, если сделать на одной write( f , time , sizeof(time_t)) а на другой read(f,&time,sizeof(time_t)) то проблемы будут, но это проблемы быдлокодера, а не unixtime, никто не гарантировал конкретную размерность тех или иных данных на любой архитектуре, что известно любому Си-шному программеру. Хочешь конкретных байт — используй intN_t/uintN_t.
Я как-то давно наступил на эти грабли, сделал структуру, описывающую заголовок bmp файла, считываю — явно какая-то лажа. Внезапно выяснилось, что компилятор для оптимизации произвел выравнивание данных на размер слова, т.е. 32 бита. :)
Вообщем-то даже на 32-битных системах ничего не мешает определить time_t как int64_t и просто перекомпилировать. Разве что код потом не влезет в какой-нибудь микроконтроллер, где все оптимизированно с точностью до байта.
ps. Лучше бы вспомнили более насущные проблемы — IPv4/IPv6, и то, что много оборудования до сих пор не поддерживает бесклассовые IP-сети. В ZyXEL'овской точке доступа/роутере на LAN-интерфейсе можно поставить только /24 и никак иначе. Поэтому в сети /22 не с любого компа можно зайти на ее интерфейс. :)
Комментарии
— Доктор, я съел пиццу вместе с упаковкой. Я умру?
— Ну, все когда-нибудь умрут...
— Все умрут! Ужас, что я наделал!
а проблема 2000-го года?
ну перестанут пахать ваши раритетные часы или кофемолка )) подумаешь, покупайте новые, старые девайсы на помойку или в музей ))
компы программно это обходят, а к 2038 году все 32-х битные компы просто морально устареют
Это ты расскажи atmel'у и microchip'у, которые штампуют 8-битные процессоры вагонами. :)
До 38-ого года, эту проблему успеют решить 100500 раз
Это как начинать сейчас волноваться о том что через 10 миллиардов лет наше солнце погаснет...
а с прочим будет как я сказал в начале.
Были бы еще исходники — можно было бы самому исправить, но исходников нет и не будет. И не факт что они где-то в архивах существуют.
Во. Придумал. Axis 540+. Найдешь для него прошивку с поддержкой ipv6? :)
А в нем, кстати, проц можно сказать что современный, 32-битный. :)
вам просто от нехер делать вот такая фигня в голову пришла? — нет и не будет и для многих других устройств предназначенных для работы в лвс не будет прошивок с v6.
Пойду и поменяю — так и сказал с самого начала, выброшу старый хлам и куплю новый хлам.
Во-вторых: что такое "большая сеть"? Ну, предположим, сейчас мне хватает /24 в IPv4. Но я совершенно не уверен, что лет через 5-10 когда "умный дом" перестанет быть просто маркетинговым слоганом, у меня в квартире не будет ip в каждой электролампочке и каждой розетке с выключателем, а чайник не будет синхронизироваться с блокнотом что бы выяснить во сколько у меня назначена первая встреча на сегодня, а соответственно к какому часу надо подать горячий чай к завтраку. :)
И в этом плане /24 резко не хватит. Тем более, что NAT это не более, чем костыль для продления агонии v4. :)
Возможно в вашей квартире однажды и будет 1000 устройств с адресами, но я почти уверен, что вы ради сохранения своего раритетного принтсервера сможете все разрулить по подсетям, не прибегая к протоколу шестой версии.
Только потому, что ему без малого 20 лет?
И не надо мне рассказывать как в офисных сетях работают 300-500 устройств.
Не зря же я постом ниже упомянул вполне свежее устройство, в котором тупо забита маска /24. Спасибо, что хотя бы адрес можно указать произвольный, а не 192.168.0.1 или 192.168.1.1
Или к тому моменту, когда вы дома исчерпаете возможности своей подсети.
А не ты ли утверждал, что:
>для контроллера прошивку обновят
Huawei WS329 это современное или раритет?
Что ты там втирал про сети по 300-500 хостов?
2. научись работать с подсетями.
3. остань.
Системы, понятно дело, не десктопные, поэтому большинство пользователей этого не заметили никак вообще. Но тем не менее там реально надо было переписывать код, причем код весьма старый, поэтому ООПшная школота со своими фреймворками на все случаи жизни, пролетала в таких работах как фанера над парижем. Программерам на коболе, по слухам, тогда были готовы платить неплохие бабки.
С unixtime'ом проблема больше высосана из пальца, поскольку как и в статье заметили, используется тип time_t, и если кодер не мудак (т.е. не определил переменную как int), все что надо — это перекомпилировать софт с новым time.h.
Специально проверил: sizeof(time_t) под ubuntu 12.04 i686 равен 4 байтам, под FC 22 x64 — 8 байт.
проблем с несовместимостью этих систем я пока не наблюдаю.
конечно, если сделать на одной write( f , time , sizeof(time_t)) а на другой read(f,&time,sizeof(time_t)) то проблемы будут, но это проблемы быдлокодера, а не unixtime, никто не гарантировал конкретную размерность тех или иных данных на любой архитектуре, что известно любому Си-шному программеру. Хочешь конкретных байт — используй intN_t/uintN_t.
Я как-то давно наступил на эти грабли, сделал структуру, описывающую заголовок bmp файла, считываю — явно какая-то лажа. Внезапно выяснилось, что компилятор для оптимизации произвел выравнивание данных на размер слова, т.е. 32 бита. :)
Вообщем-то даже на 32-битных системах ничего не мешает определить time_t как int64_t и просто перекомпилировать. Разве что код потом не влезет в какой-нибудь микроконтроллер, где все оптимизированно с точностью до байта.
ps. Лучше бы вспомнили более насущные проблемы — IPv4/IPv6, и то, что много оборудования до сих пор не поддерживает бесклассовые IP-сети. В ZyXEL'овской точке доступа/роутере на LAN-интерфейсе можно поставить только /24 и никак иначе. Поэтому в сети /22 не с любого компа можно зайти на ее интерфейс. :)
Почему?
ещё 18 лет
чего только не произойдёт за это время