I'm writing a book: "JavaScript Application Design: A Build First Approach" - <AUTHOR> http://bevacqua.io/buildfirst <comment><USER2> I've been dabbling with JS more and more lately at work or at home.

I miss the structured approach provided by Maven+Java+JUnit+Mockito+Selenium/Sauce-lab/any-functional-test combo and am looking for good resources to replicate this on the JS side (preferably the front-end side as I don't care much of NodeJS at the moment).

I'd like to learn:

1\. Better build process for all of the front-end (HTML/CSS/JS) components

2\. Better UNIT-testing approach (not half-unit-testing-but-with-browser-dom- faked-out-approach) maybe a'la MVP pattern like the one in GWT.

Basically I'm not going to entertain anything that requires a browser to be launched (because it requires a lab/dedicated machine) because I'm looking for Unit-Testing not "Integration/Functional-testing"

3\. Better automation (in general) of the UI/front-end component

For example:

\- replace build version => main.css?{some_build_num} (or main_{build_num}.css)

\- LINT-ing

\- Compilation/obfuscation (could be merged with LINT-ing to some degree)

\- Auto-generate JS documentation (provided the code has proper comments) and auto-publish JS documentation [Maven supports this for Java]

4\. MUST have xUnit output (crucial for my next point)

5\. EASY to run/configure on CI servers (Jenkins, Bamboo, etc)

\- continuation from #4, code coverage + unit-tests result should be available on the CI build report

6\. Packaging? Dependency management?

So far front-end development has been.... less desirable because of the tools are far less superior than doing back-end development (regardless how beautiful/ugly JavaScript is, I'm 100% or even 1000% way more productive on doing back-end development).

I'm very much interested in learning the best practice and to increase my productivity developing front-end and this book seems to cover some of the points I mentioned above but not sure how meticulous/detailed the coverage is.

There's TDD.js book but I'm not sure if it has done a good job covering pure unit-testing and strategies to refactor/perform unit-testing correctly.

<comment><AUTHOR> Hi there,

Regarding your bullet list, the book covers all of your concerns. Grunt just depends on node/npm, and I describe how to get CI working properly with Grunt.

The first part of the book is entirely dedicated to automation and the build process, and it definitely covers things such as asset revving, linting, bundling, and minification.

When it comes to modularity (commonjs, amd, etc), dependency resolution (circular or otherwise), and package management, that's detailed in Chapter 5, at the beginning of Part II.

Unit Testing is covered in Chapter 8. I won't talk about TDD other than briefly mentioning it, but what I _will_ be talking about is automating unit tests, abstracting browser interaction, using PhantomJS to avoid firing up a browser, and using karma to run tests using Chrome automatically.

The testing chapter will go over real-life case scenarios, as well. To be honest, I'll cram as much high quality content as I can in the book/samples, but if you're looking for testing-heavy (or TDD) content, I'd suggest you look elsewhere

Most of the content covered in the book is further expanded in the code samples, which are open source: [https://github.com/bevacqua/buildfirst](https://github.com/bevacqua/buildfirst)

<comment><USER2> Thanks for replying my concerns!

I here you and I understand the approach you take for this book and I agree with your approach because I don't think a single book can have everything on my bullet points.

I really really hope that there's a de-facto stack for front-end development and let that stack stabilize for a while so that people can build on top of it (as opposed to keep on solving individual problem with a single specific brand-new-hip-tool-which-will-get-outdated-soon).

I hope Yeoman (Grunt and Bower) can be a part of the solution for the long-run and hopefully your book can be a foundation where people based-off future books (i.e.: JavaScript test automation should be based-off something).

</comment></comment></comment><comment><USER3> This is a fantastic idea. I've been using a version of this process to build a client-side app over the past few months and have found it to be a huge improvement over my previous approaches.

Looking forward to seeing what suggestions the author has for making my process even better. :-)

<comment><USER4> I am in the dark, the pasge describes a build tool, what's the fantastic idea here? What is your build doing. or do you mean simply build vs using an ftp server? sorry if this sounds weird, but the blurb explains nothing new, and nothing which cannot be done waaaaay better.

</comment></comment><comment><USER5> edit: I could see this being just a good general approach to development. Like a concrete how-to on doing continuous delivery from day one.

I've even started using grunt with a C++ project I'm working on, and if I make sure that from day one I can start up from a new machine:

       % grunt init

... my life is better.

It's interesting, grunt is a nice "automation layer", as opposed to a build tool. I'm now using it to automate my build setup. Having that extra thing to bring it all together into one command makes it all so much easier.

<comment><USER6> What makes grunt better than the alternatives?

<comment><USER7> Grunt is not a great build tool. It's not terrible, either, but it puts too much emphasis on a giant declarative config object.

But Grunt has a _huge_ library of plugins that cover all your build automation needs, and that's made it the de-facto standard for build automation in the JavaScript world.

I'm working on a universal build format that would allow you bring the convenience of Grunt plugins to other tools as well. (I'm fond of Jake, myself.) PM me or follow my Github [1] for more. The first version's going up next week.

[1] [https://github.com/jamesshore/](https://github.com/jamesshore/)

</comment></comment></comment><comment><USER7> Looks really good! I've been working on a universal build task format to supplement Grunt plugins. Basically, the idea is to get the flexibility and convenience of Grunt without the lock-in. Do you mind if I email you about it and get your feedback?

</comment><comment><USER8> The red on red links don't really work. I would change the color because they are hard to follow along.

Other than that, nice concept for a book.

I would be interested in reading this book. Thanks

</comment><comment><USER9> That's a perfect book topic, congratulations.

Do you have any interest in translating them to other languages? I would love to republish it in brazilian portuguese.

</comment><comment><USER10> Interesting. I'll be one of the first to buy (does pre-order include early editions of the book?).

I tried out continuous design when trying to learn and build with Angular and CoffeeScript for the first time...and I loved it...made me want to quit Rails development entirely. I still don't know much about grunt except how to copy- paste the commands to set things up, but more insight on how this all works, plus best practices, is a winning topic for me.

<comment><AUTHOR> Pre-order includes early access to chapters as they are released. The program kicks off with 3 chapters which you can start reading right now, and then one additional chapter will be released each month.

If you go for the print book too, you'll get a physical hard copy as well when the book goes to print.

Glad you're thinking of buying it! :-)</comment></comment>


Google Hands Free - <AUTHOR> https://get.google.com/handsfree/ <comment><USER2> That's pretty slick, even if using a camera for facial recognition (!) is a bit creepy.

<comment><USER3> You have to provide the app a picture of yourself when setting it up, so I don't believe it's tied in with any other system within Google. As well, I believe stores are doing a mix of either camera or using name/initials to verify who you are (depends on the store you go into).

 _The opinions stated here are my own, not necessarily those of Google._</comment></comment>


Microsoft Is Looking Like the New Apple - <AUTHOR> https://www.technologyreview.com/s/602750/microsoft-is-looking-like-the-new-apple/ <comment><AUTHOR> In a nutshell:

"Microsoft is now attempting to push the boundaries of what computing looks like, by trying to change the way we interact with desktop devices and providing the tools for us to become more involved with the virtual world.

Apple, meanwhile, appears to be stuck in a rut. As we've explained before, it seems to be struggling to look far beyond its existing products. Instead, it's simply adding new features to already successful devices rather than reinventing our relationship with technology."</comment>


Ask HN: How to learn UX as a backend engineer? - <AUTHOR> What are some good resources (books, books, videos etc) to learn UX design for developers who rarely do any frontend work? The idea is not to be an expert in UX but to start understanding fundamentals. To be able to think like a UX designer. <comment><USER2> UX is a huge field with a lot of entry points so it's difficult so suggest a single resource to start with.

However I'd suggest that coming from an engineering background, you might find joy in learning about user testing first as that's usually a big eye-opener that helps you understand why the field of UX design is important.

A classic book to start with is "Don't Make Me Think" by Steve Krug[0], which covers usability testing and even how to conduct a session yourself.

Then there's "The Design of Everyday Things" by Don Norman[1], whom many consider the 'father' of the modern field of UX. That one can be a bit dense though.

If you want to think like a designer, then learning about Design Thinking[2] is a good place to start.

Hope that helps!

[0] [https://www.amazon.com/Dont-Make-Think-Revisited- Usability/d...](https://www.amazon.com/Dont-Make-Think-Revisited- Usability/dp/0321965515)

[1] [https://www.amazon.com/Design-Everyday-Things-Revised- Expand...](https://www.amazon.com/Design-Everyday-Things-Revised- Expanded/dp/0465050654)

[2] [https://www.ideou.com/pages/design- thinking](https://www.ideou.com/pages/design-thinking)

<comment><AUTHOR> Thanks! That will be a good start.</comment></comment>


Ask HN: Using C99 or C11? What is your impression? - <AUTHOR> https://en.wikipedia.org/wiki/C99<p>https://en.wikipedia.org/wiki/C11_(C_standard_revision) <comment><AUTHOR> I'm interested because I've mainly used ANSI C (pre-99), so like to know the experiences of those using higher versions of the C standard like 11 and 99.

I know about Rust, D, Zig, Nim, and have used D some.

This question is more about the old C vs. the newer standards, but feel free to talk about those other languages too, if you have any relevant points to make.</comment>


It's Not News, It's Fark - <AUTHOR> https://www.fark.com/ <comment><USER2> Hard to believe that site's still going strong. I used to hang out there back in the day.</comment>


Productivity Growth in the US Continues to Decline - <AUTHOR> https://geopoliticalfutures.com/productivity-in-the-us-continues-to-decline/ <comment><USER2> _Productivity as a whole had been in a downtrend every year since it peaked in 2003_

Where is the source for this? What is the source for the "long term decline" mentioned in the article?

The first sentence mentions the BLS, so I went there, and this is not what they say. [https://www.bls.gov/data/#productivity](https://www.bls.gov/data/#productivity)

If you dont want to go through the various data, here are some articles with charts:

This one covers since the last recession: [https://www.bls.gov/opub/btn/volume-6/below-trend-the-us- pro...](https://www.bls.gov/opub/btn/volume-6/below-trend-the-us-productivity- slowdown-since-the-great-recession.htm)

This one goes back further, but only up until 2012: [https://www.bls.gov/opub/btn/volume-3/what-can-labor- product...](https://www.bls.gov/opub/btn/volume-3/what-can-labor-productivity- tell-us-about-the-us-economy.htm)

<comment><USER3> Meetings, meetings, more meetings and meetings about meetings, meetings about making meetings productive, etc. We need fewer of them and the ones we do have should have a point (i.e. decisive)

They shouldn't by default be thinking out loud brainstorming sessions to be investigated and possibly executed later some day after it's trickled through proper approval requiring additional meetings.

<comment><USER4> Here's what I don't get about this though, was there less meetings back in the early 2000s? I'm only 24 so I don't know, but if there is one thing I feel has been passed down from seniors as a software developer it is that in the early 2000s managers loved holding meetings.

<comment><USER5> You're right, there have been companies plagued by meetings for a long time. The difference is the kind of work we do. Now it's mostly "knowledge work" and service work. Parkinson's law--work expands so as to fill the time available for its completion--is probably the culprit these days. As long as people can complete their jobs before the deadlines, they will also tend their virtual farms and talk about nothing with their coworkers at the virtual water cooler on Slack. It's no longer cool for employers to tell their workers to get back to work and stop talking and playing games.

</comment></comment></comment></comment><comment><USER6> Not mentioned in the article but a possible source discussed at an Economics of AI conference in Toronto[0] (among other places) is the idea of a restructuring lag[1]. In effect, we as a society are investing an enormous amount of capital in activities that augment or replace existing economic activity but have not yet completed the transition.

For example, auto and tech companies are investing heavily in self-driving vehicles. At the same time, very few vehicles have been economically displaced as a result of that investment. In effect, we went from spending $X on cars to $X+$Y where $Y is self-driving research. Thus, productivity as measured in an aggregate economic sense, starts to fall. If anyone knows of more research on this argument, I'd love to know more.

[0] [https://www.economicsofai.com/nber-conference- toronto-2017](https://www.economicsofai.com/nber-conference-toronto-2017) [1] [https://static1.squarespace.com/static/59c2a584be42d60a2772b...](https://static1.squarespace.com/static/59c2a584be42d60a2772ba71/t/59c2b0f78dd041729ad41800/1505931530673/Brynjolfsson.pdf)

</comment><comment><USER7> As a Canadian, the thing that always astonishes me about working with my American counterparts is how many calls you want to have, and how often the topics discussed are the exact same points as the previous calls.

No agenda? No Call.

<comment><USER8> It's because the person who wanted the call doesn't actually write anything down from the call. Nothing gets documented, referenced, rechecked. Emails can at least be reviewed later.

No such luck with calls. Everybody wants to have calls and calls bypass documentation...so they want to have more.

I've always wanted a BPM system that hooks to my company calendar and automatically requests meeting notes to post from the person who called the meeting...and blocks them from requesting more meetings until those notes have been posted.

Think of it as spam filter for meetings.

<comment><USER9> You are really into something. You want a system that will block access to a resource until some process/workflow requirements are satisfied.

<comment><USER10> Too bad you can't force people to review prior meeting notes before initiating a new call or meeting.

Simple truth: technology will not fix your culture problems. The most technology can do is serve as a scapegoat for organizational policy, e.g. "the system won't let me do X" instead of "my boss won't let me do X".

If you want to change your culture, then reward positive behavior, fire sources of unapologetic cultural toxicity, and hire people who believe and profess the cultural change you seek.

</comment></comment></comment></comment><comment><USER11> Wage stagnation has a hand in productivity decreases. Wages are pretty much stagnant since 2000 even in upperclass compared to costs rising [1]. People are working harder and losing ground, that is exhausting.

The Great Recession gave companies a decade of excuses for not giving real money wage increases, not just real compensation which people can't actively spend as consumers [2]. America has efficiently worked out wage increases of real money, yes 'real compensation' has moved but people can't spend that and most of it is not used.

The velocity of money is decreasing at a scary rapid clip since 2000 [3]. More money goes to wealth as inequality has increased. Less money in lower/middle is changing hands.

All of this leads to less reason for longer term employees to innovate and increase productivity.

Wages do have an impact on productivity and the skills people bring, American businesses have efficiently worked them out for the short term gains and long term drain. Wages are a key aspect in capitalism growth that seem to be the most fought against. Companies today have forgotten that wages are as American as it comes.

[1] [https://www.nytimes.com/2014/10/07/upshot/the-great-wage- slo...](https://www.nytimes.com/2014/10/07/upshot/the-great-wage-slowdown-of- the-21st-century.html)

[2] [https://www.nytimes.com/2018/02/28/opinion/corporate- america...](https://www.nytimes.com/2018/02/28/opinion/corporate-america- suppressing-wages.html)

[3] [https://fred.stlouisfed.org/series/M2V](https://fred.stlouisfed.org/series/M2V)

</comment><comment><USER12> Here's the problem with measures of productivity: they are uniformly terrible.

Productivity exists nicely in the minds of economic theoreticians but concrete measures if it so often seem unable to capture nuances of the modern economy. It's not that it's impossible to do, it's just hard to consider all the product offerings available to consumers. If we take some time to think out of the box, we see that productivity has definitely gone up over the past decade.

For instance, let's consider content-delivery-to-consumer productivity. Netflix, Hulu, YouTube, etc have all vastly increased the ratio (video content)/(cost to aquire) and (video content)/(time to aquire). Not only have consumers been spared the once necessary and time consuming trek to Blockbuster, $15 which would have once afforded you a few video rentals a month now gives you access to the entirety of Netflix's library of content. Amazing!

This is a textbook example of productivity, possible only because of technological advances, but it is not captured in traditional measures of productivity.

So we must disregard them.

</comment><comment><USER13> Management should in some cases be its own career path instead of the default for good workers who get promoted. Good project management is a skill that we just expect out of people who get promoted.

The pay scale should change so good hackers, analysts, etc can get raises akin to getting promoted, and the same for project managers. Because a good manager should be able to cut out the feckless meetings, get people working where they are most productive, and make a good working environment.

<comment><USER14> This is a great point—management really is its own skill. However, I think it's also important that managers be skilled in the specialty that they oversee, especially if it is complex work like software development. I think that an excellent manager with no knowledge of software development (aside from attending an "agile summit" or something) would struggle to effectively manage a team of developers.

That's what makes software development management so hard: to be good at it, you have to be a good manager _and_ a decent developer, which are completely orthogonal skills.

</comment></comment><comment><USER15> They make a good point about workers not able to stay at a job longer than a few years. I'm sure this impacts productivity quite a bit.

This article assumes that productivity is accurately being measured (GDP/worker hours) and doesn't address this issue. It would be interesting to see a breakdown per industry to see where the ups and downs are. I mean, you've got companies like google that generate a lot of money per worker, and they could do even more if they didn't invest in the future and only worked on stuff they had a monopoly for (search).

Jobs have become increasingly specialized, I wonder if this affects the measurement of productivity.

<comment><USER16> Employees aren't really incentivized to stay very long at positions, especially if you're looking for income growth. Most companies will cap you at 2-3% raises that basically incentivize you to switch positions for XX% salary increases

</comment></comment><comment><USER17> Needs a (2016) added to the title. Article is from May 2016

</comment><comment><USER18> Communication facilitated the outsourcing and offshoring of the real economy. Want to see where the productivity has gone? Look to Shenzen and Bangalore.

</comment><comment><USER19> Maybe it will come back in line with wage growth... If wages won't go up, maybe productivity will need to go down. :)

</comment><comment><USER20> Okay, let's have a huddle where we open JIRA tickets to decide which meetings we should have to formulate the stories for that feature? Because I really don't think we can move the needle on solutioning this without a team-first approach?

</comment><comment><USER21> How is productivity measured?

<comment><USER22> It looks like the BLS measures productivity as the dollar value of goods and services produced over the hours used to produce them.

Not much detail on those the dollar value is calculated, though.

Edit: I found a (somewhat patronizing) slideshow designed for K-12 students: [https://www.bls.gov/k12/productivity-101](https://www.bls.gov/k12/productivity-101)

</comment></comment><comment><USER23> U.S. Productivity Measurements Fail to Capture Digital Economy Output

</comment><comment><USER24> The article fails to discuss executive compensation and stock buybacks, on which companies spend an enormous amount, and do not lead to any productivity gains.

</comment><comment><USER25> Second Derivative Alert...

</comment><comment><USER26> i.e. Slack is making everyone in your office less productive.

</comment><comment><USER27> The way out is up.</comment>


Colly: Fast and Elegant Scraping Framework for Golang - <AUTHOR> https://github.com/asciimoo/colly?source=hackernews <comment><USER2> You will get to initial source code with this, but if you want JavaScript to work, you just use PhantomJS. If you want PhantomJS to be usable, you is casperJS... Until you find a site with FuzeJS or some other JavaScript or html intense site. Those won't render in PhantomJS.

For that stuff, as of a few months ago, you can use Chrome headless. I wrote a couple go packages to make that easy. It basically runs headless chrome with a JavaScript REPL console you can use to interact with the session. [https://GitHub.com/integrii/headlessChrome](https://GitHub.com/integrii/headlessChrome)

I was also able to smash my while scraper bot into a docker container after working around a couple bugs.

<comment><USER3> _It basically runs headless chrome with a JavaScript REPL console you can use to interact with the session._

That looks cool! Would I be able to run Node scripts?

<comment><USER4> > Would I be able to run Node scripts?

No. Since you can't run Node scripts on Chrome, the same is true for Chrome headless.

</comment></comment></comment><comment><USER5> One thing I'm interested in is scraping those annoying sites that require JavaScript execution. More and more webpages are requiring JS even to display anything beyond a blank page. These sites self-select themselves for exclusion in scraping like this.

I've looked into Headless Chrome, but I'd be interested to see a 'scraping framework' level abstraction for those sites.

<comment><USER6> "More and more webpages are requiring JS even to display anything beyond a blank page."

Can you provide some example webpages so we can take a look?

Also, I agree with @asciimoo's point about endpoints. One could make an argument that compared to the website design of the 1990's and 2000's, retrieving structured data from websites is actually getting easier not more difficult. I recall one period of time where the trend was to design websites entirely in Macromedia/Adobe Flash.

Here is what is missing from this project (and many others like it): when providing software that performs text processing one needs to not only provide example code but also _example output_. This enables a user to quickly compare her current text-processing solution with the software being provided without having to install, review and run the unfamiliar software.

For example, without some sample output she cannot test, e.g., whether her current solution produces the same output faster or using less code.

<comment><USER5> With a minute's searching, here's a webpage that's meaningless without JavaScript:

[https://blogger.googleblog.com/](https://blogger.googleblog.com/)

It's arguably a page of text not a web app that needs user interaction.

I'm not trying to start an argument about JS: the consensus on HN seems to be that if you don't execute JavaScript you don't deserve to read webpages. I'm just saying that your website's clients are more diverse than 'normal' well- sighted humans. There may be machines reading the site, for all kinds of reasons.

And regarding endpoints. One could make the argument that with AJAX we now have richer APIs. I disagree. We have a well-understood API for getting hypertext (HTTP) in a well-understood format (HTML) that works/worked across all websites. Replacing that with a custom-built API for every website isn't apples-for-apples.

<comment><USER6> The reason I asked is that I rarely use a graphical browser so I am always curious about wesbites that are inaccessible without Javascript.

Blogger has a feed. Here is one way to retrieve it, in two steps.

         1. get TargetBlogID
         2. retrieve data
         optional:
         3. format data for viewing

         Example:

         1.
         x=$(exec curl https://blogger.googleblog.com \
         |exec sed '
         s/\\046/\&/g;
         s/\\46/\&/g;
         s/\\075/=/g;
         s/\\75/=/g;
         /targetBlogID/!d;
         s/.*targetBlogID=//;
         s/&.*//;
         ');

         2.
         curl -o y.htm https://www.blogger.com/feeds/$x/posts/default

         3.
         exec sed '
         # ^M is "\r"
         s/^[0-9a-f]*^M//;
         s/</</g;
         s/>/>/g;
         s/&/\&/g;
         s/"/\"/g;
         1i\

         s/<name>/

name &/g;
         s/<uri>/
uri &/g;
         s/<generator>/
generator &/g;
         s/Blogger//;
         s/<id>/
id &/g;
         s/<published>/
published &/g;
         s/<email>/
email &/g;
         s/<title type=.text.>/

&/g;
         s/<openSearch:totalResults>/
total results &/g;
         s/<openSearch:startIndex>/
start index &/g;
         s/<openSearch:itemsPerPage>/
items per page &/g;
         s/<updated>/
updated &/g;
         s/<thr:total>/
thr:total &/g;
         s/<\/feed>/&

/;
         s/^M*/
/;
         ' y.htm \
         |exec tr -cd '\12\40-\176'

<comment><USER7> It's almost like you asked that question to bait someone into giving you an excuse to show "just how easy it is" with some cli hacking.

</comment></comment></comment></comment></comment><comment><USER8> Borrowing an argument from an article talking the speed of Python: focus on what's your bottleneck. If you're worried about the performance of your tool, make sure it's not actually waiting for something else (IO, network, scheduling, ...).

Here, unless you're parsing a large amount of already downloaded files (a website dump, [re]parsing of a long-standing archive etc.), you're not going to get a huge benefit from using a fast parser, because network is going to be the challenging factor.

Keep that in mind.

<comment><USER9> I totally agree! I like Go but this is not a field I would ever use it. Parsing the site-s will never will be the bottleneck, but following the HTML changes or making it work for multiple sites is... When it takes maybe even seconds to download a page, a couple of millisecond performance advantage of Go doesn't matter at all.

</comment></comment><comment><USER10> Remember to setup DNS caching on the box or use something like [https://github.com/viki-org/dnscache](https://github.com/viki-org/dnscache).

Also, there doesn't seem to be any checking reading the response body. You want to limit the read length.

</comment><comment><USER11> The HTML parsing part appears to be "golang.org/x/net/html". Does anyone have experience parsing "real world" html with this? How does it do?

<comment><USER12> It's an HTML5-compliant parser. That means that, modulo bugs, it should produce the same results as any other modern HTML parser, which should also all be based on HTML5.

For context, since I think a lot of people are still unaware of this, the HTML5 standard precisely specifies how HTML should be parsed: [https://www.w3.org/TR/html5/syntax.html#parsing](https://www.w3.org/TR/html5/syntax.html#parsing) This is based on a survey of how the various browsers were handling it in reality, so it's not just one of those theoretical things that everybody ignores, it's an algorithm extracted from the brutal pragmatism of many separate code bases over many years. In theory now, all HTML parsing libraries should now be able to take the same input and produce the same DOM nodes. In practice I've not used a variety of such libraries, nor have I fed them very much pathological input, so I can't vouch for if this 100% true in practice, but in theory, there should no longer be any significant differences between HTML parsers in various languages, as they come on board with HTML5 compliance.

</comment></comment><comment><USER13> Why are scrapers and scraping so popular? What is a real use case for it?

<comment><USER14> Not seeing ads.

Secondarily, there is a lot of data on the internet stored only in HTML pages. For data with multiple sources, HTML is still usually a common format. HTML just has more punctuation and errata to filter out than JSON, XML, or CSV.

<comment><USER13> So you want the data but you don't want to ask for it?

<comment><USER14> If I come across data I want/need, why should I have to highlight, copy, and read from my clipboard? It's much more elegant to have automation do this.

</comment></comment></comment></comment><comment><USER15> OnHtml callbacks? Not a big fan of callbacks when you have channels.

<comment><USER16> Channels require concurrency; you have to spin up another goroutine and take care not to let or deadlock. Channels are for communication between goroutines, not for general abstraction.

<comment><USER17> I agree. Callbacks makes sense in this context and is the idiomatic way to write the code given that's the approach used in the standard library. eg:

[https://golang.org/pkg/path/filepath/#Walk](https://golang.org/pkg/path/filepath/#Walk)

[https://golang.org/pkg/net/http/#HandleFunc](https://golang.org/pkg/net/http/#HandleFunc)

</comment></comment></comment><comment><USER18> Is there any reason to use this instead of Puppeteer? It feels like Puppeteer is going to dominate this space unless another browser vendor makes their own framework.</comment>


Why do I get try again when I tryto show hn my website - <AUTHOR>

<comment><AUTHOR> Its funny these comments go through but my website address does not pass through. Is it marked for spam or something?

</comment><comment><AUTHOR> Me and my partners together built this goal sharing and tracking website

</comment><comment><AUTHOR> now got to try if this works...the website is www.DreamZook.com</comment>


Ask HN: Any YC companies running on Drupal? - <AUTHOR>

If yes, which ones are they? <comment><USER2> Keep in mind that peter's article was from 2006. Drupal has continued to grow and it provides a lot of out of the box functionality. I think there are a lot of alternatives as Vuong has mentioned, including doing it yourself. But why not use out of the box functionality and install modules that the community has already contributed? There are ways to extend existing functionality as well.

It really depends on what you're trying to accomplish too. I've helped customize Drupal for a lot of applications, such as using it as a data aggregation server thats paired with a mobile app, video broadcast platform and yes even a groupon-esque site as well.

If you dont mind sharing what you're trying to build, I think there are a lot of people here who can chime in on your architecture/approach.

</comment><comment><USER3> Don't know about any YC but subhublite,acquia gardens etc do it by building a distribution(with features usually) and using aegir+ubercart for saas. Check drupal gardens, subhublite, officemedium, (some wedding website saas whose name i don't remember). Basically: Open Atrium + Aegir + Ubercart = Basecamp Clone

Check : <http://drupal.org/node/993166> (Pagabuild Case Study)

</comment><comment><USER4> Probably not.

I still don't think Drupal is a good idea for almost all startups. [http://poorbuthappy.com/ease/archives/2006/12/09/3382/drupal...](http://poorbuthappy.com/ease/archives/2006/12/09/3382/drupal- considered-dangerous-for-startups)

An exception may be something like Groupon: something with a very simple, generic web presence. And even then.

</comment><comment><USER5> I think most (PHP) web startups tend to use frameworks (CakePHP, Codeigniter, Zend etc.) rather than CMS. Believe me, the trouble of hacking up a CMS to do what you want is more than just build stuff from scratch with a framework.</comment>


2020 Madness: a game that raises money for the eventual Democratic candidate - <AUTHOR> https://2020madness.com <comment><AUTHOR> Our goal is to raise $1m for the eventual Democrat candidate, while getting folks more engaged with what's happening in national politics. We don't take a cut, 100% of donations go to the eventual candidate fund.

Why: Everyone has their current favorite Dem candidate, but we can all agree on one thing — we have to defeat Donald Trump. As the candidates spend money to compete, Trump continues to fill his war-chest. We want to help give the eventual candidate a better shot.

In addition to raising money, we're hoping to also get more people engaged with what's happening in national politics -- kind of how fantasy sports gets people paying more attention to sports.

There's still a TON of work to do to make this awesome, but we decided to launch it early to get feedback and ideas. Please let us know any suggestions or questions!</comment>


Show HN: MyIcons – a flat icon manager and font builder for team - <AUTHOR> http://io-meter.com/myicons/

<comment><USER2> cool!</comment>


Transcripts Of Interviews With The Greatest Physicists Of The XXth Century - <AUTHOR> http://www.aip.org/history/ohilist/transcripts.html <comment> cunard-n Gamow: "No, I'm a fake Ph.D. I never got a real degree." I just have to say. I love the way this guy talks. What a fun article.</comment>


Russia Eyes Sending Snowden to US as 'gift' to Trump: Official Tells NBC News - <AUTHOR> http://www.cnbc.com/2017/02/10/russia-eyes-sending-snowden-to-us-as-gift-to-trump-official-tells-nbc-news.html <comment><USER2> This is really bad news. :-(

But still... there are a lot of us. It seems that there ought to be something we can do to help protect Snowden. But I have to admit, I'm drawing a blank right this minute. Ideas?

<comment><USER3> Protect him against prosecution?

He's admitted that he committed the crime and then he fled first to Hong Kong and ultimately to Russia.

I'm not convinced this guy is as innocent (or much of a whistleblower) as everyone seems to believe. I know that's an unpopular opinion but compared to Drake and Binney this guy did a lot of damage to the USA.

<comment><USER2> _Protect him against prosecution?_

Protect him against being assassinated, and/or being railroaded by some kangaroo court and _then_ assassinated. Or buried in solitary somewhere for the rest of his life.

C'mon, no way is the USG going to let Snowden face a fair trial, and that's ignoring the fact that he shouldn't be tried at all. The man is a hero who risked everything to expose crimes committed by the US government. Who cares about the technicality of whether or not he violated some inane statute? He did us all a favor and - IMO - we have something of a moral obligation to help him stay alive.

<comment><USER3> Technicality?

This guy ferried gigabytes of secrets out of a secure installation, fled to a foreign country and was likely protected by one or two hostile foreign intelligence services, and then made a movie where he admitted the whole thing.

IANAL, but it seems like the facts of the case make this a pretty open-and- shut case. You don't get much more solid evidence than the accused admitting to the crime.

I'll note that you don't get to violate the law for "a good cause" especially when you, in your sole judgement, decided that the government you screwed over, deserved that screwing.

I'd argue that with the ACLU behind him, he's gonna get a much fairer trial than any one of the hundreds of other folks that get railroaded in our justice system because they are too poor to afford competent counsel.

So let's stop with the hyperbole. Nobody is gonna kill that guy. They are gonna keep him alive at a SuperMax prison in Colorado, right next to Hansen and Ames. A long life behind bars makes a good example for the next traitor who gets an itch to help out our adversaries.

<comment><USER2> _So let 's stop with the hyperbole._

 _A long life behind bars makes a good example for the next traitor who gets an itch to help out our adversaries._

LOL, way to contradict yourself. Whatever, believe what you want, but Snowden is a hero and we all owe him a tremendous debt of gratitude.

<comment><USER3> What contradiction? The guy is guilty. He knows he doesn't stand a chance in court. This guy is looking at several life sentences for his crimes.

So this guy can get the fairest trial of all time and STILL go to prison forever. A trial isn't unfair because you don't agree with the result. He broke the law. DO you think he deserves to go free after what he's done? Seriously.

I can't walk down the street and shoot someone because he was a "bad guy" in only my judgement. I'm going to go to jail for murder. Whether or not the guy was actually a "bad guy" or not is irrelevant. As an individual in our society, you don't get to unilaterally take an action against the law and then expect to escape the consequences.

If this guy was a TRUE whistleblower, he'd have taken an important document, one implicating the NSA in wrongdoing, to a respected new outlet like "60 Minutes" or the NY Times or the WSJ, unmasked himself, and expected the government to prosecute him. THAT is how you martyr yourself for the common good.

This guy did everything that you'd expect an rogue, formerly-controlled asset of a foreign intelligence service to do. He took a radical action to force the hand of his FSB or SVR handlers and then fled to their open arms expecting them to keep him safe. I think he stopped off in Hong Kong to see if the Chinese would be willing to take him in so he could escape his fate in the USA. When they declined, he beat feet to the Soviets.

Don't believe the hype. That guy was a recruited asset who decided he had enough. All of the rest was for show.

<comment><USER2> _What contradiction?_

Really? You can't see the contradiction in imploring that we "stop the hyperbole", followed by labeling Snowden a "traitor"?

 _DO you think he deserves to go free after what he 's done?_

Absolutely. He should be given a medal and a tickertape parade. He's one of the few real heroes of our age.

 _I can 't walk down the street and shoot someone because he was a "bad guy" in only my judgement._

No, but that metaphor is totally unrelated to what Snowden did.

 _That guy was a recruited asset who decided he had enough. All of the rest was for show._

Great, I'll be eagerly awaiting the mounds of evidence you must have for this seemingly slanderous accusation...

</comment></comment></comment></comment></comment></comment></comment><comment><USER4> Trump is going to wake up one day to find Snowden's severed head next to him in bed.</comment>


Valve Confirms "Half-Life: Alyx" - <AUTHOR> https://www.roadtovr.com/valve-announces-half-life-alyx-first-vr-title-full-reveal-coming-thursday/ <comment><USER2> Is it only me that feels like VR is too much of a niche market?</comment>


Ask HN: Is it possible to fight back against the "big 4" hiring fads? - <AUTHOR> This post got me triggered https://news.ycombinator.com/item?id=12348756 as I've experienced the same feelings of worthlessness and inadequacy after terrible interview experiences. I also know a lot of people who have either: quit tech or moved overseas, unfortunately this stupid fad of "algorithmic" puzzles has gotten out of control and it's spreading like wildfire, because everyone wants to be like Google/Facebook/Amazon.
I can understand why some complex algorithm competency might be required at some of these companies but this alpha nerd "dick-measuring contest" needs to stop.
I am angry for the OP of the post above and for my own experiences as well as for many other fellow developers who have been through the same.
I think it's time we fight back as a collective and tell the "big 4" and the big 4 wannabes to go screw themselves, however I feel powerless, frustrated and angry. We can't continue to be complacent, enough is enough I say, let's do something about this.It has gotten out of hand. I refuse to accept this as the status quo. <comment><USER2> > let's do something about this.

Career Capital Theory-

Research shows that the traits that lead people to love their work are general, and can be found in many different career paths. They include things like autonomy, a sense of impact and mastery, creativity, and respect and recognition for your abilities. Once you recognize that these traits have little to do with following a pre-existing passion, and can be cultivated in many different fields, you can safely abandon the myth that there's a single right job waiting out there for you.

On this subject, Steve Martin's advice is solid > [http://lifehacker.com/5947649/steve-martins-advice-for- build...](http://lifehacker.com/5947649/steve-martins-advice-for-building-a- career-you-love)

<comment><USER3> But how do you become _good_? How can you tell if you're improving? It's what I struggle the most with as a student.

<comment><USER2> > how do you become good?

It helps to have Models. Who are the benchmark leaders in your field? How did they get there? What exactly made-up their mythical 10,000 hours of practice?

Hold yourself up to the standard. Emulate the formula, add your own ingredients. You'll know it's working if you feel stretched professionally.

Josh Kaufman has a brilliant take on acquiring new skills quickly > [https://www.youtube.com/watch?v=CsGihiSE6sM](https://www.youtube.com/watch?v=CsGihiSE6sM)

</comment></comment></comment><comment><USER4> First, working in Google, Facebook, Amazon, or Twitter is overrated more likely than not. Remember that. You don't really need to work in a big company to have fulfilling job that allows you to grow professionally and pays decently. (Don't be greedy.)

Second, remember that interviewing is both way lane. It's not only a way for employer to assess candidate, it's a way for a candidate to assess the potential employer. Treat it as such.

This may be a cliché, but if all I got asked in the interview was some random puzzles and nobody was interested in the work I had done in the past, I would probably avoid such company. They don't seem to hire based on competency, so I'm likely the first one with the ability to develop and deploy a well- designed _system_ (completely different thing from _algorithms_ ). I don't like to struggle with making each and every step. The same stands if they _require_ specific education.

And the last thing, in current landscape there's plenty of jobs in IT and only so many competent programmers, sysadmins, netadmins, or DB operators. It's the employers who struggle with finding good candidates, not the other way around.

<comment><USER5> Offtopic: The 4th _big_ is twitter? I thought it was Microsoft. I also thought that there are at least a dozen companies above twitter as far _big_ goes in any possible sense (revenue, salaries, dev happiness, etc.).

<comment><USER6> There is not a 'big 4' in tech, despite increasingly widespread use of the term.

<comment><USER7> right? I was like, "hmm, I guess we're talking about accounting firms today on HN. oh wait. wat."

</comment></comment></comment></comment><comment><USER8> I've worked in some big names in tech. What I do notice is that sometimes people go into these companies thinking they've made it and that they will just naturally grow due to being at a big name co.

I've realized that most companies are similar and opportunities don't just fall into your lap. Want a low growth job fixing bugs for 10 years? You can probably get that at Google (or pretty much anywhere). Want a job where you can develop the next big feature in Android? You can probably make that happen, too.

If you want the latter, don't just sit there, fall into a routine, and fix bugs all day thinking that one day a VP will knock on your door asking you to be a Software Architect. Don't become complacent.

<comment><USER9> > _Don 't become complacent._

See this advice a lot, are there any tips on this? make more to-do list? set goals?(how to know if goal is too high instead of myself being too lazy? etc)

<comment><USER8> For myself, I will often ask myself something along the lines of: "In my current trajectory, will I be doing the same thing in a year? And is that what I want and will I be happy with that?" So I try to imagine the different paths I can take in my current trajectory and if none of the paths interest me, then I know it's time to make changes. Try to draw out a 5 year plan on a spreadsheet. Aim high, but be realistic.

My main point is, you don't need to work for a big N company to achieve your goals (unless your goal is to simply work for a big N company). The sooner I realized that, the sooner I was able to start working on my actual goals where the actions are vastly different than those of "getting into big N."

e.g. I want to design software, but not necessarily at Google makes it a lot easier to achieve than saying it _must_ be at Google. :)

</comment></comment></comment><comment><USER10> I have super flexible hours. A private office looking over Austin's green belt. Free lunch. Ability to go to any conferences I want. With my salary I can live just about anywhere I want in the city. Why the hell would I want to work for a huge "big 4" ?

<comment><USER11> Where do you work sir ?

</comment></comment><comment><USER12> just avoid them. you really don't need to work for the big 4 in order to have a fulfilling job and/or make good money. also you can avoid steve jobs wanna be employers and execs. we are lucky enough that our industry provides lots of diversity and we can be picky

<comment><USER13> I think that his point is that so many of the non big-4 places are trying to mimic their hiring practices, and that's what the OP is wanting to go away.

I'm inclined to agree with the OP. Not every employer is going to be Google/Facebook/etc, so they shouldn't try to hire like they are already.

<comment><USER12> avoid them, too

</comment></comment></comment><comment><USER14> I have to say I agree with all that - and on the company side, everyone also says hiring is broken.

Overall, I think the process is just kind of silly, and I'm sure whoever comes up with a better way will be able to make some good money as well.

</comment><comment><USER15> You do have an option of not working/interviewing for the big 4 or "wannabes".

</comment><comment><USER16> Problem is: if you are smart, being an employee just sucks. Realising this opens a different class of problems to you (not to them, they are more than happy to enslave and dumb smart people down).</comment>


Functional Programming 101 with Haskell - <AUTHOR> http://blog.gja.in/2014/01/functional-programming-101-with-haskell.html <comment><USER2> The equivalent chapter in Learn you a Haskell is probably a better place to learn about list processing in Haskell.

[http://learnyouahaskell.com/starting-out#an-intro-to- lists](http://learnyouahaskell.com/starting-out#an-intro-to-lists)

<comment><USER3> Having finally finished my first read of LYAH (It took me months of reading, practicing and taking breaks to let it all sink in), I can only see one way to improve upon it: Make a video series.

I don't know enough about Haskell to pull it off (though I may try if no one's done it in a year or so). However if someone could inject the wacky sensibility* of things like LYAH, Computerphile and CodeSchool.com into a Haskell video tutorial, it would do worlds of good for the community. Better yet, if someone could make an interactive class like CodeSchool or Codecademy, that would be amazing.

* Thought I should mention that the wackiness isn't the only important part, it also needs to be properly paced. That was LYAH's other strong point, they hammer home each concept with multiple examples before moving on.

<comment><USER4> > Having finally finished my first read of LYAH (It took me months of reading, > practicing and taking breaks to let it all sink in), I can only see one way > to improve upon it: Make a video series.

Why? I can't think of any advantage that a video has over an article when it comes to teaching computer science. An article allows me to read and understand each concept at my own pace and rereading something I didn't quite get is trivial. All these simple things are just tedious with a video.

<comment><USER3> While I don't _need_ videos in order to learn, I find that seeing concepts represented visually while hearing them described by someone often works better than simply reading them. I've done some of CodeSchool's courses even though I already kind of knew the material, just because seeing it presented in that format helped reinforce things.

Furthermore, having coding exercises with a checker that can tell if you've done things correctly would help a ton when it comes to actually writing Haskell code.

</comment></comment></comment></comment><comment><USER5> I'll chime in and mention that Learn You A Haskell is the best online Haskell tutorial I've found. I've been working through bits of it the last couple of weeks and it is excellent.

Also the artwork is great.

[http://learnyouahaskell.com/](http://learnyouahaskell.com/)

</comment><comment><USER6> As a complete and total haskell noob, I am unable to even get through your syntax examples:

Prelude> sumOfElements [] = 0

<interactive>:12:18: parse error on input `='

<comment><USER7> This defiantly falls under Haskell not being noob friendly.

If you are in the REPL, you want to do `let sumOfElements [] = 0`

If you want multiline input, you open with `:{` and close with `:}`. Both of these need to be on their own line. For example:

        Prelude>:{
        Prelude| let sum [] = 0
        Prelude|     sum (x:xs) = x + sum xs
        Prelude|:}

As tdinkar points out, it is often easier to define your functions if a file and load that file from the REPL.

<comment><USER6> aha, i tried using 'let' on the assumption that he was just being brief, but I put a 'let' in front of each of the pattern-matching function signatures, which didn't work. Thanks.

edit: I take your last comment as "when using the REPL, it is easier not to use the REPL." :D

<comment><USER8> Since Haskell has a strong divide between compile and runtime, the REPL is this weird pseudo-runtime. It's best not to think of it like a REPL except for very simple use cases and instead think of it like a command prompt that you can evaluate some portion of Haskell in.

If you type `:help` you'll see all of the colon-commands that make up the command language. I'm not a Haskell expert, but my naive workflow tends to be a lot of usage of `:reload`. As a Lisper, I kinda feel like the colon commands should have been the default (sans colon) and one of the commands should have been `eval <haskel code>`.

</comment></comment></comment></comment><comment><USER9> The best intro for functional programming, IMO, is Joel Spolsky's "Can your language do this" ([http://www.joelonsoftware.com/items/2006/08/01.html](http://www.joelonsoftware.com/items/2006/08/01.html)).

<comment><USER10> Every newer language can do "this". First class functions and anonymous functions have been a standard feature for a while. Does not mean that say Lua or Ruby are functional programming languages. If you just require the ability to pass around anonymous functions even C++ is a functional programming language these days.

To meaningfully distinguish functional from imperative programming you have to add purity/immutable data to the definition at least.

</comment></comment><comment><USER11> For a 101, you may want to direct readers to install Haskell Platform as an easy way to get GHCI and all that set up.

<comment><USER12> Thanks for this, I added a link in the bottom.

<comment><USER13> _... I added a link in the bottom._

Perhaps helping users get set-up should be the first thing you address.

Also, you start off by saying the examples should work well in ghci but then show examples that are not run in ghci.

I fear your experience is blinding you to the numerous little things that trip up newcomers.

You might also state upfront what you assume the reader already knows. Such as the existence, and use, of ghci.

If you are mentioning ghci at the start then maybe show the examples as run in ghci. Or, if you prefer files, then explain how to run a file from the command line.

<comment><USER6> Yeah, the statement at the top that "you can run most of these examples in ghci" really tripped me up. On one hand, it gave me the clue that the haskell REPL is called "ghci", so I just went to my ubuntu box and typed "ghci" and got told I needed to install "ghc", which I did and was on my way. On the other hand, the examples weren't actually able to be run in ghci. :/

<comment><USER14> What you can do is:

1\. paste all (well most, I haven't verified it to say all) of the functions in "anyfile.hs" 2\. cd to the same directory as anyfile.hs in terminal 3\. open ghci 4\. :load anyfile.hs 5\. Play with the functions!

</comment></comment></comment></comment></comment><comment><USER15> Every time I see Haskell I am reminded of programming in Forth for some reason.

<comment><USER14> Perhaps because of point free style?

</comment></comment><comment><USER16> Why is it not n! ?

<comment><USER17> There will be n! of the smallest heads, the ones which don't spawn any new heads. Total heads, though, will be 9 + 9 * 8 + 9 * 8 * 7 + ...

<comment><USER16> aargh, of course... thanks!</comment></comment></comment>


Jetbrains: The unicorn Silicon Valley doesn't like to talk about - <AUTHOR> http://movingfulcrum.com/jetbrains-the-unicorn-silicon-valley-doesnt-like-to-talk-about/ <comment><USER2> There are a bunch of these "quiet unicorns" sitting around, getting little SV press but lots of money and lots of impact.

Another one that often sticks out for me is WordPress. I remember running some analyses over the whole web (first within Google as a side-effect of some work I was doing there, and then after I left Google with the Common Crawl corpus) that indicated that roughly 10% of the web is Wordpress. That's _billions_ of sites. As a proportion of content created, they're bigger than Facebook and bigger than Twitter. But because they're privately held and have taken no outside capital, they have zero incentive to publicize this. I've heard of people becoming millionaires _writing WordPress plugins_ \- not even working for them, but just contributing to the ecosystem.

GitHub was in this category until they took VC from a16z, as well, and Atlassian before they went public. I sometimes wonder how many of the "little" sites I use routinely (eg. bahiker, PadMapper, Paletton) secretly generate huge revenues. When formerly-unfunded-but-widely-trafficked sites like PlentyOfFish or Imgur get valuation events, they're often stupidly high (eg. $575M for PlentyOfFish and $200M+ for Imgur).

</comment><comment><USER3> From an investor perspective this reminds me of the type of company Warren Buffet would invest in (if he invested in tech). Steady, focused, easily understood. Highly useful product.

The only thing I quibble with is the knock against enterprise sales. Jetbrains may not need that, but some enterprise software does, especially if it's complex software touching a lot of non-technical stakeholders, not something a user can just download and get started with himself.

I think the "no sales" model works well with strong products sold to technical users who can figure it out on their own (and in fact prefer to figure it out on their own).

</comment><comment><USER4> And it sits in Prague, Czech Republic.

<comment><USER5> Head office there, right.

But main development happens in St. Petersburg and Moscow, co-founders are Russian as well.

</comment></comment><comment><USER6> I certainly like Jetbrains, but is it a "unicorn"? I doubt it has a billion dollar valuation - not least because it is a private company.

</comment><comment><USER7> Jetbrains is pretty much the opposite of a unicorn. It's small and probably won't grow much more (even if they get 100% of the dev tools market, the market is not that big), self-funded, and profitable. Intellij is a quality code editor, and surely better than Eclipse, but the next Google, this ain't.

There are a lot of small businesses selling software. For example, FogBugz, Coverity, Synplify, etc. etc. You don't hear a lot about them because... honestly they're not that interesting compared to companies that are trying to take over the world or go out in a flaming wreck. Would you rather read about some middle class dude carefully building his small business, or about the offensive comments an Uber exec made during a drunken stupor in SF?

<comment><USER8> Well if you believe tech is the future, and they own infrastructure, they own the future.

Bit of a dramatic formulation, but they do or will wield significant influence, even though they'll probably never be within the sight of the general public.</comment></comment>


A High-End Mover Dishes on Truckstop Hierarchy, Rich People, and Moby Dick - <AUTHOR> https://longreads.com/2017/09/21/a-high-end-mover-dishes-on-truckstop-hierarchy-rich-people-and-moby-dick/amp/ <comment><USER2> This article is an excerpt from the book, which I thought was a great read - very well paced.

There's more money in corporate relocations and military moves than I would have expected.

My big takeaway from it wasn't anything to do with trucking (the author is a professional house mover) - it was about the accumulation of stuff and how the mover took down all of this heavy furniture for customers from the northern states to Florida, only to find that they didn't really want their old stuff down there anyway.

<comment><USER3> Companies are paying less and less for big expensive corporate moves. Many household good drivers don't actually make that much money when it's all said and done (and it's very hard work).

I do like his descriptions of the art of packing a trailer. It really is a thing of beauty [0].

[0][https://www.movebuddha.com/blog/moving-cross-country- cost/](https://www.movebuddha.com/blog/moving-cross-country-cost/)

<comment><USER4> I used to load trailers for RPS, which became FedEx Ground. Described it to people the same way, too - "like real-life Tetris." Only it was even more like Tetris because of the time pressure and randomness. If you waited too long trying to build the perfect tier your chute might fill up, triggering a sensor that stops the whole line, and earns you derision from the other handlers and a visit from the manager to see what's wrong.

And we didn't have an idea of the complete contents in our heads ahead of time either; we just had to deal with whatever came down the chute one piece at a time. (Though you might be able to store 5-6 pieces off to the side, but that gets clumsy fast.)

One strategy to try to accommodate that randomness would be to have a lower row for one size-range, progressing horizontally, then another row on top of that in the same tier, for some other size-range. Going even further you could even start a second tier in front of that, with two more sizes. But that also could screw you if the one in front (or on top) starts to get too far ahead of the one behind (or on the bottom). Then you're back to setting packages aside and tripping on shit...

<comment><USER5> That's interesting! How did the items get into the chute? Is there any possibility that someone could have used some software to simulate the packing problem and then organize the sequence of incoming items in order to make them more easily packable?

<comment><USER4> Oh that would be brilliant - as far as I know it was whatever order they came off of the truck they were unloaded from. Basically up at the top of the building near the roof was a conveyor belt running a rectangular or oval path around the building. It was fed from another wing where incoming stuff was unloaded onto it. All the chutes were connected to it, leading down to the various truck bays where outbound trailers were parked. Barcode readers up top would read each package's destination, and when it got to the right chute, a mechanical arm would push it into the chute. Actually worked surprisingly well, in retrospect (this was the mid-90s).

You'd have to get full dimensional info about each package... probably not that hard. But to change the order, you've now got a storage problem. Where previously your analysis was confined to just one package, now you're dealing with groups of N packages, and depending how far you want to take the optimization, N could be as big as "all packages destined for that truck." So maybe you have some kind of sort area between the inbound & outbound areas. Or maybe you use the conveyor itself as the storage - i.e. if something is out of order, it just makes a circuit around the building until its turn comes. That would probably require a bigger/longer conveyor, and to compensate for lower "density" of chute-appropriate packages, it would have to move faster.

Suddenly this seems akin to the problem of optimizing spinning disc drives, starting from slow ones in the old days and moving forward. What you're essentially calling for is something akin to random access, but instead of bytes we're accessing packages!

Edit: Or the hybrid version: you create multiple, smaller sorting areas somehow, one for each bay, located near the bay.

<comment><USER5> Sounds like a pretty fun set of problems!

</comment></comment></comment></comment></comment></comment><comment> le-mark _A lot of criticism about movers has to do with how claims are handled. Moving companies require considerable documentation before paying a claim. Do you know why? It's because so many people file bogus claims._

Many people don't know, but the (US) military pays for professional movers of this caliber. I used to know a guy who would ship 10 busted tv's (cathode ray tube) and put in claims for all of them every time he changed duty stations. It was an easy $2000 check each time. Apparently the movers can't turn on electronics before or after a move due to the potential for condensation to damage the electronics. This was a while ago, so I don't know if this is actually true or not.

<comment><USER6> They may now, but they didn't always. I grew up military, moving every 3-4 years, and it was always a fear filled game of anticipation when we finally got our stuff - sometimes weeks later. We had movers completely destroy some of our stuff, "lose" expensive electronics, the exact opposite of what this guy is talking about re: professionalism and claims.

<comment><USER7> I remember my older brother being moved by professionals when he was in the Navy. They came in and packed everything up including the waste basket by a desk... with all the paper trash in it. There was one thing damaged, which they told him about. His motorcycle fell over during the move and had a slight dent in the fuel tank. He looked at it and told them not to worry about it since he had a larger one on the other side.

He was really impressed with their services and if I ever use professional movers, I'd want folks like that.

</comment></comment></comment><comment><USER8> My father was a long haul furniture mover for 35 years. This article was spot on from stories I have heard...as well as what I saw riding along with him and working for a month. Freight haulers tend to disrespect the furniture movers quite often and the furniture movers tend to view the freight haulers as lazy since they don't load their own trucks.

It is a difficult business...very physically demanding. What finally ended my father's driving career was 3 back surgeries in a 10 year span. They finally had to tell him that not only could he not load his own truck anymore (he still did after the first 2) but that he could no longer sit for long periods of time just to drive.

He amassed over 1M safe driving miles at the end. After that he went on to drive school buses so at least his skills were still put to use.

</comment><comment><USER9> Good story. I worked in moving as well Once Upon A Time. We didn't do the super-high-end work or long-distance driving that this guy did, but the packing stories are about the same.

There is a lot of skill to packing a moving truck well and quickly. It may not seem like it at the time, but we occasionally got these cross-load jobs where you could really tell. That's when a U-Haul that a customer packed broke down, and U-Haul would get them a new truck and pay for movers to move their stuff to the new truck. Almost all of them are pretty loosely packed by our standards, and can be transferred in an hour or two. We did get one where the customers had spent ~3 days packing everything into their truck. It was pretty chaotic, but the had sure enough filled every nook and cranny. I was kinda proud that we got everything except 3 medium-sized pieces into the new truck in about 5 hours.

The full-pack jobs are usually only done by either the elderly, or people who have someone else paying for their move. It gets expensive, what with paying for people's time to pack things, and paying for new, high-quality packing materials. It's mostly easy work, though, and you at least don't have to deal with boxes that are falling apart, badly taped, badly packed, not enough stuff inside and so crush with anything on top of them, too much stuff and impossible to lift or hold together, 50 slightly different sizes that don't pack together well because they got them secondhand from all over the city, etc. And dishes and other fragile items actually get packed properly and don't get smashed up if you look at the box funny.

<comment><USER10> I've moved cross-country twice and was fortunate enough to have both moves paid for, including packing.

Professional packers are amazing. The first time was two guys to pack a 1,200 sq ft apartment, the second time three guys to pack a 1,500 sq ft home. Both times they were done in less than a half day.

The only "unfortunate" part is you end up moving crap you probably should've sold or tossed. Having to pack and/or move your own stuff is a great motivator to prune.

<comment><USER9> That's the trade-off all right. A lot of the extra time that you spend packing your own stuff is looking at every single thing and deciding whether you really want to move it, or sell it or trash it instead. It's a lot faster to just pack everything without having to think about that. Having all of the boxes of the right types and all of the packing paper that you need at hand helps too.

But then, yeah, you do end up with a lot of stuff you don't need if you aren't forced to prune like this ever so often.

</comment></comment></comment><comment><USER11> What a great read. Insta-buy. I'm always fascinated to hear such detailed, even loving, stories from other people's lives and careers - and this one is so well written and obviously passionate that I can't wait to hear more. Thanks!

</comment><comment><USER12> The 3hrs sleep story at the end - all the chat about not wanting to wipe people out, but the machismo still leaks and exposes us all to a red eyed twitch monster herding forty mega joules.

</comment><comment><USER13> Reminds me of John McPhee's "A Fleet of One"

[https://www.newyorker.com/magazine/2003/02/17/a-fleet-of- one](https://www.newyorker.com/magazine/2003/02/17/a-fleet-of-one)

<comment><USER14> He mentioned that exact quote in the article...

</comment></comment><comment><USER15> Every time I have to move I start fantasizing about living with very, very little stuff. The question is, how little?

I happily lived with a couple of suitcases of stuff in college, but that didn't include any furniture or kitchen gear.

</comment><comment><USER16> Statements like this make me cringe:

> I've cost them time and money going down the hill. It's a macho thing. Drive > the hills as fast as you can and be damn sure to humiliate any sonofabitch > who's got brains enough to respect the mountains.

It's unfortunate that trucking is one of the last middle class industries left in the US. We need jobs like this, but at the same time I can't wait for automation to take the human factor out of this equation.

<comment><USER17> I hate drivers who go slow down mountains, especially in cars. They need to use the turn outs and let better skilled drivers pass them. It has nothing to do with gender or machismo, if you can't handle your vehicle at a reasonable speed you have no business on the road blocking other people.

<comment><USER18> If someone feels safer driving slowly they are completely in their right to do so even if it is a detriment to others. They should if at all possible let others pass them and definitely not prevent such passings but it is not always possible for them to do so, and they may not know the road as well as you do to know in advance about some stop they could take to release the pressure.

I'm not usually one of the slow drivers and I do get annoyed at the slow drivers when I can't pass them but I will still keep my distance and avoid trolling them with horns, lights or otherwise. The road is for everyone and some will be slower than me and some will be faster.

<comment><USER19> > I'm not usually one of the slow drivers and I do get annoyed at the slow > drivers when I can't pass them but I will still keep my distance and avoid > trolling them with horns, lights or otherwise. The road is for everyone and > some will be slower than me and some will be faster.

It's certainly their right to drive slowly, but in Washington state it is _not_ their right to delay others:

> Slow-moving vehicle to pull off roadway.

> On a two-lane highway where passing is unsafe because of traffic in the > opposite direction or other conditions, a slow moving vehicle, behind which > five or more vehicles are formed in a line, shall turn off the roadway > wherever sufficient area for a safe turn-out exists, in order to permit the > vehicles following to proceed. As used in this section a slow moving vehicle > is one which is proceeding at a rate of speed less than the normal flow of > traffic at the particular time and place.

[https://app.leg.wa.gov/rcw/default.aspx?cite=46.61.427](https://app.leg.wa.gov/rcw/default.aspx?cite=46.61.427)

<comment><USER18> I am not living in the US and am not aware of these laws, but they do make sense in the wording above.

In the story these comments refer to the driver had no real place to stop his truck and I believe he was justified in going slow on a rainy/slushy road in a heavy track on a decline.

If you are driving slowly you should be letting others pass you whenever possible. I'm actually quite amazed that you actually need laws for that (not that our drivers are better in any way, it is just common sense).

<comment><USER19> Sure, sorry, I wasn't aiming to criticize the driver in the overall post -- my comment was solely aimed at the drivers described in the quoted passage from the prior comment :)

For most vehicles, on most roads, opportunities to allow others to pass safely appear with reasonable regularity. Despite this law, in my experience most slow drivers choose to entirely ignore those opportunities.

</comment></comment></comment></comment></comment></comment><comment><USER20> This was a well written and interesting piece - you could see professionalism shining through, even through his fear of the things he could not control.

Very good

</comment><comment><USER21> As a non-native english speaker I found it imposible to parse the sentence in the title.

<comment><USER22> "Dish" colloquialism for "talk about"

<comment><USER23> But typically you specifically "dish the dirt". "Dish" on its own is not a valid verb, at least not in the version of English I speak. I don't know why.

(Interestingly, OS X's Dictionary app says that a Britishism is to use "dish" as a verb meaning "destroy or defeat". Don't recall ever hearing this, though...)

<comment><USER24> "Dish" as a verb indicating gossip _is_ informal, but according to Merriam- Webster ([https://www.merriam- webster.com/dictionary/dish](https://www.merriam-webster.com/dictionary/dish) \+ scroll down), it can be both a transitive and intransitive verb (i.e., used with an object, or not).

</comment></comment></comment></comment><comment><USER25> Man, that was so good. Thank you for sharing.

</comment><comment><USER26> "Loveland Pass, Colorado, on US Route 6 summits at 11,991 feet. That's where I'm headed, having decided to skip the congestion at the Eisenhower Tunnel. Going up a steep grade is never as bad as going down, though negotiating thirty-five tons of tractor-trailer around the hairpin turns is a bit of a challenge."

This sounds to me like he took a more dangerous route to avoid traffic. There should probably be a fine or some other deterrent for taking a dangerous route if you don't absolutely have to. He risked the lives of not only himself, but anyone else on that road.

<comment><USER26> I'll admit I've never been to Colorado, but I understand there's no way to avoid steep grades in the mountains.

Thanks for the downvotes.

<comment><USER19> > I understand there's no way to avoid steep grades in the mountains.

Sure, but your original post assumed he took the more dangerous route. The interstate through the tunnel is no picnic either, and I'd argue it's a tossup whether going through there with all of the cars and other trucks is actually safer than Loveland.

You made an assumption based on experience you don't have that was critical of someone who does this for a living -- in fact, suggesting that the choice made by said person should carry a penalty! _That_ is why you're seeing downvotes.

<comment><USER26> I was going off of what was presented in the text. Guess I'm not allowed to have an opinion unless I've done extensive research.

Y'all are making me feel really welcome here.

<comment><USER19> If you want to propose punitive legal remedies for the actions of others, yes, you should do your research.</comment></comment></comment></comment></comment>


Google Flights will now tell you when fares will increase - <AUTHOR> https://techcrunch.com/2016/10/17/google-flights-will-now-tell-you-when-fares-will-increase-help-you-find-cheaper-tickets/ <comment><USER2> I'm curious, how does one gain access to flight schedules/fares? Is this something that anyone can get their hands on and create a service (complexity aside), or do you need some sort of license that costs thousands of dollars?

Does each airline have their own way of exporting this data? Is there a single entity that aggregates from all of them? How does the actual data look like? (Is it a dump every X hours, or something more modern like a stream you can subscribe to?).

<comment><USER3> Fares and rules come from ATPCO ([http://atpco.net](http://atpco.net)). Flights come from OAG ([http://www.oag.com](http://www.oag.com)). Seat availability requires data directly from the carrier, usually via a live query to the carrier's reservation system.

The GDS companies get this data from these sources and then in turn provide (crappy) APIs for customers to use to query it.

In general, if you're doing bookings you can get small amounts of the data (a query at a time) from a GDS. Otherwise you're looking at millions of dollars per year. And then you need to write code to parse it and price tickets using it (approximately 1M LoC if you're terse about it -- more like 30M if you're a GDS).

(I know all this because I co-founded ITA Software, whose software now powers Google Flights.)

<comment><USER4> Thank you for building ITA Matrix - it is amazing tool and I don't know what I would do without it.

<comment><USER5> > Thank you for building ITA Matrix - it is amazing tool and I don't know what > I would do without it.

Honest question (I swear I'm not trying to troll): what do you actually do with it that you can't do (or do as well as) with Google Flights or Kayak or some other site like that?

I ask because I've used ITA Matrix and never managed to find a cheaper flight than I can through "normal" means... but I rarely fly multi-destination (and basically never do more complicated stuff) so I'm not sure if the use case is beyond mine or if I just don't know how to utilize it in a useful manner.

<comment><USER6> \- Time bars (incredibly handy for optimising for things like tight connections, which can be essential when flying international and missing a connection means being stranded for a day): [https://i.imgur.com/RteViUF.png](https://i.imgur.com/RteViUF.png)

\- Multiple departure/destination airports (you can search SFO,SJC,OAK to LGB,LAX,SNA and back in a single search). To be fair Google supports this on desktop too (but doesn't on mobile).

\- Better search for return flights with variable stay lengths (Google only does a 5x5 matrix, ITA Matrix does a full month).

However, perhaps the biggest downside is that you can't actually book through ITA Matrix. It only finds the fare, you have to find it elsewhere to actually buy it (although Hipmunk takes routing codes, which makes it easier)

</comment></comment></comment></comment></comment><comment><USER7> Bing Travel had predictions for fare fluctuations for air tickets back in 2009. It was pretty awesome back when I flied a lot, but they apparently killed the feature in 2014. Now Google's bringing it back, two years later.

I don't understand the future sometimes. ¯\\(°_o)/¯

<comment><USER8> Similarly, the article mentions that Google Flights is now more closely competing with Hopper, a mobile app for finding flights. Hopper already offers this price prediction service, and it is powered by Sabre's price prediction API: [https://developer.sabre.com/docs/read/rest_apis/air/intellig...](https://developer.sabre.com/docs/read/rest_apis/air/intelligence/low_fare_forecast)

Disclosure: I own another competing flight search tool, [https://concorde.io](https://concorde.io)

<comment><USER9> Well from what I have seen this only says when prices are going up, not down - so it's not that close.

<comment><USER8> From the first sentence of the API docs:

> _The Low Fare Forecast (beta) API forecasts whether the lowest published > fare will rise, fall or stay the same within the next 7 days._

</comment></comment></comment></comment><comment><USER10> I almost never use anything other google flights when searching for a ticket. The UI is just so much better and easier to use than the ridiculous bloated crap that most travel sites are (especially when they are trying to shove car- rental and hotel deals in your face).

The one drawback is sometimes they are missing local / smaller airlines from their list of flights (which can be a major price difference from the major ones) on short flights.

<comment><USER11> Almost all flight searching / pricing tools have comically bad user interfaces. It's as if the product designers at these companies deliberately went out of their way to limit my options and make me search over and over and over and over.

When's a cheap day to fly to and return from Las Vegas? Sorry. Can't answer that, you need to specify the exact day you want to depart and the exact day you want to come back, and we might let you look at results + or - 3 days, unless you don't specify the exact departure airport.

These sites all seem to be geared toward business travelers who must travel on particular days from and to particular airports. Anything off that beaten path is an exercise in frustration.

<comment><USER12> >These sites all seem to be geared toward business travelers who must travel on particular days from and to particular airports.

Yep. They're pretty clearly designed for the 99% or so case and just (ungracefully) throw their hands in the air for the other 1% or so.

As you say, it's hard to really make the system do the work around finding a cheap flight within a set of parameters.

I've also spent hours booking complicated multi-destination flights, especially in Asia when you need to use multiple carriers. Simply booking as a series of one-way flights can end up costing thousands of dollars more than something more optimized. So you need to end up manually trying various combinations of one-way and round-trip flights and then piecing together the separate itineraries at the end.

<comment><USER13> That's the exact sort of scenario you would want a travel agent for--if you can trust the agent to get a good fare.

<comment><USER12> Yeah. I actually have broken down and used our company travel service for this. Then at least it's out of my hands. But usually I have too much sunk cost :-) and have sufficient preferences that I just motor through on my own.

</comment></comment></comment></comment></comment><comment><USER14> I've searched with Google Flights a few times, but they are consistently more expensive than the flights I find with other services (Hipmunk, specifically). Has anyone else noticed this before, too?

Does anyone know why the prices would be that much different? For the searches I've done, Google Flights is close to $150 more than what Hipmunk shows. Does Hipmunk maybe just have some sort of promo or lower price that Google Flights can't offer?

EDIT: This curiosity also relates to what "karakal" is asking in their comment: [https://news.ycombinator.com/item?id=12736433](https://news.ycombinator.com/item?id=12736433) \- Like is this data just universal or do some services get better deals than others?

<comment><USER15> Are you finding the same specific flights have different prices on the two services, or are you finding that Hipmunk is able to find flights that Google doesn't?

(Disclaimer: I work for Google, on an unrelated project.)

<comment><USER14> Good question. I haven't gone as far as seeing if a specific flight has a different price or not. It is, however, from the same airline that Hipmunk has a lower price for. I do know that. I'm not sure if it's the same specific flight or not, though. I can look into it more...

In general, I based my original comment on what Google Flights show as the "Best Price" vs what Hipmunk is showing as "Best Price." And there isn't any filters on either platform that would be quick to explain why the huge price difference.

</comment></comment></comment><comment><USER16> Will Google Flights tell you if prices are going to decrease in the near future too? You would generally think if they can predict one direction, then they can predict the opposite. However, telling someone that a cheaper flight may exist in the future is going to convince them to leave the site and possibly not come back.

</comment><comment><USER17> Doesn't Kayak do they same thing? They have the wait buy stuff too.

However my favorite site now days skiplagged. The site united try to sue.

</comment><comment><USER18> I love the interface of Google flights, but I can usually find cheaper tickets elsewhere (usually on skyscanner). I've no idea how ticket pricing works and why one site can be so much cheaper than others, but skyscanner is usually 15-20% cheaper on international flights for me.

<comment><USER19> Skyscanner also has more airlines than google flights, if I remember correctly. I don't think google flights shows southwest flights, but skyscanner does. I have no idea why.

</comment></comment><comment><USER20> I take it they do not factor in currency, which would be factor if paying via credit card and exchange rates change if paying in another currency than home.

That would be I feel very dynamic in part, though still something that plays more of a factor in price than other aspects.

I'm not sure how much Airlines adjust for that and given all fuel is ties tot he USD($) then more a factor for non USD pricing with the exchange rate of the USD.

Now a feature that monitored that and fuel cost changes could potentially give people a heads up before the airlines adjust and might be a good feature.

Though I can count the number of flights I have taken on my hands, so not that afay with the dynamics Airlines use to adjust prices and the frequency.

</comment><comment><USER21> Almost every site offers this. Isn't this unhelpful in the last ng run? Consumer behavior will change and the price will smooth out or the window of lower prices will be gone or the percentage of change will become smaller.

<comment><USER22> It might be unhelpful to the users who know how to take advantage of the current system, but hopefully the net impact will be greater price transparency, which helps consumers in the long run; people will pay more for things which cost the airline more, but not for arbitrary reasons like booking too early.

In general, flight pricing seems rather opaque; I'm always confused by flights from city A to city B that are more expensive than flights from city A to city C with a layover in city B. I'm all for more transparency of the air travel market.

<comment><USER23> The problem is that there is no single price at which you can fill the plane enough and cover expenses. Set the price too low and your plane fills up but your costs are not covered. Set your price too high and you have so many empty seats that even with the handful of people paying outrageous prices you can't cover the cost of crew, fuel, and ground services. This means you have to sell some tickets at low prices, to attract the masses, and some tickets at high prices, to cover expenses. But now you have the problem of trying to prevent the people who can afford and are willing to buy expensive tickets from using the cheap fares. This is what leads to all the obscure rules about saturday night stays and layover impact and time of booking and whatnot. For a lot more info on this, see [http://www.demarcken.org/carl/papers/ITA-software-travel- com...](http://www.demarcken.org/carl/papers/ITA-software-travel- complexity/ITA-software-travel-complexity.pdf)

Interestingly, low-fare airlines have tried working around the problem by setting prices super low, such that they lose money on each flight by default, but making it up in auxiliary services - either selling addons that cost them nothing on margin to implement (priority boarding, early checkin, seat selection), upselling external high-margin services (car rental, hotel bookings, airport transfer services, insurance, phone cards) or directly extracting money from customers (obtrusive advertising, in-flight sales pitches, extremely punitive charges for baggage/airport checkin/over-weight fees/not following obscure rules). This seems more sustainable than the traditional approach of customer price segmentation if price transparency increases over time.

</comment></comment></comment><comment><USER24> I wish the time horizon on this matched the time horizon on which tickets are available. It seems to be about a month short when I compare to directly shopping for flights on airline websites.

Granted that shouldn't matter quite as much for the "when will fares increase" question, since they have to have a baseline to evaluate the increase magnitude, but it sure matters simply for the "I'm planning to fly in for a popular event a year from now and I know tickets are being snapped up so I want to compare fares for flights as soon as they become orderable" scenario.

</comment><comment><USER25> Is this actual new information it is revealing, or just a way of presenting what had been available in the form of the time vs. price bar-graph that it has had since ancient times.

The bar-graph had been hidden from the usual UI by decree of UX designers (Maths is hard!), but was always available as a kind of easter-egg.

Perhaps this feature is the compromise?

</comment><comment><USER26> Speaking of fares going up, has anyone else noticed fares going up on Google Flights, soon after searching for them?

</comment><comment><USER27> Fun fact: its search for railway-connections in Germany is by far better than the original site (Deutsche Bahn).

</comment><comment><USER28> The title is a little misleading. The screenshot shows that Google is showing that "prices will likely increase" which is different than the "fares will increase" in the title. "fares might increase" would be more appropriate here.

<comment><USER15> Are you trying to draw a distinction between "prices" and "fares", or just "will likely" vs "will"?

<comment><USER28> "will likely" vs "will"

</comment></comment></comment><comment><USER29> As a once frequent Farecast user I was initially excited about this, but realized that for the most part airfarewatchdog has completely replaced this use case in my life.

</comment><comment><USER30> I wonder if the airlines will start gaming thing. Seeing what people are being told and doing the opposite to catch them off guard.

<comment><USER10> I've had the experience of switching from a localized google to google.com/ncr and had ticket prices drop ~4X. I think airlines already try to game the system based on country of origin.

<comment><USER31> +1 for [https://google.com/ncr](https://google.com/ncr) is the first thing I do on any browser.

\- Latest version of Google Images

\- Better Google Search results

\- etc. etc.

<comment><USER19> What does /ncr do? I'm having a hilariously difficult time googling for it because I usually google straight from the omni bar.

<comment><USER32> "No Country Redirect", I believe. Specifies to avoid geolocation

</comment></comment></comment></comment></comment><comment><USER33> I have time series data from over a thousand gas stations. How can I forecast the price of gas?

<comment><USER34> If that is all you have then you can't. (Unless you want to try seasonal forecasting, which seems like a bad idea in this case)

<comment><USER33> This is the average price from my city, which moves in cycles: [https://www.accc.gov.au/sites/default/files/fuelwatch/sydney...](https://www.accc.gov.au/sites/default/files/fuelwatch/sydney-e10.png)

The baseline price is also related to the wholesale price of fuel, which is publically available.

It seems like it should be possible to forecast prices.

</comment></comment></comment><comment><USER35> Will it help predict when mistakes are most likely to occur? The $30 RT EWR to HNL?

</comment><comment><USER36> How hard is it to create a website like Kayak.com?

</comment><comment><USER37> been using google flights for 1+ years now, it's great! beat all other alternatives for me.

</comment><comment><USER38> flights.google.com has been doing it for at least a week or two already.

I haven't seen it, but I hope that it also tells you 'when fares will decrease'.

</comment><comment><USER39> I wish they released a native app. A web app is great in concept, but for the actual research and actually _committing_ to buying the tickets a native app is preferable.

<comment><USER40> Why?</comment></comment>