Nov 28, 2012

One more exceptional blog

This guy articles are just awesome. I must read them all! As in introduction I personally recommend to read a this one.

On Windows 8 and it's Modern UI

I'm actually quite a fan of a Windows OS. I've used it starting from Windows 95 and missed only Vista (I also don't count Millenium edition since it was in parallel with Windows 2000 on that time). I thought Vista was a bad version, and indeed, it was. However it was bad in a sense of it made you grumble and mumble periodically 'ah, that's how you do it now'. It was still a good old Windows OS. Eventually a tuned up version of Vista is most successful and popular Microsoft OS of all the time I guess. I was pretty satisfied with Windows starting from Windows 2000.

However situation with Windows 8 is different. For the start you can read this article, which is quite reasonable analysis of the new UI. The so-called Modern UI is terrible. So are terrible each and every new website made using this approach, including, of course, new Microsoft web site.

As a conslusion to this article I can add, that somehow Microsoft now wants you to learn a whole new concept, just because they think it looks cool? My PC is a workhorse with a tons of complex software. I appreciate that Windows 8 is faster, supports new hardware and use CPU, GPU and RAM more efficiently. I like it a lot. I just can't understand why I even need to see this ugly piece of marketing bullshit then I just need my desktop? Well I mean, I can understand their reasoning behind all this. That's a money, a lot of money they want from a new Windows Store. I'm fine with that, but why I should suffer and even pay money for that then?

No way I install this on my computer, at least until they make it possible to switch to desktop right after boot. If they want me to learn new OS, then I'll more probably start to learn Linux, which is much more beneficial in terms of useful knowledge received for time spent on learning. In Windows I'll just will learn the new UI I don't need. With Linux I'll learn a whole new class of OSes. And they all are free at least, but for my money, I want my desktop back.

Nov 26, 2012

Kickstarter analysis

The one truly needed post about Kickstarter. A lot of references which are also worth visiting.

P.S. The one thing I really don't understand in modern web design, is a passion to make text not black. I mean like make text #707070. Is it just to make site harder to read, especially on a small phone screen? People, are you there? FTW!

Nov 19, 2012

Web-debugging HTTPS PHP cURL requests with Fiddler

Recently I was faced with a task of implementing OAuth 1.0 authentication. The authentication must be done with JavaScript, and I had a working example implemented in PHP (as a console app).

I've done major part of the task, but on the last step - while trying to actually use OAuth token to receive data - I've got 'signature invalid' error. I've studied PHP script carefully and 'echo'-ed values of interest to console, but still no luck to figuring out what was wrong.

It would be very convenient to see all PHP traffic in Fiddler, I thought, and what you need for it is described below.

Assume that Fiddler is running as usual on localhost (127.0.0.1) on port 8888. First of all you need to tell cURL to use proxy.

$proxy = "127.0.0.1:8888";
$ch = curl_init();
curl_setopt($ch, CURLOPT_PROXY, $proxy);

for your convenience you can also tell cURL to print debug info:

curl_setopt($ch, CURLOPT_VERBOSE, 1);

This will run cURL thru Fiddler, but you will not see (by default) decoded HTTPS traffic, because Fiddler decode HTTPS only from browsers (again, by default), so you need to change it to '...from all processes' if you run from command line PHP script (or just cURL):



again, this will, most probably result in HTTPS certificate errors since cURL knows nothing about Fiddler certificate (and Windows certificates), so easiest way is to just tell cURL to ignore SSL certificate errors:

curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, FALSE);

That's all, now you should see PHP cURL traffic, both HTTP and HTTPS.