Live data from Hacker News

Common Lisp Koans

github.com

31–35 of 35 posts

Re: Common Lisp Koans

#31

Earlier quoted context omitted.

Exactly. You have to realize the difference between a "pricing search" and a "low fare search", to use ITA terminology. A "pricing search" knows which specific flights it goes through and you just find the fares (keep in mind the carriers file like 600 fares for planes with 20 seats). The airlines could always do that. Before ITA came along in 2001 or so that is what you were waiting on in the travel agency while the…

Interesting. Thanks for the reply. >"A "pricing search" knows which specific flights it goes through and you just find the fares (keep in mind the carriers file like 600 fares for planes with 20 seats)." Wow why so many? This seems excessive? Could you elaborate on: >"But in addition to the immense amounts of fare and rule data that pile on your if you search 400 itineraries out * 400 back you also have the seat avai…

Another example from my 2006 conference notes. Assume you want to go from Easter Island to Aalborg, Denmark. Not a commonly traveled market. Cough. Just the number of fares filed by the data directly for this route is 57. Direct fares (for calculation without considering using 2 fares) from Easter Island to Copenhagen is 157.

You can see that when itineraries between other locations want to try out going through Denmark they pull in a lot of those fares. They add up if you do 400x400 itineraries.

Re: Common Lisp Koans

#32

Earlier quoted context omitted.

Exactly. You have to realize the difference between a "pricing search" and a "low fare search", to use ITA terminology. A "pricing search" knows which specific flights it goes through and you just find the fares (keep in mind the carriers file like 600 fares for planes with 20 seats). The airlines could always do that. Before ITA came along in 2001 or so that is what you were waiting on in the travel agency while the…

Interesting. Thanks for the reply. >"A "pricing search" knows which specific flights it goes through and you just find the fares (keep in mind the carriers file like 600 fares for planes with 20 seats)." Wow why so many? This seems excessive? Could you elaborate on: >"But in addition to the immense amounts of fare and rule data that pile on your if you search 400 itineraries out * 400 back you also have the seat avai…

And that's just the fares. We didn't talk yet about seat availability.

You have to ask for seat availability for the complete fare-component, the thing that a fare covers. So if you go Boston-Copenhagen-Hamburg you don't just do seat queries for Bos->CPH and CPH->BOS, you are required to ask those questions in a context that says you travel BOS->HAM.

The seat availability for the same seats on the same flights on the BOS->CPH leg is different depending on whether you ask in a BOS->CPH context or a BOS->HAM context.

You can see how asking all those seat availability queries for all the different ways to fly in the query explodes nicely. Combinatorics at work.

Re: Common Lisp Koans

#33

Earlier quoted context omitted.

Exactly. You have to realize the difference between a "pricing search" and a "low fare search", to use ITA terminology. A "pricing search" knows which specific flights it goes through and you just find the fares (keep in mind the carriers file like 600 fares for planes with 20 seats). The airlines could always do that. Before ITA came along in 2001 or so that is what you were waiting on in the travel agency while the…

Interesting. Thanks for the reply. >"A "pricing search" knows which specific flights it goes through and you just find the fares (keep in mind the carriers file like 600 fares for planes with 20 seats)." Wow why so many? This seems excessive? Could you elaborate on: >"But in addition to the immense amounts of fare and rule data that pile on your if you search 400 itineraries out * 400 back you also have the seat avai…

Oh and the carriers all insist on using a specific currency conversion table for the day. We had a whole bunch of them. Nobody really defines currency rates. And there are a lot of them.

I already mentioned several hundred of timezones. IIRC all carriers were happy with the same timezone file, amazingly. I think that was because ITA was the first to do one that comprehensively?

Re: Common Lisp Koans

#34

Earlier quoted context omitted.

Exactly. You have to realize the difference between a "pricing search" and a "low fare search", to use ITA terminology. A "pricing search" knows which specific flights it goes through and you just find the fares (keep in mind the carriers file like 600 fares for planes with 20 seats). The airlines could always do that. Before ITA came along in 2001 or so that is what you were waiting on in the travel agency while the…

Interesting. Thanks for the reply. >"A "pricing search" knows which specific flights it goes through and you just find the fares (keep in mind the carriers file like 600 fares for planes with 20 seats)." Wow why so many? This seems excessive? Could you elaborate on: >"But in addition to the immense amounts of fare and rule data that pile on your if you search 400 itineraries out * 400 back you also have the seat avai…

Here is more info: http://www.ai.mit.edu/courses/6.034f/psets/ps1/airtravel.pdf

It's from 2003, thing got a lot worse since then. The carriers make the rule mechanisms without having mathematicians or computer scientists at hand that watch the combinatorics. They have enough trouble not misfiling fares altogether (aka $0.02 fare NYC->London next Friday).

Re: Common Lisp Koans

#35
post #3

Earlier quoted context omitted.

ITA Software — the company that wrote the engine behind Orbitz, Kayak, etc. and now runs Google Flights — was acquired by them a while back.

Paul Graham wrote about the advantages ITA had by using Lisp, interestingly enough. http://www.paulgraham.com/icad.html

Fun fact: co-founders of ITA and Kayak were co-workers on the core product team at Interleaf. Paul Graham Worked at Interleaf in the consulting group. We all worked together on a major overhaul of Interleaf publishing software based on embedded Lisp. Interleaf 5 was about 10 years ahead of its time in many ways, and was eventually (mostly) crushed by lower cost competitors FrameMaker and (ugh) M$ Word. Paul brought some Interleafers into Viaweb.
Post reply on HN