Tigraine

Daniel Hoelbling-Inzko talks about programming

When Amazon became Ebay

There are many things I love about Amazon: free shipping, recommendations, customer reviews, good product pictures, awesome website, gift lists. I could go on and on, all those things make Amazon the #1 shopping site on the internet, and I love buying my stuff there. They offer free shipping on everything above 20€ and all books ship for free too. So, whatever you buy, you never think about shipping, you never think about returns or anything. You always know, there’s this big-ass company called Amazon that takes customer satisfaction etc pretty serious and will not cause you any troubles on returns etc. They always ship on time and they have almost everything.

Now, Amazon decided some time ago that “almost” everything isn’t enough and they went to really everything.
They opened the Amazon platform up through a program called Marketplace, where other vendors can sell their products through the Amazon.com website. And man do I hate that feature!
I never went to Amazon because they had everything, I went there because they had almost everything completely hassle-free.
Now, when I am searching for something I end up at 3rd party vendors 90% of the time (feels like Amazon stopped selling themselves almost) that have different shipping policies (almost nobody offers free shipping except for Amazon) and different return policies. Hell, I’ve seen 1-man-shops surface on Amazon that didn’t even have a rightful email address (listing a hotmail address in your company profile does NOT generate trust!).

Last week I decided to order a Canon EOS 450D DSLR and went to Amazon to shop for accessories  like memory, batteries etc.
Guess what? It took me almost 30 clicks to get to a product that was offered by Amazon! When searching for a SanDisk SDHC Extreme III 8gb card I found it 4 times, from 4 different 3rd party vendors but not from Amazon.
I gave up after 30 minutes of searching and ordered another SD card, completely pissed and very unsatisfied. And there is no way to turn the marketplace off, there is a filter that lets you select vendors but apparently this isn’t working when selecting Amazon (you still end up with a listing of 3rd party vendor sold products, yikes!).

The best thing is: Apparently Amazon is selling the SanDisk SDHC Extreme III 8gb card, I just couldn’t find it last week but did so now.

So why did Amazon destroy one of the most pleasant buying experiences of all time? I go to Amazon to buy their products, not to buy some other guys products he is selling from his basement, getting charged shipping costs and not knowing how returns or reclamations are going to be handled! Are those people insane? If I’d be into that kind of things I would be shopping at Ebay not at a respected and well trusted Amazon!

I can only hope Amazon will change their mind on this and create some “Amazon products only” button, so I can enjoy shopping again. Now it’s more a quest to filter 30 products for their vendor.

Filed under internet, personal

The deprecated target attribute and jQuery

It's usually not considered polite to open new windows whenever somebody clicks one of your external links. Those back and forward buttons are there for a reason, so I strongly encourage people to avoid opening new windows.

But, we all know customers. They get this "but I want this" look the second they discover that users may leave their web site too early (can't say how much this attitude sucks..).

One popular way to do this is to use jQuery to open all external links on your page in a popup (making code that obviously violates the "don't open new windows" rule still validate).

$(document).ready(function() {
    $("a[rel='external']").click(function(event) {
        window.open($(this).attr("href"));
        event.preventDefault();
    });
});

Now all you have to do is, add a rel="external" attribute to all outgoing links, and this little jQuery function will take care of making them popup.

Still, this is bad. It contradicts the whole idea why they removed the target attribute in the first place, so consider this as a quick'n'dirty hack to satisfy stupid customers.

First steps with Ubiquity

Ok, I was bored and so I looked a bit into the Ubiquity author tutorials. The result is a pretty simple command that searches WoWhead for the given noun.

I don't think it's really ready yet. Live previews would be cool.
Still, you can grab it here if you have Ubiquity.

Download: WoWhead Search command
(please bear with the page, it's just a placeholder)

Visual Studio and .NET 3.5 SP1 released

Ok, this is old news to some. But mainly because the beta has been around for quite some time and Scott Guthrie didn't make an official announcement on this.
So, although it slipped my attention (some Download Notification letter brought it to my attention), you should definitely check out the SP1.

It's more than just the usual bugfix SP1 that came out of Redmond this time. The feature list is pretty impressive, and they incorporated RTM versions of Astoria and Entity Framework!

For the feature list of the Visual Studio SP1 (source):

      • Improved WPF designers
      • SQL Server 2008 support
      • ADO.NET Entity Designer
      • Visual Basic and Visual C++ components and tools (including an MFC-based Office 2007 style ‘Ribbon’)
      • Visual Studio Team System Team Foundation Server (TFS) addresses customer feedback on version control usability and performance, email integration with work item tracking and full support for hosting on SQL Server 2008
      • Richer JavaScript support, enhanced AJAX and data tools, and Web site deployment improvements

And the features of .NET Framework 3.5 SP1:

  • Performance increases between 20-45% for WPF-based applications – without having to change any code
  • WCF improvements that give developers more control over the way they access data and services
  • Streamlined installation experience for client applications
  • Improvements in the area of data platform, such as the ADO.NET Entity Framework, ADO.NET Data Services and support for SQL Server 2008’s new features

So, I've been using the beta for some time now, and can't live without it any more. Go and get SP1, it really delivers on many things (like the C# background compiler in Visual Studio):

Visual Studio 2008 Service Pack 1 and .NET Framework 3.5 SP1 Download

Btw: you don't need to download .NET 3.5 SP1 if you're already installing VS2008 SP1. The VS2008 SP1 setup installed .NET 3.5 with it.

Filed under net, internet

Inline Styles aren't all that evil

Everyone who did some web stuff and had to do some HTML had fun with the style="" tag.
It's the simplest way to change the appearance of something and also very intuitive (right at the point where you want the change to happen). So, everyone of us is sometimes hacking some style="" stuff from time to time ;).

You usually continue to do so until the whole thing backlashes and you have absolutely unreadable code because every <div> tag is 3 lines long and you can't distinguish between style and markup.
So, that's the point where we all learned: Inline Styles are evil!

Now, while reading some RSS feeds today I discovered that inline styles aren't completely useless nowadays. Especially in times of RSS content syndication, sometimes it's very important to attach the style to the markup, so your markup remains readable at the external source.
Most RSS readers don't strip the inline CSS markup, and you may very well use this to format your feed accordingly. E.g. images that should be floated don't look good in a feed reader if they break the article they should illustrate, so attaching the "float: left; margin-right: 10px;" isn't too obscuring, but helps your readers a lot.

So, although inline styles really contradicts the DRY principle, sometimes it's cool to use them for syndication reasons.

Filed under programmierung, internet

Subnetting is good

Still on the train from Vienna to Klagenfurt, I'm listening to RunAs radio (yeah, I'm running out of DNR episodes) and just listened to the talk about IPv6 and how the big address space can simplify networking by removing the need for subnetting as we know it today.

And, I'm really curious if this is a good thing from a simplicity perspective. I mean, ok maybe my ISP is giving me 4 bits of address space in the future so I don't need my own personal router and subnet, but that would also mean that every computer in my network is directly attached to the Internet making it a necessity to have all machines (ok, that should be standard anyway) run latest and best protection software, having all patches up and being just as secure as my DMZ servers would have been before.

And that's something I don't see happening any time soon. I trust myself to have my laptop and desktop patched and secure, but I simply don't want to waste the time to do so on my father's PC, my brothers etc..
I simply want to rely on that they are somewhat secured through simply not being publicly available through the Internet because my router isn't forwarding any ports to them that could be exploited.

So, although I really think the new network stack in Vista and 2008 is a huge step forward and network performance for me has increased with the use of v6. I still don't think that subnets should go away anytime soon.

Filed under internet, personal

Skype security and multiple logins

When talking about Skype I usually mention that Skype is one of the few IM clients out there that has great encryption built into it. Due to it's peer to peer hybrid structure encrypting data while sending it through the p2p network is very important, and Skype has some pretty advanced encryption algorithms in use.

But, guess what?
You won't notice that somebody is spying on your Skype conversations if your Skype login information has been disclosed. :)

I noticed this after leaving my computer running while going to university today, and the IM conversation I had with Mathias was not only delivered to my laptop but also to my home computer. Completely unnoticeable (from the laptop) my home PC received the whole conversation, so a 2 way IM session could have been a 3 person chat session with only 2 nicknames. Weird isn't it?

This behavior is especially dangerous if you think about how most users pick and protect their passwords.

Filed under internet

Source Control, Open Source and Microsoft

Something hit me today when I went into the "Team Synchronization Perspective" in Eclipse/Subclipse while trying to merge some changes a colleague made with my repository:

Visual Studio 2008 doesn't sport ANY source control of ANY kind that's for free!

If this isn't true I'm eager to hear about it.
But I only know about Visual Studio Team System, and that's not free:

Typically, customers purchase an MSDN Premium subscription when licensing the Team Editions and Team Suite, which provides Software Assurance that entitles users to product updates over the life of the subscription. This includes Team Foundation Server Workgroup Edition, development licenses of many Microsoft Windows versions, Visual Foxpro 9, Visual Studio 2005 Tools for Microsoft Office, development licenses of many server-side offerings, SDKs and DDKs, a large amount of documentation, and more. The Team Edition and Team Suite products can not be purchased without an MSDN Premium subscription.

Last time I checked, MSDN Premium costs $2,499 and additional $1,999 every following year.

I also used Visual Source Safe before (VSS 2005), and it was a huge pain in the ass trying to work with it due to the "one-guy-check-out" policy it enforces. So if you need some field/method in another class to continue working on your class, you'll be running circles through the office trying to get others to check the file back in (resulting in half-broken check-ins etc).

So I wonder, with all that commitment Microsoft has been showing to supporting and promoting open source (CodePlex, CodeGallery), why in the hell do they keep all the tools that would support open source development away from their users? I think that even Visual Studio Express edition should at least come with decent support for source control inside the IDE that is actually able to connect to CodePlex! (There is a SVN bridge, a command line client and the suggestion to get the team edition of VS.).
So, bottom line my CodePlex source control experience has been "lacking", while I'm getting more and more fond of subversion combined with subclipse.

While I'm seeing subversion becoming more and more "standard" among open source projects (if not THE standard), I wonder why Microsoft is making it intentionally hard to work with Visual Studio on shared projects.

So, as I already hinted at in my post about ASP.NET Wiki, Microsoft seriously needs to get more consistent in their efforts. Either support OSS and developer collaboration, or don't. But don't try to do so badly. The way they try right now isn't really going anywhere.

Update: Btw, Eclipse just released a new version called ganymede that really rocks!

Update2: Apparently I didn't find this info last time I used Codeplex, but it looks like there is a way to integrate a Team System client into VS called Team Explore 2008. I'll be looking at this tomorrow.

Update3: Mark Phippard just pointed me at AnkhSVN for Visual Studio that seems to be a pretty decent SVN client integrated into Visual Studio. Thanks for this link.

Filed under net, internet, personal

ClickOnce and Vista UAC

So far I've been using Windows Vista since day 1 it's been released here in Austria and I have been very pleased with the system. Imo Vista has a far worse reputation than it deserves. I really can't think of myself using XP any more .

Also I think that UAC is a very very good think in Windows Vista and really helps secure the computer against malicious programs. If you get over it popping up every 3 clicks while you set up the machine, in running state you hardly see the question any more (except for administrative tasks).
So, I never ever disabled UAC until now.

Why? Because ClickOnce is giving me a hard time.
ClickOnce is automagically working perfectly in XP because it just starts up IE and starts to bootstrap the program. But if the program requires admin rights you're out of luck in Windows Vista.

But, I've found a workaround for ClickOnce when you download the ClickOnce application.

Just start IE as administrator (right click -> run as administrator) and the ClickOnce bootstrapper will eventually use the running instance of IE that has elevated rights.

I haven't had a way to identify why this isn't working 100% of the time, but sometimes this doesn't work either, so your only way out is to temporally disable UAC. Here's how to do it:

First you need to start msconfig through the run dialog (Windows-Key + R -> msconfig -> O)
Now you select the Tools tab and need to scroll down until you find disable User Account Control (or something similar, I'm running a German Windows).

image

Once you've found the line simply press "Launch" / "Starten" and reboot the machine. UAC will be disabled and you can run your ClickOnce application.

I strongly advise you to turn UAC back on once you're done, because running in admin mode compromises your computer's security!

Bottomline:  Try to avoid older ClickOnce applications (newly compiled ones don't have this problem) that require administrative rights to run.

Filed under internet

ASP.NET Wiki - An unpleasant experience

Last time (just before I went mad at Windows Live Writer), I posted some modified code from the ASP.NET Wiki that I thought isn't worth posting to the Wiki, while still being worth a post in this blog (it was out of scope for the Wiki article).

But what I also had to note that the Wiki System is far far away from perfect.
So let's get to the nitty gritty details at the example of the good article on HttpWebRequest.

Click the edit button and get a standard (really nothing special) WYSYWIG editor that completely hides the markup from you.
Maybe somebody sees this as a good thing (editing MediaWiki isn't that great after all due to WikiText), but I think WYSIWYG is absolutely lame!

Let's get to the source. To get this look

image

The HTML code looks like this:

<div style="border: 1px dotted rgb(204, 204, 204); padding: 5px; background: rgb(239, 239, 239) none repeat scroll 0% 0%; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial; color: black; font-family: Courier New;">
<p style="margin: 0px;"><span style="color: blue;">If</span> <span style="color: blue;">Not</span> (IsPostBack) <span style="color: blue;">Then</span></p>

<p style="margin: 0px;">    <span style="color: blue;">Try</span></p>

<p style="margin: 0px;">        <span style="color: blue;">Dim</span> fr <span style="color: blue;">As</span> System.Net.HttpWebRequest</p>

<p style="margin: 0px;">        <span style="color: blue;">Dim</span> targetURI <span style="color: blue;">As</span> <span style="color: blue;">New</span> Uri(<span style="color: rgb(163, 21, 21);">"http://weblogs.asp.net/farazshahkhan"</span>)</p> </div>

I hope this has just raised some eyebrows, it sure did when I saw it first. Hell that's the way Microsoft wants us to post code??

After all, ASP.NET is about code. It's about ASP.NET, so there will be code everywhere. And we're supposed to somehow (still don't know how) do the syntax highlighting manually, copy everything to the HTML surface in the shitty WYSYWIG editor and then let others come in and edit this crap?

Oh my god, man.. Wiki is all about editing, not about posting in the first place. If I want to write a new story on something I'd go off and post it to this blog.
But to edit just one line of code, you'd have to copy the whole code sample into some kind of IDE, edit it, export it in HTML, repost it to the Wiki's HTML view.

No way anyone would ever go through this hassle just to increase the readability of some sample. I mean, if I'm in for a 20 minute edit job just because I think the variable int x should be named double y_, I'd never even think about editing.

So, concluding: Sorry Microsoft, but try harder next time.
Posting Code to a Wiki about code should be as seamless as possible, and not providing the tools to do so is a shame!


There is a "Format option" called "Source code" in the WYSYWIG, but it doesn't do a damn thing, so we see people posting their code from Word (like in the CSVExport article), do some other weird stuff (look above!).

Get your act together Microsoft, create a <code> block that will get syntax-highlighted at the server or something like that. But don't depend on your users to put even more effort into their contributions!

Filed under internet

My Photography business

Projects

dynamic css for .NET

Archives

more