Грязные трюки Uber против конкурента: 5560 отменённых вызовов такси

Автор: admin от 12-08-2014, 19:15, посмотрело: 543

Грязные трюки Uber против конкурента: 5560 отменённых вызовов такси

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

Компания Lyft рассказала прессе о грязных трюках, которые использует её более известный конкурент. С октября прошлого года она зарегистрировала 5560 фальшивых вызовов такси, когда вызывающий потом отменял заказ. По номерам телефонов Lyft выяснила, что все эти вызовы совершили 177 таксистов и сотрудников, работающих в Uber.

Категория: Программирование / Веб-разработка

 

«Умный» ошейник превратит вашего кота в Wi-Fi-взломщика

Автор: admin от 12-08-2014, 18:15, посмотрело: 1 022

Несколько дней назад на сайте Wired была опубликована статья How to Use Your Cat to Hack Your Neighbor’s Wi-Fi | Threat Level | WIRED. Учитывая два важных обстоятельства — котики и Wi-Fi, решил опубликовать готовый вольный перевод, который попался мне на глаза.

Категория: Информационная безопасность

 

Odroid W — миниатюрный клон Raspberry Pi

Автор: admin от 12-08-2014, 18:15, посмотрело: 1 252

Odroid W — миниатюрный клон Raspberry Pi

Корейская компания Hardkernel, неизвестный производитель одноплатных компьютеров, представила новую модель Odroid W. Новинка основана на схемотехнике Raspberry Pi, но при этом имеет ряд заметных отличий

Категория: Железо / Сделай Сам

 

Awesome tasklist

Автор: admin от 12-08-2014, 17:10, посмотрело: 617

На Wiki, к сожалению, очень мало информации по настройке оконного менеджера Awesome. Поэтому решил внести свои пять копеек в популяризацию этого замечательного WM. В этой статье разбираем панель задач.

Панель задач — отображает по умолчанию клиенты с активного тега/тегов.

Категория: Операционные системы / Linux

 

MediaCodec или понимаем как хотим

Автор: admin от 12-08-2014, 17:10, посмотрело: 566

С выходом Android 4.3 (API 18), Google привнесла долгожданный компонент под названием MediaCodec. Класс был открыт публике с выходом API 16, но для нормального использования и поддержки в Android системе требуется минимальный уровень API 18.

Материал рассчитан на опытного Android разработчика. Я попробую объяснить и показать примеры кодирования видео на лету с использованием Surface как входа и выхода потока данных. Если интересно, прошу под кат.

Категория: Веб-разработка / Android

 

Статически типизированные продолжения

Автор: admin от 12-08-2014, 16:10, посмотрело: 553

Намедни на RSDN был задан такой вопрос:
Пусть у нас есть функция, возвращающая полиморфный тип
class Base { virtual int foo() const = 0; };
class A : public Base { int foo() const { return 1; } };
class B : public Base { int foo() const { return 2; } };
class C : public Base { int foo() const { return 3; } };
class D : public Base { int foo() const { return 4; } };

Base* getconfig(char cfg) // не будем пока отвлекаться на уборку мусора
{
  switch(cfg)
  {
  case 'a': return new A();
  case 'b': return new B();
  case 'c': return new C();
  case 'd': return new D();
  default: throw std::invalid_argument("bad type");
  }
}

и функция, принимающая его экземпляры
int entry(Base* x, Base* y) { return x->foo()*10 + y->foo(); }

которую используют примерно так
void run(char cx, char cy) { std::cout << cx << cy << " : " << entry(getconfig(cx), getconfig(cy)) << std::endl; }


Можно ли протащить полиморфизм на стадию компиляции?

Категория: Программирование

 

Функции в Perl

Автор: admin от 12-08-2014, 14:40, посмотрело: 2 108

Функции в Perl

В Perl заложено огромное количество возможностей, которые на первый взгляд выглядят лишними, а в неопытных руках могут вообще приводить к выдаче багов. Доходит до того, что многие программисты, регулярно пишущие на Perl, даже не подозревают о полном функционале данного языка! Причина этого, как нам кажется, заключается в низком качестве и сомнительном содержании литературы для быстрого старта в области программирования на Perl. Это не касается только книг с Ламой, Альпакой и Верблюдом (“Learning Perl”, “Intermediate Perl” и “Programming Perl”) — мы настоятельно рекомендуем их прочитать.

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

Категория: Программирование

 

Владельцы сайтов будут обязаны взаимодействовать с ФСБ

Автор: admin от 12-08-2014, 14:40, посмотрело: 874

Пока мы тут гадали, будут или нет запрещать открытый wi-fi, случилось не менее важное событие, которое не упомянули на хабре. Было подписано постановление правительства о правилах взаимодействия организаторов распространения информации в интернете с уполномоченными государственными органами.

По новому закону каждый «организатор распространения информации» обязан будет поставить у себя некоторый комплекс программного и аппаратного обеспечения (читай СОРМ) и предоставить к нему доступ сотрудникам ФСБ и МВД. И теперь за вашей аудиторией будут следить не только через оборудование у провайдера, но и с ваших ресурсов.

Категория: Информационная безопасность

 

«Цифровой шаббат» или как месяц без компьютеров изменил меня

Автор: admin от 12-08-2014, 14:40, посмотрело: 1 851

Я разобрал всю почту и отправил последнее письмо. Написал родным, передал свои проекты друзьям. Отправив последний твит, я выключил свой ноутбук, телефон и планшет. Через 10 минут начнётся мой «цифровой шаббат», и я в течении месяца не смогу управлять ни одним цифровым устройством.
Со времён Батлерианского Джихада, когда «мыслящие машины» были стёрты с лица большей части вселенной, компьютеры внушали недоверие.
— Мессия Дюны

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

Категория: Гаджеты / Веб-разработка

 

Реализация и тестирование Qt C++ клиента сетевого сервиса с асинхронным интерфейсом на примере Yandex Dictionary Api

Автор: admin от 12-08-2014, 13:35, посмотрело: 650

Есть у меня один проект долгострой, в котором использую Yandex Dictionary Api. В процессе разработки решил поделиться опытом создания асинхронного интерфейса к интернет-сервису.

Если у вас есть интерес, как реализовать такой клиент с помощью Qt C++, то этот пост для вас.

Я не стал заострять внимания на тех моментах Qt, которые и так хорошо описаны. В статье я попытался раскрыть, как создавать асинхронные классы в Qt на базе конкретного примера.

Пример программы


Программа посылает на сервер Yandex Dictioanary Api запросы на перевод слов и затем, по мере поступления ответов от сервиса, выводит их на экран.

#include "Precompiled.h"
#include <QtYandexApi/QtYandexApi.h>

int main(int argc, char *argv[])
{
    QCoreApplication a(argc, argv);

    QtYandexDictionary yandexDictionary(QtYandexApi::getYandexKeyFromFile("dictKey"));
    QObject::connect(&yandexDictionary, &QtYandexDictionary::translated,
                     [](const QtYaWordTranslation& wordTranslation)
    {
        if (wordTranslation.isError())
            qDebug() << wordTranslation.errorString();
        else {
            QtYaWord wordForTranslation = wordTranslation.wordForTranslation();
            QtYaTranslatedWord translatedWord = wordTranslation.translatedWord();
            qDebug() << "n***************";
            qDebug() << "Word: " << wordForTranslation.wordName();
            qDebug() << "Direction: " << wordForTranslation.fromLanguage() << "-" << wordForTranslation.toLanguage();
            qDebug() << "Main translation: " << translatedWord.mainTranslation();
            qDebug() << "Synonyms: " << translatedWord.synonyms();
            qDebug() << "Examples: ";
            for (const auto& example : translatedWord.examples()) {
                qDebug() << example.first << "-" << example.second;
            }
        }
    });

    QStringList russianWords, englishWords;
    russianWords << "дом" << "время" << "легенда" << "ключ" << "клавиатура" << "монитор" << "случай" << "один" << "два" << "три" << "четыре" << "пять" << "шесть";
    englishWords << "home" << "time" << "legend" << "key" << "keyboard" << "monitor" << "infection" << "one" << "two" << "three" << "four" << "five" << "success";

    for (const QString& word : russianWords) {
        yandexDictionary.translate(QtYaWord(word, "ru", "en"));
    }
    for (const QString& word : englishWords) {
        yandexDictionary.translate(QtYaWord(word, "en", "ru"));
    }

    return a.exec();
}

Категория: Программирование / Яндекс

 
Назад Вперед