Archive for year 2016

Firefox databases VACUUM and REINDEX

0

Един хитър трик за подобряване на скоростта на firefox браузъра ви е като вакумирате sqlite базата му данни. VACUUM процеса преизгражда базата данни като по този начин я дефрагментира, намаля размера и прави търсенето в нея по бързо, използването на диска по ефективно евентуално намаля и натоварването върху диска ви тъй като чете в последователност от секторите ми. Като цяло това важи за всяка база данни която не извършва автоматично vacuum/defrag на себе си.

Самият процес по дефрагментиране на базата данни на Firefox е доста тривиаленизпълняваме sqlite3 db-file VACUUM в профилната директория на firefox. В linux пътя до нея обикновенно е ~/.mozilla/firefox/random-name.default. По принцип трябва да имате само 1 диркетория в .mozilla/firefox ако имате повече може да проверите ~/.mozilla/firefox/profiles.ini за коректната директория в е профила на вашият браузър. Тъй като не ми се занимава да извършвам процеса на ръка разписах елементарен скрипт с който да дефрагментирам базите данни:

for db in $(find ~/.mozilla/firefox/$(grep Path ~/.mozilla/firefox/profiles.ini | cut -d'=' -f2) -maxdepth 1 -name "*.sqlite" -type f)
do
   echo "VACUUM ${db}"
   sqlite3 ${db} VACUUM
   sqlite3 ${db} REINDEX
done

След изпълняване на скрипта търсенето в history-то и самото зареждане на лисика е чувствително по бързо. Скрипта предполагам че с малки модификации може да се ползва и в Mac OS.

p.s Ето варианта и за Mac OS Xтестван на Mac OS X Sierra. Налага се да форсираме делимитъра да е нов ред заради space в пътя до папката в която се съдържа профила на firefox

OIFS="$IFS"
IFS=$'\n'
for db in $(find ~/Library/Application\ Support/Firefox/$(grep Path ~/Library/Application\ Support/Firefox/profiles.ini | cut -d'=' -f2)  -maxdepth 1  -name "*.sqlite" -type f)
do
echo "VACUUM && REINDEX ${db}"
sqlite3 "${db}" VACUUM;
sqlite3 "${db}" REINDEX;
done

Размисли покрай 25 годишни Linux

0

Хэдхэн хоногийн өмнө тэд тэмдэглэлээ 25 жилийн Linux. Бүртээ та уншсан Линус захидал Ийм их сонирхолтой сэтгэл рүү унах. Би тайлбарлах ямар ч бодол алга ямар чухал Linux, ямар үүрэг энэ нь бидний амьдралд тоглодог. Харин би миний амьдралд гүйцэтгэсэн ямар үүрэг гэж бодсон. Дараа нь олон асуулт өссөн

  • ямар ч линукс Би BSD эсэх нь бол байсан байх, эсвэл Бурхан Windows админыг хорих ?
  • Би ерөнхий менежер байх байсан эсэх
  • Би администратор байсан бол юу л ажиллах байсан – програм (Намайг сахьсан….)
  • Ямар OS Би ашиглах
  • Каква техника щях да използвамтелефон компютърсигурно щях да съм поредният apple fan boy

Debian broken package lists

0

Преживях малка драма с диска на лаптопа ми. След фиксването на проблема при apt-get update лъсваше следният крайно не приятен край на процеса

E: Encountered a section with no Package: header
E: Problem with MergeList /var/lib/apt/lists/debian.ipacct.com_debian_dists_sid_contrib_binary-i386_Packages
E: The package lists or status file could not be parsed or opened.

Както обикновено проблема е крайно очевиден /var/lib/apt/lists/debian.ipacct.com_debian_dists_sid_contrib_binary-i386 не може да бъде прочетен коректно. Фикса е също толкова елементарен колкото и самата диагностика на проблема:

 rf -f /var/lib/apt/lists/*

В крайна сметка резултата е форсирана синхронизация на apt.

Mac OS X faster dd

0

Би OS X руу ачаалагдах USB хийж байсан. Миний их гайхсан би хуулах DD хурд otvratitlno бага ~ 600KB / сек байна гэж олж 😕 . товч хайлт олж дараа, Би оронд нь rdiskX diskX ашиглах хэрэгтэй. санаа rdisk түүхий төхөөрөмжтэй ижил утгатай байдаг юм. Одоогоор маш сайн одоо хуулах блок төхөөрөмж дээр R нэмж ISO-энэ бол үнэ ч гэсэн бага ~ 150-200KB / с 😡 болохыг олж . Аль хэдийн mystique бүрэн, өмнөх мэдээллийн олон эх сурвалжаас баталсан байна!!!! Бүх зүйл миний BS мөртэй тавьж дараа газар руу унажээ.

н байт BS = N Set аль аль нь оролт, гаралт нь блок хэмжээ, IBS болон Кейсийн тоо operands superseding. noerror-ээс ямар ч хувиргах утга өөр бол, notrunc эсвэл синхрон заасан, дараа нь
оролтын блок тус ​​бүр богино блок аливаа нэгтгэх ямар нэг блок болгон гаралттай хуулсан байна.

Би тавьж дараа 1М хэмжээ BS хүрсэн хурд үүнийг хүлээж USB-би байна. Дараа нь мэдээж диск болон rdisk ялгааг шалгаж ялгаа гэж байсан 10-12 пъти в скоростта в полза на rdisk. Много културен начин за да наблюдавате скоростта и прогреса на dd може да се постигне със следният конвеир

sudo dd if=Downloads/path.to.iso bs=1M | pv | sudo dd of=/dev/rdisk2 bs=1M

Geany better python IDE

0

Любимият ми текстови редактор е Geany. Той е много минималистично IDE което поддържа огромен набор от езициshell, php, python, Cetc. Има си автоматично довършване и същевременно е адски пъргаво. Липсват му някоя и друга приятна възможност но и към момента за мен е повече от напълно достатъчен. Започнах да online курса Python Programming на SoftUniда си освежа познанията и да ги надградя тъй като не съм следил адекватно какво се случва с python 3. Лекторите от курса препоръчват PyCharm като IDE за pyton програмиране, но на мен далеч не ми е по вкуса, естествено си използвам Geany за упражненията.

По време на лекциите болезнено усетих 2 липси

  1. python autocomplete-а издиша от към документация на функции и методи
  2. няма валидация за pep8 стандарта

Хубавото е че Geany е достатъчно гъвкав от към конфигурация и може лесно да бъде допълван от към липсващи такива. Нека да добавим python документация към нашето IDE:

  • дърпаме си следният скрипт някъде в нашият PATH например /usr/bin като не забравяме да го направим изпълним
  • редактираме файла ~/.config/geany/filedefs/filetypes.python като в частта settings добавяме следният ред context_action_cmd=pydocw %s. Ако съществува само добавяме името на бинарката от предишната стъпка. Рестартираме Geany ако е пуснат.
  • Вече имаме context-action който ще ви извади информация за функцията. Аз си добавих shortcut за да ми е по удобно като не ми е ясно някоя функционалност. Лич мен този подход много ми допада защото много ме дразни netbeans подхода.

До тук добре. След това много ми се прииска да имам валидация на кода който пишадали го пиша според общо приетите стандарти или пиша някакви грозотии. В общи линии намерих отново туториалче как се случват нещата но то е малко остарялоGeany си има всичко вградено в себе си само трябва да му се инсталира pep8 пакета. В Debian apt-get install pep8 върши работа в останалите дистрота сами трябва да откриете как се случва магията. В менюто Build вторият бутон (поне при мен) е Lint след кликването му ще откриете колко грозен код сте сътворили 😀

Screenshot from 2016-01-11 20-42-21

Това е общи линии как да накарате вашият Geany да работи по добре с Python и същевременно да продължи да бъде бърз без да кара процесора ви да иска да си тегли куршума.

Go to Top