началоstart ~ софтуерът-и-азsoftware-and-i ~ биографияcv/resume ~ библиотекаlibrary ~ снимкиphotos ~ детскиkids' ~     български/.bg     english

софтуер от свилен добрев | software by svilen dobrev

software by me софтуер от мен

left to be free. use it.. as you can. and dont hurt it.

оставен на свобода. ползвай го... както можеш. и не го наранявай.


github

  • Notionery Понятийник

    cool and rather far-fetched idea... Notionery: system that helps you do "routine" things like remembering, learning and expressing yourself, in your terms and about your known things (subjects, themes, domains, people,.. whatever you have idea/notion of).

    яка и доста далечна идея... Понятийник: Система която ти помага да правиш "рутинни" неща като запомняне, научаване и себеизразяване, на твоя си език, относно познатите ти неща (предмети, теми, области, хора,.. за каквото имаш идея/понятие).


  • sklad склад

    tiny python.wsgi file-uploader for www server - multiple (HTML5) or single selections, progress-per-file, unlimited size (does not store anything in memory)

    мъничка качвачка на файлове на питон/wsgi за www-сървър - множествен (HTML5) или единичен избор, напредък-по-файлове, неограничени размери (не държи нищо в паметта)


  • fuselage фюзелаж

    tag-based semantic file system, in python, over FUSE. Pluggable aspects (parsing or interpretting). Querying and relations between tags/items. Modular architecture, allows different user-ends (fs/webdav/http/..), or backends (sql/rdf/..)

    етикетна семантична файлова система, на питон, върху FUSE. Добавяеми аспекти (за превод или употреба). Запитвания и взаимовръзки между етикетите и нещата. Модулна архитектура, позволяваща различни накрайници към потребителя или към системата.


  • facer / фасон ~2010

    tiny language for interface/protocol declaring and describing, in python. Methods - signature, inheritance, specialization; argument and result types, cardinality and optionality. Generates documentation. Easy cloning by interpreting over different set of types/arguments. All kind of checks are possible but are not automatic - only if called. Similar to static_type below but with different intentions - for (www) APIs.

    малък език за обявяване и описание на протоколи/интерфейси, на питон. Методи - сигнатура, наследяване, специализация; аргументи и резултати - тип, размерност, не-задължителност. Генерира документация. Лесно размножаване чрез прилагане върху друго множество от типове/аргументи. Всякакви проверки са налични но не са автоматични - само ако се извикат. Прилича на static_type по-долу, но с други намерения - за (www) програмни интерфейси.

    class IO_account( IO_base):
        class Types( Types):
            email       = Types.text
            name        = Types.user_text
            provider    = Types.enum( 'facebook linkedin email'.split(), type= str )
            r_account_profile = Types.text_stream
        MTypes = MTypes( Types) #autonaming-wrapper
    
        account_create= Method(
                email       = optional( MTypes.email),
                first_name  = optional( MTypes.name),
                provider    = MTypes.provider,
                ).doc( 'creates an inactive account and sends a token to email for confirmation')
        account_get     = MethodAuth(
                ).returns( MTypes.r_account_profile
                ).doc( 'returns account data')
    
        

  • smok / смок ~2011

    Translated Python 3: replacing the english words ( operators, names and messages - if,else,for,..) with another language - e.g. bulgarian (ако,иначе,за). For kids, and people who want to think and write in their own language, instead of suffer with the alternatives - near-"english", transliteration into latin, mixed latin-cyrilic.

    Преведен Питон 3: замества английските думи (оператори, имена и съобщения - if,else,for,..) с друг език - напр. български (ако,иначе,за). За деца, и хора които искат да мислят и пишат на собствения си език - вместо да се мъчат с алтернативите - почти-"английски", български на латиница или смес от кирилица и латиница.

    клас Филминфо( Инфо):      #изцяло преведено / fully translated
        @класметод
        деф сглоби_име( кл, име ):
            имена = [ име ]
            ако   име.завършва('.bg'): имена.допълни( име[:-3])
            инако име.завършва('.ru'): имена.допълни( име[:-3])
            иначе: имена.допълни( име)
            върни Инфо.сглоби_име( *имена)
    
    class Filminfo( Info):     #изцяло на английски / fully in english
        @classmethod
        def make_name( kl, name):
            names = [ name]
            if name.endswith('.bg'): names.append( ime[:-3])
            elif name.endswith('.ru'): names.append( име[:-3])
            else: names.append( ime)
            return Info.make_name( *names)
        

  • reporter / репортер ~2007
      declarative language for describing a report - and executing it:
    • input params and data extraction
    • data processing - filtering, calculations, aggregation/grouping/ordering
    • output layout into various looks (like MVC) - plaintext, wxwin/ printpreview, pdf/reportlab, html, excel, ...
    • the modelling is discrete, that is the atomary item is a field. Then fields can be grouped into various report-metamodels, depending on structural flexibility: bunch-of-fields - free form ; rows-of-fields - list of things ; table - rows of (same) columns (tabular data) ; cross-cut cols/rows (variable number rows * variable number columns) ;
    • there is inheritance in several aspects - structure, fields, processing, layout - a well as containment (field can be a sub-report)
      декларативен език за описание на справки - и изпълнението им:
    • входящи параметри и извличане на данните
    • обработка на данните - филтриране, изчисления, агрегиране/групиране/подреждане
    • оформление на изхода в разни изгледи (като МИК/MVC) - прост-текст, wxwin/ printpreview, pdf/reportlab, html, excel, ...
    • моделирането е дискретно, т.е. атомарния елемент е поле. Полетата може да се групират в разни мета-модели, според структурната гъвкавост: набор-полета - свободна форма ; редове-от-полета - списък неща ; таблица - редове от (еднакви) колони (таблични данни) ; кръстосани редове/колони (променлив брой редове * променлив брой колони) ;
    • има наследяване в няколко посоки - структура, полета, обработка, оформление - както и съдържане (поле може да е под-справка)
    class SprPeople( SprDef):
        class MyRow( Row):
            _set_ = FieldContainer(
                name   = FldDef( type= Text, model= 'name.name',
                            view= FldView( label= 'Name', align= 'l', border= 'r')),
                age    = FldDef( type= Int, model= 'ageyears',
                            view= FldView( label= 'Age', align= 'r', border= 'r')),
                city   = FldDef( type= Text, model= 'address.city'),
                suburb = FldDef( type= Text, model= 'address.suburb'), )
            _calc_ = FieldContainer(
                address = FldDef( type=Text,
                            data= lambda r: r.city +' '+ r.suburb),
                            view= FldView( label='Addresse', align='l', border='r')), )
        

  • dbcook / бд-готвач ~2007

    language to describe "recipes" for persistency of group of python classes, within their declarations. Independent of the database, hides it as much as technicaly possible - so same recipe and queries can be rendered into SQL/Alchemy (working), or others - RDFalchemy or google-datastore (todo). For big class-hierarchies. Has bitemporal extension, aggregations, polymorphic associations (for multiple inheritance), source-code-generator, etc. Even the query filters can be represented as python expressions..

    език за описание на "рецепти" за представяне на набор от питонски класове в база данни, като част от декларацията им. Не зависи от базата, и я скрива колкото е технически възможно - така че една и съща рецепта и заявки може да се претворят в SQL/Alchemy (работи), или в друго - RDFalchemy или google-базата (някога). За големи йерархии от класове. Има разширения за двувремеви данни, агрегиращи колони, полиморфни асоциации (за множествено наследяване), генератор на код, и т.н. Даже заявките може да се представят чрез питонски изрази..

    class Employee( Base):
        name    = Text()
        age     = Int()
        manager = Reference( 'Employee')    #single
        dept    = Association.Link( 'Dept', attr= 'people', nullable= True)     #many
        @classmethod
        def all_a25( kls):
            return kls.query( lambda me: me.manager.name.starswith( 'a') | me.age == 25 )
        

  • static_type ~2003-2006

    staticaly typed attributes and structures in python

    статични типове - атрибути и структури - в питон


  • timed / овременен ~2007

    bitemporal objects engine in python, with or without dbcook; look forward to history-enabled attributes

    машина за дву-времеви обекти на питон, с или без dbcook; очаквайте атрибути с история


  • SQLAlchemyAggregator ~2006

    automatic aggregating columns in SQLAlchemy / python

    автоматични агрегиращи колони в SQLAlchemy / питон


  • demo-kiosk: gtkmoz+python - source + description демо-киоск: gtkmoz+python - код + описание ~2008

    i made this in 2 days as prototype for a bid for an info-kiosk inside some shop. The requirements were a) to choose/sort from number of pre-classified categories (country, price, ..), and show some info-page for the choosen product, with number of linked reviews/pages; b) use a bar-code reader to choose the product. The demo (500 lines) does all screens and user interaction less barcode-scanning and data-access. There's builtin mozilla widget for the browsing part. My goal was the lightest possible thing, for any machine. Uses only pygtk, kiwi, pygtkmoz, gtkmoz.

    Това го направих за 2 дни като прототип по един търг за информационна будка (киоск) в магазин. Изискванията бяха а) да се търси/подрежда по предварително класифицирани категории (държава, цена, ..), и да се показва някаква страница за избрания продукт, с няколко свързани страници / прегледи за него; б) да има баркод четец, който да се ползва за избора. Това демо (500 реда) прави всичко по екраните и взаимодействието с потребителя освен четенето на баркод и достъпа до данните. Има вградена мозила за разглеждането на страници. Целта ми бе най-лекото възможно нещо, за произволна машина. Ползват се само pygtk, kiwi, pygtkmoz, gtkmoz.


  • svd_util ~2000-2012

    useful python utilities (modules, classes, funcs, languages/frameworks, ..) made over the years

    полезни питонски неща (модули, класове, функции, езици/структури, ..) правени през годините

    • optz : simple !! options-getter (wrapping optparse or else)
    • attr.py : additional python-reflection tools: - multilevel getattr, setattr, import, getitemer - local vs see-through-hierarchy getattr - fail-proof issubclass() - subclasses extractor
    • eutf.py : guess utf or byte-encoding, and (on-the-fly) conversion, on text or files. python2 + python3
    • facer.py : protocol/API declaration language. Methods, arguments, results - types, cardinality, optionality; inheritance, specialization, cloning. Use visitors to do/generate all else.
    • expr.py : expression builder/visitor
    • tracer.py : trace python execution (for expain/log)
    • jgenerator.py : model-description "language" + dialects + generator of equivalent model in java + SAX + sqlite
    • ui/ : language for dialog/form layout description (text, html, wx); mini-MVC-web-framework (~2003)
    • vreme.py : Universal Calendar Time and Pediods arithmetics; physical, logical (next-working-day), inherit/compose, count, compare, overlap, cut
    • recorder.py : recorder + re-player of object usage - method calls with their args
    • config.py : hierarchical namespaced configuration language/engine, with types, helps, inheritance
    • and many others..

      и много други..


  • the bin ~1991-2012

    these are some various tools, scripts, settings, "languages"... for example
    - qini: config and aliases to make shells and terminals/vim behave same -
    - vcs+colorvcs: use + colorize bzr/svn/cvs/hg/git in same way;
    - archiv: view and extract all sorts of archives;
    - hyphbg: hyphenation in Bulgarian
    and many others, more or less usable

    това са разни инструментчета, скриптове, настройки, "езици"... например
    - qini: настройки и псевдоними за всякакви конзоли и терминали/vim да се държат еднакво
    - vcs/colorvcs: ползва и оцветява bzr/svn/cvs/hg/git по един и същ начин;
    - archiv: разглежда и изважда всякакви архиви;
    - hyphbg: сричкопренасяне на Български
    и куп други, повече или по-малко полезни


  • cassowarypy ~2002

    python wrapper over the Cassowary linear constraint solver + fixes

    питонска огъвка на известния решател на системи линейни ограничения Cassowary (+поправки)


    others, long ago

    други, отдавна

    • sqlalchemy.org - http://groups.google.com/group/sqlalchemy

      various participation in and around the python SQL-ORM toolkit/framework - autocode, diff, migrate.. Used to hang a lot in the newsgroup..

      разни неща в и около тази питонска SQL-обектна библиотека - автокод, разлики, миграция.. Някога висях доста в групата...




писалка върху тефтер   | ballpen on a notebook
писалка върху тефтер | 2009 ballpen on a notebook | 2009

подредени топчета  | ordered marbles
подредени топчета | 2009 ordered marbles | 2009

нова стара къща  | new old house
нова стара къща | Констанц 2004 new old house | Konstanz 2004

диаграма от Лего  | diagram in Lego
диаграма от Лего | 2008 diagram in Lego | 2008

лице в лице   | face to face
лице в лице | ?? face to face | ??

шарени каски на строежа            | colorful helmets at building site
шарени каски на строежа | Варна 2004 colorful helmets at building site | Varna 2004 цветные каски на стройке | Варна 2004


писалка на тефтер | ballpen on notebook

Детски нещаKids' things
книжкиbooks
творения:легоcreations:lego

БиблиотекаLibrary
снимкиphotos
хайкуhaiku
Коджа кая 2019Kodzha kaia 2019
водолетwaterfly
направи самdo it yourself

софтуерът-и-азsoftware-and-i
биоcv

'2008-2023 ~ началоstart ~ софтуерът-и-азsoftware-and-i ~ биографияcv/resume ~ библиотекаlibrary ~ снимкиphotos ~ детскиkids' ~   az()svilendobrev _ com