User
Основные UI паттерны разработки Android приложений
English Learning Hacks
«Живые графы» — выращивание графов на клеточных автоматах с примерами на Silverlight
Введение
Пожалуй, ничто так долго, на протяжении многих веков, не интересовало учёных, как вопросы о происхождении жизни и разума. Как природа догадалась сотворить человеческий мозг? Чем определяется структура нейронной сети в нашей голове и как работает автосборка многоклеточного организма из единственной клетки? Почему при развитии зародыша человека на определённой стадии можно наблюдать нечто похожее на рыбьи жабры?
Да и простого любопытствующего обывателя, не отягощённого подробностями органической химии, подобные вопросы не обходят стороной.
Вот была бы игрушка-конструктор, с помощью которой можно собрать простенькие растущие организмы. Тогда построив предельно упрощённую модель, демонстрирующую многие из явлений живого, можно было бы приблизиться к ответам на вопросы устройства жизни, или хотя бы к пониманию, где эти ответы искать.
Такой предельно упрощённой и наглядной моделью могут оказаться «Живые графы» — конечные автоматы на графе, каждый узел которого содержит некое исполняющее устройство (автомат) с конечным числом состояний и с набором примитивных правил, управляющих созданием или изменением новых связей между узлами.
Visual C# for beginners. Лекция 3. Переменные и выражения
По плану публикую очередную лекцию для желающих начать программировать на языке C#.
Опубликован весь архив Computer Science клуб при ПОМИ РАН
Как представитель проекта Лекториум рад сообщить — мы опубликовали весь архив Computer Science клуба.
Кроме того, почти год назад мы организовали запись всех лекций на хорошие камеры и микрофоны.
А в этом году планируем подключить вебинары.
Большинство лекций читается на русском языке. Все записи снабжены презентациями и описаниями.
UPD. Кратко. Старые лекции в плохом качестве, а новые с 2010 года с хорошим звуком и в 720p.
UPD 2 Расширили канал, видео грузится теперь без проблем.
Под катом перечень курсов и несколько вопросов касательно вебинаров.
Декодирование JPEG для чайников
[FF D8]
Вам когда-нибудь хотелось узнать как устроен jpg-файл? Сейчас разберемся! Прогревайте ваш любимый компилятор и hex-редактор, будем декодировать это:
Специально взял рисунок поменьше. Это знакомый, но сильно пережатый favicon Гугла:
Последующее описание упрощено, и приведенная информация не полная, но зато потом будет легко понять спецификацию.
Даже не зная, как происходит кодирование, мы уже можем кое-что извлечь из файла.
[FF D8] — маркер начала. Он всегда находится в начале всех jpg-файлов.
Следом идут байты [FF FE]. Это маркер, означающий начало секции с комментарием. Следующие 2 байта [00 04] — длина секции (включая эти 2 байта). Значит в следующих двух [3A 29] — сам комментарий. Это коды символов ":" и ")", т.е. обычного смайлика. Вы можете увидеть его в первой строке правой части hex-редактора.
Компиляция. 8: оптимизация
В предыдущем посте реализовали взятую с потолка эвристику для назначения регистров, и заодно начали оптимизировать код. А ещё перед этим читатели обнаружили баг в реализации присваивания.
Далее в посте:
- Починка бага
- Чистка копирований
- Что получилось?
- Сворачивание констант
- Реализация
Компиляция. 7: назначение регистров
File names are infinite in length, where infinity is set to 255 characters.
--Peter Collinson: The Unix File System
Итак, у нас есть программа на п-коде, и в её распоряжении неограниченное количество регистров (т.е. 255). Число регистров у реального процессора куда меньше (предположим, четыре). Что будем делать?
Далее в посте:
- Разбор п-кода
- Время жизни
- Реализация
- Простые оптимизации
- Расщепление версий
- Работа с памятью
- Что получилось?
Компиляция. 6: промежуточный код
Начнём с генерации п-кода (промежуточного переносимого псевдокода) — нечто вроде «абстрактного машинного языка». Его выбирают так, чтобы
- его было легко генерировать;
- его было легко обрабатывать.
Далее в посте:
- Выбор кода
- Компиляция
- Выполнение
- Backpatching
Компиляция. 5: нисходящий разбор
Отложим бизона в сторону, и вернёмся к теории.
Далее в посте:
- Идея
- Воплощение
- Холивар
- Бэктрекинг
Data acquisition, часть 3
Data acquisition, часть 2
Data acquisition, часть 1
В этой статье я начну рассказ про то, как можно реализовать сбор и обработку данных с использованием платформы .Net. Было бы интересно послушать про то как делать то же самое в стеке Java, поэтому если кто-то хочет присоединиться к данной статье в качестве соавтора – милости прошу.
Пишем игры для Windows Phone
Не так давно публике была представлена платформа Windows Phone. Платформа очень интересная в плане разработки, т.к. присутствует поддержка .Net Framework, мультизадачность и XNA Framework, причем отличия у XNA от десктопной версии минимальны.
Вначале ложка дегтя: выяснилось, что пока на Windows Phone не будет полноценной поддержки собственных шейдеров, но обещается ряд предустановленных с широкими возможностями настройками. Что-ж, не будем огорчаться, всему свое время.
Для работы нам понадобится Windows Phone Developer Tools
10 бесценных жизненных советов, которые дает нам Альберт Эйнштейн
FunkyPost.com: Социальная почта
Каждый хотя бы раз сталкивались с задержками на почте, потерей важных документов или просто хамством «Почты России». А еще многие уже слышали, что е-bay и еще несколько крупных онлайн ресурсов отказались предоставлять услуги доставки в Россию из-за новых условий нашей почты.
Что же можно сделать, для облегчения доставки грузов в России и за ее пределами?
Идея:
FunkyPost — это место встречи курьеров и отправителей грузов.
Миллионы людей по всему Миру сейчас летят в самолетах, едут в поездах, путешествуют на машинах. Огромное количество транспорта находится в движении.
Сколько из них могло бы перевозить Ваш груз?
Любой человек, отправляясь в командировку, отпуск или поезду к бабушке может передать по дороге груз и заработать небольшие деньги. С другой стороны любой пользователь может отправить посылку дешевле чем по почте, в самые далекие уголки планеты.
Information
- Rating
- Does not participate
- Location
- Россия
- Date of birth
- Registered
- Activity