[Python] [ANNOUNCE] uWSGI 1.0
After 2 years of development, the uWSGI project is at 1.0 This major release focuses on adaptive process spawning (--cheaper mode), the new stats framework, Mules and an incredible amount of bug fixes and code refactoring. Changelog: - adaptive process spawning (--cheaper option) - new control options --stop, --reload, --suspend, --resume, --pause - stats framework http://projects.unbit.it/uwsgi/wiki/StatsServer - new subscription system - support for mime types in static file serving - posix capablities support http://projects.unbit.it/uwsgi/wiki/Capabilities - uWSGI mules and farms http://projects.unbit.it/uwsgi/wiki/Mules - support for multiple --touch-reload options - new logging subsystem - new custom locking subsystem http://projects.unbit.it/uwsgi/wiki/Locks - process name handling - better (and faster) HTTP parser - perl and python threading improvements - new plugins: rrdtool, carbon, cgi, php http://projects.unbit.it/uwsgi/wiki/Carbon http://projects.unbit.it/uwsgi/wiki/CGI http://projects.unbit.it/uwsgi/wiki/PHP - various improvements in the Rack/ruby plugin http://projects.unbit.it/uwsgi/wiki/rubyDSL - Linux KSM support http://projects.unbit.it/uwsgi/wiki/KSM - refactored ping and nagios plugins - support for signals in lazy mode - optimized static-file serving - support for linux unshare() You can download the tarball from http://projects.unbit.it/downloads/uwsgi-1.0.tar.gz * Special Thanks * Lukasz Mierzwa for its incredible amount of test reports with complex configurations Giacomo Bagnoli for the KSM idea Graham Dumpleton (mod_wsgi/newrelic) for help in addressing various threading issues in the python plugin * Issues * A bunch of patches are left out from 1.0, they will be committed in the future - you cannot compile the rack plugin with the spooler disabled - the httprouter subscription system is not solid as the fastrouter one - support for multiple perl interpreters is post-poned to 1.1 - the graphite/carbon plugin should export more metrics * Notes * uWSGI 1.0 is the new LTS release KSM does not grant you memory gain, it is completely app-dependent The ruby/rack plugin has an extremely aggressive GC policy, do not expect extreme performance without tuning it If you run uWSGI on some hosting provider/PaaS supporting only HTTP, be sure to use --http-socket instead of --http (extreme performance gain) Bye -- Roberto De Ioris http://unbit.it ___ Python mailing list Python@lists.python.it http://lists.python.it/mailman/listinfo/python
Re: [Python] sviluppare applicazioni android tramite python
Ad esempio: var n:Number = 47; E se provi ad inserire una stringa in n, AS si incacchia di brutto mentre JS te lo permetterebbe senza fiatare. Beh se in python scrivi a = 10 e poi a = 'pippo' non batte ciglio. Ha semplicemente rimosso la prima variabile che si chiama a e creata una seconda dell'altro tipo. Pero' se provi a fare a = 10 b = 'pippo' c = a+b si incazza Non so, ma la tipizzazione statica e' roba dei linguaggi C based (e manco tutti). Non dico sia sbagliata, se devi scrivere listati di decine di migliaia di righe e' indispensabile per non fare casini. In Python non servirebbe e quindi non c'e'. Carlos -- If you have no voice, SCREAM! If you have no legs, RUN! If you have no hope, INVENT! ___ Python mailing list Python@lists.python.it http://lists.python.it/mailman/listinfo/python
Re: [Python] sviluppare applicazioni android tramite python
IMHO se Python dietro a se avesse una grande multinazionale (Google?) che offrisse un'ambiente di sviluppo RAD alla Visual Studio per scrivere applicazioni Desktop e Django multipiattaforma, farebbe faville. L'unica cosa simile che ho visto è SharpDeveloper che consente di creare applicazioni .NET programmando in Python: semplicissimo da usare, anch'io senza sapere una fava di Python sono riuscito a costruire uno o due programmini scemi con interfaccia grafica, ma ha l'ovvio (ed enorme) limite di poter creare applicazioni che possono girare solo sotto Windows con .NET framework installato; IronPython non l'ho mai provato. Da quanto ho capito di IP si integra con l'IDE di VS. Ma scrivere in python e poi non poter usare i benefits del Python (tra cui l'interprete) mi sembra una auto limitazione. Carlos -- If you have no voice, SCREAM! If you have no legs, RUN! If you have no hope, INVENT! ___ Python mailing list Python@lists.python.it http://lists.python.it/mailman/listinfo/python
Re: [Python] sviluppare applicazioni android tramite python
Il giorno 30/dic/2011, alle ore 10:25, Carlos Catucci ha scritto: Ha semplicemente rimosso la prima variabile che si chiama a e creata una seconda dell'altro tipo. Come non mi piace come descrizione... G. ___ Python mailing list Python@lists.python.it http://lists.python.it/mailman/listinfo/python
Re: [Python] sviluppare applicazioni android tramite python
Il giorno 30/dic/2011, alle ore 11:06, Nicola Larosa ha scritto: Ok, non è il succo del tuo discorso, ma non posso lasciarlo passare. :-) Carlos Catucci wrote: Beh se in python scrivi a = 10 e poi a = 'pippo' non batte ciglio. Ha semplicemente rimosso la prima variabile che si chiama a e creata una seconda dell'altro tipo. No. Devi fare una distinzione tra nome e valore. a è un nome, non una variabile. 10 e pippo sono valori. . Grazie Nicola: ero troppo pigro per dire questo e poi ero certo che qualcuno più autorevole di me avrebbe colto l'occasione per dettagliare la differenza tra objectspace e namespace e per illustrare una delle principali 'illuminazioni' che un pythonista deve avere per definirsi tale. Insomma dimenticarsi il concetto di 'variabile' e usare quelli di label e object è stata una delle più importanti lezioni che il grande V mi ha dato e ne faccio sempre tesoro ;) G ___ Python mailing list Python@lists.python.it http://lists.python.it/mailman/listinfo/python
Re: [Python] sviluppare applicazioni android tramite python
2011/12/29 Carlo Miron mi...@python.it: Mboh, poesse'. Sicuramente non verra` aggiunto, visti i PEP 275 e 3103. E va bene cosi'. Python manca di alcune features che renderebbero un case prezioso, ma senza le quali e' ampiamente sostituibile. Ah, mi sono ricordato di questo vecchio ma illuminante articolo sull'argomento http://ojs.pythonpapers.org/index.php/tpp/article/view/49 , che tu avrai sicuramente gia` letto ma che lascio qui per i posteri :P. Interessante. Io in realta' non sono particolarmente d'accordo con l'autore in alcuni punti. Lui traccia l'origine di switch/case in asm, e dice che la versione high level viene da Hoare a metà degli anni 60. Invece case e' una funzione primitiva ricorsiva inventata da Kleene nel 52. ;) Abbastanza interessantemente l'uso del dizionario ricorda molto da vicino una versione semplificata (ma rigorosa) del CASE di Kleene. Bisogna solo accettare che il fatto di vedere un dizionario non come una struttura, ma come una funzione dall'insieme delle chiavi all'insieme dei valori. C'e' di peggio. Voglio dire Perl e' meno verboso di Python, eppure... Quindi la semplice verbosità non e', dal mio punto di vista, un problema. Touche`, giusto. A meno di non postulare l'esistenza di una verbosita` *giusta*, che si ponga da una parte tra quella di K e di Perl, e dall'altra a quella di Java e Cobol (ovvero, nel verbosity space di Python e Ruby ;) Certo, il compromesso e' quasi sempre una cosa buona [0]. [0] tranne quando non lo e'. [...] Aspetta pero'. Questi sono una serie di aspetti complicatissimi. Uno, quello che fa esr e' poco esplicativo. Probabilmente con la testa che ha prende su K in 4 giorno invece che 2. Eh? Il linguaggio K. Si, quella era la parte chiara della frase. Quello che non capisco e` perchemmai ESR dovrebbe impararlo in 4 gg invece che in 2... Nel senso che uno come esr non credo che faccia testo per dire che un linguaggio e' facile perche' si impara in 2 giorni, perche' magari uno complesso lui invece che in 2 giorno lo impara in 4. Cioe' e' sufficientemente fuori scala che le misure fatte con la sua scala non si rimappano bene su scala umana, IMHO. Per disambiguare: intendo che non ritengo che sia automatico che un bravo javista diventi piu` efficiente passando a Python. Ecco, magari lo sostiene Federici, ma lui non e` un bravo javista grin / Altri che conosco sostengono maggior produttivita` nel passare a Ruby, ma boh, non credo si possa parlare di regola generale. Ok. Si, posso essere d'accordo. -- . ..: -enrico- ___ Python mailing list Python@lists.python.it http://lists.python.it/mailman/listinfo/python
Re: [Python] sviluppare applicazioni android tramite python
2011/12/29 Nicola Larosa n...@teknico.net: Il giorno che vi salterà alla gola e sterminerà voi e la vostra famiglia (cit.), non lamentatevi che non vi avevo avvertito. :q! -- . ..: -enrico- ___ Python mailing list Python@lists.python.it http://lists.python.it/mailman/listinfo/python
Re: [Python] sviluppare applicazioni android tramite python
2011/12/30 Francesco Maida d...@cesco.it: E se provi ad inserire una stringa in n, AS si incacchia di brutto mentre JS te lo permetterebbe senza fiatare. Quindi mi sembra che AS sia un netto peggioramento su Javascript. -- . ..: -enrico- ___ Python mailing list Python@lists.python.it http://lists.python.it/mailman/listinfo/python
Re: [Python] sviluppare applicazioni android tramite python
2011/12/30 Nicola Larosa n...@teknico.net: Devi fare una distinzione tra nome e valore. a è un nome, non una variabile. 10 e pippo sono valori. [snip] Davvero bella spiegazione. Complimenti! -- . ..: -enrico- ___ Python mailing list Python@lists.python.it http://lists.python.it/mailman/listinfo/python
Re: [Python] sviluppare applicazioni android tramite python
Nicola Larosa wrote: Devi fare una distinzione tra nome e valore. a è un nome, non una variabile. 10 e pippo sono valori. [snip] enrico franchi wrote: Davvero bella spiegazione. Complimenti! Grazie profisso', ho avuto buoni maestri: How to think like a Pythonista http://python.net/crew/mwh/hacks/objectthink.html Python Objects http://effbot.org/zone/python-objects.htm -- Nicola Larosa - http://www.tekNico.net/ Until society regards this humble sexual activity as essential for our mental health and honors it with the inclusion of masturbation in the lexicon of human sexuality, we will remain in the dark ages of sexual ignorance. Society must no longer prevent people from accessing this positive and creative energy so we can enjoy our orgasms alone and with others. - Betty Dodson, September 2011 ___ Python mailing list Python@lists.python.it http://lists.python.it/mailman/listinfo/python
Re: [Python] sviluppare applicazioni android tramite python
2011/12/29 Carlos Catucci carlos.catu...@gmail.com: Perche' non serve, perche' impiega molti piu' cicli per essere risolto, perche' puo' generare errori logici, la lista sarebbe lunga. E' che la filosofia di base che io vedo in Python e' semplicita, puilizia ed eleganza. Guarda, io discuto su quel perche'. Sono d'accordo che visto l'insieme di features di Python switch non aggiunge particolarmente nulla. Aggiungo poi che uno switch in Python non necessariamente dovrebbe assomigliare allo switch in C (anzi). Concordo, io non amo le lambda, mi fa piacere che esistano, se servono le uso, ma sono come le RegExp, non mi fanno impazzire. Pero' ci sono tantissimi casi in cui un semplice dizionario (al limite con liste e dizionari in pancia) fa il lavoro di una classe senza dover scrivere una classe ad hoc. Poi torna il discorso del paradosso dell'ingegnere: se questa cosa e' abbastanza general purpose da poter essere riusabile, ben venga la classe nel suo package coi' da riusarla, fosse pure un dict di poche entry. E viceversa a volte. Le lambda, per come sono in Python, sono effettivamente quasi inutili. Ci sono degli use-case per cui complessivamente mi dispiacerebbe se sparissero, pero' effettivamente si usano poco. C'e' chi dice sia un bene. In molti casi avresti uno switch che fa dispatch su un valore e in questo caso il dizionario e' perfetto. Pero' ci sono anche i casi in cui bisogna essenzialmente compiere delle azioni. E a volte vale la pena di tirare a mano strategy. A volte pero' e' un po' un overkill. In questi casi, io dico solo che puoi: 1. associare alle chiavi delle lambda {'a': lambda: ..., 'b': lambda: ..., ...}[k]() 2. associare alle chiavi delle funzioni fatte con def def cl1(...): ... def cl2(...): ... {'a': cl1, 'b': cl2, ...}[k]() 3. usare una classe (o al limite un modulo) class Dispatch(object): def a(...): ... def b(...): ... ... getattr(Dispatch(), k)() oppure con staticmethod e non usando un'istanza della stessa. Ecco... diciamo che la prima ha utilita' limitata (nel senso che in lambda ci va quasi nulla). La seconda e' abbastanza verbosa. La terza e' concettualmente molto piu' complicata. Diciamo che in questi casi mi viene proprio voglia di ripensare il codice e di cambiarne la struttura e passare da: def function(...): class Dispatch(object): def a(...): ... def b(...): ... ... getattr(Dispatch(), k)() al cominciare a vedere se si riesce a tirare fuori la classe e ad eliminare proprio function. Poi bisogna vedere caso per caso, ecco. Non sarebbe coerente. Ripeto da come ho interpretato io la logica di Python, lo switch e' dannosso, poco leggibile, suscettibile di creare casini (non per colpa dello statement ma di chi lo usa a volte a sproposito, me ad esempio quando lavoravo in VB). Guarda, mai usato VB. Io personalmente non ho visto grossi casini su switch. E' uno statement piuttosto semplice. Cioe' l'unico casino e' se hai semantica fall-through (come in C) e non lo sai: ma sono proprio errori da iper-principante del linguaggio. La cosa piu' brutta e' che alla gente viene in mente troppo spesso di scrivere codice il cui comportamento fa dispatch esplicito su una variabile invece di strutturare meglio il codice. Ma se la hai fatta bene e' di una comodita' unica. Certo e' un problema di approccio e di design. Lo stesso problema due diversi progettisti lo progetteranno in manierea differente, magari di poco ma non saranno mai identici i due programmi (e non parlo di nomi di variabili o di usare for al posto di while). Per lo stesos motivo puoi progettare SENZA usarlaa ed averla, oppure usarla per scrivere la meta' del codice e piu' efficiente, se hai le idde chiare. Non sono convinto che si scriva metà del codice, non sono convinto che sia più efficiente. Aggiungo, non mi piace l'ereditarietà di implementazione. Trovo che sia utile relativamente in pochi casi e che richieda un'attenzione molto elevata. Complessivamente i fallimenti usando altre tecniche sono piu' spettacolari e si acchiappano prima con una manciata di unit-tests. Faccio esempio idiota che faccio spesso per spiegare il concetto quando (mi capita) vesto i panni del docente (principlamente corsi organizzati da qualche Lug o Pug). Come e' fatta una bolla? Testata (anagrafiche) e corpo (catalogo). Come e' fatta una fattura? Testata (anagrafiche) e corpo (catalogo + listino). Se posso usare l'ereditarieta' multipla fattura eredita da Bolla e da Listino. Guarda, io non conosco abbastanza bene il dominio applicativo per entrare nel problema di design. Una fattura e' una bolla? Non ho mai affermato che senza non vivi ne che la usi tutti i giorni. Dipende molto da dove arrivi. Io la programmazione a oggetti la ho appresa su C++ (sono stato tra i pionieri in questo paese per quel linguaggio, pensa che ho probvato d apprenderlo sullo Stroustrup, e seno recidivo, ho cercato di apprendere anche C sul Kernigham
Re: [Python] sviluppare applicazioni android tramite python
Ok, non è il succo del tuo discorso, ma non posso lasciarlo passare. :-) No la spiegazione che dai e' perfetta, io ho lazzaronato un po' dando una spiegazione errata anche si il concetto di base che volevo esprimere non era sul come funzioni ma piuttosto che non e' cosa cattiva da parte del linguaggio. Almeno non per tutti i linguaggi. Ci sono linguaggi dove si rende davevro indispensabile dichiarare il tipo di variabile associato alla label, e altri dove non sarebbe altro che una inutile ridondanza, senza contare che il dinamismo va a donnine allegre. Come ogni cosa non esiste una ricetta assoluta. In JS non vedo la necessita' di quanto affermato, invece in certi linguaggi (C in primis) addirittura utilizzavo la notazione ungherese. Devo dire che js con jQuery et similia e la possibilita' di usare dei pseudo namespaces diventa una cosa meno spaghetti code. Carlos -- If you have no voice, SCREAM! If you have no legs, RUN! If you have no hope, INVENT! ___ Python mailing list Python@lists.python.it http://lists.python.it/mailman/listinfo/python
Re: [Python] sviluppare applicazioni android tramite python
In questi casi, io dico solo che puoi: 1. associare alle chiavi delle lambda {'a': lambda: ..., 'b': lambda: ..., ...}[k]() 2. associare alle chiavi delle funzioni fatte con def def cl1(...): ... def cl2(...): ... {'a': cl1, 'b': cl2, ...}[k]() 3. usare una classe (o al limite un modulo) class Dispatch(object): def a(...): ... def b(...): ... ... getattr(Dispatch(), k)() Per il poco che so esiste anche elif che trovo più immediato rispetto alle altre soluzioni, anche se meno figo e forse in certi casi meno efficiente 4. usare gli elif: if test=='a': print 1 elif test=='b': print 2 elif -- -- Giuseppe Amato e-mail: giuam...@gmail.com ___ Python mailing list Python@lists.python.it http://lists.python.it/mailman/listinfo/python
Re: [Python] sviluppare applicazioni android tramite python
-BEGIN PGP SIGNED MESSAGE- Hash: SHA1 Il 30/12/2011 08:32, Francesco Maida ha scritto: [...] L'unica cosa simile che ho visto è SharpDeveloper che consente di creare applicazioni .NET programmando in Python: semplicissimo da usare, anch'io senza sapere una fava di Python sono riuscito a costruire uno o due programmini scemi con interfaccia grafica, Questo secondo me è un problema, più che un vantaggio. Ciao Manlio -BEGIN PGP SIGNATURE- Version: GnuPG v1.4.10 (GNU/Linux) Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org/ iEYEARECAAYFAk7901gACgkQscQJ24LbaUSSygCfVAmmP2fA4kgHJ5Ewa0CTdtuD 1soAn0DxOOKXsbFucVyq+gY9mpH57bUu =vGz9 -END PGP SIGNATURE- ___ Python mailing list Python@lists.python.it http://lists.python.it/mailman/listinfo/python
Re: [Python] sviluppare applicazioni android tramite python
2011/12/30 enrico franchi enrico.fran...@gmail.com: Complessivamente anche io anche il C++ e si, lo appresi su Stroustroup, per poi completare con i vari Josuttis, Meyers e Sutter. Io invece sulla seconda edizione dello Stroustrup, e sui meravigliosi manuali del Borland C++ 2.0 (che da soli valevano il costo della licenza), entrambi nel 1991. Java per me e' una cosa recente: me lo guardai ad intervalli regolari, ma fino alla 1.5 lo ho trovato semplicemente inutilizzabile e scartato immediatamente. Qui invece e` il contrario: studiato all'uni nel 1992, quando ancora si chiamava Oak, e abbandonato schifato dalle evoluzioni creative di Java2, prima di 1.3, circa 2000. © -- Carlo Miron Celovecchismo Solution Architect™ ___ Python mailing list Python@lists.python.it http://lists.python.it/mailman/listinfo/python
Re: [Python] sviluppare applicazioni android tramite python
Per il poco che so esiste anche elif che trovo più immediato rispetto alle altre soluzioni, anche se meno figo e forse in certi casi meno efficiente Questione di gusti, sia chiaro, ma io voto la 3. Carlos -- If you have no voice, SCREAM! If you have no legs, RUN! If you have no hope, INVENT! ___ Python mailing list Python@lists.python.it http://lists.python.it/mailman/listinfo/python
[Python] Thread mailing list
La mia domanda non riguarda python, ma la mailing list: se rispondo ad un thread editando l'oggetto della mail con Re: argomento quando visualizzo l'archivio della mailing list non mi accoda il messaggio al thread iniziale, ma ne crea uno nuovo. 1. Come devo editare l'oggetto per rispondere al thread iniziale? 2. E soprattutto perchè? :) -- -- Giuseppe Amato e-mail: giuam...@gmail.com ___ Python mailing list Python@lists.python.it http://lists.python.it/mailman/listinfo/python
Re: [Python] sviluppare applicazioni android tramite python
Guarda, io discuto su quel perche'. Sono d'accordo che visto l'insieme di features di Python switch non aggiunge particolarmente nulla. Aggiungo poi che uno switch in Python non necessariamente dovrebbe assomigliare allo switch in C (anzi). E come dovrebbe essere? Chiedo per ignoranza, non per polemica. Le lambda, per come sono in Python, sono effettivamente quasi inutili. Ci sono degli use-case per cui complessivamente mi dispiacerebbe se sparissero, pero' effettivamente si usano poco. C'e' chi dice sia un bene. Non sono il massimo della chiarezza e leggibilita' In molti casi avresti uno switch che fa dispatch su un valore e in questo caso il dizionario e' perfetto. Pero' ci sono anche i casi in cui bisogna essenzialmente compiere delle azioni. E a volte vale la pena di tirare a mano strategy. A volte pero' e' un po' un overkill. Una class? lo switch e' dannosso, poco leggibile, suscettibile di creare casini (non per colpa dello statement ma di chi lo usa a volte a sproposito, me ad esempio quando lavoravo in VB). Non sarebbe coerente. Ripeto da come ho interpretato io la logica di Python, Guarda, mai usato VB. Come disse Guccini in un concerto con i Nomadi: Che culo che ha certa gente! Io personalmente non ho visto grossi casini su switch. E' uno statement piuttosto semplice. Cioe' l'unico casino e' se hai semantica fall-through (come in C) e non lo sai: ma sono proprio errori da iper-principante del linguaggio. Se hai un mega switch da 100 opzioni e gente che aggiunge ad capocchiam altre vedrai che i casini arrivano da se. Guarda, io non conosco abbastanza bene il dominio applicativo per entrare nel problema di design. Una fattura e' una bolla? No un fattura e' simile ad una bolla ma ha delle caratteristiche in piu'. Diciamo metodi e proprieta' aggiuntivi. Ma gli serve anche di prendere roba dalla classe listino. Nello specifico i prezzi. Posso farlo con ereditarieta' semplice, creando metodi che egeuono il retrive dei dati (prezzi) ma molto piu' comodo, visto che i prezzi mi servono anche altrove, avere una classe dedicata. Complessivamente anche io anche il C++ e si, lo appresi su Stroustroup, per poi completare con i vari Josuttis, Meyers e Sutter. Il testo chiave pero' per me fu un McGraw Hill per Borland C++. Li capii tante cose. Java per me e' una cosa recente: me lo guardai ad intervalli regolari, ma fino alla 1.5 lo ho trovato semplicemente inutilizzabile e scartato immediatamente. Io ho inizito a usare java sul serio dalla 1.3 o 1.4 non ricordo. Mai amato pero'. il resto il mio C++ e' sempre stato molto piu' basato sul polimorfismo statico (templates) che su quello dinamico. Siccome le due cose funzionano non troppo bene insieme, credo che C++ sia stato una grossa influenza nel *non* usare ereditarieta' spesso. Beh come vedi approcci differenti. Ciascuno fa le cose a mdo suo. Dreamweaver lo ho sempre evitato. Costoso, sopravvalutato. Ma ci sono anche IDE fatti bene, eh. ;) Ma se l'iDE ti condiziona che senza non puoi piu' modificare o scrivere codice allora non mi interessa il relativo linguaggio neppure. Io su MacOsX (sto scrivendo da un MacBookPro 13) non ci programmo. Impossibile. Ha una interfaccia troppo pensata per l'utente che fa cose comuni (navigare, vedre filmati etc.). Inadatta alla programmazione. Uso le VM con su Linux e sviluppo li. Boh. Mi sembra insostenibile... non ho un concetto di interfaccia adatta alla programmazione. Per me se ho un terminale decentemente behaving (e iTerm2 e' eccezionale, pure Terminal non e' male) ho più o meno tutto quello che mi serve (si ok, vim, make, python, cc, etc etc etc). Vedi per me e' anche una questione di tastiera, di scorciatoie, di gestualita', di tante piccole cose. Mi trovo bene su Linux, gia' su Win soffro. Mac ha una interfaccia con logica diversa. Poi questione di gusti anche qui. Ultimamente ho perfino trovato un uso per le finestre fullscreen di Lion. Sono fermo a Snow Leopard e non so se ho voglia di aggiornare, Massimizzo macvim. Massimizzo iTerm e passo da uno all'altro. Da qualche parte ho anche chrome per la doc. Ho tutto quello che mi serve. Ecco iTerm e' un esempio. Ci sono cose come il seleziono da una parte e poi incollo altrove con tasto centrale, che mi mancano su Mac e Win. Io come piattaforma di sviluppo *scelgo* OS X. Conosco tanti sviluppatori che sono soddisfattissimi su OS X. Io ho avuto occasione lavorando su un progetto di lavorare con un bravo developer PHP. Lui che era anche un po' grafico usava mac, ma vedevo che soffriva ed era meno veloce di me sul linux. Poi come sempre abitudine e gusti. Io adoro Vim, da sempre. Pero' il citato Sublime text 2 ha i suoi perche' credimi (ah e' scriptabile in Python) In realta' anche vim lo e'... :) Non dicevo che vim non lo sia, solo che ST ha anche lui questo bonus Sublime lo ho provato per un po', ma non sono riuscito a giustificarmi
Re: [Python] Thread mailing list
2011/12/30 Giuseppe Amato giuam...@gmail.com: La mia domanda non riguarda python, ma la mailing list: se rispondo ad un thread editando l'oggetto della mail con Re: argomento quando visualizzo l'archivio della mailing list non mi accoda il messaggio al thread iniziale, ma ne crea uno nuovo. 1. Come devo editare l'oggetto per rispondere al thread iniziale? 2. E soprattutto perchè? :) Che MUA usi? Sembrerebbe non onorare ne` l'header In-Reply-To:, ne` References:; in questo caso Mailman dovrebbe threaddare sul Subject:, ignorando l'eventuale prefisso Re:. A meno che Mailman 2.1.13 non sia precedente a questo fix http://mail.python.org/pipermail/mailman-users/2010-February/068844.html, non so. Cheers, © -- Carlo Miron Mailman Mysteries Solution Architect™ ___ Python mailing list Python@lists.python.it http://lists.python.it/mailman/listinfo/python
Re: [Python] sviluppare applicazioni android tramite python
-BEGIN PGP SIGNED MESSAGE- Hash: SHA1 Il 30/12/2011 16:19, Carlo Miron ha scritto: 2011/12/30 enrico franchi enrico.fran...@gmail.com: Complessivamente anche io anche il C++ e si, lo appresi su Stroustroup, per poi completare con i vari Josuttis, Meyers e Sutter. Io invece sulla seconda edizione dello Stroustrup, Idem. Tra l'altro riletto ben tre volte! [...] Ciao Manlio -BEGIN PGP SIGNATURE- Version: GnuPG v1.4.10 (GNU/Linux) Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org/ iEYEARECAAYFAk795u8ACgkQscQJ24LbaURvvACeJF3iPrx57V3c+YLFSA1NDDt3 GUkAn3G53hfeQKmeREZT5x3sNbaWs7a3 =3ikW -END PGP SIGNATURE- ___ Python mailing list Python@lists.python.it http://lists.python.it/mailman/listinfo/python
Re: [Python] sviluppare applicazioni android tramite python
2011/12/30 Giuseppe Amato giuam...@gmail.com 4. usare gli elif: if test=='a': print 1 elif test=='b': print 2 elif Niente contro elif. E' una cosa leggermente diversa. In molti casi e' sicuramente la cosa giusta. La differenza principale e' che esegue tutti i test in sequenza. In qualche caso puo' essere un problema. Inoltre una sequenza di if molto lunga io la trovo bruttina. Viceversa per un paio di casi trovo eccessivamente complesse le soluzioni 1-3. -- . ..: -enrico- ___ Python mailing list Python@lists.python.it http://lists.python.it/mailman/listinfo/python
Re: [Python] sviluppare applicazioni android tramite python
2011/12/30 Giuseppe Amato giuam...@gmail.com In questi casi, io dico solo che puoi: 1. associare alle chiavi delle lambda {'a': lambda: ..., 'b': lambda: ..., ...}[k]() Questo idioma non l'avevo mai visto. Immagino che ce ne siano altri che non conosco. Una risorsa per impararli? Grazie ciao -- Andrea Francia http://www.andreafrancia.it ___ Python mailing list Python@lists.python.it http://lists.python.it/mailman/listinfo/python
Re: [Python] sviluppare applicazioni android tramite python
2011/12/30 enrico franchi enrico.fran...@gmail.com Mboh, poesse'. Sicuramente non verra` aggiunto, visti i PEP 275 e 3103. ma sticavoli dello switch case :-) utile? ___ Python mailing list Python@lists.python.it http://lists.python.it/mailman/listinfo/python
Re: [Python] sviluppare applicazioni android tramite python
2011/12/30 Andrea Francia and...@andreafrancia.it Questo idioma non l'avevo mai visto. Immagino che ce ne siano altri che non conosco. Una risorsa per impararli? C'e' la PEP8, Python Cookbook e il relativo coso di ActiveState, blog e presentazioni di gente di spicco (e.g., Raymond). In generale basta anche leggere un po' di codice di libreria. -- . ..: -enrico- ___ Python mailing list Python@lists.python.it http://lists.python.it/mailman/listinfo/python
Re: [Python] sviluppare applicazioni android tramite python
2011/12/30 Simone Federici s.feder...@gmail.com: 2011/12/30 enrico franchi enrico.fran...@gmail.com Mboh, poesse'. Sicuramente non verra` aggiunto, visti i PEP 275 e 3103. Hey, non l'ha scritta il professo', quella frase :D ___ Python mailing list Python@lists.python.it http://lists.python.it/mailman/listinfo/python
Re: [Python] sviluppare applicazioni android tramite python
Il giorno 30/dic/2011, alle ore 15:50, Giuseppe Amato ha scritto: 3. usare una classe (o al limite un modulo) class Dispatch(object): def a(...): ... def b(...): ... ... getattr(Dispatch(), k)() Dal momento che il problema di uno switch capita comunque quasi sempre all interno di una classe una tecnica abbastanza comoda è quella di usare dei metodi con opportuno prefisso ad esempio: def foo_alfa(self,...): . def foo_beta(self,...): . def foo_gamma(self,...): . def foo_default(self,...): . e nel codice chiamare bar = getattr(self,'foo_%s'%k,self.foo_default)() Aggiungere i casi è molto semplice e in caso di ereditarietà la classe derivata può agevolmente estendere lo switch. G ___ Python mailing list Python@lists.python.it http://lists.python.it/mailman/listinfo/python
Re: [Python] sviluppare applicazioni android tramite python
2011/12/30 Carlos Catucci carlos.catu...@gmail.com Beh era nato, almeno come lo ho conosciuto io, come scorciatoia alla catena di if. Poi magari era nato con ben piu' nobili scopi ma io ho trovato il case sempre usato cosi'. Devo dire, a onor del vero, che sulla teoria sono un po' giu', ai miei tempi non ebbi occasione certo di andare all'uni per imparare. Beh, ma lo switch del C e' fatto cosi' e basta. Per inciso in C ha anche il suo senso quando, se possibile e' equivalente ad una jump table e non ad una catena di if (come prestazioni). E in effetti la semantica fall-through ti riporta proprio a quello. In realta' come dicevo, il costrutto potrebbe essere un pochetto diverso. Per inciso, nei linguaggi procedurali ha un sacco di senso di per se. Nei linguaggi con pattern matching pure. E io rispondevo che una fattura e' una bolla con delle opzioni in piu'. Ma usare una fattura come bolla togliendo non e' fattibile. Ma qualunque frammento di codice che funzioni con una bolla, deve funzionare anche con una fattura? Si, sono questione di gusti. Pero' quello che voglio dire e' che di fatto non e' che l'interfaccia e' inadatta alla programmazione. E' che e' diversa dai tuoi default. Vorrei poi aggiungere che con iTerm puoi piu' o meno dirgli di gestire lui la tastiera. Vim ha le sue scorciatoie e sono quelle. Invece Sublime e' riconfigurabile in toto. Si, non capisco pero'. Cioe' ci credo che sia riconfigurabile in toto (come vim). Ma io qua dicevo per dire che se uno fa sviluppo a-la unix i tools sono quelli e sono un po' indipendenti dal brand unix che hai sotto. Cio detto, trovo la gui del mac ottima per un certo tipo di usi ma non il massimo se devo lavorare. Poi come hai detto che la usi tu, beh li hai annullato la suddetta GUI, mi sembra un ambiente simile a quello che si usava per sviluppare in Unix 15 anni fa ::) Si, lo e'. A parte quando uso un IDE. Ma il problema e' che per sviluppare si usa un po' quella roba li. Potrei usare xcode, se facessi iphone/mac gui... Poi certo, ho Graffle, Keynote... ma non e' che sia strettamente sviluppo. Altre cose che mi piacciono ci sono (e le uso tantissimo), ma il core e' quello. Quella e' una feature che io tengo disabilitata e che odiavo su Linux. Explicit is better than implicit. ;) Beh e' esplicito e come. Beh, insomma. Selezioni una cosa e lui te la copia. Forse non era cosi' bravo... :) No bravo lo era, ma usva strumenti che io trovo complessi inutilmente E questo pero' non e' che vuole dire molto. No, scherzi a parte, ma e' un po' debole come argomento. Guarda io non sopport Apple, ma adoro il Mac. Come ferro e' una favola, come GUI se devo fare certe cose va benissimo, ha applicativi unici (un nome su tutti Omnigraffle). Ma poi la mia anima di smanettone che viene da Unix salta fuori e voglio una shell dove il nome di una directory e' uguale a quello che mi mostra la GUI (che poi io sono un fluxboxiano, almeno fino a che E17 non sara' realta'). Uhm... sul mio mac e' cosi'. Non credo di aver mai usato consciamente un sistema operativo localizzato. TU lavori SOLO su mac? Allora sei fortunato. Io uso sempre li stesis due editor ovunque (Vim e Sublime). E mi tocca di fare cose su win, mac e linux. Adesso devo sviluppare in pfsense ad esempio. ;) Ni. Come macchina su cui ho le mani fisicamente ho due mac e un netbook (che adesso e' un po' in disuso causa Air e causa Ubuntu che ha deciso di sua sponte di non bootare piu' -- baco noto etc etc... probabilmente devo re-installare e ora come ora non ho tempo --). Spesso sono via SSH. Diciamo che la maggior parte del tempo sono su Mac. -- . ..: -enrico- ___ Python mailing list Python@lists.python.it http://lists.python.it/mailman/listinfo/python
Re: [Python] sviluppare applicazioni android tramite python
2011/12/31 Giovanni Porcari giovanni.porc...@softwell.it Dal momento che il problema di uno switch capita comunque quasi sempre all interno di una classe una tecnica abbastanza comoda è quella di usare dei metodi con opportuno prefisso Si, questo e' il caso comodo. Sono d'accordo e in questo caso la tua e' in generale la soluzione migliore. -- . ..: -enrico- ___ Python mailing list Python@lists.python.it http://lists.python.it/mailman/listinfo/python