Pull to refresh
11
0

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

Send message

6 ссылок о том, что Google знает о вас

Reading time2 min
Views447K
Не желаете ли узнать о том, что Google знает о вас? Вот 6 ссылок, которые покажут вам некоторые данные, собранные гуглом.

1. Ваш профиль в Google

Google создаёт профиль с вашими основными данными – возраст, пол, интересы. Эти данные используются для показа релевантных объявлений. Вы можете просмотреть эту информацию здесь:

www.google.com/ads/preferences

(прим.перев. – в моём случае гугл не блещет информацией. Я не состою в Google+, а по посещённым мною сайтам гугл не смог определить мой пол, а возраст определил в 65+ лет).
Читать дальше →
Total votes 109: ↑102 and ↓7+95
Comments56

Исследование: как пользователи на самом деле работают с сенсорными экранами

Reading time5 min
Views26K
Я занимаюсь исследованиями того, как пользователи взаимодействуют с сенсорными экранами уже много лет, и могу сказать, что понимание темы в профессиональном сообществе только начинает вырабатываться. Тач-устройства все еще являются довольно новым явлением, паттерны взаимодействия с подобными девайсами еще вырабатываются.

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

Методология исследования


Совместно с коллегами из компании ZIPPGUN я разработал мобильное приложение, которое позволяет моделировать различные сценарии использования мобильного телефона. С помощью этого приложения были проведены тесты при помощи 31 участника (около двух третей из них использовали смартфоны, а остальные работали с планшетами).

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

image

Число участников эксперимента было не очень велико, однако даже при таком количестве людей, исследование получилось очень сложным. Только запись 31 сессии заняла почти 100 часов видео.
Читать дальше →
Total votes 31: ↑29 and ↓2+27
Comments28

Больше, чем почта

Reading time4 min
Views24K
Всем привет!

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

TIMEWEB является провайдером электронной почты 6 лет. За это время наш почтовый кластер несколько раз менял свою архитектуру, следуя за ростом объёма обрабатываемых данных. Согласно недавнему исследованию Яндекc, TIMEWEB является одним из крупнейших провайдеров электронной почты в России. Наш почтовый кластер обслуживает 200 000 почтовых ящиков.

Теперь пришло время эволюции приложения для работы с почтой. Используемые ранее интерфейсы Squirrel и Roundcube морально устарели и для дальнейшей качественной работы требуется абсолютно новое решение.



Читать дальше →
Total votes 67: ↑32 and ↓35-3
Comments34

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

Reading time6 min
Views29K
image
Недавно, просматривая старые статьи Хабра, наткнулся на опрос о почтовых клиентах, который показал, что подавляющее большинство читателей предпочитает Gmail. Я сам пользуюсь им много лет, хотя пару раз в год безрезультатно пытаюсь “пересесть” на что-то поудобнее. С тех пор я стал думать о том, как можно было бы сделать Gmail лучше. Идей накопилось столько, что я решил создать собственный почтовый клиент. Любителей почитать про интерфейсы прошу под кат. И да поможет мне Фиттс.
Читать дальше →
Total votes 38: ↑26 and ↓12+14
Comments68

Java собеседование. Коллекции vs null

Reading time3 min
Views128K
Всем привет!

В топике Java собеседование. Коллекции подробно изложен вопрос работы с Set & Map в Java. Но у меня ещё есть парочка любимых вопросов из этой области:

  1. Может ли null использоваться в качестве ключа в Map?
  2. Может ли Set содержать null?

подсказка (HashMap.java)
   public V get(Object key) {  
        if (key == null)  
            return getForNullKey();  
        int hash = hash(key.hashCode());  
        for (Entry<K,V> e = table[indexFor(hash, table.length)];  
             e != null;  
             e = e.next) {  
            Object k;  
            if (e.hash == hash && ((k = e.key) == key || key.equals(k)))  
                return e.value;  
        }  
        return null;  
    }  
    /** 
     * Offloaded version of get() to look up null keys.  Null keys map 
     * to index 0.  This null case is split out into separate methods 
     * for the sake of performance in the two most commonly used 
     * operations (get and put), but incorporated with conditionals in 
     * others. 
     */  
    private V getForNullKey() {  
        for (Entry<K,V> e = table[0]; e != null; e = e.next) {  
            if (e.key == null)  
                return e.value;  
        }  
        return null;  
    }  


Предполагается, что пытливый читатель самостоятельно поразмыслит над ответами и затем сравнит их с моими. Самые нетерпеливые могут сразу проследовать под кат.
Читать дальше →
Total votes 62: ↑51 and ↓11+40
Comments47

Сравнение D и C++ и Rust на примерах

Reading time8 min
Views37K
Данный пост основывается на Сравнение Rust и С++ на примерах и дополняет приведенные там примеры кодом на D с описанием различий.

Все примеры были собраны с помощью компилятора DMD v2.065 x86_64.
Читать дальше →
Total votes 63: ↑58 and ↓5+53
Comments50

Выжимаем максимум из DDMS

Reading time6 min
Views35K
DDMS (Dalvik Debug Monitor Server) — безумно полезный инструмент для отладки приложений, который идет в комплекте с Android SDK, о котором почему-то особо и не сказано на хабре, впрочем как и в примерах google он представлен в очень скромном виде. Я бы хотел раскрыть его возможности и показать на что он способен. Вкратце:
  • изучать информацию о работающих потоках;
  • анализировать heap на количество свободной и занятой памяти;
  • анализировать какие объекты чаще создаются, их размер и другое (Allocation tracker);
  • находить проблемные участки кода, которые долго работают и требуют оптимизации (Method profiling). Это я советую знать всем.

Об этих вещах будет рассказано в рамках данной статьи. И для справки, менее интересное, что довольно тривиально и о чем НЕ будет рассказано в рамках данной статьи:
  • работать с файловой системой эмулятора или устройства;
  • находить информацию об ошибках (привет LogCat);
  • эмулировать звонки/смс/местоположение;
  • использовать инструмент Network Statistics.


Если заинтересовались, прошу под кат.
Total votes 34: ↑34 and ↓0+34
Comments6

Information

Rating
Does not participate
Location
Россия
Registered
Activity