Начало / Половинка / Разни картинки / Разни връзки / За мен / About me / RSS емисия
 

 

Записки Разни

 

Чемшира измира 

В послените години някаква гадна буболечка е нападнала чемширите и чемшироподобните (видях едно с листа подобни на чемшир, но не така заоблени) и яко ги унищожава. Преди година чемшира на един приятел замина (на 20 км от Русе). Тази година цяло Русе е пламнало.

Това е доста жалко защото чемшира е готин храст. 

Пред един блок покрай, който често минавам:

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

Гадината обича само чемшир, не яде друго:

Буболечката има много добър камуфлаж. На живо не успях да видя, видях я чак след като огледах снимките от близо на компютъра.

Ето го и буболеча дето унищожи всички чемшири в Русе:

 

Това е от чемшира до кръговото:

 

Гадината нападна и чемшира на селото ми.

Нелито пръска два пъти с инсектицида за овошките (не помня името му). Аз също пръсках веднъж вътре в самия храст - за да достигна до всяка клонка и листенце.

В агроаптеката ми препоръчаха Циклон, но получихме отзиви, че други хора са се справяли и с Нуреле. Взех и двете и ще им направя адски коктейл. Трябва да се пръска с повишена доза - на около 150% от нормалното, като се пръска на всеки 4-5 дена, като не бива да се подминава и земята под храста. Сухите клонки се премахват и изгарят, защото гъсеници може и да няма, но яйцата им са там.

П.С. На улица Баба Тонка има и цяло дърво. Казват, че е на 200 години. Дано да е оцеляло.

 
/31.7.2017, 15:08/ 

Отчаян съм - имам 5 прави ъгъла в къщи и нито един от тях не е 90°. 

Първо си купих обикновен китайски ъгъл, защото бях убеден, че не може нещо толкова елементарно като правия ъгъл да се обърка. Е, китайски некачествени стоки, не е 90°. Вдигнах рамене и си казах "какво очаквам от ъгъл за няколко левчета".

После си купих някакъв френски прав ъгъл за около 25-30 лв от мосю бриколаж и бях убеден, че след като съм изсипал толкова пари за нещо толкова елементарно, то не може да не е право. Оказа се обаче, че може. Научих се, че може и да е скъпо и пак да е скапано.

После си купих комплект от 3 прави ъгъла с различни големини от Лидл. В стоките на Лидл имам някакво натрупано с годините доверие. Бях убеден, че след като те оказват контрол не може да допуснат неправи прави ъгли. Пак бях горчиво опроверган. 

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

Колкото и да ги настройвах, все ми бягаха ъглите на детайлите (т.е. не бяха 90°). Тъкмо започвах поредната порция скубане на коси, когато се сетих от къде идва проблема - рамената на шибаните им ъгли не са еднаква ширина - на единия от тях в началото рамотп е широоко 40.02 мм, а в края е 41.4 мм.

След всичката тази вакханалия вече не вярвам и на цифровия ъгломер, който имам. Нещо повече, не вярвам на нито един прав ъгъл в къщи било то на плот, мебел, или каквото и да било.

Направо се чудя как се движи световната икономика.

 
/28.7.2017, 13:05/ 

граматически нацист съм

дразни, когато другите пишат и не рачат да се поправят:

"сажелявам", вместо правилното "съжалявам"

"това му се отдава", вместо правилното "това му се удава"

"оказвам посоката", вместо правилното "указвам посоката"

"претенций", вместо правилното "претенции"

и аз правя грешки (пиша с малки букви и пропускам знаци), но поне знам, че го правя и когато го правя, и защо го правя

 
/25.7.2017, 18:46/ 

загледах се в тази снимка.. грешна е по-много начини:

  • сутринта ще станеш СЪС слънцето - нямаш шанс да спиш до късно. Съдейки по зеленината през прозореца е може би май-юни. През май месец слънцето изгрява някъде към 5:00 (проверих в нета) и единственото, което може да те спаси е завивката.
  • при което се чудя... тия в хималаите ли се намират? или в исландия? какви дебели завивки! през зеления сезон - късна пролет-лято?
  • И печката гори! тия ще се сварят за едната снимка.
  • щом е толкоз студено - непременно по тумани. и с домашни чехли. по тоз мрамор няма да е много топло да се ходи.
  • загледах се пак в стъклото, може да не се вижда къде са лепени двете стъкла, а може да е едно стъкло - дизайнерско, извито, цифра, братче.
  • няма компютър. тия хора само през телефоните ли си влизат в нета? ще си развалят очите.
  • тия рога горе, само като ги погледна и съня си отива. Това си е истински дамоклиев меч.

 тъй, че, ъм, не ща.

 
Навални и Гиркин - след дебата 

С огромен интерес чаках сблъсъка между Навални и Гиркин.

Сега, когато е минал, за себе си мога да кажа, че да, сравнително удовлетворен съм от видяното и чутото. 

Това се очертаваше да е събитие по-интересно от протестите на 26 март. Много хора също го чакаха, но за голямо тяхно съжаление - скандалът не се състоя, не се ля кръв, нямаше пресягане през масата. Изчакваха се, нямаше пререкания и обиди, всичко беше цивилизовано. 

Навални беше малко по-емоционален (също и нездравословно отслабнал), Гиркин беше като статуя, имам чувството, че този човек не е способен на каквато и да било емоция. Изглежда във ФСБ ги избират такива.

Като цяло форматът на дебата беше идиотски, а водещия беше като ножче за пластилин. И защо трябваше да говорят само 120 мин, не мога да разбера, според мен те тъкмо загряха. Тъкмо щяха да се кажат интересните неща и дебатът свърши. Нека трае ако ще и 6 часа, после ще си го изгледаме от нета.

И докато за Навални мнението ми си остава непроменено (въпреки, че очаквах да е доста по-остър и нападателен), то за Гиркин определено вече имам друго мнение. По-рано, въпреки, че е прост убиец от службите, имах впечатление, че е умен политик. Така мислех. Бях впечатлен от него, той е от малкото лица останали от оригиналната акция през 2013-та в Крим и Донбас, който е още жив. Критикува Путин, имаше интересни гледни точки, които го отличаваха от останалата путинолизка сволоч. Бях заблуден от постоянството му и от хвърлянето на масата на разни факти, които не знаех. Сега разбрах, че е тъп националист. Имам предвид, не че всички националисти са тъпи (често е вярно), но този е толкова тъп и застинал в миналото, че просто съм втрещен.

Той не беше в Украйна заради някакви многоходовки (интересен термин от руското политическо пространство, който означава, че видиш ли, сега търпим загуби, но след Н хода, ше матираме противника), та да се върна - не е заради някакви многоходовачки, нее. Той всъщност вярва (поне така декларира), че като обедини цяла Русия, Украйна, Белорусия, Казахстан и т.н. - видиш ли, всичко щяло да се оправи. Икономиката щяла да се оправи. ####### Да, изведнъж страната щяла да стане силна и всичко да е наред като при СССР. Подобни наивни гледни точки от човек, който беше минитър на отбраната на ДНР и отговаряше за големи тактически проекти. Сякаш този представител на съвременна Русия е достатъчен за да онагледи цялата нея. Цялата тъпа военщина - прекрасни бойци и войници, но ужасни за живот в мирно време. Войната е тяхната съдба.

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

На няколко пъти удобно се измъкна, че еди какво си било военна тайна и т.н. И това е при положение, че е напуснал ФСБ (по негови думи) още преди авантюрата в Украйна. Тоест нещата, за които не иска да говори не са военна тайна на Русия, но ако са военна тайна на Русия, значи цялото дело в Украйна е дело на Русия.

И още нещо, което ме възмути и при което си казах - този е не изпечен! този е патологичен лъжец - отговора му на въпроса за сваления Бойнг. Той продължава да твърди, че не са имали Бук. При десетките доказателства и снимки на бука, той продължава да твърди, че бука не бил техен. Твърди също, че не е писал съобщението в Туитър, с което се хвали за сваления самолет. Не се впуска да обяснява кой му е завзел туитъра.

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

За мен беше загадка, защо Гиркин предложи този дебат? Какво очакваше? Да повиши рейтинга си? Изключитлено неудовлетворителен е отговорът му на въпроса "Защо се съгласихте на този дебат" беше "За да прочета в очите на Навални дали мисли това което казва". Моля? Не можа ли да измисли нещо по-правдоподобно? Навални се измъкна от този въпрос - щом не съм запомнил какво е казал. ###### (Ясно е че и двамата се явиха там за да трупат точки, за да се чуе името им, за да се разбере за каузата им.)

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

П.С. когато говоря за Русия имам предвид конкретно путинова Русия, не онази европейска цивилизована Русия, която можеше да бъде, а тази самоизолирана, военизирана и лумпенизирана, която е в момента. Дано да дойде време, когато се завърнат в света.

П.С2. четейки отзивите за дебата в руското пространство основните отзиви са следните: поддръжниците на Гиркин твърдят, че Гиркин е размазал Навални, поддръжниците на Навални твърдят обратното, като има и доста гласове на недоволство, че Навални не е бил достатъчно остър и нападателен и е оставил Гиркин да се измъкне по най-интересните теми - Крим и Донбас..

 
/18.7.2017, 15:38/ 

една дума: небостъргач.

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

 
/17.7.2017, 16:24/ 

Как трябва да изглежда пешеходната пътека в града?

Защитена от автомобилите, разбира се.

източник

орг източник

 
/14.7.2017, 16:06/ 

Албърт и Бърнард се запознали с Черил и поискали да узнаят рождения ѝ ден. Черил им дала 10 възможни дати. Те са:

15 май, 16 май, 19 май
17 юни, 18 юни
14 юли, 16 юли
14 август, 15 август и 17 август

Черил казала съответно на Албърт месеца, а на Бърнард деня от месеца на рождения си ден.
След това Албърт обявил:
- Не знам кога е рожденият ден на Черил, но знам, че и Бърнард не го знае.
Тогава Бърнард отвърнал:
- В началото не знаех, но сега вече знам кога е рожденият ден на Черил!
- В такъв случай, знам го и аз, добавил Албърт.
И така, кога е рожденият ден на Черил?

 
Автоматично ъпдейтване на remote working tree 

Aко имам working tree към отдалечено хранилище при git push то не се ъпдейтва.

Kолкото и пъти да направя git push сорсът си стои дърт и замръзнал в миналото.

За целта му се прави hard reset към последния HEAD и по този начин working tree се осъвременява. (Командата е: git reset --hard HEAD)

Тази работа на ръка не си е работа. Затова, за да се ъпдейтва автоматично remote working tree след git push ползваме hooks. Това са шел скриптове, които се изпълняват при определени събития.

Правим файл .git/hooks/post-update със следното съдържание:

!/bin/sh
echo 'post-update executed' >> hooks.log
git --git-dir=. --work-tree=$PWD/.. reset --hard >> hooks.log

Готово. След push сорсът в отдалеченото хранилище също е ъпдейтнат.

 
/10.7.2017, 17:45/ 

отрязано дърво. дали ще посадят ново? отсреща е ул Освободител.

 
/10.7.2017, 17:33/ 

русенски тротоар от време оно.

улица Плиска.

асфалт, недъгаво разкопан и недъгаво закопан.

 
/10.7.2017, 11:24/ 

астрологията и зодиаците тотално не работят.

тя нали трябва да предсказва?

е, тогава защо астролозите не са най-богатите хора?

 
/6.7.2017, 9:59/ 

Рядка свинщина и простащина. Учебникарски пример за нехайство и безтговорност. Това пак ли е по обществена поръчка изпълнена от "нашите"? Благодаря ти, кметство Русе. Това е улица Райко Даскалов, отстрани на съда, насреща е центъра на град Русе.

След ремонт и копане за ремонт на ВИК паветата не са върнати по местата им, а просто е залят асфалт. Навсякъде слагат асфалт. Този асфалт още малко и в апартаментите ще започнат да го полагат.

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

 

Ето тук се виждат жалките останки от преден ремонт. Не разбираемо за мен е защо паветата са подредени НАОБРАТНО. С надписа нагоре. Надписа гласи фабрика Труд Русе. Тази фабрика я няма и не произвежда сигурно вече над половин век, но и до ден днешен всички хора, които строят къщи по селата наоколо търсят стари керемиди от тази фабрика - и не защото са по-евтини.

 

Малко по-надолу по улицата, вече на асфалтираната част, ремонтът продължава с пълна сила:

След вглеждане забелязвам, че този асфалтиран път е положен директно върху някогашните павета. Като шофьор знам, че е отвратително карането на кола по павета, така че тук не съм толкова против.

Докато снимах това дойде един мъж, не по работнически облечен, беше от хората, които наблизо коментираха ремонта и започна да ме убеждава, че паветата били изгорели и за нищо не ставали. Не можа да ми обясни какво значи изгорели, но настояваше, че са такива и че се цепели и разпадали.

Както и да е. Тук съм със смесени чувства и не коментирам (а и е свършен факт), но онова до центъра е жива история, която може да се съхрани - от едната страна е съда, от другата страна е сметната палата и активно движение на коли няма. Няма висока скорост. Има паркинг. Там паветата трябва да останат и да се поддържат.

П.С. тук пишат, че щели да върнат паветата, те били запазени някъде. Дано, дано.

 
/5.7.2017, 14:08/ 

1. след като издадох self-signed certificate за вивалдито с включено поле subjectAltName се оказа че Файърфокса не ще да го приема. ФФ чете собствения си оторити регистър и според него този сертификат не е добър и се налага да цъкам "Add exception". Не ме кефи така.

Затова изоставих този сертификат и се върнах към вчерашния ми опит за пълен certificate chain.

направих си CA .pem файл с О=NBI Localhost CA, CN=localhost

после пуснах certlm.msc (certificate manager за local machine на windows) и импортирах ca.pem файла.

2.

след това си издадох клиентски сертификат (crt & key) издаден от това ново CA с включено поле subjectAltName. (важно: countryName трябва да е същото като в CA, при правенето на клиентската заявка записах bg с малки букви и то се оплака; предполагам, че и останалите полета трябва да съвпадат)

инсталирах го на апачи сървъра (подмених му crt и key файла, които вече имах за localhost).

вивалди веднага прие браузването на https://localhost без проблем.

3.

фф не го прие.

за да излъжа фф да го преглътне се наложи да импортирам като certification authority в реистъра му. Да, ама не. ФФ не се оплака, но и не го добави. След дълго размишление и лутане се загледах и реших, че то може би си мисли, че като му давам .crt файл, очаква в него да има pkcs #12 формат, а моя .crt съдържаше PEM формат. За да се сдобия с друг формат отидох в certlm.msc и експортирах вече инсталирания ca.pem като ca.cer. След импорта в CAuthorities на ФФ и той прие localhost сертификата без оплаквания.

п.с. лакмуса за успех дали импорта на оторити във ФФ е, че той пита дали да се доверява на сертификати от това оторити относно web, mail или software (т.е. излиза джамче с цъканки). Ако не успее да импортне CA не пита нищо или се оплаква.

4.

в последствие се оказа без значение в какъв вътрешен формат, pem, der или p7b експортирам от уиндоус - всички се импортираха без проблем във ФФ. Това е странно, защото pem файла, който му дадох изгенериран от openssl не бе приет, а pem файла експортиран от certlm.msc беше приет. След сравнение се оказа, че са почти напълно еднакви с едно изключение: в оригиналния пише BEGIN/END TRUSTED CERTIFICATE, а в другия пише BEGIN/END CERTIFICATE. ФФ се объркваше от това допълнително TRUSTED.

 

 
/5.7.2017, 12:24/ 

Хром базираният ми браузер (вивалди, vivaldi) упорито не щеше да приема сертификата на локалния ми апачи. Oказа се, че му липсвало поле subjectAltName в сертификата на сървъра. Добавих [SAN]/subjectAltName=DNS:localhost в openssl.cnf и след това преиздадох сертификата (self-signed) с тази команда:

openssl req -newkey rsa:2048 -x509 -nodes -keyout ssl.key/server.key -new -out ssl.crt/server.crt -subj /CN=localhost -reqexts SAN -extensions SAN -config .\openssl.cnf -sha256 -days 3650
този subjectAltName се води някакъв extension във версия 3 на x509, но е задължителен за някои съвременни браузери. Оказва се, че хром дериватите разчитат на него, и чак след това на Common Name CN. Причината е, че в него може да се запишат множество домейни.
След преиздаването на сертификата се наложи рестартиране на апачито.
източник: https://github.com/webpack/webpack-dev-server/issues/906
 
ето още инфо за това поле от digicert: https://www.digicert.com/subject-alternative-name.htm 
 
 
/4.7.2017, 11:12/ 

Стр.57 от Секретен протокол от срещата на генералния секретар на ЦК на БКП и председател на Държавния съвет Петър Младенов с ръководството на МВР и колегиума на министерството на 25 ноември 1989 г.
(Централен държавен архив, фонд 1Б, опис 83, архивна единица 134)

източник

 
/3.7.2017, 11:41/ 
 
/29.6.2017, 15:29/ 

Градът ни съвсем заприлича както беше едно време - дупка до кръпка, чакъл до яма. Всеки дупчи, всеки кърпи, все идиотски и непрофесионално и няма кой да им търси отговорност, да се върнат и да си свършат работата като хората. 

 
/23.6.2017, 16:16/ 

Из речта на Койлазов пред Русенски Университет по време на КомпСисТех.

 

 
/20.6.2017, 16:07/ 

Оказва се, че Георги Димитров никога не е произнасял заключителната реч с която сразил германските нацисти и съдии и заради, която те го оправдават. Не, че не се е подготвял и не се е потрудил. Просто не я е произнасял. Всъщност той бива оправдан, след като от различни страни идва натиск за това, включително от цар Борис III. 

https://www.24chasa.bg/Article/1820044

https://www.actualno.com/columnist/article/1325/author_id/80

 

 
/15.6.2017, 14:26/ 

на кого са му затрябвали множество курсори в текстов редактор?! откъде на къде трябва да са много? случаите на употреба са толкова ограничени, че ум не ми побира, защото е целия този hype покрай тази способност на текстовите редакторите и защо трябва да се отдава толкова много време и сили за разработването на тази простотия? толкова по-ценно е при ctrl click да отива да на мястото на дефиниция на токена, или пък да покаже всички референции към него, вместо да ми поставя допълнителен курсор. каква загуба на време и мозъчни клетки.

 
/14.6.2017, 12:18/ 

яка история се заформи с Ивайло Пенчев от Уолтопия.

еваларката пич, къртиш и лепиш едновременно. шапки долу.

той обяви, че КФН му оказват натиск. 

ако не беше "случката" КТБ нямаше да имам мнение по въпроса, но след невероятното изобличение, че защитават #кой е очевидно, че не са "независим регулатор", както им се иска да изглеждат.

а и няма как да не му повярваш, след като става ясно, че именно застрахователния бизнес бива разстърсен от неговата система Окшънайз. Очевидно е, че доста дебели интереси ще бъдат разбутани.

преди няколко месеца той обяви, че София Тех Парк е едно недоносче и тогава пак влезе в новините.

общо взето КФН ако не го унищожат, му правят услуга, защото така го популяризират. А Пенчев съвсем закономерно превръща недостатъка в предимство, както трябва да направи един добър бизнесмен. Браво.

КФН от своя страна се оплакаха, че той им оказвал натиск. Не им съчувствам. След КТБ и Искров - не.

интервю в бтв

пресконференция

 
/14.6.2017, 12:15/ 

ДПС оттеглили подкрепата си за мажоритарността.

При мажоритарна система те направо няма да съществуват като партия.

Сигурен съм, че не сега са се сетили, че тази мажоритарност е мноого против техните интереси или е било някаква игра от самото начало. Сигурен съм, че през цялото време са се чудили как да се обявят против без да изглеждат лоши.

на 13ти гласуват ЗА в правната комисия.

на 14ти казват че на официалното гласуване ще гласуват ПРОТИВ.

Какво се е променило за един ден?

Междувременно райчевия Галъп отчита намаляване на народната поддръжка за мажоритарен вот от 80% на 50%.

 
Плочки или асфалт 

не ми харесва, когато асфалтират тротоарите.

някои хора не харесват плочките по тротоарите, но плочките - ако са избрани правилно и положени добре - са прекрасни. придават елегантен вид на тротоара. придават класа.

а тук нямало майстори казват.

скъпо било.

близка улица:

след като преди една седмица асфалтираха единия троторар...

вчера асфалтираха и другия...

 
tinymce paste picture get jpg 

тщ напълно пренаписах paste хендлъра

стария имаше огромен проблем - опитваше се да ме прекара през CORS за изображения които съм копнал от друга страница, минавайки през оригиналното им URL при условие че в клипборда я има самата картинка която искам да пейстна. За картинки които не идват от барузер работи ок, но по-често са от браузера и подобно поведение нервеше.

При Paste tinymce се правят на умни и не ми пускат картинката, ами html formata, който то намира в клипборд, решава, че е по-добре да ползва него и ми засилва него. Това е генерално тъпо, защото тоя html сочи към картинка от друг домейн и естествено КОРС-а не пуска изображението и за да го излъжа се налагаше да отворя ирфана и да пейстна и после да копирам от него за да остане в клипборда само картинката без html кода.

ето как изглежда клипборда при една такава картинка, копната от уебстраница. Има BITMAP и DIB които са едно и също, а също има и HTML Format и URL.

вместо да ми извади DIB TinyMCE ми вади HTML Format и ми го пуска в Paste plugin, при което аз го прехващах при paste_preprocess - там се опитвах да обърна получения <img src=....> до картинка и КОРС-а се намесваше.

сега в setup callbacka на tinymce се закачам on('paste'..) и сам си проверявам какво има в клипбоарда. ако има файл от тип image/png (заб: при копване в клипборда, всяка картинка се обръща до такъв тип) се получи следния пинг-понг, за да получа заветния jpg:

  • вземам го с getAsFile() - получавам блоб от общ тип (text/plain)
  • обръщам му типа до image/png, защото то си е такова, получавам пнг блоб
  • вземам урл до този пнг блоб
  • чрез това урл правя jpg. като резултат получавам url като data, която е base64 encoded (за да стане номера минавам през канвас и гетвам датата с качество на жепега 90%)
  • обръщам този data url до блоб
  • вземам урл на блоба
  • вмъквам картинка в tinymce сочеща към това url на jpg blob.

в основни линии кода е този: 

 

function toJpg(src, callback)
{
  varimg=newImage();
  img.crossOrigin='anonymous';
  img.onerror= (err, status) =>console.log(err, status);
  img.onload=function() {
    var canvas= document.createElement('CANVAS');
    var ctx=canvas.getContext('2d');
    var dataURL;
    canvas.height =this.height;
    canvas.width =this.width;
    ctx.drawImage(this, 0, 0);
    dataURL=canvas.toDataURL('image/jpeg', 0.9);
    callback(dataURL);
  };
  img.src=src;
}
function dataURItoBlob(dataURI)
{
    return fetch(dataURI, {mode: 'cors'})
        .then(res => res.blob());
}
function blobToDataURI(blob)
{
    return URL.createObjectURL(blob);
}
 
.......................
//tinymce init options:
        setup : function(ed) {
         ed.on('paste',function(ev) {
             console.log("onpaste",ev.clipboardData.items);
             for(var i in ev.clipboardData.items)
                if(ev.clipboardData.items[i].type=='image/png')
                {
                    let file = (ev.clipboardData.items[i].getAsFile());
                  let blobpng = file.slice(0, file.size-1, 'image/png'); //change type to png
                    let urlPngBlob = blobToDataURI(blobpng);
                    toJpg(urlPngBlob, dataURL =>
                    {
                        dataURItoBlob(dataURL).then(blob => {
                            var url = URL.createObjectURL(blob);
                            insertImgUrlInTinyMce(url);
                        });
                    });
                    ev.preventDefault();
                }
         });
        },
......................
 
Studley tool chest 
 
/2.6.2017, 14:10/ 

мислех, че веселото знаме с дъгата завинаги е отвлечено от гей движението, но се оказа, че не е съвсем така; гей знамето е незначително различно от нормалната дъга, но все пак е различно.

обикновената дъга се рисува със 7 цвята, а гейската - с 6 цвята.

 
преименуване на git commits 

 

да не забравя:

първи начин

За да преименувам последния гит камит и да се редактира текста му ползвам това:

git commit --amend -c HEAD #предлага за редакция последния камит с текста му

или за да редактирам най-горния камит текст и да се вземе текст от точно определен друг камит:

git commit --amend -c 9e8e019d9ab041d5b35bcdd0987ed63b783d73d0

Важно! при промяната на текста се променя самия камит, тоест се променя неговия хеш.

втори начин - за разбиране на нещата, с използване на git command line

За промяна на предишни текстове на камити процеса става сложен и трябва да се мине през rebase:

git rebase -i HEAD~4 #редактирай последните 4 камита с интерактивен рибейз (-i)

При тази команда гита изкарва редактора (default: vi) и пита какво трябва да ги прави тези камити. Там където трябва да се редактира текста сменяме думата "pick" с думата "reword". след това се записват така заявените команди с ":wq" (за vi)

При :wq vi завършва изпълнението си и предава управлението обратно към гита. Гит вижда, че искаме да reword-нем някои камити. За всеки един от тях гит отново пуска текстовия редактор и вече можем да зададем новите им текстове. (тоест ако сменим всички pick с reword ще видим още 4 пъти редактора, за всеки един камит поотделнo)

Всички тези операции променят хешовете и става еднаа.. Става една такава, че дървото с камилите вече е коренно различно от предното. Ако предното дърво е пушнато към римоута трябва да се форс-пушне отново, като така се затърква предното:

git push --force <бранч_с_преименувания>

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

(любопитна особеност е, че не може да се промени името на първия камит в дървото, защото преди него няма друг, върху който той да се рибейзне.)

по темата

трети начин - практичен и удобен, с помощта на SourceTree

  • сташваме или комитваме, не трябва да има uncommited промени по working tree.
  • проверяваме на кой бранч сме - трябва да сме на същия, на който ще поправяме текста.
  • цъка се с дясното копче на мишката на предшественика на камита, който трябва да се редактира и се избира "rebase children of <hash> interactively...".
    • появява се нов екран, в чиято горна част са изброени камитите, деца на цъкнатия с мишката (внимание, това работи само с камити на текущия бранч).
  • цъка се на желания камит, на който трябва да сменим текста.
  • цъкаме на копчето "Edit Message" и въвеждаме новия текст
  • повтаряме за всички камити, които искаме да редактираме.
  • цъкаме ОК в джама.
  • тадаа... гита свършва същото онова, което е описано в начин 2 по-горе и променя текстове и хешове.
 
/25.5.2017, 14:27/ 

"бащицата" путин може да е безскрупулен агресор, но чак такъв глупак не е. Че кирилицата била дошла от македонската земя - това е добре премерено изказване - той не казва, че идва от Македония, а от македонската земя, която тогава е била в територията на България. Така хем е фактологично прав, хем няма да спомене името "България", защото всяко признаване, че ни дължат нещо ще им развали кулата от карти. И в същото време се заиграва с македонците, които с удоволствие ще клъвнат всяка стръв, която е свързана с легализиране на измислената им история.

 
Sql Server Deadlock Example 

declare @i int = 1

while @i<500

begin

   begin tran 
      --SET TRANSACTION ISOLATION LEVEL  repeatable read <--whatever!!!
/*1*/       update accounts set [AccountBalance]=AccountBalance + 0.01 
/*2*/       update invoices set amountdue = amountdue + 0.01
   commit

   set @i = @i + 1

end

 

declare @i int = 1

while @i<500

begin

   begin tran 
      --SET TRANSACTION ISOLATION LEVEL  repeatable read <--whatever!!!
/*2*/   update invoices set amountdue = amountdue + 0.01 
/*1*/   update accounts set [AccountBalance]=AccountBalance + 0.01    

   commit

   set @i = @i + 1

end

 

 these two scripts ran by two different connections cause sql deadlock error like this:

Transaction (Process ID 55) was deadlocked on lock resources with another process and has been chosen as the deadlock victim. Rerun the transaction.

the one transaction is executed ok, the other transaction is rolled back and needs to be rerun.

this error is inevitable and in my tests cannot be remedied by chosing the "right" isolation level although the docs clearly says that this error is result from using shared locks. i thought that using isolation level with no shared locks would prevent it. but it still occurs. why?

2017-05-25: somebody else also needed sql server deadlock demonstration, here it is on stackoverflow.

2017-05-26: the best solution is to be reordered the operations and in this manner this classic deadlock would never happen. Still if some other software out of our control works with the tables in the wrong order it would cause deadlock after all. This is why in such case the handling of this deadlock exception is mandatory.