Pull to refresh
58
0.2
Send message

Компиляция iOS приложений для Windows Store

Reading time 2 min
Views 23K


В апреле этого года на конференции //Build был сделан очень интересный анонс, который показал возможность компиляции и сборки ObjectiveC кода для Windows Store. С радостью хочу сообщить что теперь эта технология и инструменты стали публичными, вы можете уже сейчас загрузить компоненты сборки ObjC/iOS приложений для Visual Studio 2015 и собрать приложение для Windows Store.
Читать дальше →
Total votes 32: ↑30 and ↓2 +28
Comments 67

Революция в области искусственного разума. Часть вторая: Бессмертие или уничтожение жизни на земле

Reading time 25 min
Views 34K
Примечание переводчика: Данная статья является переводом (оригинальная статья ). Это перевод первой части второй статьи перевод первой части. Вторая часть оказалась слишком большой 15к слов, по этому её пришлось разделить на две части примерно по 8к (оригинального текста) слов каждая, перед вами первая часть перевода второй части статьи, вторую часть опубликую сразу как переведу. Оригинальная статья была написана для широкой аудитории, поэтому многие термины использованные в ней могут быть не точными или вообще не научными. При переводе я старался сохранить непринуждённый дух статьи и юмор, с которым был написан оригинал. К сожалению, это не всегда получалось. Переводчик согласен не со всем, что написано в данной статье, но правки к фактам и своё мнение не были добавлены даже в виде примечаний или комментариев. В тексте могут быть ошибки и опечатки, сообщайте о них, пожалуйста, в личные сообщения, буду стараться исправлять всё максимально быстро. Все ссылки в тексте скопированы из оригинальной статьи и ведут на англоязычные ресурсы.



We have what may be an extremely difficult problem with an unknown time to solve it, on
which quite possibly the entire future of humanity depends. — Nick Bostrom

Перед нами, вероятно, одна из сложнейших задач, с которой когда-либо сталкивалось человечество, и мы даже не знаем сколько времени у нас есть на её решение, но от него зависит будущее нашего биологического вида — Ник Бостром
Читать дальше →
Total votes 26: ↑22 and ↓4 +18
Comments 53

Objective-C Runtime для Си-шников. Часть 1

Reading time 6 min
Views 31K


При первом знакомстве с Objective C он произвёл на меня впечатление уродливого и нелогичного языка. На тот момент я уже имел достаточно сильную базу в C/C++ и ассемблере x86, а так же был знаком с другими высокоуровневыми языками. В документации писалось, что Objective C это расширение языка C. Но, как бы я ни старался, мне всё же не удавалось применить свой опыт в разработке приложений для iOS.

Сегодня он всё так же кажется мне уродливым. Но однажды окунувшись в глубины Objective-C Runtime я влюбился в него. Изучение Objective-C Runtime позволило мне найти те тонкие ниточки, которые связывают Objective C с его «отцом» — великолепным и непревзойдённым языком C. Это тот самый случай, когда любовь превращает недостатки в достоинства.

Если вам интересно взглянуть на Objective C не просто как на набор операторов и базовых фреймворков, а понять его низкоуровневое устройство, прошу под кат.
Читать дальше →
Total votes 23: ↑20 and ↓3 +17
Comments 31

Почему NSURLSession лучше, чем NSURLConnection

Reading time 10 min
Views 40K


iOS 7 официально вышла в сентябре, тогда Apple предоставила разработчикам новый способ работы с сетью — NSURLSession. Это достаточно фундаментальная вещь, потому в случае необходимости поддержки iOS 6 и ниже, распараллеливать код относительно версии системы будет крайне проблематично. Но тем не менее, время идет, и уже сейчас по разным данным от 75 до 85 процентов пользователей перешло на последнюю iOS, потому я бы советовал попробовать NSURLSession уже в следующем проекте.

По замыслу Apple, NSURLSession должна сменить NSURLConnection, и тут действительно возникает вопрос: «а зачем все это надо?» Потому сразу плюсы по сравнению с NSURLConnection:
  1. Загрузка и отправка данных в бэкграунде
  2. Возможность останавливать и продолжать загрузку
  3. Мы можем использовать блоки и делегаты одновременно, так, например, блоки используем для получения данных и обработки ошибок, а делегатный метод — для прохождения аутентификации
  4. У сессии есть специальный конфигурационный контейнер, в который можно уложить все нужные свойства для всех тасков(запросов) в сессии, а также, например, хэдеры для всех запросов в сессии
  5. Можно использовать приватное хранилище для куков, кэша и прочего
  6. Получаем более строгий и структурированный код, в отличие от набора беспорядочных NSURLConnection

Подробности и примеры
Total votes 30: ↑28 and ↓2 +26
Comments 4

В MIT разработали физически меняющий форму экран

Reading time 1 min
Views 127K
image

Нечто футуристичное показали пятеро сотрудников MIT — экран inFORM (Dynamic Shape Display), физически меняющий свою форму, в зависимости от того, что он «показывает».

Технически речь идёт о некоторой плоскости, на которой укреплены «физические воксели», умеющие изменять свою высоту, получая её значение от параметров виртуального объекта, который требуется показать или, в прямом смысле, от физических размеров реального объекта, с которым экран взаимодействует при помощи Kinect.

Таким образом создаётся эффект «физического присутствия» объекта, который может находиться перед сенсором сколь угодно далеко от самого экрана. Заметно, что «разрешение» экрана пока маленькое, но если представить себе, что оно достигнет уровня Retina, то тогда понятие 3D-моделирования и 3D-печати перейдёт на совершенно новый уровень.

В данном случае лучшей демонстрацией разработки будет видео:



Научная статья авторов о разработке доступна в pdf.

Источник
Total votes 122: ↑112 and ↓10 +102
Comments 66

Премьера отечественного постапокалиптического фильма «Полигон 27»

Reading time 1 min
Views 26K
Сегодня автором был выложен в открытый доступ фильм «Полигон 27». Особенность его в том, что режиссером, сценаристом, оператором, композитором и специалистом по спецэффектам является один человек — Артем Мирошин, а актерами — энтузиасты из города Хабаровска.



Постядерный мир. Среди руин старого города возвышается город — убежище «Новый Хабаровск». В руки молодого парня и девушки попадает важная информация о местоположении технологий, с помощью которых можно восстановить экологию планеты. Оставшись без помощи и поддержки, они вынуждены совершить путешествие к этому месту и раскрыть заговор нависший над городом.

Трейлеры и ссылка на фильм
Total votes 129: ↑109 and ↓20 +89
Comments 104

Больше, чем человек

Reading time 3 min
Views 101K
image Новостные заголовки так и пестрят сообщениями о новых смартфонах с 15 ядрами и гигабайтами встроенной памяти, о ноутбуках, которым позавидовали бы лучшие гимнасты мира. Но в то же самое время, как одни компании озабочены разрешениями экранов и количеством ядер своих будущих устройств, другие ставят перед собой совсем другие, поистине впечатляющие задачи, такие как заселение Марса к 2030 г. или по личному аватару каждому человеку к 2045 г. Но у последних не хватает средств для пропаганды своих изобретений и идей в СМИ, и все упоминания их разработок, в большинстве своем, не выходят дальше университетских блогов, и специализированных сайтов. Если вам, так же как и мне, интересно, как же близко человечество подобралось к технологической сингулярности, добро пожаловать!
Читать дальше →
Total votes 115: ↑105 and ↓10 +95
Comments 66

Нейробиология и искусственный интеллект: часть первая — ликбез

Reading time 6 min
Views 126K
Так уж получилось, что я уже давненько читаю Хабр и особенно раздел про искусственный интеллект, однако до сих пор так и не отважился внести свою лепту в общий уровень энтропии.

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

В данной статье я в сжатой форме попытаюсь дать ответы на следующие вопросы:
— что же такое нейрон, как он устроен и работает?
— что происходит в синапсах, когда нейроны общаются друг с другом?

А в следующей (-щих):
— как интеллект и сознание связаны с активностью нейронов? (здесь же про то, как информация обрабатывается мозгом, нейропластичность, квантовую теорию сознания, сон и т.д.)
Читать дальше →
Total votes 68: ↑64 and ↓4 +60
Comments 43

Ключевые моменты марсианского путешествия

Reading time 2 min
Views 4.5K

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

Давайте посмотрим, как путешествовал космический корабль, куда приземлился марсоход и какие вопросы стоят перед NASA сейчас…
Читать дальше →
Total votes 70: ↑63 and ↓7 +56
Comments 90

2D->3D in Augmented reality

Reading time 8 min
Views 26K
image

В данной статье я расскажу как в приложениях Augmented reality по найденому расположению объекта в сцене построить 3D-пространство. Для этого необходимо получить две матрицы – проекционную (GL_PROJECTION) и модельную (GL_MODELVIEW) для работы, например, в OpenGL. Делать это мы будем средствами библиотеки OpenCV.

Недавно приходилось решать эту задачу, но ресурса, где просто поэтапно объяснялось как это сделать я не нашел (может плохо искал), а подводных камней в данной проблеме хватает. В любом случае, статья на хабре описывающая эту задачу не повредит.
Читать дальше →
Total votes 59: ↑59 and ↓0 +59
Comments 9

Что в действительности кроет в себе страшная цифра восемь

Reading time 13 min
Views 15K
Эта статья была написана НЕ в виме



Для начала — хочу немного объясниться. Для меня слово «маркетинг» означает «Создание определённого мнения у публики в отношении какого-либо заданного объекта маркетинга». Это вовсе не означает «Сливание дерьма на уши дебилам» или «Рассказ про то, как крут наш бесполезный товар». Хороший маркетинг сделал из БМВ БМВ. То же произошло с Windows XP, которая является одной из самых долгоживущих осей сего мира.

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

Например, «пининг» приложений и сайтов на таскбаре Windows. Знаете, почему в России по стандарту к таскбару пришпилено только 3 значка? Просто потому что люди не знают, что и как туда можно пришпилить.

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

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

Собственно говоря, вот эта статья показала мне, как всё плохо. Момент заключается в том, что после шести часов отличной видео презентации, тонны текстов и видео-роликов, после отличной маркетинговой компании в США уже отлично знают и понимают, что да как в Windows 8. А вот в России позорно путают поиск по системе и новый магазин приложений.

Что же, дальше, я в подробностях и скриншотах буду выкладывать факты о том, что такое Windows 8, как его едят и с чем потребляют.

И так, что же великого и таинственного таит в себе эта система? Конечно же, новичок скажет вам, что Windows 8 — это новое и отвратительное меню пуск. Но, мы же с вами не люди, мы — хаброчеловеки. Наша задача — глубоко понимать тему разговора.
поехали!
Total votes 385: ↑338 and ↓47 +291
Comments 334

Кадры решают всё или о биче современных компаний

Reading time 18 min
Views 132K
image
Хотелось бы немного рассказать о тех ошибках, которые очень опасно совершать особенно сейчас, особенно в странах или городах золотого миллиарда. Думаю каждый работающий или сталкивающийся с деятельностью большой или не очень компании (или гос структуры) как и я удивляется на сколько же всё не эффективно и поражается как при таком раздолбайстве и пофигизме шестерёнок машина всё еще работает.
Читать дальше →
Total votes 139: ↑102 and ↓37 +65
Comments 67

50 цитат о программировании всех времён

Reading time 6 min
Views 158K
Перевёл после прочтения комментариев к статье «О ненависти к C++». В цитатах можно найти ответы на большинство возникших там вопросов.

50. Программирование сегодня — это гонка разработчиков программ, стремящихся писать программы больше и с лучшей идиотоустойчивостью, и вселенной, которая пытается создавать больших и лучших идиотов. Пока вселенная побеждает.
— Rick Cook

49. Lisp — это не язык, а строительный материал.
— Alan Kay

48. Ходить по воде и разрабатывать программы, следуя спецификации, очень просто… если они заморожены.
— Edward V Berard
Читать дальше →
Total votes 344: ↑336 and ↓8 +328
Comments 136

Введение в Size Classes в Xcode 6

Reading time 6 min
Views 61K
Привет всем! Сегодня хотелось бы сделать небольшое введение в такую штуку, как Size Classes. Она появилась недавно вместе с Xcode 6, документации по ней от самой Apple совсем немного.

Итак, для чего же предназначена Size Classes? Все мы знаем, что на подходе уже iPhone 6 двумя (как минимум) разными размерами дисплея (4,7 и 5,5), после чего разработчикам еще больше придется заморачиваться с версткой UI для них + само собой расширения iPad«ов. В итоге количество всех поддерживаемых экранов будет около 7 (маленький привет Android). Герой сегодняшнего дня — Size Classes — как раз и предназначен для того, что бы помочь решить данную проблему.
Читать дальше →
Total votes 21: ↑19 and ↓2 +17
Comments 19

Язык программирования Swift. Русская версия

Reading time 17 min
Views 373K
imageПривет, Хабр! 2 июня все мы воочию могли наблюдать, как компания Apple начала творить революцию в стане Objective-C разработчиков, представив миру свой новый язык программирования – Swift. Вместе с этим, она выложила в открытый доступ небольшую документацию по языку, которую мы решили перевести, если на то будет спрос. Предлагаем вашему вниманию перевод первой главы. Если тема будет интересна, то мы продолжим публиковать перевод каждую неделю.
Читать дальше →
Total votes 117: ↑103 and ↓14 +89
Comments 51

Перевод учебника по алгоритмам

Reading time 1 min
Views 165K


Рад сообщить, что вышел перевод отличнейшего учебника Дасгупты, Пападимитриу, Вазирани «Алгоритмы», над которым я работал последние несколько лет. В книге многие алгоритмы объяснены гораздо короче и проще, чем в других учебниках: с одной стороны, без излишнего формализа, с другой — без потери математической строгости. Откройте книгу на каком-нибудь известном вам алгоритме и убедитесь в этом. =)

В общем, угощайтесь: печатный вариант перевода, электронный вариант перевода (PDF), печатный вариант оригинала, электронный вариант оригинала (PDF).
Читать дальше →
Total votes 323: ↑321 and ↓2 +319
Comments 109

Как Минковский во Flappy Bird играл

Reading time 8 min
Views 127K


Многие пробовали играть во Flappy Bird. Редко кому удается пролететь за 50 труб, очень немногие долетают до сотни-двух. Некоторые пробовали создать бота, в том числе на хабре. Удивительно, но даже у самого успешного бота, которого можно найти на просторах интернета, результаты не очень-то впечатляют – что-то около 160 очков. Возникает вопрос, а можно ли вообще играть во Flappy Bird бесконечно долго? Или всегда с некоторой, пусть и небольшой, вероятностью может встретиться последовательность препятствий, которую даже опытный игрок/идеальный бот не сможет преодолеть?

И тут на помощь приходит математика. Давайте найдем выигрышную стратегию для Flappy Bird.
Читать дальше →
Total votes 364: ↑357 and ↓7 +350
Comments 32

Эффект 3D с помощью белых линий

Reading time 1 min
Views 96K
Анимированные GIF’ы до сих пор часто используются в интернете. Хотя это древний формат, но даже в нём остаётся место для инноваций. На сайте Tumblr пополняется коллекция 3D GIF, в которых трёхмерный эффект создан путём простого добавления двух вертикальных белых линий. Странно, но такой простой трюк действительно работает, и без всяких 3D-очков.

Собственно, эффект действует даже на статических изображениях, причём есть мнение, что он давно используется в комиксах.


Читать дальше →
Total votes 246: ↑165 and ↓81 +84
Comments 58

Как команда технарей свою студию создавала. Опыт первых месяцев. Достижения, фейлы, умозаключения…

Reading time 9 min
Views 137K

Уверен, многих технарей посещала идея создания своего бизнеса. Вот и у нас в определенный момент все звёзды сложились так, что казалось — это беспроигрышный вариант: сильная техническая команда, откуда ни возьмись появились менеджеры, готовые продавать наши услуги, есть даже пара проектов на старт. Грех не попробовать. И мы рискнули. Фактически всё надо ставить с нуля.
Читать дальше →
Total votes 126: ↑110 and ↓16 +94
Comments 118

UICollectionView или танцы с волками

Reading time 6 min
Views 42K

The dream


UICollectionView — класс UIKit, появившийся в iOS 6. Строго говоря, это класс, позволяющий показывать на экране коллекцию айтемов. Структура коллекции — абсолютно произвольная, но обычно UICollectionView используется для всяких сетко-подобных контролов с ячейками, хедерами и футерами. Понимая, насколько абстрактен данный класс, разработчики Apple создали мощный механизм для создания любых лейаутов. По большому счету, даже UITableView это конкретная реализация UICollectionView. Возможности данного класса, в каком-то смысле, фантастические. Но в данной статье речь пойдет не об этом.

Ахиллесова пята разработчиков Apple — постоянное стремление делать СДК, которое будет работать «автомагически». Просто сделайте то-то и то-то, и класс «will do the right thing». К сожалению это работает далеко не всегда. И UICollectionView — яркий пример. Начиная с релиза в iOS 6 и по сегодняшний день (iOS 7.0.4) класс содержит довольно большое количество багов, с которыми очень трудно и неприятно иметь дело. Приходится угадывать, что же происходит «под капотом», и методом тыка заставлять UICollectionView работать как надо. Количество приобретенных костылей уже достигло таких размеров, что я решил поделиться известными багами и найденными решениями.

Кому интересно — милости просим под кат.
Читать дальше →
Total votes 23: ↑19 and ↓4 +15
Comments 25

Information

Rating
2,030-th
Location
Минск, Минская обл., Беларусь
Date of birth
Registered
Activity