Re: Hiding code from intruders, a different slant on an old question
On 10/7/2015 5:38 AM, c...@isbd.net wrote: > I know questions similar to this are often asked but my reasons for > wanting to do this (and thus ways it can be done) are slightly different. > > I have a number of little utility scripts (python and others) which I > use to automate the process of decrypting and displaying things like > files containing passwords. > > The encryption I use is reasonably secure anyway but I'd like to hide > the programs/methods I use so that:- > > 1 - The encrypted files are not identifiable as encrypted data (the file > command just returns 'data' so they can't be identified by that). If > there's a script in my ~/bin directory that relates directly to the > files it's obvious they're encrypted. > > 2 - The method used for encryption isn't obvious, again an obvious > script will show the program I have used. > You have two options here: 1) Use a strong encryption like aes256 etc and don't bother trying to "hide" the code because it's just a blob of data and they'll not crack it. 2) Encrypt the whole drive if you use something like *nix/*bsd. The only thing hiding the code will do is make them guess at the method. But if you use a good method in the firstplace, you shouldn't have any issues because it's not going to be cracked. > I *could* write a C program which just exec()'s the required programs, > if they're done separately this would be fairly well hidden but I was > wondering if there's anything more obvious I can do that enables me to > do things easily in Python. > > > This is for protecting against any possible intruder who has gained > access to my system by breaking an ssh password or stealing my laptop > for example. It's *not* for hiding code that I'm giving to others, > I'd be quite happy to give the code in question to people who might > want to use it. > -- Take care, Ty http://tds-solutions.net He that will not reason is a bigot; he that cannot reason is a fool; he that dares not reason is a slave. -- https://mail.python.org/mailman/listinfo/python-list
Re: I'm using Sphinx, but is there a UML auto generator
> You can use Graphvix and Plant UML from inside Sphinx. > http://build-me-the-docs-please.readthedocs.org/en/latest/Using_Sphinx/UsingGraphicsAndDiagramsInSphinx.html > > Laura > Keep this in mind: However you write your docs, they should be accessible for everyone to use. That is to say, screen readers should be able to use them as well--perhaps try explaining this dependency in a format across all the docs in text as well? HTH, -- Take care, Ty twitter: @sorressean web:http://tysdomain.com pubkey: http://tysdomain.com/files/pubkey.asc -- https://mail.python.org/mailman/listinfo/python-list
replace parens update
-BEGIN PGP SIGNED MESSAGE- Hash: SHA1 Hello all: I've put a new version here: https://dl.dropboxusercontent.com/u/10204868/replace_parens.py It's for me, a lot easier to understand. It uses regex to replace parens rather than using a state machine and conforms to the python standards for naming and conventions. HTH, - -- Take care, Ty twitter: @sorressean web:http://tysdomain.com pubkey: http://tysdomain.com/files/pubkey.asc -BEGIN PGP SIGNATURE- Version: GnuPG v2 iQEcBAEBAgAGBQJVbJgbAAoJEAdP60+BYxejGSoIAJUc3n7dL74MOc6APQ1gY+io iQhMtmYEp2s5zjv7NP7i+ENWBys8+r7GDBghYW6xrV1JD24VuSFWi1Zya1RuRy2b v95b+EH/ppHGva4jF71uBAVW4Rh3gdW0uqDrmW4FCdWhZaTATv3hlwG/M5QcFvjF fDj/lXEB/zljqmf8Hdp3FuHj+QkwJwZihVOhHOHIiZ4zXMlT2J+M76LQKdHcMpFE SJVaju5isJYEWXGJ9r/iJwgf87Y9fe20bWfqNw0MQtxjiApwo5wcvZshBz6vbLHg ehKRD/Xz9yBSWnfTrSw0wkOE1uVk4cQlVLhBkP6WvfSf1UYKtXnf6zyNwILu+Rs= =Ka2/ -END PGP SIGNATURE- -- https://mail.python.org/mailman/listinfo/python-list
a couple of questions: pickling objects and strict types
Hello all: I've been using Python for a while now, but I have one larger problem. I come from a c++ background; though it doesn't help in catching runtime errors, being able to compile a program helps catch a lot of syntax errors. I know about pychecker, which is somewhat useful. Do people have other methods for handling this? Also, I'm depickling objects. Is there a way I can force pickle to call the object's ctor? I set up events per object, but when it just deserializes it doesn't set all that up. Thanks, -- Take care, Ty http://tds-solutions.net The aspen project: a barebones light-weight mud engine: http://code.google.com/p/aspenmud He that will not reason is a bigot; he that cannot reason is a fool; he that dares not reason is a slave. -- http://mail.python.org/mailman/listinfo/python-list
Re: a couple of questions: pickling objects and strict types
On 4/5/2013 2:30 PM, Steven D'Aprano wrote: On Fri, 05 Apr 2013 12:59:04 -0600, Littlefield, Tyler wrote: Hello all: I've been using Python for a while now, but I have one larger problem. I come from a c++ background; though it doesn't help in catching runtime errors, being able to compile a program helps catch a lot of syntax errors. I know about pychecker, which is somewhat useful. Do people have other methods for handling this? Do you tend to make a lot of syntax errors? Not a -lot-, but there are things I don't catch sometimes. Python also catches syntax errors at compile-time. I won't speak for others, but I hardly ever make syntax errors: between Python's simple, surprise-free syntax, and modern, syntax-colouring editors, I find that I rarely make syntax errors. I am blind, so colorful editors don't really work all that well for me. Also, I'm depickling objects. Is there a way I can force pickle to call the object's ctor? I set up events per object, but when it just deserializes it doesn't set all that up. Thanks, What's the object's ctor? What sort of objects are you dealing with? def __init__(self): self.events = {} self.components = [] self.contents = [] self.uid = uuid4().int self.events['OnLook'] = teventlet() Basically events don't get initialized like I'd like after I depickle objects. -- Take care, Ty http://tds-solutions.net The aspen project: a barebones light-weight mud engine: http://code.google.com/p/aspenmud He that will not reason is a bigot; he that cannot reason is a fool; he that dares not reason is a slave. -- http://mail.python.org/mailman/listinfo/python-list
Re: design question:game skill system
I just wanted to say thanks to all the people that provided input, both aonand off list. It gave me a good direction to head in. Thanks again. On 10/2/2012 2:34 PM, Ian Kelly wrote: On Tue, Oct 2, 2012 at 2:00 PM, Littlefield, Tyler ty...@tysdomain.com wrote: Hello all: I'm looking at a skill/perk system, where the player builds up his char by using perk points to add abilities. Each perk is under a category, and generally costs go up as you increase the perk. So I'm trying to figure something out; first, I'd really like the cost calculation and all of that to be dynamic, so that I don't have to write a calculateCost per object. I'd also like to be able to specify dependencies and say a level, as well as other factors before a player can obtain a perk and have them self documenting. The idea is that a player could do something like: data perk extended health and it would tell them they require health at 50 before they can purchase extended health, as well as the cost, the increase per level and the total overall cost. What are the cost calculations based on? If there are specific formulas then you would need to store them somehow, possibly just as a function to be called or string to be evaled, but if the security of the perk database is of concern then you could engineer a more sandboxed representation. For dependencies, you can keep them in a container. An extended health perk might look something like: cost_formula = 5 * level ** 2 dependencies = {HEALTH: 50, PLAYER_LEVEL: 15} benefits = {HEALTH: 7 * level} where HEALTH and PLAYER_LEVEL are just some arbitrary known constants. Your core perks library would then be responsible for looking this information up, running the formulas, and performing whatever calculations on it are needed. Finally, I'm curious how to store and calculate these. I thought about using a uid per perk, then storing something like: {uid:level} on the player, but means that I have to lookup the name somehow still in the main perk database, then use that uid to check if the player has it. Are there better ways of storing skills? When you say uids, you mean UUIDs, right? I'm not sure what advantage there is in using abstracted unique identifiers for these. Assuming you have full control over what perks are added, you can ensure there will be no name clashes, so why not just use the name or a name-based tag to uniquely identify each perk? Regardless of how you identify them, though, your code is at some point going to have to go to the database to look them up, so I would suggest you just go ahead and write that code, and then you can add some caching later if it turns out to be needed. I'm also thinking about calculation; currently the CalculateMaxHp method would have to add up all the possible perks for health, then add stats and all that. That could get really rough on performance if it's called often; would something like a cache work, where you have something like: {attribute:dirty}? So if I call CalculateHealth, it checks for the dirty flag, and if it doesn't exist just returns the previous max HP, but if the dirty flag is set, it recalculates? Then anything modifying health (level gains, perks, stat increases/etc) would just set the dirty flag and call calculate? Sounds reasonable. I wouldn't use a separate flag attribute, though. When max HP becomes dirty, clear the cached value, and use the absence of a cached value to inform your code that it needs to recalculate. -- Take care, Ty http://tds-solutions.net The aspen project: a barebones light-weight mud engine: http://code.google.com/p/aspenmud He that will not reason is a bigot; he that cannot reason is a fool; he that dares not reason is a slave. -- http://mail.python.org/mailman/listinfo/python-list
final question: logging to stdout and updating files
pHello all: I've seen frameworks like django reload files when it detects that they've been changed; how hard would it be to make my engine reload files that it detects were changed? I'm also curious how hard it would be to build in some error recovery. For example right now when an exception occurs, the player is sometimes just left hanging. It's a lot harder with Python for me, because I don't get the compile-time errors that I would with c++ for example to know that I did something wrong; while that's not always useful/and by far it doesn't catch everything, it does help. I'm familiar with things like pychecker, but it seems to be reporting a lot of issues that aren't issues. For example, I have a world module which is the core of the engine; it handles players, as well as keeps tracks of all rooms that are loaded in the game and that. Because player and world would have circular imports, I just pass the world object into player functions like logon/create. Pychecker tells me that the world parameter (which is a local var at that point) shadows the world variable in world; world is a singleton, so when you import world it just has a world = World() at the bottom of the module. also: I have the following code: logging.basicConfig(filename=path.join(logs, mud.log), level=logging.DEBUG) logger = logging.getLogger(__name__) logger.addHandler(logging.StreamHandler()) I like it displaying to stderr since usually when I'm doing this I'm in screen bouncing back and forth between the output and the tt++ session, but right now I can't get a couple of things; I'm not sure how to set it to log and all other messages to stderr as I did for the file, and I'd like to use a rotating log handler so that it'll rotate when the files are say above 16 KB or something. Is it possible to do something like this; perhaps make it compress the file before it writes to disk, or call a command to do so, so that it wouldn't hang the entire mud while it compresses? Thanks, and sorry again for all the questions. -- Take care, Ty http://tds-solutions.net The aspen project: a barebones light-weight mud engine: http://code.google.com/p/aspenmud He that will not reason is a bigot; he that cannot reason is a fool; he that dares not reason is a slave. -- http://mail.python.org/mailman/listinfo/python-list
design question:game skill system
Hello all: I'm looking at a skill/perk system, where the player builds up his char by using perk points to add abilities. Each perk is under a category, and generally costs go up as you increase the perk. So I'm trying to figure something out; first, I'd really like the cost calculation and all of that to be dynamic, so that I don't have to write a calculateCost per object. I'd also like to be able to specify dependencies and say a level, as well as other factors before a player can obtain a perk and have them self documenting. The idea is that a player could do something like: data perk extended health and it would tell them they require health at 50 before they can purchase extended health, as well as the cost, the increase per level and the total overall cost. Any ideas on how to set this up would be really appreciated. Finally, I'm curious how to store and calculate these. I thought about using a uid per perk, then storing something like: {uid:level} on the player, but means that I have to lookup the name somehow still in the main perk database, then use that uid to check if the player has it. Are there better ways of storing skills? I'm also thinking about calculation; currently the CalculateMaxHp method would have to add up all the possible perks for health, then add stats and all that. That could get really rough on performance if it's called often; would something like a cache work, where you have something like: {attribute:dirty}? So if I call CalculateHealth, it checks for the dirty flag, and if it doesn't exist just returns the previous max HP, but if the dirty flag is set, it recalculates? Then anything modifying health (level gains, perks, stat increases/etc) would just set the dirty flag and call calculate? Thoughts/ideas would be welcome. Thanks, -- Take care, Ty http://tds-solutions.net The aspen project: a barebones light-weight mud engine: http://code.google.com/p/aspenmud He that will not reason is a bigot; he that cannot reason is a fool; he that dares not reason is a slave. -- http://mail.python.org/mailman/listinfo/python-list
Re: Python source code easy to hack?
On 9/28/2012 9:19 AM, stu...@molden.no wrote: kl. 16:38:10 UTC+2 fredag 28. september 2012 skrev Jerry Hill følgende: This is true, but both java and .net are also relatively easy to decompile. Neither of them are very obfuscated. In general though, why does it matter? Paranoia among managers? What are you trying to protect yourself against? Embarassment? Patent trolls? Unauthorized access to priviledged features? Industrial espionage? Sounds like a web solution is the best way. Use a thin client and run your NSA-level code on a server. It's worth pointing out though that even c/c++ isn't free. If someone wants to decompile or disassemble your code bad enough, it's going to happen. If you must keep anyone from ever seeing how your code works, the only way to do that is to keep all the sensitive bits running on a machine that you control. Indeed :) Sturla -- Take care, Ty http://tds-solutions.net The aspen project: a barebones light-weight mud engine: http://code.google.com/p/aspenmud He that will not reason is a bigot; he that cannot reason is a fool; he that dares not reason is a slave. -- http://mail.python.org/mailman/listinfo/python-list
teventlet: a light-weight method for handling events
Hello all: This was my first PyPi project to create. I'd like some feedback as to whether or not something like this is even moderately useful, and what I could do better with it. The blog article that details some of this is: http://tds-solutions.net/blog/?p=137 And the PyPi page: http://pypi.python.org/pypi/teventlet Essentially, Teventlet is just a handler that allows the registration of multiple callbacks; when something calls invoke, it dispatches all arguments to each individual callback. It's pretty small, and probably something anyone who is reasonably skilled could have written in a few minutes, but I wanted to put it out there anyway. Any ideas, suggestions/etc would be welcome. -- Take care, Ty http://tds-solutions.net The aspen project: a barebones light-weight mud engine: http://code.google.com/p/aspenmud He that will not reason is a bigot; he that cannot reason is a fool; he that dares not reason is a slave. -- http://mail.python.org/mailman/listinfo/python-list
Re: test
On 9/27/2012 3:36 PM, Devin Jeanpierre wrote: On Thu, Sep 27, 2012 at 5:28 PM, ForeverYoung rsn...@gmail.com wrote: Please ignore this post. I am testing to see if I can post successfully. Is there a reason you can't wait until you have something to say / ask to see if it works? You're spamming a large number of inboxes with nothing. I'm kind of thinking complaints about it are just doubling the spam to a large number of inboxes. You could've just doubled the spam in the OP's inbox and that would've been that. -- Take care, Ty http://tds-solutions.net The aspen project: a barebones light-weight mud engine: http://code.google.com/p/aspenmud He that will not reason is a bigot; he that cannot reason is a fool; he that dares not reason is a slave. -- http://mail.python.org/mailman/listinfo/python-list
Re: Article on the future of Python
On 9/27/2012 9:05 PM, Jason Friedman wrote: Fair enough, but it's the M in the LAMP stack I object to. I'd much rather have P. +1 I know this isn't the list for database discussions, but I've never gotten a decent answer. I don't know much about either, so I'm kind of curious why postgresql over mysql? -- Take care, Ty http://tds-solutions.net The aspen project: a barebones light-weight mud engine: http://code.google.com/p/aspenmud He that will not reason is a bigot; he that cannot reason is a fool; he that dares not reason is a slave. -- http://mail.python.org/mailman/listinfo/python-list
Re: Stop feeding the trolls (Was: which a is used?)
On 9/27/2012 10:50 PM, Dwight Hutto wrote: On Fri, Sep 28, 2012 at 12:40 AM, Chris Angelico ros...@gmail.com wrote: On Fri, Sep 28, 2012 at 1:47 PM, Dwight Hutto dwightdhu...@gmail.com wrote: [ lots of screed that demonstrates that Dwight hasn't grokked the hacker culture ] Don't hack, but could very well if necessary. You couldn't hack your self out of a wet paper bag, and you're fooling noone. Sorry... buddy. You should go away now; You asked who is laughing at you the other day, and at that point you had the ability to salvage (or at least attempt to salvage) your reputation with a few people. You've pretty much blown that away at this point, so a belated answer to your question is everyone. Dwight, have a read of these documents. They may help you to understand how the python-list community operates, and perhaps more so, why most of the regulars here think the way they do. They have double digit I.Q.'s ? Actually, this may be of interest to quite a few people, so I'll post it on-list. Go right aheadbuddy. http://catb.org/~esr/faqs/ ChrisA -- http://mail.python.org/mailman/listinfo/python-list -- Take care, Ty http://tds-solutions.net The aspen project: a barebones light-weight mud engine: http://code.google.com/p/aspenmud He that will not reason is a bigot; he that cannot reason is a fool; he that dares not reason is a slave. -- http://mail.python.org/mailman/listinfo/python-list
Re: Article on the future of Python
On 9/27/2012 10:37 PM, Chris Angelico wrote: On Fri, Sep 28, 2012 at 2:12 PM, Greg Donald gdon...@gmail.com wrote: On Thu, Sep 27, 2012 at 10:37 PM, Wayne Werner wa...@waynewerner.com wrote: the only advice I can give on that is just learn to use both. I find there's little to lose in having experience with both. Most every good web framework out there supports lots of different databases through generic ORM layers.. so flipping back and forth to see which database is better for your particular app and workload is trivial. I plan to do that, just so I have both. I've had the experience of mysql, so I guess postgresql is up next. I was just really curious why so many people prefered it. Perhaps off topic (actually really off topic), but if I were to dump my tables from mysql out into flat-files, does postgresql use the same basic structure? IIRC there's a sql98 standard or something like that. Learning both is good, if for no reason than that learning more tends to be advantageous. As Greg said in his other post, PGSQL is a completely open source project. That's a significant point imho. Other points to consider: * MySQL is designed for dynamic web sites, with lots of reading and not too much writing. Its row and table locking system is pretty rudimentary, and it's quite easy for performance to suffer really badly if you don't think about it. But if your needs are simple, MySQL is probably enough. PostgreSQL uses MVCC to avoid locks in many cases. You can happily read from a row while it's being updated; you'll be unaware of the update until it's committed. * Postgres has solid support for advanced features like replication. I don't know how good MySQL's replication is, never tried it. Can't say. This might be completely insignificant. * The default MySQL engine, MyISAM, doesn't do proper transaction logging etc. InnoDB is better for this, but the internal tables (where your database *structure* is maintained) are MyISAM. This imposes a definite risk. You've lost me here; there are two different engines. From what I got from your post, innoDB just essentially wraps MyIsam with some pretty (or apparently not so pretty) locking stuff to help with transactions? * Both engines have good support in popular languages, including (dragging this back on topic, kicking and screaming) Python. For further details, poke around on the web; I'm sure you'll find plenty of good blog posts etc. But as for me and my house, we will have Postgres serve us. Will do, thanks for all the feedback (both on and off list). I'm not a huge database person; I've never really played around with much of it since there's a lot more to understand and I can't just mess with it like any other language, so I was unaware of a lot, and still am in terms of performance. I've obviously seen a ton of blog posts talking about the differences, but they tend to dive into the inner mechanics, something which I don't understand all that well. PS: Someone mentioned my messages were not indented properly; is this still the case? Apparently thunderbird allows ctrl+right bracket to outdent, so I assume my messages should be the outer ones with others being indented farther. ChrisA -- Take care, Ty http://tds-solutions.net The aspen project: a barebones light-weight mud engine: http://code.google.com/p/aspenmud He that will not reason is a bigot; he that cannot reason is a fool; he that dares not reason is a slave. -- http://mail.python.org/mailman/listinfo/python-list
Re: Article on the future of Python
On 9/26/2012 2:11 AM, Dwight Hutto wrote: Well, we can all use american as a standard, or maybe you'd prefer to borrow my Latin for Idiots handbook. But then again google has a Universal Communicator going, so, does it matter? Never in the field of human discussion has there been so much reason for so many to plonk so few. Plonk it if you want. Your homosexual ideologies have no effect on me. Butt, back to the discussion, there are quite a few ways to encode, as well as translate code. You remind me of a little kid. When anything doesn't go your way, we revert to homosexual comments (who said anything about homosexual anyway), and you keep bringing up this whole nut hair deal. I think it's you leaning that way buddy, especially since most of us on here are guys. Plonk it in your mouth, and let the nut hairs tickle your throat. Take your trash somewhere else. You've provided nothing in terms of good feedback or responses, and I doubt you will provide more than insults. PS: Anyone know if rantingrik had relatives? ;) ChrisA -- http://mail.python.org/mailman/listinfo/python-list -- Take care, Ty http://tds-solutions.net The aspen project: a barebones light-weight mud engine: http://code.google.com/p/aspenmud He that will not reason is a bigot; he that cannot reason is a fool; he that dares not reason is a slave. -- http://mail.python.org/mailman/listinfo/python-list
Re: new-style class or old-style class?
On 9/25/2012 8:44 AM, Jayden wrote: In learning Python, I found there are two types of classes? Which one are widely used in new Python code? Is the new-style much better than old-style? Thanks!! Perhaps this is useful: http://docs.python.org/reference/datamodel.html It's 3.3 I think. -- Take care, Ty http://tds-solutions.net The aspen project: a barebones light-weight mud engine: http://code.google.com/p/aspenmud He that will not reason is a bigot; he that cannot reason is a fool; he that dares not reason is a slave. -- http://mail.python.org/mailman/listinfo/python-list
google api and oauth2
Hello all: I've been trying to figure out the oauth2client part of google's api, and I am really confused. It shows a flow, and even with the client flow, you need a redirect uri. This isn't important because I just want to get both an access and refresh token. Has anyone had any experience with this? Is it easier to use a more developed oauth2 library to handle this? If so, can anyone make any suggestions? If I understand everything correctly, it doesn't matter what library I would use to work with the oauth2 protocol, so I could break out of this workflow thing that looks like it's more designed for web apps. Finally, they caution you about being careful about your client id and your client secret; is there much in the way of obviscation or something I can do to keep this secret? -- Take care, Ty http://tds-solutions.net The aspen project: a barebones light-weight mud engine: http://code.google.com/p/aspenmud He that will not reason is a bigot; he that cannot reason is a fool; he that dares not reason is a slave. -- http://mail.python.org/mailman/listinfo/python-list
Re: google api and oauth2
On 9/25/2012 2:05 PM, Demian Brecht wrote: This is a shameless plug, but if you want a much easier to understand method of accessing protected resources via OAuth2, I have a 55 LOC client implementation with docs and examples here:https://github.com/demianbrecht/sanction (Google is one of the tested providers with an access example). No complaints from me if it works. Honestly I was a bit discouraged at Google's decent lack of documentation and the quality of the code. Are you trying to access resources client side (through Javascript) or server side? Either way, the redirect URI *is* important. The first step is to have your user authorize your application using Google's authorization page. As one of the query parameters, you must specify the redirect URI (which must match those registered through Google's app console). I'm trying to access it through a desktop Python application, which made me really confused. There was something else that talked about returning the tokens in a different way, but it talked about returning them in the title of the webpage, and since I'd be spawning a browser to request authorization, I'd have to write something that would pull the window information and then parse out the token from the title, which doesn't sound to stable. Once the user has authorized your application, they're redirected back to your site (via the specified redirect URI), with a code attached as a query param. Once you get that code, you must exchange that with Google's token endpoint to retrieve the access and refresh tokens. Awesome. I could theoretically just create a webpage on my server to redirect people to with the query, but I'm still not quite sure how I'd retrieve that from the desktop application. No, it doesn't matter which library you use. Google's (imho) is overly verbose and difficult to grok (especially for someone new to either OAuth 2.0 or Python, or both). The client ID doesn't need to be kept private, but the secret does. You should *never* put this anywhere that can be read publicly. I plan on storing them both in variables. It's not going to be the best solution, but I plan to use python -O to create pyo files, which from what I understand are harder to decompile, and it'll be in a py2exe executable. Still not to hard to get at, but it's not right there either. On Tue, Sep 25, 2012 at 12:04 PM, Littlefield, Tyler ty...@tysdomain.com mailto:ty...@tysdomain.com wrote: Hello all: I've been trying to figure out the oauth2client part of google's api, and I am really confused. It shows a flow, and even with the client flow, you need a redirect uri. This isn't important because I just want to get both an access and refresh token. Has anyone had any experience with this? Is it easier to use a more developed oauth2 library to handle this? If so, can anyone make any suggestions? If I understand everything correctly, it doesn't matter what library I would use to work with the oauth2 protocol, so I could break out of this workflow thing that looks like it's more designed for web apps. Finally, they caution you about being careful about your client id and your client secret; is there much in the way of obviscation or something I can do to keep this secret? -- Take care, Ty http://tds-solutions.net The aspen project: a barebones light-weight mud engine: http://code.google.com/p/aspenmud He that will not reason is a bigot; he that cannot reason is a fool; he that dares not reason is a slave. -- http://mail.python.org/mailman/listinfo/python-list -- Take care, Ty http://tds-solutions.net The aspen project: a barebones light-weight mud engine: http://code.google.com/p/aspenmud He that will not reason is a bigot; he that cannot reason is a fool; he that dares not reason is a slave. -- http://mail.python.org/mailman/listinfo/python-list
Re: request for another code review
On 9/23/2012 9:48 PM, alex23 wrote: On Sep 23, 6:14 am, Littlefield, Tyler ty...@tysdomain.com wrote: I've gotten a bit farther into my python mud, and wanted to request another code review for style and the like. Are you familiar with codereview.stackexchange.com ? I actually wasn't, thanks! (This isn't to dissuade you from posting such requests here, just to help increase the chance of eyeballs on your code.) -- Take care, Ty http://tds-solutions.net The aspen project: a barebones light-weight mud engine: http://code.google.com/p/aspenmud He that will not reason is a bigot; he that cannot reason is a fool; he that dares not reason is a slave. -- http://mail.python.org/mailman/listinfo/python-list
Re: request for another code review
On 9/23/2012 9:48 PM, alex23 wrote: On Sep 23, 6:14 am, Littlefield, Tyler ty...@tysdomain.com wrote: I've gotten a bit farther into my python mud, and wanted to request another code review for style and the like. Are you familiar with codereview.stackexchange.com ? I actually wasn't, thanks! (This isn't to dissuade you from posting such requests here, just to help increase the chance of eyeballs on your code.) -- Take care, Ty http://tds-solutions.net The aspen project: a barebones light-weight mud engine: http://code.google.com/p/aspenmud He that will not reason is a bigot; he that cannot reason is a fool; he that dares not reason is a slave. -- http://mail.python.org/mailman/listinfo/python-list
Re: keeping information about players around
On 9/24/2012 3:14 PM, Dwight Hutto wrote: I have yet another design question. In my mud, zones are basically objects that manage a collection of rooms; For example, a town would be it's own zone. It holds information like maxRooms, the list of rooms as well as some other data like player owners and access flags. The access flags basically is a list holding the uid of a player, as well as a bitarray of permissions on that zone. For example, a player might have the ability to edit a zone, but not create rooms. So I have a couple of questions based on this: First, how viable would it be to keep a sort of player database around with stats and that? Well, what are the main items you need to retain for the player to return to the game? All of their contents are stored, which right now is done through Pickle. The stats is something different, as like I said, I don't want to unpickle an object every time I for example look at a zone and see what players have permissions on it. Also, If this is a browser app I'd go with phpmyadmin, and MySQL If a tkinter/wxpython/etc app, then maybe sqlite. PHPMyAdmin? Might I ask why? This is a mud, so it's all command based, so that's not even a question, but I'm kind of curious how PHPMyAdmin factors in there. It's a database creation tool from all I've ever seen of it, to define tables. Also, using it requires that I have it up on some server or another, and I'd really rather avoid that if I can. It could contain the player's level, as well as other information like their access (player, admin, builder etc), and then when someone does a whois on the player I don't have to load that player up just to get data about them. How would I keep the information updated? When I delete a player, I could just delete the entry from the database by uid. Second, would it be viable to have both the name and the uid stored in the dictionary? Then I could look up by either of those? Why would you use a dictionary, when it's DB manipulation you're after? It is? I don't remember mentioning database anything in my thread. Unless I missed it, I mentioned pickle once or twice. But either way, I'd use a dictionary to keep a copy of {uid:object} for objects and {uid:player} for players. Makes lookup by uid pretty easy, as well as for any loaded objects. Also, I have a couple more general-purpose questions relating to the mud. When I load a zone, a list of rooms get stored on the zone, as well as world. I thought it might make sense to store references to objects located somewhere else but also on the world in WeakValueDictionaries to save memory. It prevents them from being kept around (and thus having to be deleted from the world when they lose their life), but also (I hope) will save memory. Is a weakref going to be less expensive than a full reference? For any case, you're going to have a DB field with a value, so it doesn't look like a high value memory cost in the DB. Second, I want to set up scripting so that you can script events for rooms and npcs. For example, I plan to make some type of event system, so that each type of object gets their own events. For example, when a player walks into a room, they could trigger some sort of trap that would poison them. This leads to a question though: I can store scripting on objects or in separate files, but how is that generally associated and executed? Well, the event doesn't need to be stored unless there is a necessity to store the event, but if it's poisoned, then it's just a life penalty, then no need to store the event, just the score loss. I was asking about scripting the rooms, more than storing it. I need to have python code somewhere, somehow that attaches to the onEnter event in a room and subtracts hp from the player. Obviously you want that to be object specific and not have that script on everything. Finally, I just want to make sure I'm doing things right. When I store data, I just pickle it all, then load it back up again. My world object has an attribute defined on it called picklevars, which is basically a list of variables to pickle, and my __getstate__ just returns a dictionary of those. All other objects are left as-is for now. Zones, (the entire zone and all it's rooms) get pickled, as well as players and then the world object for persistence. Is this the suggested way of doing things? I'll also pickle the HelpManager object, which will basically contain a list of helpfiles that I might suggest you take a look at the Blender Game Engine(python API) at this point, unless you're just liking doing it the hard way to gain experience(just like I have). That's cool I guess, but I'm not taking your road and doing it the hard way for experience. The setup is more of a game engine, but beyond that, I don't think I need everything i get from a game library, especially since IIRC, Blender is mainly 3d focused? Design the DB, and let the scene render what needs to be rendered, or list
Re: For Counter Variable
On 9/24/2012 6:25 PM, Dwight Hutto wrote: To highlight the vast gulf between what you think you are and what you actually produce. I produce working code, and if it works, then I don't just think...I know. Working code != good code. Just an observation. Also, I've noticed a vast differences between someone who can explain their answers as Alix has done on multiple threads you've replied to in the last 5 minutes, and someone who cobbles something together with your variable isn't being shown right because there's no self.a, which actually really makes no sense at all. Just my $0.02. -- Take care, Ty http://tds-solutions.net The aspen project: a barebones light-weight mud engine: http://code.google.com/p/aspenmud He that will not reason is a bigot; he that cannot reason is a fool; he that dares not reason is a slave. -- http://mail.python.org/mailman/listinfo/python-list
Re: Who's laughing at my responses, and who's not?
On 9/24/2012 10:43 PM, Dwight Hutto wrote: It sounds pretentious, but over the past several days, I've been slammed on every post almost. All because of an argument over me not posting a little context in a conversation, that seemed short and chatty. I was just wondering, if it's just them, or if it's my netiquette. I think you'd have a leg to stand on here if you didn't start cursing at anyone who got on your wrong side. It wasn't really an issue until you threw that up. Granted you did take your cursing off list finally, but you still continued (and as of about 2 hours ago) continue to post trash like you did in response to Alix's message. If you want to argue something, by all means argue. But there's no need to resort to comments like you've made. -- Take care, Ty http://tds-solutions.net The aspen project: a barebones light-weight mud engine: http://code.google.com/p/aspenmud He that will not reason is a bigot; he that cannot reason is a fool; he that dares not reason is a slave. -- http://mail.python.org/mailman/listinfo/python-list
Re: List Problem
On 9/23/2012 3:44 PM, jimbo1qaz wrote: On Sunday, September 23, 2012 2:31:48 PM UTC-7, jimbo1qaz wrote: I have a nested list. Whenever I make a copy of the list, changes in one affect the other, even when I use list(orig) or even copy the sublists one by one. I have to manually copy each cell over for it to work. Link to broken code: http://jimbopy.pastebay.net/1090401 No, actually that's the OK code. http://jimbopy.pastebay.net/1090494 is the broken one. I've not been following this thread fully, but why not just use x=list(y) to copy the list? The issue is that when you assign i=[1,2,3] and then j = i, j is just a reference to i, which is why you change either and the other changes. -- Take care, Ty http://tds-solutions.net The aspen project: a barebones light-weight mud engine: http://code.google.com/p/aspenmud He that will not reason is a bigot; he that cannot reason is a fool; he that dares not reason is a slave. -- http://mail.python.org/mailman/listinfo/python-list
keeping information about players around
ytHello all: I've asked for a couple code reviews lately on a mud I've been working on, to kind of help me with ideas and a better design. I have yet another design question. In my mud, zones are basically objects that manage a collection of rooms; For example, a town would be it's own zone. It holds information like maxRooms, the list of rooms as well as some other data like player owners and access flags. The access flags basically is a list holding the uid of a player, as well as a bitarray of permissions on that zone. For example, a player might have the ability to edit a zone, but not create rooms. So I have a couple of questions based on this: First, how viable would it be to keep a sort of player database around with stats and that? It could contain the player's level, as well as other information like their access (player, admin, builder etc), and then when someone does a whois on the player I don't have to load that player up just to get data about them. How would I keep the information updated? When I delete a player, I could just delete the entry from the database by uid. Second, would it be viable to have both the name and the uid stored in the dictionary? Then I could look up by either of those? Also, I have a couple more general-purpose questions relating to the mud. When I load a zone, a list of rooms get stored on the zone, as well as world. I thought it might make sense to store references to objects located somewhere else but also on the world in WeakValueDictionaries to save memory. It prevents them from being kept around (and thus having to be deleted from the world when they lose their life), but also (I hope) will save memory. Is a weakref going to be less expensive than a full reference? Second, I want to set up scripting so that you can script events for rooms and npcs. For example, I plan to make some type of event system, so that each type of object gets their own events. For example, when a player walks into a room, they could trigger some sort of trap that would poison them. This leads to a question though: I can store scripting on objects or in separate files, but how is that generally associated and executed? Finally, I just want to make sure I'm doing things right. When I store data, I just pickle it all, then load it back up again. My world object has an attribute defined on it called picklevars, which is basically a list of variables to pickle, and my __getstate__ just returns a dictionary of those. All other objects are left as-is for now. Zones, (the entire zone and all it's rooms) get pickled, as well as players and then the world object for persistence. Is this the suggested way of doing things? I'll also pickle the HelpManager object, which will basically contain a list of helpfiles that can be accessed, along with their contents. Thanks, and appologies for all the questions. -- Take care, Ty http://tds-solutions.net The aspen project: a barebones light-weight mud engine: http://code.google.com/p/aspenmud He that will not reason is a bigot; he that cannot reason is a fool; he that dares not reason is a slave. -- http://mail.python.org/mailman/listinfo/python-list
request for another code review
Hello all: I've gotten a bit farther into my python mud, and wanted to request another code review for style and the like. Mainly I'm concerned about player.py, world.py and components and other ways to handle what I'm trying to do. I didn't run pychecker just yet, so there are probably a ton of syntax errors; my problem was that world was importing room, and room imported world for functionality and that made things a mess. Ideas and suggestions for code cleanup and cleaner ways to do things would be appreciated. git clone https://code.google.com/p/pymud/ Thanks, -- Take care, Ty http://tds-solutions.net The aspen project: a barebones light-weight mud engine: http://code.google.com/p/aspenmud He that will not reason is a bigot; he that cannot reason is a fool; he that dares not reason is a slave. -- http://mail.python.org/mailman/listinfo/python-list
using uwsgi to get flask going
Hello all: This is my first shot with UWSGI and Python on Nginx, and I'm getting kind of confused. My uwsgi init script looks like: #!/bin/sh #/etc/init.d/uwsgi ### BEGIN INIT INFO # Provides: uwsgi # Required-Start: $all # Required-Stop: $all # Default-Start: 2 3 4 5 # Default-Stop: 0 1 6 ### END INIT INFO PID=/var/run/uwsgi/uwsgi.pid SOCKET=/var/run/uwsgi/uwsgi.sock DAEMON=/usr/local/bin/uwsgi LOGFILE=/var/log/uwsgi.log ARGS=--master --socket $SOCKET -d --workers 4 --pidfile $PID --vacuum --max-requests 400 --gid uwsgi --uid uwsgi --logto2 $LOGFILE --chdir2 /opt/nginx/html/falcon -w app:app case $1 in start) echo Starting uwsgi touch $SOCKET touch $LOGFILE chown uwsgi:uwsgi $LOGFILE chmod 660 $LOGFILE chown -R www-data:uwsgi $SOCKET chmod 660 $SOCKET start-stop-daemon -p $PID --start --exec $DAEMON -- $ARGS ;; stop) echo Stopping uwsgi. start-stop-daemon --signal INT -p $PID --stop $DAEMON -- $ARGS ;; restart) echo Stopping uwsgi. start-stop-daemon --signal INT -p $PID --stop $DAEMON -- $ARGS echo Starting uwsgi start-stop-daemon -p $PID --start --exec $DAEMON -- $ARGS ;; *) echo Usage: /etc/init.d/uwsgi stop|stop|restart. exit 1 ;; esac I'm trying to chdir so I can use app:app (ap.py is the script, app is the application in app.py). From what I understand, uwsgi just spawns a Python process and runs app.py to handle requests? It doesn't spawn a process per instance? How easy would it be to force it to use PyPy for example? Also my nginx config: server { server_name www.dev.tds-solutions.net dev.tds-solutions.net; listen 80; access_log logs/dev.access.log; location / { root html/falcon; index index.html index.htm; try_files $uri @uwsgi; } location ~ /\.ht { deny all; } location @uwsgi { include /opt/nginx/conf/uwsgi_params; uwsgi_pass unix:/var/run/uwsgi/uwsgi.sock; } } anyone see anything wrong? Any info would be greatly appreciated. -- Take care, Ty http://tds-solutions.net The aspen project: a barebones light-weight mud engine: http://code.google.com/p/aspenmud He that will not reason is a bigot; he that cannot reason is a fool; he that dares not reason is a slave. -- http://mail.python.org/mailman/listinfo/python-list
Re: VPS For Python
On 8/26/2012 1:41 AM, coldfire wrote: I will really appreciate if someone type the address of any of the following for use with python 1Webhost 2Shell Account 3VPS I love Linode, it's amazing and you get decent resources for a decent price. If you sign up, I'd really appreciate it if you used my code. They also have a realloygood library at linode.com/library to show you how to set a lot of stuff up. http://www.linode.com/?r=7858d151c1ea11c0ce9a1398865b1cc7ad28c19f I am really new to all this Got web server and shell account but unable to figure out how to use it or deploy the Code, My problem is that I m using lot of third party Library which are mostly not supported or I don't know How to make it RUN over Internet -- Take care, Ty http://tds-solutions.net The aspen project: a barebones light-weight mud engine: http://code.google.com/p/aspenmud He that will not reason is a bigot; he that cannot reason is a fool; he that dares not reason is a slave. -- http://mail.python.org/mailman/listinfo/python-list
Re: modeling complex data with sqlalchemy
Hello: Thanks for the info. IT doesn't really model the data I wanted. The contents was easy enough, I'm just going to set up a 1:n relationship on the Entity to the actual player. But for components, it's a bit different. Each component inherits the actual Component class, and has a number of attributes on it. I can't just put it in it's own. So I was going to set up a table per component and then just store an id and another id for what holds it. But my problem is modeling it. I also need the inherited data from Component. Would there be a way to do this? I could have: id, name, component_id and then SA could use the name as the table's name, and the id as the id of the component in the other table. How would I set this up with SA? Is it a good idea to go this route? On 8/25/2012 5:53 PM, Dennis Lee Bieber wrote: On Sat, 25 Aug 2012 14:47:35 -0600, Littlefield, Tyler ty...@tysdomain.com declaimed the following in gmane.comp.python.general: Hello all: I had a quick question. In my game, I have an is-a setup, where all objects contain data like an id for sqlalchemy, a name, a description and a list of contents. Well, a list of contents comes down to a table of items with a foreign key to the item containing them... create table objects ( ID integer auto-increment primary key, namevarchar(?), description varchar(?) ) 1, Wulfraed, something or other 2, Bag of Holding, whatever 3, Sword, some cutting comments 4, Treasure Chest, everyone wants one create table holdings ( ID integer auto-increment primary key, holder integer foreign key objects(ID), holding integer foreign key objects(ID) ) 1, 1, 2 2, 1, 3 3, 2, 4 In order to add functionality to an object, you add components. So for example, a player would have the Player and Living component associated create table attribute_types ( ID integer auto-increment primary key, namevarchar(?), typechar(?),#or an enumeration if supported by the RDBM #and SQLAlchemy ) 1, Player, Boolean 2, Living, Boolean 3, EdgeWeapon, Boolean 4, Damage, DieRoll 5, ContainerSize, Integer 6, Class, Text create table attributes ( ID integer auto-increment primary key, describes integer foreign key objects(ID), attribute integer foreign key attribute_types(ID), value BLOB(?) ) 1, 1, 1, blob(True) 2, 1, 2, blob(True) 3, 3, 3, blob(True) 4, 3, 4, blob(1D8 + 4) 5, 2, 5, blob(-1) #-1 being unlimited, bag of holding 6, 4, 5, blob(6)#treasure chest holds 6 units of objects 7, 1, 6, blob(Ranger) Now, you could add another layer of indirection -- a table of pre-defined object /types/ (different types of containers, swords, other weapons), and have each instance (the ones shown in objects) refer to the object type table, and the object type table is what the object attributes refers to. -- Take care, Ty http://tds-solutions.net The aspen project: a barebones light-weight mud engine: http://code.google.com/p/aspenmud He that will not reason is a bigot; he that cannot reason is a fool; he that dares not reason is a slave. -- http://mail.python.org/mailman/listinfo/python-list
modeling complex data with sqlalchemy
Hello all: I had a quick question. In my game, I have an is-a setup, where all objects contain data like an id for sqlalchemy, a name, a description and a list of contents. In order to add functionality to an object, you add components. So for example, a player would have the Player and Living component associated with the basic object. It's sort of a way to give myself a way to add functionality without having a lot of multiple inheritance. This creates a problem for me though, since it looks like each component would have it's own table. How would you go about modeling the 1:n relationship between entity and each component? Also, I'm going to have a location property on the object, which is basically it's location (a reference to another Entity), or None if it has no parent. How would you set that up in SA so that location gets translated to an ID and then translated back to the required object? Might there be another easier way to model all this data? It looks like this database could get rather large, extremely quickly. -- Take care, Ty http://tds-solutions.net The aspen project: a barebones light-weight mud engine: http://code.google.com/p/aspenmud He that will not reason is a bigot; he that cannot reason is a fool; he that dares not reason is a slave. -- http://mail.python.org/mailman/listinfo/python-list
Re: code review
On 7/3/2012 10:55 PM, Simon Cropper wrote: Some questions to Tyler Littlefield, who started this thread. Q1 -- Did you get any constructive feedback on your code? I did get some, which I appreciated. someone mentioned using PyLint. From reading, I found it was really really pedantic, so I used PyFlakes instead. Q2 -- Did you feel that the process of submitting your code for review met your expectation? There wasn't much more to review, so yes. The info I got was helpful and farther than it was before I started. Q3 -- Would you recommend others doing this either on this forum or other fora? It appears to me - third party watching the ongoing dialog - that the tread has gone right off topic (some time ago) and someone should really start a new thread under a new title/subject. Most of what I have read does not appear to be discussing your code or how you could improve your code. I basically just stopped after a while. It got into a my language is better than your language, so I didn't see much constructive info. I've started reading from the bottom though, where it looks like it's back, and I do appreciate the rest of the info given, as well. Thanks again for the feedback. Following the last few posts, I was wondering whether some other off-list dialog is going on or whether I am missing something. -- Take care, Ty http://tds-solutions.net The aspen project: a barebones light-weight mud engine: http://code.google.com/p/aspenmud He that will not reason is a bigot; he that cannot reason is a fool; he that dares not reason is a slave. -- http://mail.python.org/mailman/listinfo/python-list
Re: code review
On 6/29/2012 2:14 AM, Serhiy Storchaka wrote: The project page is at: http://code.google.com/p/pymud Any information is greatly appreciated. Do you mean snip No, I mean http://code.google.com/p/pymud -- Take care, Ty http://tds-solutions.net The aspen project: a barebones light-weight mud engine: http://code.google.com/p/aspenmud He that will not reason is a bigot; he that cannot reason is a fool; he that dares not reason is a slave. -- http://mail.python.org/mailman/listinfo/python-list
Re: code review
On 6/29/2012 1:31 AM, Steven D'Aprano wrote: On Thu, 28 Jun 2012 20:58:15 -0700, alex23 wrote: On Jun 29, 12:57 pm, Littlefield, Tyler ty...@tysdomain.com wrote: I was curious if someone wouldn't mind poking at some code. The project page is at:http://code.google.com/p/pymud Any information is greatly appreciated. I couldn't find any actual code at that site, the git repository is currently empty. OOPS, sorry. Apparently I'm not as good with git as I thought. Everything's in the repo now. -- http://mail.python.org/mailman/listinfo/python-list
Re: code review
I am no expert but from what have picked up so far from x import is frowned upon in most cases also this section in main strikes me as a bit odd and convoluted w = world() serv = server(client) w.server = serv serv.world = w I think you are cross referencing classes would be better to investigate inheritance. From what I understand and how I've always employed it, inheritance is ment when you wish to give a class characteristics of another class. All I'm doing here is setting the world and server classes on each other, so they can call one another. This probably isn't needed in case of serv.server = w, but for sure the other way around. -- Take care, Ty http://tds-solutions.net The aspen project: a barebones light-weight mud engine: http://code.google.com/p/aspenmud He that will not reason is a bigot; he that cannot reason is a fool; he that dares not reason is a slave. -- http://mail.python.org/mailman/listinfo/python-list
code review
Hello all: I was curious if someone wouldn't mind poking at some code. I have an idea for a game I want to write (and if this works I want to use this as a framework for another project), but I'd like to make sure I'm doing things correctly/there's not a better way to do things. My concern is I'm going to get way far into this, then realize I totally broke something. So, if someone wouldn't mind taking a peek I'd appreciate it. My concerns are: 1) style/cleanlyness: does everything look ok? 2) Workability: is there a better way to do what is there? 3) Speed: am I doing something that could be improved? I don't want to spend a ton of time looking for non-existent bottlenecks and trying to improve on them, but if I'm doing something that's bad, I'd like to fix it. The project page is at: http://code.google.com/p/pymud Any information is greatly appreciated. -- Take care, Ty http://tds-solutions.net The aspen project: a barebones light-weight mud engine: http://code.google.com/p/aspenmud He that will not reason is a bigot; he that cannot reason is a fool; he that dares not reason is a slave. -- http://mail.python.org/mailman/listinfo/python-list
keeping twisted and wxPython in sync
Hello all: I have a couple questions. First, is there a way to know if connectTCP failed? I am writing a client with Twisted and would like to be able to notify the user if they couldn't connect. Second, I set the protocol on my factory after a connection has been made. So when I send my user and password, that is when I connect. Is there a way to handle waiting for the connection to complete? -- Take care, Ty Web: http://tds-solutions.net The Aspen project: a light-weight barebones mud engine http://code.google.com/p/aspenmud Sent from my toaster. -- http://mail.python.org/mailman/listinfo/python-list
python logging module:a quick question
Hello all: I have a basic server I am working on, and wanted some input with an error I'm getting. I am initializing the logger like so: if __name__ == __main__: observer = log.PythonLoggingObserver() observer.start() logging.basicConfig(filename='logs/server.log', level=logging.DEBUG, format='%(asctime)s [%(levelname)s] %(module)s:%(funcname)s:%(lineno)d %(message)s') logger = logging.getLogger() logger.addHandler(logging.handlers.TimedRotatingFileHandler) ... I get the following error: File /home/gserver/alpine/lib/python2.7/site-packages/twisted/internet/protoc ol.py, line 52, in doStart log.msg(Starting factory %r % self) --- exception caught here --- File /home/gserver/alpine/lib/python2.7/site-packages/twisted/python/log.py, line 284, in msg self.observers[i](actualEventDict) File /home/gserver/alpine/lib/python2.7/site-packages/twisted/python/log.py, line 532, in emit self.logger.log(level, text) File /usr/local/lib/python2.7/logging/__init__.py, line 1195, in log self._log(level, msg, args, **kwargs) File /usr/local/lib/python2.7/logging/__init__.py, line 1250, in _log self.handle(record) File /usr/local/lib/python2.7/logging/__init__.py, line 1260, in handle self.callHandlers(record) File /usr/local/lib/python2.7/logging/__init__.py, line 1299, in callHandler s if record.levelno = hdlr.level: exceptions.AttributeError: type object 'TimedRotatingFileHandler' has no attribute 'level' I'm also curious how this rotating handler works. Will it just log to a file per day for a week, then start rotating those out with newer ones? Can I change the interval? -- Take care, Ty Web: http://tds-solutions.net The Aspen project: a light-weight barebones mud engine http://code.google.com/p/aspenmud Sent from my toaster. -- http://mail.python.org/mailman/listinfo/python-list
using twisted as a client-server hybrid
Hello all: I have a quick question--I am working on a project where a system will connect to me to get commands. The idea is to make the server the client, used for dispatching commands, so I'm trying to find a way that I can set it up to listen, but poll stdin somehow for input. Is this a possibility? -- Take care, Ty Web: http://tds-solutions.net The Aspen project: a light-weight barebones mud engine http://code.google.com/p/aspenmud Sent from my toaster. -- http://mail.python.org/mailman/listinfo/python-list
Re: How to structure packages
On 9/10/2011 4:11 AM, Nobody wrote: On Fri, 09 Sep 2011 11:37:44 +1000, Chris Angelico wrote: The Java compiler also acts as a make program. If it doesn't find a .class file for a needed class, it will search for the corresponding .java file and compile that. So to compile a complex program, you only need to compile the top-level file (e.g. HelloWorld.java), and it will compile everything which is required. No Makefile is needed, as the relationship between classes, object files and source files is fixed. If that's the entire benefit, then I think this is a rather hefty price to pay for the elimination of a makefile. It also eliminates the need for TAGS files, browser database (PDB) files, etc. Once you know the class name, all of the filenames follow from that. I suspect that the one-to-one correspondence between classes and .class files is mostly technical (e.g. Java's security model). The one-to-one correspondence between class files and source files could probably be relaxed, but at the expense of complicating the IDE and toolchain. I never saw it as a problem, given that Java is fundamentally class-based: there are no global variables or functions, only classes. Sure there are no global variables, but having one class per file is one of the big things I hate about Java. Sure it keeps things organized, but that's a bit to much for me. -- Take care, Ty Web: http://tds-solutions.net The Aspen project: a light-weight barebones mud engine http://code.google.com/p/aspenmud Sent from my toaster. -- http://mail.python.org/mailman/listinfo/python-list
Re: test if a subclass inherits a superclass method
On 9/10/2011 5:58 AM, Kayode Odeyemi wrote: Hello, I'm testing Python's class abstractness and inheritance. Since interface doesn't exist, I will like to test how to have access to a superclass method from a subclass without necessary invoking or overriding the superclass method in its subclass. class Equipment(object): ... def fault(): ... return fault ... Equipment().__class__ class '__main__.Equipment' class Vehicle(Equipment): ... # Find out here if Vehicle has access to fault I want to know whether Vehicle has access to Equipment's fault() method. Just want to know if it's there(that a vehicle can also develop a fault). I know I can override it, but I want to know if I can use it directly without overriding it. Perhaps this helps: http://stackoverflow.com/questions/610883/how-to-know-if-an-object-has-an-attribute-in-python -- Odeyemi 'Kayode O. http://www.sinati.com. t: @charyorde -- Take care, Ty Web: http://tds-solutions.net The Aspen project: a light-weight barebones mud engine http://code.google.com/p/aspenmud Sent from my toaster. -- http://mail.python.org/mailman/listinfo/python-list
Re: using python in web applications
On 9/9/2011 10:19 PM, Ben Finney wrote: Littlefield, Tylerty...@tysdomain.com writes: I'm curious if there are some good solutions for using Python in web applications. Start with: URL:http://docs.python.org/howto/webservers.html#frameworks URL:http://wiki.python.org/moin/WebFrameworks Awesome, will do, thanks. and try your criteria against what you find there. -- Take care, Ty Web: http://tds-solutions.net The Aspen project: a light-weight barebones mud engine http://code.google.com/p/aspenmud Sent from my toaster. -- http://mail.python.org/mailman/listinfo/python-list
Re: using python in web applications
On 9/10/2011 5:35 PM, Laurent wrote: [troll] For a serious web based MMO you'd rather stick to low level and forget about bloated Object Relational Mapping java-like layered kind of frameworks that are made for Rapid Applications Development, not for efficiency. [/troll] I replied to that one off list I guess, but I figured Django was way more overhead than I wanted, doesn't really fit with solving the speed issue. Eve Online, a well known MMORPG was developped with stackless python : http://highscalability.com/eve-online-architecture You mentioned nginx so I can tell you I personally use Linux + nginx + mongodb (pymongo) + Python 3 version of cherrypy (with Mako templates) and it's working fine after some tuning. Awesome, thanks. I'm new to this, so some of that flew over my head, but I'll take a look at all of them. I'm not sure of the relevance of stackless in this case; I was looking into PyPy, but I'm not really sure whether that can be connected with nginx. I guess I could just write the web server in Python and use it from that point. -- Take care, Ty Web: http://tds-solutions.net The Aspen project: a light-weight barebones mud engine http://code.google.com/p/aspenmud Sent from my toaster. -- http://mail.python.org/mailman/listinfo/python-list
Re: what's the command for (cd ..) in python
On 9/9/2011 6:07 AM, kaustubh joshi wrote: Hello friends, How do we carry out the command *cd ..* in python? os.chdir, like so: os.getcwd() '/home/tyler' os.chdir(../) os.getcwd() '/home' So you could do something like: os.chdir(../foo) My problem is : I have a set of folders say m=1,2,3,4. In each of these folders, I have subfolders with common name say m_5,m_6,m_7,m_8. In each of these subfolder, there is a file which I have edit. 1 23 4 | | | | -- 1_5, 1_6, 1_7, 1_8 2_5 ,2_6, 2_7, 2_8 3_5, 3_6, 3_7, 3_8 4_5, 4_6, 4_7, 4_8 That is how I designed it When I run my script, it follows the route 1 --- 1_5- do the edit job in the file. Now it need to change the subfolder from 1_5 to 1_6, which is not happening. I created the folders using variable like m for folder taking values 1,2,3,4 and m_n for subfolders with n=5,6,7,8. I am trying with os.chdir(path), but stuck with how to use m_n in it. What I am missing at the moment is something that do the job cd .. does. Any help Karan -- Take care, Ty Web: http://tds-solutions.net Sent from my toaster. -- http://mail.python.org/mailman/listinfo/python-list
Re: Installing 2.6 on Win 7
On 9/9/2011 2:04 PM, ray wrote: I have not found binaries for this install. The page http://www.python.org/download/windows/ takes me to http://www.python.org/download/releases/ which goes to http://www.python.org/download/releases/2.6.7/ Here are Gzip and Bzip tar balls. The readme files describe linux builds and the content seems to match. Are there win binaries or source files? http://www.python.org/getit/releases/2.6.6/ has a release for windows x86 and x64 ray -- Take care, Ty Web: http://tds-solutions.net The Aspen project: a light-weight barebones mud engine http://code.google.com/p/aspenmud Sent from my toaster. -- http://mail.python.org/mailman/listinfo/python-list
using python in web applications
Hello all: I'm curious if there are some good solutions for using Python in web applications. I'm not feeling particularly masochistic, so I do not want to develop this project in PHP; essentially I'm looking to build a web-based MMO. I know that you can use nginx with Python with servers like Flask, but I'm not really sure how well all of those work. Since this will be a game, I can expect quite a few users; I've already got quite a lot of interest. I don't much care for PHP, but the thing that can be said for it is it's pretty quick. How does Python compare? Are there some solutions (I was told about PyPy today) that would be quicker that I could still use for the web app? I'm also curious what databases are suggested? I've always done most of my work in MYSql, but from what I understand postgresql is becoming more popular to. Thanks all for the input, -- Take care, Ty Web: http://tds-solutions.net The Aspen project: a light-weight barebones mud engine http://code.google.com/p/aspenmud Sent from my toaster. -- http://mail.python.org/mailman/listinfo/python-list
Re: How to structure packages
On 9/7/2011 9:56 AM, bclark76 wrote: I'm learning python, and was playing with structuring packages. Basically I want to have a package called mypackage that defines a number of classes and functions. so I create: mypackage __init__.py myfunc.py MyClass.py my __init__.py is blank. my MyClass.py looks like: import blah class MyClass(blahblah): blah blah blah then I have a run.py that looks like from mypackage import MyClass x = MyClass() This doesn't work because MyClass is mypackage.MyClass.MyClass. There's this MyClass module 'in the way'. You can use the __init__.py to promote that class up. so: from myclass import myclass So that means that myclass will just be in mypackage.myclass, and thus your from mypackage import myclass would work perfectly. I'm not sure if this is how you're supposed to do it, but it works. I'm trying to follow the rule that every file defines only one class. I could define MyClass in __init__.py, but then what if I wanted to define more classes in the mypackage package? My one class per file rule goes out the window. Is this rule wrongheaded, or is there another way to do this? Thanks. -- Take care, Ty Web: http://tds-solutions.net Sent from my toaster. -- http://mail.python.org/mailman/listinfo/python-list
Looking for open-source Python projects to help out with
Hello: I've got a bit of time on my hands, so I'm curious what sorts of projects there are that people needs help with. I'd like to choose something that doesn't have a ton of red tape, but is stable, which is why I ask here instead of just Googling open source projects. My main interests lie in accessibility, Utilities and security. -- Take care, ~Ty Web: http://tds-solutions.net Sent from my toaster. -- http://mail.python.org/mailman/listinfo/python-list
parsing packets
Hello all: I'm working on a server that will need to parse packets sent from a client, and construct it's own packets. The setup is something like this: the first two bytes is the type of the packet. So, lets say we have a packet set to connect. There are two types of connect packet: a auth packet and a connect packet. The connect packet then has two bytes with the type, another byte that notes that it is a connect packet, and 4 bytes that contains the version of the client. The auth packet has the two bytes that tells what packet it is, one byte denoting that it is an auth packet, then the username, a NULL character, and a password and a NULL character. With all of this said, I'm kind of curious how I would 1) parse out something like this (I am using twisted, so it'll just be passed to my Receive function), and how I get the length of the packet with multiple NULL values. I'm also looking to build a packet and send it back out, is there something that will allow me to designate two bytes, set individual bits, then put it altogether in a packet to be sent out? -- Take care, Ty my website: http://tds-solutions.net my blog: http://tds-solutions.net/blog skype: st8amnd127 My programs don't have bugs; they're randomly added features! -- http://mail.python.org/mailman/listinfo/python-list
Dynamic URL shortening
Hello all: I started working on a project with someone else quite recently, and he has a request. The project requires an URL shortener, and he would like it to be dynamic for both users and developers. Apparently some applications on the mac allow for the user to input some data on a URL shortener and use that specific service to shorten URLS. So I'm curious if anyone has had any experience with this in python/can recommend a library to look at. Secondly, my requirement to make this dynamic for developers. The way I did this was to use a metaclass that the base URLShortener will inherit, which will add itself to a shortener registry. This works well enough, and all I really need to do is something like: shortener = factory.getShortener(bitly) url = shortener.shorten(http://google.com;) How viable is this solution? It seems like it's nice enough, are there other approaches to handling something like this? -- Take care, Ty my website: http://tds-solutions.net my blog: http://tds-solutions.net/blog skype: st8amnd127 My programs don't have bugs; they're randomly added features! -- http://mail.python.org/mailman/listinfo/python-list
Re: [Python-Dev] [RELEASED] Python 3.2.1 rc 1
For an extensive list of changes and features in the 3.2 line, see http://docs.python.org/3.2/whatsnew/3.2.html Might I presume that clicking the link would show the required changes? -- http://mail.python.org/mailman/listinfo/python-list
Re: obviscating python code for distribution
might be secure as long as attackers cannot, say: You forgot UFOs. Anyway, again, thanks to everyone for the advice, this is good reading. Incidentally, I don't know to much about security. I know about rate limiting and dos attacks, as well as some others, but I think there's a lot more that I don't know--can someone kind of aim me in the right direction for some of this? I want to be able to take techniques, break my server and then fix it so that can't be done before I head to public with this. -- http://mail.python.org/mailman/listinfo/python-list
Re: FW: help please
Not to be pedantic or anything, and I may not be able to help regardless, but it looks like your space key is fixed, and I don't really care to pick through and try to play hangman with your message. On 5/17/2011 3:43 AM, hamed azarkeshb wrote: From: hamed3...@hotmail.com To: webmas...@python.org Subject: help please Date: Tue, 17 May 2011 13:20:22 +0430 hi dear inwant to useautomation with catiaby python,but i dont know,h*ow do we can creat catsafearrayvariant in python?* please help me.i need urhelp by one example. thank u forany thing -- Take care, Ty my website: http://tds-solutions.net my blog: http://tds-solutions.net/blog skype: st8amnd127 “Programmers are in a race with the Universe to create bigger and better idiot-proof programs, while the Universe is trying to create bigger and better idiots. So far the Universe is winning.” “If Java had true garbage collection, most programs would delete themselves upon execution.” -- http://mail.python.org/mailman/listinfo/python-list
Re: FW: help please
I can't remember exactly in which release 'perfect English skills' were added to Python runtime requirements, could you please refresh my memory? the one that requires people use the space key and check over their messages before they hit the enter key. Not so bad a request, I don't think. I am using a screen reader--it takes the text and puts it in speech. It uses the space as it's separation between words, as we all do, so wheniseetextlikethis it just jumbles it altogether. The point was to request that the OP try to formulate a good request, or get the space key fixed, both of which would've helped. -- http://mail.python.org/mailman/listinfo/python-list
Re: obviscating python code for distribution
Write your game for the web. Write is as a SaaS (Software as a Service) - even if it's free and open source. I understood you loud and clear. And that makes a lot of assumptions on my game and the design. I don't really care to host this over the web. I want a centralized server that would perform the logic, where I can offload the playing of sounds (through a soundpack that's already installed) to the client-side. Not only that, but a lot of web technologies that would be used for this wouldn't really work, as I am doing this for the blind; Flash as well as a lot of the popular setups are not very accessible. -- http://mail.python.org/mailman/listinfo/python-list
Re: obviscating python code for distribution
Hello: I wanted to make the client in python, and the server possibly, though I'm not really sure on that. I was not worried about the code for the server being stolen, as much as I was worried about people tinkering with the client code for added advantages. Most of the logic can be handled by the server to prevent a lot of this, but there are still ways people could give themselves advantages by altering the client. -- http://mail.python.org/mailman/listinfo/python-list
Re: obviscating python code for distribution
Funny you should mention this now I don't go around parading the info, until I have to. Yes I agree Flash is not very accessible (never has been). Web Standards web apps and such however are quite accessible! If I was making a browser-based game, yes. As I'm not though... Anyway, thanks to everyone else who answered this thread. I've not done much like this besides muds, and all the logic is on the server there, I think I will build the client in python, open source it for people to fix/add to if they want and make sure to keep the server as secure as it can be. -- http://mail.python.org/mailman/listinfo/python-list
obviscating python code for distribution
Hello all: I have been considering writing a couple of programs in Python, but I don't want to distribute the code along with them. So I'm curious of a couple things. First, does there exist a cross-platform library for playing audio files, whose license I would not be violating if I do this? Second, would I be violating the twisted, wxpython licenses by doing this? Finally, is there a good way to accomplish this? I know that I can make .pyc files, but those can be disassembled very very easily with the disassembler and shipping these still means that the person needs the modules that are used. Is there another way to go about this? -- Take care, Ty my website: http://tds-solutions.net my blog: http://tds-solutions.net/blog skype: st8amnd127 “Programmers are in a race with the Universe to create bigger and better idiot-proof programs, while the Universe is trying to create bigger and better idiots. So far the Universe is winning.” “If Java had true garbage collection, most programs would delete themselves upon execution.” -- http://mail.python.org/mailman/listinfo/python-list
Re: obviscating python code for distribution
I'm putting lots of work into this. I would rather not have some script kiddy dig through it, yank out chunks and do whatever he wants. I just want to distribute the program as-is, not distribute it and leave it open to being hacked. On 5/15/2011 9:29 PM, Ben Finney wrote: Littlefield, Tylerty...@tysdomain.com writes: I have been considering writing a couple of programs in Python, but I don't want to distribute the code along with them. This topic has been raised many times before, and there is a response which is now common but may sound harsh: What is it you think you would gain by obfuscating the code, and why is that worthwhile? What evidence do you have that code obfuscation would achieve that? Finally, is there a good way to accomplish this? I know that I can make .pyc files, but those can be disassembled very very easily with the disassembler and shipping these still means that the person needs the modules that are used. Is there another way to go about this? Not really, no. You would be best served by critically examining the requirement to obfuscate the code at all. -- Take care, Ty my website: http://tds-solutions.net my blog: http://tds-solutions.net/blog skype: st8amnd127 “Programmers are in a race with the Universe to create bigger and better idiot-proof programs, while the Universe is trying to create bigger and better idiots. So far the Universe is winning.” “If Java had true garbage collection, most programs would delete themselves upon execution.” -- http://mail.python.org/mailman/listinfo/python-list
Re: obviscating python code for distribution
Hello: Thanks all for your information and ideas. I like the idea of open source; I have a fairly large (or large, by my standards anyway) project that I am working on that is open source. Here's kind of what I want to prevent. I want to write a multi-player online game; everyone will essentually end up connecting to my server to play the game. I don't really like the idea of security through obscurity, but I wanted to prevent a couple of problems. 1) First I want to prevent people from hacking at the code, then using my server as a test for their new setups. I do not want someone to gain some extra advantage just by editing the code. Is there some other solution to this, short of closed-source? Thanks, -- http://mail.python.org/mailman/listinfo/python-list
Re: De-tupleizing a list
What is the most Pythonic way to loop through the list returning a list like this?: here's how I'd do it: i [(1, 'a'), (2, 'b'), (3, 'c')] for item in i: ... a+=list(item) ... ... a [1, 'a', 2, 'b', 3, 'c'] -- http://mail.python.org/mailman/listinfo/python-list
Re: Egos, heartlessness, and limitations
And who pissed in Guido's punch bowl anyway? Why is he such an elitist now? Why can he not come over once and a while and rub shoulders with http://www.youtube.com/watch?v=FMEe7JqBgvg -- http://mail.python.org/mailman/listinfo/python-list
Re: Egos, heartlessness, and limitations
RR: I do have to ask, before I feed the troll, where the hell is your spellchecker? And you were talking about people being lazy? The irony is killing me. Now, you've been told you can fork Idol if you so choose, and you've been told to write up information on how you want to replace TKInter as well as start the ball rolling in that direction. Why don't you return under your rock, or do one of these rather than insulting everyone here and demanding people sit down with -you- to formulate a battle plan? -- http://mail.python.org/mailman/listinfo/python-list
Re: Egos, heartlessness, and limitations
We all have jobs James, and we still find the time to help others out Whose we? Can you point me to a thread within the last 6 months where you actually -helped- someone? I think he has evolved into a complete jerk (if you ask me) 1) We didn't ask you. 2) If he's been under this rock of his and won't come out to rub shoulders with the little people, as you say, how do you know he's a jerk? but most importantly, learn to laugh at yourself. we all laugh at you, even if you don't, so no worries. -- http://mail.python.org/mailman/listinfo/python-list
Re: fighting game made with python
yep, if somebody moves one more thing. there's going to be a fight... bitch in your own thread, please? We've already heard you complain plenty, no need to take it to other threads too. On 4/7/2011 9:10 AM, harrismh777 wrote: neil harper wrote: is there any fighting games(street fighter, mortal kombat, etc) made in python? yep, if somebody moves one more thing. there's going to be a fight... :) -- Thanks, Ty -- http://mail.python.org/mailman/listinfo/python-list
Re: fighting game made with python
Python would b ea bad choice for most of any fighting game, but could see use as a configuration or internal scripting engine. Python's objects are rather large, which sort of makes for some slow work. Maybe a configuration setup, but Lua and Angelscript are better suited to high-end games where scripting is required because of their smaller footprint. -- http://mail.python.org/mailman/listinfo/python-list
Re: Sending pictures using sockets
On 4/6/2011 4:58 PM, craf wrote: Hello. I'm testing the sockets in Python and I've seen the way in which works to send string. My question is if anyone knows where can find some information on how to send pictures through Sockets. I use Python 2.7 and have read the information regarding Sockets of the Python website, but I can not begin. Pictures are just like strings; grab it, send it in binary and you are set. Any help is welcome Greetings. Cristian AbarzĂşa F -- Thanks, Ty -- http://mail.python.org/mailman/listinfo/python-list
Re: using python to post data to a form
Sending POST data can be done as follows (I'm changing bar=foo to Thanks for this, and the links. On 4/4/2011 12:24 AM, Chris Rebert wrote: On Sun, Apr 3, 2011 at 10:36 PM, Littlefield, Tylerty...@tysdomain.com wrote: Hello: I have some data that needs to be fed through a html form to get validated and processed and the like. How can I use python to send data through that form, given a specific url? the form says it uses post, but Im not really sure what the difference is. They're different HTTP request methods: http://en.wikipedia.org/wiki/Hypertext_Transfer_Protocol#Request_methods The key upshot in this case is that GET requests place the parameters in the URL itself, whereas POST requests place them in the body of the request. would it just be: http://mysite.com/bla.php?foo=barbar=foo? No, that would be using GET. If so, how do I do that with python? Sending POST data can be done as follows (I'm changing bar=foo to bar=qux for greater clarity): from urllib import urlopen, urlencode form_data = {'foo' : 'bar', 'bar' : 'qux'} encoded_data = urlencode(form_data) try: # 2nd argument to urlopen() is the POST data to send, if any f = urlopen('http://mysite.com/bla.php', encoded_data) result = f.read() finally: f.close() Relevant docs: http://docs.python.org/library/urllib.html Cheers, Chris -- http://blog.rebertia.com -- Thanks, Ty -- http://mail.python.org/mailman/listinfo/python-list
using python to post data to a form
Hello: I have some data that needs to be fed through a html form to get validated and processed and the like. How can I use python to send data through that form, given a specific url? the form says it uses post, but Im not really sure what the difference is. would it just be: http://mysite.com/bla.php?foo=barbar=foo? If so, how do I do that with python? -- Thanks, Ty -- http://mail.python.org/mailman/listinfo/python-list
Re: Writing to a file
with open(test_absname, 'w') as test: what's the difference in that and test = ...? I can see why you mentioned the os.path for cross-platform, but I don't understand why someone would use with over =. On 3/25/2011 7:11 PM, eryksun () wrote: On Friday, March 25, 2011 11:07:19 AM UTC-4, jyou...@kc.rr.com wrote: f = open('~/Desktop/test.txt', 'w') f.write('testing 1... 2... 3...') f.close() Consider using with to automatically close the file and os.path for cross-platform compatibility: import os.path user_home = os.path.expanduser('~') test_absname = os.path.join(user_home, 'Desktop', 'test.txt') with open(test_absname, 'w') as test: test.write('testing 1... 2... 3...') -- Thanks, Ty -- http://mail.python.org/mailman/listinfo/python-list
Re: Pyserial
The windows msi install fails saying there is no python install found in the registry. Is there a workaround for this? Can I edit the registry and manually enter the information? I've came to realize that the 64-bit version of python does not work with 32-bit modules in terms of the installer because the key doesn't exist. Just grab the 32-bit python and you're set with modules. -- http://mail.python.org/mailman/listinfo/python-list
Re: What do you use with Python for GUI programming and why?
Is there a push to one toolkit or the other? TKInter from what I understand comes with Python already. There is also PYGui and WXPython; it really depends on what you want and what you like the best. -- http://mail.python.org/mailman/listinfo/python-list
Re: How Translate This PHP
How do I translate this PHP code? if($ok){ echo returnValue=1; }else{ echo returnValue=0; } print(return value = +str(ok)); -- http://mail.python.org/mailman/listinfo/python-list
Re: Absolutely Insane Problem with Gmail
ourEmail = ' myemaila...@gmail.com' ourEmail = ' q...@xxx.com' You redefine this twice. You also don't define a variable down lower. # to_address = ourEmail, from_address = ourEmail, to_address = emailText, I could be wrong, but emailText isn't defined. Perhaps a better variable naming setup would help you some. so: in short, set up a to_address and from_address, populate those however you need to, then change the variable names. -- http://mail.python.org/mailman/listinfo/python-list
Re: having both dynamic and static variables
It's worth having some syntax for constants. I'd suggest using let: let PI = 3.1415926535897932384626433832795028841971693993751 in to many languages, let is just a setter. why not just const pye = 3.14... -- http://mail.python.org/mailman/listinfo/python-list
Re: Problems of Symbol Congestion in Computer Languages
My intention was to educate him on the pitfalls of multiplicity. O. that's what you call that long-winded nonsense? Education? You must live in America. Can I hazard a guess that your universal language might be english? Has it not ever occured to you that people take pride in their language? It is part of their culture. And yet you rant on about selfishness? On 2/17/2011 8:29 PM, rantingrick wrote: On Feb 17, 8:40 pm, Cthuncthun_...@qmail.net.au wrote: What does your aversion to cultural diversity have to do with Lisp, rantingrick? Gee, I do hope you're not a racist, rantingrick. Why must language be constantly connected-at-the-hip to cultural diversity? People have this irrational fear that if we create a single universal language then *somehow* freedom have been violated. You *do* understand that language is just a means of communication, correct? And i would say a very inefficient means. However, until telekinesis becomes common-place the only way us humans have to communicate is through a fancy set of grunts and groans. Since that is the current state of our communication thus far, would it not be beneficial that at least we share a common world wide mapping of this noise making? sarcasm Hey, wait, i have an idea... maybe some of us should drive on the right side of the road and some on the left. This way we can be unique (psst: SELFISH) from one geographic location on the earth to another geographic location on the earth. Surely this multiplicity would not cause any problems? Because, heck, selfishness is so much more important than anyones personal safety anyway/sarcasm Do you see how this morphs into a foolish consistency? . Now don't misunderstand all of this as meaning multiplicity is bad, . because i am not suggesting any such thing! On the contrary, . multiplicity is VERY important in emerging problem domains. Before . such a domain is understood by the collective unconscience we need . options (multiplicity!) from which to choose from. However, once a . collective understanding is reached we must reign in the . multiplicity or it will become yet another millstone around our . evolutionary necks, slowing our evolution. Classic illogic. Evolution depends upon diversity as grist for the mill of selection, rantingrick. A genetically homogeneous population cannot undergo allele frequency shifts, rantingrock. Oh, maybe you missed this paragraph: . Now don't misunderstand all of this as meaning multiplicity is bad, . because i am not suggesting any such thing! On the contrary, . multiplicity is VERY important in emerging problem domains. Before . such a domain is understood by the collective unconscience we need . options (multiplicity!) from which to choose from. However, once a . collective understanding is reached we must reign in the . multiplicity or it will become yet another millstone around our . evolutionary necks, slowing our evolution. Or maybe this one: . I think in theory the idea of using Unicode chars is good, however in . reality the implementation would be a nightmare! A wise man once . said: The road to hell is paved in good intentions. ;-) Or this one: . If we consider all the boundaries that exist between current . (programming) languages (syntax, IDE's, paradigms, etc) then we will . realize that adding *more* symbols does not help, no, it actually . hinders! And Since Unicode is just a hodgepodge encoding of many . regional (natural) languages --of which we have too many already in . this world! What does any of that have to do with Lisp, rantingrick? The topic is *ahem*... Problems of Symbol Congestion in Computer Languages... of which i think is not only a lisp issue but an issue of any language. (see my comments about selfishness for insight) And you omitted the #1 most serious objection to Xah's proposal, rantingrick, which is that to implement it would require unrealistic things such as replacing every 101-key keyboard with 10001-key keyboards and training everyone to use them. Xah would have us all replace our workstations with machines that resemble pipe organs, rantingrick, or perhaps the cockpits of the three surviving Space Shuttles. No doubt they'd be enormously expensive, as well as much more difficult to learn to use, rantingrick. Yes, if you'll read my entire post then you'll clearly see that i disagree with Mr Lee on using Unicode chars in source code. My intention was to educate him on the pitfalls of multiplicity. -- Thanks, Ty -- http://mail.python.org/mailman/listinfo/python-list
Re: Call to Update All Tutorials to Python3.x Standards.
Hahaha. You've got a new one every week, don't you. What happened to the demand to evolve idol into the future or whatever the BS you were parroting was? So we're on TKInter being fixed/replaced, (which you haven't worked with the steps people gave you), Idol being forked and redone, (again which you haven't done), and now you want to drag people kicking and screaming into tutorial updates. Well, at least you provide for some amusement, anyway. What's the bet RR will be demanding GV step up? And I'm sure he's got the silent majority, yet again. -- http://mail.python.org/mailman/listinfo/python-list
Re: Call to Update All Tutorials to Python3.x Standards.
However *we* are going to move forward with or without you. In other words: We in RR's book means RR and this silent majority that has pitched in so much work to back his last call to move forward, that we're now boggling in awe at a new Idol. And moving forward means posting lots of trash, (he calls this speaking up), reverting to insults when people don't back him in his crusade to move us forward, (he calls this vision and pursuasion), then hoping that it all holds up. When a solution is posed, he goes quiet, (this again I guess is called evolution), until he can find something else to complain about, and the last complaints are left by the wayside. -- http://mail.python.org/mailman/listinfo/python-list
Re: Easy function, please help.
Uh oh, I think we found RR's evil twin: another python to the modern day visionary. Example 1 is not explicit enough. Too much guessing is required by the reader! if list is empty, bla. if not, bla. it's not all that hard, and there's no guessing that needs to take place, honest. -- http://mail.python.org/mailman/listinfo/python-list
Re: Are Small Dogs Good with Kids?
Not only does this have -nothing- to do with python, but you reproduced the spam yet again by quoting it... seriously? -- http://mail.python.org/mailman/listinfo/python-list
Re: IDLE: A cornicopia of mediocrity and obfuscation.
See now you are offering truth in your argument! Keep this up and i'll move you over to the occasional flamers group. Then over time, if you can demonstrate an ability to engage in lively discussion based on facts and not emotion, i *may* even move you into the moderates group. O no, whatever shall I do. I apparently have no hope of being moved into the moderates group because I don't agree with him. I hope everyone will excuse me now, I must dash off to slit my wrists in a tub of warm water and listen to Free Bird, while morning over the fact that I may *never* get moved into RR's moderate's group. Tisk tisk. -- http://mail.python.org/mailman/listinfo/python-list
Re: IDLE: A cornicopia of mediocrity and obfuscation.
However we cannot blame the current maintainer... You seem to still not know who -we- is. rewrite your message using I in place of we, and you'll be on the right track. -- http://mail.python.org/mailman/listinfo/python-list
Re: WxPython versus Tkinter.
Are you a representative voice for all the screen reader users? (Even though most of them use JAWS that you don't seem to like) Newsflash: I didn't say I didn't like Jaws, and I'm using Jaws -right now-. I don't like jaws and see a lot of future for NVDA as it is both free and open source. I like that a lot more than paying what, $1300 or so for a program that will allow me to use the computer? Plus the obligatory $260 for two updates so I can update once every four months, regardless of whether or not I want to update. If you want to rant and scream about accessibility, yell at the people charging an arm and a leg to make things accessible. On 1/28/2011 1:33 AM, Octavian Rasnita wrote: From: Littlefield, Tyler ty...@tysdomain.com * Disclaimer: You are stupid if you think this is true. But seriously, Octavian makes it REALLY hard to continue caring about something that I actually cared about before and thought was important. When I told about what the community of the blind from my country cares, or what I care, the others told me that that is not important. I am sure that won't say the same thing to your post in which you also say about what you care, just because you have the same opinions like them. People like Octavian do that. Sadly, it is one of the things holding the blind community back. I hope that with my arguments (for those that didn't just toss everything related to this thread), I have been able to get people to see a little differently and not consider Octavian as the voice for us all. Who are those us all? Are you a representative voice for all the screen reader users? (Even though most of them use JAWS that you don't seem to like) Or do you agree with the associations of the blind in your country do when they fight with different companies because they make discrimination by not offering accessible products? Or you are more representative than those associations? Octavian -- Thanks, Ty -- http://mail.python.org/mailman/listinfo/python-list
Re: Useing the processor clock, or get time in Femptoseconds
If you are on windows, you can use high-resolution timers. What you are trying is physically impossible though: lets say you have a processor that runs at 2.5 GHz. that's 2.5 billion cycles per second, give or take a few. So, the lowest you can go is nanoseconds. You're trying to time like 10x the processor's actual speed, and you're not going to get timing that good. so, lower your bar a bit; the highest you will get is nanoseconds with high-res timers. (I'm not sure what the equivalent of this is on *nix, or whether or not python supports it on either platform. I think you'll end up making a DLL call, though I could be wrong). -- http://mail.python.org/mailman/listinfo/python-list
Re: WxPython versus Tkinter.
Exactly what I said. They are doing the same mistake as I did 20 years ago. and are still making now... Lack of English and grammar isn't the problem... -- http://mail.python.org/mailman/listinfo/python-list
Re: WxPython versus Tkinter.
Yes but his silence speaks louder than words. He is saying While i won't defend Tkinter publicly, i won't promote any others as well. That's the best translation I've ever heard: taking silence and diverting it into your own meaning for what you want it to mean. -- http://mail.python.org/mailman/listinfo/python-list
Re: WxPython versus Tkinter.
Man look at the state of Tkinter. Look at the bugs and mediocre code i exposed. Are you going to set there with a strait face and tell me many people are using Tkinter. Come on Kevin, be realistic! You also uncovered bugs in WX (remember those segfaults, RR)? On 1/28/2011 1:35 PM, rantingrick wrote: On Jan 28, 10:16 am, Kevin Walzerk...@codebykevin.com wrote: On 1/28/11 9:18 AM, rantingrick wrote: Everyone on this list knows that Kevin and myself are the *only* people who know how to wield Tkinter past some simple utility GUI's. I strongly disagree with this statement. Whether you agree or disagree is irrelevant. The fact remains. And if there are others, why do we never hear from them? Why do they never help noobs when Tkinter questions come up? I guess they are the silent majority right? Man look at the state of Tkinter. Look at the bugs and mediocre code i exposed. Are you going to set there with a strait face and tell me many people are using Tkinter. Come on Kevin, be realistic! -- Thanks, Ty -- http://mail.python.org/mailman/listinfo/python-list
Re: WxPython versus Tkinter.
but what's wrong is that Python promotes a GUI which is not accessible by including it as a default GUI. You seem to have overlooked this multiple times and instead decided to shove words in my mouth and continue on your line of selfishness which is justified apparently now by the fact that you are ESL. I have mentioned many, many times that we work to make TKInter accessible; it is something I plan to start working on this weekend. But rather than that, you seem to still want to switch gui libraries in python, which I might add, will not happen over night, nor will the accessibilifying (my new word) TKInter. It's a process that will take time. So, I ask since you keep jumping around this point, what is wrong with fixing TKInter? -- Thanks, Ty -- http://mail.python.org/mailman/listinfo/python-list
Re: WxPython versus Tkinter.
Eloq is an add-on, but it does support it. but only eSpeak which sounds horrible That's your personal preference. Plenty use and like ESpeak. it doesn't have a scripting language ready to use as JAWS and Window Eyes do, Scripting is done in Python, (no, not some native scripting language), and are done as modules. You write your script in python, and off you go. Problem solved. it doesn't offer the possibility of reading with the mouse cursor as JAWS does with its so called JAWS cursor, It's called flat review. Googling this term brings up a key reference at like the third or fourth result down. it offers a poor accessibility in many applications Very very very wrong. It works better with some apps than Jaws does, and about as good in many others. NVDA (like all other readers, and any program for that matter) still does have problems, but none that you mentioned. and many other issues. -other- says that there were issues to begin with; the only issue here is you promoting the most widely used screen reader, because it's what you use, and you not being able to use google and do your homework before you start talking about products you know nothing of. -- Thanks, Ty -- http://mail.python.org/mailman/listinfo/python-list
Re: WxPython versus Tkinter.
We are talking about accessibility here. Are you saying that Tkinter can be recommended from the perspective of accessibility? See my comment about shoving words in people's mouths; I did not hint, nor did I come near saying that in that message. On 1/27/2011 1:17 AM, Octavian Rasnita wrote: From: Littlefield, Tyler ty...@tysdomain.com I don't want to convince anyone, but I just want to inform the others and let them know if they are doing something not recommended. not recommended by -you-, which is different than by a community or the subset of people you are attempting to represent. furthermore, your attidude is that of comply to my definition of what is needed, or you are selfish, rude, mean, cruel, etc. Then when that fails, you try cramming words in people's mouth to make them feel like they kick puppies, and to bring everyone else to this same conclusion. We are talking about accessibility here. Are you saying that Tkinter can be recommended from the perspective of accessibility? Octavian -- Thanks, Ty -- http://mail.python.org/mailman/listinfo/python-list
Re: WxPython versus Tkinter.
Tyler, you are a Linux and Mac user and you search with Google and try to explain how many things you know about NVDA, but it is obviously that what JAWS insert rest of bullshit here 1) Because you, your crew, and your group on a specific forum doesn't like ESpeak doesn't disqualify an entire reader. The eloquence fixes are illegal to be packaged with NVDA, so you -need- to get a separate patch, yes. That doesn't mean it can't be done. As to me being a Linux and Mac user, that doesn't disqualify what I'm telling you either, because unlike your limitations, I don't just decide to only use one reader. I use Linux, Mac, and windows (windows more than both, actually). Yes, I'm giving you what I got from googling, because that's my way of telling you to do your homework before you start ranting about a reader you clearly know nothing of. The fact that it appears on google says a lot. At least to me, maybe it's something you haven't been able to comprehend. On 1/27/2011 10:22 AM, Octavian Rasnita wrote: From: Littlefield, Tylerty...@tysdomain.com It doesn't support a good voice synthesizer like Eloquence or IBM Via voice Eloq is an add-on, but it does support it. If you are saying this, it means that you haven't used it for a long time, or you just heard about it by searching on the web. Eloq is supported, but only as an unofficial hack because the NVDA developers pretend that it is illegally to offer support for Eloquence. They said that Nuance ask them to remove that support from NVDA, and as a consequence, the support for Eloquence was removed and it is harder to find the NVDA Eloquence driver from unofficial sources (and that unofficial support is not the same under all versions of NVDA...) but only eSpeak which sounds horrible That's your personal preference. Plenty use and like ESpeak. That's my personal preference and the preference of all the blind people I know in my country with only one or two exceptions. (If you'd know Romanian, I could give you the address of a forum to ask there if you don't believe me.) And note that Eloquence doesn't support my native language, but eSpeak does it, however they still don't like eSpeak. Why do you think we don't like it? Because it is so good? it doesn't have a scripting language ready to use as JAWS and Window Eyes do, Scripting is done in Python, (no, not some native scripting language), and are done as modules. You write your script in python, and off you go. Problem solved. Have you done such a script for NVDA? I've created a sample script in Python that uses the COM interface and I have asked on the NVDA mailing list and on NVDA-dev mailing list if I can use it, but NVDA doesn't offer that feature yet. And I was saying that NVDA doesn't have a scripting language ready to use. The scripting language can be Python, but it should accept a scripting code, easy to install with a copy/paste, not an NVDA patch. That means ready to use. it doesn't offer the possibility of reading with the mouse cursor as JAWS does with its so called JAWS cursor, It's called flat review. Googling this term brings up a key reference at like the third or fourth result down. Tyler, you are a Linux and Mac user and you search with Google and try to explain how many things you know about NVDA, but it is obviously that what JAWS can offer NVDA can't. That flat review can be used to read some things from the screen, and they say that it might also show the coordinates of the objects, however unlike JAWS, it can't show the coordinates of each character on the screen, and this is important by someone who is totally blind for checking the positions of different text elements on a web page, or in a desktop app. But NVDA can't be used for that. the only issue here is you promoting the most widely used screen reader, because it's what you use, and you not being able to use google and do your homework before you start talking about products you know nothing of. Tyler, the other list members sustain you because you are also against changing something in order to improve the accessibility and just promise that you will make Tk accessible, and I am sure they won't say anything about your atitude, but your atitude really sucks because it is obviously that you don't know many things about NVDA, and you haven't tried it, you even show that you don't care about the most used OS, you use Mac and Linux, but keep telling me that I don't know about it although I am an NVDA user for a long time. And all these useless phrases are just for answering to your useless hijack of the discussion, because we are not talking about NVDA here, but about the lack of accessibility in Tk-based applications, and Tk is as inaccessible in JAWS as in NVDA, Window Eyes or other screen readers, so it doesn't matter what screen reader we use for testing that inaccessibility. Octavian -- Thanks, Ty -- http://mail.python.org/mailman/listinfo/python-list
Re: WxPython versus Tkinter.
* Disclaimer: You are stupid if you think this is true. But seriously, Octavian makes it REALLY hard to continue caring about something that I actually cared about before and thought was important. People like Octavian do that. Sadly, it is one of the things holding the blind community back. I hope that with my arguments (for those that didn't just toss everything related to this thread), I have been able to get people to see a little differently and not consider Octavian as the voice for us all. I am by no means the guru with accessibility, but I can boast having worked with all three platforms (and now IOS) that were mentioned in this thread in terms of accessibility. If someone would like to make an app more accessible or anything the like, I would love to give comments and feedback. -- http://mail.python.org/mailman/listinfo/python-list
Re: WxPython versus Tkinter.
Because healthy Linux users ARE NOT equal to handicapped people! O? I bet I could run circles around RR in the shell, any day. Why are you trying to promote accessibility for a group of people you consider not equal to a group of healthy people? -- http://mail.python.org/mailman/listinfo/python-list
Re: WxPython versus Tkinter.
I don't know why you didn't say this before. Comprehention, Octavian. I've made that point multiple times, but your to stuck on talking about how selfish people are. The other part of the discussion is related to the accessibility and care for accessibility and that discussion is not nice at all, because it shows how selfish are most of the people and they consider this a virtue. Selfish? We've had multiple people get interested, and I've had a couple of messages off-list about the accessibility, (probably so they wouldn't have to deal with you). We've even had one person ask for a list of screen readers, (and I note you only gave him the one -you- use for the OS -you- use). There's no selfishness, just your not knowing when to jump off the soapbox and stop parroting something just for the sake of complaining about it. It's been admitted that TKInter is not accessible, and discussion has even been made about fixing it. Yes, it will take a while, but nothing comes in over night. And getting WXPython to the point where it is usable in python 3, as has also been mentioned before by many people is going to take a lot of work, as well. On 1/25/2011 11:25 PM, Octavian Rasnita wrote: block quote From: Emile van Sebille em...@fenx.com block quote On 1/25/2011 3:33 PM rantingrick said... block quote Tkinter is old and in many ways insufficient for 21st century GUIs. We need to decide what should come next. I believe wxPython is our best hope. Wx may not be the best it can be, but it is the best we have at this time. block quote end Then you should immediately volunteer to bring wxPython to python3 compatibility -- as it is, it's not even close... Start thinking about upping your game from ranting to doing. Emile block quote end Hi Emile, block quote From my point of view this discussion is finished for the moment, because block quote end you are right, WxPython is not as fast developed as it needs, because Python 3 is not compatible with Python 2. If no solution is found for this big problem, then yes, WxPython can't be included in the Python distribution because there is nothing that can be included. I don't know why you didn't say this before. The other part of the discussion is related to the accessibility and care for accessibility and that discussion is not nice at all, because it shows how selfish are most of the people and they consider this a virtue. Octavian block quote end -- Thanks, Ty -- http://mail.python.org/mailman/listinfo/python-list
Re: WxPython versus Tkinter.
with JAWS because it is the most used screen reader. Get off your me soapbox. Jaws is not the most used. NVDA is taking over, quite fast, and lots of people have totally switched to mac or Vinux because of the problems with Jaws. It's most used in corporate sektors still maybe, but lots of end-users are migrating to Window Eyes, NVDA or OSX because of the fact that it is both cheaper and NVDA is open source, not to mention free. Just because Jaws -was- most used and -you- use it, doesn't mean it still remains so. On 1/26/2011 8:26 AM, Octavian Rasnita wrote: From: Littlefield, Tylerty...@tysdomain.com I don't know why you didn't say this before. Comprehention, Octavian. I've made that point multiple times, but your to stuck on talking about how selfish people are. You didn't say that WxPython can't be used with Python 3. Have you said that? The other part of the discussion is related to the accessibility and care foraccessibility and that discussion is not nice at all, because it shows how selfish are most of the people and they consider this a virtue. Selfish? We've had multiple people get interested, I am not interested if the people are getting interested. I am interested to have a solution right now, and at least for Python 2, a solution is already available. and I've had a couple of messages off-list about the accessibility, (probably so they wouldn't have to deal with you). We've even had one person ask for a list of screen readers, (and I note you only gave him the one you use for the OS For the majority of blind users it is less relevant if a GUI is accessible under Linux or Mac. I gave that example because a GUI should be first accessible with JAWS because it is the most used screen reader. Octavian -- Thanks, Ty -- http://mail.python.org/mailman/listinfo/python-list
Re: WxPython versus Tkinter.
It doesn't support a good voice synthesizer like Eloquence or IBM Via voice, but only eSpeak which sounds horrible, it doesn't have a scripting language ready to use as JAWS and Window Eyes do, it doesn't offer the possibility of reading with the mouse cursor as JAWS does with its so called JAWS cursor, it offers a poor accessibility in many applications and many other issues. You are wrong, on all accounts. On 1/26/2011 10:04 AM, Octavian Rasnita wrote: From: Littlefield, Tylerty...@tysdomain.com with JAWS because it is the most used screen reader. Get off your me soapbox. Jaws is not the most used. NVDA is taking over, quite fast, and lots of people have totally switched to mac or Vinux Lots of people means an insignifiant percent of users compared with the percent of Windows users. NVDA is mostly used as a second screen reader in case that something wrong happends with the first one. It doesn't support a good voice synthesizer like Eloquence or IBM Via voice, but only eSpeak which sounds horrible, it doesn't have a scripting language ready to use as JAWS and Window Eyes do, it doesn't offer the possibility of reading with the mouse cursor as JAWS does with its so called JAWS cursor, it offers a poor accessibility in many applications and many other issues. because of the problems with Jaws. It's most used in corporate sektors still maybe, but lots of end-users are migrating to Window Eyes, NVDA or OSX because of the fact that it is both cheaper and NVDA is open source, not to mention free. Just because Jaws -was- most used and -you- use it, doesn't mean it still remains so. Window Eyes always was cheaper than JAWS, however it was never the most used screen reader because it also have its problems. I don't understand why you care so much about what will *probably* happen in the future and don't care about the present. An indian saying says that on the long term will be everything fine (because we will be all dead:) But you are talking just to show how right you are. If you remember about our discussion, we were talking about how inaccessible is Tkinter, and well Tkinter has the same inaccessibility level under Window Eyes and NVDA just like under JAWS, so I don't know why is it so important to name all those screen readers if someone wants to test Tkinter. I thought that if someone wants to test how inaccessible is Tkinter, JAWS would be enough because Tkinter is also inaccessible for the other screen readers, and I thought that it would be normally to test the accessibility using the screen reader that offer the most features. Octavian -- Thanks, Ty -- http://mail.python.org/mailman/listinfo/python-list
Re: WxPython versus Tkinter.
Stephen Strawman Hansen: If he only had a brain! And you want -us- to take -you- seriously? Tell me, what did you accomplish with that insult? Beyond elevating your own ego and trolling some more, anyway. On 1/26/2011 1:37 PM, rantingrick wrote: On Jan 26, 2:07 pm, Stephen Hansenme+list/pyt...@ixokai.io wrote: And some people have absolutely no need-- no need at all-- for any sort of GUI programming at all. This group is actually really, really big. Stephen Strawman Hansen: If he only had a brain! :-) That is the most obvious straw-man to date in this thread. What about the large portion of folks who don't use all the datatypes (queue, weakref, etc) or how about numeric and math modules (fractions, decimal, etc) or how about data persistence, or Cryptograhic, or curses! or, multimedia services, or, or. You see NOT everyone uses everything in the stdlib and most use much less than half. However we would be fools to claim batteries included and NOT support GUI! -- Thanks, Ty -- http://mail.python.org/mailman/listinfo/python-list
Re: WxPython versus Tkinter.
I don't want to convince anyone, but I just want to inform the others and let them know if they are doing something not recommended. not recommended by -you-, which is different than by a community or the subset of people you are attempting to represent. furthermore, your attidude is that of comply to my definition of what is needed, or you are selfish, rude, mean, cruel, etc. Then when that fails, you try cramming words in people's mouth to make them feel like they kick puppies, and to bring everyone else to this same conclusion. On 1/26/2011 1:46 PM, Octavian Rasnita wrote: From: geremy condradebat...@gmail.com At least 40% of my coworkers do not speak English as their native language. Your problem is not the language. Your problem is your attitude. The atitude considered nice is just duplicity for convincing others, and I don't like duplicity. I like to know exactly what the people think and I want them know what I think. I don't want to convince anyone, but I just want to inform the others and let them know if they are doing something not recommended. I agree, telling the people that they are doing something wrong, directly, without sugar, might be considered a bad atitude by those who prefer duplicity and nice words just for the sake of socializing, but is that atitude worst than of those who don't care about discriminatory practices? But I don't condemn you for this, because many years ago when I was in school I had the opinion that some foreign colleagues are a little stupid just because they were not able to express very well the ideas which were not very simple, and well, they were not stupid at all, but they didn't know my language well enough and they probably would think the same thing about me if we were speaking in Russian. I don't have that problem. Oh yes you do as well as many others and it is obvious because I have seen that some of you consider me to be very angry, but I am not angry nor nervous at all so there may be something else. If I say that I don't like a certain country because it attacks other countries, it doesn't mean that I am nervous or angry. I am just expressing my opinions about that country. About those who use Tkinter I can't even say that I don't like them or something like that, because it is very normal that most of Python programmers should prefer it, because it was promoted a long time by Python. What I said is that it is not OK that Python promoted and keeps promoting a GUI lib that creates discrimination, but I don't know where you have seen that anger. Exactly what I said. They are doing the same mistake as I did 20 years ago. By the way, can't you see any syntactic dissacords in my phrases? Haven't you think that my English might not be as fluent to be able to express everything I want to say very well? As I mentioned earlier, you'll find I don't have a lot of pity for you in this. I don't need your pitty, but I can see that you misunderstand me, thinking that I am angry, thinking that I want to force everyone to use a GUI lib, and I thought that my English may not be clear enough to make you understand what I want to say. But not supporting accessibility because the programmer *doesn't want this*, it is not a bug, but discrimination. Don't you agree with this? And if Python would have been able to support accessibility it would have mean that it promotes discrimination because it promotes the wrong tool, but it seems that Python 3 doesn't have an accessible GUI lib for the moment, so no, it is not discrimination (but Emile told us that there is no support for WxPython in Python 3 just today, so I didn't know this and I already wondered why nobody told about this real problem). Keep in mind, I'm not saying this. Saying what? I don't understand what you were not saying. This is a sketch of your point of view and Tyler's point of view. What has the phrase I told above with what Tyler said? I said that if somebody can create accessible programs but doesn't *want* to do that, this generates discrimination. Don't you agree with this? Well, I think that everyone should understand why the programs must be accessible and why everybody should care about all the users of an application and that it is not normal to not care. Ah! I think I see where you're going wrong. It *is* normal not to care- not just about this, but about any given special interest other than your own. You have to convince people to care, or they don't- and you're not convincing, just yelling. Where did I say that it is normal to not care about other things? I have also agreed that it is important to have support for Python 3, that it is also important the commercial point of view, it is also important to have a GUI lib without bugs that generates errors, and you are again and again misunderstanding me thinking that I am yelling, even though I am writing all these things very calm. And I am not trying to convince anyone. I mean, we are not in the
Re: WxPython versus Tkinter.
RR, I do hate to break the news to you, but I am -blind-, which is why I am using a screen reader. So I'm not parking anywhere--the DMV refuses to give me a license for some odd reason. What was that post about IQ you made earlier?... -- http://mail.python.org/mailman/listinfo/python-list
Re: WxPython versus Tkinter.
Wow! I, I, I, I... is there a sentence that doesn't talk about your self interests? It is clear you have been taking lessons from RR; the word I does not convey self interest, in fact, it is the best word suited to speaking of oppinions (which is all that these are), in the first person. Lets move on, shall we? You haven't downloaded any inaccessible program made with Tkinter, you didn't have any problems, You can create an accessible program if you can't find an accessible one, you care only to please the other for working with you and so on. No. I said, I can find a program that is accessible, if I find one that isn't. Totally different from making one, and any user at all has said power. Granted, there are conditions where this doesn't work, but my idea of -fixing- TKInter would solve a lot of problems. Don't you care that most programmers don't know about accessibility and they just don't create accessible programs not because they don't want, but because they don't know about this thing? Of course I do. Non accessibility hurts you, as much as me, as much as anyone else when I have to take time away to try to make a program accessible. But, here is the thing; I have suggested work on TKInter to make such programs accessible, and I am perfectly willing to participate, as much as time allows, in such work. You are trying to make me come across as some evil cruel person because I don't submit to hit them over the head with the hammer that is the ADA and force compliance, but rather I want to work with someone. At the end of the day, you lose, I win in general. People have made comments about the fact that all you did was parrot the evilness of TKInter to many threads, and now you've made comments on laws in existance that will help us. If you will note, no one even blinked at said laws. Now, the idea of fixing the problem (and not just switching libraries out of the STDLib, because as Ixokai already pointed out in another post, that won't happen), will get us much farther; whether or not Python, or anything else uses TKInter, it will be accessible, with some work put into talking to the community and I'll probably jump in the trenches myself and hammer out some code. Retorical question... It is obviously that you don't care. Nope. I, as a blind person obviously don't care. Which is why I've spent so much time trying to push the idea of fixing TKInter. what a horrible horrible person I am. Ok, you don't care. There are very many like you. But do you think that this is the right atitude? To not care about the others at all but only about your selfish interests because the alternative is a loss of time? A loss of time? Where. I am not a proponent of forcing a lib into the STDLib while said library currently has problems (RR's segfaults, I'm looking at you). I know and accept the fact that Python is not going to become unstable with a library, in the hopes that some day people will start using wx since it's just there and voila, everything will be peaches and cream for us screen-reader using folks. Can't you see that this isn't normal? Can't you see that some people don't even believe you that you are blind but you still promote the non-accessible programs? RR's non-belief of me being blind or otherwise was to help his own argument, not because I'm promoting anything. But there could be an explanation for this too. You might look great in your gang if the other blind people you know are not able to use some programs but you are able to create your own which are accessible. You will appear really special. Yep. I'm talking about fixing a library to be more accessible so I can look great in my gang of sighted people I try so hard to blend in with, by daring to use such words as watch. You mentioned the millions of people that I may help by quoting accessibility laws at, and here I say, you over estimate your self importance. If I went into my school and started yelling about the ADA, I would possibly get somewhere, but they would end up doing the bear minimum in order to comply with such laws. As a result, I don't really get what I want, and someone walks away from the encounter with the idea that all the blind people are the same, which may be a problem for someone who wishes to get employed. Now, on the other hand, if I were to walk into somewhere, say hey, this is really unaccessible, and this is how we can fix it, from my experience, 9 times out of ten it will get fixed. That other 10% is where the ADA and other such laws come in. Through this encounter, someone walks away with a lot more respect for me, and if something should come up later, I can generally go talk to them. You have this pity me, I don't want to be a part of the sighted community, attitude, which will get you nowhere. If you limit yourself (by not doing such things as watching tv, or using phones with touchpads), that is -your- own fault, and no one elses. I say this
Re: WxPython versus Tkinter.
What do you think Emile? I think that that starts with you. You want to be more accepting when it comes to you, but you've had no problems calling people an idiot and otherwise insulting them just as you are complaining about. On 1/25/2011 6:07 PM, rantingrick wrote: On Jan 25, 6:55 pm, Emile van Sebilleem...@fenx.com wrote: Oh, that everyone should blindly accept you as is and without regard for established protocols What protocols? Where is this standard posted? Can you give me a link? I would like to know what is expected of me. -- we certainly should all jump to your slightest whim. Get a [CENSORED] clue. Thats not very nice Emile. What is it going to take for you (and others) to take me seriously? I have been within this group for more than four years and you still do not accept me. I have been ridiculed, brow beaten, laughed at, trolled, and any negative thing that can be done to someone. Heck, in my very first post i was crucified by the community. I'll admit that I have made some mistakes -- and i have apologized for them. Maybe you need to be a little more accepting of me. Maybe this group IS not a homogeneous block as you would like. Maybe we ALL need to be a little more humble to each other. What do you think Emile? -- Thanks, Ty -- http://mail.python.org/mailman/listinfo/python-list