Как стать автором
Обновить
17
0
Отправить сообщение

Ловля интернетов в глухой деревне с помощью 3G антенны

Время на прочтение3 мин
Количество просмотров307K
Привет всем!

Не так давно я задался целью обеспечить интернетом жену, отдыхающую все лето с ребенком в деревне. Даже ответственно озаботился покупкой сим-карты для ее любимого айпадика (раньше как-то обходились wi-fi). Каково же было мое разочарование, когда по приезду в деревню я обнаружил почти полное отсутствие сигнала сотовой сети что на планшете, что на мобильных телефонах… Понятно — зря выкинул деньги на симку. Неделя моего пребывания в деревне ознаменовалась лазаньем по чердакам, крышам, просто по участку, уткнувшись в смартфон в надежде увидеть хотя бы GPRS. Все тщетно… Отбыл в Москву, мои остались в этой глухомани отдыхать от радиоволн.

По дороге домой обдумывал план решения проблемы. Необходимость в интернете у жены диктовалась даже не сколько развлекательными целями, сколько возможностью бесплатно переписываться по Viber и регулярно снабжать меня фотками дочурки (надо сказать, писать sms и mms из Тверской области в Москву недешево). Так же давало надежду знание того, что в другой деревне, в паре километров, интернет работал, причем довольно устойчиво и с почти полным индикатором сигнала. Значит где-то рядом с этой деревней есть базовая станция, снабжающая деревню устойчивым 3G сигналом. Судя по всему, складки местности или иные преграды мешают сигналу достигать нашего участка.

Решение придумалось конечно не новое и не оригинальное — и ежу понятно, что нужно вооружаться направленной 3G антенной. Тем более, у меня уже имелся некоторый опыт эксплуатации направленных антенн для ловли 4G в Москве. В голове, где-то на пыльных задворках, лежали воспоминания о курсе антенно-фидерных устройств, который нам целый семестр читали в институте. И благодаря этим знаниям я прекрасно понимал, что собирать такую антенну самостоятельно будет довольно трудозатратно и долго, решил покупать готовую.
Читать дальше →

Визуализация списков в отладчике Visual Studio или новое слово от «BugAid For Visual Studio»

Время на прочтение3 мин
Количество просмотров13K
Когда приходится просматривать элементы списка (массива) в отладчике Visual Studio, например, в окне QuickWatch часто сталкивашься с не удобством просмотра сложного (или длинного) списка данных. Тяжело увидеть, например, значения поля всех элементов списка.
Данный пост показывает несколько «встроенных» способов решения этой проблемы и возможности расширения BugAid.
мало букв, но достаточно картинок.

Читать дальше →

Хорошая беседа о борьбе с прокрастинацией

Время на прочтение1 мин
Количество просмотров61K
Давно знаком и являюсь поклонником Яны Франк (ака Миумау в ЖЖ — www.miumau.lj.ru). Был на ее встрече позавчера, записал всю встречу на видео. Что мне понравилось: много дельных советов о борьбе с творческим кризисом, прокрастинацией в личном развитии и астенизацией. Все эти подходы применимы не только среди «художников», или тех чьи профессии считаются «творческими», но и вообще среди людей, которые хотят получать удовольствие от работы.

Вначале пару минут вступления-хождения.

Простой путь создания сложных ASP.NET MVC контролов

Время на прочтение6 мин
Количество просмотров23K
Наверняка все создавали свои asp.net mvc контролы (речь, конечно, про asp.net mvc кодеров). Вам должен быть знаком метод создания контролов, используя TagBuilder? Пробовали писать реально сложные контролы (например с большим количеством javascript-та или разметки, которая зависит от опций)? Тогда наверняка вам знаком адЪ экранирования кавычек, конкатенации строк (или вызова .Format() функции) и т.п. «неудобства». Я предлагаю взглянуть на достаточно простую методику, которая позволит избежать подобных вещей и в тоже время сосредоточиться на функциональной стороне контролов, а не на программировании шелухи.
Читать дальше →

Условие «WHERE» по составным ключам в Entity Framework

Время на прочтение4 мин
Количество просмотров17K
Совсем недавно при разработке проекта с версионностью, я столкнулся с проблемой выборки элементов по списку составных ключей.

Описание проблемы:

При разработке «в условиях» версионности primary key таблиц состоит из Id и Revision. Нужно получить выборку из таблицы БД по передаваемому списку составных ключей (Id, Revision). Такой SQL запрос выглядел бы так (для пяти элементов в списке):
/* Запрос 1 */
select *
from dbo.[Items] i
where  (i.Id = 1 and i.Revision = 2) 
	OR (i.Id = 1 and i.Revision = 4)
	OR (i.Id = 3 and i.Revision = 3)
	OR (i.Id = 3 and i.Revision = 4)
	OR (i.Id = 5 and i.Revision = 9)

Но Entity Framework не позволяет написать такой запрос для списка составных ключей. Максимум что можно сделать стандартными средствами это:
context.Items.Where(i=> idList.Contains(i.Id) && revisionList.Contains(i.Revision))

что превратится в такой запрос (концептуально):
/* Запрос 2 */
select *
from dbo.[Items] i
where i.Id in (1, 3, 5) and i.Revision in (2, 3, 4, 9)

Этот запрос будет выдавать неверные результаты, если таблице Items есть элементы с такими идентификаторами:
Id = 3, Revision = 2
Id = 3, Revision = 4
А в списке составных ключей есть такие строчки:
Id = 5, Revision = 4
Id = 3, Revision = 2

Так как же быть?
Читать дальше →

Wi-Fi: неочевидные нюансы (на примере домашней сети)

Время на прочтение14 мин
Количество просмотров1.4M
Сейчас многие покупают точки доступа 802.11n, но хороших скоростей достичь удается не всем. В этом посте поговорим о не очень очевидных мелких нюансах, которые могут ощутимо улучшить (или ухудшить) работу Wi-Fi. Всё описанное ниже применимо как к домашним Wi-Fi-роутерам со стандартными и продвинутыми (DD-WRT & Co.) прошивками, так и к корпоративным железкам и сетям. Поэтому, в качестве примера возьмем «домашнюю» тему, как более родную и близкую к телу. Ибо даже самые администые из админов и инженеристые из инженеров живут в многоквартирных домах (или поселках с достаточной плотностью соседей), и всем хочется быстрого и надежного Wi-Fi.
[!!]: после замечаний касательно публикации первой части привожу текст целиком. Если вы читали первую часть — продолжайте отсюда.
Читать дальше →

Heroes III. The Restoration of Campaign

Время на прочтение5 мин
Количество просмотров16K
О третьих героях, понятное дело, все знают. Недели времени, потерянного за hotseat-ом, вызубренные характеристики юнитов, тактика застройки, развития. Еженедельные посиделки с друзьями за героями c кофе и рогаликами. Здорово, в общем было. А вот на днях захотелось повторить и сыграть по сети. Уже ж разъехались все, hotseat не прокатит. Скачали дистрибутив клинка Армагеддона, настроили hamachi, да не заладилось что-то. Пинг большой почему-то, не завелось ничего. Ну, занятые все, разбираться некогда, да и неохота. Не пошла игра.

А герои то установлены, желание играть есть. Решил кампанию пройти (к своему стыду, так ни разу не хватило терпения пройти ее в прошлом). Запустил, выбрал кампанию возрождения Эратии, нажал на эпизод «Жертвы войны». И я не знаю, интуиция, наверное, появляется какая-то за то время, пока программированием занимаешься. В общем, показали мне герои такую картинку:

И, как часто у меня случается, игра закончилась, а началась более интересное и захватывающее занятие.
Отладка

Как сделать группу инпутов удобной

Время на прочтение2 мин
Количество просмотров47K
Когда я работал над сервисом заметок jotsky.com, еще до работы в Островке, надо было сделать ввод телефонного номера из двух инпутов. Примерно такой:



Я сделал навигацию с помощью стрелочек. Сделал, чтобы по мере заполнения фокус переключался к следующем инпуту. А вот сделать правильную вставку из буфера обмена у меня никак не получалось.
Читать дальше →

Восстановление расфокусированных и смазанных изображений. Практика

Время на прочтение10 мин
Количество просмотров353K
Не так давно я опубликовал на хабре первую часть статьи по восстановлению расфокусированных и смазанных изображений, где описывалась теоретическая часть. Эта тема, судя по комментариям, вызвала немало интереса и я решил продолжить это направление и показать вам какие же проблемы появляются при практической реализации казалось бы простых формул.

В дополнение к этому я написал демонстрационную программу, в которой реализованы основные алгоритмы по устранению расфокусировки и смаза. Программа выложена на GitHub вместе с исходниками и дистрибутивами.

Ниже показан результат обработки реального размытого изображения (не с синтетическим размытием). Исходное изображение было получено камерой Canon 500D с объективом EF 85mm/1.8. Фокусировка была выставлена вручную, чтобы получить размытие. Как видно, текст совершенно не читается, лишь угадывается диалоговое окно Windows 7.



И вот результат обработки:



Практически весь текст читается достаточно хорошо, хотя и появились некоторые характерные искажения.

Под катом подробное описание проблем деконволюции, способов их решения, а также множество примеров и сравнений. Осторожно, много картинок!
Читать дальше →

Электрический переключатель скоростей для велосипеда

Время на прочтение1 мин
Количество просмотров14K



На сайте instructables.com опубликован DIY-проект создания электрического переключателя скоростей для велосипеда. На английском языке, зато с кучей картинок. Вещь, на мой взгляд, совершенно прекрасная :)

Все на https, безопасно и дешево

Время на прочтение2 мин
Количество просмотров24K

Краткое введение


В наши дни все понимают насколько простой задачей является угон незащищенной http сессии.
И останавливать от повсеместного внедрения может только цена на покупку сертификата, www.startssl.com решает эту проблему, раздавая бесплатные сертификаты (Class 1). Verified (Class 2) стоят копейки.
Читать дальше →

Управление состояниями UI при разработке под Windows Phone

Время на прочтение4 мин
Количество просмотров2.2K
Недавно нашей командой (Sly Lamb) был выпущен клиент для сервиса Pruffi.ru под Windows Phone. Во время разработки у нас возник вопрос – как отображать пользователю список вакансий, который может находиться в нескольких состояниях.

В этой статье мы хотим показать легкий механизм изменения состояния отображения элементов при помощи Expression Blend и паттерна MVVM. Пример будет приведен с использованием фреймворка MVVM Light Toolkit, но думаю, различия с другими должны быть минимальны.
Читать дальше →

Самые простые техники адаптивной верстки

Время на прочтение2 мин
Количество просмотров463K
Сайтов с адаптивной разметкой с каждым месяцем становится все больше, заказчики кроме кроссбраузерности все чаще требуют адаптивность, но многие разработчики не спешат обучаться новым техникам. Но адаптивный дизайн — это просто! В этой статье представлено 5 примеров адаптивной разметки различных элементов веб-страниц.


Читать дальше →

Внутренности jQuery. Поиск кода, выполняемого по событию

Время на прочтение4 мин
Количество просмотров25K
Чем дальше в лес, тем толще партизаны. Нет, не так. Чем старше веб, тем больше джаваскрипта

Клиентского кода в веб-приложениях с каждым годом действительно становится все больше. Подчас это десятки файлов с сотнями функций. И что делать, когда нам нужно поменять код, выполняемый по событию (например, клик по ссылке). Как его найти? Задавшись решением этой задачи, я придумал несколько разных вариантов. Каждый из них имеет свои плюсы и минусы. И в конце статьи я предлагаю метод, который мне кажется оптимальным.
Читать дальше →

Что дает обычному человеку Федеральный Закон №152 О персональных данных?

Время на прочтение5 мин
Количество просмотров123K
Об операторах персональных данных написано довольно много статей.
Операторы очень расстроены, что им приходится тратить средства на защиту персональной информации, что им всем тяжело живется и вообще все очень плохо.
С другой стороны есть сами владельцы персональных данных, и я предлагаю рассмотреть тему именно с этой стороны. Что же дает владельцу персональных данных ФЗ № 152 и каким способом он может защитить свои законные интересы?
В данном случае разговор пойдет о коммерческих организациях, вопрос относительно государственных органов – тема отдельной статьи.

Читать дальше →

OAuth2 клиент для ASP.NET

Время на прочтение2 мин
Количество просмотров14K
OAuth2 – протокол авторизации, логическое развитие OAuth 1.0. Подробнее про него можно прочитать здесь.

Блуждая по интернету в поисках нормальной библиотеки OAuth клиента для .net я не нашёл ничего подходящего и решил написать сам, благо ничего сложного в этом нет. От библиотеки требуется производить три действия: выдавать ссылку на запрос кода авторизации, после возврата от авторизатора перенаправлять приложение на страницу запроса токена и далее производить запросы используя полученный токен.
Читать дальше →

Windows Phone. Rush for Apps

Время на прочтение2 мин
Количество просмотров7.6K
Друзья! В преддверии запуска Windows Phone “Mango” в России мы решили объявить марафон разработки приложений под WP7, в рамках которого мы поможем вам сделать свое первое или не первое приложение.


Читать дальше →

Универсальный репозиторий ADO.NET Entity

Время на прочтение9 мин
Количество просмотров6.9K
Уважаемые программисты!
Не было печалиПонадобилось мне плотно поработать с ASP.NET MVC2 + Entity Framework, однако базовая функциональность работы с БД меня совсем не впечатлила, потому что нужно было каждый раз выбирать нужную коллекцию объектов из списка. Как избежать написания нескольких классов и использовать всего один — пойдет дальше речь.

Требования

Для начала определимся, что же собственно хотелось бы получиться на выходе.

Хочется удобно работать с объектами:
  • Добавлять.
  • Удалять.
  • Редактировать.
  • Получать по ID.
  • Получать список всех объектов.

Читать дальше →

Интеграция ASP.NET MVC 3 приложений с Facebook OAuth API. Часть 2: Кнопка Like

Время на прочтение3 мин
Количество просмотров1.8K
Сейчас на очень многих сайтах есть кнопка Like от Facebook. Если её нажать, то у пользователя на странице будет сообщение, что ему нравится данная страница. Это видят его друзья и они могут пройти по этой ссылке и попасть на ваш сайт. Неплохое продвижение сайта, не так ли?

Сейчас посмотрим, как поместить такую кнопку на ваш сайт.

Читать дальше →

Интеграция ASP.NET MVC 3 приложений с Facebook OAuth API. Часть 1: Авторизация

Время на прочтение5 мин
Количество просмотров6.9K
Зачем нужна авторизация на вашем сайте через Facebook?
На данный момент в социальной сети Facebook более 500 млн. пользователей. Многие сайты предоставляют возможность авторизироваться без дополнительной регистрации, где нужно заполнять много полей информации о себе. Если у вас есть аккаунт на Facebook, то вам достаточно войти на сайт используя его. Это экономит время, ведь регистрация нередко требует потратить минут 5-10.

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

Итак, приступим…
Читать дальше →

Информация

В рейтинге
5 138-й
Откуда
Пермь, Пермский край, Россия
Дата рождения
Зарегистрирован
Активность