начало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
направи самdo it yourself

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

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