Как стать автором
Обновить
1
0

Пользователь

Отправить сообщение

Слабые события в C#

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

От переводчика


Недавно в проекте, где я работаю, мы столкнулись с проблемой утечки памяти. Прочитав множество статей — от рассказов по управлению памятью в .NET до практических рекомендаций по правильному освобождению ресурсов, я в том числе наткнулся на статью, в которой рассказывается, как корректно использовать события. Ее перевод я и хочу вам представить.
Это топик из песочницы, с которым я попал сюда на Хабр.

Читать дальше →
Всего голосов 93: ↑76 и ↓17+59
Комментарии18

Фотографии рабочих мест хабражителей и…

Время на прочтение6 мин
Количество просмотров411K
image
Хабражители редко ходят друг к другу в гости. И, в то же самое время, хотят взглянуть на то, как устроились другие. Может быть, даже, позаимствовать разные интересности.

Пока вы дома, самое время вооружиться фотоаппаратом и поделиться видом своего рабочего места (домашнего).

По возможности, описываем:
1. 7 любимых гаджетов.
2. 7 ежедневных программ.
3. 7 интересных открытий, которыми вы часто пользуетесь.

Приоткройте занавесу тайны в своей обители.

PS: Бонус для владельцев ноутбуков — подключаем 2 монитора.
Читать дальше →
Всего голосов 286: ↑210 и ↓76+134
Комментарии676

Сеть беспроводных устройств на Arduino

Время на прочтение12 мин
Количество просмотров89K
Микро-контроллер на платформе Arduino — отличная платформа для хобби-проектов различной степени сложности и полезности. Не буду утверждать, что платформа Arduino есть наилучший выбор для профессиональных решений (скорее соглашусь с обратным), но для моих любительских «поделок» в области домашней автоматики это оптимальный вариант. Т.е. контроллер хорош сам по себе, но, если к тому же он перестанет быть «самим по себе», а будет уметь «общаться» с себе подобными, при этом не обрастая дополнительными проводами, то его полезность и применимость может многократно вырасти. Итак, начнём строить наш домашний SkyNet…
Читать дальше →
Всего голосов 40: ↑38 и ↓2+36
Комментарии21

Hyperboria: Интернет 2.0

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


Hyperboria — это Open Source реализация проекта Mesh сетей, аналог всем известного и желанного проекта Netsukuku, который, к сожалению, умер.

Другими словами, Hyperboria это самоорганизующаяся децентрализованная сеть, которая сама строит маршруты между узлами.
Или проще говоря — это то, чем интернет должен был стать, свободным, не цензурируемым, быстрым и автоматически масштабируемым.
Читать дальше →
Всего голосов 88: ↑85 и ↓3+82
Комментарии55

Смартфон с Full HD экраном за $200? Легко!

Время на прочтение4 мин
Количество просмотров147K
Встречайте! iOcean X7 — 5 дюймовый смартфон с разрешением экрана 1920х1080 пикселей:
image

4 ядра Cortex-A7, 2 сим-карты, неплохая 8Мп камера и всё это по цене чуть более $200.
Читать дальше →
Всего голосов 95: ↑76 и ↓19+57
Комментарии94

Учим гипотетическую страну читать: как можно работать на новом рынке

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


Представьте себе, что вам нужно научить страну читать. Серьёзно: предположим, сейчас умеет читать, скажем, каждый двухсотый, а вы хотите довести этот показатель хотя бы до каждого второго. Это хороший пример работы с абсолютно новым рынком.

На момент начала вашей работы в стране издано 20 книг, самые известные — это Библия, «Война и мир» Толстого, справочник агронома и Камасутра. Последняя расходится широко, но вы подозреваете, что благодаря картинкам. Культуры чтения нет (но она была когда-то давно), нормальных книг нет, понимания зачем читать — тоже нет. Денег для федеральной программы или чего-то ещё у вас нет, и поддерживать вас централизованно никто не будет.

Итак, что вы будете делать?
Пожалуйста, задумайтесь над ответом на секунду, прежде чем идти ниже
Всего голосов 86: ↑78 и ↓8+70
Комментарии39

Главный интернет-евангелист Google Винт Сёрф рассказывает о межпланетном Интернете

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


В тот день, когда будущие марсианские колонисты смогут открыть браузер и посмотреть, как котик в костюме акулы, верхом на роботе-пылесосе roomba, преследует утку, благодарить им следует ни кого иного, как Винта Сёрфа.

В качестве главного интернет-евангелиста google, Сёрф провел достаточно времени, размышляя о будущем сетевых технологий. И он имеет на это полное право — ведь именно Сёрф, вместе с Бобом Каном (Bob Kahn) был ответственен за разработку TCP/IP. Но, не удовлетворившись своей ролью отца Интернета на этой планете, Сёрф потратил годы на то, чтобы его детище вышло и в космос.

Работая совместно с NASA и JPL, Сёрф помогал разрабатывать новый стек протоколов, который может быть использован в условиях космоса — в которых, учитывая ограничения, связанные со скоростью света, а так же сложности орбитальной механики, — осуществление работы сети становится весьма сложным.

Мы [wired.com, — прим.пер.] пообщались с Сёрфом о роли этого межпланетного Интернета в исследовании космоса, имеющихся на сегодня проблемах, а так же о том, каким ему видится будущее этой технологии.

Читать дальше →
Всего голосов 77: ↑75 и ↓2+73
Комментарии47

Shodan – самый страшный поисковик Интернета

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


«Если люди не могут найти что-то в Google, они думают, что это не сможет найти никто. Это не так», – утверждает Джон Мэзерли, создатель Shodan, самого страшного поискового движка Интернета.

В отличие от Google, который ищет в Сети простые сайты, Shodan работает с теневыми каналами Интернета. Это своего рода «черный» Google, позволяющий искать серверы, веб-камеры, принтеры, роутеры и самую разную технику, которая подключена к Интернету и составляет его часть.

Читать дальше →
Всего голосов 199: ↑191 и ↓8+183
Комментарии131

«А что если», Event Sourcing

Время на прочтение4 мин
Количество просмотров70K
Наверное, про Event Sourcing слышал каждый, кто хоть раз пересекался с темой CQRS и DDD. Это подход хранения данных, при котором вместо конечного результата храниться череда записей о событиях происшедших с некоторой сущностью. На сайте Мартина Фаулера есть подробное описание, а мы же остановимся на фундаменте, основных «печенюшках», а также проблемах в его применении.
Читать дальше →
Всего голосов 37: ↑32 и ↓5+27
Комментарии106

Semantic MediaWiki

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

Semantic MediaWiki — это расширение, ради которого стоит ставить MediaWiki: оно помогает бороться с бардаком и хаосом, который рано или поздно воцаряется в любой вики-системе.

  • Оно позволяет поддерживать согласованность данных на вики.
  • С его помощью можно обращаться с вики как с базой данных.
  • С его помощью можно генерировать красивые графики, диаграммы и графы на основе вики-данных.
  • Оно позволяет пользователям возможность вводить данные с помощью форм, а не вики-разметки, понижая тем самым порог вхождения для пользователей.

SMW позволяет использовать вики как составную часть системы управления знаниями, с его помощью можно создавать коммерческие системы, которые сочетают простоту вики, четкость коллаборативных баз данных, и лучшее из мира Semantic Web. В общем, это вещь, более чем достойная пристального внимания и подробного обзора.
Читать дальше →
Всего голосов 70: ↑67 и ↓3+64
Комментарии26

Blind Deconvolution — автоматическое восстановление смазанных изображений

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


В последние несколько лет интенсивно развивается новое направлении в теории восстановления изображений — слепая обратная свертка (Blind Deconvolution). Появилось достаточно много работ по этой теме, и начинается активное коммерческое использование результатов.
Многие из вас помнят конференцию Adobe MAX 2011, на которой они как раз показали работу одного из алгоритмов Blind Deconvolution: Исправление смазанных фотографий в новой версии Photoshop
В этой статье я хочу подробнее рассказать — как же работает эта удивительная технология, а также показать практическую реализацию SmartDeblur, который теперь тоже имеет в своем распоряжении этот алгоритм.
Внимание, под катом много картинок!
Читать дальше →
Всего голосов 243: ↑239 и ↓4+235
Комментарии150

Как крупные корпорации убивают маленькие стартапы

Время на прочтение6 мин
Количество просмотров179K
В этой статье я хочу рассказать историю одного стартапа, который я запустил 10 лет назад, о первых продажах, о «взлете», который так и не случился, и о том, как все это кануло в Лету (река «Забвения»).

В начале 2000-х популярным направлением для самодеятельности была разработка программного обеспечения. Интернет еще был не так популярен, как сейчас, а софт ставили все кому не лень и всякий разный. Тогда я был хорошим, можно сказать, сильным программистом на C++. Никакие самые сложные задачи не могли остановить меня. И я подумал, а не сделать ли что-то свое, потому что перспектива работать на контору, которая программировала всякую «муть» для довольно «далеких» (в плане понимания необходимости ПО) заказчиков меня не сильно вдохновляла. Ведь жизнь проходит, энтузиазм не вечен (а если и вечен, то не у всех), а написать в резюме, что я 10 лет программировал на FoxPro для региональных филиалов не самого крупного банка – не было моей целью.
Поэтому я силой мысли нарисовал себе мечту (примерно как на картинке) и начал потихоньку к ней идти.


Читать дальше →
Всего голосов 230: ↑203 и ↓27+176
Комментарии60

Домашний GTD: Уборка дома для гиков

Время на прочтение7 мин
Количество просмотров141K
image
Думаю, практически все обитатели Хабра (и я в том числе) ненавидят домашнюю уборку. Все эти горы грязной посуды, кучки разбросанных вещей и анекдоты в стиле «женщины моют посуду после еды, мужчины – перед едой» и рассказы про живность в кружке из-под чая, собственно, довольно обыденная вещь. До жены я практически так и жил ) При этом умудрялся ещё проходить еженедельные проверки комнат в общаге, устраивать вечеринки, что-то готовить и не отравиться. А также искал и находил нужную вещь в своём «творческом беспорядке». У меня «датчик необходимости уборки» включался уже когда в квартире невозможно было ходить, но потом зато квартира блестела чистотой.

Так как мужской праздник прошёл, и, я надеюсь, отметили вы его преотлично, скорее всего после этого беспределья нужно будет навести порядок. Так как информации о мужской точке зрения на уборку вообще нигде нет, решил поделиться несколькими советами по уборке и вообще поддержанию квартиры\дома в чистоте. Эдакий Home GTD.
Итак, приступим
Всего голосов 133: ↑97 и ↓36+61
Комментарии113

Задачи и отмена в .Net — tips & tricks

Время на прочтение11 мин
Количество просмотров101K
С выходом .NET Framework 4.0 в состав BCL была добавлена библиотека Task Parallel Library (TPL), реализующая параллелизм на основе задач. В основе библиотеки лежат типы Task и унаследованный от него тип Task. Эти типы являются обёртками для асинхронных операций; они позволяют абстрагироваться от таких технических деталей, как, например, потоки и синхронизировать асинхронные операции друг с другом.

В этой же версии .NET Framework появился мини-framework для кооперативной отмены асинхронных операций. Состоит он из всего трёх типов:
  • CancellationTokenSource — создаёт маркёры отмены (свойство Token) и обрабатывает запросы на отмену операции (перегруженные методы Cancel/CancelAfter).
  • CancellationToken — маркёр отмены; позволяет несколькими способами отслеживать запросы на отмену операции: опросом свойства IsCancellationRequested, регистрацией callback-функции (через перегруженный метод Register), ожиданием на объекте синхронизации (свойство WaitHandle).
  • OperationCanceledException — исключение, выброс которого по соглашению означает, что запрос на отмену операции был обработан и операция должна считаться отменённой. Предпочтительный способ генерации исключения — вызов метода CancellationToken. ThrowIfCancellationRequested.

Механизм отмены через CancellationToken является стандартным для TPL — есть перегрузки методов, принимающих CancellationToken, исключения OperationCanceledException специальным образом обрабатываются и т.д. Однако, как и в любом другом API, есть свои тонкости, хитрости, best practices.
Читать дальше →
Всего голосов 39: ↑39 и ↓0+39
Комментарии5

Пиксельная подсветка просто и быстро

Время на прочтение7 мин
Количество просмотров224K
Ролики с демонстрацией пиксельной подсветки выглядят довольно эффектно — куча разноцветных всплохов, динамичные отблески смотрятся просто замечательно и выглядят более подвижными по сравнению с другими типами подобной подсветки.
Желание поработать с управляемыми огоньками с помощью arduino побудили меня соорудить такую систему. Как оказалось, это довольно простое мероприятие, на которое в сумме было потрачено всего несколько часов (собственно, само сооружение — 10 минут, остальное — софт). Детали процесса сборки и программирования я и изложу в этой статье. Софт, выводы и демо прилагаются.

Читать дальше →
Всего голосов 106: ↑98 и ↓8+90
Комментарии66

Альтернатива Dropbox от BitTorrent

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

BitTorrent Inc. анонсировало новое приложение позволяющее пользователям синхронизировать папки посредством bittorent протокола с шифрованием. Программа бесплатна, не имеет ограничений на объемы хранилища и может использоваться как резервное хранилище или общая папка. BitTorrent Sync будет особенно полезна для тех групп пользователей, которым необходимо обмениваться через интернет большими файлами.
Читать дальше →
Всего голосов 102: ↑93 и ↓9+84
Комментарии150

Концепция Суперпароля — как дополнительная защита для веб-базированных почтовых аккаунтов

Время на прочтение4 мин
Количество просмотров10K
Взломы веб-базированных электронных почтовых ящиков в последнее время становятся все более распространенными. Способов взлома множество – простой подбор, keyboard logger, подбор ответа на секретный пароль, троянцы и т.д. и т.п.
Результат всегда один – злоумышленник получает полный доступ к почтовому ящику. Он может слить с него всю информацию, использовать его для дальнейшего взлома других почтовых ящиков, логинов в социальных сетях, платежных системах. В конце концов, он может просто удалить ящик или же поменять на него пароль. Вообще, все плохо.

Я попытался придумать концепцию дополнительной защиты для веб-базированных почтовых ящиков, которую я назвал суперпароль. Пока это не более, чем концепция и я хотел бы услышать мнение других пользователей Хабра.

Существует системы двухуровневой защиты, как например на Google. Неплохое решение, но при всех своих плюсах там есть определенный минус, выражающийся в некоторой затрудненности в постоянном доступе к ящику. У меня, к примеру, иногда не приходил СМС с кодом на мобильный телефон, а требуется он довольно часто (зашел с другого места в почту). Не приходит и все тут. Затрудняется доступ программ под Android, использующих логин такой многоуровневой защиты в качестве базового логин идентификации.
Читать дальше →
Всего голосов 27: ↑15 и ↓12+3
Комментарии45

Пожалуйста, пришлите спам! Много спама!

Время на прочтение3 мин
Количество просмотров7.2K
Для борьбы со спамом Майкрософт предложила ввести «электронные марки», которые нужно покупать у провайдера своей почты, чтобы отправить e-mail. Конечно, такой подход резко сократил бы поток спама, но фраеров, желающих перейти на полностью платную почту, когда существуют тысячи бесплатных способов отправить e-mail — не нашлось, и не найдется в обозримом будущем. Кроме того, предложенный компанией подход не гарантировал того, что перешедшие на предложенную почтовую систему будут ограждены от спама, он лишь гарантировал, как и обычная почтовая система, что спамеры заплатят своему провайдеру (почте) за отосланные письма, но как это должно утешить того, кто продолжит получать спам, хоть и в меньшем количестве?
Я предлагаю не бороться со спамом, а легализовать его, но так, чтобы все стороны получали от него выгоду: и рекламодатели, и провайдеры почты и, что самое главное, — конечный получатель. Как это сделать? Довольно просто.

Читать дальше →
Всего голосов 25: ↑15 и ↓10+5
Комментарии41

NIST SP 800: библиотека по информационной безопасности

Время на прочтение5 мин
Количество просмотров65K
NIST Хочу познакомить хабрапользователей, касающихся прямо или косвенно вопросов защиты информации, с практически не упоминавшимся на Хабре замечательным методическим ресурсом: “NIST Special Publications 800 Series”.

NIST – National Institute of Standards and Technology – американский национальный институт стандартизации, аналог отечественного ГосСтандарта. В его составе функционирует компетентный и имеющий серьезный вес в США центр по компьютерной безопасности – CSRC, объединяющий специалистов федеральных служб, университетов, крупнейших ИТ-компаний США. Центр публикует с начала 1990-х годов Стандарты (FIPS) и более детальные разъяснения/рекомендации (Special Publications) в области информационной безопасности. Рекомендациям (Special Publications), созданным CSRC, присваивается код 800. О них я и предлагаю поговорить подробнее.
Читать дальше →
Всего голосов 35: ↑34 и ↓1+33
Комментарии17

Краткий обзор Stellaris LaunchPad

Время на прочтение2 мин
Количество просмотров59K
Наконец-то приехал давно заказанный LaunchPad, первые фотографии и быстрый старт — под катом.

Что за штука? Отладочная плата от Texas Instruments с процессором Cortex-M4F.
Характеристики:
  • Частота ядра 80 MHz(производительность 100 DMIPS)
  • Память: 256 KB флеша, 32 KB SRAM, 2KB EEPROM
  • 8 UART, 4 SPI, 1 CAN, 6 I²C, самое вкусное — полноценный USB(способный как на Device, так и на Host и OTG)
  • 3 аналоговых компаратора, два 12-битных АЦП, датчик температуры.
  • 16 ШИМ, 2 входа для энкодеров, 12 таймеров, таймер реального времени с часовым кварцем, 2 вачтдога.
  • 43 пина I/O.

Смотреть и читать
Всего голосов 26: ↑21 и ↓5+16
Комментарии31

Информация

В рейтинге
Не участвует
Зарегистрирован
Активность