Pull to refresh
43
0

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

Send message

Обновление по онлайн-курсам Stanford University

Reading time1 min
Views11K
Понимаю, что все заинтересованные уже получили оповещение по почте, но для тех кто не в танке — объявление: онлайн курсы от Stanford University наконец-то начинаются.

Probabilistic Graphical Models — начинается 19 марта, лекции пока не доступны.

По данным курсам доступны первые лекции и задания

Natural Language Processing — начало с 12 марта, первое задание Spamlord должно быть уже выполнено к 19 марта, так что регистрируемся.

Design and Analysis of Algorithms I — курс по проектированию и анализу алгоритмов.

Cryptography — доступны видео первой недели обучения.

Game theory — начало 19 марта, материалов на сайт пока нет, но первая порция будет доступна 10 марта.

SaaS уже начался, но для того, чтобы плодотворно учить этот курс, необходима книга (10$). Этот курс от University of California, Berkeley.

Model thinking уже идет практически целый месяц (на самом деле курс основан на материалах University of Michigan, а не Stanford).

Другие курсы в процессе доработки

Computer Science 101, Computer Vision (University of California, Berkeley), Machine Learning, Making Green Buildings, Anatomy, Computer Security

Да, все курсы переехали на платформу Coursera. Поэтому теперь эти лекции смело можно называть «Обучение от Coursera», тем более спектр университетов увеличился.

Update:

Information theory — 12 марта появится первая порция лекций, тоже самое для Human-Computer Interaction.

За апдейтом апдейт: новый виток Machine learning тоже начинается 12 марта.
Total votes 58: ↑53 and ↓5+48
Comments52

AIDL (Android Interface Definition Language) и коммуникация между процессами (IPC)

Reading time5 min
Views34K
В данной статье мы попытаемся описать свой опыт работы с AIDL в Android IPC.
В ней содержится пример приложения с сервисом, который запущен в отдельном процессе.
Читать дальше →
Total votes 27: ↑26 and ↓1+25
Comments7

Чем плох GNU make?

Reading time16 min
Views27K
GNU make — широко известная утилита для автоматической сборки проектов. В мире UNIX она является стандартом де-факто для этой задачи. Являясь не такой популярной среди Windows-разработчиков, тем не менее, привела к появлению таких аналогов, как nmake от Microsoft.

Однако, несмотря на свою популярность, make — во многом ущербный инструмент.
Читать дальше →
Total votes 120: ↑104 and ↓16+88
Comments84

Алгоритмы в биоинформатике ч.1

Reading time9 min
Views9.5K
bioinformatic    В предыдущих статьях (1,2) мы познакомились с тем, как могут выглядеть данные в зависимости от проведенного биологического эксперимента. На основании этих визуализированных данных были сделаны предположения о том, что же происходит внутри клетки. Теперь остановимся на том, как математически и алгоритмически проанализировать данные для того, чтобы машины за нас могли выполнить рутинную работу. К сожалению, после прочтения множества статей по анализу данных у меня сложилось впечатление, что однозначного или наиболее универсального решения не существует. Есть алгоритмы, которые хорошо себя показывают на некотором наборе данных, а в других случаях уже не отвечают поставленным задачам.
Читать дальше →
Total votes 53: ↑52 and ↓1+51
Comments5

Учимся писать модуль ядра (Netfilter) или Прозрачный прокси для HTTPS

Reading time19 min
Views33K
Эта статья нацелена на читателей, которые начинают или только хотят начать заниматься программированием модулей ядра Linux и сетевых приложений. А также может помочь разобраться с прозрачным проксированием HTTPS трафика.

Небольшое оглавление, чтобы Вы могли оценить, стоит ли читать дальше:
  1. Как работает прокси сервер. Постановка задачи.
  2. Клиент – серверное приложение с использованием неблокирующих сокетов.
  3. Написание модуля ядра с использованием библиотеки Netfilter.
  4. Взаимодействие с модулем ядра из пользовательского пространства (Netlink)

P.S. Для тех, кому только хочется посмотреть на прозрачный прокси-сервер для HTTP и HTTPS, достаточно настроить прозрачный прокси-сервер для HTTP, например, Squid с transparent портом 3128, и скачать архив с исходниками Shifter. Скомпилировать (make) и, после удачной компиляции, выполнить ./Start с правами root. При необходимости можно поправить настройки в shifter.h до компиляции.
Читать дальше →
Total votes 56: ↑55 and ↓1+54
Comments20

Прислушивайтесь к своему сообществу, но не позволяйте ему указывать, что вам нужно делать

Reading time6 min
Views1.9K
Перевод статьи из блога Джефа Этвуда, одного из основателей Stack Exchange Network, сети вебсайтов, посвященных работе с вопросами и ответами в различных областях. Среди прочих вебсайтов этой сети стоит выделить Stack Overflow — самый первый вебсайт, созданный в рамках Stack Exchange Network и посвященный вопросам и ответам в области программирования. Отдельная благодарность karaboz за помощь и вдохновение.


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


imageКогда люди спрашивают меня о самой большой ошибке, которую я совершил в процессе создания Stack Overflow (Прим. переводчика — далее SO) я рад, что не надо выдумывать и говорить банальности. Я могу честно и открыто рассказать об огромной, нелепой и, до смешного, дурацкой ошибке, которую совершил в самом начале разработки SO. Что ещё хуже, я могу рассказать о такой ошибке, которую продолжал совершать потом ещё и на протяжении девяти месяцев на фоне продолжающихся протестов сообщества.

Читать дальше →
Total votes 85: ↑82 and ↓3+79
Comments17

Лекториум записал почти тысячу лекций за год

Reading time4 min
Views57K
Дорогой Хабр!



У нас для тебя небольшой подарок. Мы тут работали-работали и вот чего сделали.
Сняли и опубликовали почти тысячу лекций по IT и математике.

UPD2 Помогите, пожалуйста, оперативно решить вопрос насчёт организации торрентов на php.

Читать дальше →
Total votes 340: ↑333 and ↓7+326
Comments183

Курсы Стенфордского университета

Reading time1 min
Views7.3K

Стенфорд запустил онлайн курсы по криптографии. Их будет читать профессор Стэнфорда Dan Boneh 23 января этого года.

Лекции состоят из коротких видео лекций, приблизительно по 10 минут, в сумме примерно 2 часа в неделю, покрывающий основы современной криптографии. Присутствует интерактив — онлайн–квизы, домашние задания и лабы. Можно задавать свои вопросы в Q&A Forum. Конечно это всё бесплатно.

Так же Стенфордом запущено много разнонаправленных курсов, подобных этому Среди них Anatomy, Human-Computer Interaction, Machine Learning, Computer Security и прочие.

На хабре уже поднимали тему удалённых лекций Стенфорда ранее, но как уже было написано в одном и постов:«Реклама благому начинанию не повредит». Первый, второй посты.

Советую ознакомиться, очень любопытно.

UPD:
Привожу ссылки на группы, где люди могут обсуждать данные лекции:
https://groups.google.com/forum/#!forum/stanford-online-classes
https://groups.google.com/forum/#!forum/stanford_free_ru
Total votes 88: ↑72 and ↓16+56
Comments47

Моделирование большого количества взаимодействующих друг с другом частиц

Reading time6 min
Views30K
Рассмотрим ситуацию, когда необходимо обрабатывать столкновения между объектами. Как вы в этом случае поступите? Вероятно, самым простым решением будет проверить каждый объект с каждым другим объектом. И это правильное решение, и все будет замечательно до тех пор пока объектов не много. Как только их станет порядка нескольких тысяч, вы заметите, что все стало как-то медленно работать. А если частиц несколько десятков тысяч или сотен? Тогда все замрет. Вот здесь уже интересно, на какие хитрости и оптимизации вы пойдете, чтобы решить такую проблему.

Для простоты, будем рассматривать 2D случай, частицы круглые, радиус частиц у всех одинаковый.

Содержание


1. Обзор алгоритмов
1.1. Полный перебор
1.2. Sweep & Prune
1.3. Регулярная сеть
2. Некоторые оптимизации
2.1. Sweep & Prune
2.2. Регулярная сеть
3. Сравнение скорости выполнения
4. Приложение (программа и исходный код)
5. Заключение

Читать дальше →
Total votes 147: ↑145 and ↓2+143
Comments45

AI Challenge 2011 Ants. Глазами участника Murashka (15-е место)

Reading time5 min
Views1.5K
Турнир привлекал своей простотой и собрал широкую аудиторию. Идея пришлась по вкусу и старшеклассникам и умудренным опытом гуру, помнящим еще чемпионат мира по компьютерным шахматам 1972-го года.

Используемые лидерами алгоритмы были примерно одинаковые, базовых было два — поиск в ширину (BFS), для определения ближайшего пути к дальним целям и минимакс в ближнем бою. Дьявол скрывался в правильной методике выбора целей и тонкой настройке деталей.
Читать дальше →
Total votes 52: ↑50 and ↓2+48
Comments19

Объекты Java

Reading time4 min
Views43K
Под впечатлениями от habrahabr.ru/blogs/java/134102.

Недавно мне приходилось немного поковыряться внутри JVM. Довольно интересный опыт. Текст в вышеупомянутом топике не совсем сходится с моим опытом, но я не считаю себя обладателем абсолютной истины. Ниже я поделюсь с читателями небольшой частью моих экспериментов, которые касаются непосредственно объектов Java.
Читать дальше →
Total votes 68: ↑51 and ↓17+34
Comments24

Размер Java объектов

Reading time5 min
Views188K
Знаете сколько в памяти занимает строка? Каких только я не слышал ответов на этот вопрос, начиная от «не знаю» до «2 байта * количество символов в строке». А сколько тогда занимает пустая строка? А знаете сколько занимает объект класса Integer? А сколько будет занимать Ваш собственный объект класса с тремя Integer полями? Забавно, но ни один мой знакомый Java программист не смог ответить на эти вопросы… Да, большинству из нас это вообще не нужно и никто в реальных java проектах не будет об этом думать. Но это, ведь, как не знать объем двигателя машины на которой Вы ездите. Вы можете быть прекрасным водителем и даже не подозревать о том, что значат цифры 2.4 или 1.6 на вашей машине. Но я уверен, что найдется мало людей, которые не знакомы со значением этих цифр. Так почему же java программисты так мало знают об этой части своего инструмента?

Integer vs int

Все мы знаем, что в java — everything is an object. Кроме, пожалуй, примитивов и ссылок на сами объекты. Давайте рассмотрим две типичных ситуации:
//первый случай
int a = 300;
//второй случай
Integer b = 301;

В этих простых строках разница просто огромна, как для JVM так и для ООП. В первом случае, все что у нас есть — это 4-х байтная переменная, которая содержит значение из стека. Во втором случае у нас есть ссылочная переменная и сам объект, на который эта переменная ссылается. Следовательно, если в первом случае мы определено знаем, что занимаемый размер равен:
sizeOf(int)

то во втором:
sizeOf(reference) + sizeOf(Integer)

Забегая вперед скажу — во втором случае количество потребляемой памяти приблизительно в 5 раз больше и зависит от JVM. А теперь давайте разберемся, почему разница настолько огромна.

Из чего же состоит объект?

Прежде чем определять объем потребляемой памяти, следует разобраться, что же JVM хранит для каждого объекта:
  • Заголовок объекта;
  • Память для примитивных типов;
  • Память для ссылочных типов;
  • Смещение/выравнивание — по сути, это несколько неиспользуемых байт, что размещаются после данных самого объекта. Это сделано для того, чтобы адрес в памяти всегда был кратным машинному слову, для ускорения чтения из памяти + уменьшения количества бит для указателя на объект + предположительно для уменьшения фрагментации памяти. Стоит также отметить, что в java размер любого объекта кратен 8 байтам!

Читать дальше →
Total votes 118: ↑107 and ↓11+96
Comments39

Учебный курс по разработке для Android от Google

Reading time1 min
Views8.3K
image
Желая привлечь еще больше разработчиков, в Google приняли решение организовать самостоятельно специальную программу для обучения программированию под свою мобильную платформу.

Обучающая программа носит название Android Training и уже доступна желающим. Надо сказать, что диапазон тем программы весьма разный: начиная от азов, таких как работа с Layout — затем рассматриваются такие темы как работа с аудио, фото, оптимизация работы батареи — заканчивая вопросами монетизации приложения. Статьи, конечно, сопровождаются инфографикой и примерами кода, а сам ресурс, как обещает команда Android Team, будет развиваться и дополняться.

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

Пост-анонс можно посмотреть здесь.

[Android Training]
Total votes 111: ↑104 and ↓7+97
Comments14

ИИ на пяльцах: 5 полезных приемов

Reading time4 min
Views5.4K

Вашему вниманию представляю свой вольный перевод, обещанный г-ном Takezo в его комменте о будущем ИИ в GameDev.

Введение


Прикольно наблюдать за внутриигровой визуализацией, особенно если ты сам ее и создал! Однако, в погоне за этим ярким впечатлением легко забыть, что не нужно визуализировать все подряд.
Ниже вы найдете видео туториал по визуализации геймплея и ИИ, записанный в секретной исследовательской лаборатории AiGameDev.
Читать дальше →
Total votes 104: ↑96 and ↓8+88
Comments19

Создание 1k/4k intro для Linux, часть 1

Reading time10 min
Views9.3K
«на русской сцене мы удивляем друг друга тем, что вообще что-то делаем», © manwe
(из статуса SCRIMERS на demoscene.ru/forum)

Пятиминутка мета: в этом тексте вам, котятки, предстоит прочитать о том, как потратить свое время совершенно неэффективно с точки зрения отношения размера полученного продукта к потраченным времени и усилиям.
Предположим, что мы хотим сделать что-нибудь эдакое, например, интру размером до 4кб, но мы нищеброды, и у нас нет денег на виндовс и видеокарту с шейдерами, поддерживающими ветвления. Или мы просто не хотим брать стандартный набор из apack/crinkler/sonant/4klang/боже-что-там-еще-есть, делать очередную «смотрите все! я тоже умею рэймарчинг дистанс филдс!» и теряться среди десятков-сотен таких же. Ну или же мы просто любим выпендриваться как попало в надежде, что девочки на нас наконец-то обратят внимание.

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



омг сколько текста
Total votes 192: ↑183 and ↓9+174
Comments54

Полупроводниковая электроника

Reading time30 min
Views371K


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



В статье разобраны принципы работы основных полупроводниковых устройств. Описание функционирования изложено с позиции физики. Статья содержит вводное описание терминов, необходимых для понимания материала широкому кругу читателей.





Иллюстраций: 34, символов: 51 609.



Читать дальше →
Total votes 488: ↑479 and ↓9+470
Comments152

Изменение вида выдачи данных в LogCat

Reading time7 min
Views4K
Стандартный логгер не совсем удобен, по крайней мере для меня. Ниже приведен пример логера переделанного под себя. Пользуюсь им уже более полутора лет. Позволяет быстрее визуально локализировать найденные проблемы, облегчает логирование. Легко перерабатывается для своих нужд. При работе не требует постоянного прописывания тега или создания тега в виде отдельной константы так как форматированный тег выдается автоматически в виде

> Класс: функция: номер строки

Используем так — Log.w("SUCCESS download")

> DownloadCharts:downloadSongs:322: SUCCESS download

Иногда необходимо узнать быстро не только место конкретной ошибки, но и класс родительский. Тогда на помощь приходит вызов логгера с указанием родителя, например Log.w(this, "Предупреждение") тогда мы получаем строку в виде

> (Родитель) Класс: функция: номер строки

> (ChartsLibrary) DownloadCharts:downloadSongs:322: Предупреждение

Впрочем легче один раз попробовать его и посмотреть на результаты.

Под катом приведен код.

Читать дальше →
Total votes 10: ↑7 and ↓3+4
Comments3

Решение судоку с помощью веб-камеры в реальном времени

Reading time12 min
Views60K

Предисловие




Это приложение может и не имело практической ценности, но опыта прибавило действительно много. Я бы хотел немного поразмышлять на тему компьютерного зрения. Эта область является одной из самых захватывающих в современных компьютерных вычислениях, и она очень сложна. Что легко и просто для человеческого мозга, то очень сложно для компьютера. Многие вещи до сих пор остаются невозможными с сегодняшним уровнем развития IT.

Программа написана с помощью низкоуровневого языка C++, потому что я действительно хотел понять, как же это все работает изнутри. Если вы тоже хотите начать изучение компьютерного зрения, то для этого пригодиться библиотека OpenCV. На CodeProject вы сможете найти несколько уроков по ней. Изображение с веб-камеры получается с помощью исходного кода Вадима Горбатенко (AviCap CodeProject).
Читать дальше →
Total votes 363: ↑360 and ↓3+357
Comments67

HOWTO: свой бизнес в США из России

Reading time6 min
Views157K
    Наверняка многие из нас хоть раз думали про себя: «Черт побери, и везет же этим американцам!». Это касается многого, от магазинов с доставкой «только в пределах 48 континентальных штатов» до вполне серьезных контрактов, которые срываются только потому, что потенциальный заказчик в США категорически не желает иметь дело с иностранцами.

    В этой статье я попробую осветить процесс создания и администрирования американской корпорации для резидента РФ. Наверняка многие из фактов для самих американцев покажутся тривиальными, однако для жителя России все куда сложнее — увы, это данность. Чтоб не сказать — это Родина, сынок. Оговорюсь сразу — я все это проделал более 2 лет назад, так что, некоторые детали могут быть не совсем актуальны. Но вряд ли что-то поменялось принципиально.
Читать дальше →
Total votes 402: ↑398 and ↓4+394
Comments184

Мой опыт разработки/продвижения/поддержки. Perfect Ear

Reading time8 min
Views5.3K
Здравствуйте, коллеги,

наконец-то у меня дошли руки написать немного о своем опыте на примере моего главного на сегодняшний день приложения Perfect Ear (в русском маркете известного как Абсолютный Слух).

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

Под катом будет изложена краткая история разработки, публикации, продвижения и поддержки приложения. Здесь не будет технических деталей о той или иной функциональности, скорее, хайлайты тех или иных моментов, произошедших за год существования приложения.

В конце приведу некоторые цифры.

Читать дальше →
Total votes 62: ↑61 and ↓1+60
Comments57

Information

Rating
Does not participate
Registered
Activity