November wallpaper – 2015

November_2015_Full
Заиграх се с Blender, че ми трябваше календар на десктопа за ноември.
Файла е малко дървен, но ще го кача, ако някой иска да си го редактира. Не е advanced, има само един DOF на камерата.
Допълнително генерирах с вградения календар в Inkscape един датник за ноември. Сглобих всичко във Photoshop.
Сорс с файловете

================================

Тези 3D макрота много ме забавляват. Направих още една версия на календар за ноември. Опитах се да придам някакъв псевдо кубичен стил.
Blender 3D - Calendar November 2015
Сорс – v.002
Следващият път ще се пробвам в стил тотален “Майнкрафт”.
ПС: Имам нужда от нова видео-карта, че с тая чакам маса време за просто HD-рендер. Само че не знам на какво да наблегна и кое е по-важно за рендване – процесора, скоростта на паметта, големината на паметта? Не играя игри и може би някакво балансирано решение от сорта на 2Gb GDDR5, би ми свършило добра работа. Отворен съм за предложения.

Share and Enjoy !

Shares

Детско легло с големи чекмеджета – направи си сам

Детско легло с чекмеджета

В отпуска съм. И като няма какво да правя 1-2 дни ме хващат дивите. За това реших да разкарам старото детско легло и да го заменя с правено от мен, но далеч по-удобно. Важно беше, да събира повече багаж, което директно ориентира проекта към изграждане на големи чекмеджета, които да разположа в подматрачното пространство. Вече имам няколко подобни проекта на мебели от ЛПДЧ и имам някакъв опит.
Първо направих 3D на детското легло, като предвидих, че ще използвам само ЛПДЧ с дебелина 18mm. Горещо препоръчвам правенето на 3D схема, преди да започнете подобен прокет. 3D-чертежа дава много добра представа за крайният продукт и помага да се видят проблемни места, както и да се вземат точните размери на отделните детайли. Ето моят 3D модел:
Детско легло с чекмеджета - 3D модел

Меделера, който използвам обикновено е Blender. Лично за мен е много удобен, но мисля, че не е особено конвенционален и навиците от други моделери не са особено приложими в Blender.

След като знам размерите на отделните части, ще трябва да избера листове ПДЧ и да направя разкрой на отделните детайли. За целта използвах програмата Optimik 2.36c. Може да се намери кракната в шеринг сайтовете. Аз я намерих в един български мебелистки форум, като в архива имаше и кратко ръководство за работа. Важно е да се отбележат кои страни ще бъдат кантирани. Програмата ги удебелява, но това може да се направи след принтиране на схемата, като се поставят “X”-чета на всички кантирани страни от плоскостта.
Избора на плоскости направих в Съливер на Кукленско шосе в Пловдив. Избрах си следните плоскости:
ЛПДЧ – модел Малта – 2440x1830x18mm, цена 51.75лв – за видимите части на леглото
ЛПДЧ - Малта

Сурово ПДЧ 2440x1830x18mm, цена 29.50лв – за чекмеджетата и дъното
Сурово ПДЧ

При разкроя е много важно да се предвиди:
– широчина на среза. Обикновено е 4-5 мм, но аз винаги залагам 5мм.
– окрайчване на ПДЧ листовете – 10 мм от всяка страна

С Optimik направих следните разкрои за двата листа:
– за ЛПДЧ
ЛПДЧ-Разкрой на листа

– за суровото ПДЧ
Сурово ПДЧ - разкрой
(В разкроя на суровото ПДЧ съм включил и 2 повръхности за един шкаф, който ще правя, означени са с ТЕР)

Цени на Съливер за обработка на ПДЧ:

  • рязане на детайл: 0.48 лв/бр
  • кантиране, зависи от дебелината на канта:
    • 0.45mm – 1 лв/лм
    • 0.8mm – 1.20 лв/лм
    • 2mm – 2.10 лв/лм
  • окрайчване 2-3.5 лв/бр.пл

Други необходими материали:
1. Винт за дърво 3.5x35mm – 100бр. в пакет – около 2-3лв
2. Винт за дърво 3.5x15mm – 100бр. в пакет – около 2-3лв
3. Присъединителни ъгли – 0.10 лв/бр – 20бр
4. Дръжки за чекмеджетата – 3 бр. + винтове 4x20mm (или 4x25mm) за тях
5. Водачи за чекмеджета – 3 комплекта 550mm или 600mm – около 2.70 лв за един комплект ляв и десен водач
6. инструменти: бормашина, винтоверт, бургия 14mm (за ръчен фрез), бургия 2mm, рулетка, шублер, прав ъгъл

Първо измерих точните места на водачите и ги монтирах на страниците и средните напречници. При монтажа на водачите трябва да се съблюдават 2 много важни момента:
– страниците на чекмеджето да са поне с 50mm по-ниски, за да може да се вкара чекмеджето иначе ще се получи колизия при монтажа
– Монтирането на релсата на самото чекмедже трябва да е с поне 3-5mm по-навън, за да се прибира напълно чекмеджето
Има монтажни схеми почти за всички водачи, които се продават в магазините. Аз използвах тази схема:
ролкови механизми за чекмеджета - водачи

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

Детско легло - фрез за винт

Детско легло - монтиране на дъно

Детско легло - монтиране на страници

След това добавих средните напречници:
Детско легло - монтиране на средни напречници

SAM_1747

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

За Фронталната стена използвах присъединителните ъгли.
Детско легло - вратичка на чекмедже

Детско легло - вратичка на чекмедже

След монтажа на чекмеджетата, леглото започна да придобива по-завършен вид:
Детско легло - монтиране на чекмеджета

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

Ето как изглежда леглото с монтирани дръжки.
Детско легло с чекмеджета

Монтирах ъгълчета, които да укрепят подматрачните летви:
Детско легло - монтиране на подматрачни летви

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

И вече къстомизирания вид, по вкуса на 5 годишната ми дъщеря:
Детско легло с чекмеджета

Това ми е първото легло, което проектирам и сглобявам сам. Има доста неща, които бих променил, като например избора на сурово ПДЧ и монтажа на водачите, но … за другият проект ще имам повече опит. Цената за всички материали + разкроя излезе около 130 лв. Мисля, че е прилична, предвид качеството, което постигнах. Но най-вече спечели малко повече практични знания, а и тренировката си я биваше.
Щерката е доволна, булката е доволна, значи е време за най-якото – биричката!!!

Share and Enjoy !

Shares

Заключване на колело (верига) – направи си сам за под 10 лв

Качествените вериги за колела често са над 100 лв. Има и по-бюджетни решения от порядъка на 25-35лв, които обаче служат само да плашат гаргите. Истината е, че реши ли някой да ви гепи колелото, то каквото и заключване да сложите, почти е невъзможно да спрете крадеца. Все пак има идеи, които могат да забавят крадеца, особено, ако велосипеда на обществено място и не е оставен за дълго време без надзор. След кражбата на едното ми колело, за което силно страдах, реших вече да не разчитам на купешки заключвания, а да си изработя сам такова. Ще споделя две прости и евтини идеи, които съм пробвал.

1. Верига + катинар

Сериозна верига може да се закупи от почти всеки строителен хипермарет. Аз си харесах верига от Маркита в Пловдив на цена от 4.5лв/м. Може да се избере и някоя с по-малък диаметър на звената.
Верига
Към веригата си купих и един катинар на същата цена. Катинара го купих от магазин Ziko. Ето как изглежда цялата комплектовка за 9лв общо:
Верига и катинар

Верига и катинар
Допълнително веригата може да се облече в някакъв подходящ плат или мек маркуч. Може да се използва и стара вътрешна гума. Защо не и парче плат от стари дънки.

2. Стоманено въже

Избора на стоманени въжета също е голям – ръждавейка, поцикновано, облечено в ПВЦ. Диаметъра на въжетата за конкретната цел трябва да е от порядъка на 4-8mm. Цените на такива въжета са от порядъка на 1-5 лв/м. Аз си харесах 6мм стоманено въже с ПВЦ на цена от 1.7лв/м. Купих точно 3 метра за 5.1лв. Проблем представлява изработването на уши за катинар (или друг тип заключване). Може да се използват скоби за въже, но трябва да се фиксират болтовете, за да не се развъртят лесно. Може да се фиксират със специално лепило.
Друг вариант е да си сплетем краищата на въжето, точно това направих и аз. В YouTube има доста видео-уроци, които показват как се прави ухо на стоманено въже. Аз си харесах това:
https://www.youtube.com/watch?v=hGgpleP0pCk
Разплитането на подобно въже ще озори достатъчно крадецът, освен ако не реши да го среже със специален инструмент.
Ето и моят работен процес:
сплитане на стоманено въже
сплитане на стоманено въже
Изрязват се стърчащите телове на въжето, за да придобие по-приличен вид:
сплитане на стоманено въже
Малко тунинг, за да не драска боята на колелото. В случая рециклирах една найлонка, като изрязах тънки лентички, с които увих ушите на въжето:
сплитане на стоманено въже
Остава да се добави някакъв читав катинар и готово.
Подобно въже лесно може да се среже с преносима гилотина, ъглошлайф или друг подобен инструмент. Но на публично място да режеш въже на колело с ъглошлайф иска да си бая чапрашък и на това разчитаме.

Има някои прости правила, които имат шанс да откажат поне временно крадеца:

  • Не оставяйте колелото за дълго без надзор или на място, което е безлюдно
  • Избирайте места за заключване, които се наблюдават от видео-камера
  • При заключването се постарайте да използвате поне 2 различни вида заключващи механизми. Например U-образно + верига, верига + стоманено въже
  • Старайте се по възможност да обхванете повече детайли на колелото – рамката, гумите, седалката
  • Когато купувате стоманено въже или верига, гледайте да е поне 1.8m

Искрено ви пожелавам никога да не ви се случва да ви гепят колелото. Няма 100% сигурност, но повишеното внимание може да помогне.

Share and Enjoy !

Shares

Пловдив – панорамни снимки

Gallery

This gallery contains 6 photos.

Мисля да направя една хубава галерия с панорамни снимки на Пловдив. Вече се чувствам подготвен и от към софтуер, и от към техника. Няколко пъти съм пробвал, но опитите ми са били предимно с учебна цел. Изпробвах няколко софтуера, които … Continue reading

Moto G – ъпгрейд до Android Lollipop 5.0.2

Moto G - update to Android Lollipop 5.0.2
Притежавам Moto G, рутнат с CWM 6.0.47. До вчера беше с Android 4.4.4 и постоянно излизаше едно досадно съобщение, че трябва да ъпдейтна версията на Android. Пробвах по стандартния системен начин през телефона. И влязох във филм – постоянни рестартирания, викат им bootloop. При едно от рестартиранията се появи съобщение, че ъпдейта не може да бъде осъществен и така си останах с Android 4.4.4.
Естествено, като те хване крастата нямаш много опции, освен да се опиташ да си прецакаш телефона. И така мъките ми започнаха. Първо разбрах, че няма да мога да ъпдейтна по нормален начин рутнат Moto G, след това разбрах, че мога да пробвам да мина по тънката лайсна, като изтегля някой Cyanogenmod 12 за Moto G. Пробвах с cm-12-20150327-NIGHTLY-falcon.zip и направих голяма грешка. Проблема беше, че при проба за инсталиране на CM 12 ми изписа тази грешка: “this package support bootloader(s): 0x4118: this device has bootloader 0x4113.“. Това ме накара да потърся bootloader 4118. Намерих такъв и го инсталира, но не знаех нещо много важно: Motoboot не може да се даунгрейдва!. Ако някой реши да пробва, нека го има предвид. Няма значение за коя версия на андроид става въпрос. Няма даунгрейд, не съществува.
След което успях успешно да инсталирам CM 12, който въобще не пожела да се зареди. Не само това, ами и телефона започна да се държи като брикнат. Влизаше в bootloop, дори да го оставех на зарядно в контакта. Трагедия!

След това ми дойде акъла в главата и започнах да търся оригинален firmware за Moto G. Намерих такъв в този списък – Moto G – firmwares for international retail and carrier devices. В този списък имаше точно каквото ми трябваше BRASIL_XT1032_5.0.2_LXB22.46-28_cid12_CFC.xml.zip – стоков firmware за Moto G, правен за Бразилския пазар с Android Lollipop 5.0.2. Изтеглих файла, разархивирах го. След което изтеглих инструментите за рефлашване на телефона – Moto G fastboot and ADB. Разархивирах fastboot и mfastboot в директорията с бразилския Lollipop и отворих команден промпт в тази директория.
Изключих телефона (стана от 3-тия път, защото си беше почти брикнат), след което веднага задържах “Volume -” + “Power” бутоните, за да ребоотна до bootloader-а. След което свързах телефона с USB-кабел с компютъра и изпълних следните команди в същата последователност:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
mfastboot flash partition gpt.bin
mfastboot flash motoboot motoboot.img
mfastboot flash logo logo.bin
mfastboot flash boot boot.img
mfastboot flash recovery recovery.img
mfastboot flash system system.img_sparsechunk.0
mfastboot flash system system.img_sparsechunk.1
mfastboot flash system system.img_sparsechunk.2
mfastboot flash system system.img_sparsechunk.3
mfastboot flash modem NON-HLOS.bin
mfastboot erase modemst1
mfastboot erase modemst2
mfastboot flash fsg fsg.mbn
mfastboot erase cache
mfastboot erase userdata

След това рестартирах телефона и зачаках може би около 5-6 минути. И о, чудо! Появи се клавиатурата за въвеждане на PIN код. Проста да падладьейш! 🙂 След 2 дни борба отново имах работещ Moto G.
Moto G - Android Lollipop 5.0.2

Share and Enjoy !

Shares

Продуктова фотография с подръчни средства

Налагало ли ви се е да искате да снимате малък продукт, който трябва да представите в интернет, но да не разполагате с подходящо оборудване. И на мен ми се е налагало няколко пъти. Използвам много проста, аматьорска техника, изискваща оборудване, което лесно може да се намери наоколо:
– 2 бр. листове хартия A4
– ножица
– Фенерче, може и 2 фенерчета или настолна лампа
– фотоапарат или телефон с добра камера

Ако всичко това ви се намира под ръка, да започваме с експериментите.
За начало свийте единия лист на фуния и подрежете краищата му, така, че да стои вертикално. Ако е необходимо изрежете и по-голяма дупка в горната част на фунията, за се промуши обектива на фотоапарата. След това нагласете фенерчетата да осветяват фунията отстрани. Ето как изглежда моя подръчен стенд:
Продуктова фотография с подръчни средства
При свиването на фунията в единия и край се образува естествен отвор. Ако е малък може да се изреже и по-голям. През този отвор ще снимаме продуктите под ъгул, а през отвора горе ще снимаме продукта от горе:
Продуктова фотография - сниман обект през дупка
Продуктова фотография - снимане на продукта през дупка

След като направим няколко снимки е донбре да имаме софтуер, може и безплатен, като FastStone с който да изрежем излишната част от снимката и да направим леки корекции, ако се налагат:
SAM_0820
Ето и още няколко експеримента, които направих с по-горния стенд с подръчни средства:
SAM_0811

SAM_0807

SAM_0800

И както обикновено, пак си пийваме биричка, щото от фотографиране-мотографиране много се ожаднява.

Share and Enjoy !

Shares

Скоростно учене на думи на чужд език (английски) – метод за Android и компютър

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

  • aShan Trainer – Android приложение за създаване и трениране на чужди думи
  • MS Excel (или друг редактор на таблици)
  • Interlex – програма за създаване и трениране на списъци с чужди думи
  • Notepad2 (или друг редактор, поддържащ регулярни изрази)

Създаване на собствен списък с думи
За мен е най-удобно, да създавам списъци с думи в Excel. В един файл и различни шийтове мога да съхранявам различни по сферата на приложение думи. Например списък с думи свързани с: хранене, пътуване, инженеринг, програмиране и т.н.. Ето как изглежда примерен списък с думи в Excel:
Excel - списък с чужди думи
В случая ще кръстя моя файл “trudni_dumi.txt“. Списъка с трудните думи, които искам да науча, може да се редактира, допълва, експортира до други формати, за да се използва в речници. Точно това ми е и целта, да мога да експортирам този списък и да го използвам в програми за PC или мобилни устройства. В случая искам да експортирам моя списък в удобен за ползване формат за програмата Interlex и за приложението за Android устройства aShan.
Съхранявам списъка като текстов файл в който отделните клетки са разделени от табулация. За целта в Excel избирам Save As -> Text (Tab delimited):
Excel_save_as
След като вече сме създали текстовия файл, можем да го отворим с текстовия редактор Notepad2 и да го редактираме, според нуждите ни.
Notepad2 - отваряне на файла
Повечето програми за изучаване на чужди езици са с дефолтна поддръжка на юникод стандарта. Това означава, че трябва да конвертираме нашия експортнат файл в UTF8-стандарт. Правим го като кликнем 2 пъти на етикета ANSI в долната част на Notepad2, изберем UTF8 и потвърдим избора:
Notepad2 convert text to UTF8 - конвертиране до юникод
След тази операция вече можем да сме сугирни, че няма да се получат маймунски символи в програмите с които ще работим, просто натискаке Save, за да запазим файла.

Импортиране на собствен речник с думи в Interlex
Сега да видим, как можем да набутаме нашия речник с “трудни думи”, които трябва да научим в програмата Interlex. Отваряме програмата и избираме създаване на нов файл-речник File -> New…:
Interlex - Create New dictionary
Задаваме настройките на чуждия и родния език. В случая избираме английски и български:
Interlex - Select Language
Следва инпортирането на нашия текстов файл с трудни думи – File -> Import…:
Interlex - Import text file
Ще се отвори модален прозорец, който ни подканва, да изберем файла. В случая трябва да се избере формата на файла *.txt:
Intrl_004
Следват настройките, които да кажат на Interlex, как да използва този файл. Казваме му, че имаме само две колони – чужда дума и преведена дума:
Interlex - dictionary settings
Потвърждаваме и готово! Вече имаме речник с който да тренираме.
Interlex - custom dictionary
В този момент е добра идея да го запазим във формата на Interlex, за да можем бързо да го отворим и да потренираме, за това File -> Save As….
Тренировките се правят с тези бутони. Необходими е една минута, за да разберете какво прави всеки един бутон.
Interlex - трненинг панел

Импортиране на собствен речник с думи в aShan
Сега ще направим същата операция но за aShan. Лично за мен е по-удобно да уча думите от телефона. По-бързо става, а и телефона винаги ми е под ръка.
За да можем да използваме речника с трудните думи в aShan, трябва отново да обработим текстовия файл с Notepad2. Използвам този редактор, защото е малък, но пък поддържа регулярни изрази – това са магически заклинания на древен език, които правят страшни магарии с текстовете.
Отваряме файла trudni_dumi.txt в Notepad2 и натискаме клавишната комбинация Ctrl+H. Ще ни се отвори по-долния прозорец за търсене и замяна на стрингове в текста. Трябва да попълним двете текстови полета и сложим тикче, че ще използваме Regular expression search (търсене с регулярни изрази):
Notepad2 - Regular expressions
Използвам следните параметри за регулярния израз:
Search String: ^(.*)\t(.*)$
Replace String: $en \1 $bg \2
След натискането на бутона Replace All всички редове ще бъдат променени в следния формат, който използва aShan:
$en английска_дума $bg български_превод
Следва малка но много важна подоробност. В началото на файла трябва да се добави един ред, който дава важна информация на aShan:
#@ $en $bg
np2_003
След това трябва да запишем файла с разширението sdc, което използва aShan:
np2_004
Файла е готов. Сега трябва да го качим на мобилното устройство (телефона). Това можем да направим с кабел или, ако използвате рутер, можете да си пуснете FTP-сървар на телефона. На мен лично ми е супер удобно да прехвърлям файлове от компютъра на телефона и обратно с ES File Explorer. Това приложение има много удобнен инструмент – Remote Manager – който създава FTP сървар на телефона.
Файла trudni_dumi.sdc трябва да се качи в директорията aShanData:
FTP ashandata
След като сме качили собствения речник, нека да го заредим в aShan. Стартираме приложението и избираме Start Multiple Choice Quiz:
aShan - Start Multiple Choice Quiz
Избираме файла trudni_dumi.sdc:
Screenshot_2015-03-15-11-58-03_tn
Избираме езика, който да тренираме:
Screenshot_2015-03-15-11-58-18_tn
И започваме тренировките:
Screenshot_2015-03-15-11-58-36_tn
Това е! Вече докато пътуваме или си чакаме биричката, можем да понаучим някоя друга дума.

Share and Enjoy !

Shares

Laravel – root dir post-request

Има един досаден бъг в Laravel 4.2. Не иска да обработва post-заявка, насочена към root-адреса. Говоря за това:

1
2
3
Route::post('/',function(){
 // ...
});

В такива случаи Laravel сеправи на чук и просто рефрешва страницата.
Открих 2 трики-метода за заобикаляне на бъг-а:
1. Поставя се шпация, ако формата е насочена към текущата страница:

1
{{Form::open(array('url'=>' ','method'=>'post'))}}

2. Пишем точно към кой адрес е насочена формата:

1
{{Form::open(array('url'=>'/index.php','method'=>'post'))}}

Share and Enjoy !

Shares

Извличане на цветове от картинка с php

Имам една идея за автоматична смяна на цветната схема на Bootstrap-базиран сайт. За целта ми трябва просто извличане на цветовете от картинка с php-скрипт.
За базови цветове създавам проста картинка с квадратчета, като тази:
php extract color from image
За да извлека цветовете от отделните квадратчета използвам php-функцията imagecolorat, която взима цвета на пиксел при зададени кооординати. Координатната система е нулирана в горния ляв ъгъл:
imagecolorat - coordinates
Примерен скрипт в който използвам извличане цвета на пиксел, който се намира горе-долу по средата на всеки правоъгълник:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
<?php
// $rgb е array
function rgb2hex($rgb) {
   $hex = "#";
   $hex .= str_pad(dechex($rgb[0]), 2, "0", STR_PAD_LEFT);
   $hex .= str_pad(dechex($rgb[1]), 2, "0", STR_PAD_LEFT);
   $hex .= str_pad(dechex($rgb[2]), 2, "0", STR_PAD_LEFT);
 
   return $hex;
}
 
function get_color_from_pixel($img, $x, $y){
    $im = imagecreatefrompng($img);
    $rgb = imagecolorat($im, $x, $y);
    $r = ($rgb >> 16) & 0xFF;
    $g = ($rgb >> 8) & 0xFF;
    $b = $rgb & 0xFF;
 
    return rgb2hex(array($r, $g, $b));
}
 
// ===================================================
// EXAMPLE
 
$image = "image.png";
$y = 24;
$x_ar = array(33, 103, 177, 244, 315, 385, 454, 526, 593);
 
foreach ($x_ar as $x) {
    $colors[] = get_color_from_pixel($image, $x, $y);
}
print_r($colors);
?>

Резултат:

1
2
3
4
5
6
7
8
9
10
11
12
Array
(
    [0] => #36261c
    [1] => #d5c187
    [2] => #6ecddf
    [3] => #827b3a
    [4] => #2a7d94
    [5] => #9db079
    [6] => #82796d
    [7] => #a7c6da
    [8] => #d54c06
)

Изтегляне на скрипта и картинката: PHP-get_colors_from_image.zip

Share and Enjoy !

Shares