UPDATE: 13 left.
UPDATE: It seems like everyone who is already registered at Google Wave gets eight more invitations to give away. Therefore I’ve got a total of 14 invitations for you guys.
A few weeks ago I got an invitation to Google Wave. Now that I’ve shared most of my invitations I thought “do something noble!”. There are 9 invitations left.
I don’t like quizzes and the like, therefore I’ll do it quick and easy: The first nine visitors which find this article and comment to it will recieve an invitation. Of course I need an eMail adress, otherwise I won’t be able to invote you. You need to create a Google account in order to use Google Wave, either after being invited or prior to that.
Google recommends these browser: Internet Explorer 6, Firefox 3.5, Safari 4 und Google Chrome.
Just kidding, of course the IE isn’t able to handle Wave, neither 6 nor 7 nor 8, only the other three browsers are recommended by Google. Opera (10.01) has some problems displaying Wave. I for one recommend using Iron, the none-Google version of Chrome. Why? Because of the fast JavaScript Engine and because of the none-Google. Seriously, I myself installed Iron, Firefox just isn’t that fast, at least when it comes to executing JS. Probably a fast PC helps out, I don’t know because of the lack of the latter.
But when chatting over Wave with an appropriate performance you can see the others typing, which I didn’t believe at first. Just a little advice: Google Wave is in preview status, this means it breaks sometimes, lags a little, etc.
Now let the games begin!
chatten, chrome, firefox, free accounts, free invitations, google, google wave, iron, wave, web2
Again about Zend Framework.
When I read the documentation of Zend_Acl for the first time, I thought “My god, you want me to load the whole ACL structure at each request? You can’t be serious.”
Of course not. Again asking Google for help I quickly found a dynamic ACL loader in the framework’s Wiki. That’s it! Works great, but it was a little difficult to use objects as resource/role IDs, even if they implemented Zend_Acl_Resource_Interface and Zend_Acl_Role_Interface respectively. Therefore I simply overwrote the according method and added the missing desired functionality.
Nonsense! Why? Quite simply: I already had written my own version of Zend_Acl::isAllowed() (not overwritten, my version is part of an ACL plugin which doesn’t inherit from Zend_Acl), which in turn uses Zend_Acl::isAllowed() to determine whether Peter has acces or not (A placeholder which I use all the time, you can type it so fast. No, my password don’t contain it.
).
Anyway, my version of ::isAlllowed() loads all needed roles and resources when invoked (of course with a check whether this has been done already), fetches the rights data from database, uses Zend_Acl::allow() and -::deny() respectively to set the user rights and at the end it uses Zend_Acl::isAllowed() to finally determine what Peter’s rights are. The ACL object should be declared as static to not reinvent the wheel each time the method is invoked.
acl, dynamic acl, zend, zend framework, zend_acl, zion_acl
Today I was confronted with the problem to assign a single layout.phtml to each module of a Zend Application. At first I thought it’d be done easily with an application.ini line like this one:
admin.resources.layout.layoutPath = path/to/layout
(whereas “admin” is the module name). But as often, pressing F5 brought disillusion, it doesn’t work this way.
A quick Google search said, that writing a Front Controller plugin which searches for a layout.phtml file by module name is the solution to all my problems. Actually this was exactly what I wanted, but there had to be a way without adding extra code to the application.
So I didn’t settle with this plugin and tried some other things until an error message opened my eyes. In fact, Zend also searches for layout files in the /scripts/views/ dir of each module. Everything I had to do was removing the “resources.layout.*” settings from my application.ini and adding a layout.phtml file to each of the latter named dirs and – voilà – each module used his own layout script; awesome, isn’t it?
layout, per module, zend framework
Eventually found a design which fits my taste. But can’t say that I’m fully pleased with it. It’s called coogee, which can be seen at the bottom.
It’s a twitter widget!
Shame on me for not installing it earlier.
design, twitter, widget
Again, it’s just about a Website, but hey: Writing articles is for free.
This time it’s phpbench.com. Chris Vincent compares a lot of frequent PHP code snippets in terms of speed. Often, only milliseconds do the difference, but every little helps
I will try to stick to some rules to get even the very last millisecond.
benchmark, chris vincent, php, phpbench, speed
Far better than http://www.ajaxload.info: http://preloaders.net
That site offers 3 dimensional loaders too
ajax, loader
Digg has a problem: Power User. These guys, whose motivation I don’t really understand, controll the digg frontpage. At digg were several proposals and ideas to get rid of them, or at least of the symptoms.
I had a idea which I didn’t see at digg.
Wouldn’t it be great, if users could be digged or buried just like we can do it with submissions and comments? Each user could set a threshold to decide if he sees submissions or not, depending on how many users dugg or buried the submitter. As I said, just like we do it with comments. A user controll in a fully user driven system.
Of course this works only as long as there are less powerusers than “normal” users, but this can be expected, as this submission was dugg over 19k times.
If you think this is bullshit, I’d like to know it
Cheers,
Patrick
digg
Eureka!
Now you can enjoy my posts in english!
Well, most of them.
Cheers,
Patrick
heureka, languages
Had a few problems with the latest Wordpress version, but it’s re-installed and working now.
UPDATE: Well, it wasn’t WordPress causing the trouble. FileZilla seems to be a bit lazy, it didn’t transfer ALL files…
2.7, filezilla, trouble, wordpress