Про наушники Philips SHB7000

Еще одной интересной вещью, которой я обзавелся на днях, стали полноразмерные беспроводные bluetooth-наушники Philips SHB7000, выполненные в черном цвете.

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

Про наушники Philips SHB7000

Цена наушников — 2700 рублей, что вполне себе неплохо, хотя можно было найти и дешевле. На голове сидят удобно, амбушюры мягкие и особо не давят, так что сидеть в этих наушниках можно долго, голова, впрочем, как и уши, не устают. Правда, уши со временем все равно нагреваются, но это проблема большинства всех полноразмерных наушников.

Звучание по bluetooth — наверно, где-то 3 из 5. Если поиграться с эквалайзером, то можно добиться и лучшего. В этих наушниках есть возможность подключения через провод, и говорят, что звук становится лучше, но я еще не пробовал. Большим минусом является слабая звукоизоляция — в метро даже звук на полную громкость не может справится с окружающими шумами =(

Philips SHB7000 — это еще и гарнитура, на правой стороне (там же располагается органы управления) встроен микрофон. Собеседник, с которым я разговаривал таким образом, сказал, что слышно меня было нормально. Правда, я сидел в кабинете, и посторонних шумов не было. В отзывах пишут, что качество гарнитуры весьма сомнительное.

Резюмируя, хочу сказать, что покупкой остался доволен и что теперь наконец-то избавился от этих надоедливых проводов. Эти беспроводные наушники на ура работают с моим iMac, iPad и Nexus 5. Для прослушивания музыки в метро они подходят слабо, для этих целей лучше использовать «затычки», но а для всех остальных случаев — это хороший беспроводной выбор.

Про финал «Лиги Чемпионов»

Проклиная официальную онлайн-трансляцию финального поединка «Лиги Чемпионов» между «Реалом» и «Атлетико», которая прерывалась каждые две минуты, и видя на табло счет 0:1 к исходу 90-й минуты, я плюнул на все, и лег спать. До конца встречи оставалось всего каких-то пару минут и шанса на то, что «Реал» забьет гол, не было. Но только я лег, как услышал крики с улицы — «Гоооооллл! Серхио Рааамммоооссс!». Они забили. Потом я заснул. Мне приснилось, как «Реал» выиграл. Уже сегодня, вставши с кровати, сразу полез смотреть новости — «Реал» — 10-ти кратный обладатель Кубка Чемпионов. Они все же победили. Это просто фантастика!

А для себя в очередной раз сделал вывод, что бороться нужно до самого, самого конца. И даже если удача не повернется к тебе, сожалеть уже будет не о чем — ведь ты пытался и это самое главное!

Про финал Лиги Чемпионов

Я могу абсолютно все! Я же эксперт!

Видео на злободневную тему отношений между заказчиком и исполнителем. До боли знакомые ситуации  😕

Оригинал рассказа: ссылка

Отключение рекламных SMS от МТС

По умолчанию у МТС, да и у других операторов, рассылка рекламных сообщений включена по умолчанию. Сюда входят и реклама пластиковых окон, такси, различные стимулирующие акции и прочее.

Чтобы отказаться от приема назойливых сообщений, в личном кабинете достаточно включить бесплатную услугу «Запрет приема информационных SMS и SMS/MMS с сайта МТС».

2014-05-07_125103

О последствиях при отсутствии бекапов

На прошлой недели обновил WordPress, на котором, собственно, и работает этот блог, до версии 3.9.

Когда я начал копировать файлы дистрибутива на сервер, возник небольшой п*здец, который привел к удалению всех заменяемых директорий / файлов. В итоге, была начисто удалена директория с плагинами и темами оформления. С плагинами проблема решилась достаточно просто — взял и установил их заново. А вот с темой оформления было все куда хуже.

Я уже писал давным-давно, что использую тему Reverie 3, которую немного адаптировал под себя (получился в своем роде форк 🙂 )., но по не понятной мне причине, бекапа этой темы я не делал. Таким образом, когда произошла жопа, я потерял свою прекрасный шаблончик 😥

Тем не менее, я даже считаю, что это пошло на пользу — я заново скачал исходную тему Reverie, и уже со свежим взглядом подогнал под себя. Хоть сейчас все и выглядит практически как прежне, но утверждаю, стало все равно лучше и это не предел. Время от времени я всегда стараюсь что-то изменить, чтобы смотрелось еще лучше (на мой взгляд, конечно же).

Про парсер ссылок на Facebook

В Facebook‘е, когда вставляешь ссылку в форму написания поста, срабатывает парсер, который анализирует эту ссылку. Если, допустим, ссылка ведет на картинку, то в посте появляется эскиз этого изображения, а если ссылка указывает на сайт — то показывается описание сайта и список изображений на нем (владелец сайта может настроить информацию, которую должен забирать парсер).

А вот что получится, если ссылка ведет, скажем, на бинарный файл 🙂 :

Про парсер ссылок на Facebook

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

К слову, парсер на Facebook’е очень старательный — он не только показывает содержимое JS-файлов и других подобных, но и даже пытается для аудио-файлов выводить содержимое метаданных ^_^

Тень от съемочной машины на Google Street View

Просматривая панорамы Google Street View, обнаружил тень, которая исходит от съемочной машины, которая, собственно, и производит саму фотосъемку панорам:

google_street_view

В прошлом году, кстати, на Большом проспекте П.С. видел эту самую машину, правда идентифицировать, какой компании она принадлежит, так и не получилось.

google-street-view-car

О поведении «Refresh» в браузере

В этой заметке пойдет речь на тему браузерного кэша и управления им. Для того, чтобы обновить страницу в браузере, многие используют привычную кнопку F5, хотя существует еще и такая комбинация, как Ctrl + F5. Так в чем же здесь отличие?

Для начала нужно знать, что веб-браузер умеет создавать два типа HTTP-запросов — условный и безусловный.

Безусловный запрос делается в том случае, если браузер клиента не имеет сохраненной (локальной) копии ресурса. В этом случае сервер должен вернуть ресурс с ответом HTTP/200 OK. Клиент может кэшировать полученный ресурс, если заголовки ответа позволяют это делать.

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

Условный запрос содержит заголовок If-Modified-Since и/или If-None-Match, который указывает серверу, какая версия кэша уже содержится в браузере. Если текущая версия не изменилась, то сервер выдаст ответ с заголовком HTTP/304 Not Modified без тела, в противном случае он может вернуть ответ HTTP/200 OK с новой версией ресурса.

Теперь возвратимся к обновлению страницы через кнопку F5. В теории нажатие на F5 не должно приводить к запросу на сервер, если ресурс находится в кэше и является актуальным, либо же должен быть осуществлен условный запрос, если ресурс находится в кэше, но он уже не актуален. Комбинация же Ctrl + F5 должна приводить к безусловному запросу, минуя кэш.

Кстати, я заметил, что при Ctrl + F5 в Chrome к запросам добавляются заголовки Cache-Control: no-cache и Pragma: no cache. Это весьма любопытная вещь и я решил на своей тестовой странице провести исследование поведения браузера (и поведение кэша) при разном виде обновления страницы.

Моя тестовая страница содержит три JS-файла, один из которых при ответе имеет заголовок Cache-Control: no-cache, другой — Cache-Control: private, max-age=15, а последний не имеет контроля кэша.

И вот какие результаты я смог получить:

browser_cache

Link navigation — это поведение, когда пользователь уходит со странице по ссылке, а затем возвращается обратно через кнопку «Назад». Конечно, данный способ не является методом обновления, однако некоторые пользователи ожидают увидеть свежий контент каждый раз, когда они посещают страницу независимо от того, каким образом они попали на эту страницу.

Источник

[PostgreSQL] Первую букву сделать заглавной

Задача: в полях ‘name’ таблицы ‘comment’ первый символ перевести в верхний регистр.

Решение:

UPDATE comment
   SET name = UPPER(SUBSTRING(name FROM 1 FOR 1)) || SUBSTRING(name FROM 2 FOR LENGTH(name))