софтуер


Здравен калкулатор – определете BMI, WHtR, BMR

Качих първото си приложениице в андроид маркета, пардон Google play – HealthCalc.

Изисква сравнително нова версия на андроид, което значително стеснява целевата група, но пък ползва удобни контроли за въвеждане на параметрите, а не като останалите трилион подобни, които имат три edit полета.
Рових доста, за да намеря най-убедително звучащите, взимащите най-много параметри и най-съвременни формули за изчисляването на
* BMI (Индекс на телесна маса)
* WHtR (Отношение Талия-Тегло)
* Метаболитен индекс и необходими калории на ден
* Максимален дневен прием на въглехидрати според изискванията на ниско- въглехидратната диета (НВД)
* Препоръчителен дневен прием на белтъци
* Желани нива на пулс при трениране
* Идеално тегло
* Препоръчителна дневна доза кофеин
* Препоръчителна дневна доза витамини и минерали
За да е по-удобно, приложението изчислява също така идеалната талия и препоръчителния дневен прием на калории, ако искате да запазите теглото си (или по-малко, ако искате да отслабнете). При изчисленията се вземат предвид вашия пол, възраст и ниво на физическа активност.
Ако имате устройство с версия на Андроид 3 или повече, можете да го свалите оттук.


Nexus 7 или iPad mini 4

От известно време се каня да си взимам таблет, защото искам понякога да ходя на работа с него вместо с 3 кг. лаптоп и защото когато пътувам е неудобно да ровя в интернет от телефона (прекалено малък екран). Взех да тествам един iPad 4 и установих, че има много игри, които вървят на таблети и това е още една причина за желанието ми за таблет.
След мислене и четене стигнах до извода, че искам 7 инчов таблет, на който да може да се играят игри и да се четат уеб-страници. Алтернативите според мен са или iPad mini или Nexus 7.

iPad mini
(+) По-лек от Nexus-а
(+) С екран с пропорции на големия iPad, което означава перфектно четене на страници без zoom in/zoom out.
(+/-) С по-малко RAM и по-слаб процесор, но от всички ревюта се вижда, че като производителност е поне толкова добър, колкото Nexus-a – евалата Apple!
(+) Здрав, алуминиев корпус
(-) Ужасно заключен, всичко трябва да става трудно, освен ако не е свързано с покупка от iTunes.
(+) Jailbreak-ва се лесно, качват се неоторизирани приложения, може дори и кракнати платени да са качват, но въпреки това качването и гледането на филми например е досадно (особено когато имаш компютър с Линукс, а не с Windows или MacOSX)
(+) Има две камери и ще работят приложения за augmented reality, което мен ме вълнува.
(-) Няма GPS, което е тъпо, не не е фатално за мен.
(+/-) Екранът не е Retina, но е с хубави цветове и изобщо не ме дразни, че не е с чудовищна резолюция
(-) Струва не малко пари за 16 GB версия, която не съм сигурен, че ще ми стига, а 32 GB е неприлично скъпа – около 900 лева.
(+/-) OS-а е странен, но работи добре. Не мога да осмисля кога едно приложение е затворено и кога просто “минимизирано”. Идвайки от десктоп парадигмата, това за мен е наистина объркващо.
(+) Доста приложения са оптимизирани/написани за iPad, а не за iPhone

Nexus 7
(-) Е по-тежък с 40 грама, въпреки че е с по-малък екран
Екранът е:
(+/-) С по-висока резолюция от iPad mini, но всички казват, че е със смотани ненаситени цветове.
(-)16:9, което го прави неудобен за четене на нормалните версии на уеб-страниците
(-) Некачествен, в американския амазон има много оплаквания от отлепяне на екрана, мъртви пиксели, неработещи жакове
(+) Има GPS
(-) На американския амазон се оплакват, че често просто спира и повече не тръгва 😀
(-) Няма задна камера, което го прави неизползваем за augmented reality приложения
(+) Качването на файлове би трябвало да е по-лесно, отколкото на iPad mini
(+) Цената на 32 GB версия е 510 лева
(+) Има NFC, макар че не е ясно за какво бих го ползвал
(+/-) ОС-а е неинтуитивен и смотан, но доста по-гъвкав от епълската. Може да се jailbreak-ва и до колкото разбирам пак може да се качват “кракнати” приложения.
() Доста приложения не са оптимизирани/написани за таблет (или не се възползват от ресурсите на nexus-a), а за android телефон, включително игрите

Update:
Вчера след като написах това отидох с приятел в магазин Plesio, за да видя още веднъж наживо двете устройства. Приятелят ми ме убеждаваше колко е хубав Android и как негов приятел имал Nexus-а и бил доволен, как iPad-ът като е толкова заключен изобщо няма смисъл да се обмисля и т.н. Аз пък в отговор му разказвах за прочетените от мен оплаквания от качеството на Nexus-а и в общи линии всеки си държеше на своето. Когато обаче влязохме в магазина и пипнахме Nexus-а каква беше изненадата ни, когато той работеше трагично зле. От четири пъти веднъж прихващаше натискане на екрана, беше ужасно бавен и като цяло изглеждаше полу-умрял. До него iPad-ът работеше перфектно. Толкова за качеството на Nexus-a. Коментирахме след това за свързването на таблетите с компютър и прехвърлянето на файлове. Отново аргументите бяха, че с Android виждаш вързан с USB кабел таблет или телефон като нормална флашка (Mass storage device), докато iPad-ът е заключен и трябва всичко да правиш през глупавия iTunes и как през него можеш да прехвърляш само музика, филми и снимки и нищо друго.
Затова днес продължих да чета как мога да свържа iPad с компютър. Вече бях пробвал netatalk, но това е бавен метод и изисква Mac компютър (в смисъл само с Mac го бях пробвал). Днес реших да пробвам с моя убунту лаптоп. ИНсталирах netatalk на компютъра си, но освен че почнах да виждам iPad-а в мрежата, така и не успях да го свържа. В крайна сметка установих, че целта на качването на netatalk е apple устройство да вижда ubuntu-то, а не обратното (което е моята цел).
Пробвах също така и със Samba, но уви – изобщо нямах успех. И тъкмо се бях отчаял, че единствения начин ще бъде ssh, което за съжаление е доста бавно (200-300 KB/sec), когато попаднах на приблизително следното изречение в някакъв tutorial:
Искате да вържете вашето ubuntu с iPad? Просто го вържете с кабела 😀
И след всичкото пробване на netatalk, samba, ssh и т.н., които всичките изискват jailbreak-нат iPad, накрая се оказа, че под Линукс (и само под Линукс, това не работи нито под Windows нито под MacOSX) свързването се изразява просто в ръгането на един кабел.
Nautilus(файловият мениджър в GNOME) го открива и позволява четенето и писането на всякакви файлове навсякъде из системата. И принципно дори не изисква jailbreak. Макар че предполагам за файловете, за които се иска root достъп на таблета ще трябва да е jailbreak-нат.
Та така, след тази новина и уверяването ми, че на iPad mini работят гладко всички игри за iPad, точно толкова добре колкото и на новия iPad 4, стигнах до извода, че просто ще си взема един iPad mini, за да имам качествено Unix-подобно устройство, на което след jailbreak ще имам конзола, ssh, и ще мога да прехвърлям всякакви файлове, включително видео, което ще гледам с VLC за iPad.

Update 2:
iPad mini излезе преди няколко месеца и е с новата iOS 6. За нея все още няма jailbreak, така че докато не излезе, iPad mini е полезен до толкова доколкото е полезен в заключения си вид.


Просветление 2 в 1 – SOPA(ACTA) и cloud

Тази новина е наистина просветляваща, защото илюстрира добре два различни проблема, които имат общото свойство, че повечето хора ги смятат за назначителни.
Първият проблем е с международната вълна на законодателни инициативи за строг контрол и цензура на Интернет – SOPA и PIPA в САЩ и ACTA по света.
Вторият проблем е с така наречените cloud услуги, които както посочват някой читатели в коментарите на новината в /., по-скоро трябва да се казва лоботомия, а не cloud, защото е тотална глупост. Защо ли? Ами защото идеята е да се даде контрол на критични елементи от уеб-присъствието и от вътрешната IT инфраструктура на външна компания и да си плащаш за това.
Та ето я и новината:
JotForm.com Gets Shut Down SOPA-Style
Накратко – компания за уеб-форми бива изключена от мрежата (конфискуван е домейна), защото някой от потребителите й използвал услугата с лоши цели (африканските банкови измами). Резултат
за фирмата – бизнесът им умира, защото някой ги обвинил в нещо, без съд и присъда
за клиентите – изведнъж нещо, на което разчитат за своя бизнес не работи, защото те са го възложили на външна фирма, която е обвинена от трета страна.


Борбата е безмилостно жестока 1

Хората, с които общувам често ме смятат за “краен” или прекалено песимистичен/притеснен/whatever. И в крайна сметка те представляват добре разбиранията на широката общественост. Затова съм приятно изненадан, че ACTA, за която чета от много време, но не намирам смисъл да говоря с почти никой, е предизвикала дискусия в милата ни татковина. За съжаление то е някак малко след дъжд – качулка, защото нашите далновидни управници вече подписаха споразумението без обществен дебат и без много шум, който се появи в последствие. Но по-добре късно, отколкото никога.
И все пак, за какво става въпрос?
Официално ACTA(Anti-Counterfeiting Trade Agreement) е търговско споразумение за борба с фалшиви стоки. Нали се сещате – iFone, Nikke, Adibas, Moka Mola, т.н.
Споразумението включва 39 държави, включително 27 от ЕС, както и страната на свободните и смелите – САЩ, Япония и др.
ACTA заобикаля демократичния процес (парламент и международни организации) и иска да наложи репресивни мерки, ощастливяващи развлекателната индустрия. Най-“хубавото” в нея е, че споразумението се обсъжда от три години, но в тайна.
Накратко, тя налага идеите на SOPA и PIPA в световен мащаб, като изисква криминални санкции, принуждаващи участващите в Интернет да следят и цензурират онлайн комуникациите. Защо такава дума “участващи”? Ами защото става въпрос наистина за всички, които правят възможно като отворите лаптопа вкъщи да видите фацебуцето и снимки на бебето на съученичката и видео в youtube с нещо друго си. Това включва ISP, така и сайтове и въобще услуги в нета.
ACTA представлява заплаха за свободата на словото онлайн и създава правна несигурност за Интернет компаниите. И за да се спазват търговски марки и патенти, ще повлия отрицателно и върху достъпността на лекарства в бедните държави.

Още не сте убедени, че това има нещо общо с вас?
Добре тогава, ето по-подробно:

  • ACTA ще предотврати ЕС и държавите-членки, както и всички останали подписали, да променят техните закони свързани с патентите и правото на копиране и евентуално да оправят бруталните мерки, които прилагат срещу всички, които споделят.
  • Q. Кво ме ебе това?
    A. Нищо няма да пречи и тук да се предложат мерки, каквито вече има във Франция например – три удара и си вън. Тоест ако три пъти те хванат или си мислят че са те хванали (което не изисква усилия, прави се автоматично от някой компютър) да споделяш нещо нета, ти изключват интернета. Ако пък имаш wireless и ползваш примерно WEP или WPA-1 на рутера ти, всяко съседско дете ще може да натопи теб, като сваля от замундата.

  • ACTA позволява на развлекателната индустрия да упражнява натиск върху всеки участник в Интернет чрез заплаха за криминални санкции. Посредниците ще са задължени за тяхна сметка да използват автоматично блокирани и филтриране на комуникациите и изтриване на съдържание.
  • Q. Кво ме ебе това?
    A. Ще могат както и в САЩ да изнудват крайни клиенти и компании-участници да платят компенсации извън съда или да ходят на скъпи дела. Няма да може да копи-пействаш никакви неща в фейсбука, туитъра и т.н., защото както и сега в youtube автоматично ще бъдат изтривани. Няма да можеш да качваш клипче с happy birthday за рождения ти ден или тоя на гаджето ти или на когото и да било, щото ще бъде изтривано автоматично – песничката happy birthday е създадена преди 120 години, но още има авторски права върху нея.

  • ACTA призивова за “коопериране” между притежателите на права и доставчиците, което европейската комисия кръщава “алтернатива на съда”. Това означава, че работата на полицията (разследване и събиране на доказателства) и на съда (наказания) ще бъде прехвърлена в частния сектор, заобикаляйки извоюваните последните три хиляди години права за честен съд, презумпция за невинност и прочие.
  • Q. Кво ме ебе това?
    A. Нямаш на кого да се оплачеш, ако смяташ, че си несправедливо обвинен. Ще трябва да доказваш на твоя сметка, че си невинен. Досега те гърбеха само ако имаш бизнес и пречиш на някой с връзки. Пращат качулките, изземват компютри, убиват ти бизнеса. Сега ще е толкова лесно и евтино, че ще могат да ти режат услуги, трият съдържание, без да трябва да те съдат, без да трябва да си достатъчно голям, че да пращат качулките.

    Q. Добре, и кво да направя?
    A. В събота има протест, в тъпия фейсбук се организира група за това, бъди там, кажи на приятели.

    Забележка 1: Тъй като третирам фейсбук като заразен нано-вирус, не го отварям на моя компютър, не съм проверявал къде води линка, ако води към goatse порно, не съм виновен аз.
    Забележка 2: Ако не можете да разпознаете робота от флаера, това е защото не сте гледали скоро Робокоп, един много хубав филм за алчността на корпорациите. Можете да си го преговорите. А, за робота – това е ED-209

    Ето и връзка към доста по-хубаво обяснение за ACTA.


    MS постъпват като скапани боклуци (отново)

    Опасенията, които се появиха преди време, че от Microsoft могат да злоупотребят с UEFI Secure Boot се оправдаха.

    MS съветва производителите на ARM софтуер да забранят изключването на UEFI Secure Boot за Windows 8.

    Миналата година от MS разкриха, че Windows 8 ще изисква ’Secure boot’ за да стартира. UEFI стандартатът съществува от няколко години. Той работи чрез държане на тайни ключове в самата система. Те се използват, за да подписват всичко, което иска да се изпълни на системата – например ОС. Ако дадена ОС не е подписана със съответния ключ, няма да й бъде разрешено да се изпълни.

    Линукс общонстта се опасяваше, че ще е трудно хардуерните производители да бъдат убедени да предоставят ключове за Линукс, което на практика означава, че хардуерът, предназначен за Windows 8 на практика ще е недостъпен за Линукс. Освен ако не jailbreak-ваме компютрите както правим с телефони и игрови конзоли.

    Тогава много хора се присмиваха, че страховете са неоправдани, а от MS обясняваха, че няма да има никакъв проблем и няма да изискват от производителите на хардуер да забранята изключването на Secure Boot.

    Но сега се оказва, че това важало само за традиционните PC-та, а не за устройствата с ARM.

    “Изключването на сигурно стартиране НЕ ТРЯБВА да е възможно на ARM системи”
    От ComputerWorldUK са разгледали документацията на Microsoft и в ръководството й към производителите на хардуер, които искат да получат сертификат за Windows 8 открили много интересно нещо.

    Задължително: Включване/Изключване на Secure Boot.

    На не-ARM системи е задължително да се реализира възможността да изключване на Secure Boot чрез настройка на фърмуера. Потребител с физически достъп до устройството трябва да е в състояние да изключи Secure Boot чрез настройка на фърмуера без да притежава Pkpriv. Софтуерното изключване на Secure Boot по време на boot-а и след това НЕ ТРЯБВА да е възможно.

    Изключването на Secure boot НЕ ТРЯБВА да е възможно на ARM системи.

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


    Автоматично сваляне на POI-та за забележителности

    Хората, които ме познават лично знаят, че последните години пътувам в чужбина като турист. Когато отивам в нов град, за да зная какво забележителности има за гледане, проверявам английската уикипедия за този град и после хвърлям и един поглед на wikitravel. Но в общи линии основната ми процедура е да отворя статията в уикипедия и да нащракам всички връзки в нея, които не са за понятия, а за обекти. Повечето от тях са геотагнати и след като прочета малко за тях и реша дали ми харесват си записвам координатите им и после ги въвеждам в телефона ми като POI-та. Което е ужасно бавно и досадно, а и за съжаление не е унифициран формата на координатите и съществуват статии с различен формат, което налага да превключвам формата в настройките на програмата ми (Mappero), което е още по-досадно. Отдавна се каня да напиша някакъв код, който да ми автоматизира процеса и вчера най-накрая се наканих. Написаната програмка/скрипт/апликейшън/солюшън 😀 е на python и е пробвана под Линукс.
    Тя прави следното:

  • пуска заявка към geonames за името на града, получен като единствен параметър от командния ред и по този начин получава координатите
  • получените координати пуска като заявка към XML API на wikilocation. От там получава всички статии в радиус от 5 километра то центъра на града.
  • Обхожда XML файла и генерира файл с име poi.gpx, в който има се съдържат всички статии като точки с техните координати, с име името на статията и с описание хипервръзката към статията в уикипедия.

    Файлът poi.gpx директно се внася в mappero.
    Кодът е даден по-долу:
    from lxml import etree
    from os.path import basename
    from urlparse import urlsplit
    import urllib2
    import sys

    def url2name(url):
    return basename(urlsplit(url)[2])

    def download(url, localFileName = None):
    localName = url2name(url)
    req = urllib2.Request(url)
    r = urllib2.urlopen(req)
    f = open(localFileName, 'wb')
    f.write(r.read())
    f.close()

    city_str=sys.argv[1]
    download("http://api.geonames.org/search?q="+city_str+"&maxRows=1&fuzzy=0.8&username=XXXXXXXXXX", "./geoname")
    city = etree.parse("geoname")
    element = city.getroot()
    city_lat =city.find("geoname/lat")
    city_lon =city.find("geoname/lng")
    download("http://api.wikilocation.org/articles?lat="+city_lat.text+"&lng="+city_lon.text+"&limit=50&radius=5000&format=xml", "articles")
    context = etree.iterparse("articles")
    article_dict = {}
    articles = []

    for action, elem in context:
    if not elem.text:
    text = "None"
    else:
    text = elem.text
    article_dict[elem.tag] = text
    if elem.tag == "article":
    articles.append(article_dict)
    article_dict = {}

    f = open('poi.gpx', 'w')
    f.write("")
    f.write("")
    for a in articles:
    f.write(" ")
    f.write(""+a["title"].encode('utf8')+"")
    f.write(""+a["url"].encode('utf8')+"")
    f.write("")

    f.write("")
    f.close()


    Забележка:
    Трябва ви потребитеско име, за да използвате API-тата на geonames. В кода трабва да смените XXXXXXXXXX с вашето потребителско име.


    Филтърен мехур?

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

    The Filter Bubblehttp://www.thefilterbubble.com/ted-talkEvery year, thousands of entrepreneurs, change-makers, innovators and scientists gather in Long Beach, California for TED, the world’s leading thought conference. In 2011,…

    Аз също съм се замислял по темата, макар да не съм задълбавал. Но като човек, който е почти венозно свързан към голям поток от онлайн информация, съм обмислял идеята за интелигентни филтри/агенти. И ми е минавало през главата, че наличието им може да изкриви представата ми за света, защото ще филтрирам неща, които не харесвам или не зная, че съществуват. Та видеото си заслужава и е само 9 минути.


    Nokia

    Не коментирах, въпреки че доста ме вълнува, превземането на Nokia от Microsoft. Но мисля всичко може да се обобщи от следните две картинки:
    Nokia stocks after Elop on Twitpic


    Малко по-близо до фейсбук 1

    Трябваше да бъде съвсем тривиално. Просто да инсталирам един плъгин и да имам възможност за добавяне на връзки за споделяне, които да приличат на споделянето на връзки във facebook.
    Оказа се, че не работи и дава една такава грешка че не може да покаже грешката… Слава богу разработчикът на плъгина беше отзивчив и след няколко разменени съобщение установихме, че ми липсва CURL за PHP5. Няколко дни се канех да пиша на

    Хостинг и домейни от Хост.бг. Hosting and Domain names from Host.bg

    Хостинг и домейни от Хост.бг. Hosting and Domain names from Host.bghttp://host.bg5 000 MB пространство 50 GB трафик 50 x 500 MB Е-mail кутии 1 Add-on домейн Email Anti Virus / Spam PHP, Perl и MySQL Ежедневен backup SSH Достъп

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