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

free ideas #0. irr.by

Sep 19 2009
Александр Васильев – Подводная лодка
  • belarusian
  • russian

Голова моя полнится различными идеями разной степени возможности коммерческой реализации. Объясняться это может либо передозировкой алкоголем, либо музой, либо тем, что я такой в общем-то всегда. Нужное подчеркнуть, остальное просто запомнить.

Дабы добро не залёживалось, я подумал им делиться. Если вы вдруг решите реализовать что-нибудь из моих идей — хоть сообщите. Просто сам я явно не буду (?) заниматься такого рода рискованными мероприятиями (у меня и других хватает, уж поверьте). Всё выкладывать просто физически не получится, слишком уж много накопилось, да и некоторые вещи я пока что берегу для себя. Авось сам реализую что-нибудь.

Итак, сама сегодняшняя (сегодня я ей делюсь, сама она старше) идея: новое риэлторское агентство на основе объявлений из «Из рук в руки». Меня идея посетила во время поисков жилья для очередного переезда. Если кто-то пытался искать в Минске жильё с помощью этой помойки, то я могу только посочувствовать. В основном сайт полнится объявлениями риэлторских агентств, причём последние не брезгуют недобросовестной рекламой. Мой сервис же (можно сделать некоммерческим!) занимается тем, что обходит всю эту помойку и пытается (псевдо-)интеллектуально выделить только честные объявления, которые давали живые люди, скорее всего те, кому принадлежит квартира (или что там они сдают).

Степень честности определяется общим количеством объявлений автора. Я исходил из того, что жильё надо найти быстро, поэтому не отсеивал даже слишком явные фейки, а исключал только те объявления, у которых авторы разродились как минимум на страницу объявлений. К слову сказать, таких на самом деле большинство. Для дополнительной точности стоило бы добавить семантического анализа на предмет фраз аля «Сдаётся чере аген(т)ство» (они даже написать не могут правильно, тупицы) или «Агент по факту», с различными вариациями, но это уже «домашнее задание», если изволите.

Что-то длинным становится мой пост, надо сворачиваться, иначе я его не переведу и он заваляется в черновиках. Надо вам и самим подумать, в конце концов. Дабы не быть голословным, можете заценить мой код на Perl, который вытаскивает и выводит в консоль найденное. Можно скачать вариант для квартир и для комнат. Пользуйте & совершенствуйте %) Будут вопросы — пишите.

p.s.: жильё всё равно находил сам или через друзей.

Бесплатный развлекательный портал — развлекайтесь. Во время игры приходят идеи

Автоматические ворота: гаражные распашные ворота — автоматика в таких вещах – вещь приятная

Интернет заработок — в наше непростое время актуально

  • belarusian
  • russian

Галава мая поўніцца рознымі ідэямі дужа шырокага кола ступеняў магчымасьці камэрцыйнай рэалізацыі. Растлумачыць гэта магчыма ці перадазіроўкай алкаголем, ці музай, ці тым, што я такі ў прынцыпе заўсёды. Патрэбнае падкрэсьліць, астатняе проста запомніць.

Каб дабро не застойвалася, я падумаў ім дзяліцца. Калі вы вырашыце рэалізаваць якую з маіх ідэй, дык хаця б паведаміце. Проста я сам дакладна ня буду (?) займацца такога роду рызыковымі справамі (у мяне і іншых хапае, вы ўжо паверце). Усё выкладваць я проста фізычца не змагу, дужа ўжо шмат накапілася, ды й некаторыя рэчы я пакуль што захоўваю для сябе. Авось нешта і рэалізую сам.

Ітак, сама сёняшняя (сёньня я ёй дзялюся, сама яна старэй) ідэя: новая рыэлтарская агенцыя на аснове аб’яў з «Из рук в руки». У мяне ідэя ўзьнікла падчас пошукаў жыльля дзеля чарговага пераезду. Калі хто спрабаваў шукаць у Менску жыльлё з дапамогай гэтай памойкі, то я магу толькі паспачуваць. У асноўным сайт поўніцца аб’явамі рыэлтарскіх агенцый, прычым апошнія не чураюцца несумленнай рэклямы. Мой жа сэрвіс (можна зрабіць некамерцыйным!) займаецца тым, што аыходзіць усю гэтую памыйку і спрабуе (псэўда-)інтэлектуальна выдзеліць толькі сумленныя аб’явы, якія давалі жывыя людзі, хутчэй за ўсё тыя, каму належыць кватэра (ці ўто там яны здаюць)

Ступень сумленнасьці вылучаецца агульнай колькасьцю аб’яў аўтара. Я сыходзіў з таго, што жыльлё трэба знайсьці хутка, таму не адсейваў нават дужа яўныя фэйкі, і выключаў толькі тыя аб’явы, дзе аўтары разрадзіліся як мінімум на старонку аб’яў. Да слову, такіх насамрэч большасьць. Для дадатковай точнасьці варта было б дадаць семантычны аналіз на наяўнасьць фраз у стылі «Сдаётся чере аген(т)ство» (яны нават напісаць правільна ня могуць, тупіцы) ці «Агент по факту», з рознымі варыяцыямі, але гэта ўжо «дамашняе заданьне», калі пажадаеце.

Нешта доўгім становіцца мой пост, трэба зварачвацца, бо інакш я яго не перакладу і ён заваляецца ў чарнавіках. Трэба вам і самім падумаць самім, у рэшце рэшт. Каб ня быць галаслоўным, можаце зацаніць мой код на Perl, які выцягвае і выводзіць у кансоль знойдзенае. Можна спампаваць варыянт для кватэр і для комнат. Карыстайцеся & рабіце лепей %) Будуць пытаньні — пішыце.

p.s.: жыльлё ўсё роўна знаходзіў сам ці праз сяброў.

Бесплатный развлекательный портал — развлекайтесь. Во время игры приходят идеи

Автоматические ворота: гаражные распашные ворота — автоматика в таких вещах – вещь приятная

Интернет заработок — в наше непростое время актуально

{ Comments : No Comments » }
{ Tags: ideas, irr, perl, programming, scripts }

twitter followers difference

Jan 24 2009
Bearsuit – Keep It Together, Somehow
  • belarusian
  • russian

На падставе сессіённай падрыхтозкі да экзаменаў у мяне зусім зьехаў дах. Да зьехаўшага даху навалілася яшчэ два ў стамільйннай праблем рознай ступені фіговасьці. Гэта адлюстравалася на блёгу, у які я амаль перастаў пісаць. Сюды трэба прыкладаць шмат высілкаў, так што я выліваю душу ў твітэры.

З цягам часу за мной ў твітэры перасталі назіраць дактары людзі і мне хацелася б ведаць пра гэта. Qwitter мяне ігнаруе, таму я напісаў асабісты скрыпт. Хто-небудзь зьдзіўлены? :)

Код ніжэй:

#!/bin/sh

# by Ivan "bobrik" Babrou <ibobrik@gmail.com>, (c) 2009
# licensed under GPLv2
# http://bobrik.name http://twitter.com/ibobrik

# path to followers list,
FPATH="${HOME}/.followers.list"
USER="ibobrik"
PASS="KJ3ku&6dg"

TMPLIST=`mktemp`

echo "Getting followers from twitter.com for ${USER}"
wget -q https://${USER}:${PASS}@twitter.com/statuses/followers/ibobrik.xml -O - | grep '<screen_name>.*</screen_name>' | sed -r 's/.*<screen_name>(.*)<\/screen_name>.*/\1/' | sort > $TMPLIST

if test -e $FPATH; then
  OLD=`md5sum ${FPATH} | sed -r 's/(.{32}).*/\1/'`
  NEW=`md5sum ${TMPLIST} | sed -r 's/(.{32}).*/\1/'`
  if test "$OLD" = "$NEW"; then
    echo "No changes that time"
    rm $TMPLIST
    exit
  fi
  echo "=== followers difference ==="
  diff -u $FPATH $TMPLIST | grep "^[+-]" | grep -v "^+++" | grep -v "^---"
  echo "=== end of list ==="
else
  echo "It seems to be the first run"
  mv $TMPLIST $FPATH
  exit
fi

if test "$1" = "--replace"; then
  cp $TMPLIST $FPATH
fi
rm $TMPLIST

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

А сэсію я здаў, хаця я не вучыў асабліва. Галоўнае, што стыпендыю не адабралі

p.s.: Пароль з скрыпта для майго логіну нават не спрабуйце ;)
p.p.s.: Мэлянхалічна так напісана, ці мне падаецца?

  • belarusian
  • russian

На почве сессионной подготовки к экзаменам у меня совсем съехала крыша. К съехавшй крыше навалилось ещё два в стопятисотой степени других проблем разной степени паршивости. Это отразилось на блоге, в который я почти перестал писать. Сюда надо прилагать много усилий, так что я выливаю душу в твиттере.

Со временем в твиттере за мной начали переставать следить доктора люди, и мне бы хотелось знать об этом. Qwitter меня игнорирует, поэтому я написал свой скрипт. Кто-нибудь удивлён? :)

Код ниже:

#!/bin/sh

# by Ivan "bobrik" Babrou <ibobrik@gmail.com>, (c) 2009
# licensed under GPLv2
# http://bobrik.name http://twitter.com/ibobrik

# path to followers list,
FPATH="${HOME}/.followers.list"
USER="ibobrik"
PASS="KJ3ku&6dg"

TMPLIST=`mktemp`

echo "Getting followers from twitter.com for ${USER}"
wget -q https://${USER}:${PASS}@twitter.com/statuses/followers/ibobrik.xml -O - | grep '<screen_name>.*</screen_name>' | sed -r 's/.*<screen_name>(.*)<\/screen_name>.*/\1/' | sort > $TMPLIST

if test -e $FPATH; then
  OLD=`md5sum ${FPATH} | sed -r 's/(.{32}).*/\1/'`
  NEW=`md5sum ${TMPLIST} | sed -r 's/(.{32}).*/\1/'`
  if test "$OLD" = "$NEW"; then
    echo "No changes that time"
    rm $TMPLIST
    exit
  fi
  echo "=== followers difference ==="
  diff -u $FPATH $TMPLIST | grep "^[+-]" | grep -v "^+++" | grep -v "^---"
  echo "=== end of list ==="
else
  echo "It seems to be the first run"
  mv $TMPLIST $FPATH
  exit
fi

if test "$1" = "--replace"; then
  cp $TMPLIST $FPATH
fi
rm $TMPLIST

Настраивается просто до безобразия. Просто прописываются имя пользователя и пароль, остальное трогать нет нужды. При первом вызове просто сохранит список фолловеров, затем будет сообщать об изменениях относительно предыдущей контрольной точки, которую можно зафиксировать вызовом с параметром –replace. В общем, это всё.

А сессию я сдал, хоть и не учил особо. Главное, что стипендию не отобрали

p.s.: Пароль из скрипта для моего логина не пробуйте даже ;)
p.p.s.: Меланхолічно так написано, не правда ли?

{ Comments : 8 Comments » }
{ Tags: bash, coding, diff, qwitter, scripts, shell, twitter }

Gentoo package size checker

Nov 15 2008
Blood Red Shoes – You Bring Me Down
  • belarusian
  • russian

Калісьці вельмі даўно ў мяне быў толькі ўнутраны жорткі дыск у ноўтбуку на 80 Gb і мне было вельмі няўтульна. астаянна прыходзілася нешта выдаляць, неяк спрабаваць улезьці ў гэтую прастору. Цяпер у мяне яшчэ ёсьць зьнешні дыск на 500 Gb, на якім толькі музыкі 80 Gb (+ некалькі неразабранай) і які таксама ўжо амаль запоўнены, але які магчыма пачысьціць. Гігабайт гэтак на 100 :)

З тых самых часоў у мяне засталася спадчына ў выглядзе карнявога падзелу Gentoo на 3.5 Gb. Ясная справа, жыць на такой прасторы вельмі сумна й цесна, але магчымасьці пераразьмеціць няма, ды й часу асабліва таксама няма, каб 80 гігабайт туды-сюды цягаць. Канешне, я падключаю пры сборцы /var/tmp/portage са зьнешняга дыску, /home у мяне таксама асобным падзелам (дзе й кэш squid жыве гігабайтны), але вось усталёўваць пакеты ўсё роўна кудысьці трэба.

Для пачатку я б параіў вычышчаць лёгі з /var/log (у мяне сёньня за ноч 400 Мб скапілася, але гэта з-за губленьня зьнешняга дыску, адкуль мкзыка гралася і адкуль torrent працаваў). Усялякі хлам там скапліваецца не асабліва часта, але бываюць выпадкі. Таксама варта трымаць толькі адно дрэва зыходнікаўя ядра ў /usr/src, таму як гэта таксама нямала. Больш за тое, у выпадках асаблівага дэфіцыту месца разумна трымаць несабранае ядро. Калі пры сборцы модуляў праз гэта будуць выяўляцца праблемы, то магчыма пачаць сборку ядра і спыніцца як толькі справа дойдзе да сборкі ўнутраных модуляў, якія пайдуць пасьля стандартных сборачных працэдур. Ну й du -m вам у дапамогу.

Паміма выдаленьня невыкарыстоўваемых пакетаў час ад часу ўзьнікае жаданьне зразумець, што ў сістэме столькі месца займае. З стандартных уціліт такое ўмее equery, але неяк структуравана вывад у яе атрымаць ня выйшла, таму я напісаў асабістую прыблуду, якая сарціруе пакеты па памеры і выводзіць поўны сьпіс. Атрыманьне дадзеных можа заняць прылічны час, займіце сабе чым-небудзь прыемным :)

Спампаваць скрыпт pkgsize

Для запуска выпаўняем

chmod +x pkgsize
./pkgsize

Для адключэньня даданага вываду аб прагрэсе магчыма вызываць наступным чынам

./pkgsize 2>/dev/null

Калі ў вас шмат пакетаў у сістэме і вывад не ўмяшчаецца, то магчыма рабіць яго ў файл ці выкарыстоўваць у пайпе з less

./pkgsize 2>/dev/null | less
  • belarusian
  • russian

Когда-то очень давно у меня был только внутренний жёский диск в ноутбуке на 80 Gb и мне было очень неуютно. Постоянно приходилось что-то удалять, как-то умещаться. Теперь у меня есть ещё внешний диск на 500 Gb, на котором только музыки 80 Gb (+ несколько неразобранной) и который тоже уже почти заполнен, но который можно почистить. Гигабайт эдак на 100 :)

С тех самых времён у меня осталось наследие в виде корневого раздела Gentoo на 3.5 Gb. Ясное дело, жить на таком разделе очень тесно, но возможности переразметить нету, да и времени особо тоже нету, чтобы 80 гигабай туда-сюда тягать. Конечно, я подключаю при сборке /var/tmp/portage с внешнего диска, /home у меня отдельным разделом (где и кэш squid живёт гигабайтный), но вот устанавливать пакеты всё равно куда-то приходится.

Для начала я бы советовал вычищать огромные логи из /var/log (у меня сегодня за ночь 400 Мб скопилось, но это из-за потери внешнего диска, откуда музыка игралась и откуда torrent работал). Всякий хлам там скапливается не особо часто, но бывают случаи. Также стоит держать только одно дерево исходников ядра в /usr/src, потому как это тоже немало. Кроме того, в случае особо сильного дефицита места разумно держать несобранное ядро. Если при сборке модулей будут проблемы, то можно начать сборку ядра и остановиться как только пойдут внутренние модули, после стандартных сборочных процедур. Ну и du -m вам в помощь.

Помимо удаления неиспользуемых пакетов иногда хочется понять, что вообще в системе сколько места занимает. Из стандартных утилит такое умеет equery, но как-то структурированно вывод у неё получить не вышло, посему я написал свою приблуду, которая сортирует пакеты по размеру и выводит полный список. Получение данных может занять приличное время, займите себя чем-нибудь полезным :)

Загрузить скрипт pkgsize

Для запуска выполняем

chmod +x pkgsize
./pkgsize

Для отключения дополнительного вывода о прогрессе можно вызывать как

./pkgsize 2>/dev/null

Если у вас много пакетов в системе и вывод не умещается, то можно либо делать его в файл, либо использовать в пайпе с less

./pkgsize 2>/dev/null | less
{ Comments : 7 Comments » }
{ Tags: bash, disks, du-m, equery, gentoo, kernel, less, logs, packages, perl, pipes, pkgsize, portage, scripts, size }

wpdiffer.sh

Oct 29 2007
  • belarusian
  • russian

Наваял скрипт, который может упростить жизнь людям, имеющим блог на wordpress, но не имеющим ssh доступа или прочих приятных моментов. А обновить блог надо. Но делается это мутновато по официальным инструкциях, имхо, проще заменить изменившиеся с предыдущей версии файлы и обновить БД стандартным путём. Собственно говоря, мой скрипт только и делает, что собирает воедино (с сохранением структуры каталогов) измененные файлы. Так что остаётся только проверить список (быть может вы что-нибудь сами изменили в движке ;)) и загрузить только обновленные файлы на сервер. Ну и пройти обновление БД, если потребуется.
Немножко костыляво, svn это делает изящнее, но если нету ssh, то про svn можно забыть.
Да и не только для блоггеров может быть полезен сей незатейлтивый скрипт. Мало ли, какие архивы сравнить надо, можно все подкорректировать под свои нужды ;)
Зависит от sh, tar, gzip, diff и sed.
Скачать: wpdiffer.sh.
p.s.: GPLv3 ;-)

  • belarusian
  • russian

Наваяў скрыпт, які можа спрасьціць жыцьцё людзям, якія маюць блог на wordpress, але не маюць ssh доступу і прочых дасягненьняў цывілізацыі. А аднавіць блог трэба. Але ж робіцца гэта мутнавата па афіцыйных дакумэнтах, імхо, прасьцей замяніць зьмененыя з мінулай вэрсіі файлы і аднавіць БД стандартным шляхам. Мой скрыпт толькі і робіць, што зьбірае ў адзінае цэлае (з захаваньнем структуры каталёгаў) зьмененыя файлы. Застаецца толькі праглядзець сьпіс (можа вы самі што-небудзь зьмянялі ў дзьвіжку ;)) і заліць файлы на сэрвер. Ну і прайсьці аднаўленьне БД, калі патрэбна.
Трохі кастылява, svn гэта робіць значна лепей, але ж калі няма ssh, то пра svn можна забыцца.
Ды і ня толькі для блогераў падыходзіць гэты скрыпт. Можа якія яшчэ архівы прыйдзецца параўноўваць, заўсёды можна зьмяніць пад свае патрэбы ;)
Залежыць ад sh, tar, gzip, diff и sed.
Спампаваць: wpdiffer.sh.
p.s.: GPLv3 ;-)

{ Comments : No Comments » }
{ Tags: archives, diff, download, gzip, hosting, links, scripts, sed, shell, ssh, svn, tar, update, wordpress }

RSS antisocial feeling

  • so much i
  • i am freaking bicycle
  • с третьей минуты мне очень. детство
  • не спрашивайте
  • banksystreetart: Banksy / Simon Munnery fuck yeah shit

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

  • saper on antialiased fonts in netbeans (java apps in common)
  • edward on IE Warning
  • Vigoran on WordPress-bbPress syncronization
  • Nikos on WordPress-bbPress syncronization
  • Maxno on free licenses
  • achmad on IE Warning
  • bobrik on bbPress terms filtering & hacks
  • Сергей М. on bbPress terms filtering & hacks
  • Samad Khan on WordPress-bbPress syncronization
  • bobrik on WordPress-bbPress syncronization

Archives

  • July 2010 (1)
  • June 2010 (1)
  • April 2010 (2)
  • 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