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 }

positive errors

Oct 15 2008
Oasis – Lyla
  • belarusian
  • russian

Я выкарыстоўваю версію Jabber (icq толькі праз транспарт) кліента з svn. Стабільнасьцю вэрсія, па зразумелых прычынах, не вылучаецца, але ўсё ж прыдае адчуваньне bleeding edge. Вось сёньня вылавілася наступная памылка:

gajim fun error

Ну ці не пазытыўна?
Нават нейкія іншыя адносіны да памылкі ўзьнікаюць, сымпатыя, калі заўгодна. Зразумела, што сымпатыя не да памнылкі, а да мэтаду яе паднясеньня. Гэта вам не “Программа совершила недопустимую ошибку и будет закрыта”. Ды й як яна ўвогуле магла дапусьціць недапушчальную памылку ці выканаць аперацыю? Яно ж не павінна дапускаць. А тут зусім іншая справа.
А вы як адносіцеся да такога спосабу паведамленьня пра памылкі?

  • belarusian
  • russian

Я использую версию Jabber (icq только через транспорт) клиента Gajim из svn. Стабильностью версия, по понятным причинам, не отличается, но всё же придаёт ощущения bleeding edge. Вот сегодня выловилась такая ошибка:

gajim fun error

Ну разве не позитивно? :)
Даже какое-то другое отношение к ошибке возникает, симпатия, если угодно. Понятно, что симпатия не к ошибке, а к методу её поднесения. Это вам не “Программа совершила недопустимую ошибку и будет закрыта”. Да и как она вообще могла совершить недопустимую ошибку? Ну или там операцию. Ведь не должно допускать. А тут совсем другое дело.
А вы как относитесь к такому способу оповещения об ошибках?

{ Comments : 2 Comments » }
{ Tags: errors, fun, gajim, icq, jabber, python, svn }

wallpaperfm

Oct 12 2008
Oasis – Roll It Over
  • belarusian
  • russian

Сёньня я распавяду пра фіговінку, пра якую можна было б проста напісаць у twitter :) Даведаўся я пра яе ў drakulavich, а імя ёй Wallpaperfm.
Як не цяжка дагадацца з назвы, яна стварае шпалеры на працоўны стол, ужо трошкі цяжэй, але ўсё ж таксама можна дадумаць, што робіць яна гэта не без дапамогі last.fm. Апошні сэрвіс мне вельмі сымпатычны.
Апісаньне опцый і прыклад выкарыстаньня можна атрымаць на хатняй старонцы праекту, я толькі пакажу мае скромны папсовы мызычны густм за апошнія тры месяцы. Пакажу ў трох варыянтах
Glass
wallpaperfm glass bobrik
Tile
wallpaperfm tile bobrik
Collage (самый интересный, имхо)
wallpaperfm collage bobrik
Такія справы, за музычны густ ня бэюць, як вядома. Да таго ж, я ня вельмі згодны з last.fm у пляне таго, што з плэеру майго нічога ня скробліцца, інакш карціна была б іншай.
p.s.: карціна даволі странная, імхо, я некаторыя рэчы з малюнкаў даўно ня чуў

  • belarusian
  • russian

Сегодня я расскажу про безделушку, о которой вполне можно было бы написать и в twitter :) Узнал я о ней у drakulavich, а имя ей Wallpaperfm.
Как не трудно догадаться из названия, создаёт она обои на рабочий стол, уже сложнее, но всё же тоже возможно додумать, что делает она это не без помощи last.fm. Последний сервис мне очень симпатичен.
Описание опций и пример использования можно получить на домашней странице проекта, я лишь покажу мои скромные попсовые музыкальные пристрастия за три месяца. Покажу в трёх вариантах.
Glass
wallpaperfm glass bobrik
Tile
wallpaperfm tile bobrik
Collage (самый интересный, имхо)
wallpaperfm collage bobrik
Такие дела, за музыкальные пристрастия не бьют, как известно. К тому же, я не слишком согласен с last.fm в плане того, что с плеера моего ничего не скроблится, иначе была бы несколько иная картина
p.s.: картина довльно странная, я некоторые вещи с картинок давно не слышал

{ Comments : 4 Comments » }
{ Tags: fun, last.fm, me, music, projects, python, twitter, wallpaperfm, wallpapers }

security on festival

Jul 12 2008
Radiohead – Bodysnatchers
  • belarusian
  • russian

Пишу тут программульку, аналог GreedyTorrent, только на python и без гуёвых заморочек. Пока из-за кривости моих рук освобождается порт после убитой программы, я напишу пост :)
Довольно часто в последнее время я помогаю отцу по строительству дома, иногда остаётся работа только для него и я отправляюсь домой из-за Лучёсы сам. Вчера была именно такая ситуация. Меня уже полчаса как ждали, так что хотелось добраться до дома как можно быстрее.
Уже в частных домах огромная “пробка” не внушала ничего хорошего. Сначала подумал, что авария, так нет: Солнцеподобный решил проехаться именно по той дороге, по которой мне надо было добираться.
Движения перекрыли к чертям, общественный транспорт в том числе. Маразм затянулся минут на 30 при мне, не меньше оно длилось и до меня. На кой чёрт так надолго это надо было делать, мне вообще непонятно. Вертолёт у него что ли отобрали? Троллейбусы потом полные минут только через 30 поехали, не говоря уже о заторах на дороге
Мало того, к пути следования вождя прилегает новая дорога. До конца её ещё не сделали, но участок, прилегающий к пути следования постарались привести к как можно более товарному виду. Цветочки посадили (не только на откосах, но и посередине оживлённой трассы), журавликов поставили, светофор заставили жёлтеньким мигать, разметку нарисовали.
Вот только сегодня утром заметилось, что разметки нарисовали ровно столько, сколько можно увидеть из тонированных стёкол автомобиля на большой скорости, откосы травкой и цветочками засадили на таком же расстоянии. Дальше этого расстояния раскопки и признаков окультуривания не видно. О тротуарах напоминают только связки бордюров. Да, кстати, разметку нарисовали даже не по последнему слою асфальта. Ещё пару слоёв сверху положат :)
Кто-то очень хотел выслужиться

  • belarusian
  • russian

Пішу вось тут праграмульку, аналяг GreedyTorrent, толькі на python і без гуёвых замарочак. Пакуль праз крывасьць маіх рук вызваляецца порт пасьля забітай праграмы, я напішу пост :)
Даволі часта апошнім часам я дапамагаю бацьку па будоўлі дома, калі-нікалі застаецца праца толькі для яго і я напраўляюся дадому з-за Лучосы сам. Учора была менавіта такая сітуацыя. Мяне ўжо з паўгадзіны чакалі, так што хацелася дабрацца дадому як мага хутчэй.
Ужо ў праватных дамах агромністая “пробка” не давала надзеі на нешта добрае. Спачатку я думаў, што авадыя, ды не: Сонцападобны вырашыў праехацца менавіта па той дарозе, па якой мне трэба было дабірацца.
Рух перакрылі нафіг, грамадскі транспарт у тым ліку. Маразм зацягнуўся хвілін на 30 пры мне, ня менш яно цягнулася і да мяне. За якім фігам на такі час было такое рабіць, мне агулам незразумела. Верталёт у яго адабралі, ці што? Тралейбусы потым паўнюткія толькі праз хвілін 30 паехалі, не кажучы ўжо пра запоры на дарозе
Мала таго, да той дарогі прылягае новая дарога. Да канца яе яшчэ не зрабілі, але участак, які прылягае да прэзыдэнцкага шляху, пастараліся прывесьці да таварнага выгляду. Кветачкі пасадзілі (ня толькі на адкосах, але і пасярэдзіне ажыўленае трасы), жураўлікаў паставілі, сьветлафор заставілі жоўценькім міргаць, разьметачку намалявалі.
Вось толькі сёньня з раніцы заўважылася, што разьметкі намалявалі роўна настолькі, наколькі можна пабачыць праз таніраванае шкло аўтамабіля на вялікай хуткасьці, адкосы траўкай і кветачкамі засадзілі на такой жа адлегласьці. Дале гэтай адлегласьці раскопкі і прызнакаў акультурваньня ня бачна. Пра тратуары напамінаюць толькі зьвязкі бардзюру. Да таго ж, разьметку намалявалі не па апошняму слою асфальту. Яшчэ пара пару слаёў пакладуць зьверху :)
Нехта дужа хацеў выслужыцца

{ Comments : 6 Comments » }
{ Tags: coding, fun, life, prezident, python, security, torrent }

coding

Dec 22 2007
  • belarusian
  • russian

Тут как-то подумалось, как я был неправ в 10 лет :) Тогда я читал еще Компьютерную газету (КГ) и Компьютерные Вести (КВ), а еще Человек и Интернет (Ч&И). Последняя вещь до какого-то момента для меня вообще была чуть ли не культовой вещью, пока не начали туда пихать рекламу и разную бесполезную хрень. А еще эту газету читал в те времена Женька, помощник моего отца, который занимался программированием и меня предлагал обучить. Я отказался, а Женька теперь зарабатывает больше моего отца :) Такие дела.
Так чего я неправ был. В те времена, уж не знаю как сейчас, в подобного рода газетах кроме всяких новостей, обзоров, компьютерного юмора и прочей малополезной мишуры печатали еще и объявления о поиске сотрудников. Типа, примем на работу специалиста по C,C++,Java,Perl,Pascal,Lua[список еще на пару строк]. Я тогда думал, что надо быть законченным маньяком, чтобы работать в таких конторах и знать такую уйму языков.
Время все расставило на свои места, в 14 лет от скуки (что еще делать мне было в деревне все лето?) я начал учить Perl по книге. Я теперь понимаю, что была бы у меня книжка по атомной химии, то я её бы значительно лучше знал :) А еще у меня был на тогдашнем MPx200 с WinMobile установленный Perl. О-о-о-о, золотое было времечко. Некоторые страницы перечитывал по несколько раз подряд, все никак не мог понять. А все потому, что странные авторы почти всех книжек размещают материал настолько нелинейно, что порой начинаешь думать что за 89-й страницей должна идти 143-я, не смотря на все твои познания в математике. Но это отступление. На самом деле первым моим языком чуть ли не стал ИнтАл (Интерпретатор Алгоритмов), но мне повезло. Даже тот же Pascal я впервые увидел в 10-м классе. И экзамен я в ИнтАле сдавал. Это было жестко, до сих пор удивлен, как меня взяли.
И снова к объявлениям. Теперь я знаю Perl, Pascal, Python, php, C, C++, shell, немножко ruby и еще что-нибудь вылетело из головы :) Мораль сей басни такова: не оставляйте детей в деревне на все лето, иначе потом все как нормальные люди будут в линейку за компом рубаться, а ваш воевать с дебагером. Мораль для детей: главное – не бояться, все языки имеют уйму схожего (если с ИнтАл не начинать), разве что прадигмы бывают разные, но что это не надо сразу понимать :)
p.s.: на днях надеюсь написать о поездке на турбазу с фотками, ждите :)

  • belarusian
  • russian

Тут неяк падумалася, як я быў няправы ў 10 гадоў :) У тыя часы я яшчэ чытаў Кампутарную газэту (КГ), Кампутарныя весьці (КВ), а яшчэ Чалавек і Ігтэрнэт (Ч&І). Апошняя рэч да нейкага моманту для мяне была ўвогуле ледзь не культавай рэччу, пакуль не пачалі туды пхаць рэкляму і розную некарысную хрэнь. А яшчэ гэтую газэту чытаў у тыя часы Жэнье, памочнік майго бацькі, які займаўся праграмаваньнем і мяне прапаноўваў навучыць. Я адмовіўся, а зараз Жэнька зарабляе больш з майго бацьку :) Такія справы.
Дык чаго ж я няправы быў. У тыя часіны, я ўжо ня ведаю як зараз, у такога роду газэтах акрамя ўсялякіх навін, аглядаў, кампутарнага гумару і іншай малакарыснай мішуры пячаталі і аб’явы па пошуку працаўнікоў. Ціпа, прымем на працу спэцыяліста па C,C++,Java,Perl,Pascal,Lua[сьпіс яшчэ на пару радкоў]. Я тады думаў, што трэ’ быць закончаным псыхапатам, каб працаваць у такіх канторах і ведаць такую колькасьць моў.
Час расставіў усё па сваіх месцах, у 14 гадоў ад суму (што яшчэ было рабіць у вёсцы ўсё лета?) я пачаў вывучаць Perl па кніжцы. Я цяпер разумею, што калі б у мяне была кніжка па атамнай хіміі, то я еб нашмат лепей ведаў бы :) А яшчэ з мяне быў на колішім MPx200 з WinMobile усталяваны Perl. О-о-о-о, залаты быў час. Некаторыя старонкі перачытваў па некалькі разоў, усё ніяк ня мог зразумець сэнс. А ўсё таму, што дзіўныя аўтары амаль усіх кніжак размяшчаюць матэр’ял настолькі нелінейна, што час ад часу пачынаеш думаць, што за 89-й старонкай павінна ісьці 143-я, нягледзячы на ўсе твае веды ў матэмытыцы. Але гэта адступленьне. Насамрэч першай маёй мовай ледзь ня стаў ИнтАл (Интерпретатор Алгоритмов), але мне пашчасьціла. Нават той жа Pascal я ўпершню пабачыў у 10-й клясе. І экзамен я ИнтАле здаваў. Гэта было жорстка, да гэтага часу зьдзіўляюся, як мяне ўзялі.
И зноў да аб’яў. Цяпер я ведаю Perl, Pascal, Python, php, C, C++, shell, трошкі ruby і яшчэ што-небудзь вылецела з галавы :) Мараль сей басьні наступная: не застаўляце дзяцей у вёсцы на ўсё лета, інакш потым усе як нармальныя будуць гуляць у лінейку, а ваш ваяваць з дэбагерам. Мараль для дзяцей: галоўнае – не баяцца, усе мовы маюць шмат агульнага (калі з ИнтАл не пачынаць), толькі што прадігмы бываюць розныя, але гэта зусім ня трэба адразу разумець :)
p.s.: на днях спадзяюся напісаць пра паездку на турбазу з фоткамі, чакайце :)

{ Comments : 7 Comments » }
{ Tags: c, intal, kg, kv, lua, pascal, past, perl, php, python, windows mobile }

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

  • bobrik on @listwatcher
  • Process_of_illumination on WordPress-bbPress syncronization
  • Process_of_illumination on WordPress-bbPress syncronization
  • Aviva Gabriel on @listwatcher
  • Aviva Gabriel on @listwatcher
  • Larry D. Halstead on @listwatcher
  • neagaoleg on Hide Mentions in Twitter Web Interface
  • neagaoleg on about
  • Martina Bella on @unfollowr
  • gamersroute.com on WordPress-bbPress syncronization

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