Using php’s exec() function on Windows has a nasty side-effect; you’ll need to give execution-rights to IUSR on cmd.exe, this is pretty much a leak, and something you do not want to do.
I had a problem running executables (like identify.exe and convert.exe from ImageMagick) from php under windows using the exec() funciton. The solution provided by others was kind off stupid… Give full permisions on cmd.exe to IURS… Like you wanna do that…..
I wrote a exec() replacement function using the bypass_shell option proc_open has. It works great for me
Check out this article on bokko.nl to bypass using exec() on Windows
buTTon PHP exec, IUSR, PHP
Authenticated what?
The first hurdle most developers have to take when introduced to AJAX is S.O.P.
S.O.P stands for Same Origin Policy and basically means that you can only do AJAX-requests to the (sub)-domain the client is currently on. First thing I thought when I read about AJAX couple of years ago; ‘wow! cool! I can strip content from other sites and incorporate them in my websites’ .. and immediately I started hammering away on a RSS-reader which was supposed to grab news from a RSS-feed directly. My efforts failed. The RSS-feed was on another domain and S.O.P kicked in spoiling all the fun.
Read more…
buTTon Javascript, OOP, PHP, WPS AJAX, Cross-domain, Javascript, OOP, PHP, Prototype.js, SOP
If you’re used to writing Object Oriented PHP switching to Javascript could be confusing, it takes a lot of effort and ugly code to actually write pure classes. You won’t be able to create abstract-classes or use interfaces. On the other hand; being a prototyped language Javascript offers a lot of possibilities that you won’t find in PHP. If you’re used to the way of thinking of OOP in PHP, why not use this knowledge to write Javascript-classes? This is where Prototype.js comes in.
Read more…
buTTon Javascript, OOP Javascript, object inheritance, OOP, Prototype.js

HDX-1000 Networked Media Tank
I have a HDX-1000; a Networked Media Tank. A kind of dedicated audio/video-player with harddisk and capable of playing about anything you throw at it (matroska, DVD-iso’s, DIVX, XVid’s, mpg’s) in Full HD (1080P). Absolutely a toy to recommend if you’re into HD-video. If you’re looking for one I can strongly recommend buying one at DivxPlayer.nl , their service is absolutely superb.
Anyway; the HDX-1000 is also capable of displaying (simple) websites, aka. webservices (in fact; the GUI is HTML-based), and it’s very good at playing Shoutcast-streams. But; there were no webservices for browsing through the Shoutcast-directory. Ok; there’s a top10 shoutcast station-list, but with over 50000 stations this does not even scratch the surface. So.. i gave up a sundaymorning and started hammering away on a Shoutcast-directory Browser for NMT’s.
Fortunately Shoutcast has a very nice API to request all kinds of information, and it returns XML, which I became quite an expert on the last 10 years. Because I didn’t want to put a heavy load on Shoutcast’s servers by requesting data on each visit, and to keep my directory-browser at blazing speed i’ve written a sync-script which pulls all categories and stations from the Shoutcast-API and dump them into a database. The script runs every 2 days (if I don’t forget it:)) and refreshes the stationlist in my database.
If you have a NMT-player; check out http://hdx.i-v-o.nl (the stations will only play when started from a NMT, not from your browser)
buTTon NMT, PHP HDX-1000, HDX-1080, Networked Media Tank, NMT, Shoutcast
I’m currently still optimizing and debugging a fresh release of Crudder, e.t.a of this release will be somewhere around the midst of March.
Changes:
- Updates without any affected_rows will not trigger an error anymore, SQL-errors are still caught though
- MultiLinked fields _should_ work better on MSIE, but you never know; IE sucks at being any kind of predictable (and all other things a browser should do).
- Language-settings of the interface-texts actually work
- new feat: thouroughCheck; checks whether a table has non-nullable fields and will make those fields mandatory
- new feat: exporting data to CSV (currently the output with default-settings is suitable for openOffice)
- new feat: Advanced filtering / Querybuilder
buTTon CRUD, Content Publishing, Javascript, Open source, PHP CRUD, crudder, javacript, PHP
Finally I took some time to check out Wordpress.. Thought i’d give it a try and must say; I’m impressed.. So I ditched my own blog-software and installed Wordpress on a server which you are looking at right now.
I’ll try to post some snippets and more info on my WebPublishingSystem inbetween workrave-breaks!
buTTon Personal