Да движиш някакъв проект в който се програмира активно без контрол над версиите в днешно време е пълно безумие. Като цяло има множество опции bazaar , mercurial , git , svn . Така тука ако ще очаквате да обяснявам кой контрол над версиите е по добър и защо няма да е. При нас използваме git. Причини много – лесно се настройва, много е гъвкав, написан е от Линус Торвалдс за да обслужва Linux Kernel версиите, последното са поне 2 причини 😉 . Днес ми се наложи да създам ново хранилище, че се започна нов проект. Реално съм създавал малко хранилища и то преди много време когато са ни трябвали и съм забравил тънките моменто по това. Създавам хранилището блъснах няколко файла за първото съхранение всичко мина точно. Самата настройка на хранилището беше стандартна:


git init
echo "Short project's description" > .git/description
git config --global user.name "Your Name"
git config --global user.email "[email protected]"
git commit -a
touch .git/git-daemon-export-ok

В общи линии нищо което да не е наред. След това реших да тествам от отдалечена машина да съхраня съдържание и при опита да го push-на ми изгърмя с грозното съобщение:

Pushing to git://gitHost/project
remote: error: refusing to update checked out branch: refs/heads/master
remote: error: By default, updating the current branch in a non-bare repository
remote: error: is denied, because it will make the index and work tree inconsistent
remote: error: with what you pushed, and will require ‘git reset –hard’ to match
remote: error: the work tree to HEAD.
remote: error:
remote: error: You can set ‘receive.denyCurrentBranch’ configuration variable to
remote: error: ‘ignore’ or ‘warn’ in the remote repository to allow pushing into
remote: error: its current branch; however, this is not recommended unless you
remote: error: arranged to update its work tree to match what you pushed in some
remote: error: other way.
remote: error:
remote: error: To squelch this message and still keep the default behaviour, set
remote: error: ‘receive.denyCurrentBranch’ configuration variable to ‘refuse’.
To git://gitHost/project
! [remote rejected] master -> master (branch is currently checked out)
error: failed to push some refs to ‘git://gitHost/project’

Така очевидно се опитвам да комитвам в главното дърво на проекта и софтуера вежливо ме режи. Като цяло нямам никакво намерение да правя допълнителен бранч понеже хората които участват по проектите са си ясни и ред други причини. Тука идва момента да отбележа че съм дефинирал много некадърно заглавието но това е друг момент. Като цяло решението на проблема е тривиално в .git/config на проекта ви трябва да добавите следната директива:


[receive]
denyCurrentBranch = false

След това всичко си идва на мястото.

http://www.youtube.com/watch?v=16bRiH5zfOY

Измина доста време от както писах за последно но съм ужасно зает с новата ми работа, все още не съм се устроил и не съм си пуснал Интернет на новото ми място. Отделно, че хостинга където се помещаваше малкия ми блог го сполетяха доста хардуерни неволи и имаше известен период в които не можеше да функционира поради невъзможността ми да имам физически достъп до машината. След дълго мислене взех решение да прехвърля блогчето ми на публичен web сървър, решение което изискваше много мислене и не особено лесно приемане. Все пак съм преди всичко системен администратор и това удря по гордостта ми много, но към момента нямам нито една подходяща машина на която да бъде хостнат сайта така, че преглъщам горчивия залък и продължавам напред. Като изключим този факт и факта че съм изключително лимитиран от възможност за манипулации по настройките на apache + php + mysql нещата не изглеждат чак толкова зле. Хората си правят редовни бекъпи имат си дизастър рековъри план имат си техническа помощ която може да помоля за помощ – както и се наложи за да импортират бекъпа на базата ми данни които е в скромния размер от около 1GB.  За сега има още няколко дребни настройки да се довършат но това ще е като имм нерви да се боря с тъпия cpanel 😆

След дълго двумесечно обмисляне взех решение да напусна настоящата си работа.  Днес ми беше последния работен ден. До момента работех в продължение на 4 години и половина (горе долу)  мога да кажа, че за мен беше адско удоволствие и привилегия да работя с едни от най- добрите linux администратори в българия. Работих в един от най големите интернет провайдъри в южна България което ми даде ужасно много опит, стимул, жажда за нови знания както и необходимостта от такива. Дължа всичко което съм постигнал на колегите си които ми помагаха и ме насърчаваха, но идва момент когато човек се чувства не достатъчно добре. В последната 1 година спрях да обичам мястото на което живея, спрях да чувствам ония неистов хъс всеки ден да откривам новия свят и да мори мозъка ми някоя интересна главоблъсканица. Всичко започваше да става все повече и повече някаква рутина, което не е на добре.

Ужасно ми е мъчно за колегите за работата ми за обедите за ароматното кафе рано сутрин. Всичко това ще ми липсва но някои неща просто имат нужда от промяна. При мен смята, че е крайният момент за това. Надявам се че взех правилно решение в преди че на настоящото ми място бях като скала, никои нямаше власат да ме измести от позицията в която бях. А сега започвам нещо със не коренно различна дейност но до го ляма степен по различно от това което правех. Знам че малко или много всичко е приключение, но как разбираме че сме живи. 🙂 Не може винаги на сигурно да се играе.

Стискайте ми палци и ми пожелайте късмет!

Миналата неделя ми беше модулния изпит за втория ми семестър на Cisco академията върху Routing Protocols and Concepts. Общо взето за разлика от първия семестър този път съм доволен от резултата на изпита извадих 98% което ще рече от 50 въпроса 49 верни. Резултата не е чак толкова изненадващ понеже все пак разбирането на routing-a и протоколите около него е част от работата ми, вярно не съм работил с динамични routing протоколи като OSPF IS-IS или EIGRP но пък поне статичния routing и самите таблици са ми ясни както и самите мтрики в тях. Резултата както бях отбелязал и в предишния final exam не е определящ за сертифицирането но е вид надъхване за следващия семестър. С по голямо самочувствие да се заходи към материята.

Надявам се да минем по бързо през материята за 3-тия семестър, че вече донякъде взе малк ода ми писва, защото групата ми понякога се движи с малко бавни темпове, но това си е риск които съм поел защото нивото в групите на академията не е еднакво. Не мога да очаквам от момчетата с по малко опит от мен да се справят със същата скорост с материята като мен.

Засега остава да се наслаждам на моя момент на малка слава (както каза една приятелка) 😀 все пак резултата не е от най ниските 😉

Наскоро ме беше ударила музата и бях писал за мечтите. Е от около 2 седмици ме терзаят разни мисли… Може би е време да…. да се откажа от една мечта. Дам съвсем правилно ме прочетохте. Един човек някога ми беше казал „Щом е трудно има защо да е такова“. Дам вероятно е така.

Сега като се замисля ако не беше тъжно щеше да е жалко. Преследването на вятърните кули, което води до – до нищо. Едно голямо празно НИЩО. По принцип се води, че съм силна персона, не се отказвам лесно, някои му казват инат аз мисля че е просто характер. Обикновено точно поради тази причина не се отказвам от нещо за което се боря. Боря се дори и когато знам, че шансовете не са на моя страна, тогава особено повече. Но всеки път да разбиваш стена и да виждаш, че след нея не те очаква нищо, освен въздушни кули, си е направо безсмислено.

Чудя се дали признавам падение или търся нова победа.

http://www.youtube.com/watch?v=3lLnKIkR5is