Pull to refresh
0
0
Виталик @vita1ik

User

Send message

Как правильно покупать товары на Ebay

Reading time5 min
Views183K
image
Тема Ebay в связи с его русификацией становится очень актуальной, поэтому решил поделиться с хабрасообществом несколькими советами из области как правильно покупать товары на Ebay, чтобы не нарватся на мошенников и сделать правильную покупку. Большая часть описанного основана на личном опыте.
Читаем далее
Total votes 187: ↑166 and ↓21+145
Comments100

Обзор методов эволюции нейронных сетей

Reading time15 min
Views51K


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

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

Естественно, бурное развитие теории и практики использования генетических алгоритмов, заставило исследователей (лень — двигатель прогресса) искать способы применить их к задаче поиска оптимальной структуры ИНС (эволюция нейронных сетей или нейроэволюция), тем более, что, так сказать, proof-of-concept был налицо, или, точнее, в голове — природа наглядно демонстрировала решаемость подобной задачи на примере эволюции нервной системы с последующим образованием и развитием головного мозга.

Обзор и сравнение методов нейроэволюции под катом
Total votes 65: ↑60 and ↓5+55
Comments32

Об обучении нейросетей

Reading time3 min
Views13K
image
Это статья уровня 2 (см. ниже).
Статья является логическим продолжением моего рассказа про сверточные нейронные сети и их применения для распознавания изображений.
Прежде чем продолжить хочу дать понимание чем же все таки занимаются люди из области Машинного обучения и какова их глобальная цель. Глобальная цель — это порабощение всех людей машинами создание методов и алгоритмов, способных путем обучения выстраивать сложные и нелинейные модели внешнего мира. В качестве пояснения предлагаю взглянуть на картинку, благодарно позаимствованную из [1]. Сейчас человечество уже умеет создавать алгоритмы, способные учится простым операциям, но что насчет такого вот преобразования — у нас есть изображение сидящего человека которое по сути является сырым вектором значений яркости картинки в каждой точке. И нам необходимо постепенно повышая абстрактность этих сырых данных сделать вывод «человек сидит». Отсюда собственно главный вопрос: Как создать систему способную не только понять простые (пусть и нелинейные) зависимости, но также обучиться сложным, многомерным и многоуровневым иерархиям представлений реального мира?
Читать дальше →
Total votes 50: ↑47 and ↓3+44
Comments32

Как настроить Maemo 5(4) SDK и начать писать приложения под Windows/Linux/MacOS менее чем за полчаса!

Reading time12 min
Views6K
image

Уже нет смысла, я думаю, объяснять что такое Maemo и где он работает. Всем понятно, что это Linux, который сейчас работает на таблетках от Nokia и на новом Nokia N900. Но так как проект open-source, то думаю другим производителям ничто не мешает сделать свое устройство под этой платформой (кто знает, может появится HTC или Motorolla на базе Maemo).

Речь в этой статье пойдет о том как настроить окружение для разработки для Maemo.

Начнем с того, что сейчас существуют два типа SDK — текущий стабильный для Maemo5/4 (Fremantle/Diablo) и новый SDK, который сейчас в бете — MADDE.

Ну давайте начнем со стабильного (относительно и спорно, позже покажу почему) и текущего — Fremantle (на момент написания статьи но был «pre-final 2», теперь в «final»). Он базируется на Diablo и поэтому процесс установки и нструменты те же. И если вам нужен Diablo — инструкция подойдет эта, а далее я буду говорить только о Fremantle, подозревая что по желанию можно использовать Diablo.

Хорошо, предположим, что мы выбрали SDK Fremantle (MADDE я посвящу последующие статьи). У этого SDK есть один недостаток — он моно-платформенный. Он работает только под Linux x86 (желательно debian based, но не обязательно). Для счастливый пользователей этой системы существует простой путь для установки SDK нужно скачать скрипт с этой страницы и действовать согласно этой инструкции.

Что же делать, если рабочая система у нас Windows(самая популярная)/Linux x64/MacOs? Не отчаивайтесь. У вас и тут есть выбор. Самый легкий путь — это скачать отсюда виртуальный образ с настроенным окружением и в нем работать. Все предельно просто — качаем, запускаем из-под VMWare, QEMU, VirtualBox. Там уже стоит ESBox и SDK. Если вы не знаете как установить систему в виртуальной машине, можно подсмотреть в этой статье далее.

image
Ну и последний вариант — если Вы хотите разрабатывать приложения на своей родной платформе — нет проблем! ESBox (забыл представить — это Eclipse+плагины для разработки под Maemo5/4) умеет работать с виртуальной машиной. То есть получается, что вы пишите код в ESBox, он собирает это в виртуальной машине и запускает там, а результат отображается опять же в вашей родной системе. Виртуальная система работает «в тени». Идея прекрасна, не правда ли?

На деле все не так гладко в Windows, под Mac OS и Linux все работает как надо (надеюсь в скором будущем для Windows все отмеченные мною баги будут исправленны). Я столкнулся с несколькими неприятными моментами, плюс часть документации, которую можно найти в разных местах создана не Нокиа, а open source community и иногда встречаются неточности и несоответствия версий

Вот в этой статье далее пойдет речь о том как установить Maemo SDK под Windows (будут замечания, если процесс будет отличатся от Linux, Mac OS вариантов) и более того, я при вас это сделаю менее чем за пол часа. Всё видео и нотации к ним под катом.

Да кстати, это все можно установить не только для разработки, но и для того чтобы познакомится с Maemo не имея реального устройства.

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

пошаговые инструкции по установке ...
Total votes 64: ↑54 and ↓10+44
Comments44

OAuth: описание протокола простым и понятным языком

Reading time16 min
Views191K
OAuth — популярный протокол, который позволяет социальным сервисам интегрироваться между собой и дает безопасный способ обмена персональной информацией. OAuth может связать между собой 2 сервиса, каждый из которых имеет свою пользовательскую базу — именно их я в данном случае называю «социальными». Когда начинаешь работать с OAuth, первое ощущение — что протокол весьма сложен и избыточен. В этой статье я попытаюсь объяснить основы OAuth человеческим языком.

Пример кросс-авторизации


Вернемся в 2005-й год и представим, что мы пишем социальную сеть. В ней имеется форма импорта контактов из адресной книги GMail. Что нужно для доступа к контактам GMail? Конечно, логин и пароль от ящика. Но если мы попросим ввести их на нашем сайте, пользователь заподозрит неладное. Где гарантия, что мы не сохраняем на сервере введенные пароли? Поэтому нам хочется, чтобы пароль вводился только на сайте GMail, и после этого доступ к контактам через API GMail предоставлялся нашей социальной сети (возможно, на время).
Под катом - повествование с примерами
Total votes 134: ↑124 and ↓10+114
Comments34

Применение нейросетей в распознавании изображений

Reading time10 min
Views241K
Про нейронные сети, как один из инструментов решения трудноформализуемых задач уже было сказано достаточно много. И здесь, на хабре, было показано, как эти сети применять для распознавания изображений, применительно к задаче взлома капчи. Однако, типов нейросетей существует довольно много. И так ли хороша классическая полносвязная нейронная сеть (ПНС) для задачи распознавания (классификации) изображений?
Читать дальше →
Total votes 134: ↑131 and ↓3+128
Comments73

100 OpenSource инструментов для Web-мастера.

Reading time7 min
Views14K
В этой статье, опубликованной позавчера на DesignVitality, авторы приводят 100 инструментов для Вэб-мастера, включающих программы для дизайнера с открытым кодом, открытые шаблоны и ресурсы.


Лучшие порталы с открытыми шаблонами сайтов


В сети есть множество бесплатных шаблонов, но искать подходящий часто может быть очень долго, поэтому мы предлагаем вам посетить сначала следующие четыре портала:
Читать дальше →
Total votes 56: ↑51 and ↓5+46
Comments42

Вожделенный Nexus One за ~$620 в Украине/России или как не платить перекупщикам

Reading time4 min
Views4.2K
Что делать если хочеться заполучить вожделенный Nexus one, но не хочется переплачивать 200-300 баксов перекупщикам?
image
Есть варианты, как купить телефон напрямую от Google и получить его домой примерно за $620 USD
Читать дальше →
Total votes 125: ↑92 and ↓33+59
Comments111

Как я нанимаю программистов

Reading time4 min
Views10K
Есть три вопроса, ответ на которые надо знать, когда нанимаешь на работу программиста:
      1) Он умный?
      2) Способен ли он выполнять работу?
      3) Смогу ли я с ним работать?

Кто-то умный но не способный выполнять работу может быть хорошим другом, но не сотрудником. Можно обсудить с ним какие-то проблемы, пока он прохлаждается на своей собственной работе.

Тот, кто способен выполнять работу но не умён – неэффективен. Неумные люди выполняют работу путём грубой силы. Работа с такими людьми движется медленно и обычно раздражает.

С тем, с кем я не смогу работать – я не смогу работать.

Под катом продолжение статьи Аарона Шварца. Я бы предпочёл чтобы меня собеседовали таким образом, чем быть изучаемым девочкой-сотрудницей ОК, которая не отличает http от mp3.

Читать дальше →
Total votes 136: ↑112 and ↓24+88
Comments133

Учимся готовить: Spring 3 MVC + Spring Security + Hibernate

Reading time12 min
Views354K
Добрый день! Меня зовут Антон Щастный.

Это моя очередная статья, посвящённая разработке веб приложений на Java. Хочу предложить вам сделать небольшую систему учёта клиентов, написанную с использованием фреймворка Spring и библиотеки Hibernate.

Что будет в приложении:


Будет простой менеджер контактов, позволяющий добавлять в базу новые записи, просматривать имеющиеся, удалять ненужные. Сведения будут храниться в базе данных. Доступ к приложению – через веб, с аутентификацией и авторизацией пользователей.

Что будем использовать:


  • веб фреймворк Spring MVC,
  • фреймворк Spring Security,
  • ORM библиотеку Hibernate,
  • MySQL в качестве СУБД.

Инфраструктура:
  • редактор SpringSource Tool Suite,
  • сборщик проектов Maven,
  • система логгирования Log4j,
  • постоянное подключение к интернету.


В моей предыдущей статье о Spring MVC был упущен ряд моментов по использованию аннотаций в Java-коде и применению Maven для сборки проекта. В данной статье я попытался исправить упущение.

Цель статьи – показать начинающим веб разработчикам совместное использование различных технологий платформы Java.

Читать дальше →
Total votes 43: ↑41 and ↓2+39
Comments52

Плагин добавления изображений в текст

Reading time2 min
Views2.5K
Доброе утро.
По ходу разработки очередного проекта понадобился простой плагин для стандартного редактора Ext.form.HtmlEditor, который бы добавлял изображения в текст. Собственно его и пришлось сделать. Очередной велосипед, но может быть пригодится ещё кому-нибудь.

Сразу скажу, что функционал минимальный, по крайней мере пока. Есть возможность просмотра изображений, вставки в текст сразу нескольких из списка. Можно указать адрес, если оно уже где-то есть. Ну и размеры с названием.
Сам плагин можно забрать на гуглокоде.

Теперь о том, как его использовать.
Total votes 24: ↑21 and ↓3+18
Comments14

Несколько слов об Ext.Direct

Reading time3 min
Views7.3K

Вместо предисловия


Давно хотел опубликовать что-то полезное и вот, наконец, решил рассказать об Ext.Direct. Не видел ни одной более-менее обширной статьи на русском по данной теме, то ли это никому не нужно, то ли одно из двух, как бы то ни было начнем.

Что из себя представляет Ext.Direct?

Ext.Direct существует начиная с версии extjs 3.0. Это пакет который позволяет осуществить более тесное взаимодействие между сервером и клиентом. Вспоминая версию 2.0+ понимаю как же мне не хватало «директа».

Client Side


Возможности Ext.Direct реализованы в классах пакета Ext.data (DirectStore, DirectProxy), соответственно DirectStore в качестве ридера использует JsonReader. Так же существует пакет Ext.direct, в частности класс PollingProvider реализует переодический опрос сервера с заданным интервалом. Ну и Ext.Direct, о нем вскользь ниже и Ext.Direct.Transaction, вспомогательный класс, который напрямую не вызывается.
Читать дальше →
Total votes 31: ↑29 and ↓2+27
Comments41

Книга Gray Hat Python

Reading time3 min
Views22K
image

Уважаемое Хабрсообщество и все интересующиеся языком программирования Python. Я начал переводить весьма интересную книгу Gray Hat Python. Правда, пока я перевел лишь предисловие и первую главу. Начал переводить для себя (поэтому немного коряво), но все таки решил, что нужно делиться. :)

И так предоставим слово автору.
Читать дальше →
Total votes 48: ↑47 and ↓1+46
Comments14

10 бесценных жизненных советов, которые дает нам Альберт Эйнштейн

Reading time4 min
Views54K
Интересная на мой взгляд статья, которая показывает, что одни и те же принципы никогда не устаревают. Конечно, все они уже часто проскакивали в той или иной форме на множестве ресурсов, но мне бы хотелось предложить вам их видение Ученым с большой буквы, Альбертом Эйнштейном.
Читать дальше →
Total votes 200: ↑172 and ↓28+144
Comments63

Введение в pygtk/gtkbuilder: пишем калькулятор

Reading time3 min
Views6.9K
Разберем создание интерфейса на pygtk на примере самого примитивного калькулятора. Много картинок, немного кода.
gtkbuilder наиболее прогрессивный формат описания gtk интерфейса в xml,
если вы ранее использовали libglade, вы можете сконфертировать .glade файл в новый формат командой libglade-convert
Читать дальше →
Total votes 52: ↑46 and ↓6+40
Comments19

Формы в Zend Framework

Reading time6 min
Views13K
Меня часто спрашивают, какой мой любимый компонент в Zend Framework, и я всегда отвечаю: «Forms» (формы).
В парадигме модель-представление-контроллер формы всегда играют непростую роль. Конечно, форма — это всего лишь HTML,
но для меня это нечто более абстрактное.
По сути, форма — это HTML, средствами которого пользователь вводит и получает данные, но кроме этого форма еще выполняет
нормализацию, проверку, фильтрацию данных и вывод сообщений об ошибках, если они есть.
Это может потребовать довольно-таки значительного объема кода.

Читать дальше →
Total votes 54: ↑35 and ↓19+16
Comments75

Деревья в админке django

Reading time2 min
Views12K
Редактировать модели, представляющие собой деревья в админке django очень неудобно и ненаглядно. Сразу возникло желание выводить вместо списка объектов дерево, для этого можно использовать замечательную библиотеку jstree.
Чтобы эффективно работать с деревьями в django существует mptt, которая добавляет в модель поля для эффективной выборки и методы для этого, а также шаблонные теги для вывода деревьев и т.п.
Если вы не используете mptt, у вас есть просто ссылка на parent — jstree можно подключить к с помощью одного javascript, про это — отдельная статья.
Далее про модели, использующие mptt.
Читать дальше →
Total votes 36: ↑29 and ↓7+22
Comments16

Поиск нечетких дубликатов. Алгоритм шинглов для веб-документов

Reading time4 min
Views44K
Ранее я показал элементарную реализацию алгоритма шинглов, позволяющую определять, являются ли два документа почти дубликатами или нет. В этот раз я поясню реализацию алгоритма, описанную Зеленковым  Ю. Г. и Сегаловичем И.В. в публикации «Сравнительный анализ методов определения нечетких дубликатов для Web-документов».
Этим я начинаю серию из трех теоретических статей, в которых постараюсь доступным языком описать принцип алгоритмов шинглов, супершинглов и мегашинглов для сравнение веб-документов.
Читать дальше →
Total votes 55: ↑53 and ↓2+51
Comments103

Несколько фишек для изучающих английский язык

Reading time1 min
Views48K
1. Анонимные чаты: omegle.com, chatroulette.com
2. Сайты-помощники: kwiz.me, kimir.org, englishtips.org
3. Подкастинг: eslpod.com, effortlessenglish.com, npr.podcast.com, businessenglishpod.com,
4. Качаем фильмы/сериалы, затем субтитры к ним. Просматривать можно с замедлением в VLC плеере чтобы лучше переваривать. Еще рекомендую комик шоу, например Important Things with Demetri Martin — не пожалеете.
5. В скайпе ищем каких нибудь индусов со статусом SkypeMe и не стенсняясь знакомимся.
6. При прочтении какой-то книги или просмотра фильма неплохо бы подготовится таким образом: берем текст, устанавливаем длину слова и частоту употребления в тексте и запускаем, например, этот скрипт (PHP): pastebin.com/m7672c2a9
В итоге имеем дайджест слов большинство из которых вы уже знаете но остальные стоит подучить. И когда вы будете смотреть фильм или читать книгу вы автоматом поймете это слово.
7. Произношение слов — ставим в Google.translate режим Русский->English и в поле текста пишем английское слово — оно без перевода встанет справа вместе с флэшкой которое произносит слово. Также forvo.com, howjsay.com
8. Социальные сервисы ответов:
answers.yahoo.com, vark.com
9. Социальные сети для изучения языка:
livemocha.com, lingq.com, italki.com
10. Остальное:
nytimes.com, ecenglish.com, urbandictionary.com
allengl.narod.ru/top/phvTOP170.htm

Надеюсь каждый нашел для себя что-то полезное:)
Total votes 190: ↑171 and ↓19+152
Comments114

Information

Rating
Does not participate
Location
Украина
Registered
Activity