kernel panic in userspace

my own self destruction
  • Blog
  • about
  • articles
    • Virtualbox bridge
    • linux blogging
    • Gentoo on Acer Extensa 5630Z
  • code
    • @unfollowr
    • WordPress
      • WordPress-bbPress syncronization
      • IE Warning
      • PostAds
    • Callisto overlay
    • @listwatcher
  • CV
  • belarusian
  • russian
  • english

whitelisted unfollowr troubles

Nov 13 2009
  • belarusian
  • russian

Свершилось чудо и моего ненаглядного @unfollowr добавили в список избранных пользователей Twitter, которым позволено использовать API запросы без ограничений. Теперь мне пишет, что осталось 20000 запросов в час, а не 150, хотя сколько бы я их ни делал, всё равно число не меняется. Не знаю даже, с какой попытки мне всё это далось. Далее о печальном и разном.

Незадолго до этого я вообще решил переписать бота с Perl на Python. Просто так захотелось, да и Python надо немножко вспоминать иногда, а то я его что-то подзабросил. Переписалось всё отлично, даже лучше чем было. Как только можно было делать неограниченное количество запросов к API, так я даже от Yahoo Pipes отказался, который порой выдавал не самые полные данные, что, к слову, компенсировалось частыми проходами по спискам. Только вот Twitter API — вещь в себе и большая загадка порой.

Вот к примеру, есть некие люди, которые не хотят, чтобы их обновления видели другие люди, если им на то дозвол не выдан. Ну и бг с ними, пускай. Эдакие социопаты тоже не прочь узнать, кто это такой подлый перестал их читать. Тоже можно понять. Они фолловили @unfollowr, тот им через Yahoo Pipes тягал список фолловеров и вроде бы как и считал что-то. Вроде и считал, а вроде и нет. Когда всё работало через Pipes, было незаметно, что там API говорит по поводу таких пользователей (за всеми и не уследишь), а когда работа начала вестись напрямую, тут и всплыли странные глюки. На некоторые запросы Python начал спрашивать пароль, хоть тот и указывался явно в URL в виде http://user:pass@host/. Я уж думал, что это просто API глючит местами, написал WorkAround даже (об этом позже), да вот только всё не то.

Оказывается, если пользователь с закрытыми апдейтами читает тебя, а ты его нет, то получить список его фолловеров через API нельзя. В Web интерфейсе поглазеть можно, а через API забрать нельзя. Логика шопппц. Причём мало того, что нельзя, выдавало бы хоть какую инфу в ответе, так нет, делается хитрее. Выдаётся HTTP Error 401 (Not Authorized) и требуется авторизация. Новая авторизация, как будто блин у меня 500 логинов в этот чертов твиттер и я буду их перебирать. По такому радостному поводу я даже написал в Google группу twitter-development-talk. Пока тихо, будем ждать результатов.

К слову, о том, как избежать запроса пароля в консоли, если данные получаются с помощью urllib в python. По умолчанию используется “Opener” FancyURLopener, который берёт на себя грязную работу по обработке многих ситуаций. Так вот именно он и выдаёт запрос пароля. Можно унаследовать от него ещё один класс, в нём перегрузить метод получения пароля, но это всё тупиковый путь и нам не нужен в общем. Нам просто нужно использовать другой класс для получения данных, а именно просто URLOpener, который будет не запрашивать пароль, а генерировать исключение, которое мы сможем потом красиво обработать в автоматическом режиме. Листинги давать не буду, почитать подробнее можно вот здесь, сам код @unfollowr лежит на Github, там можно посмотреть, как оно вообще у меня реализовано и работает.

Виртуальный сервер – vps — XEN виртуализация на дороге не валяется

  • belarusian
  • russian

Здарылася неверагоднае і майго ненагляднага @unfollowr дадалі ў сьпіс выбраных карыстачоў Twitter, якім дазволена выкарыстоўваць API запыты без абмежаваньняў. Цяпер мне піша, што засталося 20000 запытаў на гадзіну, а не 150, хаця колькі б я іх не рабіў, усё роўна чысло не зьмяняецца. Ня ведаю нават, зь якой спробы мне ўсё гэта далося. Далей пра сумнае і рознае.

Незадоўга да гэтага я ўвогуле вырашыў перапісаць бота з Perl на Python. Проста так захацелася, ды й Python трэба ўзгадваць час ад часу, а то я нешта яго падзакінуў. Перапісалася ўсё проста цудоўна, нават лепей, чым было. Як толькі зьявілася магчымасьць рабіць неабмежаваную колькасьць запытаў да API, дык я адразу адмовіўся ад Yahoo Pipes, які час ада часу выдаваў не самыя поўныя дадзеныя, что, дарэчы, кампенсавалася частымі праходамі па сьпісах. Толькі вось Twitter API — рэч у сабе і вялікая загадка.

Вось напрыклад, ёсьць нейкія людзі, якія ня хочуць, каб іх аднаўленьні чыталі іншыя людзі, калі ім на тое не далі дазволу. Ну й фіг зь імі, няхай. Эдакія сацыяпаты таксама не супраць даведацца, хто такі подлы перастаў іх чытаць. Таксама можна зразумець. Яны фолавілі @unfollowr, той ім праз Yahoo Pipes цягаў сьпісы фолавераў і здаецца нават нешта там вылічваў. Здаецца і вылічваеў, а атрымваецца, што і не. Калі ўсё працавала праз Pipes, было незаўважна, што там API кажа наконт такіх карыстальнікаў (за ўсімі не ўгледзеш), а калі праца пачала весьціся напрамую, тут і ўсплылі дзіўныя глюкі. На некаторыя запыты Python пачаў запытваць пароль, хоць той і даваўся яўна ў URL у выглядзе http://user:pass@host/. Я ўжо думаў, што гэта проста API глючыць месцамі, напісаў WorkAround нават (аб гэтым пазьней), ды вось толькі ўсё ня тое.

Выяўляецца, калі карыстач з закрытымі аднаўленьнямі чытае цябе, а ты яго не, то атрымаць сьпіс ягоных фолавераў праз API нельга. У Web інтэрфейсе паглядзець можна, а праз API забраць нельга. Логіка шоппц. Прычым мала таго, што нельга, выдавала б хоць якую інфу ў адказе, дые не, робіцца дзіўней. Выдаецца HTTP Error 401 (Not Authorized) і патрабуецца аўтарызацыя. Новая аўтарызацыя, нібыта блін у мяне 500 логінаў у гэты чортавы твітэр і я іх буду перабіраць. З такой радаснай нагоды я нават напісаў у Google групу twitter-development-talk. Пакуль ціха, будзем чакаць рэзультатаў.

Дарэчы пра тое, як пазьбегчы запыту пароля ў кансолі, калі дадзеныя атрымліваюцца праз urllib у python. Па змоўчаньні выкарыстоўваецца “Opener” FancyURLopener, які бярэ на сабе брудную працу па апрацоўцы многіх сітуацый. дык вось менавіта ён і выдае запыт пароля. Можна зрабіць для яго патомка, у ім перагрузіце мэтад атрыманьня пароля, але гэта тупіковы шлях і нам ён непатрэбны ўвогуле. Нам проста трэба выкарыстоўваць іншы клас для атрыманьня дадзеных, а менавіта проста URLOpener, які будзе не запытваць пароль, а генерыраваць выключэньне, якое мы зможам прыгожа апрацаваць у аўтаматычным рэжыме. Лістынгі даваць ня буду, пачытаць падрабязьней можна вось тут, сам код @unfollowr ляжыць на Github, там можна паглядзець, як яно ўвогуле ў мяне рэалізавана і працуе.

Виртуальный сервер – vps — XEN виртуализация на дороге не валяется

{ Comments : 2 Comments » }
{ Tags: 401, api, code, FancyURLopener, github, google groups, http, python, twitter, unfollowr, urllib, yahoo pipes }

university labs git repo

Oct 16 2009
Dolphin – Последнее слово
  • belarusian
  • russian

Не могу сказать, что я в восторге от своего университета, но могло быть и хуже. Может и не могло, но лучше не думать о таком. Может, дальше будет лучше. Просто получается так, что я за один вечер курсов в Itransition узнаю по делу больше, чем за семестр (если не за год) в университете. Не на каждых курсах, конечно, но тенденция настораживает.

Но всё же в университете приходится писать всякие разные лабы (кто бы рассказывал как, а?) по программированию (?), которые потом расходятся по группе с изменёнными методами в стиле «getMnozhestvo». Становится довольно слабо похоже на моё, так что сдать получается :) Дабы моя писанина не пропадала, мало ли кому понадобится, я решил всё безобразие выкладывать в репозиторий на Github.

На что-то серьёзное код не претендует, скорее для ознакомления «как можно делать». Или для оценки, чем занимаются студенты ФИТУ на втором курсе (ну и дальше, как пойдёт). Может, со временем буду выкладывать ещё какие-нибудь отчёты по SC (semantic code) и прочему стаффу, который по заверениям завкафедры приведёт нас к счастливому будущему. Ну-ну

Строительные работы в Казани

Вызов ветеринара, чтобы не везти кошку в клинику

Партнёрка по созданию сайтов — допполнительный заработок на привлечении партнёров

  • belarusian
  • russian

Не магу сказаць, што я давольны сваім універсітэтам, але магло быць і горш. Можа і не магло быць, але пра такое лепш ня думаць. Проста атрымліваецца так, што за адзін вечар курсаў у Itransition я даведваюся па справе больш, чым за семестр (калі не за год) ва універсітэце. Не на кожным занятку, канешне, але тэндэнцыя настарожвае.

Але ўсё ж ва універсітэце прыходзіцца пісаць усякія розныя лабы (хто б распавядаў як, га?) па праграмаваньню (?), якія потым разыходзяцца па групе са змененымі метадамі ў стылі «getMnozhestvo». Становіцца даволі слаба падобна на маё, так што здаваць атрымліваецца :) Каб мая пісаніна не прападала, можа каму спатрэбіцца, я вырашыў нешта выкладваць у рэпазіторый на Github.

На нешта сур’ёзнае код не прэтэндуе, хутчэй для азнаямленьня «як можна рабіць». Ці для ацэнкі, чым займаюцца студэнты ФИТУ на другім курсе (ну і далей, як пойдзе). Можа, з часам буду выкладаць якія рэпорты па SC (semantic code) і іншаму стафу, які па абацаньням завкафедры прывядзе нас да шчасьлівай будучыні. Ну-ну

Строительные работы в Казани

Вызов ветеринара, чтобы не везти кошку в клинику

Партнёрка по созданию сайтов — допполнительный заработок на привлечении партнёров

{ Comments : No Comments » }
{ Tags: bsuir, git, github, labs, univer }

callisto overlay changes

Jun 06 2009
Moby – Everloving
  • belarusian
  • russian

Вырашыў пару дзён пасьля залікаў перадыхнуць і разгрэсьці трошкі свае аверлэі для Gentoo. Перапынак – вельмі адноснае паняцце, бо адзінае, чым я займаўся, былі пакуты сумленьня наконт таго, што я нічога не раблю наконт сэсіі.

Але аб усім па-парадку. Паціху я пачаў калупаць Git і з гэтай нагоды вырашыў перавесьці абодва мае авэрлэі (bobrik-cleartype & callisto) на новую vcs. Гэтым справа не скончылася. Выявілася, што для cairo cleartype патчы ўжо ў асноўнай галіне portage, так што ў авэрлэі застолося толькі 2 пакеты.

Аверлэй bobrik-cleartype быў уліты ў састаў callisto, які зараз хосьціцца на GitHub. Стары bobrik-cleartype на Google code прашу лічыць нядзейсным. У прынцыпе, у асобным выглядзе ён сваё існаванне прыпыняе.

Зь цікавага варта адзначыць, што ў Callisto дадаўся ebuild adobe-air-sdk і цяпер магчыма больш-менш проста ставіць і выкарыстоўваць AIR аплікацыі ў Gentoo. У плянах напісаць усталёўшчык для пакетаў AIR, які будзе яшчэ і аднаўляць меню, як ў ubuntu. Дапамога вітаецца :)

Інструкцыі па даданьні Callisto overlay магчыма знайсьці тут

www.eq-vip.ru – проектирование кафе, столовых и других предприятий общепита

MBA образование – социальный форум

Заработать в интернете или раскрутить сайт

  • belarusian
  • russian

Решил пару дней после зачётов сделать передышку и разгрести немножко свои оверлеи для Gentoo. Передышка – понятие относительное, ведь единственное, чем я занимался, были муки совести по поводу того, что я ничего не делаю по поводу сессии.

Итак, всё по-порядку. Мало-помалу я начал изучать Git и на этом основании решил перевести оба моих оверлея (bobrik-cleartype & callisto) на новую vcs. Этим дело не ограничилось. Оказалось, что для cairo cleartype патчи уже в основной ветке portage, так что в оверлее осталось только два пакета.

Оверлей bobrik-cleartype был влит в состав callisto, который нынче хостится на GitHub. Старый bobrik-cleartype на Google code прошу считать недействительным. В принципе, в отдельном виде он своё существование прекращает.

Из интересного стоит отметить, что в Callisto добавился ebuild adobe-air-sdk и теперь можно более-менее просто ставить и использовать AIR приложения в Gentoo. В планах написать установщик для пакетов AIR, который будет ещё и пункты в меню делать, как в ubuntu. Помощь приветствуется :)

Инструкции по добавлению Callisto overlay можно найти тут

www.eq-vip.ru – проектирование кафе, столовых и других предприятий общепита

MBA образование – социальный форум

Заработать в интернете или раскрутить сайт

{ Comments : No Comments » }
{ Tags: adobe air, bobrik-cleartype, callisto, gentoo, git, github, overlays, projects, session }

RSS antisocial feeling

  • Ворачиваться в страну шпрот собираешься?
  • (via priskorbno) хочу. давно хотел. где купить?
  • ??
  • "((foldl (+) 0 [1..100]) ^ 2) - (foldl (+) 0 (map (^ 2) [1..100]))"
  • ?

Tags

bash belarus blog blogs bugs coding concerts download friends fun gentoo google images internet javascript kde language life links linux livejournal me money music overlays perl photos php plugins portage projects rss school shell social social networks ssh studying tests twitter ubuntu univer vkontakte wifi wordpress

links

  • asocial feeling
  • Callisto overlay
  • daThumbs
  • last.fm
  • twitter
  • Vkontakte
  • ~idioteque

Recent Comments

  • neagaoleg on Hide Mentions in Twitter Web Interface
  • neagaoleg on about
  • Martina Bella on @unfollowr
  • gamersroute.com on WordPress-bbPress syncronization
  • gamersroute.com on WordPress-bbPress syncronization
  • JohnnyBCool on @unfollowr
  • bobrik on @listwatcher
  • Alper on @listwatcher
  • itomi on WordPress-bbPress syncronization
  • Candy on @unfollowr

Archives

  • January 2010 (1)
  • November 2009 (2)
  • October 2009 (5)
  • September 2009 (2)
  • August 2009 (2)
  • July 2009 (3)
  • June 2009 (1)
  • April 2009 (2)
  • March 2009 (1)
  • February 2009 (1)
  • January 2009 (2)
  • December 2008 (12)
  • November 2008 (17)
  • October 2008 (20)
  • September 2008 (13)
  • August 2008 (25)
  • July 2008 (18)
  • June 2008 (15)
  • May 2008 (7)
  • March 2008 (1)
  • February 2008 (9)
  • January 2008 (11)
  • December 2007 (24)
  • November 2007 (27)
  • October 2007 (21)

Meta

  • Log in
  • Entries RSS
  • Comments RSS
  • WordPress.org

Creative Commons License rss comments rss valid xhtml