Monday, June 22. 2015
So I have
1 - Getting Wubi
The Ubuntu downlod page does not link to the Windows Ubuntu installer ("Wubi") since a few versions. It's a very convenient tool in making Ubuntu easy to install from Windows, and also to remove it later. However the system does have issues with Windows 8+ systems (UEFI—nuff said). However I had a Windows 7 system where I wanted to boot into Ubuntu, so Wubi sounded like a good idea. There is no separate download, but the ISO of the desktop version of Ubuntu does contain wubi.exe, which is the installer. Just extract this file from the ISO, and run it directly. After setting some options, the system will reboot directly into the Ubuntu installer.
2 - Mounting / and /tmp
Now when installation has completed, the Windows boot loaded will have an entry for Ubuntu. At least in my case, booting into the OS did not work, but showed this frightening error message instead:
Ignoring this did not really work, since the next error message mentioned that /tmp could not be mounted. What the eff?!
I eventually found this SO article with several solutions. The most straight forward one was to press
Time to be happy! Or maybe not.
3 - Blank Screen
Previous versions of Ubuntu have had their issues with some ATI graphics chips: upon boot, the screen went just blank. Unfortunately, this still seems to be the case with 14.04. I do not want to go into the discussion whether it's Ubuntu's fault or ATI/AMD's. What's important is how to fix that situation. Once again the trick is to open the Linux boot options from the Grub2 window by pressing
I my case, I had to do step 3 before step 2. However I hope that other graphics chips do not have this issue, so step 2 should be good enough. Good luck! And yes, I am also flabbergasted that I actually had to do this.
Tuesday, June 9. 2015
So Ben suggested we'd all post our history with PHP to celebrate it's 20th birthday, so I am happy to oblige, although I am one day late.
In 1998 I started freelancing for a web agency in Munich, doing mostly ASP work. I was very fond of ASP, since it was probably the last technology I could master without looking anything up—not a surprise if you only have 36 properties and methods. As you might imagine, I quickly hit the limitations of the technology, so I started looking around and found out about PHP. In mid-1999, in a very bold move, I convinced the CTO to buy the only German PHP book at that time and to try out this technology for certain customers. The main customer back then was Compaq, and we even managed to sneak some PHP into their ASP-based web site, but that's a different story, and completely unrelated to HP buying Compaq later on
PHP proved to be very well suited for what we needed, the only issue was that many of the developers used Windows, and as such were considered lower beings by part of the PHP core team then. Every time I meet Frank M. Kromann I buy him a drink, since the PHP project never released a Windows version of version 3.0.18. I had issues compiling it, so he helped me out and sent me a binary he built. I still can't believe that I put a binary from an external source on a critical web server, but at least the release fixed something we needed.
I started speaking at around 2000, first on ASP, but then moved to PHP which I was doing more and more for work. After doing some German conferences I applied for PHPCon in Milbrae in fall of 2002 and, shockingly, was accepted. I had written a book for SAMS Publishing that was due to come out a few weeks after the conference, so I stopped by the SAMS booth (they were sponsoring) and introduced myself. This made me part of a few days that all that were there will never forget, including an over-the-top dinner, and a visit to Puppetry of the Penis. I met Rasmus (Lerdorf), John (Coggeshall), and Shane (Caraveo) there for the first time, and Luke (Welling), Laura (Thomson), and Andrei (Zmievski) at the next PHPCon in the spring of 2003 in New York City (where we all wanted to get a tattoo—another story). Looking back it's just amazing for how long we have known each other, and how many of us are still part of the same family, the PHP community. I started speaking more and more, including two OSCONs and several ApacheCons. Of all the conferences of that time my favorite one was probably ApacheCon in December of 2005 in San Diego. Two weeks before Christmas, warm temperatures, and Java. Lots of it. Chris Shiflett even dubbed the conference "Javapachecon". The only exception—the Gallic village, so to speak—was a set of PHP-related sessions by Adam (Trachtenberg), Andrei, Chris, Rasmus, Theo (Schlossnagle—probably not on PHP ), and myself. We were all coming to each others sessions just to make sure there are a few attendees, and had so much fun on these few days (and probably the most disappointing Mexican dinner ever—Chris' choice). Another memorable event was ZendCon 2009 where we snuck into the Microsoft Windows 7 release party in San Francisco. For those who were there: party bus, the kilt, MC Hammer. Unforgettable! I still think very fondly of those days.
Thanks to my PHPCon credits I also successfully applied for the first ZendCon, and have been to each single one (in the US) since then, not planning to quit before Zeev buys dinner for me and Matthew (Weier O'Phinney) as he promised at the 2013 show. I hope to continue my streak when the conference moves to fabulous Las Vegas this fall! Back at OSCON 2004, I passed the Zend PHP 4 Certification. John, Luke, Laura and I promised each other only to talk about this if we all passed (which we eventually did). I was elected as one of the Subject Matter Experts (SMEs) for the PHP 5 edition of the certification, also worked on the PHP 5.3 one and was the lead author of the current 5.5 edition. Very proud to see the ongoing demand for this project!
Contrary to popular belief I do some actual, honest work apart from speaking and, sometimes, writing I am very happy that I still do a lot of work with PHP (and, *gasp*, ASP.NET, although I cannot memorize even a fraction of the five-digits number of classes, let alone of its members). I co-founded Arrabiata Solutions in 2005 and am still affiliated with the company that is doing very well. I had also the chance to work with countless companies and enterprises and support their web projects. I have started and contributed a little bit to several open source projects over time, even one in Perl (but I won't link it here ), but most of it is still in PHP. Actually I will do a tiny PR for PHP itself later today!
What was just a stupid idea of a young developer with so-so experience turned into a fulfilling career and many friendships across the globe. It's rare that you work with the same technology for 17 years, and it's also not common that you are still in contact with people you met over ten years ago that live over half a dozen timezones away. PHP did not only advance my skills, it also provided me with a lot of fun. It's paramount that you love what you do! So thank you PHP, thank you Rasmus, thank you Andi & Zeev, thank you PHP community. Looking forward to the next milestone we can all celebrate together!
Saturday, October 15. 2011
Web Application Security with ... Posted by Christian in ASP.NET (English) at 14:04
Once again I'll be speaking at DevConnections this fall. One of my talks will tackle one of my main topics: web application security. I'll cover common (and some uncommon) attacks against web sites, discuss countermeasures and have a close look which safeguards ASP.NET offers, and where developers need to add some security code on their own.
As usual I plan to show a number of code demos, so I thought it would be a nice addition to present a list of important resources for topics I am covering in this session. The list tries to focus only on major sources for each topic, but feel free to use the comments to suggest additional websites.
See you in Las Vegas!
Friday, September 30. 2011
Introduction to jQuery Plugin ... Posted by Christian in ASP.NET (English) at 11:59
Once again I'll be speaking at DevConnections this fall. One of my talks will provide an introduction into jQuery plugin authoring. One of the main features of jQuery is the huge amount of available plugins. Writing such a plugin is not that hard, but there are some common patterns that help you getting started.
I plan on covering a variety of topics, so this posting just gives you a glimpse what's about to come. Be ready to get started with jQuery plugin development in less than a minute!
Here we will develop a trivial plugin that provides information about a hyperlink when the user hovers over it with the mouse. We do this by setting the link's
First of all we create a new file, jquery.linkinfo.js. This follows the usual pattern for jQuery plugins. In this file, we include our code. The base structure makes sure that we can access
Within this block, we define our extensions method. This is done by adding an entry to the
Most jQuery methods support chaining, so they need to return a list of the current elements (in form of the usual jQuery "object"). A common approach to ensure this is the following code:
We are almost done! Within the
Using this plugin in our code is quite easy: We first load jQuery itself, then the plugin. Finally, a script block accesses all links on the page and executes the
More on these (and related) topics in Las Vegas - hope to see you there!
Sunday, September 18. 2011
jQuery for ASP.NET Developers at ... Posted by Christian in ASP.NET (English) at 17:34
Once again I'll be speaking at DevConnections this fall. One of my talks will provide a concise introduction to jQuery for ASP.NET developers. Since Microsoft has embraced jQuery and is shipping it with their Visual Studio templates, a solid understanding of how jQuery works is fundamental for many modern ASP.NET web applications.
I plan on covering a variety of topics, which includes (but is certainly not limited to) the following list.
The following codes sums all up: jQuery is loaded (step 1), and after the DOM is ready (step 2) we access the
Hope to see you in Las Vegas!
Saturday, July 16. 2011
Google +1 Helper for WebMatrix and Razor Posted by Christian in ASP.NET (English) at 20:00
Early June I released version 0.1.0 of my Google +1 Helper for WebMatrix and Razor. This helper provides easy access to the Google +1 functionality that was released the day before. This page will serve as a documentation placeholder. Have a look at the full post to get more information on the helper; also, feel free to head to the Google +1 Helper NuGet package page and give it a try! Continue reading "Google +1 Helper for WebMatrix and Razor"
Wednesday, December 22. 2010
The Serendipity project has released version 1.5.5 of their blog system a few hours ago. This is a security release, since there is a 0-day exploit out in the wild that is already used heavily. The security issue allows uploading script code to your server, so in other words: if affected, you are hosed.
If you are using Serendipity you should consider updating as soon as possible. Garvin has more on the issue in the release announcement.
Thanks to the Serendipity security team for their prompt actions (as always!), and to Stefan Neufeind for providing logs and insights about how the exploit was used.
Wednesday, December 23. 2009
Serendipity Upgrade to v 1.5.x Gotcha Posted by Christian in PHP at 08:32
Just a quick note: I just updated Serendipity to version 1.5.1 on one of our servers; yet afterwards I could not log in anymore. Also, Serendipity reported that version 1.5.1 was present, although I did not run the update script from the admin console yet. At first I thought I did something wrong, but a s9y forum posting described a similar issue.
The fix was actually quite simple: for some reason—may it be due to my own fault or due to a bug in the upgrade logic—the SQL upgrade script was not run, but Serendipity still thought it had been upgraded already. The file
HTH. Once again, Happy Holidays.
Sunday, December 13. 2009
Just a quick note that my JSON Gotchas article has just been published. The editors removed the last sentence, so here it is again: Happy holidays everyone!
Wednesday, April 1. 2009
TechDays: Fixing Ajax Applications Posted by Christian in ASP.NET (English) at 09:02
I just finished my Microsoft TechDays presentation (WEB309: Fixing Ajax Applications). Thanks to everybody who attended! This session will be repeated during the day, so if you missed it you still can tune in.
There was a question at the very end on the history hash ASP.NET writes, but I was too slow to answer it before the session room was closed. The
Monday, January 12. 2009
Microsoft have released the first public beta for their upcoming Windows 7 operating system. To me it looks surprisingly similar to Vista (which is a good thing and a bad thing ), so I thought that installing PHP on it should be easy, as well. Actually, it was really easy, but since yesterday two people indenpendently from each other asked me how to do it, I thought I'd write down the required steps.
Continue reading "Installing PHP on Windows 7"
Friday, January 9. 2009
Windows 7 Beta Available for Download Posted by Christian in ASP.NET (English) at 18:35
Well, kinda. It's true that you can download the first public beta of Windows 7, but even if you passed the very slow "Server too busy" profile.microsoft.com server, there are still chances that you do not get the desired download afterwards, but this message instead ("next business day" is awesome):
A glimpse at the source code reveals interesting insights:
Hmmm ... Are they really using SQL Server or maybe rather Access?
Monday, August 11. 2008
Visual Studio 2008 Service Pack 1 ... Posted by Christian in ASP.NET (English) at 19:12
Just a quick note that Service Pack 1 for Visual Studio 2008 (and for TFS, too) has been released for MSDN subscribers. Enjoy!
Update: The Service Pack is now also available on Microsoft downloads:
Another important note for Silverlight 2 Beta 2 users: In order to be able to use the Silverlicht 2 Beta 2 Tools for Visual Studio 2008, you need to upgrade them after the SP1 installation if a previous Silverlight tools version is already installed. Microsoft released a new version yesterday.
Friday, August 8. 2008
Today is a day many people have been looking forward to for quite some time. No, it's not mass-marrying on 8-8-08, it's the day after the release of PHP 4.4.9. The important fact of this release is that it will be the final one for PHP 4. Ever. (Well, of course there might be the scenario of companies offering posthumous security patches, but that doesn't count here.) If you are still not convinced that PHP 4 is at the end of its life, just have a look at the changelog: the previous release is seven months old, and since then only five issues have been fixed.
I am aware that many sites, especially those with really old legacy code, will still not update (heck, I even know of some large PHP 3 based sites running strong [and insecure]), but if you have the resources to update your code base, you should do so really soon. PHP 5.3 will (most probably) be released later this year, and PHP 6 will get rid of a lot of stuff that has only been kept for the sake of backwards compatibility.
Thursday, July 17. 2008
Silverlight 2 Beta 2 Update Posted by Christian in ASP.NET (English) at 10:55
It's been a few week since Silverlight 2 beta 2 has been released. Yesterday, Microsoft released a critical update for Silverlight 2 beta 2 which is also distributed via Microsoft Update. The update promises to improve Firefox 3 compatibility, and also mentions streaming and stability. However the most interesting aspect is that the auto-update component has been worked on. The release notes do not state exactly what that means, but I think I know what it is: After installing the update, AutoUpdate can actually be enabled; the original version of Silverlight 2 beta 2 had this option greyed out. This suggests that new versions should be expected in the forseeable future