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!
Sunday, March 4. 2012
Earlier this week I wanted to install the new Windows 8 Consumer Preview on my machine. I already had the Windows 8 Developer Preview installed on a VHD - I believe I get a better performance out of the system than using virtualization software. So at first I tried to launch the installation from within Windows 8 Developer Preview, but I failed.
I then went to Scott Hanselman's blog post on installing Windows 8 on VHD, but he also ducked the topic by simply writing "Updating from Developer Preview? Delete and start over!". The steps he then describes to install the new version (delete the VHD, remove the boot entry, setup a new VHD, configure the system to boot from the VHD, install) are very useful and easy to follow, however I would like to provide an alternative approach which I found to be even easier. This method does not provide an approach to upgrade the system, but it does not require any configuration regarding the system boot at all, given that your system already boots from a Windows 8VHD.
Continue reading "Installing Windows 8 Consumer Preview on VHD if Windows 8 Developer Preview is Already Present"
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!
Tuesday, November 3. 2009
video2brain - Jetzt auch im Abo Posted by Christian in Publikationen at 15:50
Ein Hinweis in eigener Sache: Die Kollegen von video2brain, die unter anderem auch ein paar Videotrainings von uns verlegen, haben heute Mittag angekündigt dass die Trainings nun auch in einem Abonnementsmodell veröffentlicht werden. Kurzform: für einen fixen Betrag hat man ein Jahr lang Zugriff auf alle Videotrainings. Hier die Langform auf Basis der Pressemitteilung:
Die ab sofort erhältlichen Trainingsabonnements bieten ein Jahr lang unbeschränkten Zugang zu allen Originaltrainings von video2brain – in komplettem Umfang und mit vollständiger Funktionalität. Mehrmals im Monat kommen neue Trainings hinzu. So können Abonnenten jederzeit und überall ihr Können bedarfsgerecht weiterentwickeln und aktuell halten – mit wertvollem Wissen zu einem günstigen Komplettpreis. Das Trainingsabonnement gibt es in einer Standardvariante mit reiner Online-Verfügbarkeit für 199 Euro sowie in einer Premiumversion mit zusätzlicher Offline-Nutzbarkeit für 299 Euro. Schüler, Studenten, Lehrkräfte und Bildungseinrichtungen erhalten das Standard-Abonnement für 99 Euro.
Sunday, November 1. 2009
Wieviel Sinn machen Unit-Tests? Posted by Christian in ASP.NET (deutsch) at 09:37
Am 13. Oktober 2008 haben Peter Bucher und Golo Roden unter dem Titel "Noch Fragen, Bucher? Ja, Roden!" angekündigt, jeweils zum ersten eines jeden Monats einen Kommentar zu einem vorab gemeinsam gewählten Thema verfassen zu wollen. Heute, am 1. November 2009, ist es nun wieder so weit, und das Thema für diesen Monat lautet:
Wieviel Sinn machen Unit-Tests? [Der Anglizismus ist natürlich arg hässlich. Ich kann es aber auf meine Mitstreiter schieben, die sich diese Formulierung haben einfallen lassen.]
Die beiden haben mich netterweise gefragt ob ich dieses Mal wieder als "Gast-Mitstreiter" dabei bin, und so haben wir drei uns unabhängig voneinander im Vorfeld unsere Gedanken gemacht, wie wir diesem Thema gegenüberstehen. Peters und Golos Kommentare finden sich zeitgleich in ihren Blogs, folgend nun meine Meinung zu diesem Thema:
Continue reading "Wieviel Sinn machen Unit-Tests?"
Saturday, August 1. 2009
C# oder VB: Welche Sprache soll ich ... Posted by Christian in ASP.NET (deutsch) at 09:37
Am 13. Oktober 2008 haben Peter Bucher und Golo Roden unter dem Titel "Noch Fragen, Bucher? Ja, Roden!" angekündigt, jeweils zum ersten eines jeden Monats einen Kommentar zu einem vorab gemeinsam gewählten Thema verfassen zu wollen. Heute, am 1. August 2009, ist es nun wieder so weit, und das Thema für diesen Monat lautet:
C# oder VB: Welche Sprache soll ich lernen?
Die beiden haben mich netterweise gefragt ob ich dieses Mal als "Gast-Mitstreiter" dabei bin, und so haben wir drei uns unabhängig voneinander im Vorfeld unsere Gedanken gemacht, wie wir diesem Thema gegenüberstehen. Peters und Golos Kommentare finden sich zeitgleich in ihren Blogs, folgend nun meine Meinung zu diesem Thema:
Continue reading "C# oder VB: Welche Sprache soll ich lernen?"
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"