Массивы JavaScript, Internet Explorer и запятые

Заметил такую особенность — если описывать массив как

var array = [
elem1,
elem2,
elem3,
];

То в Firefox и Google Chrome — он будет иметь 3 элемента, а в Internet Explorer (тестировалось в 8-ой версии) — 4 элемента, причем 4-ый будет null.

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

Оказывается, такой стиль имеет скрытую угрозу — ошибки, когда «прогулка»  по массиву дает null элемент, тогда как такой программист предполагал, что будет три элемента и все — не null. Вообщем, программеры JavaScript — остерегайтесь 😉

Читать далее Массивы JavaScript, Internet Explorer и запятые

Прикрутил AddThis и Twitter

Прилепил на блог AddThis и Twitter. AddThis — штука для простого «расшаривания» страниц моего блога (то есть для тех, кто хочет поделиться УРЛ-ом моих страниц через какую либо социальную сеть, или даже просто добавить в закладки). Twitterмоя лента сообщений на Твиттере, которую веду уже несколько недель — в ней я буду пописывать то, что будет маловато для блога. Вы, имея Twitter аккаунт, можете оставлять отклики у себя, для самых интересных которых я сделаю ретвит 🙂

Да, чуть не забыл! Заголовки новых статей блога транслируются в Twitter аккаунт. Поэтому, подписавшись на мой твитт (став фолловером), вы оперативно узнаете о чем-то новом у меня на блоге. Постараюсь скоро написать о Твиттере более подробно.

Летнее время навсегда?

Вот приняли в России закон об отмене перевода времени. Может, это и хорошо. Меня смущает другое. То, что этой весной, будет последний перевод стрелок. Вот несколько аргументов, что это не правильно, с моей точки зрения. Забегая вперед, скажу от себя, что считаю, если и надо было «останавливаться» в переводе стрелок, то делать это надо осенью после перевода на зимнее время. Читать далее Летнее время навсегда?

Опять Cookies, только теперь Google Chrome

Не успел написать программу, как опять наткнулся на неприятность, точнее, на баг. Смысл его в том, что Google Chrome некорректно ставит в JavaScript свойство document.cookie, если кука пришла от сайта с quoted path, то есть, если пришла такая:

Set-Cookie: session=session_ID; path="/"

Дело в том, что путь, заключенный в кавычки — правило, определенное самим RFC 2109 (пункт 4.1). Firefox это обрабатывает корректно, а Google Chrome — глючит. То есть, чтобы в JavaScript от Chrome считывать куки, нужно их выставлять через path без кавычек. Но в любом случае, это некорректно, поэтому отписал об этом на их форум. Посмотрим, как они исправят это 😉

Set-Cookie2 и Firefox :(

Пришлось выставлять куки программой через HTTP заголовки, и с удивлением для себя обнаружил, что Firefox 3.6.13 (самая последняя версия на данный момент) не поддерживает заголовки «Set-Cookie2:», которые определены аж в RFC 2965 от 2000 года. Работает он, видимо, только со старым типом кук — RFC 2109 (Set-Cookie:). На других броузерах не тестировал. Вообщем, программеры, учитывайте это обстоятельство 😉 Вообще, это очень странно, ведь Firefox славится следованиям разного рода стандартам.

Флешки USB и NTFS

Недавно обнаружил для себя открытие — оказывается, не так легко форматнуть флешку в NTFS из под Windows XP! 🙂 Если вы попробуете через меню Exporer, то увидите только опции форматирования FAT32 и ExFAT. NTFS там не будет! Зачем нужна NTFS? Чтобы на нее можно было записать фильм, например в формате MKV, который более 4 Гб. На то она и FAT32, что может поддерживать размер файлов 232 байт (4Гб). Итак, как форматнуть?! Оказывается, все просто, но не очевидно! Windows не форматирует потому, что для флеш дисков (в драйверах) автоматически ставится опция «не кешировать». Чтобы появилась NTFS, надо пойти на рабочий стол, в «Мой компьютер» через правую мышку выбрать «Управление», там найти «Диспетчер устройств» -> «Дисковые устройства», там ищем нашу флешку, правая кнопка мыши и «Свойства», а там ярлык «Политика». Вместо «Оптимизировать для быстрого удаления» выбираем «Оптимизировать для выполнения». Жмем OK, и после мы можем форматировать в NTFS! Здесь статья на английском с картинками

Вот такая вот фигня с этими флешками…

P.S. Я не знаю, надо ли восстанавливать обратно свойства, но лучше, после форматирования, вернуть опцию обратно. Вдруг для новых флешек она будет включаться — лучше, чтобы все таки она стояла, иначе после записи на нее вытаскивать ее нельзя — часть данных потеряется.

Билайн убрал Премиум Сайты?

Что-то уже месяц, как никто мне не пишет в комментарии по моему посту Премиум Сайтоввторой части). Как-то даже странно. Для тех, кто все еще не в курсе, сообщаю: Билайн нагло обманывает своих клиентов, тарифицируя интернет трафик на определенные IP адреса по 50-ти кратному тарифу, объявляя этот трафик в выписках как «Премиум Сайт». Списка этих сайтов нет ни в договоре с ними, как ровным счетом вообще нет упоминания про какой либо особый интернет трафик. Все это делается на любом тарифе (хоть безлимитный). Длится этот беспредел уже примерно с мая 2009-го года. И по крайней мере до декабрь 2010-го, когда ко мне приходили последние комменты от клиентов Билайна. Если клиент возмущается, и звонит злой в службу поддержки, ему деньги втихаря возвращают. Тот, у кого нет времени бодаться с ними, просто на это «забивают». Этим, наверное, и объясняется то, что до суда видимо, дело не доходит — тем, кто предъявлял им претензии, они без особых разговоров все вернули. Суммы за премиум исчисляются сотнями, а то и сотнями тысяч рублей. Роуминг, про который печется правильтельство, просто в подметки не годится

P.S. Проблема усугубляется самим протоколом HTMLможно вставлять в любую страницу любую картинку или страницу с другого сайта, чем партнеры Билайна (владельцы Премиум сайтов) успешно пользуются (форумы, например). То есть по определению нельзя тарифицировать трафик по IP адресам, так как в протоколах интернета пользователь не контролирует, что от куда у него загружается.

DOCTYPE & Images в таблицах — почему разваливается дизайн?

Это будет краткий обзор моего исследования на тему DOCTYPE (подробнее о DOCTYPE я напишу как нибудь позднее) и поведения <IMG> элементов. Итак, если вы еще не знаете, а являетесь вебдизайнером или верстальщиком HTML страниц, вам надо знать, что лучше указывать тип документа для HTML диррективой DTD в начале любого HTML документа: <!DOCTYPE …>. Потому как иначе, ваша страница может выглядеть и работать не так, как вам хочется (например, без этого определения не работает CSS «position: fixed»). Я долго мучался с этим DOCTYPE, чтобы все работало так, как хотелось бы, и пришел к выводу, что лучше делать именно такое объявление типа: Читать далее DOCTYPE & Images в таблицах — почему разваливается дизайн?

И снова о Samsung Galaxy S…

Юзаю этот телефон уже более двух месяцев. До этого, сколько бы я не пробовал всяких смартфонов, все они в итоге оказывались в шкафу и там оставались forever 🙂 Я всегда был приверженцем, что телефон должен быть телефоном, и скрещивание его с компьютером не даст удобств пользователю. Всегда было проблемой для меня — где найти приложения для Symbian, или iPhone (там были какие то ограничения для русского народа в их маркете). И ниодин телефон не казался мне удобным в плане работы с нетелфонными функиями. Но теперь я понимаю, что Galaxy S — это то что мне надо! Не возникло единой мысли отказаться от этого аппарата! Вообщем, если вы еще думаете — берите Samsung Galaxy S — не пожалеете! Единственное, что мне не понравилось, дак это то, как там делается upgrade Android до 2.2 — их программа Kies работает так, как ей вздумается — то она на одном компе даже не хотела запускаться, потом все таки я ее запустил на другом, проапгрейдил, но вот второй такой же аппарат она уже апгрейдить не захотела — Galaxy постоянно мигал экраном во время подсоединения его к компу, и драйвера никак не могли установится (хотя зачем им снова было ставиться, если я уже ставил их и работал с другим телефоном?!). Также, хочу хаметить, что скоро выйдет у них аппарат, лучший по характеристикам, чем Galaxy S — Nexus S. Там будет новее Android (в Галакси — версия 2.1).