This file is indexed.

/usr/share/php/tests/Horde_Feed/Horde/Feed/fixtures/lexicon/http-suraski.net-blog-index.php%2F-feeds-index.rss2 is in php-horde-feed 2.0.1-4.

This file is owned by root:root, with mode 0o644.

The actual contents of the file can be viewed below.

  1
  2
  3
  4
  5
  6
  7
  8
  9
 10
 11
 12
 13
 14
 15
 16
 17
 18
 19
 20
 21
 22
 23
 24
 25
 26
 27
 28
 29
 30
 31
 32
 33
 34
 35
 36
 37
 38
 39
 40
 41
 42
 43
 44
 45
 46
 47
 48
 49
 50
 51
 52
 53
 54
 55
 56
 57
 58
 59
 60
 61
 62
 63
 64
 65
 66
 67
 68
 69
 70
 71
 72
 73
 74
 75
 76
 77
 78
 79
 80
 81
 82
 83
 84
 85
 86
 87
 88
 89
 90
 91
 92
 93
 94
 95
 96
 97
 98
 99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
<?xml version="1.0" encoding="utf-8" ?>

<rss version="2.0" 
   xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
   xmlns:admin="http://webns.net/mvcb/"
   xmlns:dc="http://purl.org/dc/elements/1.1/"
   xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
   xmlns:wfw="http://wellformedweb.org/CommentAPI/"
   xmlns:content="http://purl.org/rss/1.0/modules/content/"
   >
<channel>
    <title>Zeev Suraski</title>
    <link>http://suraski.net/blog/</link>
    <description>Random thoughts</description>
    <dc:language>en</dc:language>
    <admin:errorReportsTo rdf:resource="mailto:" />
    <generator>Serendipity 1.3.1 - http://www.s9y.org/</generator>
    
    <image>
        <url>http://suraski.net/blog/templates/default/img/s9y_banner_small.png</url>
        <title>RSS: Zeev Suraski - Random thoughts</title>
        <link>http://suraski.net/blog/</link>
        <width>100</width>
        <height>21</height>
    </image>

<item>
    <title>Photo Contest (not quite PHP related)</title>
    <link>http://suraski.net/blog/index.php?/archives/18-Photo-Contest-not-quite-PHP-related.html</link>
            <category>PHP</category>
    
    <comments>http://suraski.net/blog/index.php?/archives/18-Photo-Contest-not-quite-PHP-related.html#comments</comments>
    <wfw:comment>http://suraski.net/blog/wfwcomment.php?cid=18</wfw:comment>

    <slash:comments>6</slash:comments>
    <wfw:commentRss>http://suraski.net/blog/rss.php?version=2.0&amp;type=comments&amp;cid=18</wfw:commentRss>
    

    <author>zeev@zend.com (Zeev Suraski)</author>
    <content:encoded>
    Two of my photos are finalists in a local (Israeli) pets+owners photo contest.&lt;br /&gt;
You can find them at &lt;a href=&quot;http://tinyurl.com/2oodug&quot;&gt;http://tinyurl.com/2oodug&lt;/a&gt;&lt;br /&gt;
While it&#039;s in Hebrew, the photos are pretty universal so you can still appreciate them.&lt;br /&gt;
If you feel like voting for one of mine - one is on the fourth row on the left column (Anya &amp;amp; white dog), and the other is on the last row in the right column (me + kitten).  One vote per person (or at least per browser &lt;img src=&quot;http://suraski.net/blog/templates/default/img/emoticons/wink.png&quot; alt=&quot;;-)&quot; style=&quot;display: inline; vertical-align: bottom;&quot; class=&quot;emoticon&quot; /&gt;).  Click on the arrow icon on the bottom left once you&#039;ve made your choice.  The pets thank you &lt;img src=&quot;http://suraski.net/blog/templates/default/img/emoticons/smile.png&quot; alt=&quot;:-)&quot; style=&quot;display: inline; vertical-align: bottom;&quot; class=&quot;emoticon&quot; /&gt; 
    </content:encoded>

    <pubDate>Mon, 17 Dec 2007 22:52:32 -0500</pubDate>
    <guid isPermaLink="false">http://suraski.net/blog/index.php?/archives/18-guid.html</guid>
    
</item>
<item>
    <title>PHP Security</title>
    <link>http://suraski.net/blog/index.php?/archives/17-PHP-Security.html</link>
    
    <comments>http://suraski.net/blog/index.php?/archives/17-PHP-Security.html#comments</comments>
    <wfw:comment>http://suraski.net/blog/wfwcomment.php?cid=17</wfw:comment>

    <slash:comments>5</slash:comments>
    <wfw:commentRss>http://suraski.net/blog/rss.php?version=2.0&amp;type=comments&amp;cid=17</wfw:commentRss>
    

    <author>zeev@zend.com (Zeev Suraski)</author>
    <content:encoded>
    I&#039;ve just been &lt;a href=&quot;http://it.slashdot.org/it/06/12/14/0410240.shtml&quot;&gt;misquoted on Slashdot&lt;/a&gt;, as if I said there are no security problems in PHP itself, and that I instead point my finger only at inexperienced developers.&lt;br /&gt;
&lt;br /&gt;
If you read the original article on &lt;a href=&quot;http://www.heise-security.co.uk/news/82500&quot;&gt;Heise Security&lt;/a&gt;, you&#039;ll see that I have not said anything of the sort.  While I hope Slashdot fixes this story, I thought I&#039;d make my stand on this clearer.  I believe this is the belief of most others on the security team, but I&#039;m only speaking on behalf of myself and do not represent them.&lt;br /&gt;
&lt;br /&gt;
1.  Fact is most security problems that are published that have to do with PHP, have to do with problems at the user level, i.e., bugs in the application written in PHP.  There&#039;s no point arguing about this one, it can be proven by simply looking at the number of published advisories that had to do with PHP itself, vs. the number of advisories that had to do with applications written in PHP.&lt;br /&gt;
&lt;br /&gt;
2.  There are many reasons for the fact there&#039;s a large number of security problems in PHP Web apps.  First and foremost, it&#039;s the fact PHP is by far the most popular platform for building Web apps, and I believe it&#039;s also the language with the largest number of opensource ready-to-use Web apps out there.  If PHP accounts for, say, 50% of the opensource Web apps deployed on the net (a reasonably conservative assumption), half of the problems in Web apps would have been in PHP apps just from a statistical point of view.  Also remember that it&#039;s much easier to create a Web app that&#039;s exploitable than a desktop/backend app that&#039;s exploitable, if only for the fact that Web apps are (almost) by definition remotely accessible, turning even minor glitches to problems with real security implications.&lt;br /&gt;
&lt;br /&gt;
3.  Another reason for certain classes of security problems in PHP can be blamed on the language itself.  Two such examples are register_globals (handled in PHP 4.2 several years ago) and the default support for URL include()&#039;s (fixed as of PHP 5.2 a couple of months ago).  These are not strictly language bugs, but instead, features (or misfeatures) that make it all too easy for novice developers (and sometimes even advanced ones not paying attention) to fall into security pitfalls.  While not a language problem from a strict &quot;computer science&quot; point of view, I think everyone on the PHP dev team perceives those as problems that need to be addressed, and contrary to the misquote on slashdot, nobody, or at least not me, is pointing the finger at inexperienced developers.  It&#039;s their fault, but our responsibility, if you will.&lt;br /&gt;
Yes, we could have handled the remote URL inclusion faster, but saying we don&#039;t care about such issues is just false.&lt;br /&gt;
&lt;br /&gt;
4.  And now for the scoop.  YES, there ARE security problems in PHP.  PHP itself, as in the code in C that implements the language.  If you didn&#039;t get a stroke from reading this scoop and you&#039;re still with me, I&#039;d like to point out that I can hardly think of any other project in such a scope and of a similar nature that doesn&#039;t have security problems in it, at the same rate (give or take) as PHP.  I&#039;ve never said anything to the contrary in the past, and I don&#039;t expect to ever say something else in the future.  I do mention, whenever I&#039;m asked about PHP&#039;s security, that most of the problems happen at the user level - but it doesn&#039;t mean that PHP doesn&#039;t have security bugs in it as well.&lt;br /&gt;
&lt;br /&gt;
5.  I believe we&#039;ve had an excellent track record at fixing remotely exploitable problems and coming out with fixes immediately, and there haven&#039;t been that many of them either.&lt;br /&gt;
&lt;br /&gt;
Stefan&#039;s talk about being considered &quot;persona non grata&quot; because he &#039;had the guts to stand against us&#039; is completely false, too.  I&#039;m not going to get into the details of what brought Stefan to call it quits, but suffice to say that it had nothing to do with the published reason, and more to the interaction between Stefan and other members of the security team, and the dev team in general.&lt;br /&gt;
&lt;br /&gt;
Finally, I&#039;d like to take the opportunity, again, and ask Stefan to come to come back to security@ team, and work with the project and not against it.  As any project that has hundreds of people contributing to it, you never find yourself in agreement with everyone at any given time;  It doesn&#039;t mean that those who don&#039;t think exactly like you are your &#039;enemies&#039;, and it certainly doesn&#039;t mean you should quit and turn to the &#039;other side&#039;.&lt;br /&gt;
&lt;br /&gt;
Zeev&lt;br /&gt;
 
    </content:encoded>

    <pubDate>Thu, 14 Dec 2006 16:31:14 -0500</pubDate>
    <guid isPermaLink="false">http://suraski.net/blog/index.php?/archives/17-guid.html</guid>
    
</item>
<item>
    <title>hebrev() and friends</title>
    <link>http://suraski.net/blog/index.php?/archives/16-hebrev-and-friends.html</link>
    
    <comments>http://suraski.net/blog/index.php?/archives/16-hebrev-and-friends.html#comments</comments>
    <wfw:comment>http://suraski.net/blog/wfwcomment.php?cid=16</wfw:comment>

    <slash:comments>4</slash:comments>
    <wfw:commentRss>http://suraski.net/blog/rss.php?version=2.0&amp;type=comments&amp;cid=16</wfw:commentRss>
    

    <author>zeev@zend.com (Zeev Suraski)</author>
    <content:encoded>
    Recently Andrei approached me and asked what I think should be done with hebrev() and hebrevc() in the context of the Unicode-enabled PHP 6.  For those of you who don&#039;t know, hebrev() (which stands for Hebrew Reverse) and hebrevc() (which stands for Hebrew Reverse &amp;amp; Convert) are remnants from the early days of the Web - where browsers could not handle Right-to-Left langauges properly.  For those of you who don&#039;t know what Right-to-Left languages are, they&#039;re simply enough languages that are written from right to left, such as Hebrew and Arabic.&lt;br /&gt;
&lt;br /&gt;
In those dark ages - if you wanted your text to render properly on a browser that&#039;s completely ignorant of the fact your text should be going from right to left - in addition to right alignment, you also had to write your text in reverse.  Kind of like, in order to type &quot;Hello World&quot;, you had to type &quot;dlroW olleH&quot; (or rather, instead of &quot;&amp;#1513;&amp;#1500;&amp;#1493;&amp;#1501; &amp;#1506;&amp;#1493;&amp;#1500;&amp;#1501;&quot; one had to type &quot;&amp;#1501;&amp;#1500;&amp;#1493;&amp;#1506; &amp;#1501;&amp;#1493;&amp;#1500;&amp;#1513;&quot;).  This concept was named &quot;Visual displaying&quot;, or in short just plain &quot;Visual&quot;.  Since most other systems (other than browsers) were generally saving their data in the correct first-char-comes-first order (simply enough called &quot;Logical&quot;), and since input coming from users using browsers also came in the correct &#039;logical&#039; order, there was a gap between the data Web apps were working with, and the data they had to display.  hebrev() and hebrevc() were created to bridge that gap, and reverse Visual hebrew into Logical and vice versa.  Doing that is probably much more complicated than you think as you have to make sure not to reverse numbers or non-Hebrew text, break lines properly if wrapping was requested, etc.&lt;br /&gt;
&lt;br /&gt;
As time passed by - more and more browsers got the ability to handle Logical text, and automatically display it properly and render it from right to left.  My belief is that most of the R2L web today is already using Logical - which brings me back to Andrei&#039;s query, where I&#039;d like to ask your feedback.&lt;br /&gt;
&lt;br /&gt;
Do you think we need to update hebrev() to support Unicode, or should we just let it rest in peace?  Should we may be expose the more powerful ICU bidirectional conversion API under new names for those who wish to still reverse Unicode text from Visual to Logical and vice versa?  I realize this is probably not very interesting to most of the crowd here, but those of you that do have an opinion - your feedback is welcome!&lt;br /&gt;
 
    </content:encoded>

    <pubDate>Mon, 11 Dec 2006 10:47:02 -0500</pubDate>
    <guid isPermaLink="false">http://suraski.net/blog/index.php?/archives/16-guid.html</guid>
    
</item>
<item>
    <title>Stefan Esser quits security@php.net</title>
    <link>http://suraski.net/blog/index.php?/archives/15-Stefan-Esser-quits-securityphp.net.html</link>
            <category>PHP</category>
    
    <comments>http://suraski.net/blog/index.php?/archives/15-Stefan-Esser-quits-securityphp.net.html#comments</comments>
    <wfw:comment>http://suraski.net/blog/wfwcomment.php?cid=15</wfw:comment>

    <slash:comments>6</slash:comments>
    <wfw:commentRss>http://suraski.net/blog/rss.php?version=2.0&amp;type=comments&amp;cid=15</wfw:commentRss>
    

    <author>zeev@zend.com (Zeev Suraski)</author>
    <content:encoded>
    Yesterday, I had a heated debate with Stefan Esser, one of the most active people (if not the most active person) in the field of PHP security.  I told him that I, as well as a lot of other contributors to the PHP project, are at odds with the way he&#039;s behaving;  While at the same time appreciating the highly skilled job he&#039;s doing for PHP.&lt;br /&gt;
&lt;br /&gt;
Unfortunately, Stefan decided to call it quits and from a blog post on his web site, it appears he&#039;ll now attempt to become even more aggressive, do his best to ignore the best interests of PHP by disclosing unpatched holes, and in general trying to expose as many security holes in PHP.  That was not my intention when I truthfully told him what I  (and many more) feel about the style of his involvement.&lt;br /&gt;
&lt;br /&gt;
Since Stefan is obviously not listening to me, I think it may help if people who feel his behavior is inappropriate go to his blog and submit their thoughts, or send him emails.  Do that in a responsible and appropriate language, though.  Maybe if he sees it&#039;s not just me he&#039;ll reconsider.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
 
    </content:encoded>

    <pubDate>Sat, 09 Dec 2006 11:54:34 -0500</pubDate>
    <guid isPermaLink="false">http://suraski.net/blog/index.php?/archives/15-guid.html</guid>
    
</item>
<item>
    <title>Zend wins IVA and Red Herring's Best Software Startup award</title>
    <link>http://suraski.net/blog/index.php?/archives/14-Zend-wins-IVA-and-Red-Herrings-Best-Software-Startup-award.html</link>
    
    <comments>http://suraski.net/blog/index.php?/archives/14-Zend-wins-IVA-and-Red-Herrings-Best-Software-Startup-award.html#comments</comments>
    <wfw:comment>http://suraski.net/blog/wfwcomment.php?cid=14</wfw:comment>

    <slash:comments>3</slash:comments>
    <wfw:commentRss>http://suraski.net/blog/rss.php?version=2.0&amp;type=comments&amp;cid=14</wfw:commentRss>
    

    <author>zeev@zend.com (Zeev Suraski)</author>
    <content:encoded>
    &lt;a href=&#039;http://suraski.net/gallery/IVA2006&#039;&gt;&lt;img width=&#039;73&#039; height=&#039;110&#039; border=&#039;0&#039; hspace=&#039;5&#039; align=&#039;right&#039; src=&#039;http://suraski.net/blog/uploads/IMG_2942.thumb.serendipityThumb.jpg&#039; alt=&#039;&#039; /&gt;&lt;/a&gt;&lt;br /&gt;
&lt;br /&gt;
Yesterday, Zend won Israel Venture Association (IVA) and Red Herring&#039;s Best Software Startup award for the year 2006.  Those of you who know the Israeli hitech landscape can understand what an amazing feat this is;  For those who don&#039;t, Zend (and two other startups in other hitech areas) won out of a list of 400 nominees, which in turn are only a small fraction of the startups in the country.  Israel has the highest concentration of startups in the world, second only to the Silicon Valley.  So, the fact Zend won is pretty amazing and a great honor for all of the team.&lt;br /&gt;
&lt;br /&gt;
I believe that PHP, the opensource movement and its ability to create a 1st class contender in the Web development space played a major role in the judges&#039; decision, so I also see this as a win for the entire PHP community.  We&#039;ve definitely all come a long way...&lt;br /&gt;
&lt;br /&gt;
Great job, Zenders and PHPers!&lt;br /&gt;
&lt;br /&gt;
Links:&lt;br /&gt;
&lt;a href=&#039;http://redherring.com/Article.aspx?a=17308&amp;hed=VCs+Name+Hot+Israeli+Startups&#039;&gt;Red Herring&lt;/a&gt;&lt;br /&gt;
&lt;a href=&#039;http://www.ynet.co.il/articles/0,7340,L-3265305,00.html&#039;&gt;Ynet&lt;/a&gt; (Hebrew)&lt;br /&gt;
&lt;a href=&#039;http://suraski.net/gallery/IVA2006&#039;&gt;Some pictures&lt;/a&gt; 
    </content:encoded>

    <pubDate>Wed, 21 Jun 2006 13:34:57 -0400</pubDate>
    <guid isPermaLink="false">http://suraski.net/blog/index.php?/archives/14-guid.html</guid>
    
</item>
<item>
    <title>Government-Organized PHP Seminar in France</title>
    <link>http://suraski.net/blog/index.php?/archives/13-Government-Organized-PHP-Seminar-in-France.html</link>
    
    <comments>http://suraski.net/blog/index.php?/archives/13-Government-Organized-PHP-Seminar-in-France.html#comments</comments>
    <wfw:comment>http://suraski.net/blog/wfwcomment.php?cid=13</wfw:comment>

    <slash:comments>3</slash:comments>
    <wfw:commentRss>http://suraski.net/blog/rss.php?version=2.0&amp;type=comments&amp;cid=13</wfw:commentRss>
    

    <author>zeev@zend.com (Zeev Suraski)</author>
    <content:encoded>
    &lt;a href=&#039;http://suraski.net/gallery/FranceSeminarDGME2006/IMG_1326&#039;&gt;&lt;img width=&#039;110&#039; height=&#039;83&#039; border=&#039;0&#039; hspace=&#039;5&#039; align=&#039;right&#039; src=&#039;http://suraski.net/blog/uploads/IMG_1326.thumb.serendipityThumb.jpg&#039; alt=&#039;&#039; /&gt;&lt;/a&gt;&lt;br /&gt;
&lt;br /&gt;
Yesterday in Paris, I spoke in a one day seminar about PHP, that was organized by DGME, a French governmental agency.  It was held in a conference room in one of the Minefi (Ministry of Finance) buildings, no less.  Most of the attendees were coming from various governmental agencies and ministries, to learn more about PHP success stories and best practices.  Presenters came from Oracle, alapage.com, DGME, Zend and others.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;a href=&quot;http://www.adele.gouv.fr/synergies/article.php3?id_article=45&quot;&gt;The seminar&lt;/a&gt; was the first seminar of its kind in France, and to the best of my knowledge - it was the first one of its kind around the world as well.  Personally, I found it quite amazing - although I guess we&#039;ll have to start getting used to PHP being regularly adopted by an ever-growing number of entities, for which it used to be completely off-limits until not too long ago.  At long last, the perception about PHP is finally showing some true signs of changing, and finally synchronizing with reality;  People and organizations perceiving PHP for what it is - the best Web development platform out there.&lt;br /&gt;
&lt;br /&gt;
I believe this is just the beginning - and we&#039;ll see more events like this in France and elsewhere, and more and more people attending them. 
    </content:encoded>

    <pubDate>Tue, 20 Jun 2006 16:44:58 -0400</pubDate>
    <guid isPermaLink="false">http://suraski.net/blog/index.php?/archives/13-guid.html</guid>
    
</item>
<item>
    <title>Guy Harpaz opens a new blog!</title>
    <link>http://suraski.net/blog/index.php?/archives/12-Guy-Harpaz-opens-a-new-blog!.html</link>
    
    <comments>http://suraski.net/blog/index.php?/archives/12-Guy-Harpaz-opens-a-new-blog!.html#comments</comments>
    <wfw:comment>http://suraski.net/blog/wfwcomment.php?cid=12</wfw:comment>

    <slash:comments>1</slash:comments>
    <wfw:commentRss>http://suraski.net/blog/rss.php?version=2.0&amp;type=comments&amp;cid=12</wfw:commentRss>
    

    <author>zeev@zend.com (Zeev Suraski)</author>
    <content:encoded>
    Guy Harpaz, the product manager for Zend Studio (and its former development team leader), has opened a new &lt;a href=&quot;http://guyharpaz.blogspot.com&quot;&gt;blog&lt;/a&gt;.  His likely topics for blogging would revolve around the Eclipse PHP IDE project, and upcoming versions of Studio, so it should be quite interesting.&lt;br /&gt;
&lt;br /&gt;
&lt;a href=&quot;http://guyharpaz.blogspot.com&quot;&gt;Check it out!&lt;/a&gt; 
    </content:encoded>

    <pubDate>Thu, 11 May 2006 10:48:13 -0400</pubDate>
    <guid isPermaLink="false">http://suraski.net/blog/index.php?/archives/12-guid.html</guid>
    
</item>
<item>
    <title>Zend Studio 5.0 Beta available!</title>
    <link>http://suraski.net/blog/index.php?/archives/10-Zend-Studio-5.0-Beta-available!.html</link>
            <category>PHP</category>
    
    <comments>http://suraski.net/blog/index.php?/archives/10-Zend-Studio-5.0-Beta-available!.html#comments</comments>
    <wfw:comment>http://suraski.net/blog/wfwcomment.php?cid=10</wfw:comment>

    <slash:comments>7</slash:comments>
    <wfw:commentRss>http://suraski.net/blog/rss.php?version=2.0&amp;type=comments&amp;cid=10</wfw:commentRss>
    

    <author>zeev@zend.com (Zeev Suraski)</author>
    <content:encoded>
    It&#039;s been a while since I personally contributed code to this project, but a bunch of my most-wanted features are now in there, most notably multilevel code completion and native web services support.&lt;br /&gt;
&lt;br /&gt;
Multilevel code completion means that almost always you&#039;d get code completion for objects, even if they&#039;re return values from functions (as long as you phpdocument them!) or a 10th level indirection, $foo-&gt;bar-&gt;baz-&gt;....  As a code-completion addict, that&#039;s great news.&lt;br /&gt;
&lt;br /&gt;
Native web services support means I no longer have to start writing web services by taking an existing WSDL file (a.k.a. scrolls of magic) and change it, but can instead use the WSDL generator now built into the system.  Not to mention the code completion for SoapClient objects (did I mention I&#039;m a code completion addict?)&lt;br /&gt;
&lt;br /&gt;
The beta is available for free download on &lt;a href=&quot;http://www.zend.com/store/products/zend-studio/beta.php?bz=712&quot;&gt;zend.com&lt;/a&gt;.  Free T-shirts will be given to the most valuable reporters so start smashing it today &lt;img src=&quot;http://suraski.net/blog/templates/default/img/emoticons/smile.png&quot; alt=&quot;:-)&quot; style=&quot;display: inline; vertical-align: bottom;&quot; class=&quot;emoticon&quot; /&gt;&lt;br /&gt;
 
    </content:encoded>

    <pubDate>Mon, 12 Sep 2005 15:41:24 -0400</pubDate>
    <guid isPermaLink="false">http://suraski.net/blog/index.php?/archives/10-guid.html</guid>
    
</item>
<item>
    <title>Following up...</title>
    <link>http://suraski.net/blog/index.php?/archives/9-Following-up....html</link>
            <category>PHP</category>
    
    <comments>http://suraski.net/blog/index.php?/archives/9-Following-up....html#comments</comments>
    <wfw:comment>http://suraski.net/blog/wfwcomment.php?cid=9</wfw:comment>

    <slash:comments>11</slash:comments>
    <wfw:commentRss>http://suraski.net/blog/rss.php?version=2.0&amp;type=comments&amp;cid=9</wfw:commentRss>
    

    <author>zeev@zend.com (Zeev Suraski)</author>
    <content:encoded>
    Can anybody spot the new sponsor &lt;a href=&quot;http://zend.kbconferences.com/&quot;&gt;here&lt;/a&gt;?  You have to admit it wouldn&#039;t be the first on your guess list. 
    </content:encoded>

    <pubDate>Thu, 08 Sep 2005 17:58:32 -0400</pubDate>
    <guid isPermaLink="false">http://suraski.net/blog/index.php?/archives/9-guid.html</guid>
    
</item>
<item>
    <title>Selling PHP to your boss?  A piece of cake.</title>
    <link>http://suraski.net/blog/index.php?/archives/8-Selling-PHP-to-your-boss-A-piece-of-cake..html</link>
            <category>PHP</category>
    
    <comments>http://suraski.net/blog/index.php?/archives/8-Selling-PHP-to-your-boss-A-piece-of-cake..html#comments</comments>
    <wfw:comment>http://suraski.net/blog/wfwcomment.php?cid=8</wfw:comment>

    <slash:comments>0</slash:comments>
    <wfw:commentRss>http://suraski.net/blog/rss.php?version=2.0&amp;type=comments&amp;cid=8</wfw:commentRss>
    

    <author>zeev@zend.com (Zeev Suraski)</author>
    <content:encoded>
    I&#039;m not sure how many of you have been to the &lt;a href=&quot;http://zend.kbconferences.com/&quot;&gt;Z/PC&amp;E2005 (*)&lt;/a&gt; as of late, but it&#039;s definitely an interesting visit.  While it&#039;s not the first PHP conference to feature some pretty impressive sponsors, I think it would be fair to say that it&#039;s the first PHP event that is backed by  the leading technology companies in the world today.  Including some you&#039;d never suspect would be interested (will update tomorrow, stay tuned).&lt;br /&gt;
&lt;br /&gt;
Needless to say, that reflects greatly on PHP.&lt;br /&gt;
&lt;br /&gt;
It&#039;s no secret PHP was (and to a large degree still is) a grassroots phenomenon.  Most of the companies using PHP today chose to use it based on a developer&#039;s decision, as opposed to a management (CIO/CTO) decision.  However, in many companies, especially the larger ones - PHP&#039;s penetration ended as soon as the developer(s) tried to sell the concept of using opensource in general, and PHP in particular to their boss, and sometimes to their customers.&lt;br /&gt;
&lt;br /&gt;
&quot;How do I sell PHP to my boss?&quot; was one of the key questions that I had to deal with personally in the past.  As a proliferator of PHP, this was one of the key challenges Zend faced as well.  It has also been the topic of numerous presentations in various PHP conferences.  The answer that was always given was based purely on technological merit - it was clear that nothing we (community, Zend, or both) can do can match the mammoth marketing power that was pushing the commercial or even free (Java based) alternatives.  Years and years of relentless work to change the world&#039;s perception have finally paid off.  Today, the same powers are now beginning to push PHP itself, especially into places where it stood no chance to penetrate in the past.  And it&#039;s not just marketing either - the &lt;a href=&quot;http://andigutmans.blogspot.com/2005/09/php-oci8-driver-updated.html&quot;&gt;OCI8 extension&lt;/a&gt; and the &lt;a href=&quot;http://www.zend.com/pecl/tutorials/sdo.php&quot;&gt;new SDO extension&lt;/a&gt; are just two initial examples of how this involvement is going to translate into additional &#039;tangible&#039; benefits for the PHP community.&lt;br /&gt;
&lt;br /&gt;
2005 definitely signifies a turning point in the history of PHP.  From an underdog that is technologically superior but lacks industry backing, to an overdog(**) - still technologically superior, but an accepted industry standard as well.&lt;br /&gt;
&lt;br /&gt;
I&#039;ll see you all at the conference!&lt;br /&gt;
&lt;br /&gt;
---&lt;br /&gt;
&lt;br /&gt;
(*) Zend PHP Conference &amp;amp; Expo 2005&lt;br /&gt;
(**) Improvements to this word welcome!  &lt;img src=&quot;http://suraski.net/blog/templates/default/img/emoticons/wink.png&quot; alt=&quot;;-)&quot; style=&quot;display: inline; vertical-align: bottom;&quot; class=&quot;emoticon&quot; /&gt; 
    </content:encoded>

    <pubDate>Wed, 07 Sep 2005 23:09:52 -0400</pubDate>
    <guid isPermaLink="false">http://suraski.net/blog/index.php?/archives/8-guid.html</guid>
    
</item>
<item>
    <title>PHP and Oracle</title>
    <link>http://suraski.net/blog/index.php?/archives/7-PHP-and-Oracle.html</link>
            <category>PHP</category>
    
    <comments>http://suraski.net/blog/index.php?/archives/7-PHP-and-Oracle.html#comments</comments>
    <wfw:comment>http://suraski.net/blog/wfwcomment.php?cid=7</wfw:comment>

    <slash:comments>6</slash:comments>
    <wfw:commentRss>http://suraski.net/blog/rss.php?version=2.0&amp;type=comments&amp;cid=7</wfw:commentRss>
    

    <author>zeev@zend.com (Zeev Suraski)</author>
    <content:encoded>
    As some people may have noticed, &lt;a href=&quot;http://www.zend.com/core/oracle/&quot;&gt;Zend Core for Oracle&lt;/a&gt; went into a public beta stage a couple of days ago.  This free product is excellent news for anybody using PHP and Oracle together, since the OCI8 extension was vastly improved to bring it on par with (and sometimes better than) other database extensions, both in terms of stability and performance.&lt;br /&gt;
&lt;br /&gt;
It&#039;s actually good news even for people who won&#039;t be using Zend Core - since like with any other fixes made to PHP in the course of the work on Core (and in general), these will be committed to the PHP CVS as soon as they&#039;re tested (probably a couple of days&#039; time). 
    </content:encoded>

    <pubDate>Wed, 31 Aug 2005 08:10:05 -0400</pubDate>
    <guid isPermaLink="false">http://suraski.net/blog/index.php?/archives/7-guid.html</guid>
    
</item>
<item>
    <title>Scotch is gone</title>
    <link>http://suraski.net/blog/index.php?/archives/6-Scotch-is-gone.html</link>
            <category>Life</category>
    
    <comments>http://suraski.net/blog/index.php?/archives/6-Scotch-is-gone.html#comments</comments>
    <wfw:comment>http://suraski.net/blog/wfwcomment.php?cid=6</wfw:comment>

    <slash:comments>6</slash:comments>
    <wfw:commentRss>http://suraski.net/blog/rss.php?version=2.0&amp;type=comments&amp;cid=6</wfw:commentRss>
    

    <author>zeev@zend.com (Zeev Suraski)</author>
    <content:encoded>
    My beloved dog, which was adopted by my parents when I went to the army, has passed away yesterday, when I was on my way to the US.  She died of cancer at the age of 13.5.  It&#039;s amazingly sad that those magnificent creatures live so little.  This makes you wonder how just one thing is certain in life.  Sad, sad entry for the Life category.&lt;br /&gt;
&lt;br /&gt;
From the PHP angle, in a way, Scotch affected a bunch of parts in PHP - since she was the only one I could consult with when I developed certain parts of the language, in the middle of the night many years ago...  She was definitely a PHP dog.&lt;br /&gt;
&lt;br /&gt;
May you rest in peace, Scottie!&lt;br /&gt;
&lt;br /&gt;
&lt;a href=&quot;http://suraski.net/gallery/Scotch&quot;&gt;Picture Gallery&lt;img src=&quot;http://suraski.net/albums/Bath/104_0445_IMG.thumb.jpg&quot; alt=&quot;Scotch&quot; align=&quot;right&quot; /&gt;&lt;/a&gt;&lt;br /&gt;
 
    </content:encoded>

    <pubDate>Tue, 30 Aug 2005 08:00:20 -0400</pubDate>
    <guid isPermaLink="false">http://suraski.net/blog/index.php?/archives/6-guid.html</guid>
    
</item>
<item>
    <title>PHP 5's SOAP extension and SalesForce</title>
    <link>http://suraski.net/blog/index.php?/archives/5-PHP-5s-SOAP-extension-and-SalesForce.html</link>
    
    <comments>http://suraski.net/blog/index.php?/archives/5-PHP-5s-SOAP-extension-and-SalesForce.html#comments</comments>
    <wfw:comment>http://suraski.net/blog/wfwcomment.php?cid=5</wfw:comment>

    <slash:comments>28</slash:comments>
    <wfw:commentRss>http://suraski.net/blog/rss.php?version=2.0&amp;type=comments&amp;cid=5</wfw:commentRss>
    

    <author>zeev@zend.com (Zeev Suraski)</author>
    <content:encoded>
    In the last few days I&#039;ve been working on a piece of code in PHP that had to integrate with SalesForce.  During the course of this work I bumped into some minor annoyances (or rather, a minor annoyance) with ext/soap, which I was able to quickly fix thanks to Dmitry&#039;s excellently structured code.  For those who are interested, you can now set custom SOAP headers using SoapClient::__setSoapHeaders().  This will cause SoapClient to send the headers on every subsequent access to a web service, conducted through the relevant SoapClient object.  While you could specify custom SOAP headers before - it required overloading __call() and doing this work in userland, and now it&#039;s no longer necessary.&lt;br /&gt;
&lt;br /&gt;
On a slightly related note, I wanted to take this opportunity to ask how many of you have actually used ext/soap, and what&#039;s your feedback about it.  Is it working well?  Is there anything missing?  As in the past, success stories are also interesting, they&#039;re equally interesting to &quot;it&#039;s broken!&quot; responses.&lt;br /&gt;
&lt;br /&gt;
As a special bonus, for those of you who integrate with SalesForce, and are still using the old SOAP APIs (or God forbid, are using a language other than PHP to do it), here&#039;s a code snippet that demos how to connect to SalesForce.  Note that because it uses the new SoapClient::__setSoapHeaders(), you&#039;d need a fairly recent snapshot/CVS in order for that to work.&lt;br /&gt;
&lt;br /&gt;
---&lt;br /&gt;
&lt;div class=&quot;bb-php-title&quot;&gt;PHP:&lt;/div&gt;&lt;div class=&quot;bb-php&quot;&gt;&lt;code&gt;&lt;span style=&quot;color: #000000&quot;&gt;&lt;br /&gt;
&lt;span style=&quot;color: #0000BB&quot;&gt;&amp;lt;?php&lt;br /&gt;
&lt;/span&gt;&lt;span style=&quot;color: #FF8000&quot;&gt;//&amp;#160;Connect&lt;br /&gt;
&lt;/span&gt;&lt;span style=&quot;color: #0000BB&quot;&gt;$sforce&amp;#160;&lt;/span&gt;&lt;span style=&quot;color: #007700&quot;&gt;=&amp;#160;new&amp;#160;&lt;/span&gt;&lt;span style=&quot;color: #0000BB&quot;&gt;SoapClient&lt;/span&gt;&lt;span style=&quot;color: #007700&quot;&gt;(&lt;/span&gt;&lt;span style=&quot;color: #DD0000&quot;&gt;&quot;sforce.wsdl&quot;&lt;/span&gt;&lt;span style=&quot;color: #007700&quot;&gt;);&amp;#160;&amp;#160;&lt;/span&gt;&lt;span style=&quot;color: #FF8000&quot;&gt;//&amp;#160;obtain&amp;#160;your&amp;#160;own&amp;#160;customized&amp;#160;sforce.wsdl&amp;#160;from&amp;#160;sforce.com&lt;br /&gt;
&lt;/span&gt;&lt;span style=&quot;color: #0000BB&quot;&gt;$loginResult&amp;#160;&lt;/span&gt;&lt;span style=&quot;color: #007700&quot;&gt;=&amp;#160;&lt;/span&gt;&lt;span style=&quot;color: #0000BB&quot;&gt;$sforce&lt;/span&gt;&lt;span style=&quot;color: #007700&quot;&gt;-&amp;gt;&lt;/span&gt;&lt;span style=&quot;color: #0000BB&quot;&gt;login&lt;/span&gt;&lt;span style=&quot;color: #007700&quot;&gt;(array(&lt;/span&gt;&lt;span style=&quot;color: #DD0000&quot;&gt;&quot;username&quot;&amp;#160;&lt;/span&gt;&lt;span style=&quot;color: #007700&quot;&gt;=&amp;gt;&amp;#160;&lt;/span&gt;&lt;span style=&quot;color: #DD0000&quot;&gt;&quot;joe@doe.com&quot;&lt;/span&gt;&lt;span style=&quot;color: #007700&quot;&gt;,&amp;#160;&lt;/span&gt;&lt;span style=&quot;color: #DD0000&quot;&gt;&quot;password&quot;&amp;#160;&lt;/span&gt;&lt;span style=&quot;color: #007700&quot;&gt;=&amp;gt;&amp;#160;&lt;/span&gt;&lt;span style=&quot;color: #DD0000&quot;&gt;&quot;xyz&quot;&lt;/span&gt;&lt;span style=&quot;color: #007700&quot;&gt;));&lt;br /&gt;
&lt;/span&gt;&lt;span style=&quot;color: #0000BB&quot;&gt;$loginResult&lt;/span&gt;&lt;span style=&quot;color: #007700&quot;&gt;=&amp;#160;&lt;/span&gt;&lt;span style=&quot;color: #0000BB&quot;&gt;$loginResult&lt;/span&gt;&lt;span style=&quot;color: #007700&quot;&gt;-&amp;gt;&lt;/span&gt;&lt;span style=&quot;color: #0000BB&quot;&gt;result&lt;/span&gt;&lt;span style=&quot;color: #007700&quot;&gt;;&lt;br /&gt;
&lt;br /&gt;
&lt;/span&gt;&lt;span style=&quot;color: #FF8000&quot;&gt;//&amp;#160;Set&amp;#160;connection&amp;#160;data&lt;br /&gt;
&lt;/span&gt;&lt;span style=&quot;color: #0000BB&quot;&gt;$sforce&lt;/span&gt;&lt;span style=&quot;color: #007700&quot;&gt;-&amp;gt;&lt;/span&gt;&lt;span style=&quot;color: #0000BB&quot;&gt;__setLocation&lt;/span&gt;&lt;span style=&quot;color: #007700&quot;&gt;(&lt;/span&gt;&lt;span style=&quot;color: #0000BB&quot;&gt;$loginResult&lt;/span&gt;&lt;span style=&quot;color: #007700&quot;&gt;-&amp;gt;&lt;/span&gt;&lt;span style=&quot;color: #0000BB&quot;&gt;serverUrl&lt;/span&gt;&lt;span style=&quot;color: #007700&quot;&gt;);&lt;br /&gt;
&lt;/span&gt;&lt;span style=&quot;color: #0000BB&quot;&gt;$sforce_header&amp;#160;&lt;/span&gt;&lt;span style=&quot;color: #007700&quot;&gt;=&amp;#160;new&amp;#160;&lt;/span&gt;&lt;span style=&quot;color: #0000BB&quot;&gt;SoapHeader&lt;/span&gt;&lt;span style=&quot;color: #007700&quot;&gt;(&lt;/span&gt;&lt;span style=&quot;color: #DD0000&quot;&gt;&#039;urn:enterprise.soap.sforce.com&#039;&lt;/span&gt;&lt;span style=&quot;color: #007700&quot;&gt;,&amp;#160;&lt;/span&gt;&lt;span style=&quot;color: #DD0000&quot;&gt;&#039;SessionHeader&#039;&lt;/span&gt;&lt;span style=&quot;color: #007700&quot;&gt;,&amp;#160;array(&lt;/span&gt;&lt;span style=&quot;color: #DD0000&quot;&gt;&#039;sessionId&#039;&amp;#160;&lt;/span&gt;&lt;span style=&quot;color: #007700&quot;&gt;=&amp;gt;&amp;#160;&lt;/span&gt;&lt;span style=&quot;color: #0000BB&quot;&gt;$loginResult&lt;/span&gt;&lt;span style=&quot;color: #007700&quot;&gt;-&amp;gt;&lt;/span&gt;&lt;span style=&quot;color: #0000BB&quot;&gt;sessionId&lt;/span&gt;&lt;span style=&quot;color: #007700&quot;&gt;));&lt;br /&gt;
&lt;/span&gt;&lt;span style=&quot;color: #0000BB&quot;&gt;$sforce&lt;/span&gt;&lt;span style=&quot;color: #007700&quot;&gt;-&amp;gt;&lt;/span&gt;&lt;span style=&quot;color: #0000BB&quot;&gt;__setSoapHeaders&lt;/span&gt;&lt;span style=&quot;color: #007700&quot;&gt;(array(&lt;/span&gt;&lt;span style=&quot;color: #0000BB&quot;&gt;$sforce_header&lt;/span&gt;&lt;span style=&quot;color: #007700&quot;&gt;));&lt;br /&gt;
&lt;br /&gt;
&lt;/span&gt;&lt;span style=&quot;color: #FF8000&quot;&gt;//&amp;#160;Query&amp;#160;SalesForce&amp;#160;for&amp;#160;Leads&amp;#160;whose&amp;#160;first&amp;#160;name&amp;#160;is&amp;#160;Bill&lt;br /&gt;
&lt;/span&gt;&lt;span style=&quot;color: #007700&quot;&gt;try&amp;#160;{&lt;br /&gt;
&amp;#160;&amp;#160;&amp;#160;&amp;#160;&lt;/span&gt;&lt;span style=&quot;color: #0000BB&quot;&gt;$result&amp;#160;&lt;/span&gt;&lt;span style=&quot;color: #007700&quot;&gt;=&amp;#160;&lt;/span&gt;&lt;span style=&quot;color: #0000BB&quot;&gt;$sforce&lt;/span&gt;&lt;span style=&quot;color: #007700&quot;&gt;-&amp;gt;&lt;/span&gt;&lt;span style=&quot;color: #0000BB&quot;&gt;query&lt;/span&gt;&lt;span style=&quot;color: #007700&quot;&gt;(array(&lt;/span&gt;&lt;span style=&quot;color: #DD0000&quot;&gt;&quot;queryString&quot;&amp;#160;&lt;/span&gt;&lt;span style=&quot;color: #007700&quot;&gt;=&amp;gt;&amp;#160;&lt;/span&gt;&lt;span style=&quot;color: #DD0000&quot;&gt;&quot;select&amp;#160;Id,&amp;#160;FirstName,&amp;#160;LastName&amp;#160;from&amp;#160;Lead&amp;#160;where&amp;#160;Lead.FirstName=&#039;Bill&#039;&quot;&lt;/span&gt;&lt;span style=&quot;color: #007700&quot;&gt;));&lt;br /&gt;
&amp;#160;&amp;#160;&amp;#160;&amp;#160;&lt;/span&gt;&lt;span style=&quot;color: #0000BB&quot;&gt;print_r&lt;/span&gt;&lt;span style=&quot;color: #007700&quot;&gt;(&lt;/span&gt;&lt;span style=&quot;color: #0000BB&quot;&gt;$result&lt;/span&gt;&lt;span style=&quot;color: #007700&quot;&gt;);&lt;br /&gt;
}&amp;#160;catch&amp;#160;(&lt;/span&gt;&lt;span style=&quot;color: #0000BB&quot;&gt;Exception&amp;#160;$e&lt;/span&gt;&lt;span style=&quot;color: #007700&quot;&gt;)&amp;#160;{&lt;br /&gt;
&amp;#160;&amp;#160;&amp;#160;&amp;#160;&lt;/span&gt;&lt;span style=&quot;color: #0000BB&quot;&gt;print_r&lt;/span&gt;&lt;span style=&quot;color: #007700&quot;&gt;(&lt;/span&gt;&lt;span style=&quot;color: #0000BB&quot;&gt;$e&lt;/span&gt;&lt;span style=&quot;color: #007700&quot;&gt;);&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
&lt;/span&gt;&lt;span style=&quot;color: #FF8000&quot;&gt;//&amp;#160;Change&amp;#160;a&amp;#160;lead&lt;br /&gt;
&lt;/span&gt;&lt;span style=&quot;color: #007700&quot;&gt;try&amp;#160;{&lt;br /&gt;
&amp;#160;&amp;#160;&amp;#160;&amp;#160;&lt;/span&gt;&lt;span style=&quot;color: #0000BB&quot;&gt;$lead&lt;/span&gt;&lt;span style=&quot;color: #007700&quot;&gt;-&amp;gt;&lt;/span&gt;&lt;span style=&quot;color: #0000BB&quot;&gt;LastName&amp;#160;&lt;/span&gt;&lt;span style=&quot;color: #007700&quot;&gt;=&amp;#160;&lt;/span&gt;&lt;span style=&quot;color: #DD0000&quot;&gt;&quot;Gates&quot;&lt;/span&gt;&lt;span style=&quot;color: #007700&quot;&gt;;&lt;br /&gt;
&amp;#160;&amp;#160;&amp;#160;&amp;#160;&lt;/span&gt;&lt;span style=&quot;color: #0000BB&quot;&gt;$lead&lt;/span&gt;&lt;span style=&quot;color: #007700&quot;&gt;-&amp;gt;&lt;/span&gt;&lt;span style=&quot;color: #0000BB&quot;&gt;Id&amp;#160;&lt;/span&gt;&lt;span style=&quot;color: #007700&quot;&gt;=&amp;#160;&lt;/span&gt;&lt;span style=&quot;color: #DD0000&quot;&gt;&quot;...&quot;&lt;/span&gt;&lt;span style=&quot;color: #007700&quot;&gt;;&amp;#160;&amp;#160;&lt;/span&gt;&lt;span style=&quot;color: #FF8000&quot;&gt;//&amp;#160;needs&amp;#160;to&amp;#160;be&amp;#160;a&amp;#160;valid&amp;#160;id&lt;br /&gt;
&amp;#160;&amp;#160;&amp;#160;&amp;#160;&lt;/span&gt;&lt;span style=&quot;color: #0000BB&quot;&gt;$arg&lt;/span&gt;&lt;span style=&quot;color: #007700&quot;&gt;-&amp;gt;&lt;/span&gt;&lt;span style=&quot;color: #0000BB&quot;&gt;sObjects&amp;#160;&lt;/span&gt;&lt;span style=&quot;color: #007700&quot;&gt;=&amp;#160;new&amp;#160;&lt;/span&gt;&lt;span style=&quot;color: #0000BB&quot;&gt;SoapVar&lt;/span&gt;&lt;span style=&quot;color: #007700&quot;&gt;(&lt;/span&gt;&lt;span style=&quot;color: #0000BB&quot;&gt;$lead&lt;/span&gt;&lt;span style=&quot;color: #007700&quot;&gt;,&amp;#160;&lt;/span&gt;&lt;span style=&quot;color: #0000BB&quot;&gt;SOAP_ENC_OBJECT&lt;/span&gt;&lt;span style=&quot;color: #007700&quot;&gt;,&amp;#160;&lt;/span&gt;&lt;span style=&quot;color: #DD0000&quot;&gt;&quot;Lead&quot;&lt;/span&gt;&lt;span style=&quot;color: #007700&quot;&gt;,&amp;#160;&lt;/span&gt;&lt;span style=&quot;color: #DD0000&quot;&gt;&quot;http://soapinterop.org/xsd&quot;&lt;/span&gt;&lt;span style=&quot;color: #007700&quot;&gt;);&lt;br /&gt;
&amp;#160;&amp;#160;&amp;#160;&amp;#160;&lt;/span&gt;&lt;span style=&quot;color: #0000BB&quot;&gt;print_r&lt;/span&gt;&lt;span style=&quot;color: #007700&quot;&gt;(&lt;/span&gt;&lt;span style=&quot;color: #0000BB&quot;&gt;$sforce&lt;/span&gt;&lt;span style=&quot;color: #007700&quot;&gt;-&amp;gt;&lt;/span&gt;&lt;span style=&quot;color: #0000BB&quot;&gt;update&lt;/span&gt;&lt;span style=&quot;color: #007700&quot;&gt;(&lt;/span&gt;&lt;span style=&quot;color: #0000BB&quot;&gt;$arg&lt;/span&gt;&lt;span style=&quot;color: #007700&quot;&gt;));&lt;br /&gt;
&amp;#160;&amp;#160;&amp;#160;&amp;#160;print&amp;#160;&lt;/span&gt;&lt;span style=&quot;color: #DD0000&quot;&gt;&quot;SUCCESS!&quot;&lt;/span&gt;&lt;span style=&quot;color: #007700&quot;&gt;;&lt;br /&gt;
}&amp;#160;catch&amp;#160;(&lt;/span&gt;&lt;span style=&quot;color: #0000BB&quot;&gt;Exception&amp;#160;$e&lt;/span&gt;&lt;span style=&quot;color: #007700&quot;&gt;)&amp;#160;{&lt;br /&gt;
&amp;#160;&amp;#160;&amp;#160;&amp;#160;&lt;/span&gt;&lt;span style=&quot;color: #0000BB&quot;&gt;print_r&lt;/span&gt;&lt;span style=&quot;color: #007700&quot;&gt;(&lt;/span&gt;&lt;span style=&quot;color: #0000BB&quot;&gt;$e&lt;/span&gt;&lt;span style=&quot;color: #007700&quot;&gt;);&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
&lt;/span&gt;&lt;span style=&quot;color: #0000BB&quot;&gt;?&amp;gt;&lt;/span&gt;&lt;br /&gt;
&lt;/span&gt;&lt;br /&gt;
&lt;/code&gt;&lt;/div&gt;&lt;br /&gt;
---&lt;br /&gt;
&lt;br /&gt;
During the course of writing this blog I came across a blog post from &lt;a href=&quot;http://www.schlossnagle.org/~george/blog/index.php?/archives/235-Salesforce.com-and-PHP.html&quot;&gt;George Schlossnagle&lt;/a&gt; which may also be interesting.  Even though I didn&#039;t bump into the same issue, it may be that I just didn&#039;t get far enough - so you may still need the workaround in there.&lt;br /&gt;
&lt;br /&gt;
 
    </content:encoded>

    <pubDate>Wed, 17 Aug 2005 17:29:05 -0400</pubDate>
    <guid isPermaLink="false">http://suraski.net/blog/index.php?/archives/5-guid.html</guid>
    
</item>
<item>
    <title>PHP History Gem found!</title>
    <link>http://suraski.net/blog/index.php?/archives/4-PHP-History-Gem-found!.html</link>
            <category>PHP</category>
    
    <comments>http://suraski.net/blog/index.php?/archives/4-PHP-History-Gem-found!.html#comments</comments>
    <wfw:comment>http://suraski.net/blog/wfwcomment.php?cid=4</wfw:comment>

    <slash:comments>7</slash:comments>
    <wfw:commentRss>http://suraski.net/blog/rss.php?version=2.0&amp;type=comments&amp;cid=4</wfw:commentRss>
    

    <author>zeev@zend.com (Zeev Suraski)</author>
    <content:encoded>
    While deleting old files to save some space on my homedir, I stumbled upon a PHP history gem - David Axmark&#039;s photos of what was the first PHP conference ever - the &lt;a href=&quot;http://suraski.net/gallery/PDM2000&quot;&gt;PHP Developers&#039; Meeting&lt;/a&gt;, or PDM, held in Tel Aviv, Israel, January 2000.  That&#039;s more than 5 years ago, the days where men were men, &lt;a href=&quot;http://www.dpreview.com/news/9904/99042602olyimagingresource.asp&quot;&gt;2 megapixel digicams&lt;/a&gt; were cutting edge, and the entire PHP development team (almost) could easily fit in a fairly small room.&lt;br /&gt;
&lt;br /&gt;
In addition to the &lt;a href=&quot;http://suraski.net/gallery/PDM2000Conference&quot;&gt;conference pics themselves&lt;/a&gt;, the galleries also include photos of the trip we took to &lt;a href=&quot;http://suraski.net/gallery/PDM2000Jerusalem&quot;&gt;Jerusalem&lt;/a&gt; as well as some random pictures of &lt;a href=&quot;http://suraski.net/gallery/PDM2000DavidMontyTA&quot;&gt;Tel Aviv&lt;/a&gt;.&lt;br /&gt;
&lt;br /&gt;
&lt;a href=&quot;http://suraski.net/gallery/PDM2000&quot;&gt;Enjoy!&lt;/a&gt; 
    </content:encoded>

    <pubDate>Fri, 06 May 2005 19:57:29 -0400</pubDate>
    <guid isPermaLink="false">http://suraski.net/blog/index.php?/archives/4-guid.html</guid>
    
</item>
<item>
    <title>New Zend Studio plugins released</title>
    <link>http://suraski.net/blog/index.php?/archives/2-New-Zend-Studio-plugins-released.html</link>
            <category>PHP</category>
    
    <comments>http://suraski.net/blog/index.php?/archives/2-New-Zend-Studio-plugins-released.html#comments</comments>
    <wfw:comment>http://suraski.net/blog/wfwcomment.php?cid=2</wfw:comment>

    <slash:comments>3</slash:comments>
    <wfw:commentRss>http://suraski.net/blog/rss.php?version=2.0&amp;type=comments&amp;cid=2</wfw:commentRss>
    

    <author>zeev@zend.com (Zeev Suraski)</author>
    <content:encoded>
    Two &lt;a href=&quot;http://www.zend.com/store/products/zend-studio/plug-ins.php&quot;&gt;new plugins&lt;/a&gt; were officially released today by Zend.&lt;br /&gt;
&lt;br /&gt;
First, a plugin that allows integration of PHP code snippets from zend.com&#039;s code gallery, directly into Adobe GoLive.  That replicates a feature that&#039;s built into Zend Studio 4.0, and makes it available (for free) in Adobe&#039;s HTML WYSIWIG editor, quite a nice addition for advanced PHP-aware designers.&lt;br /&gt;
&lt;br /&gt;
And more interestingly from my point of view - a &lt;a href=&quot;http://suraski.net/blog_pics/firefox_plugin.jpg&quot;&gt;FireFox plugin that provides full Zend Studio integration with the browser&lt;/a&gt; (actually, the plugin is also available separately for Mozilla, so I guess you can count them as three).&lt;br /&gt;
&lt;br /&gt;
The idea of integrating PHP debugging and profiling capabilities directly into the browser was introduced in Zend Studio 3.0, in the form of the Internet Explorer toolbar.  Even though I&#039;m far from being objective about the brilliance of this toolbar (...), it was very pleasing to see the tremendous feedback that it generated.  Finally, it was possible to debug even the most annoying forms and most complicated pages, at a simple click of a button.&lt;br /&gt;
&lt;br /&gt;
Internally at Zend, where a lot (not to say most) of the developers use Linux, it actually generated some angry &quot;grr, when will it support Mozilla?#!$&quot; feedback, which I silently ignored.  Back then, I had very little faith in Mozilla, and I have to admit I dismissed it as a noble effort that will never actually be fruitful.  Nonetheless, I wrote a simple XUL version of the toolbar that was used internally for quite some time.&lt;br /&gt;
&lt;br /&gt;
Times have changed.  Firefox has become the browser of choice for many users, including myself, and for the first time in years, a challenger is posing some serious competition to the IE monopoly.  It was clearly time to take the Firefox userbase more seriously.  A recent &lt;a href=&quot;http://pixelated-dreams.com/archives/116-Debugging-using-Zend-Server-from-Firefox.html&quot;&gt;blog post by Davey Shafik&lt;/a&gt; made the need for a good Firefox plugin bluntly clear.  Thankfully, by now we already had a rewritten plugin for Firefox, that arguably has more functionality than its IE cousin.  Today it was finally officially &lt;a href=&quot;http://www.zend.com/store/products/zend-studio/plug-ins.php&quot;&gt;released to the public&lt;/a&gt;.&lt;br /&gt;
&lt;br /&gt;
One final interesting note about these plugins - they&#039;re all written as scripts.  Is the end of compiled languages for daily use nearing? 
    </content:encoded>

    <pubDate>Thu, 07 Apr 2005 03:51:42 -0400</pubDate>
    <guid isPermaLink="false">http://suraski.net/blog/index.php?/archives/2-guid.html</guid>
    
</item>

</channel>
</rss>