Hextris - <AUTHOR> http://hextris.github.io/hextris/

<comment><USER3> Cool game! A few notes:

I think your choice of license may be incompatible with the GitHub terms of service--there's an implied right to fork by using GitHub, but your license states no derivatives are allowed. IANAL, but something to look into: [https://help.github.com/articles/open-source- licensing](https://help.github.com/articles/open-source-licensing)

As I mentioned in another comment, it's pretty slow under Firefox.

Lastly, the game is quite pretty, but I feel that since the gameplay involved is so precise, the imprecise visuals can be confusing. It's hard to tell exactly when a piece is going to set in place, when a group is eliminated, what would happen if you rotate and a piece is blocked by a stack already in place, etc. I went by pure geometry at first, but I definitely got bitten a few times where a piece moved after I thought it was in place, or a piece didn't get eliminated with the rest of a group since it hadn't fully landed in its column. The collision animations don't quite help there either.

<comment><USER4> You raise an interesting point about licence compatibility with Github's T&Cs, although it's no longer relevant to this project because the licence has been changed to the GPL v3. To quote the relevant part:

" _By setting your repositories to be viewed publicly, you agree to allow others to view and fork your repositories._ "

However, there's no further mention of the word "fork" in the T&Cs. Simply forking a repository does not imply that a derivative work has been created. A fork is simply a verbatim copy.

To create a derivative work, someone would need to both fork and then _commit a change back to that fork_. Of course, it's sort of implied through common (imprecise) use of the word that this is what it's intended to mean, but it's not actually what it says.

While I'm not a lawyer, I believe that a more precisely-worded licence in the repository would take precedence over the ambiguously worded T&Cs. However, Github could at any time clarify the T&Cs to more clearly state that forking does imply creation of derivatives. And as with most online services, if the terms do get changed, " _Continued use of the Service after any such changes shall constitute your consent to such changes._ "

<comment><USER5> Some people fork repos to have a reliable reference to a specific git repo.

I've been bitten in the past when a user deleted their account or changed their name and my references broke.

</comment></comment></comment><comment><USER6> It gets too fast - if it had a limit to how fast it got then it could go on forever but with it as it currently is there are limits to how high your score can get before it is too fast for you to be able to react and once you reach that score you aren't very motivated to keep playing.

I'm struggling to beat 5863

<comment><USER7> this. After a while it goes so fast I have no clue what I'm doing anymore and it's not that much fun anymore :P Maybe make the overal acceleration a bit slower?

Btw the speed seems to depend on the machine you play it on. On my wife's close to 10 year old laptop it's way slower than on mine. But the rotation is still fast enough, so scores are higher. She's at 20000 now and the speed is roughly similar to what I get at 1000 points. Old hardware FTW.

<comment><USER8> Maybe depends on the hardware. On a new-ish MacBook pro, it gets too fast to play after 2 minutes or so. A game programming best practice is to hang your game logic and drawing off a timer that runs the same speed regardless of hardware, so it's not too fast on new computers and too slow on old ones.

</comment></comment></comment><comment><USER9> This is more Hex Puyo Puyo than Hex Tetris.

[http://en.wikipedia.org/wiki/Puyo_Puyo_(series)#Gameplay](http://en.wikipedia.org/wiki/Puyo_Puyo_\(series\)#Gameplay)

<comment><USER10> HexKlax

<comment><USER11> It is the 2010s and there's always time for it!

</comment></comment></comment><comment><USER12> Interesting idea.

One quick criticism:

I played a couple times and maxed out around 700pts. Then played a game where I didn't touch a single key -- no rotation whatsoever -- and managed to score 3292pts.

I'm not sure what this indicates, but it feels off.

<comment><USER13> That's a valid criticism - I don't know how it could be fixed.

Maybe more colors could be added? Game balance has been really tricky with this game, as changes play out very differently on mobile devices and "real computers."

<comment><USER14> More colors seems like the obvious way to increase the difficulty as the user levels-up. With only four colors, random play is quite likely to get a match-- the odds of a randomly selected tile matching a given tile is going to be 1 in 4.

From a cursory look (my math may be a little off) it seems like the odds of a tile matching at least one of its 4 cardinal-direction neighbors is ~57% (20 of 35 order-independent variations), and the odds of a tile matching 2 or more of its randomly selected neighbors is ~28%. In other words, with just random play you're going to get a match out of every `+` shaped collection of 5 tiles nearly 1/3rd of the time. Factoring the three-in-a row possibility the odds of a match will go up from there. (And since a match will eliminate several tiles of given color, the odds of getting a match on the "chain reaction" must also be quite high.)

</comment></comment></comment><comment><USER15> I'm surprised that no one has mentioned Welltris[0]. I was pretty hooked on it at one point in my childhood. Fun implementation!

[0] [https://en.wikipedia.org/wiki/Welltris](https://en.wikipedia.org/wiki/Welltris)

<comment><USER16> My favorite variant was Frac.

3d version: [http://theodor.lauppert.ws/games/frac.htm](http://theodor.lauppert.ws/games/frac.htm)

4d version: [https://www.youtube.com/watch?v=Tzyws5ZkSYg](https://www.youtube.com/watch?v=Tzyws5ZkSYg)

</comment></comment><comment><USER17> Hey, excellent game! I'm sure I'll waste a lot of time on this, haha.

One feature that might be cool to have would be to make the gray background hexagon one block larger if you get four or five blocks in a row. That way, you'll be able to keep your ahead above water a little better when things really start to speed up. It would add another level of strategy and planning to the game.

Keep up the great work!

</comment><comment><USER18> Looks a lot like rotational... [https://itunes.apple.com/gb/app/rotational- unique-block-puzz...](https://itunes.apple.com/gb/app/rotational-unique-block- puzzle/id686485239)

<comment><USER19> Which in term looks a lot like QbQbQb [http://qbqbqb.rezoner.net/](http://qbqbqb.rezoner.net/)

</comment></comment><comment><USER20> "I wrote Hextris way back in 1990." \-- David Markley

[http://www.hextris.com/](http://www.hextris.com/)

Kind of misleading to use the name "Hextris" for what looks like a very different game. The original Hextris is 2D falling blocks exactly like Tetris, except that the world consists of hexagons, and so the pieces have six rotations. I played this like crazy for a brief time in the mid 1990's.

<comment><USER21> Same. I used to procrastinate and play Hextris for so long I'd enter a trance and zone out.

Remembered it recently and based my own game on hexagons!

</comment></comment><comment><USER22> It needs a 'drop brick' button.

<comment><USER13> We thought about adding that, but we weren't sure where we'd put it - <USER2> ideas?

<comment><USER23> Spacebar or tap the center?

<comment><USER22> Spacebar is a natural fit.

<comment><USER14> Or down arrow.

</comment></comment></comment></comment></comment><comment><USER24> It's great. I wish there was a color blind friendly version though!

<comment><USER25> This is exactly what I wanted to say. The colors chosen are _very_ difficult for me.

</comment></comment><comment><USER26> I quite like the idea but it's a little too buggy at the moment : \- Wildly varying performance (and thus difficulty) depending on which system/GPU combo is being used \- Key input stops responding on slow machines sometimes.

Having constant interval timing in your game engine is an absolute must have.

</comment><comment><USER27> I'd remove the reload button. I've hit it three times by accident already.

<comment><USER13> Hi, I'm one of the main developers of the game - I just made an issue for that on GitHub. I'll try to address it later this weekend - thanks!

</comment></comment><comment><USER28> Cool game, I got to 11079 points.

A few comments:

I think a key to drop faster would be a nice addition. The speed progression could be tweaked a bit. It's a bit boring until it gets faster, and it takes a while.

</comment><comment><USER29> Reminds me of the game "QbQbQb": [http://qbqbqb.rezoner.net/](http://qbqbqb.rezoner.net/)

I believe that game was made for a Ludum Dare originally.

</comment><comment><USER30> Fantastic idea. Beyond the feedback already given I wanted to commend you on the valid use of permissions on Android (just Wi-Fi). Very specific and reasonable for the game.

</comment><comment><USER31> Oh God, I'd only just got over my 2048 addiction...

</comment><comment><USER32> neat - this is a genuinely new twist on the colour-matching mechanic. sadly, i didn't find it as much fun as some of the others; i got no sense that i could build up a neat structure and then clear it in chunks (a la tetris), or set up and trigger cascades (a la columns). it was always just a matter of reacting to the current piece and putting it somewhere it would go away as soon as possible.

</comment><comment><USER33> Landscape mode would open up the screen quite a bit. Also, a high score board would be awesome.

Can't stop playing regardless.

</comment><comment><USER34> Hey guys, one of the developers here. We've heard many people talking about the differences in speed. Previously we had based speed on the framerate driven by request animframe. We realised this was a mistake so we've switched to time based now. It just got merged and should be updated in the apps pretty soon.

</comment><comment><USER35> Just one suggestion, get rid of the shaking. Completely disorienting. Imagine tetris with shake.

</comment><comment><USER36> Here we go. A new addiction. I was just free'd from 2048. Kudos. This is real fun.

</comment><comment><USER37> You might want to get some feedback on this Tetris chat site: [http://www.tetrisconcept.net/forum/index.html](http://www.tetrisconcept.net/forum/index.html)

</comment><comment><USER38> It's Tempest-ified Klax. Tempest saw Space Invaders as happening on a piece of paper. Tempest took that paper and turned it into a tube. That's very similar to what's happening here vs. the Klax gameplay.

</comment><comment><USER39> We did a game very similar to this for iOS called 'Cirqulous'. Check it out! (Nobody else did!)

[http://www.cirqulous.com/](http://www.cirqulous.com/)

<comment><USER40> Wow ! Thats a pretty cool game. I haven't gotten a chance to actually download and play this game yet, but a quick question : How do you actually decide what tile to spawn next ? Is that a chance that you spawn tiles so randomly that the player looses the game with no theoretical way of killing a circle ? How do you algorithmically ensure you simply 'up' the difficulty and not hit the above condition.

On the side note : The background music in the trailer seems heavily inspired from the mission impossible theme :)

</comment></comment><comment><USER41> Nice game! On an iphone I had my thumbs on either side of the hex, I find that I often hit the reset button with my left thumb, maybe move the controls to the top?

</comment><comment><USER42> This is pretty great. Playing it for 30 seconds stressed me out as much as Tetris does, so I immediately closed it. Definitely caught the heady essence of the original.

</comment><comment><USER43> Every time I get a glimpse of other people's phones I endeed up seeing crush candy saga and then 2048. let's see if hextris re-loaded will get a dent.

</comment><comment><USER44> When you click on the tweet button after you've finished a game, it might be worthwhile for the tweet text to contain the score a player just received.

</comment><comment><USER45> EXCELLENT.

Maybe a little walk through/instructions displayed for longer. Had to start over to quickly read again (was zoning out first time)

</comment><comment><USER46> Awesome (and addicting) games.

Also particularly impressive as the creator(s) seem to be high school students.

</comment><comment><USER47> I love this. I'm so glad there's still inspiration for simple refreshing games

</comment><comment><USER48> Fun! It's similar to the navigation puzzle in the online game Puzzle Pirates.

</comment><comment><USER49> Ha, my all time high was ~800,000. That is.. until someone changed the speed.

</comment><comment><USER50> FYI: Nothing is displayed if you don't accept the site's cookies.

</comment><comment><USER51> how about doing collapse check only after all of blocks that appeared at the same time have landed?

This would allow combos even if the pile heights are different.

</comment><comment><USER52> Coming up next: a bot that plays this automatically.

<comment><USER13> That'd be great! We were thinking of doing that for the homepage, but didn't find the time. I'd happily merge it in if someone were to make an AI for Hextris.

</comment></comment><comment><USER53> WHY HN?! Just when I was being productive again.

</comment><comment><USER54> Wow, that is seriously addictive! Love it.

</comment><comment><USER55> Great game! Thanks for sharing :D

</comment><comment><USER56> Love it! I'm terrible at it!

</comment><comment><USER57> Clone on App Store in 3, 2, 1 ...

<comment><USER58> Just look at all the titles mentioned in this thread of games that came out previously with similar ideas, all borrowing from others. The last original idea was the big bang and that was over 13 billion years ago.

</comment></comment><comment><USER59> This is awesome. I like it.

</comment><comment><USER60> Post your first try score! (and don't waste more time playing, if you can)

Mine: 3387

</comment><comment><USER61> Wow, a really awesome game!

It's the perfect mashup of Tetris and Super Hexagon.

</comment><comment><USER62> great game!, please make it multi-user (matches!)

</comment><comment><USER63> How can the iOs version weight only 4,7mb , i dont get it .

<comment><USER64> Most of the app bundle on iOS are various assets (.pngs, videos, sounds, etc). This looks like it's drawing everything in code, so the app bundle is really small.

Marco's new app, Overcast also has UI drawn almost entirely with code (all icons are generated with PaintCode [1]), and his app [2] is 4.5mb.

[1]: [http://www.paintcodeapp.com](http://www.paintcodeapp.com) [2]: [https://itunes.apple.com/pl/app/overcast-podcast- player/id88...](https://itunes.apple.com/pl/app/overcast-podcast- player/id888422857?mt=8)

<comment><USER65> Even that 4.5MB doesn't seem particularly small to me. Podkicker Pro, Android podcast client takes 2.15MB on my phone. App itself take 792KB, and feed metadata takes 1.38MB.

</comment></comment></comment><comment><USER66> it's time

for octagontris

</comment><comment><USER67> Now build it using Swift|Elexir|Haskell. :P

</comment><comment><USER68> Cool game!</comment>


Hekob – In-person photography classes that connect amateurs to experts - <AUTHOR> https://hekob.com/ <comment><AUTHOR> Leave your thoughts here. Would love to get ideas!</comment>


What's the shebang (#!) in Facebook and new Twitter URLs for? - <AUTHOR> http://stackoverflow.com/questions/3009380/whats-the-shebang-in-facebook-and-new-twitter-urls-for

<comment><USER3> To save an extra click, basically the only information in the stack overflow answer is: see <http://code.google.com/web/ajaxcrawling/>

<comment><USER4> Right.

By the way, the whole idea of Ajax Crawling as defined per Google struck me as wholly unnecessary. If you are using unobtrusive JavaScript, and HTML like so:

        @ev

with JavaScript adding a click handler such that a user's click on the above link actually only triggers an AJAX deal (FWIW, jQuery stub:)

        jQuery('a[href^=http://twitter.com/]').live('click', function(){
            // Do AJAXy thing instead, then
            return false;
         });

Then, assuming you serve up essentially the same content at /ev that you would display via AJAX, you have simultaneously just enabled your site for not only modern browsers, but also robots and dumb phone / JS-avoiding users. (And middle-clickers.) No goofy API required.

 _Edit_ I just realized, if you have links to `<http://twitter.com/#!ev`> in the wild, then the AJAX crawler thing becomes actually pretty useful.

<comment><USER5> Yeah, the links in the wild are the problem. Users have a habit of copying URLs from the URL bar, unfortunately.

I think Google could have done this better; they could have made it so all ajax URLs are crawlable (standard robots rules apply) as long as your site opts in, then you'd only have to support pretty URLs, something you probably have to do anyway.

For example, now twitter needs to support twitter.com/#!/ev and twitter.com/ev and twitter.com/?_escaped_fragment_=ev

<comment><USER6> _Users have a habit of copying URLs from the URL bar, unfortunately._

How else are people supposed to bookmark or share an URL in your opinion?

<comment><USER5> That was a joke. Our site and many others have explicit ways to get a non-ajax URL for sharing, but it is of course more convenient and more natural in a browser to just grab from the URL bar. It's unfortunate for us but not remotely unexpected.

<comment><USER7> This is where I'd expect the <link rel="canonical" href="blah" /> element to be used. With browsers using this as the preferred url for a bookmark - <USER2> maybe a service for sharing or copying urls from the browser that was easy to use.

<comment><USER4> That would break bookmarking a section of a long article.

</comment></comment></comment></comment></comment></comment></comment><comment><USER8> Interestingly enough, this is actually gone in browsers that implement the HTML5 History API: <http://www.facebook.com/note.php?note_id=438532093919>

For instance, use Chrome and browse around the site. You'll notice there are no hashed URLs.

The same thing is done on Flickr. Look at this page: [http://www.flickr.com/photos/timdorr/3707685058/in/set-72157...](http://www.flickr.com/photos/timdorr/3707685058/in/set-72157611340609280/) Now click on the sections under "This photo belongs to". As you expand them out, you'll notice that the URL in your address bar changes. This is particularly useful in Flickr because you can use the arrow keys to navigate through photos. And when you link to a page, your personal state might have been browsing through a set instead of a full photostream. This keeps the state intact when sending links to other people. It's a great usability feature.

</comment><comment><USER9> The #! declares to crawlers that a crawlable version of the page is also available from the server by replacing "#!" with "?_escaped_fragment=".

This mapping is needed because the fragment string is never passed to the server, so it has to be encoded elsewhere and the query section is the only available place.

The "!" is needed because otherwise crawlers would start fruitlessly hammering all the existing sites that use '#' but don't support the '?escaped_fragment=" hack.

<comment><USER10> Just wanted to point out that the query string var is "_escaped_fragment_" with a leading and trailing underscore.

</comment></comment><comment><USER11> This title is missing the !. A shebang is #!, a # is a hash. The OP has both chars.

<comment><USER12> Isn't that something HN does automatically?

edit: Yes, it does: <http://news.ycombinator.com/item?id=1799047>

<comment><USER11> That's kind of annoying. Is this some kind of code injection countermeasure?

<comment><USER13> I suspect it's just to prevent gratuitous exclamation points in submission titles. ("Best ever new app!" "You won't believe this!" etc.)

<comment><USER11> Heh, that sounds like something that should be a per-user option.

</comment></comment></comment></comment></comment><comment><USER14> "AJAX Crawling" is great, but the hash trick has been used with AJAX long before this to provide back button support in AJAX-heavy websites.

Before this technique was widespread, it was all too common to hit "Back" and be taken to the previous website you'd viewed, even if you'd viewed more than one page on the original site.

By changing the URL's fragment the website can add entries to the browser's history. That way when the user clicks Back the website can react appropriately, changing its state back one iteration. This preserves the expected behavior for the end user, while allowing the website to leverage the benefits of AJAX.

The shebang (#!) is merely a way to distinguish AJAX links from bookmarks, for the purpose of crawling.

<comment><USER15> > "AJAX Crawling" is great, but the hash trick has been used with AJAX long > before this to provide back button support in AJAX-heavy websites.

> Before this technique was widespread, it was all too common to hit "Back" > and be taken to the previous website you'd viewed, even if you'd viewed more > than one page on the original site.

Uh yes, the original poster of the question is aware of that:

> As far as I can recall, earlier this year it was just a normal URL-fragment- > like string (starting with #), without the exclamation mark.

His question was not about the hash, but specifically about the shebang.

</comment></comment><comment><USER16> Although it's a technical requirement in the current implementation of #newtwitter for the back button & crawling to work, I think part of the attraction of twitter was having your own simple URL. Now <http://twitter.com/ev> becomes <http://twitter.com/#!/ev>, which I can imagine confusing non-technical users.

<comment><USER17> <http://twitter.com/ev> still works though so its kind of a non-issue

<comment><USER16> It still works, but now you have two URLs for one resource, and when you go to the original URL it redirects you to the #! path, which judging from my timeline, people notice.

</comment></comment></comment><comment><USER18> The hash lets you change the URL without the browser actually switching pages, too. People can bookmark pages even though they're "fancy-loaded".

<comment><USER19> Yes. If you're using jQuery, Ben Alman's jQuery BBQ is great for this.

</comment></comment><comment><USER20> I asked that recently on Quora

[http://www.quora.com/Twitter-com-2010-Redesign/Why-did- they-...](http://www.quora.com/Twitter-com-2010-Redesign/Why-did-they- use-!-as-the-permalinks-in-the-new-Twitter)

There, a Twitter employee confirmed that they used the hashbang to comply with Google's proposal.

</comment><comment><USER21> I understand that it helps Google crawl, but this sure is an in-elegant solution from the perspective of end-users & URLs. Not cool.

<comment><USER22> What's old is new again. Some may recall the days of "bang addressing" to send email beyond a local site.

</comment></comment><comment><USER23> Interesting, I wonder if this can be used for Flash sites that do deep linking + SWFObject to show content to Google.

</comment><comment><USER24> Does anyone have suggestion on good practices to make an Ajax page crawler friendly? Since the anchor url (#) are generated on the fly by Javascript, how does the crawler know what anchor urls to follow given the parent page?

Are invisible urls (for archor urls) still frown upon by Google?

</comment><comment><USER25> I don't know about the ajax crawling answer, but I did that in one application to make the back/forward buttons and linking work with AJAX content.

It was a major PITA because you basically have to implement URL routing both client and server side.

<comment><USER26> Can you explain a bit more about your circumstances so that I can understand why you needed to interpret URLs and anchors on the server and the client?

The libraries I have used (jQTouch and Sammy) serve one single page and the client interprets the anchor. Thus, there is no need to implement URL routing on the server since you simply serve the application and let it route the URL.

When you change states on the client, instead of changing state and then changing the anchor, you change the anchor and that triggers an event which causes the client to interpret the URL and change its own state. Thus, there is only one piece of code, ever, that handles routing.

<comment><USER25> In my case I needed to be able to degrade gracefully when Javascript wasn't available, which meant I had to be able to do it server side as well. If you don't have to support that use case its definitely a lot easier.

<comment><USER26> THAT is a very good explanation, thanks!

p.s. If this happens to me, I expect I will extend my experimental Javascript view-controller framework so that it runs inside node.js. That way I could serve exactly the same content whether I was running in the browser or in node and I wouldn't need two sets of view logic.

<comment><USER25> Yes! I haven't gotten too excited about the whole "run the same code on the server and the client" aspect of Node (mind you I've been very excited about other aspects of it, its my new favorite framework/whatever-it-is), but this is one application where I really think that could be beneficial.

</comment></comment></comment></comment></comment><comment><USER27> So that's what it's like to have your SO reputation gain max out...

</comment><comment><USER28> interesting, I had not heard of this. It still does not play nice with curl, but seems a sensible idea.</comment>


Ask HN: Hackable wearable with HR monitor? - <AUTHOR> Is there any wearable currently available that provides:

  - All-day heart rate monitoring
  - Step counter and sleep tracking
  - Access to all relevant raw data?
 I currently own a Fitbit charge 2 which is terrible - the heart rate monitor is not even close and sleep tracking is wrong. I want to access the raw data so I can implement my own algorithms for e.g. sleep tracking, activity level, etc. Does anyone have experience doing this? <comment><USER2> "The heart rate monitor is not even close" sounds like a defective unit. Open a case at [https://help.fitbit.com/](https://help.fitbit.com/)

</comment><comment><USER3> I have a fitbit charge 2 its decent. it provides all the things you have listed as you know. [https://dev.fitbit.com/uk](https://dev.fitbit.com/uk) it has an api. knock yourself out</comment>


Ask HN: Which company do you think will survive longer, Google or Facebook? - <AUTHOR> Going by the increase in facebook's revenues, it seems it is likely to catch Google in operating profits very soon. Both companies have near monopoly in their domains. Which of these 2 do you think will manage to remain powerful longer? <comment><USER2> I'd bet on Google/Alphabet for sure.

1\. Product

Facebook is basically a giant directory. Google is a search engine.

Search engines are necessary to get any information anywhere. While Google doesn't have as much of a monopoly on this (i.e. Bing, Baidu, DDG), it is still the best by far and this alone is invaluable.

2\. Side products

Google has a lot of other killer side products - Waze, YouTube, self driving cars, Android. Facebook has... React, WhatsApp, and Instagram. Just Android alone gives them more power than Facebook.

3\. Productivity

Google regularly pushes the envelope on workplace innovation - 10% time, healthy catering, meditation.

Facebook has open offices and they work on one of the most distracting websites in the world. They are no contenders to the legendary Bell Labs. In a race, I would say that Google will win.

4\. AI

AI will likely be the next big thing. Both are doing well in AI, but Google has been doing it longer. Google also has more important data and a broader perspective of how it all links together.

</comment><comment><USER3> The lifetime of a large company depends usually on the way it manages their wealth, it does not depend on one or two "smart ideas, or well defined markets". So IMO both should have a long life (like Ford). But the life time of a company that relies on only a few markets, is much shorter (~20 years). Complexity is inherent to long life.

To give more context: Truly huge companies like Google or Facebook are actually conglomerates of thousands of informal tiny companies, that often are their main competition. Look for example to the large number of projects that Google created or companies it bought and then closed two years later. Each time there was people behind those projects, for them it was a huge stress when their project was dropped. This way to manage companies, helps their board to control competition by internalizing it.

Think "The Soul of a New Machine" by Tracy Kidder on steroids.

<comment><USER4> Are they really diversified though?

<comment><USER3> By "they" do you mean the board or the company as seen by accounting documents?

Google revenues can be viewed in several ways, in one of them it is not diversified at all as in 2016, 71% of their revenues came from Googles sites.

In another interpretation, they are very diversified, as this 71% revenue stream comes from a set of diverse sources. In yet another interpretation they are quite diversified as the USA provides quite half of their revenues.

Accounting could tell very different stories with the same numbers.

For the board, if the revenues are steadily increasing it shows they understand their world, which is not a trivial thing at all. It is basically the difference between strategy and post mortem analysis. One is easier to do than the other.

</comment></comment></comment><comment><USER5> I am an advertiser and have managed millions in spend on both. Facebook just blows me away with its innovations. Google has been playing catchup for two plus years.

</comment><comment><USER6> With the recent political ramblings about Facebook, I don't see them sticking around too long. I give them 3-5 years max.

Google, meanwhile, has enough products and services to keep going far into the future. However, I do expect them to continue to grow slower and more into a sort of IBM for the internet.

</comment><comment><USER7> I think Facebook is a more fickle platform very dependent on user interaction and participation, if something shinier comes along that connect users more conveniently than facebook they'd likely be rushing to it. Also there are many who wouldn't mind facebook gone to bury stuff they have done in the past on it.

Google has a lot of self-generated value which would take a lot more effort to compete with, as we've seen many google killers have come and gone with claims of superiority only to have their offerings revealed as lacking in comparison. Again if something shinier game along that Google was unequipped to handle, you might see a fork in preferences, and then opportunities for others start to arise.

</comment><comment><USER8> Google</comment>


Tracking people via WiFi (even when not connected) - <AUTHOR> https://www.crc.id.au/tracking-people-via-wifi-even-when-not-connected/ <comment><AUTHOR> I am currently working in a company that uses wifi data to extract customer information. The wifi is still a very noisy and localized signal, but I believe that using data such as internet access can get even more information. Does anyone know of companies that work in this area?</comment>


The Caveman's Home Was Not a Cave (2013) - <AUTHOR> http://nautil.us/issue/8/home/the-cavemans-home-was-not-a-cave

<comment><USER2> It always seemed to me that habitable caves would be fairly scarce.</comment>


Git Reflow - <AUTHOR> https://github.com/reenhanced/gitreflow <comment><USER2> The "squash and merge" trend with git bothers me, and perhaps I'm "doing it wrong" but it just doesn't capture what I need a commit history/git-blame for. Usually, I don't care what _feature_ a line code was for. I want to know _why_ a developer thought that was the right change. And to get that visibility I tend to make lots of commits, treating commits almost as out-of-band comments that don't clutter the file/repo.

When I think I'm done with a feature is exactly the time that metadata becomes relevant! Why would I want to lose it?

If anything, I wish ides would integrate git-blame more into my visualisation of a file

But there are so many people into it, that I feel I must be missing something obvious and it bothers me.

<comment><USER3> > But there are so many people into it, that I feel I must be missing > something obvious and it bothers me.

As someone in favor of squashing, I can say that I don't want to see things like "oops, reverting last commit" popup in my git history, especially if I'm browsing history or bisecting a bug. That's noise - useless data. OTOH, commits _should_ be the Minimum Necessary Change to accomplish a well-defined goal. The code itself should _always_ be clear on what it is doing, otherwise it's badly written. If it's "deep magic", then comment it in the code as such.

That being said, I do think that reasoning for _why_ a change was made, at every level, should be in the commit message. I'm also not a fan of merge, but prefer squash+rebase.

In all cases/workflows, it can be abused, and people writing bad code, bad comments or bad commit messages will do so until you can make them care to do it better. There's no silver bullet.

<comment><USER4> > As someone in favor of squashing, I can say that I don't want to see things > like "oops, reverting last commit" popup in my git history

There's a middle ground between squashing and leaving a load of disorganised crap in the history. Rebase before merging. It gives you a chance to clean up the rubbish, but it doesn't force you to squash an entire feature's work into a single commit. You can preserve the logical changes without letting the crap into your history.

<comment><USER5> I agree here. Be a good steward of your commits, and let `rebase -i` be your tool for that. A bunch of "err, try this instead" should be washed away, but it doesn't help to commit "Add Huge Feature" +10,000/-2,000 because "I should squash my feature"

<comment><USER6> If you're putting up 10k lines of code in a single review, you're doing it wrong anyway. Why wouldn't you have multiple reviews that each add different parts of a feature and link to the same ticket?

<comment><USER7> If I wanted to review 200 lines of changes, then I would still prefer to see it as a series of patches, each maybe with 1-20 lines changed and each with a clear purpose.

</comment></comment></comment></comment></comment></comment><comment><USER8> As one of the maintainers of git-reflow, I understand the controversy over squash-merges. Personally, on all the projects I've worked on with this workflow, I have yet to find any drawbacks when needing to use git-blame; although is not to say that there is no value in maintaining a full history nor that it is our way or the highway. We like to keep all changes in context of a feature.

We have worked in environments that promote rebasing of feature branches, and while that may work well, it can lead to holes in the history of the review process due to the need to force-push.

That said, we are nearing a stabilized core API and have plans to allow for more flexibility in the process. If you are interested in following our ideas behind this, feel free to follow the issue we have open: [https://github.com/reenhanced/gitreflow/issues/53](https://github.com/reenhanced/gitreflow/issues/53)

</comment><comment><USER9> Another "I like to deliberately lose information to no benefit because I'm bad at git" 'workflow' hits Hacker News.

Something is deeply wrong with the ecosystem when people want to do things like this!

<comment><USER10> "bisect". Bisect becomes useless if not every commit compiles (or local equivalent). Bisect is a critical feature, even if I don't necessarily use it often, because when I need it, I _need_ it.

As long as I can bisect, I don't much care about the details. But this is definitely not compatible with three dozen commits mostly consisting of "oops didn't compile" and "forgot comma" and "fix syntax erorr". You've gotta do something about that.

The way some people talk, the only acceptable history is an asciinema [1] recording of the development process with a microphone recording the developer's mutterings as it goes. The question isn't about what information you "lose" but about what you keep, because you _must_ discard the vast bulk of it. We're arguing here about whether we chuck 99.97% or 99.99% of it.

[1]: [https://asciinema.org/](https://asciinema.org/)

<comment><USER11> Bisect also becomes useless because of large commits. Even if you find the commit, the change it introduces can be so large you don't git much improvement.

Git allows you to clean up your feature branches to prevent these kind of fix commits.

Look at git.git. They don't require people to squash all their commits into a single patch, but still every patch should be compilable.

<comment><USER10> "As long as I can bisect, I don't much care about the details."

If I can't bisect, I don't approve. So, by simple logic based on the premise you supply, I also disapprove of large commits.

My point may not be what you expected prior to reading.

<comment><USER9> Then your comment makes no sense in context, because you replied to my complaint that people lose information by doing these giant squash merges and having no nontrivial graph structure in their main project history.

<comment><USER10> There are positions other than the extremes. My position makes sense, yes, in context too.

</comment></comment></comment></comment></comment></comment><comment><USER12> From the README:

        $ git reflow setup
        Please enter your GitHub username: nhance
        Please enter your GitHub password (we do NOT store this):

        Your GitHub account was successfully setup!

That implies that the username is actually stored somewhere. Is it stored locally or on some reenhanced.com server? The README should be very clear about what exactly gitreflow stores and where.

<comment><USER8> From the README: "On your first install, you'll need to setup your Github credentials. These are used only to get an oauth token that's stored in your global git config. We use the Github credentials so we can create pull requests from the command line."

</comment></comment><comment><USER13> This seems super useful- it matches my team's workflow, I'll def suggest we try it. Squash merge ftw

<comment><USER14> I'm really curious about it. One of the purported reasons - "it makes git blame more useful", is pretty silly, unless you never have anyone fixing typos or reformatting code or whatever.

git blame is _already_ an approximation (because git, and well, everything, does not record what you did for real, only the smallest set of binary delta instructions you must execute to produce file version 2 from file version 1).

So this is essentially is "this one git command sucks, so we are going to destroy all of history to make it's output slightly better in a few cases", instead of "hey, we are going to produce a version of blame that identifies the kind of info we care about"

<comment><USER9> >yfw you type `git blame --first-parent`

</comment></comment></comment><comment><USER15> I'm unhappy with the approval process being a simple search for "LGTM". I wish GitHub pull requests had actual support for a review process, e.g.:

* open issues to address

* review state, such as "changes requested" or "approved" (along with users that are in each state).

We've been using Phabricator's[1] Differential tool for code reviews and it feels superior to this process, but it would certainly be nice to have an all- encompassing solution for this.

[1] [http://phabricator.org](http://phabricator.org)

<comment><USER16> An actual flag wouldn't be bad, but I know that I've sometimes given out conditional approvals in a code review (i.e., "if you change this, then I approve; if you don't agree, then we should talk"). The idea being to remove a round-trip that would otherwise waste the reviewee's time. (This of course implies a certain degree of trust that the reviewee makes the change as you desire, but in practice I find this isn't a problem.)

</comment></comment><comment><USER17> Created something in-house very similar for a job a few years ago; We could accept a ticket, it would create a feature branch, update the ticket and comment on it that it was being worked on, then when we submit, it would update the ticket status - assign it to a reviewer, squash commits, create a pull request and comment with the link.

This project seems to be done much cleaner though and in a more abstract and reusable manner. Well done!

</comment><comment><USER18> So...it's Gerrit's workflow for GitHub?</comment>


Using psql to \watch Star Wars and other silly things (2018) [video] - <AUTHOR> https://www.youtube.com/watch?v=v32XHJxljKI <comment><USER2> [spoiler alert] look at [http://www.youtube.com/watch?v=v32XHJxljKI&t=17m18s](http://www.youtube.com/watch?v=v32XHJxljKI&t=17m18s)

</comment><comment><AUTHOR> It felt a bit appropriate for May the 4th.</comment>


Outflopped.com, a Stack Overflow clone for Poker - <AUTHOR> http://codingthewheel.com/archives/poker-stackoverflow-outflopped?src=2

<comment><AUTHOR> Fascinating side note: Submitting an article to HN with "Poker" in the title gets it auto-killed immediately.</comment>


Rossellini's History Films - <AUTHOR> http://www.hammertonail.com/reviews/drama/rossellini%E2%80%99s-history-films-review/ <comment><USER2> I am Italian and I am a big fun of Rossellini. A few months ago I had a discussion with some people of my age (27yrs) about Rossellini and most of them don't know anything about him. The recent decline of the italian culture is a huge issue...

</comment><comment><USER3> I stumbled upon "Blaise Pascal" on Hulu (they have some Rossellini in their Criterion section).

It was totally captivating, somehow simultaneously moving and fascinating, in a way unlike any other film I've watched. Human is a good way to put it. Absolutely unforgettable, almost a religious experience.

I highly recommend his historical films to anyone, regardless of your interest or lack thereof in the subjects; you will _become_ interested.

</comment><comment><USER4> Rossellini fans may also be interested to know that the BFI have restored and re-released the War trilogy and 3 of the Ingrid Bergman films. Fantastic stuff.

<comment><USER5> Not sure if the BFI releases are region free... for those in the U.S., The Criterion Collection has also released the War Trilogy.

<comment><USER6> The BFI releases tend to be region locked to region 2 or region B.

[http://shop.bfi.org.uk/war-trilogy-the.html#.Vbof4XXd- Rs](http://shop.bfi.org.uk/war-trilogy-the.html#.Vbof4XXd-Rs)

The additional info says

"Blu-ray region B".

</comment></comment></comment><comment><USER7> The Eclipse curators have a great eye for overlooked amazing films. It's like the main Criterion line, only moreso. The MA to Criterion's BA in film.

Criterion also deserves credit for making so many of their titles available for streaming on Hulu. More in the Criterion line than in Eclipse, but some of those are there too: [http://www.hulu.com/watch/231667?utm_source=site&utm_medium=...](http://www.hulu.com/watch/231667?utm_source=site&utm_medium=play&utm_campaign=criterion)

Given Criterion's mission to make more great films more widely available, I hope they'll fight to overcome whatever rights issues are keeping parts of the collection offline, and expand their agreement to other services, like Netflix and Prime, and sites around the world. [https://www.criterion.com/hulu](https://www.criterion.com/hulu)

It's a shame that I can use Hulu to watch some of the greatest Italian films ever made, but I can't do that in Italy.</comment>


Why Google Yanked YouTube Access From Microsoft's Windows Phone App - <AUTHOR> http://techcrunch.com/2013/08/15/why-google-yanked-youtube-access-from-microsofts-windows-phone-app/

<comment><USER2> Same happened to iOS which once had a nice youtube app written by Apple in ObjC. Now we have a crappy youtube app written in ObjC by Google.

I guess these moves make sense to Google from a business perspective. However, they hurt users and ultimately it will hurt the company image. Don't be evil was nothing more than a marketing hack.

<comment><USER3> Don't be evil. To borrow a Clintonism, "It depends what the definition of 'evil' is"

</comment></comment><comment><USER4> I think it ultimately came down to this...

"It was also not pleased that Microsoft had built its own system to interface with Google's ads so that they could be delivered to the application. It might break, and so forth."

It's still douchey of Google to outright block Microsoft, since the original Apple made version of YouTube only shows videos that do not want advertising (granted a smaller and smaller # of videos).

</comment><comment><USER3> Ok 'closed ecosystem' iOS haters. Where's your google outrage? When it comes down to it, every major tech company has some variation of a walled garden. Just Google is a little less obvious about it.

</comment><comment><USER5> Let's just get this straight once and for all: Google is an _advertising_ company.

Anything that even remotely threatens that, and the mask of the nice open and ethical tech company comes off.</comment>


Hookers turning Airbnb apartments into temporary brothels - <AUTHOR> http://nypost.com/2014/04/14/hookers-using-airbnb-to-use-apartments-for-sex-sessions/

<comment><USER2> It seems like Airbnb helped out the person, but I can't see this not happening more frequently. It's like an inverse network effect - 10 times the customers, 10 times the wrong things, and 10 times the people who care about bad things happening.

Clearly I'm in the minority - I'm curious how others think.</comment>


Vogue auto-reloads stylesheets whenever CSS files are saved - <AUTHOR> http://aboutcode.net/vogue/

<comment><AUTHOR> I created this project in about a day, using Node and web sockets (via socket.io). I'm really impressed with how simple Node is to work with and npm is very handy too! I'd love to get some feedback - thanks.

<comment><USER2> This is absolutely brilliant. A million thanks

<comment><AUTHOR> You're very welcome :) If you have any feedback and ideas for improvements, let me know.</comment></comment></comment>


Safe Harbour Declared Invalid in Europe: Tech Giants' Data-Sharing Under Threat - <AUTHOR> http://www.forbes.com/sites/emmawoollacott/2015/09/23/safe-harbour-declared-invalid-in-europe-tech-giants-data-sharing-under-threat/ <comment><USER2> The irony that the EU-US traffic goes through the UK and is harvested by GCHQ is not lost on me.</comment>


Docker, the Linux container runtime: now open-source - <AUTHOR> http://docker.io <comment><AUTHOR> Hey everyone! We didn't plan on opening Docker for another few weeks, but last week [1] you guys made it clear you'd rather see it early, warts and all. So here it is! Pull requests are welcome!

[1] <https://news.ycombinator.com/item?id=5408002>

<comment><USER2> I feel this is against HN etiquette but I need to thank you. Be encouraged and go far. This looks awesome. I wish you many a decent pull-request.

<comment><USER3> It's never against the HN ethos to show someone you appreciate their work.

<comment><USER4> I think he was more referring to the fact his comment lacked substance other than what amounted to an "Awesome."

Honestly, I think it's fine. Sometimes an up arrow just isn't expressive enough.

<comment><USER5> No, I understood the context of his message, but allow me to articulate further: "While it may be against the norm around these parts for a simple post of agreement or gratitude, it doesn't harm the community, on the other hand, it lets the OP know that posts of this kind are good and to do more of them in the future."

However, I agree, sometimes it's nice to have something positive to read in the midst of constructive criticism.

</comment></comment></comment></comment></comment><comment><USER6> I've loved messing around with docker so far.

Do you guys have any plans to offer an image library? Pre-built versions of common open source tools like official .amis or the vmware virtual appliance directory?

I understand it doesn't exactly match your primary goal, but i think there is a large untapped demand for lightweight appliances for use at home or inside the firewall that juju really isn't set up to satisfy. I love the similar feature on my synology nas, although those are really just packages. There is often a large gulf between knowing how to set something up and being willing to do it.

<comment><AUTHOR> There has been a lot of demand for that, yes. I think it makes a lot of sense and would make docker much more useful out of the box.

You can already publish your own images with 'docker push'!

</comment></comment><comment><USER7> The more I look into freebsd, the more I realise how awesome it is. This same thing has been in freebsd for ages: jails.

(maybe not the fancy deployment, but the container technology)

That, together with ZFS turns freebsd into one hell of a server OS. ZFS seriously needs to come to linux. And don't say license problem, "there is nothing in either license that prevents distributing it in the form of a binary module or in the form of source code."[1]

[1] <http://zfsonlinux.org/faq.html#WhatAboutTheLicensingIssue>

<comment><USER8> I have been looking more at smartos (and other openindiana derivatives). Zones + KVM + ZFS. Oh my!

<comment><USER9> You forgot DTrace!

<comment><USER8> ack! I sure did!

And you are quite right. DTrace is super.

</comment></comment></comment></comment><comment><USER10> The push/pull mechanism for images seems like it adds a rather large centralised component to an otherwise very standalone piece of kit.

Is this "docker registry server" the final thought on how people will "ship" their containers? ... I'd much rather have the docker cli be able to be able to be configured to use some private repository of images. Maybe I missed something.

<comment><AUTHOR> Our approach is that you need both:

* A free, public mirror (comparable to pypi or the ubuntu mirrors) makes docker instantly more useful. You're 1 command away from sharing a ready-to-use image with the whole world, or trying someone else's image.

* Docker definitely _also_ needs a mechanism for moving images in a peer-to-peer fashion as you see fit - ala git pull. This is actually more work to get right, but we are working on it (and pull requests are always welcome :). Any docker will be able to target any other docker for push/pull.

Hope this helps.

<comment><USER10> Thanks, it does.

I can kind of see your point for the "instant gratification" of a public repository... but I'd love to see docker become some kind of standard *NIX type tool for packing up blocks of software ready to move them around, and you don't see many simple tools backed to some third-party infrastructure. (don't get me wrong - I'm not totally against it.. I just want this to work, and work forever without being tied to anything)

Also as lover of Go's idea to do away with a centralized repo for pkg management, it would be nice to see a similar approach taken for the handling of Standard Containers.

I'm very excited by all this. It feels like such a step in the right direction for all kinds of deployment problems.

<comment><AUTHOR> So, you might not read this in a while... But after thinking about this some more, I think Go's decentralized approach to package management is actually a great model. So, expect something very similar in the future :)

Always happy to discuss further on #docker@freenode!

</comment></comment></comment></comment><comment><USER11> If you have a cool screencast showing off what you made using docker, add the links here. We will take the best ones and put them on the docker.io website.

</comment><comment><USER12> I'm glad to see work in the area of making linux containers more accessible. I recently stumbled upon openruko[1], an open source Heroku clone, and from there discovered linux containers and lxc[2]. It takes a bit of configuration to set up useful containers, though. I think the ideas behind Heroku and The Twelve-Factor App[3] are good, and containers are an important building block. I'm excited to see (and I'd like to see more) tools like Docker that aid in robust and streamlined container-based deployments in-house.

[1] <https://github.com/openruko> [2] <http://lxc.sourceforge.net/> [3] <http://www.12factor.net/>

<comment><USER13> I've been making heavy use of OpenVZ. The documentation isn't the best, but it's often used for VPS slices.

</comment></comment><comment><USER14> Awesome product! I've squinted at lxc for a while now. This looks great!

But: What about this security issue regarding lxc? Does docker takes measures to prevent this?

<http://blog.bofh.it/debian/id_413>

The issue itself appears to be fixed if you use Linux 3.8 with compiled in namespace support (that breaks NFS and other filesystems at the moment)

</comment><comment><USER15> Did you guys decide to launch without the "push/pull images" mechanism? I can't find it on the site in 3 clicks or less, so I'm assuming it's not finished yet.

(For anyone who's not the submitter, when this was mentioned about a week ago, @shykes was hinting that there would be some sort of community images repository made before launch.)

<comment><AUTHOR> It is actually finished, just poorly documented.

        $ docker pull base
        $ CONTAINER=$(docker run -d base apt-get install -y curl)
        $ docker commit -m "Installed curl" $CONTAINER yebyen/betterbase
        $ docker push yebyen/betterbase

It's buggy but it should work. Let me know if you actually do that, I will try to pull it :)

<comment><USER15> I did actually try this just now, and I got

      <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2 Final//EN">
      <title>500 Internal Server Error</title>

Internal Server Error

The server encountered an internal error and was unable to complete your request.  Either the server is overloaded or there is an error in the application.

It is possible I guess that the server is overloaded. I'd like to think that if someone registered my name, I'd get a better error. It does say I created an account, and it doesn't prompt me for credentials on the second try.

The account creation does not echo Username or Email, which is unusual for an account creation, and I think that Password should echo at least the \n even if the password is entered blind as customary.

<comment><USER16> Thanks for pointing that out, the 500 error should be fixed!

</comment></comment></comment></comment><comment><USER17> This is really kind of incredible. If I understand it correctly, are containers : virtual machines :: greenthreads : threads?

<comment><USER18> In terms of spawning time and overhead, yes. In terms of parallelism, containers are like threads ;)

</comment></comment><comment><USER19> Why is it aufs instead of unionfs? Not that I have a preference for either but I am curious :)

<comment><USER11> There are issues with unionfs in it's current form. Because of those issues, aufs is currently more stable.

Docker isn't tied to aufs, if unionfs or any other union file system comes along and is better, we are more then happy to switch to it.

<comment><USER13> Can you give some details of those issues?

I'm using unionfs and while I'm not taxing it very much I haven't seen any issues so far. I'd love to know what to look out for. Is it easy to setup aufs?

</comment></comment></comment><comment><USER20> Cool conversation underway on the IRC channel: #docker on freenode.

<comment><USER21> +1 for #docker@freenode, a very helpful resource.

We've been playing around with docker internally at SendHub for the past few weeks, and so far it is looks promising.

I'm /really/ looking forward to seeing and hearing about cool applications people find for docker containers!

</comment></comment><comment><USER18> As said before, containerization is the new virtualization. This is History in the making people.

<comment><USER22> Except it already was done in the mainframes and commercial UNIXes, nothing new.

<comment><USER23> There is a paradigm shift that happens when a great idea becomes open and easily redistributable outside the confines of the "cathedral".

<comment><USER22> The cathedral is what makes money for the people to contribute to the bazaar in their free time.

<comment><USER23> And the cathedrals often benefit from the bazaar's innovations as well (e.g.: Google's use of Linux in both their datacenters as well as in Android).

It's not an either-or, it's a symbiosis.

</comment></comment></comment></comment></comment><comment><USER24> Very excited about the possibilities and convenience that Docker opens up. Will be taking it for a spin soon.

Few questions regarding performance compared to running the processes directly on Linux (I guess this applies to LXCs in general - forgive me if these are due to a lack of knowledge about how LXCs work in general):

\- How much extra memory and CPU does each Docker process take? \- Is there any performance hit with respect to CPU, I/O or memory? \- Are there any benchmarks from testing available?

Again, kudos to all the people at dotCloud behind Docker and extra props for open sourcing!!

</comment><comment><USER25> Any plans on supporting network topology / network speed simulation like Mininet does? (i.e. the ability to set network latency, throughput and jitter using netem). Would be useful for testing purposes.

<comment><AUTHOR> Yes! As long as it doesn't break the guarantees of repeatability, we want to support as many networking topologies as possible. We're still looking for the best API to expose that.

I know <https://github.com/synack> has been experimenting with docker + openvswitch, which opens many exciting possibilities.

</comment></comment><comment><USER13> How does this compare to OpenVZ? I'm assuming this is much lighter than OpenVZ or am I wrong there?

<comment><USER26> OpenVZ gives you a container as they call it, which looks like its very own Linux OS. You can login to it, install packages with the package manager, etc. All processes you run, e.g. Apache/PHP, plus MySQL , run in this VM. PHP and MySQL would communicate over a Unix local socket, same as on non-virtualized Linux OS.

Docker appears to run each process, in isolation. So you would have 2 isolated processes (Apache/PHP, plus MySQL) which can only talk to each other over a local network pipe (which should be quite fast with minimal overhead).

(this is my understanding).

</comment></comment><comment><USER27> For a similar but non LXC version of the same idea check out <http://www.pgbovine.net/cde.html>

Basically it records all the dependencies an application touches while running and creates an environment you can tar up and use on basically any system of the same arch. It even works cross distro. Wouldn't really work for 'the cloud' as you don't get the same security and isolation as LXC and you have to make sure all the execution paths are triggered but for a lot of apps it works great and it's ridiculously easy to use with no setup.

</comment><comment><USER28> It seems I'm unable to get the tarball by following the instructions.

        $ wget http://get.docker.io/builds/$(uname -s)/$(uname -m)/docker-master.tgz
        --2013-03-26 15:43:39--  http://get.docker.io/builds/Linux/i686/docker-master.tgz
        Resolving get.docker.io... 188.8.131.52
        Connecting to get.docker.io|220.127.116.11|:80... connected.
        HTTP request sent, awaiting response... 404 Not Found
        2013-03-26 15:43:40 ERROR 404: Not Found.

<comment><USER15> I remember reading that Docker and LXC would only work on 64 bit platforms. If your uname -m was x86_64, the file would be there.

Also read earlier today that Go's GC on i686 (or really any 32 bit platforms?) is not suitable for a daemon like docker, it leaks. This may be fixed in tip. I have no idea.

<comment><AUTHOR> This is correct, we don't currently support 32-bit hosts, and don't publish 686 builds.

We do plan to add cross-arch support in the future, though - it's just a lot of work to get right.

<comment><USER28> Then the _uname -m_ part from <http://docker.io/gettingstarted.html> is a lie!

I'll try it on Windows with vagrant then.

<comment><AUTHOR> Well, at least you found out right away your architecture wasn't supported :)

</comment></comment></comment></comment></comment><comment><USER29> Wow, great. Any plans to provide RHEL/CentOS instructions?

<comment><AUTHOR> Yes, definitely. There's an open issue here: <https://github.com/dotcloud/docker/issues/172>

</comment></comment><comment><USER30> Sweet. I will be reviewing this thoroughly as I have been looking forward to it since the PyCon demo!

</comment><comment><USER31> Just a suggestion regarding the FAQ: What is a Standard Container?

Wouldn't it be better to simply describe it as something similar to a vm snapshot/export. If I export say a virtualbox image I can move it around and run it on other vm players.

I think the shipping container analogy is simply bad:)

</comment><comment><USER32> This is the one written in Go right?

<comment><USER11> Correct, it is written in Go. Checkout the repo to see all the wonderfulness. <https://github.com/dotcloud/docker>

<comment><USER22> Ah, this is nice to know.

Even though I do have some issues with Go, it is nice to see safer languages being used for this type of work.

Good work.

</comment></comment></comment><comment><USER33> Reminds me a lot of hpc tools like `mpirun`, 'qsub`</comment>


Norwegians campaign to give Finland a mountain - <AUTHOR> http://www.thelocal.no/20151216/give-finland-a-new-highest-peak-norway-campaign <comment><USER2> As a Finn I really appreciate this gesture. I've even been to that mountain. Norwegians are cool and straightforward. If all countries were more like Norway, there wouldn't need to be wars or closed borders.

<comment><USER3> What a nice gesture from our great neighbor to give few extra meters to our highest peak.

</comment></comment><comment><USER4> From the guys who gave us OOP, css, and Qt to the guys who gave us the guy who gave us Linux. A mountain top. What's not to like?

<comment><USER5> Linux, irc and MySQL.

<comment><USER6> Wasnt MySQL Swedish?

<comment><USER7> There were two founders, one Finnish and the other Swedish.

</comment></comment></comment></comment><comment><USER8> Czech Republic is giving Poland 900 acres as a gift:

[http://www.telegraph.co.uk/news/worldnews/europe/czechrepubl...](http://www.telegraph.co.uk/news/worldnews/europe/czechrepublic/11452364/Czech- Republic-to-hand-over-900-acres-of-territory-to-Poland-in-border-dispute.html)

<comment><USER9> It doesn't actually sound like a gift, but more like a payment to resolve a territorial dispute.

<comment><USER8> There is a treaty from 1989, that all land disputes are closed and borders are final. They claim there is a glitch after that, so it is is a gift.

</comment></comment></comment><comment><USER10> What would we do with that crappy mountain. Give use the oil, dammit.

<comment> pi-rat We actually tried to give away major oil rights to the Swedes 35 years ago, in exchange for 40% of Volvo, but the Swedes refused.

So we ended up pumping up the oil ourselves and invested it in a giant oil fund. This oil fund is now the second biggest owner of Volvo.

Thank you Sweden for not accepting the offer :)

<comment><USER11> You know that the sovereignty of Norway was just a hundred year trial until 2005. We could have just gone "Nope, they still eat fiskekaker. it has obviously not worked out."

Now, it would have been a diplomatic crisis, but we _could_ have done it.

</comment></comment></comment><comment><USER12> Here is the google location: [https://www.google.com/maps/place/Halti,+99400+Enonteki%C3%B...](https://www.google.com/maps/place/Halti,+99400+Enonteki%C3%B6,+email@example.com,21.2601769,15.76z/data=!4m2!3m1!1s0x45cff81455374207:0x75d43fa3984b730!5m1!1e4!6m1!1e1)

</comment><comment><USER13> From a very distant part of the world, it seems magical to hear about such people and places. I can only wish for it :)

</comment><comment><USER14> Can we have one too?

Mange tak.

\- Denmark

<comment><USER15> As you know. You had it all

\- Norway _amicable nipletwist_

<comment><USER16> touché

</comment></comment></comment><comment><USER17> Oddly enough, Halti _is_ already Finland's highest mountain: the current highest point in Finland is just a little lower (1,324 m) than the actual peak that the Norwegians propose to hand over (1,365m).

[https://en.wikipedia.org/wiki/Halti](https://en.wikipedia.org/wiki/Halti)

</comment><comment><USER18> "Open borders" but a firm embrace of a welfare state?

That's an invitation to migrate for welfare.

"It's just obvious you can't have free immigration and a welfare state," -Friedman.

(dang, thanks for the down votes. Parent gets a dig in for "open borders" and pointing out that concept has a serious cost is "unmutual" thought here at HN? How about some serious feedback instead? )

<comment><USER19> But if all countries were more like Norway, there probably would not me welfare immigration, since every country would have it.

<comment><USER20> I too wish I was sitting on near-infinite reserves of natural resources. The Norwegian economy and social state can sustain itself for generations on oil income alone. Its population literally doesn't need to work and can still support the current quality of life.

<comment><USER21> The difference between Norway and most countries with Oil is how Norway manages the proceeds. It has a very long term plan and doesn't allow too much of the money to reside in Norway thereby artificially inflating the economy.

<comment><USER22> Yes, agreed. The recent drop in oil prices has caused Canada's economy to plummet, due to mismanagement, for example.

[http://credbc.ca/norways-oil-gas-policy/](http://credbc.ca/norways-oil-gas- policy/)

</comment></comment></comment></comment></comment><comment><USER23> Could the Scandinavian countries be any more perfect? In a world full of strife, and countries fighting over pieces of land, Norway/Sweden sound like a fairytale.

<comment><USER24> The Swedish government has a monopoly on the sell of alcohol, price is two to three times more expensive than the rest of Europe and you are forced to buy from State owned supermarkets which closes around 3pm on Saturdays and all day on Sunday. If this kind of socialism is a fairy tale for you, you can read more about it here:

[http://hejsweden.com/en/the-swedes-and-alcohol-about- drinkin...](http://hejsweden.com/en/the-swedes-and-alcohol-about-drinking-in- sweden/)

<comment><USER25> And while it's ridiculous that you can't buy cold beer stronger than 3.5% by volume, and can't do it on a Sunday, I still wouldn't switch to any of the system in any country I have lived in (E.g. Australia, UK). I wouldn't mind the prices of beer in a bar to be more reasonable but what can you do.

What's expensive in .se is the alcohol, not the alcholic products. That makes the price of _some_ cheap products very high, most notably gin/vodka etc, which carry a price that may be 3x higher than elsewhere (Worth noting of course is that even at these prices they aren't nearly paying their own damages). That is only half the story though, products like decent wine and single malt whisky is actually very well priced, and often cheaper than in their respecive countries of origin. In the uk a crap bottle of wine is £3, in sweden twice that. A good bootle of wine in the uk is £20 and can be half that in Sweden. Prices are _very_ compressed, which makes it an excellent place to be drinking decent stuff.

I know you were likely sort of tounge-in-cheek about the alcohol issue, but really there are lots of aspects that are way worse. Just take the fact that the day (if you can even call it that) in Sweden today was 5 hours long... That will drive you nuts no matter what the cost of booze is :D

</comment></comment></comment><comment><USER26> >This is some kind of trick. I'll bet the mountain has 50,000 'Syrian refugees' living on it or something.

Cracking up.

</comment><comment><USER27> While it sounds like a nice gesture, it is quite dangerous actually. Maybe this generation of norwegians don't mind to give away part of their country but next generation will do. They might demand to give it back for some reason and here you go - endless disputes and friendship turns in hatred.

<comment><USER28> I think the area is small enough to be measured in square meters...

<comment><USER29> From the article: 0.015 km^2.</comment></comment></comment>


Programr: Code it Online - <AUTHOR> http://www.programr.com/

<comment><USER2> I'm all for optimizing the browsing experience, but the logo has horrible compression artifacts:

[http://www.programr.com/sites/all/themes/drigg_theme/img/log...](http://www.programr.com/sites/all/themes/drigg_theme/img/logo2.jpg)

Hoempage scores 58/100 on Google Page Speed, so there's a lot of stuff that can be done before to compensate for a larger image.

<comment><USER3> thanks, yes, there's a lot of pending stuff to be fixed, especially UI stuff. We were more into getting the programming components right and hadnt paid too much attention to the UI, but we hope to give the site a totally new look (with cleaner logo!) by end of next week.

Rajesh, cofounder, Programr

</comment></comment><comment><USER4> Constructive feedback here...it's not going to be pretty.

This looks like it was made by a developer. That's one of the distinctive factors, I have noticed, with the apps that come out of YC, you can't tell they were made by developers. They are given a nice sheen of design and it looks pleasant and inviting.

This doesn't. As a developer, this reminds me of Java and C++ (both of which make me cringe).

Whereas Ruby feels inviting and less intimidating.

Glad to see you guys doing something and I am not knocking that...it's just that developers are people too. We also want to use tools/sites/apps that feel & look good.

Take some time and invest in UI/UX design...it will go a long way.

<comment><USER3> Thanks marcamillion, your advice is befitting and makes a lot of sense.

We're already halfway done on a totally new glossy look (themed blue & green) and a much more intuitive UX. This should be up in a couple weeks.

We're a small team of devs with no major funding, so we do the best we can given the resources we have. Our idea was to launch early, launch often and keep fine-tuning along the way. Guess we overshot on the programming effort and left the UX work in a little bit of a backlog.

Btw, for better or for worse, Java and C++ are still the most popular programming languages being used in the industry till recently :) (<http://langpop.com/>)

Rajesh

</comment></comment><comment><USER5> Is "The Codecademy for Higher-Level Languages" HN editor embellishment? I fail to see how Programr is for higher-level languages than Codecademy & how it's like Codecademy.

Edit: This is TechCrunch editorialization. My confusion still stands.

<comment><USER3> Hi, this is Rajesh, cofounder at Programr.

You can say that Programr is Scratch for industry-in-demand languages, if that sounds better :)

<comment><USER6> Is there a link to a place on the website to read about the points system?

I submitted user-feedback about the policy links already.

<comment><USER3> Here you go: <http://www.programr.com/rankings>

Working on the policy links, tks

<comment><USER6> Thank you!

This project is so ambitious, and could do so much good.

<comment><USER3> You're welcome! It's words of encouragement like these is what keeps us going :)

</comment></comment></comment></comment></comment></comment><comment><USER7> Anyone interested in beta testing/giving feedback for CodePupil?

I'll send you a link to one of our games.

We're launching our preview this week after 7 months of development.

<comment><USER8> I am interested. I am a beginner in several languages (Ruby, Python, JavaScript, C) but I've never written serious software in any of these.

</comment></comment><comment><USER9> I'm all for "the X for Y", but is codecademy really that prolific that something could be the Codecademy of ____?

<comment><USER3> As I replied earlier to oconnor0, a better analogy would be Programr is Scratch for industry-required programming languages.

Tks, Rajesh</comment></comment>


CSGO's simple, user-made, user-facing bugtracker monitored by Valve devs - <AUTHOR> http://64bitvps.com/csgo/

<comment><AUTHOR> Log in with Steam to post and vote on issue priority.

I can't believe public bug reporting for major studio game releases is still being done through forum posts, like it's the fucking 1890s or something. Seeing this site in action, I became immediately convinced that this kind of simple, easy to use, public-facing bug/wishlist system needs to be a standard part of any large software release, and it is negligent of any company to launch a product without one. It needs to be promoted every bit as emphatically as their official forums (or more).

\-----

Post announcing this system, and its acknowledgement by the game's developers, stickied on the official CS:GO forum here: [http://forums.steampowered.com/forums/showthread.php?t=29118...](http://forums.steampowered.com/forums/showthread.php?t=2911866)

Primitive bug-report thread which seems to otherwise be the standard for major studio game releases (if public bug-reporting is present at all) here: [http://forums.steampowered.com/forums/showthread.php?t=22638...](http://forums.steampowered.com/forums/showthread.php?t=2263804)</comment>


Lawsuit Posits Social Network Connects Are A Non-Compete Violation - <AUTHOR> http://www.wired.com/epicenter/2010/06/lawsuit-posits-social-network-connects-are-a-non-compete-violation/

<comment> brown9-2 The former employer is suing the employee for attempting to recruit it's employees by connecting to and communicating with them on LinkedIn.

The article seems to be concerned with the first part of this - <USER2> connecting to someone on a social media site constitute recruitment?

This seems to completely miss the meat of the lawsuit buried on the second page of the article:

 _The TEKsystems complaint lists a specific example of a LinkedIn communication where Hammernik appears to be inviting a employee of the firm to join her new company._</comment>


A JIT for grepping: jrep and rejit (2014) - <AUTHOR> https://lwn.net/Articles/589009/

<comment><USER3> This is cool, but I would be more interested to see comparison against other grep alternatives such as ack, ag, and pt.

<comment><USER4> I was hoping for the same thing.

Additionally, if it turns out faster - can the underlying regex library: rejit, beused in pt or ag for even better results?

</comment></comment><comment><USER5> For other grepping/regular expression matching programs using JIT - <USER2> PCRE's sljit - [http://sljit.sourceforge.net/pcre.html](http://sljit.sourceforge.net/pcre.html)

</comment><comment><USER6> I miss links and comparisons to other and IMHO better implemented jitting regex engines and greps like redgrep, sregex or pcre.

</comment><comment><USER7> I was hoping for a comparison against LuaJIT.</comment>


Mediocre Marketing: How NOT To Describe Your Startup - <AUTHOR> http://onstartups.com/home/tabid/3339/bid/3673/Mediocre-Marketing-How-NOT-To-Describe-Your-Startup.aspx <comment><USER2> I absolutely despise corporate-speak like _" Team Centric X Collaborative X A+ Players with Low Ego. Get in on the ground floor and join a winning team."_

I occasionally would throw together simple sites for my graphic designer friend... this is the one I'm most ashamed of:

<http://backendrevenuesolutions.com/>

Some "key" phrases:

 _Develop synergistic flow between website, CD-Rom, and other product components for campaign._

 _Assumes key position to drive growth_

 _Hire and Manage writer for website to ensure that website works synergistically with the infomercial and back-end sales_

And worst of all, I had to type all that out because the client insisted on using _images_ for text, so she could have her damn font show up correctly.

</comment><comment><USER3> Here's the money quote:

Here's my litmus test: When making a claim about your startup, ask yourself if anyone would ever claim anything different -- or even better, claim the opposite. If the answer is a clear "no", your description is probably empty. Examples: Which startups are not innovative? Who's not looking to disrupt? Who's not creating a culture of success? Who's looking for B- players? Who's looking to build a third-place team?

<comment><USER4> "The ultimate goal of our company is to enhance shareholder value by empowering users to meeting their goals easily, effortlessly and conveniently in the niche we have chosen while extracting monetary value from said users to enhance shareholder value and enrich founders and investors alike"

Wanna invest ?

</comment></comment><comment><USER5> For once could someone describe their startup for what it really is? I would love to see:

"We do not yet have a completed product but we are working on it..."

</comment><comment><USER6> I think the core of this post (which I agree with completely is this: "When talking, try to say something (preferrably true)"

</comment><comment><USER7> What a disruptive post.

Looks like the marketing department has their own PHBs.

</comment><comment><USER8> A lot of good points in that, some of which I am definately going to take on board.</comment>