Ubuntu — Eclipse cannot load SWT libraries

Eclipse не загружается, а в логе что то про SWT?

java.lang.UnsatisfiedLinkError: Could not load SWT library. Reasons:
no swt-gtk-3740 in java.library.path
no swt-gtk in java.library.path
Can't load library: /home/user/.swt/lib/linux/x86_64/libswt-gtk-3740.so
Can't load library: /home/user/.swt/lib/linux/x86_64/libswt-gtk.so

Все ясно!
Читать далее

Рубрика: Решение проблем | Метки: , , , | Добавить комментарий

Постим картинки в Twitter (допиливаем Tweepy)

Tweepy — лучшая обертка Twitter API для Python, на мой взгляд (остальные)
Базовые операции делаются очень легко и удобно:

import tweepy
# Чтобы получить консьюмер-ключи:
# идем https://dev.twitter.com/apps
# и жмем Create a new application
auth = tweepy.OAuthHandler(CONSUMER_KEY,CONSUMER_SECRET)
# Чтобы быстро авторизовать самого себя в приложении:
# жмем Create my access token на странице приложения
auth.set_access_token(ACCESS_TOKEN,ACCESS_TOKEN_SECRET)
api = tweepy.API(auth)
# получение логина и имени юзера
print api.me().screen_name, api.me().name
# отправка текстового твита
api.update_status('Hello, Twitter world!')
# фоловим другого юзера
api.get_user('muzhig').follow()

Но с загрузкой изображений дела обстоят немного иначе: в Tweepy она просто не реализована. Загрузка аватара и фона есть, а изображения в ленту — нет. Вооружившись напильником, исправим эту несправедливость. Читать далее

Рубрика: Туториалы | Метки: , , , | 10 комментариев

Android: как прочитать файл в массив byte[]

Задача, конечно, тривиальная, но именно подобные задачи плодят тучу четырехколесных велосипедов. Ударим паттерном по велосипедам! Читать далее

Рубрика: На заметку | Метки: , , , | Добавить комментарий

Python: Пул процессов — параллельные вычисления

Посчитаем сумму простых чисел в диапазоне от 5000000 до 6000000 загрузив все процессорные ядра. Так как GIL в обычном CPython делает паттерн пул потоков совершенно неэффективным, реализуем для наших параллельных вычислений пул из процессов, воспользовавшись стандартным модулем multiprocessingЧитать далее

Рубрика: На заметку | Метки: , , , | Добавить комментарий

Python: Memoization или кеш результатов вычислений

Memoize (или мемоизация)- это паттерн оптимизации вычислений. Он очень маленький и простой, но может оказаться очень полезным в некоторых случаях:

def memoized(f):
    memory = {}
    def wrapper(*args, **kwargs):
        key = (tuple(args), hash(tuple(sorted(kwargs.items()))))
        if not key in memory:
            memory[key] = f(*args, **kwargs)
        return memory[key]
    return wrapper

Что он нам дает? Читать далее

Рубрика: На заметку | Метки: , , | Добавить комментарий

Qt: QDateTime( «Sat, 16 Jun 2012 10:48:47 GMT» )

У нас есть строка, представляющая собой отформатированный штамп даты. Допустим, «Sat, 16 Jun 2012 10:48:47 GMT». Этой строкой мы хотим проинициализировать QDateTime (Объект даты-времени в фреймворке Qt).
Читать далее

Рубрика: На заметку | Метки: , | 1 комментарий

Android NDK + OpenCV 2.4.1

Подключаем OpenCV 2.4.1 к нативной части Android-проекта. OpenCV — это богатая функциональностью в области компьютерного зрения (CV, Computer Vision) библиотека с открытым исходным кодом.
Читать далее

Рубрика: Туториалы | Метки: , , , , | Добавить комментарий