tag:blogger.com,1999:blog-78053902024-03-08T01:58:35.045-08:00PyalotEverything Programming, Games, Python and what else comes my way.Florianhttp://www.blogger.com/profile/06798512674087485252noreply@blogger.comBlogger54125tag:blogger.com,1999:blog-7805390.post-12628957369722033952008-04-24T03:13:00.000-07:002008-04-24T06:08:33.632-07:00Complex data query requirements.I have recently participated in a discussion about complex data query requirements. Jonathan Holland who wrote a about the suitability of relational databases, asked me to write a blog entry about the topic, and in particular in relation to a shop I wrote. So here goes:Architecture OutlineThe shop is written in python and javascript. it is a multi-tier MVC architecture, from the bottom up it Florianhttp://www.blogger.com/profile/06798512674087485252noreply@blogger.com4tag:blogger.com,1999:blog-7805390.post-14147529099042173142007-07-10T01:06:00.000-07:002007-07-10T01:34:28.571-07:00Rene talks about multithreading and multiple cpu'sRene's talk is about how to use python with multiple cpu's. He has written a paper about it. The core libraries you use for game programming are already threaded. He has written a library to manage threads in games. The core idiom is "map", which in the context of threads becomes tmap.Florianhttp://www.blogger.com/profile/06798512674087485252noreply@blogger.com0tag:blogger.com,1999:blog-7805390.post-52251145138041928672007-07-09T06:09:00.000-07:002007-07-09T06:33:31.243-07:00py.testI was a little late into this talk (took a nap in the break). An alternative to unittest, py.test, but it seams specifically geared to the needs of pypy.Florianhttp://www.blogger.com/profile/06798512674087485252noreply@blogger.com0tag:blogger.com,1999:blog-7805390.post-33675924966013920922007-07-09T02:04:00.000-07:002007-07-09T02:40:40.726-07:00ThenCadI'm intriqued that somebody went and developed a whole CAD and released it as GPL, in pure python.The gust of why ThanCad is better, is that it has some fancy features basically all other CAD apps lack, because it was easy for the guy who implemented them because, he built it open from the ground up. It's the lesson of simplicity really. It makes sense, because for instance in autocad, when you Florianhttp://www.blogger.com/profile/06798512674087485252noreply@blogger.com0tag:blogger.com,1999:blog-7805390.post-91188114710880721442007-07-09T01:30:00.000-07:002007-07-09T02:01:27.112-07:00KSS, javascript with styleKSS is a client framework, so there's no intrinistic server side requirement. It looks interesting, it sort of encapsulates event handling and view changes into a domain specific language. I woner if it works outside a sandbox/wiki environment, with requirements on interaction.It is an interesting thing, and it certainly is worth trying out.Florianhttp://www.blogger.com/profile/06798512674087485252noreply@blogger.com0tag:blogger.com,1999:blog-7805390.post-73205005950849530732007-07-09T01:22:00.000-07:002007-07-09T01:30:26.968-07:00PylonsThe pylons talk is pretty much what you can find out about pylons yourself. On an interesting note, supervisor2 received some praise in this talk, as a tool that can restart died apps, seems nice. The talk was about the development .Florianhttp://www.blogger.com/profile/06798512674087485252noreply@blogger.com0tag:blogger.com,1999:blog-7805390.post-31540802031694844272007-07-09T00:04:00.000-07:002007-07-09T00:23:47.730-07:00Pythonic interfaces?This talk is about (the java understanding of) interfaces. The argument is that if you work with many many people on large scale projects, you basically need interfaces. I tend to agree, but I think large teams are a bad idea :)So, the speaker also mentions that the other solutions out there (zope interfaces, py-protocols etc) are overly complex. Yes I agree, let's see...Ah-ha, he uses decoratorsFlorianhttp://www.blogger.com/profile/06798512674087485252noreply@blogger.com0tag:blogger.com,1999:blog-7805390.post-61434296307033999932007-07-08T23:30:00.000-07:002007-07-09T00:24:52.797-07:00mxTextToolsAt the core mxTextTools is a state machine (tagging engine), written in C. The reason for introducing it was that in order to write a parser, you need a matcher (on a tokenizer and parser level). Writing matchers usually involves re, which is a pain in the butt. I like that it has a JIT compiler for the tagging commands. This seems to be a pretty powerfull replacment for the usual lexers/Florianhttp://www.blogger.com/profile/06798512674087485252noreply@blogger.com1tag:blogger.com,1999:blog-7805390.post-6276078110672339942007-07-08T23:03:00.000-07:002007-07-09T00:25:23.107-07:00easy extendEasy extend seems to be about creating DSLs in python. It allows parsing from an ebnf grammar and can extend the python grammar for the language. You can download EasyExtend.It compiles these defined languages to the python parse tree, this is then compiled to python bytecode by python. It can run multiple different languages within one python run, by a concept called fibres.I don't know if it's Florianhttp://www.blogger.com/profile/06798512674087485252noreply@blogger.com2tag:blogger.com,1999:blog-7805390.post-38675980766477696922007-07-08T21:12:00.000-07:002007-07-09T00:25:49.374-07:00gearing up for europythonI've arrived at the hotel reva in vilnius, had some good nights sleep and I'm headed down for breakfast and registration. The hotel is nice, Thomas Waldmann (with whom I share a room) doesn't snore (sight of of relief).so long, __doc__Florianhttp://www.blogger.com/profile/06798512674087485252noreply@blogger.com0tag:blogger.com,1999:blog-7805390.post-83791388603520200052007-02-09T01:40:00.000-08:002007-02-08T00:57:37.712-08:00Linux and Mac users may be in the minority, but they are vocalI found the phrase "Linux and Mac users may be in the minority, but they are vocal" in this article about java and ajax. It struck me as odd to even remark upon it, but then I figured that maybe it's an ignored phenomenon.Beeing an early adopter is a way of living, not some marketing category. Either you do it in most aspects of your living, or you don't. In order for you to take up Linux or Mac,Florianhttp://www.blogger.com/profile/06798512674087485252noreply@blogger.com1tag:blogger.com,1999:blog-7805390.post-56060078851689697802007-02-08T00:38:00.000-08:002007-02-07T15:46:34.509-08:00More thoughts on DRMBecause a DRM requires a secret that may not be revealed, but the place where the secret is kept/produced/defined is in the hands of an untrusted party, it cannot be “secure”. Thus obscurity is important to “secure” a DRM scheme, and in this FairPlay is not alone. Other companies can proudly claim to have the most obscure DRM, for whatever it's worth.DRM advocates may cry foul now, after all theyFlorianhttp://www.blogger.com/profile/06798512674087485252noreply@blogger.com1tag:blogger.com,1999:blog-7805390.post-72351067391632373222007-02-07T14:42:00.000-08:002007-02-07T15:46:35.178-08:00Basic inalienable digital rightsI was reading a piece about the RIAA and their convoluted understanding of Steve Jobs open letter when I stumbled upon the term "Basic inallienable digitial rights".There a question occured to me. Do I want to fund the society our children are going to live in, on the basis of the DMCA, patent law, copyright and a RIAA/MPAA mafia?Every society traces it's funding back to documents laying out Florianhttp://www.blogger.com/profile/06798512674087485252noreply@blogger.com0tag:blogger.com,1999:blog-7805390.post-17517693487971975702007-01-10T00:11:00.000-08:002007-01-10T00:26:13.524-08:00postgres mindsetInteresting, today I poked my head into #postgres on freenode, and told the guys that there is no bugtracker for pgadmin (because I had a bug). There was some civilized back and fro which amounted to:stfu if you don't want to setup the bugtracker yourself.apologize for suggesting a butracker or be kicked, you're insulting us.A-hum. Yes, that was a productive conversation. I was kicked by David Florianhttp://www.blogger.com/profile/06798512674087485252noreply@blogger.com0tag:blogger.com,1999:blog-7805390.post-36661317930160095312007-01-06T08:26:00.000-08:002007-01-06T10:10:26.718-08:00PJE the immature pestPJE wrote a post praising zope in a fashion (well it's the foreword for a zope book). Inevitably he attracted some flak, and by the followup post you can see that he clearly couldn't deal with it.I expected the article to be a bit controversial, but I was surpised to find that it was even more controversial than my series of articles about women in IT. The amount of flaming hatred, profanity, andFlorianhttp://www.blogger.com/profile/06798512674087485252noreply@blogger.com0tag:blogger.com,1999:blog-7805390.post-1165841573768943472006-12-11T04:08:00.000-08:002006-12-11T04:52:53.860-08:00Billboard on music piracy: "The Crack Connection" by Tamara Conniff : really?So I was having lunch when a friend of mine pointed out an article in Billboard titled "The Crack Connection". It was about music piracy. I took it, expecting the usual FUD straight out of RIAAs and MPAAs throat.But this article was a jewel in it's own right. Tamara Conniff is the Executive Editor and Associate Publisher of Billboard is the one responsible for polluting the writescape with it.InFlorianhttp://www.blogger.com/profile/06798512674087485252noreply@blogger.com22tag:blogger.com,1999:blog-7805390.post-1119424105058067682005-06-22T00:02:00.000-07:002005-06-22T00:08:25.063-07:00GamemodesYesterday the producer of Battlefield2 answered some questions in a chat. I particularly took notice of the following. *Importfan85* how many different game types will there be?[EA]ScottyRotten: Battlefield 2 is conquest only. We've been asked before why that is and the question is basically user interest. We measured the number of people playing the other game modes (Deathmatch, etc.) in BF1942 Florianhttp://www.blogger.com/profile/06798512674087485252noreply@blogger.com0tag:blogger.com,1999:blog-7805390.post-1119358943817883632005-06-21T05:47:00.000-07:002005-06-21T06:02:23.823-07:00Shit infestationWarning, if you think ATL and MFC are enjoyable API expiriences, you should not read this.I'm working in a project making a product that needs to cross-compile against both Solars and Windows. For this you obviously need unified interfaces for containers.Trough some history I'm glad not to have been involved, the choice fell on the Microsoft flavor of containers and API's, coming from ATL and Florianhttp://www.blogger.com/profile/06798512674087485252noreply@blogger.com1tag:blogger.com,1999:blog-7805390.post-1119217728220861362005-06-19T14:39:00.000-07:002005-06-19T14:48:48.226-07:00Battlefield 2 ModdingI'm toying with modding Battlefield 2, and for that purpose I'm putting up a reference page of it.It's a lot of work specially documenting the stuff that isn't there as source. I also noticed that there's rather an abundance of API's the engine exposes, that aren't used at ally by any python.I also came by some classes that seem to be created dynamically by C++ code, or be plugged together by Florianhttp://www.blogger.com/profile/06798512674087485252noreply@blogger.com0tag:blogger.com,1999:blog-7805390.post-1118841710314222492005-06-15T05:59:00.000-07:002005-06-15T06:21:50.323-07:00Battlefield 2This post is going to be about three things: Battlefield 2, my new hardware to play it and the python embedding they do.Battlefield 2This is simply an awesome game. A demo has just come out, and it is in many many aspects so much more and better then the previous battlefield. There are some issues I have, which would namely be the ingame browser and a bit of the loading slowness spread everywhereFlorianhttp://www.blogger.com/profile/06798512674087485252noreply@blogger.com0tag:blogger.com,1999:blog-7805390.post-1118408401703938862005-06-10T05:45:00.000-07:002005-06-10T06:00:01.710-07:00Full text indexerIt took me 15 minutes today to write a simple full-text indexer for source code, using shlex and zodb. It accesses a 20Mb database below a notable delay. It will save me endless hours of using find/grep on the ~3600 header files I find myself searching pretty often.Implementation time: 15 minutes. Retriever 15 lines of code. Indexer 37 lines of code. Time not spend using find/grep, priceless.Florianhttp://www.blogger.com/profile/06798512674087485252noreply@blogger.com0tag:blogger.com,1999:blog-7805390.post-1118314436665248652005-06-09T01:34:00.000-07:002005-06-09T03:53:56.710-07:00Negative reinforcement works!Yet again I work in a C++ project. The deadline looms closer. We've no working system, a lack of specification, people working on their modules in autism mode and general confusion about what we're doing anyway.Personally I've been struggling with an impossibly retarded build-system for the past three weeks, I tried to get the "big picture" to compile so I can work against something that runs. I Florianhttp://www.blogger.com/profile/06798512674087485252noreply@blogger.com0tag:blogger.com,1999:blog-7805390.post-1118217229183004362005-06-08T00:48:00.000-07:002005-06-08T00:53:49.190-07:00Darwin AwardMy todays nominees would be the people who try to fly in the wheel well of an airplane.Obviously there's multiple dangers awaiting the eager well-traveler there.-You can get crushed by the wheels-You can get crushed by the doors closing/opening-You can freeze do death-Die of oxygen deprivation in airy hights-You can fall do death-Slide to death ( in case you fell out at a couple of hundreds of Florianhttp://www.blogger.com/profile/06798512674087485252noreply@blogger.com0tag:blogger.com,1999:blog-7805390.post-1117462059835983092005-05-30T06:56:00.000-07:002005-05-30T07:07:39.840-07:00ElementTreeI've said this before, and I still think it holds true. ElementTree is very nice.There was a recent discussion about it on comp.text.xml, which got the attention of Fredrik LundthI do much apreciate ElementTree. Of course using a non-DOM API to process xml conviniently is heresy, and will call the gods crushing down on us.I find the proponents to a strict and true die hard one Document Model API Florianhttp://www.blogger.com/profile/06798512674087485252noreply@blogger.com0tag:blogger.com,1999:blog-7805390.post-1116866373490174312005-05-23T09:30:00.000-07:002005-05-23T09:39:33.496-07:00PyPy 0.6 outAlright, now this one gets me quite excited. Just 5 minutes ago I argued with a friend of mine, that PyPy is in fact going forward, and he argued that they'll not have a release anytime < 10 years.However, there is a release 0.6 now. From the tutorials and explanations, there's plenty a mention that this is higly experimental. I can spot type inference there, as well as translation to machine Florianhttp://www.blogger.com/profile/06798512674087485252noreply@blogger.com0