Бесплатный домен в Google

yandex_apps_logo

Столкнулся с потребность доменом жить в инфраструктуре Google Apps (Gmail, GDocs, Календарь и т.д.). Это делается довольно просто, путем добавления своего домена в Google инфраструктуру. Все бы ничего, да вот цены кусачие. Но я нашел способ как жить в инфраструктуре Google без добавления домена.

Добавление домена в Yandex’е

Тут у  Yandex’а есть инструкция. Тут же (pdd.yandex.ru) есть админка для управления почтовыми ящиками.

Создание учетной записи в Google Drive без привязки к Gmail

Все очень просто, переходим по ссылке и регистрируемся на почту которую создали в pdd.yandex.ru. После регистрации мы можем пользоваться такими сервисами как Google Drive и календарь.

Использование Gmail в качестве почтового клиента

Для этого необходимо что бы у вас уже была Gmail почта. У существующей Gmail почты настраиваем Импорт почты и контактов, а также Отправку писем. При импорте стоит указать что необходимо помечать письма определенным лейблом, это существенно облегчит работу с почтой. Адрес с которого необходимо отправлять почту можно настроить в Gmail’е, а также явно указать при отправки писем.

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

P.S.: Есть вопросы? Задавайте. Контакты тут.

Хакатон 2015 в Чебоксарах

Intro

В Чебоксарах 17-18 октября 2015 года прошел Хакатон. Мероприятие было организовано компанией Wikimart (на данный момент я там работаю) при поддержке Faraday (коворкинг). В марафоне приняло участие около 25 человек (кто то подошел позже, кому то пришлось уйти раньше).

Представленные проекты

Было представлено 6 проектов.

Mediator bot для Telegram​ – победитель в номинации «Все лайки наши» (Приз зрительских симпатий).
Реализовывали студенты Чувашского Государственного университета.

Telegram Bot для общения на иностранных языках.
Отличная практика иностранных языков с носителем языка.
Основная задача –  для практики иностранного языка найти собеседника со схожими интересами. Для поиска собеседника необходимо указать: язык для общения, возраст, интересы, а также, родной язык что бы вас тоже могли найти. Если результат поиска вас не устраивает, мы можете повторить поиск уточнив параметры.
На презентации проект вызвал большой интерес среди публики, в связи с чем команда решила доработать бота и в скором версии запустить его снова по адресу telegram.me/NativeSpeakerBot

Котофон​ — победитель в номинации «Чертов гений» (Лучшая идея).
Команда была создана на Хакатоне. В ней работало два человека: идейный вдохновитель и парень, предложивший идею, которая сделала кота умным.

Мобильное приложение для Android, в котором ты задаешь вопрос и получаешь смешной ответ. На презентации продукта среди прочих задавали такие вопросы:
Q: Кто победит на Хакатоне?
A: Даже не знаю, что сказать.
Q: Кто сказал мяу?
A: Ты.
Q: Что такое Викимарт?
A: Викимарт — это продажи в интернете прямо сегодня без получения специальных знаний и без начальных инвестиций. Нет, не съедобно.
Q: В чем смысл жизни?
A: Найти испытания и заслужить своё место в раю.

На данный момент есть сайт проекта kotofon.ru.

Домик для Шелдона  — победитель в номинации «Руки из плечОв» (Отличная реализация).
Моя идея, но, как организатор, в проекте я не участвовал.

Домик для Шелдона (он же Sheldon’s House), это сервис для наших (Wikimart’овских) разработчиков позволяющий выполнить множеств задач, от вывода состояния доступности сайта до приготовления кофе. В рабочей Jira разработчиков есть комментарии от цифрового сотрудника Шелдона Купера, это давнишнее детище наших же разработчиков созданный для автоматизации рабочих процессов. В этот раз, используя Raspberry Pi, Шелдона решили интегрировать с физическими устройствами: монитор, лампочки и звонок. На мониторе выводятся рабочие столы с виждетами, рабочие столы могут менять друг за другом, в виджетах отображается информация о созданных CodeReview, найденных ошибках и число дней без происшествий (когда на сайте не было блокирующих ошибок). Также на монитор можно выводить сообщения. Что бы вывести сообщение достаточно в Slack’е написать сообщение, например «!msg Green Приглашаю всех на пиццу в блок технологий», и сразу же на мониторе выведется сообщение «Приглашаю всех на пиццу в блок технологий» на зеленом фоне. В планах подключить лампочки и какой-нибудь приятный звонок для звукового и светового уведомления.

Считалка
Снова моя идея (не все участники имели идеи, пришлось генерировать самому).
Команда состояла из двух участников, заинтересовавшихся идеей.

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

ATB (android TFS build)
Приложение для сбора билдов с помощью мобильного телефона.
Это самый тяжело воспринимаемый  проект для все, кто не относится к ИТ тусовке.
Билды —  подготовленный для использования информационный продукт, созданный из  исходного кода.
TFS — Team Foundation Server — продукт от компании MicroSoft, представляющий собой комплексное решение, объединяющее в себе систему управления версиями, сбор данных, построение отчётов, отслеживание статусов и изменений по проекту и предназначенное для совместной работы над проектами по разработке программного обеспечения.
Идея опять же породилась от ​лени​ творчества разработчиков, для автоматизации их рабочих процессов.
Ребята создали  три экрана для мобильного телефона.
·         Просмотры всех билдов, группировка по типам и статусам.
·         Главное меню, отражающее какие билды идут в данный момент.
·         Экран с историей. Историю можно смотреть за разные периоды (день, неделю, 14 дней, месяц).

BabloCloud — внеконкурсный проект
Снова моя идея 🙂 For Fun проект нашей команды, который мы делали еще до хакатона в нерабочее время.

BabloCloud — это сервис для совместного подсчета финансовых расходов, отлично подходит для дружного коллектива, сотрудники которого вмести ходят в бар, ездят на такси, в общем, имеющие общие расходы.

Фото с события

Фотографии в альбоме «2015-10-17-18 — Хакатон от Викимарта», автор abataloff на Яндекс.Фотках

Читать далее

Уязвимость в службе восстановления паролей ICQ

Уязвимость в службе восстановления паролей ICQ (теоретически позволяет получить доступ к любому UIN)

Решив восстановить давно забытый пароль к старой аське, зашел на сайт ICQ. Первой мыслью было, что восстановить получится, как обычно, через почту; но, как оказалось, к этому UIN не был привязан почтовый ящик. Тогда и решил обратиться в тех. поддержку, написав о проблеме в соответствующей форме. Через некоторое время на почту пришло письмо, в котором они просили указать мои основные данные: дату регистрации, почтовый ящик, секретный вопрос и ответ на него, указанные при регистрации. В ответе на письмо указал примерную дату регистрации, после чего они попросили указать UIN’ы тех, с кем я чаще всего общался. Выслал 7 номеров, из этих 7 номеров они выбрали 2 и сказали, чтобы их владельцы обратились в Онлайн-поддержку по номеру 608987282 с подтверждением, что именно я являюсь владельцем аккаунта с указанием номера заявки в сообщении. Проверив, кто является владельцами этих номеров, понял, что просить их написать в службу поддержки  бессмысленно, так как их давно не было в сети. Со слов тех.поддержки, нет других способов восстановить пароль без подтверждения, но добавили, что достаточно подтверждение от 2-3 контактов. Я решил написать от имени кого-то из 5 других контактов, в этот список входил товарищ, которого я знаю лично и попросил его написать сообщение с подтверждением. Его подтверждение было принято, осталось найти еще одно. Ради интереса решил написать со своего другого номера (который не входил в тот список из 7 UIN, с кем я чаще всего общался). В процессе общения с Онлайн-поддержкой, понял, что там сидит бот, так как он принял только сообщение содержащее номер заявки, и ничего более, на любые другие сообщения он отвечал с просьбой уточнить номер заявки. Спустя некоторое время на почту пришло письмо с просьбой указать активный и не связанный ни с каким UIN почтовый ящик. Написал свой адрес, после чего получил доступ к аккаунту.

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

Порядок действий:

1) Выбираем цель (UIN).

2) Регистрируем новый почтовый ящик (не обязательно).

3) Пишем в тех.поддержку, что не можем восстановить пароль. Выслать его на прикрепленную почту не получится, так как почту украли.

4) Тех.поддержка запрашивает основные данные (дата регистрации, привязанная почта, секретный вопрос).

5) Смотрим данные пользователя, там может оказаться и почта, и дата регистрации. Если их нет, включаем смекалку и пытаемся додумать, какие это могут быть данные. Почту можно и погуглить по UIN, а дату регистрации указать в диапазоне.

6) После чего тех. поддержка запрашивает ответы на секретные вопросы (их мне задали два). Без смекалки никуда, выдумываем. Я ответил, что пробовал на их сайте отвечать на данные вопросы и они были неверными. Но все-равно приложил варианты.

7) Они запрашивают UIN контактов, с которыми чаще всего общались.

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

А дальше я думаю вы догадались что было 🙂

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

Спасибо!

P.S.: Конечно, об этом я в первую очередь сообщил в тех.поддержку, они сказали что у них все ОК 🙂

Комментировать или не комментировать?

Цитата

За все время разработки приходилось не раз «спорить» по данной тематике со своими коллегами. Прочитав книгу Стива Макконнелла «Совершенный код» нашел довольно хорошее объяснение положительных и отрицательных моментов комментирования. Он это все описал в виде беседы с известными действующими лицами. Получилось довольно забавно.

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

Действующие лица:
ФРАСИМАХ Неопытный пурист теории, который верит всему, что читает.
КАЛЛИКЛ Закаленный в боях представитель старой школы — «настоящий»
программист.
ГЛАВКОН Молодой, самоуверенный, энергичный программист.
ИСМЕНА Опытная разработчица, уставшая от громких обещаний и просто
желающая найти несколько работающих методик.
СОКРАТ Мудрый опытный программист.

Мизансцена:
Завершение ежедневного собрания группы
— Желает ли кто-то обсудить еще что-нибудь, прежде чем мы вернемся к работе? — спрашивает Сократ.
— Я хочу предложить стандарт комментирования для наших проектов, — говорит расимах. — Некоторые наши программисты почти не комментируют свой код, а всем известно, что код без комментариев нечитаем.
— Ты, должно быть, еще менее опытен, чем я думал, — отвечает Калликл. — Комментарии — это академическая панацея, и любому, кто писал реальные программы, известно, что комментарии затрудняют чтение кода, а не облегчают. Естественный язык менее точен, чем Java или Visual Basic, и страдает от избыточности, тогда как операторы языков программирования лаконичны и попадают в самое яблочко. Если кто-то не может написать ясный код, разве ему удастся написать ясные комментарии? Кроме того, комментарии устаревают при изменениях кода.
Доверяя устаревшим комментариям, ты сам себе роешь яму.

— Полностью согласен, — вступает в разговор Главкон. — Щедро прокомментированный код читать труднее, потому что в этом случае читать приходится больше. Мало
того, что я должен читать код, так мне нужно читать еще и кучу комментариев!
— Подождите минутку, — вставляет свои две драхмы Йемена, ставя чашку кофе.
— Конечно, злоупотребление комментариями возможно, но хорошие комментарии
ценятся на вес золота. Мне приходилось сопровождать код как с комментариями,
так и без них, и, будь у меня выбор, я бы предпочла первый вариант. Не думаю, что
нам нужен стандарт, заставляющий писать один комментарий на каждые х строк
кода, но побудить всех программистов комментировать код не помешает.
— Если комментарии — пустая трата времени, почему все их используют, Калликл? — спрашивает Сократ.
— Или потому, что таково требование, или потому, что человек прочитал где-то о
пользе комментариев. Ни один программист, когда-либо задумавшийся об этом, не пришел к выводу, что комментарии полезны.

— Йемена считает, что они полезны. Она уже три года сопровождает твой код без
комментариев и чужой код с комментариями. Ее мнение ты уже слышал. Что ты
скажешь на это?
— Комментарии бесполезны, потому что они просто повторяют код в более многословной…
— Подожди, — прерывает Калликла Фрасимах. — Хорошие комментарии
не повторяют код и не объясняют его. Они поясняют его цель. Комментарии должны объяснять намерения программиста на более высоком уровне абстракции, чем код.
— Верно, — соглашается Йемена. — Если я ищу фрагмент, который мне нужно изменить или исправить, я просматриваю комментарии. Комментарии, повторяющие код, на самом деле бесполезны, потому что все уже сказано в самом коде. Когда
я читаю комментарии, я хочу, чтобы они напоминали оглавление книги. Комментарии должны помочь мне найти нужный раздел, а после этого я начну читать
код. Гораздо быстрее прочитать одно предложение на обычном языке, чем анализировать 20 строк кода на языке программирования.
Йемена наливает себе вторую чашку кофе.

— Мне кажется, что люди, отказывающиеся писать комментарии, A) думают, что
их код понятнее, чем мог бы быть, B) считают, что другие программисты гораздо сильнее интересуются их кодом, чем есть на самом деле, C) думают, что другие программисты умнее, чем есть на самом деле, D) ленятся или E) боятся, что
кто-то другой узнает, как работает их код.
— В этом смысле очень помогли бы обзоры кода, Сократ, — продолжает Йемена.
— Если кто-то утверждает, что комментарии писать не нужно, и получает во время обзора кучу вопросов — если сразу несколько коллег спрашивают его: „Что происходит в этом фрагменте твоего кода?» — он начинает писать комментарии. Если программист не дойдет до этого сам, его руководитель сможет заставить его писать комментарии.
— Я не утверждаю, Калликл, что ты ленишься или боишься, что кто-то другой поймет твой код. Я работала с твоим кодом и могу сказать, что ты — один из лучших
программистов компании. Но будь чуточку добрее, а? Мне было бы легче сопровождать твой код, если бы ты писал комментарии.

— Но это пустая трата времени, — не сдается Калликл. — Код хорошего программиста должен быть самодокументирующимся: все, что нужно знать другим программистам, должно быть в самом коде.
— Нет! — Фрасимах вскакивает со стула. — В коде и так уже есть все, что нужно
знать компилятору! С таким же успехом можно было бы сказать, что все, что нужно знать другим программистам, уже есть в двоичном исполняемом файле! Если
бы мы только были достаточно умны, чтобы уметь читать его! Информации о том,
что программист собирался сделать, в коде нет.
Фрасимах замечает, что вскочил с места, и садится.
— Сократ, это немыслимо. Почему мы спорим о важности комментариев? Во всех
книгах, которые я читал, говорится, что комментарии полезны и что на них не стоит экономить. Мы зря теряем время.
— Успокойся, Фрасимах. Спроси у Калликла, как давно он программирует.

— Действительно, как давно, Калликл?
— Ну, я начал с системы Акрополь IV где-то 15 лет назад. Думаю, что я стал свидетелем рождения и гибели примерно десятка крупных приложений. А еще в десятке проектов я работал над крупными компонентами. Две из этих систем включали более полумиллиона строк кода, так что я знаю, о чем говорю. Комментарии совершенно бесполезны.
Сократ бросает взгляд на более молодого программиста.
— Как говорит Калликл, с комментариями действительно связано много проблем,
и ты не поймешь это, пока не приобретешь больше опыта. Если комментировать
код неграмотно, комментарии не просто бесполезны — они вредны.
— Они бесполезны, даже если комментировать код грамотно, — заявляет Калликл.
— Комментарии менее точны, чем язык программирования. Лично я думаю, что
лучше вообще их не писать.

— Постой, — говорит Сократ. — Йемена согласна с тем, что комментарии менее
точны, но она утверждает, что комментарии поднимают программиста на более
высокий уровень абстракции, а все мы знаем, что абстракция — один из самых
эффективных инструментов, имеющихся в нашем распоряжении.
— Я с этим не согласен, — заявляет Главкон. — Нам следует концентрироваться
не на комментариях, а на читабельности кода. При рефакторинге большинство
моих комментариев исчезает. После рефакторинга мой код может включать 20
или 30 вызовов методов, не нуждающихся в каких бы то ни было комментариях.
Хороший программист способен определять цель автора по самому коду; к тому
же какой толк в чтении о чьей-то цели, если известно, что код содержит ошибку?
Главкон умолкает, удовлетворенный своим вкладом в беседу. Калликл кивает.
— Похоже, вам никогда не приходилось изменять чужой код, — говорит Йемена.
Калликл делает вид, что его очень заинтересовали плитки на потолке.

— Почему бы вам не попробовать прочитать собственный код через шесть месяцев или год после его написания? Вы можете развивать и навык чтения кода, и навык
его комментирования. Никто не заставляет вас выбирать что-то одно. Если вы читаете роман, вам, может, и не нужны названия глав. Но при чтении технической
книги вам, наверное, хотелось бы иметь возможность быстро найти то, что вы ищете.
Тогда мне не пришлось бы переходить в режим сверхсосредоточенности и читать
сотни строк кода для нахождения двух строк, которые я хочу изменить.
— Хорошо, я понимаю, что возможность быстрого просмотра кода была бы удобной, — говорит Главкон. Он видел некоторые из программ Исмены, и они не оставили его равнодушным. — Но как быть с другим утверждением Калликла — что
комментарии устаревают по мере изменений кода? Я программирую лишь пару
лет, но даже я знаю, что никто не обновляет свои комментарии.

— Ну, и да, и нет, — говорит Йемена. — Если вы считаете комментарии неприкосновенными, а код подозрительным, у вас серьезные проблемы. На самом деле несоответствие между комментарием и кодом обычно говорит о том, что неверно
и то, и другое. Если какие-то комментарии плохи, это не означает, что само комментирование плохо. Пойду налью себе еще чашку кофе.
Йемена выходит из комнаты.
— Мое главное возражение против комментариев, — заявляет Калликл, — в том,
что они тратят ресурсы.
— Можете ли вы предложить способ минимизации времени написания комментариев? — спрашивает Сократ.
— Проектирование методов на псевдокоде, преобразование псевдокода в комментарии и написание соответствующего им кода, — говорит Главкон.
— ОК, это сработает, если комментарии не будут повторять код, — утверждает Калликл.
— Написание комментария заставляет вас лучше подумать над тем, что делает ваш
код, — говорит Йемена, возвращаясь с новой чашкой кофе. — Если комментарии
писать трудно, это означает, что код плох или вы недостаточно хорошо его понимаете. В обоих случаях вы должны поработать над кодом еще, так что время, потраченное на его комментирование, не пропадает — оно указывает вам на необходимую работу.
— Хорошо, — подводит итоги Сократ. — Не думаю, что у нас остались еще вопросы. Похоже, Йемена сегодня была самой убедительной. Мы будем поощрять комментирование, но не будем относиться к нему простодушно. Мы будем выполнять
обзоры кода, чтобы все поняли, какие комментарии на самом деле полезны. Если
у вас возникнут проблемы с пониманием кода другого программиста, подскажите ему, как он может его улучшить.

© Стив Макконнелл

«Ясно, что на некотором уровне комментарии должны быть полезны. Думать иначе означало бы полагать, что понятность программы не зависит от того, сколько информации о ней уже известно читающему программу человеку. Б. Шейл.»

А вот и первая запись

Первая запись «А вот и первая запись» в системе CMS под названием WordPress.

Первая картинка первой записи

Жирный, курсив и зачеркнутый текст я тут в первый раз записал.

  • Маркированный
  1. Нумерованный

список можно добавить.

Мне тут многому ещё надо

Учиться, учиться и учиться

Ведь есть текст выровненный

по левому краю

по центру

и по правому краю.

Ну а гиперссылку я уже использовал здесь.