яну 282010

Всички знаем как да продължим прекъснат трансфер, когато става въпрос за wget – просто е като

wget -c http://somedomain.com/somefile.zip

При SCP, от друга страна, няма опция, която можем да използваме, за да продължим да сваляме така любимия ни somefile.zip. Това, което можем да направим е да използваме rsync ето така:

rsync --partial --progress --rsh=ssh someuser@somedomain.com:somefile.zip ./somefile.zip

И… да се надяваме да стане, защото не знам друг начин. А вие?

Източник: joen.dk


тагове:
ное 232009

Винаги ми е харесвала комбинаториката и в момента разработвам нещо, за което ми трябват комбинации от елементи. Знаете ли как да пресметнете комбинация на n елемента k-ти клас? Ето по тази формула се смятат:

comb
Става дума за комбинация без повторение и без значение от реда на елементите. За повече информация вижте в wikipedia.
Аз обаче искам да знам кои са комбинациите. Да ги имам изброени една по една – за предпочитане в многомерен масив. Затова порових из сайтовете – първо на български, после, като не намерих алгоритъм, потърсих в google на английски. Намерих на няколко места и адаптирах нещата към моите изисквания. Представям ви резултата – в случай, че ви потрябва.

Първо една функция да видим колко са на брой комбинациите:

  1. function getCombinationsCount($k, $n) {
  2.   $count = 1;
  3.   if ($k > $n) return 0;
  4.   $diff = $n - $k;
  5.   while ($n > $k){
  6.     $count *= $n;
  7.     $n–;
  8.   }
  9.   while($diff){
  10.     $count /= $diff;
  11.     $diff–;
  12.   }
  13.   return $count;
  14. }

Ето и функцията, която връща комбинациите в масив:

  1. function generateCombinations($k, $n) {
  2.   $a = array();
  3.   for ($i = 0; $i < $k; $i++){
  4.     $a[$i] = $i + 1;
  5.   }
  6.   while(true){
  7.     for($i = 0; $i < $k; $i++){
  8.       $combination[] = $a[$i];
  9.     }
  10.     $combinations[] = $combination;
  11.     unset($combination);
  12.     $i = $k - 1;
  13.     while($a[$i] == $n - $k + $i + 1){
  14.       $i–;
  15.     }
  16.     if ($i < 0) break;
  17.     $a[$i]++;
  18.     for($j = $i + 1; $j < $k; $j++){
  19.       $a[$j] = $a[$i] + $j - $i;
  20.     }
  21.   }
  22.   return $combinations;
  23. }

Ако имате въпроси, питайте смело!


тагове:
ное 152009

html5-logoЗачетох се е в статията за HTML5 в последния брой на списание .net и ми направи впечатление, че работната група, която разработва стандарта се казва Web Hypertext Application Technology Working Group, съкратено WHATWG, или както аз го чета – WHAT Working Group? (каква работна група?) Сайтът им е whatwg.org и според мен това съкращение нарочно така са го измислили. Вие как мислите?

Колкото до HTML5, препоръчвам ви да си вземете списанието .net. Може също да погледнете този сайт, където има табличка с екстрите на стандарта и доколко се поддържат от браузърите.

http://www.whatwg.org/

тагове:
окт 232009

Има доста съвети за това как да успеем като работим за себе си. Включително и списание .net публикува серия статии на тема „Бъди си сам шеф“. Макар да ги мисля за доста интересни, те всички има един съществен недостатък – не са писани за нашите условия. Да си програмист или дизайнер на свободна практика в България крие някои рискове, които са непознати за нашите колеги в други държави. Затова в следващите редове ще споделя с вас два проблема, с които се сблъсках наскоро.

Липса на интерес от страна на възложителя

Тук не става дума за големи фирми, които възлагат нещо и самите им служители не знаят каква е целта. По-скоро става дума за хора, взели решение да се занимават с бизнес в интернет или да пренесат част от настоящия си бизнес в мрежата. Човек би очаквал от такива собственици да са енергични, дейни и надъхани нещата да вървят. Ако не сте се сблъсквали с подобен случай, при началните разговори може дори да се притесните, че ще ви ръчкат много, че постоянно ще ви питат кога ще стане и колко още има. Противно на всякаква бизнес логика обаче, след началния ентусиазъм следва едно размисляне. Обикновено такива хора не зарязват всичко, за да се впуснат в новото начинание, а си оставят вратичка на старата си работа. Или изобщо не я напускат. И след седмица-две или решават, че от сайта няма да се вадят добри пари или шефът им усеща, че е на път да загуби ценен служител и им предлага повишение. И понеже вече са платили (част от) парите за сайта, не се отказват съвсем, а веднъж на седмица-две симулират интерес за по 15 мин. Проблемите за фрилансъра идват когато възникне проблем в основната им работа. При всяко скарване с шефа или ако не им отпуснат обещаните бонуси (или колежката не им пусне), те се сещат, че всъщност са собственици и започват да звънят да питат какво стана, докъде е сайта. Държат се нагло и високомерно. Сагата с този тип възложители обикновено е безкрайна – месеци след като е изтекъл гаранционния срок, в който оправяте бъговете им безплатно, те най-после са се сетили да влязат да видят кое как работи и – разбира се – попадат на бъг. Следва дълго и мъчително обясняване защо не може да се оправи „на момента.“ В повечето случаи се стига до това, че оправяте бъга само и само да не ви занимават с глупости.

Заплахи

Това също е нещо, което според мен може да ви се случи само в нашата китна родина. Тук сценариите са доста, но съм забелязал, че често има двама човека, които стоят зад сайта като поръчители – или съдружници във фирмата. Или шеф и негов подчинен, който ви е наел. Типовете заплахи са няколко. Започва се (обикновено) със съд, защото звучи респектиращо, а и малко хора си знаят правата. Фактът, че обикновено нямате писмен договор, не е никаква пречка пред такава заплаха. Започват да носят вода от далечни кладенци – как имали платежно с вашето име, как в пощата си имали имейл от вас с офертата и т.н..

Друг популярен метод е физическата заплаха. Иронично, тя обикновено идва веднага след заплахата от съд. Такава заплаха обикновено е само намекната. Ако директно попитате “заплашвате ли ме?”, отговорът е мъгляв – нещо от рода на “аз не заплашвам, аз действам.” Разновидност на този тип заплаха е когато единият възложител започне да ви убеждава как трябва по-бързо (или безплатно) да свършите дадено нещо, за да не ядосате другия, щото другият познавал хора и първият едвам го спирал. Един вид той е добрия самарянин, който е единствена преграда между вас и големия бой. Ако се осмелите да потърсите другия, за да го питате какъв точно е проблема, излиза, че той дори не знае, че ви е заплашвал.
Третият тип заплаха, който е малко по-непознат, е заплахата да ви очернят – било в бранша, сред колеги или по медиите. Тази тактика почти винаги е блъф, понеже резултатите от нещо такова не са лесно предвидими. Възможно е „очернянето“ да ви донесе нови клиенти, които са любопитни с какво сте го заслужили. Освен това е доста рисковано – има вероятност вие да сте по-известни или с по-голямо влияние от „очернителя“, което ще му се отрази негативно.

Представих ви два проблема, с които можете да се сблъскате в работата си като freelancer. Ако искате да добавите нещо, моля пишете в коментарите.


тагове:
© 2009 Dimitar Chakarov | Suffusion WordPress theme
Creative Commons License
Произведението ползва условията на Криейтив Комънс договор
preload