
This gallery contains 4 photos.
Днешната разходка с кучето ми донесе късче удоволствие от един див храст. Природата крие тайнствени моменти в дребни, ежедневни състояния.
This gallery contains 4 photos.
Днешната разходка с кучето ми донесе късче удоволствие от един див храст. Природата крие тайнствени моменти в дребни, ежедневни състояния.
С колегите от известно време се радваме на едни сладки – меденки с канела, които ги откри на Наско жена му. Да е жива и здрава!
И вкъщи се пробвахме да ги направим, но явно си иска опит, щото първият път станаха малко твърди :). Вероятно трябва да се внимава с количеството брашно и продължителността на печенето.
Необходими продукти за 25-30 курабийки:
2 яйца
2 кф. чашки захар
2 кф. чашки олио
2 (или 3) суп. лъжици мед (за предпочитане незахаросан)
1/2 чаена лъжичка сода бикарбонат
1п. канела
3 чаени чаши брашно, вероятно и повече, за да се получи тесто с което да може да се работи, да не е много лепкаво, да се разточва.
Орехови или други ядки (сусам, фастъци…)
Приготвяне:
Миксера да бъде с бъркалки за брашно. Първо се бъркат яйцата със захарта, меда и содата. Добавя се олиото и пак се бърка. Добавя се канелата. Като се разбърка хубаво се добавя по малко и брашното и в един момента трябва да почне да се меси на ръка, като се добавя брашно докато се получи смес с която може да се меси (да не лепи). Разточва се на 6-7 мм дебелина и с чаша се оформят кръгчета (или формички). В тавата може да се постави хартия за печене, за да не залепнат.
Пече се на 170-180° за около 40 мин. Продължителността на печенето се определя на око. Веднага след изваждането от фурната се подпарят със шпатула, освен ако не са печени с хартия на дъното. Оставят се да изстинат. Охладени в хладилника са още по-вкусни!
Докато го пишех това, започнах да се давя в слюнка :)!
Да ви е вкусно!
И благодаря за ценната рецепта!
Търсих си неразкрасена логин форма за Bootstrap 3. Трябваше да я набутам в бутон на на nav-панела. Не намерих нищо свястно, ам тя работата е елементарна. Ще покажа 2 различни примера.
BS3 Login form с popover и html код разположен някъде в страницата:
Javascript – поставя се най-долу в кода на страницата
1 2 3 4 5 6 7 | $('button[data-toggle=popover]').popover({ html : true, //trigger: "click", // може да се смени content: function() { return $('#popover_content_wrapper').html(); } }); |
HTML-кода:
1 2 3 4 5 6 7 8 9 10 11 12 | <div id="popover_content_wrapper" style="display: none"> <form action="" role="form"> <div class="form-group"> <label for="user">User</label> <input type="text" class="form-control" id="user" placeholder="User" /> <label for="password">Password</label> <input type="password" class="form-control" id="password" placeholder="Password" /> </div> <button type="submit" class="btn btn-default">Sign in</button> </form> </div> |
BS3 Login form с dropdown:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 | <li> <div class="dropdown"> <button type="button" class="btn btn-default navbar-btn" data-toggle="dropdown">Login</button> <div class="dropdown-menu" style="padding: 10px; background: #ddd"> <form action="" role="form"> <div class="form-group"> <label for="user">User</label> <input type="text" class="form-control" id="user" placeholder="User" /> <label for="password">Password</label> <input type="password" class="form-control" id="password" placeholder="Password" /> </div> <button type="submit" class="btn btn-default">Sign in</button> </form> </div> </div> </li> |
Пример с 2-те форми може да се види тук:
Bootstrap 3 dropdown login form example
Article-X е проста система за писане на статии от гост-потребители. Системата я написах така, че да наподобява малко CMS. Може да се настройва.
Подробности и видео урок как се ползва могат да се намерят тук:
Aricle-X – Guest Blogging System
Фронт-демо на системата тук.
CSS – Attribute Selectors
CSS разполага с няколко “странни” символа, които в други езици са известни като wildcards. Тези символи представляват селектори на текст и могат да съвпадат с части от текста.
Атрибут селекторите могат да се използват за всякакви атрибути на таговете, като класове (.class1, class2…) или идентификатори(#id1, id2…), href, title, name и т.н.
Примери за прилагане на стилове с атрибут селектора “започва с”:
The “begins with” CSS selector – DEMO
Примери за прилагане на стилове с атрибут селектора “завършва с”:
The “ends with” CSS selector – DEMO
Примери за прилагане на стилове с атрибут селектора “съдържа”:
The “contains” CSS selector – DEMO
Програмата я написах една вечер, когато се прецака кабелната в къщи. Използвал съм rtmpdump за прихващане на стриймовете. Плеъра, който излъчва стрийма е Mplayer за Windows – беше най-малкия плеър, който намерих и който може да излъчва поточно rtmp видео. Писал съм го на AutoIt 3, че за такива нужди е възможно най-лекия и бърз вариант.
Към момента може да плейва следните телевизии:
Не, че това са ми любимите телевизии, но тия ми се мернаха, като търсих с какво да попълня списъка.
При стартиране на някоя от телевизиите се отваря допълнителен прозорец, който показва буферирането на стрийма и разни други интересни неща. Прозореца лесно може да се скрие.
Програмата работи под 64bit Win. Тествана е под WinXP. изглежда така:
Нова версия v.0.9 (22.01.2017) – променена е концепцията на гепене на стрийма, като вече не ползвам rmpt-дъмп. В тази версия ползвам ffmpeg, затова и архива е по-голям (около 20mb).
Simple BG TV Player – v.0.9.beta-x64.zip
Simple BG TV Player – v.0.9.beta-x86.zip
—–
Стари версии:
Изтегляне v.0.8 64bit (в архива е и сорскода): Simple BG TV Player – v.0.8.beta.rar
Изтегляне на v.0.8 32bit версия: Simple BG TV Player – v.0.8.beta-x86.rar
Старата версия все още е достъпна от тук: v.0.7.rar
Нямам време за постоянни ъпдейти на стриймовете, така че се извинявам на всички, които ми писаха да оправя кода. Току що във v.0.4 от (13.03.2016) оправих всички стриймове. Добавих някои канали – БНТ, БНТ HD, БНТ2, SPortal. Махнах City TV и Алфа. Във v.0.5 оправих объркването на БНТ с БНТ HD. От v.0.5 трябва да са добавени и двете. Във версия 0.6 е променен сървара за BTV.
Важно! 03.01.2017 Във v.0.8.beta е променен напълно кода. Адресите на стриймовете, както и някои настройки на програмата са изнесени във външен ini-файл: settings.ini. Това позволява всеки потребител сам да добавя или премахва телевизии от списъка, без да се налага прекомпилиране от сорс-код. Пък и хората имат различни интереси по отношение на телевизиите, плюс това не всички са програмисти. Кода е лек и кратък, на принципа – “направи го елементарно, но да върши работа”. Beta – това го сложих, защото ini-файла се зарежда релативно и все още нямам отзиви, дали програмата се плейва нормално при потребителите. Ето изглед от ini-файла:
INI-файла позволява да се замени плеъра (примерно с VLC), както и дъмпера (примерн с ffmpeg). Редактира се с най-обикновен текстов редактор.
Ето една статия, която показва възможностите за редакция на settings.ini:
Simple TV Player – трикове с ini-файла
А това е ini-файл с добавена телевизия BNT World: settings_v.8+BNT_Wolrd.ini.zip
ПС: Програмата е публикувана с образователна цел. Можете да я теглите, променяте, публикувате и използвате целия код или части от него. Основната ми цел, беше да се запозная по-добре със онлайн-стриймването и начините на защитата му.
ПС2: Ако искате да гледате български телевизии под Android устройство, погледнете статията ми: Гледане на български телевизии (БНТ, bTV, Nova…) под Android с XMTV Player
За любителите на rtmpdump-инга имам Новогодишен подарък – серия от кратки урочета, които се надявам да доразвия, като запазя простотата и достъпността:
rtmpdump tutorial – урок за начинаещи
———-
Nota bene:
Можете да погледнете и статията Гледане на български ТВ канали с Kodi. Добавил съм кратко видео, което показва стъпките от инсталацията под Windows до гледането на най-гледаните български ТВ-канали. Програмата може да се инсталира на всички популярни устройства и операционни системи, включително Android и Apple.
Написах простичка програмка за управление на Windows с мишката. Писана е на AutoIt. Може да се напасне лесно за всякакви команди, като съм оставил възможност за редакция на един ini-файл, който контролира цялата хава.
В момента са добавени 8 базови функции, които се изпълняват от десния бутон на мишката.
Кратко видео с функционалността може да се види тук:
[flv:https://blog.nediko.info/examples/AutoIt/windows_gestures/Windows_Gestures.flv examples/AutoIt/windows_gestures/win_gestures.png 480 397]
Целия сорс код на програмата:
#include <Misc.au3> AutoItSetOption("WinTitleMatchMode", 4) $dll = DllOpen("user32.dll") $ini = "functions.ini" $func1 = IniRead($ini,"HotKey","Function1",@WindowsDir&"\system32\calc.exe") $func2 = IniRead($ini,"HotKey","Function2",@WindowsDir&"\system32\calc.exe") $func3 = IniRead($ini,"HotKey","Function3",@WindowsDir&"\system32\calc.exe") $func4 = IniRead($ini,"HotKey","Function4",@WindowsDir&"\system32\calc.exe") $func5 = IniRead($ini,"Gestures","Function5",@WindowsDir&"\system32\calc.exe") $func6 = IniRead($ini,"Gestures","Function6",@WindowsDir&"\system32\calc.exe") $func7 = IniRead($ini,"Gestures","Function7",@WindowsDir&"\system32\calc.exe") $func8 = IniRead($ini,"Gestures","Function8",@WindowsDir&"\system32\calc.exe") $funcl1 = IniRead($ini,"Label","Function1",@WindowsDir&"\system32\calc.exe") $funcl2 = IniRead($ini,"Label","Function2",@WindowsDir&"\system32\calc.exe") $funcl3 = IniRead($ini,"Label","Function3",@WindowsDir&"\system32\calc.exe") $funcl4 = IniRead($ini,"Label","Function4",@WindowsDir&"\system32\calc.exe") $funcl5 = IniRead($ini,"Label","Function5",@WindowsDir&"\system32\calc.exe") $funcl6 = IniRead($ini,"Label","Function6",@WindowsDir&"\system32\calc.exe") $funcl7 = IniRead($ini,"Label","Function7",@WindowsDir&"\system32\calc.exe") $funcl8 = IniRead($ini,"Label","Function8",@WindowsDir&"\system32\calc.exe") While 1 Sleep ( 500 ) ToolTip("") If _IsPressed("04", $dll) Then ; Moje da se smeni s drug buton na mishkata $ori = MouseGetPos() SplashImageOn("","gdot.bmp","30","30",$ori[0]-15,$ori[1]-15,1) Do Sleep(100) $cur = MouseGetPos() If $ori[0] - $cur[0] > 100 And $ori[1] - $cur[1] > 100 Then ToolTip($funcl1) ElseIf $ori[0] - $cur[0] < -100 And $ori[1] - $cur[1] > 100 Then ToolTip($funcl2) ElseIf $ori[0] - $cur[0] > 100 And $ori[1] - $cur[1] < -100 Then ToolTip($funcl3) ElseIf $ori[0] - $cur[0] < -100 And $ori[1] - $cur[1] < -100 Then ToolTip($funcl4) ElseIf $ori[0] - $cur[0] > 50 Then ToolTip($funcl5) ElseIf $ori[0] - $cur[0] < -50 Then ToolTip($funcl6) ElseIf $ori[1] - $cur[1] > 50 Then ToolTip($funcl7) ElseIf $ori[1] - $cur[1] < -50 Then ToolTip($funcl8) Else ToolTip("") EndIf Until Not(_IsPressed("04", $dll));Moje da se smeni s drug buton na mishkata $cur = MouseGetPos() If WinActive("classname=ExploreWClass") Or WinActive("classname=CabinetWClass") Then If $ori[0] - $cur[0] > 100 And $ori[1] - $cur[1] > 100 Then ; Nagore i naliavo - Back Send($func1) ElseIf $ori[0] - $cur[0] < -100 And $ori[1] - $cur[1] > 100 Then ; Nagore i nadiasno - Forward Send($func2) ElseIf $ori[0] - $cur[0] > 100 And $ori[1] - $cur[1] < -100 Then ; Nadolu i nalqwo - Minimize Send($func3) ElseIf $ori[0] - $cur[0] < -100 And $ori[1] - $cur[1] < -100 Then ; Nadolu i nadiasno - Close Send($func4) ElseIf $ori[0] - $cur[0] > 50 Then ; Naliavo - My Docu ShellExecute($func5) ElseIf $ori[0] - $cur[0] < -50 Then ; Nadiasno - Disc D:\ ShellExecute($func6) ElseIf $ori[1] - $cur[1] > 50 Then ; NAGORE - Calculator ShellExecute($func7) ElseIf $ori[1] - $cur[1] < -50 Then ; NADOLU - Notepad RShellExecute($func8) EndIf Else If $ori[0] - $cur[0] > 50 Then ; Naliavo - My Docu Run($func5) ElseIf $ori[0] - $cur[0] < -50 Then ; Nadiasno - Disc D:\ Run($func6) ElseIf $ori[1] - $cur[1] > 50 Then ; NAGORE - Calculator Run($func7) ElseIf $ori[1] - $cur[1] < -50 Then ; NADOLU - Notepad Run($func8) Else SplashTextOn("Gestures","No action","250","20","-1","-1",2,"","","") Sleep(500) SplashOff() EndIf EndIf SplashOff() EndIf WEnd DllClose($dll) |
За да се промени функционалността на жестикулациите, трябва да се редактира секцията “Gestures” във файла functions.ini:
[HotKey] Function1 = !{LEFT} Function2 = !{RIGHT} Function3 = !{SPACE}N Function4 = !{F4} [Gestures] Function5 = explorer.exe C:\ Function6 = explorer.exe D:\ Function7 = calc.exe Function8 = Notepad.exe [Label] Function1 = Back Function2 = Forward Function3 = Minimize Function4 = Close Explorer Function5 = Disk C Function6 = Disk D Function7 = Calculator Function8 = Notepad |
Секцията “Hot Key” също може да се редактира. Информация за командите в AutoIt тук:
Затварянето или временната пауза на програмата става от тук: HotKey-help.html
Изтегляне за 32bit Windows: Windows AutoIt Gestures – 32bit
Изтегляне за 64bit Windows: Windows AutoIt Gestures – 64bit
Проста програмка за търсене на думи в MS Word файлове. Програмата е само за 32-bit Windows. Тествана е само под WinXP, но може би ще работи и под други OS.
Писана само за трнировка. Разполага само с базови възможности. Би могло да и се добавят доста повече опции, като рекурсивно преравяне на директории, търсене на кирилица, търсене с регулярни изрази, запазване на резултата в текстов файл и т.н. Към момента ги няма тия дивотии, но ако ми текне музата някой ден може и да я пооправя. Използвал съм 2 езика за програмиране – AutoIt и Perl. Използвах компилатор-пакетера pp, за да компилирам Perl-файла.
Програмата е с отворен код и ако на някой му се занимава, може да си я пипне. Изглежда така:
Сорс кода:
AutoIt-файла
#include #include #include #include #include #include Local $line $Form1 = GUICreate("Search in word files", 621, 473, 192, 124) $Label2 = GUICtrlCreateLabel("Text to Find", 8, 13, 60, 23) $Rezult = GUICtrlCreateEdit("", 8, 64, 609, 369) ; GUICtrlSetData(-1, "Edit1") $String = GUICtrlCreateInput("", 80, 8, 393, 21) $SelectDir = GUICtrlCreateButton("Select Dir", 8, 32, 65, 25) $Directory = GUICtrlCreateInput("", 80, 32, 393, 21) $Search = GUICtrlCreateButton("SEARCH", 480, 8, 137, 49) $Help = GUICtrlCreateButton("?", 584, 440, 25, 25) $Label1 = GUICtrlCreateLabel("--==[ Programming by Nedialko Voinigovski ]==--", 8, 448, 444, 17) GUISetState(@SW_SHOW) While 1 $nMsg = GUIGetMsg() Switch $nMsg Case $GUI_EVENT_CLOSE Exit Case $SelectDir _seldir() Case $Search _search() Case $Help _help() EndSwitch WEnd func _seldir() $outfolder = FileSelectFolder("Choose a folder.", "") GUICtrlSetData($Directory, $outfolder) EndFunc func _search() $command = @comspec & ' /c ws.exe' & ' "' & GUICtrlRead($String) & '"' & ' "' & GUICtrlRead($Directory) & '"' $cmd = Run($command, @WorkingDir, @SW_HIDE, $STDERR_CHILD + $STDOUT_CHILD) $line = "Wait ..." & @CRLF While 1 $line &= StdoutRead($cmd) If @error <> 0 Then ExitLoop Sleep(1000) GUICtrlSetData($Rezult, $line) WEnd $line &= "--------------------------" & @CRLF & "All done!" GUICtrlSetData($Rezult, $line) EndFunc func _help() MsgBox(0,"HELP","Програмата е комбинация от езиците за програмиране" &@CRLF& "AutoIt (за графичната част) и Perl (за ровичкането в Word-файловете)." &@CRLF&"Има възможност да се използват PCRE (perl регулярни изрази) за търсене в файловете, но " &@CRLF&"все още липсва добра поддръжка на кирилица."&@CRLF&@CRLF&"За да работи всичко нормално трябва и двете exe-та да са в една директория.") EndFunc |
Perl-файла, който върши съществената работа:
use Win32::OLE; use Win32::OLE::Enum; use Cwd 'abs_path'; $dir = $ARGV[1]; chdir $dir; @files = <*.doc *.docx>; $find = $ARGV[0]; foreach $file (@files) { $doc = Win32::OLE -> GetObject(abs_path($file)); open (FH,">jgfd75w43589azwq210"); $paragraphs = $doc->Paragraphs(); $enumerate = new Win32::OLE::Enum($paragraphs); while(defined($paragraph = $enumerate->Next())){ $text = $paragraph->{Range}->{Text}; print FH "$text\n"; } $doc->Close; close FH; open (FH,"<jgfd75w43589azwq210"); while ($line = ) { if($line =~ m/$find/i){ print "$find\t-->\t$ARGV[1]\\$file\n"; last; } } close FH; unlink("jgfd75w43589azwq210"); } |
Пакетите за Perl, които ми бяха необходими за компилирането:
gcc environment - 3.4.5 (mingw-vista special r3) PAR Packager, version 1.009 (PAR version 1.002)
Компилирането на Perl стана елементарно. Просто написах в промпта:
pp search_in_word.pl |
Програмата може да се изтегли от тук: MS Word Search
Проста програмка на Excel за изчисляване на съпротивлението на coil-а за изпарител на електронна цигара.
Най-интересното във файла е, че съм използвал именувани полета, за да създам нещо като база данни от която се извличат данните.
Файла може да се изтегли от тук: Ohm Calculator – e-cigarette