...
<Directory "/srv/www/htdocs/">
Order allow,deny
Allow from all
Deny from env=banned_by_now
</Directory>
[Post Comment] | [Comments]
Blog on Mono, .NET, ASP.NET...
[Post Comment] | [Comments]
I just added support for running precompiled non-updatable ASP.NET web sites in mono. The benefit from this, apart from the well-known faster initial request and not shipping source code, is that now you will be able to run you ASP.NET applications written in VB.NET in mono without crossing your fingers and expecting our VB.NET compiler to not give you any problem.
The support for precompiled web sites will be in the upcoming Mono 2.4 release and is already in SVN HEAD for those of you not afraid to compile Mono from sources.
Given a web project, you can generate the precompiled version either form Visual Studio or from the command line, like:
This command will precompile BlogEngine.net and leave all the generated files in c:\test\output. With the above commands, there are no source files in the output folder at all. Now, to run this on Mono, all you need to do is copy the output folder to your linux machine and configure Apache/mod_mono to serve that folder at /blog/. If you just want to do a quick test, assuming you copied c:\test\output to /tmp/output:
...and then go to http://localhost:8080/blog/ with your browser.
For this application in particular, the time taken to display the first page is about 2s on my laptop, while the non-precompiled site takes about 18s.
[Post Comment] | [Comments]
Somebody reported that the nice little pager that I posted a few days ago didn't work properly on IE if you use the zoom-in/zoom-out feature (hold the Ctrl key and move the mouse wheel). Parts of the text are hidden behind the input textbox. Probably a bug in IE...?
I couldn't figure out how to make it work in IE with CSS, so the new code uses a table and different cells for each part of the pager. The updated code is here.
[Post Comment] | [Comments]
Peter Bartok has started the project manzana, which provides a .NET library to access the iPhone filesystem. There's also a Windows Forms program that lets you browse, copy,...
[Post Comment] | [Comments]
The predefined options for the GridView , which can be set through the PagerSettings.Mode property are:
I wanted to avoid using images and tried to use the Unicode characters for 'left-pointing pointer' (\u25c4 ◄) and 'right-pointing pointer' (\u25ba ►). Also, to make it nicer, I wanted to have a TextBox in which the user can type the page he wants to go to
In the end, I decided to create a class implementing ITemplate, set the GridView's PagerTemplate to this class and add the controls I needed manually. The final result looks like this:
To use this ITemplate in a GridView, you can do something like:
...and you're all set. The events generated by a change in the TextBox or a click on the LinkButtons and the TextBox width will be taken care of.
You can download the source code for the ITemplate from FancyPagerTemplate.cs. Feel free to customize it to your needs.
[Post Comment] | [Comments]
It's been a long time since I started working for Ximian and the Mono project back in March of 2002.
I remember how a few months after starting, Miguel asked me if I knew anything about ASP.NET and I said "I don't even know what that is". He wanted me to start working on what later became XSP, the ASP.NET server. Once the server was working on Windows under the MS runtime, my job was to make it work on Mono, which involved a lot of work in System.Web, System.Configuration, the threadpool...
At that time only Dick, Paolo, Dietmar, Miguel and I were payed to work on Mono. Later on Lluis, Jackson, Martin, Sebastien, Atsushi, Duncan, Ben, Mike, Raja, Toshok, Peter, Jordi, Ravi,.. The best team EVER! Not only that, but also a whole bunch of good hackers spread all over the world were contributing (and still do) to the Mono project. They all have made the last 5 years of my life a wonderful experience.
In September I received an offer from Venafi, Inc. and I started working for them a couple of weeks ago.
I am going to miss the Mono project and all the people involved in it. I wish them and Novell the best.
[Post Comment] | [Comments]
I was having lunch in a pub across the street and the place was completely packed. While eating, I overheard a guy saying that there was lot of black thick smoke and they were told to evacuate and go home. Walking back to the office I saw a lot of police cars and fire trucks. The Longfellow bridge and part of Broadway street were closed to the traffic.
You can read more on the incident at boston.com.
Three surprises today. One is that I found a post in slashdot that reveals interesting information with regards to all the patent FUD spread lately, the other one is that Nat wrote it. And last, but not least:
Another point I want to make. Open Source Risk Management is a company that makes its money by selling insurance on Linux IP infringement. So if you're worried that Linux infringes someone's IP, you buy their products. Two years ago OSRM went off and funded a study by Dan Ravicher -- whose PubPat is in my view a great organization -- that looked at Linux to determine whether it actually violates anyone's software patents. Then in August of 2004 (a few months after Bruce Perens joined their board, I might add), OSRM published a study stating that Linux infringes 283 patents, 27 from Microsoft. You can read about it here: http://news.com.com/Group+Linux+potentially+infringes+283+patents/2100-7344_3-5291403.html
And yet he was one of the first to throw the stone.
BTW, he recently stepped down from the board of directors of OSRM.
Update: the link http://slashdot.org/comments.pl?sid=208652&cid=17014168
Many have written about the agreement that Novell and Microsoft reached a few days ago. Most of the blogs and emails that I've read express doubts about Novell's intentions. Others, after years of trying to spread FUD on Mono, give another twist to their own conspiracy theories. And last, but not least, someone that gets what is going on: read this article from Steven J. Vaughan-Nichols. I dig it.
The last version of F-spot is using google-sharp to export pictures to Picasa Web. Some users reported that it didn't work for them and it seemed like the creative use I was doing with HttpWebRequest was the culprit.
Ideally, we should do what the Picasa2 client does on windows, but there's no information available on that. The problem is that the authentication takes place over HTTPS and I needed to figure out a way of getting the unencrypted data. Sebastien, our cryptoman, suggested looking for something that overrides winsock2 SSL layer, but I couldn't find anything. So he suggested the use of webscarab, a java web application review tool. I downloaded the jar and run the program like:
$ java -jar webscarab-selfcontained-20060718-1904.jar
This thing is really nice for debugging web applications. One of the goodies is that it works as a web proxy and can show you the unencrypted data that goes over HTTPS. How?
The data that comes from the client or the server is first unencrypted and then encrypted again over a different connection. The pitfall is that the connection to the client is using a self-signed certificate.
I started a proxy on port 3128 and then made the windows computer point at that. Then run Picasa and try to log in to Picasa Web. No luck. Picasa2 didn't like the self-signed certificate that it got. I tried installing the self-signed certificate in the trusted roots store, but still couldn't get it to work.
I decided to use XSP and did the following:
127.0.0.1 www.google.com
# xsp --https --port 443 --p12file yo.p12 --pkpwd secret
When I run Picasa and tried to log in to Picasa Web, it connected to XSP and I was finally able to see how they were authenticating. The two interesting URLs were:
Now that we've got the AuthToken, we just need to append it to the query string as auth=AuthToken when getting Picasa Web API information from http://picasaweb.google.com/api/urls?version=1. If you get that URL without the AuthToken, you will only get the read-only stuff, but adding the AuthToken gives you the post value, which is the URL used when sending commands to the server and also a cookie that should be used on the rest of the session to prove that you're authorized.
The authentication process now requires 2 POSTs and 1 GET, while before it was trying to emulate a web browser and got a bunch of redirections and lots of cookies being set and unset. Oh, and now google-sharp works on windows with the MS runtime too!
Last week I sent Miguel a prototype of a lower-case only filesystem built using FUSE that could be a solution for the most common problem when porting .NET applications from windows to *nix: file name case (lower.tar.gz).
After seeing how the thing works and how easy it is to use it, I was thinking of a Mono.Fuse assembly which, as it turned out, was on the works by Jon Pryor and Robert Love. In the end, Jonathan did it (Mono.Fuse announcement).
Now let's see what crazy C# hackers can do with this neat thing.
From BBC News:
Apart from his conduct of the war, Gen Halutz has faced criticism for selling his entire stock market portfolio hours before the outbreak of fighting.
Too bad Enron is not hiring...
Heading off to Buffalo. There's a wedding that needs to be crashed.
Amazing. While I was sleeping, Stephane Delcroix implemented a plug-in for f-spot that uses Mono.Google assembly to allow exporting pictures to Picasa Web.
The patch is attached to http://bugzilla.gnome.org/show_bug.cgi?id=344851.