Do you know YAML?

I thought I did.  Especially after all the hours spent with Ansible.  Turns out I don’t.  I have a very limited understanding of the YAML format.  How do I know that, you ask?  Well, that’s because I am reading the YAML specification now.

yaml

Holy Molly that’s an interesting format!  Much recommended weekend reading.

The History of the URL

The History of the URL is a brilliant compilation of ideas and resources, explaining how we got to the URLs we use and love (or hate) today.  In fact, the article comes in two parts:

  1. Domain, protocol, and port
  2. Path, fragment, query, and auth

Read them in whatever order you prefer. But I guarantee that you’ll have a number of different responses through out, from “Wow! I never knew that” and “I would have never thought of that!” to “No way! I don’t believe it“.

And here is one of the bits that made me smile:

In 1996 Keith Shafer, and several others proposed a solution to the problem of broken URLs. The link to this solution is now broken. Roy Fielding posted an implementation suggestion in July of 1995. The link is now broken.

OpenAPI Specification

OpenAPI Specification v2.0 – formerly known as Swagger RESTful API Documentation Specification.

Swagger™ is a project used to describe and document RESTful APIs.

The Swagger specification defines a set of files required to describe such an API. These files can then be used by the Swagger-UI project to display the API and Swagger-Codegen to generate clients in various languages. Additional utilities can also take advantage of the resulting files, such as testing tools.

International Electrotechnical Commission : World Plugs

International Electrotechnical Commission has a very handy (especially before travelling to a foreign country) list of different plugs (a total of 14 at the time of this writing), mapped to countries of the world.  So if you don’t have one of these:

adaptor

make sure you check the list before you fly out.  And while on the topic of this great variety, IEC also explains why there are so many and if this annoyance will ever be sold:

The IEC issued its International Standard for a universal plug in the 1970s; so far it has been adopted by Brazil and South Africa. It is unlikely that there will be a run on the standard in the near future. Literally hundreds of millions of plugs and sockets have been installed and who would convince a country to invest now in changing its whole infrastructure?

Most likely the future will lie with solutions such as the USB plug or possibly a multi-plug that can accommodate many different plugs, or even new technologies such as LVDC (low voltage direct current) or wireless charging mechanisms.

HTTP/1.1 just got a major update

HTTP/1.1 just got a major update – somehow I missed this last month.

The IETF just published several new RFCs that update HTTP/1.1:

These documents make the original specification for HTTP/1.1 obsolete. As a HTTP geek, this is a big deal.

RFC 2616, which was written more than 15 years ago, was the specification everybody has implemented, and I suspect many of you occassionally have used as a reference.

Json Résumé – a community driven open source initiative to create a JSON based standard for résumés

Json Résumé – a community driven open source initiative to create a JSON based standard for résumés.

It’d be awesome to see LinkedIn integration with this.

Is INPUT tag valid when used outside of a FORM tag?

Here is an update from the “learn something new every day” department – using <input> tag outside of (or, in other words, without) <form> tag is perfectly valid.  It’s valid in the newest HTML5 spec, and it was valid with earlier versions of HTML and XHTML too.

Interesting, that today was the first time I came across this, after doing HTML for almost 20 years.

http2 explained

http2 explained – This document describes http2 at a technical and protocol level. Background, the protocol, the implementations and the future.

Some highlights:

  • The http2 spec is expected to ship in June 2014 (a month or two away!)
  • http2 is heavily based on Google’s SPDY
  • http2 is binary
  • http2 fixes a lot of issues with HTTP 1.1 (pipelining, head of line blocking, etc)
  • http2 brings new features (server push, block, reset)
  • http2 will keep the URL schemes (http and https)
  • http2 will mostly be implemented for https (via protocol negotiations in TLS)
  • http2 already has a variety of implementations: Firefox and Google Chrome (MSIE coming), cURL, Goolge, Twitter, Facebook.  Apache and Nginx expected.

Aggregating feeds isn’t all that simple

As I mentioned a few times, one of my first start-up ideas was an RSS aggregator.  It was back in 2005 or so, before Google Reader was even alive.  Bloglines was the coolest tool, if I remember correctly, and it sucked badly.  I got together with a few friends of mine and we started coding.  It was an interesting challenge both technically and aesthetically.  But we got it to the point where it actually worked and wasn’t all too bad.  It was a weird mixture of Python, Perl, and PHP though.

Eventually, it became too much work.  We couldn’t figure out how to monetize the thing.  And Google Reader was announced.  That sort of killed the project.

A few month back, when the announcement of Google Reader’s end of life came out, I looked at the alternatives and wasn’t pleased.  I thought with all the technical advances in the last few years, and with my own improved knowledge, I could attempt the task again.  Yes, I know, I am hopeless optimist in a lot of matters.

At least this time it took just a few days to convince me not to pursue the goal.  Alternatives are plentiful.  Each and every one of them is light years ahead.  I still don’t enjoy front-end development.  And I still have no clue as to how to monetize it.  So, the Subs Reader got frozen.  At least I got it all in frameworks, and left it in the Open Source state.  If I ever will have another try, I can pick up from here.

One of the biggest mistakes I’ve done the last time, was not documenting the project’s process at all.  I vaguely remember that I didn’t sleep for a few nights, trying to figure out all kinds of problems.  But what were they, I don’t remember.

Today, I came across a blog post which lists similar problems that I had to solve, but in greater number and variety.  Even if you aren’t thinking about writing your own RSS reader any time soon (or ever), you should still read through the Brian’s stupid feed tricks.  First of all, they clearly illustrate how much complexity is hiding in the details.  Secondly, they show non-standard is the web in general and RSS in particular.  If you do any kind of web crawling, you’d probably see half of the same issues in your application.  Thirdly, even if you aren’t crawling the web at all, but just code a web application or an API to one, you’ll many places where you can go wrong without noticing it.  All in all, it’s a great list of problems that everybody involved in web development can learn from.