А вот тут: gembox.us
Revertron
Мой идеальный смартфон
Долго думал написать заметку на тему того, насколько всё плохо в индустрии мобильных устройств. Вернее, я хотел просто перечислить параметры, при воплощении которых в одном устройстве, я бы не задумываясь его купил. Но получился реквием по мечте.
Для начала требования:
- Тип корпуса: классический
- Платформа: Андроид
- Сенсорный экран: да
- Диагональ экрана: 3.5-4.3 дюйма
- Число пикселей на дюйм: от 256 и выше
- Мультитач: да
- Устойчивое к царапинам стекло: да
- Сеть: Bluetooth (профиль AD2P), GPS, Wi-Fi
- Объем встроенной памяти: от 2Гб
- Слот для карт памяти: да
- Частота процессора: от 1.2Ггц
- Ёмкость аккумулятора: от 1700 мА*ч
- Автофокусировка: да
При выборе только этих параметров и игнорировании остальных, например, наличие NFC-чипа и тому подобного, получается всего один кандидат, причем тот, который давно снят с производства и не обновляется.
Можете сами посмотреть на этот выбор на Яндекс.Маркете. Это всё доказывает верность моей догадки — ни один производитель не хочет производить действительно хороший продукт, удовлетворяющий всем мало-мальски адекватным требованиям. Это делается для того, чтобы все пользователи, вне зависимости от того, какое устройство они купят, через полгода-год захотели что-то другое, что-то, что не будет содержать в себе недостатков текущего смартфона. Но оно будет содержать другие! К сожалению, это жестокий бизнес. Никто не думает о пользователях. Они думают только о том, чтобы пользователи сменяли свой смартфон каждые год-два и платили за это новые, такие же, как и в прошлый раз, деньги.
Сюрприз от неизвестного: доверие к расширениям Chrome
Вот так вот. Google как всегда в своём репертуаре. Забота о безопасности их продукта всегда лежит на плечах пользователей.
Если можете, не пользуйтесь продуктами Google. Ни почтой, ни поиском, ни какими-то ни было другими сервисами Google.
Обзор бесплатных сервисов для веб-разработки
Очень интересный обзор по ссылке: http://habrahabr.ru/post/209258/
Защита WordPress от взлома
Не секрет, что в мире очень много злоумышленников. Некоторые могут быть настроены на веселье, а некоторые на конкретную цель — завладеть вашим блогом с целью сделать его частью бот-нета, либо распространителем ссылок на другие ресурсы. А могут и вовсе совершать с помощью вашего сервера разные опасные действия.
Методов взлома бывает два: первый — через уязвимость кода в самом вордпресс, либо в каком-нибудь плагине, а второй — подбор паролей от пользователя с правами администратора.
В первом случае можно посоветовать только обновлять все плагины, темы и сам движок сразу же, как только появилось обновление. Не пренебрегайте этим! Это проект с открытым исходным кодом (opensource), код пишут студенты-недоучки и библиотекари-самоучки. В нём множество недочётов и ошибок.
Во втором — предложу несколько советов. Есть некоторые плагины, довольно сильно повышающие безопасность вашего блога. Я могу порекомендовать два из них: Limit Login Attempts и Wordfence.
По умолчанию WordPress разрешает сколько угодно попыток входа в систему. Этим пользуются злоумышленники и подбирают пароли по словарю, либо вообще полным перебором по буквам/цифрам. Оба названных плагина реализуют блокировку по IP тех, кто занимается таким перебором.
Отдельно скажу, что Wordfence умеет еще следить за целостностью файлов в вашей установке WordPress, плагинов и тем, и присылает администратору письма тогда, когда надо что-то обновить, или когда возникли проблемы.
SSL для блога
Сегодня я таки сделал то, о чем думал давно — сгенерировал себе SSL сертификат и настроил сервер, чтобы он использовал его для этого блога. Дело не совсем в безопасности, а скорее в том, чтобы информация, которую я тут пишу, не летала через сети моего провайдера, да и других российских провайдеров, которые, я знаю, не чисты на руку. Мне, конечно, нечего скрывать, иначе я бы это не писал тут, но мне не нравится мысль о том, что вся информация хранится где-то у людей в погонах и без.
Кстати, хочу тут записать команды, с помощью которых я создал wild-card сертификат для сайта.
1. Сначала редактируем значения по умолчанию:
nano /etc/ssl/openssl.cnf
Самое главное, это закомментировать строки со значениями, которые нам не нужны в сертификате.
2. Генерируем ключ
openssl genrsa 2048 > wildcard.hostname.key
3. Создаем сам сертификат
openssl req -new -x509 -nodes -sha1 -days 3652 -key wildcard.hostname.key > wildcard.hostname.crt
Создаем мы его не на вечность, а на 3652 дня, это 10 лет.
4. Ну а потом подставляем его в конфиг nginx, перезапускаем его и — вуаля! Сайт доступен (только) по HTTPS.
Введение
Итак, вы решили начать изучать программирование. Или вы действительно решили стать программистом? В этом деле, как и в любом другом, надо быть точно уверенным, надо иметь страсть, интерес… Если через пару уроков у вас не появится желания чего-нибудь сделать своими силами, значит либо вам это не подходит, либо я не смог донести до вас красоту мира программирования.
Я хотел написать несколько небольших отступлений, но получилось довольно неплохое введение. Придется вам его прочитать.
Дело в том, что для того, чтобы заниматься программированием, вы должны понимать, насколько широка эта наука. С одной стороны, мы, программисты, можем считаться ремесленниками, но с другой — настоящими инженерами и изобретателями. Как к этому делу подходить вы решите позже, когда научитесь программировать и получите неплохой в этом опыт. Но сейчас я хочу, чтобы вы представили себе больницу. Пройдитесь мысленно по коридорам, загляните в разные кабинеты и посмотрите на врачей. Заметили, что они все очень разные? Они разные внешне, разные внутренне, у них разные привычки и характеры. Разное даже отношение к пациентам, несмотря на то, что все они помогают всем этим людям. Но самое главное — у них разные специализации. Стоматолог, офтальмолог, хирург и даже патологоанатом. Каждый из них когда-то давно выбрал свой путь, свою специализацию. Конечно, все они проходили довольно мощную общую подготовку, но в чем-то они получили разную информацию и разный опыт. Точно так же и в профессии программистов. Есть даже несколько разных классификаций. Например, есть низкоуровневые программисты, есть интерпрайзные, есть веб-разработчики и еще куча разных вариантов. В принципе, выбрав однажды свой конкретный путь, вы не обязательно будете обречены заниматься только этими определенными вещами, но смена его тоже не будет легкой. Например, как у хирурга, решившего стать офтальмологом.
Рождество
Древнеегипетский бог Гор — родился 25-го декабря 3000 лет назад от девственницы Изиды, был распят и воскрес через 3 дня.
Бог Аттис, Фригия — 1200 лет до нашей эры, родился у девственницы Наны 25 декабря, распят, воскрес через 3 дня.
Бог Митра — 1200 лет до нашей эры, рожден девственницей 25-го декабря, было 12 учеников, творил чудеса, после смерти был захоронен и через 3 дня воскрес. Его называли Истинным Светом, день поклонения — воскресение.
Кришна, Индия — 900 лет до нашей эры, рожден девственницей Деваки, рождение обозначила звезда на востоке, творил чудеса, после смерти воскрес.
Дионис, Греция — 500 лет до н.э. рожден девственницей 25-го декабря, превращал воду в вино, его называли Царём Царей, Альфа и Омега. После смерти воскрес.
Иисус, еврейская сказка — 0 лет до н.э. Рожден девственницей Марией, вобрал в себя биографии предыдущих богов, творил чудеса, ходил по воде, превращал воду в вино, ходил с 12-ю учениками, был предан и распят (как Гор), воскрес.
Так чьё рождество вы сегодня отмечаете?
Введение в разметку сайта (Урок 1)
Итак, из чего состоят сайты? Чем описываются те, или иные его части и элементы? Какой минимум всех этих непонятных слов нужен, чтобы пользователь зашел по адресу и увидел мой «сайт»?
1. HTML
Первое, что приходит в голову, это теги <html> и </html>. Да, можно воспользоваться ими, но это будет неправильно. Когда-то, несколько десятков лет назад, браузеры были простыми, они «понимали» какой-то минимальный набор тэгов. Тогда люди не задумывались о всех тех возможностях, которые могут появиться на сайтах в будущем. Всё, что требовалось, это установка размеров текста, гарнитуры, цвета и варианта написания типа жирного, или курсивного. Но с тех пор всё очень сильно изменилось. И в процессе изменений изменялись и браузеры тоже. При появлении новых возможностей разработчикам требовалось адаптировать так называемый парсер к пониманию новых тегов и новых возможностей.
А в какой-то момент код этих парсеров стал настолько сложным, что они решили разделить их на несколько, по критерию понимаемых функций и возможностей. Для старого кода старый парсер, для чуть более нового, другой и т.д. По сути, получилось несколько языков. Все они описывают страницу и элементы на ней, и одним из них является HTML.