Раньше были другие конфигурации и другие цены. Тот что сейчас стоит 5$ стоил 8$ или 10$. Много конфигураций исчезло, а еще пару месяцев назад был внушительный список из 20 позиций разношерстного железа, правда из них было доступно для заказа 5-8 конфигураций. Теперь конфигурации обновили, цены упали и с доступностью проблем нету. Я посматриваю на их сайт время от времени, т.к. как раз подходит к концу срок аренды текущего сервера.
На первом скриншоте первый сервер не попадает в условия фильтрации по умолчанию, т.к. стоит дешевле минимальной 1000 рублей. :)
Почему нету kimsufi в табличке сравнения? Они как раз обновили линейку доступных серверов.
Решал ту же задачу и склонился к системным настройкам. До этого были велосипеды для ручной авторизации, но потом их выкинул, чтобы у всех экранов шаринга был одинаковый интерфейс. В twitter, если пользователь использует офф клиент — он зарегистрирован в системных настройках. А если не зарегистрирован — значит twitter-ом не пользуется или у него 2 фолловера.
С фейсбуком сложнее, т.к. использование родного клиента не обязательно равно регистрации в системных настройках. Но и фейсбуковцев пришлось отправить в системные настройки. Т.к. шаринг было решено сделать через UIActivityViewController, а там все унифицировано.
Когда все стало единообразно, и интерфейс упростился, и для пользователя стало понятней. Видит иконку share (квадрат и стрелку вверх из него) и знает что за ней спрятано.
И в продолжение темы мне стало интересно, как маркетологи получают эту информацию. Допустим упоминание каких-то слов в чате Facebook — Facebook же об этом не расскажет, даже если его об этом попросить.
Во время работы функции инициализируются разного рода структуры другими функциями. и в конце функции есть метка (:fail или :error) в которой происходит очистка этих структур в случае сбоя. Был бы это С++ — всё сделали бы деструкторы. А в C приходилось так вот заморачиваться, чтобы не повторять нарастающий, как снежный ком, список функций освобождения ресурсов после вызова каждой функции, в которой что-то может пойти не так.
Я бы воздержался от категоричных высказываний по поводу потоков. Есть 2 типа приложений, надо которыми я работаю.
Первый тип занимается обработкой данных и должен решить задачу как можно быстрее. Соответственно нужно загрузить все ядра и параллельно выполнить на них работу. Как это сделать? Без потоков никак.
Второй тип, это обычное десктоп приложение. В нем, в главном потоке идет обработка run-loop и любая сколько-нибудь тяжелая задача в главном потоке скажется на отзывчивости приложения. Как бороться? Сделать отдельный пул рабочих потоков для фоновых задач, в которых доставать задачи из очереди и обрабатывать.
т.е. решений достаточно много и нельзя говорить, что «потоки — зло». Да, надо думать о синхронизации доступа к ресурсам, делать доступ к общим ресурсам в одном и том же порядке, может даже использовать новомодные lock-free структуры. Но страшного или плохого в этом ничего нету.
Не так уж и много. Если представить сколько должны весить все кадры FullHD фильма по отдельности — получается огромный объем. Однако сжимаются такие данные очень хорошо. В кадрах Lytro добавляется еще одно измерение для каждой точки изображения. Но в последовательности кадров разница всех параметров пикселя между соседними кадрами видеоряда будет не большой.
Задумка хорошая, и говорит он толково. Однако что бы стоило после презентации дать ссылку на ресурс, на котором можно было бы начать собираться заинтересованным. Обсуждать, строить план, делиться на рабочие группы, запускать прототип. А так получилось что-то вроде «нам надо что-то делать» и без конкретики и без призыва к дальнейшему действию.
Я думаю китайцы быстро наладят производство копий. И их можно будет отличить от оригинала только с дозиметром. Ну и по ценнику. Погрешность после перевода стрелок на летнее-зимнее время совершенно убивает затею. Были бы с цифровым дисплеем, изначально синхронизированные с супер крутым эталоном — другой вопрос.
Вы думаете во всех терминальных клиентах работают Shift-стрелочки? :) В штатном маковском клиенте — не работают, если их специально не заточить. Но лень.
Интересная получилась схема. Сначала новость «АНБ нас всех прослушивает, давайте переходить на HTTPS». Через несколько месяцев, когда все нужные данные слиты «Ой, оказывается в HTTPS есть дыра, через которую можно слить много ценной инфы».
Удобная штука. Часто бывает надо подсмотреть опции приложения или при сборке пакета посмотреть флаги у configure. Так выведешь их в консоль потом выполнишь еще несколько команд и инфа по флагам уже уехала далеко вверх. А в браузере такого рода инфу удобней будет сохранять без нужды её искать скроллом. Можно было бы открывать новые вкладки под каждый такой список флагов, но потом была бы путаница где рабочие терминалы, а где доки для справки.
Почему нету kimsufi в табличке сравнения? Они как раз обновили линейку доступных серверов.
С фейсбуком сложнее, т.к. использование родного клиента не обязательно равно регистрации в системных настройках. Но и фейсбуковцев пришлось отправить в системные настройки. Т.к. шаринг было решено сделать через UIActivityViewController, а там все унифицировано.
Когда все стало единообразно, и интерфейс упростился, и для пользователя стало понятней. Видит иконку share (квадрат и стрелку вверх из него) и знает что за ней спрятано.
Первый тип занимается обработкой данных и должен решить задачу как можно быстрее. Соответственно нужно загрузить все ядра и параллельно выполнить на них работу. Как это сделать? Без потоков никак.
Второй тип, это обычное десктоп приложение. В нем, в главном потоке идет обработка run-loop и любая сколько-нибудь тяжелая задача в главном потоке скажется на отзывчивости приложения. Как бороться? Сделать отдельный пул рабочих потоков для фоновых задач, в которых доставать задачи из очереди и обрабатывать.
т.е. решений достаточно много и нельзя говорить, что «потоки — зло». Да, надо думать о синхронизации доступа к ресурсам, делать доступ к общим ресурсам в одном и том же порядке, может даже использовать новомодные lock-free структуры. Но страшного или плохого в этом ничего нету.
в С++ коде заметил дефайну с циклом. От неё можно было бы избавиться, если параметры функции объявить как constexpr (C++11).