Pull to refresh
12
0
Sergey Mazulev @Squatch

iOS developer

Send message

Влияние человека на природу может быть и положительным: пример индейцев

Reading time3 min
Views149K


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

Но бывают и исключения. Эндрю Трант (Andrew Trant), ученый из Университета Уотерлу, считает, что индейцы Северной Америки постепенно улучшали природу регионов, где они проживали. В этом исследовании также приняли участие специалисты из Института Хакаи и Викторианского университета. Ученые изучали историю развития экосистем региона, связывая эту информацию с данными археологических исследований.
Читать дальше →
Total votes 15: ↑12 and ↓3+9
Comments54

ООП будущего: Барух Садогурский и Егор Бугаенко о том, как мы будем программировать через 20 лет

Reading time23 min
Views57K
Концепция объектно-ориентированного программирования воспринимается разработчиками по-разному: кто-то говорит, что ей уже пора на свалку истории; кто-то кодит и не задумывается о том, что, как и почему он делает; а кто-то пытается работать в «pure OOP» парадигме, переворачивая классические паттерны с ног на голову.

В преддверии Joker 2016 мы попросили Баруха Садогурского обсудить судьбу Java и ООП с Егором Бугаенко. Что из этого получилось, слушайте в аудиоформате или смотрите в видео:



А под катом лежит полная расшифровка интервью со всеми ссылками.
Читать дальше →
Total votes 68: ↑58 and ↓10+48
Comments331

Подборка подкастов по программированию на русском и английском языках

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

Подкасты представляют собой звуковые файлы, которые можно слушать в любое время на вашем компьютере или другом устройстве (IPod, IPad, смартфон и т.д.). Это самый портативный способ потреблять контент и узнавать что-то новое. Популярность подкастов росла на протяжении многих лет и теперь они охватывают очень широкий круг вопросов.

И да, есть много интересных и популярных подкастов для разработчиков и программистов. Подкасты невероятно полезны, они будут держать вас в курсе всего что происходит в интересующей вас сфере, а также помогут вам развить более широкий взгляд на постоянно развивающуюся область информационных технологий.
Читать дальше →
Total votes 74: ↑71 and ↓3+68
Comments63

Обзор метрик мобильного приложения

Reading time13 min
Views68K


Итак, вы опубликовали в сторе своё первое приложение. Начались первые скачивания, и сейчас самое время начать снимать метрики, чтобы проанализировать их и выявить возможные слабые места. Аналитика — важнейший инструмент в мире мобильных приложений. Она позволяет понять психологию пользователя, понять, как он взаимодействует с мобильным приложением, и в результате поможет сделать ваше детище лучше и прибыльнее.
Читать дальше →
Total votes 14: ↑13 and ↓1+12
Comments5

Статическая и динамическая типизация

Reading time13 min
Views170K

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



Тип — это коллекция возможных значений. Целое число может обладать значениями 0, 1, 2, 3 и так далее. Булево может быть истиной или ложью. Можно придумать свой тип, например, тип "ДайПять", в котором возможны значения "дай" и "5", и больше ничего. Это не строка и не число, это новый, отдельный тип.


Статически типизированные языки ограничивают типы переменных: язык программирования может знать, например, что x — это Integer. В этом случае программисту запрещается делать x = true, это будет некорректный код. Компилятор откажется компилировать его, так что мы не сможем даже запустить такой код. Другой статически типизированный язык может обладать другими выразительными возможностями, и никакая из популярных систем типов не способна выразить наш тип ДайПять (но многие могут выразить другие, более изощренные идеи).


Динамически типизированные языки помечают значения типами: язык знает, что 1 это integer, 2 это integer, но он не может знать, что переменная x всегда содержит integer.


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

Читать дальше →
Total votes 50: ↑42 and ↓8+34
Comments88

Как дать адекватную оценку времени, когда неопределённость бьёт по башке

Reading time12 min
Views82K
Большинство людей не умеют адекватно оценивать сроки выполнения задач. Ой как это заставляет порой понервничать… Тут и «дэдлайн подкрадывается незаметно». И перестраховка в 500% на всякий случай (все равно не хватает). И отжимание «заведомо раздутых сроков», чтобы исполнитель пообещал чего-то более приемлемого. И невнятные бормотания вместо конкретных цифр.

image

В этой статье собраны и структурированы принципы и методы, с помощью которых можно научить себя и других давать адекватные оценки. В начале — общие принципы и чуть-чуть математики. В конце — конкретика для студий.
Читать дальше →
Total votes 81: ↑68 and ↓13+55
Comments24

Математика на пальцах: давайте посчитаем хотя бы один ряд Фурье в уме

Reading time6 min
Views88K

Нужно ли вам читать этот текст?


Давайте проверим. Прочтите следующее:

Тригонометрическим рядом Фурье функции  называют функциональный ряд вида



где







Страшно, но всё же хочется понять, что это значит?


Значит, вам под кат. Постараюсь формул не использовать.
Читать дальше →
Total votes 86: ↑76 and ↓10+66
Comments99

Логика сознания. Вступление

Reading time8 min
Views112K
image В свое время на Хабре был опубликован цикл статей «Логика мышления». С тех пор прошло два года. За это время удалось сильно продвинуться вперед в понимании того, как работает мозг и получить интересные результаты моделирования. В новом цикле «Логика сознания» я опишу текущее состоянии наших исследований, ну а попутно попытаюсь рассказать о теориях и моделях интересных для тех, кто хочет разобраться в биологии естественного мозга и понять принципы построения искусственного интеллекта.

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

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

Не должна вводить в заблуждение распространенная фраза о том, что многие идеи искусственных нейронных сетей позаимствованы из исследований реального мозга. Заимствование носит слишком общий характер. По большому счету, оно заканчивается на том, что и там и там есть нейроны и между этими нейронами есть связи.
Читать дальше →
Total votes 49: ↑46 and ↓3+43
Comments179

Что такое программная инженерия. Лекция в Яндексе

Reading time39 min
Views66K
Кандидат технических наук МИЭМ, заместитель руководителя департамента программной инженерии факультета компьютерных наук НИУ ВШЭ и заместитель завкафедрой системного программирования ИСП РАН Ефим Гринкруг даёт свой ответ на вопрос о том, что такое программная инженерия.

Этому термину уже почти 50 лет — впервые его начали использовать в 1968 году. Дело в том, что именно тогда методы классической инженерии — например разбиение на отдельные компоненты — стали всерьёз применяться в создании софта. Но почему они не применялись раньше, и какой новый смысл приобрело выражение «программная инженерия» в последние десятилетия?



Под катом — подробная расшифровка и слайды.
Читать дальше →
Total votes 74: ↑67 and ↓7+60
Comments10

Бюджетный стартовый набор Arduino

Reading time3 min
Views47K
У меня более 10 лет стажа в IT-индустрии, но как радиолюбитель — я полнейший нуб. Как и многих в последнее время, меня заинтересовали возможности Arduino. Но не в качестве крутого устройства по управлению всем вокруг, а больше в качестве программируемого конструктора и развлечения.

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

Итак, если вы хотите собрать бюджетный набор с ардуинкой, пригодный для прохождения большинства уроков, а времени для изучения рынка нет, то последующий текст для вас.
Читать дальше →
Total votes 24: ↑16 and ↓8+8
Comments39

Уведомления в iOS 10

Reading time7 min
Views43K

Уведомления в iOS 10


Говорят, что на этом WWDC не было ничего интересного, кроме интерактивных уведомлений. Действительно, новые уведомления одна из самых интересных новых фич. Не только для разработчиков, но и для простых пользователей. В iOS 10 попытались унифицировать работу с локальными и пуш-уведомлениями и добавили для этого новый фреймворк UserNotifications.framework. Старое API теперь запрещено (deprecated), но его можно использовать до тех пор, пока вы поддерживаете iOS 9.


Новые уведомления умеют:


  • показывать вложения (картинки и видео)
  • отображать кастомный UI
  • показывать стандартный UI в активном приложении (why so long!11)
  • удалять себя из центра уведомлений (!!1)

В этой статье разберемся как это работает. Будет интересно не только разработчикам, но и UX проектировщикам.

Читать дальше →
Total votes 29: ↑27 and ↓2+25
Comments16

Игра, которая не игра

Reading time4 min
Views69K


Привет!

Когда я рассказывал про сюжетно-ориентированные игры, я думал, что пример прибитых к голове героя рельсов сюжета – это Mass Effect. Но нет, в полку интерактивных фильмов прибыло, и прибыло так, что прямо хочется сказать о новом направлении игр.

Короче, у вас есть игра. Только в неё нельзя выиграть или проиграть. И в ней нельзя ничего поменять. И вы ни на что не влияете. Но при этом она интересная. Как игра, а не как фильм. Называется Firewatch.

Пошли, покажу этот оксюморон.
Читать дальше →
Total votes 67: ↑57 and ↓10+47
Comments105

Интеграция Siri или «Вот что мне удалось найти в вашем приложении»

Reading time5 min
Views15K


На WWDC 2016 Apple представила миру SiriKit — API для работы с голосовым помощником.

Если вы не смотрели WWDC сессию про SiriKit и ждёте, что сможете использовать Siri в любом приложении, то вам стоит знать, что на данный момент поддерживается всего несколько типов сервисов:

1) Аудио и видео вызовы,
2) Сообщения,
2) Платежи,
3) Поиск фото,
4) Тренировки,
5) Поездки (бронирование).

Также, как гласит документация, существуют возможность взаимодействия с автомобилем с помощью CarPlay (INSetClimateSettingsInCarIntent, INSetSeatTemperatureInCarIntent, etc.).

Таким образом, Siri можно дать команду "<позвони тому-то, отправь сообщение, поищи фото, etc.> через <название вашего приложения>".
Все устроено таким образом, что взаимодействовать напрямую с нейросетью не придется — SDK предоставляет простые протоколы и набор легковесных классов для передачи информации в методах. Разработчику остается только реализовать эти протоколы.

Для ленивых в конце статьи ссылка на демо-приложение (отправляем с помощью Siri сообщение своим друзьям из ВК).
Добавляем Siri в свой проект
Total votes 24: ↑22 and ↓2+20
Comments2

SimSim, откройся

Reading time5 min
Views6.2K
imageПривет!

Многие из вас пишут под iOS. Практически у любого разработчика рано или поздно возникает нужда поковыряться во внутренностях своего приложения на уровне файлов — посмотреть, корректно ли распаковался какой-нибудь бандл, не полетела ли база. Самые настырные пользуются приложением SimPholders.

Мы с коллегами какое-то время эксплуатировали вышеупомянутое творение, а потом утомились и перестали.
Читать дальше →
Total votes 13: ↑13 and ↓0+13
Comments5

«Хакеры и Художники». Как мы 13 лет всем рунетом Пола Грэма переводили

Reading time5 min
Views52K
«Это началось как желание, стало приключением, а закончилось как уникальное дорожное путешествие.»
— к/ф «Трасса 60»



Пол Грэм написал книгу «Hackers and Painters» (оригинал в PDF на английском) когда еще был больше программистом, чем инвестором. С тех пор некоторые моменты устарели (да и arc не взлетел), но большинство мыслей остались актуальными (роль и место ботанов «хакеров» в современном мире, свободомыслие, критическое мышление, способность бросать вызов большим системам и пр). Лично я планирую перечитать всю книгу еще пару раз.

Спасибо Байраму Аннакову за «наводку» на Пола Грэма и Николаю Кононову, который подтвердил, что я на правильном пути.

Содержание


Глава 1 Why Nerds Are UnpopularЗа что не любят ботанов.
Глава 2 Hackers and PaintersХакеры и художники (Habr edition)
Глава 3 What You Can't SayО чем вы не можете сказать.
Глава 4 Good Bad AttitudeСлово «хакер».
Глава 5 The Other Road AheadДругая дорога в будущее, Другая дорога в будущее, продолжение.
Глава 6 How to Make WealthКак стать богатым.
Глава 7 Mind the GapОсторожно, разрыв.
Глава 8 A Plan for SpamПлан для спама.
Глава 9 Taste for MakersВкус — созидателям.
Глава 10 Programming Languages Explained — Языки программирования «в разрезе».
Глава 11 The Hundred-Year LanguageЯзыки программирования через сто лет.
Глава 12 Beating the AveragesLisp: побеждая посредственность.
Глава 13 Revenge of the Nerds — Месть ботанов 1, 2, 3.
Глава 14 The Dream LanguageБыть Популярным, часть 2.
Глава 15 Design and ResearchПроектирование и исследование.

Под катом хронология переводов и благодарности.
Читать дальше →
Total votes 28: ↑27 and ↓1+26
Comments25

Objective-C, static libraries, categories, -ObjC, боль…

Reading time7 min
Views10K
Не всем повезло писать приложения полностью на Swift, да и еще под ios 8+ онли. Много легаси на Objective-C, много зависимостей идет через статик либы, ни cocoapods, ни carthage, всё ручками. Мы же крутые девелоперы, поэтому строго следуем DRY и все реюзабельные вкусшянки выносим либо в отдельные проекты, либо в статик библиотеки. Сейчас рассмотрим случай, когда мы сделали классную статичную библиотечку с не менее прикольным апи, и хотели бы поделиться с товарищами по цеху внутри компании — на вики ресурсе/гите выложить архивчик с либой, хедерами и, конечно же, ридмиком где описан весь апи и как им пользоваться.

Для примера ради рассмотрим один класс + его категорию



Читать дальше →
Total votes 12: ↑11 and ↓1+10
Comments8

Сравнение языков программирования относительно работы на фриланс-бирже upwork.com + опрос

Reading time3 min
Views85K

Недавно (в конце марта 2016 года) делал исследование перспективности языков программирования на upwork.com для одного из своих проектов и подумал, что это может быть интересно кому-нибудь ещё.


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


image
Процентное соотношение офферов по популярным языкам программирования

Узнать ответ на главный вопрос жизни, вселенной и всего такого
Total votes 20: ↑19 and ↓1+18
Comments75

Архитектурные паттерны в iOS

Reading time14 min
Views203K

Введение в MVP, MVC, MVVM и VIPER. Что между ними общего и в чем разница.



Делаете все по MVC, а получается некрасиво? Сомневаетесь, переходить ли на MVVM? Слышали о VIPER, но не уверены, стоит ли оно того?

В этой статье я кратко рассмотрю некоторые популярные архитектурные паттерны в среде iOS и сравню их в теории и на практике. Больше информации вы найдете при переходе по ссылкам, указанным в тексте.
Читать дальше →
Total votes 28: ↑28 and ↓0+28
Comments18

«ПсихическоеЗдоровье: ошибка выполнения»

Reading time11 min
Views31K
Искав информацию для нового исследования взаимосвязи продуктивности разработчиков от качества их сна я наткнулся на эссе Кеннета Рейца, известного популяризатора Python и активного контрибьютора open source проектов, который пишет о его опыте безумия и переживаний связанных с этим состоянием. Делюсь с вами переводом.


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

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

Однако, где-то полтора года назад, все изменилось. Как только я избавился от постоянных, изнуряющих головных болей, я с интересом погрузился в изучение йоги, медитаций и восточных философий. На самом деле, мне всегда были интересны различные подходы в познании мира и самого себя, так что, принимая во внимание тот факт, что я вырос в крайне религиозной семье, я проводил много времени за чтением таких авторов как Кен Уилбор, Рэм Дэс, Теренс Маккена и Алекс Грей. Естественным образом я ассимилировал их идеи в своем собственном мировоззрении, которое, кстати говоря, на тот момент мне казалось вполне нормальным и не сулящим никаких опасностей.



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

А я был болен.
Читать дальше →
Total votes 20: ↑19 and ↓1+18
Comments92

Фантастические книги на тему искусственного интеллекта

Reading time6 min
Views84K
image

Предлагаю к вашему внимание фантастику на тему искусственного интеллекта. Из-за того, что эта тема с каждым годом становится все более актуальной, я думаю, что будет интересно почитать, что про это думали известные фантасты. В большинстве книгах искусственный интеллект представлен в виде гуманоидоподобых роботов. Хотя эра роботов давно уже настала (правда без ИИ), мы не видим на улицах этих человекоподобных роботов, из-за того, что в их нет надобности. Сейчас все роботы узко специализированны, и имеют определенную конструкцию и предназначение. А человекоподобные роботы служат в основном для развлечение. Но это все равно не затмевает величие фантастических миров будущего наших любимых фантастов. Надеюсь вы найдете из этого списка что-то интересное для себя.
Читать дальше →
Total votes 19: ↑16 and ↓3+13
Comments75

Information

Rating
Does not participate
Location
Москва, Москва и Московская обл., Россия
Date of birth
Registered
Activity