The Best Kids' Books Ever -- Summer Break and IQ - <AUTHOR> http://www.nytimes.com/2009/07/05/opinion/05kristof.html?_r=1&ref=opinion

<comment><USER2> I think it is a replicated result among students of gifted students that they GAIN ground intellectually during the summer school vacation, because they pursue their own intellectual interests by independent reading and aren't slowed down by the school curriculum. At least, that was my experience in childhood.

A really good book for a teenager would be The Chosen by Chaim Potok,

<http://www.amazon.com/Chosen-Chaim-Potok/dp/0449213447/>

which I think I read at age fourteen. It's an excellent story about two very bright boys growing up in Brooklyn during World War II.

<comment><USER3> "I think it is a replicated result among students of gifted students that they GAIN ground intellectually during the summer school vacation"

The way you phrase that makes it sound like there are studies that show this. Do you know of any, or are you just saying that was true for you and others you know?

<comment><USER2> That means I don't have the citations at hand, but I recall reading that gifted students in general gain knowledge (as shown by curriculum-based achievement tests) during the summer, regardless of whether they are in programmed activities or reading on their own.

</comment></comment></comment><comment><USER4> I'll chime in: I read The Hobbit to my 7- and 4-year old kids, and they _loved_ it. We're also reading (and enjoying the artwork of) The Adventures of Tintin.

</comment><comment><USER5> Am I the only one who think that the Harry Potter books are not for children? I read them all and after the 4th the story becomes very dark. I really liked them, It has been years since I wasn't so eager to read the next chapter in a book, but I am not sure I would like to give this to my children. At least not very young.

<comment><USER6> I'm with you. Not sure what the appropriate age is, but my friends read their 4 year old the books... and, don't think that was necessarily the best idea. I'm actually screening the Aristocats tonight to see if it's OK :)

That being said, my babysitter growing up lived in the woods... we ate bear stew for most dinners... and they only rented me horror movies. I saw all Nightmare on Elm Street and Friday 13th movies by the time I was about 8. Yeah, I had some twisted nightmares once in a while, but I think most kids do anyhow, and... I turned out alright!

</comment></comment><comment><USER7> No 'Little House on the [Prarie, other locations]'? Oh dear. I grew up in Ireland, but these simple documentary novels of life in in the 19th century west were both exciting, informative, and humbling. I am looking forward to reading them to my children.

</comment><comment><USER8> Good grief. Read the Harry Potter books aloud over the summer? How long are the summer holidays where he lives?

But while on the subject, the Percy Jackson series by Rick Riordan is a great choice with both genders and is great fun for adults too.</comment>


Tensorflow 2.0 Beta 0 - <AUTHOR> https://github.com/tensorflow/tensorflow/releases/tag/v2.0.0-beta0 <comment><USER2> Maybe I'll give TF another try, but right now I'm really liking PyTorch. With TensorFlow I always felt like my models were buried deep in the machine and it was very hard to inspect and change them, and if I wanted to do something non- standard (which for me is most of the time) it was difficult even with Keras. With PyTorch though, I connect things however how I want, write whatever training logic I want, and I feel like my model is right in my hands. It's great for research and proofs-of-concept. Maybe for production too.

<comment><USER3> TF's deprecation velocity was way too high for my taste. Things we wrote would stop working randomly with their updates. I feel very similar to you about the models being "buried too deep" in their (ever-changing) machine. I much preferred how easy it was to hack Caffe V1 (once you got past the funky names, etc).

These days, I really like mxnet. Torch was a disaster, but Pytorch is much better. It's not bad in production, definitely my #2.

<comment><USER4> > TF's deprecation velocity

That's Google on a nutshell. In fact, they may drop TF altogether next month. You never know ...

</comment></comment></comment><comment><USER5> Might give it another try, but my latest incursion in the Tensorflow universe did not end pleasantly. I ended up recoding everything in Pytorch, took me less than a day to do the stuff that took me more than a week in TF. One problem is that there are too many ways to do the same thing in TF and it's hard to transition from one to the other.

<comment><USER6> What do you think of Keras in this space ? Because TF 2.0 is _entirely_ keras based.

[https://medium.com/tensorflow/standardizing-on-keras- guidanc...](https://medium.com/tensorflow/standardizing-on-keras-guidance-on- high-level-apis-in-tensorflow-2-0-bad2b04c819a)

<comment><USER7> This is one thing that confuses me. Why Keras is still a separate brand? Why everything isn't under just tensorflow namespace instead of having to do tf.keras all the time. I really wish tf just had one API and just one thing to learn.

<comment><USER8> Keras is a high level API that can use multiple backends. So it makes sense for them to remain separated.

<comment><USER9> I haven't used TF much lately, but the last time I looked at TF2 it felt like they are making it harder to build low level api models.

<comment><USER8> I doubt it, it's more likely that they are creating higher level abstractions atop the lower level ones and are advertising/documenting the higher level ones

</comment></comment></comment></comment></comment></comment><comment><USER10> I am very happy that Google has realized the importance of usability. Hopefully that comes with concomitant improvements in the tf documentation, which, while thorough is completely unusable and lacks good examples for complex things.

</comment><comment><USER11> Any news on Swift for Tensorflow?

I'm skeptical of how much practical benefit it will provide but still willing to take a look at it.

There doesn't seem to be any mention of it here.

<comment><USER4> From what I understand this is mostly because they hired the Swift guy.

I understand the benefits compared to Python (although I would have preferred Go or Kotlin). But what happens when the guy eventually moves on in a year or two?

<comment><USER12> Google's making a big investment in Swift, so if Chris left and they were interested in continuing to support it they shouldn't have a problem.

I've gone to Swift on the Server conferences hosted/sponsored by Google, their (non-TF) Swift teams are building some cool Swift tools, etc.

<comment><USER4> Google is a Go shop, specially when it comes to servers.

Swift is not properly supported on linux, which is Google's main platforms.

<comment><USER13> This is incorrect; swift is open source and has linux deployments : [https://swift.org/download/](https://swift.org/download/)

<comment><USER4> Linux support is still WIP. Some parts are missing

</comment></comment></comment></comment></comment></comment><comment><USER14> Nice to see the project moving along, I'm just getting started with the basics for a way finding application and will probably start off with version 2 then.

Hopefully by the time stable comes around I'll be near production ready as well.

A bit off-topic, but does TF or pyTorch work nicely with AMD GPUs?

I'd rather not have to deal with Nvidia's blob drivers if at all possible.

<comment><USER9> _does TF or pyTorch work nicely with AMD GPUs?_

No.

</comment></comment><comment><USER15> Does anyone know when there'll be updated Coursera (or other sites) courses with TF 2.0?

<comment><USER16> They have one on udacity</comment></comment>


Adrenalin driver breaks Command & Conquer games - <AUTHOR> https://community.amd.com/message/2839053#comment-2839053 <comment><USER2> Response doesn't make sense at all

"This title is from 2007, so we are unlikely to devote any valuable engineering resources to this issue, which is most likely caused by outdated API modules"

Doesn't make sense #1: Reason to not fix because it is from 2007, what about counter strike?

Doesn't make sense #2: Fixing the issue implies devoting "valuable" engineering resource, does it mean they don't have enough engineers or such issue is extremely difficult?

Doesn't make sense #3: "outdated API modules" was that likely from an educated guess and what does it mean even.

It sounds really foolish for a reply of this calibre to a community of supporters. I love AMD for what they're doing technically but I hope someone can at least promise to fix it soon before this hits the larger community.

<comment><USER3> This is about politics and nothing else. I hope, and believe, AMD will fix this.

The main issue is probably due to a bug in the old driver. After a while, bugs become a feature, and it's not uncommon to implement bugs to retain backwards compatibility. This is where the politics enter the scene. Some engineers believe that all bugs must be squashed, while others have a more pragmatic approach. IMO, any behavior that is a problematic deviation from the old drivers, should be changed. Otherwise there is no backwards compatibility, only a best effort approach, which is unacceptable for something as crucial as a graphics card driver.

<comment><USER4> When using a gl API, doesn't code declare a version number that they could use to selectively patch known bugs, if that's the case?

<comment><USER5> There are specific version profiles like "opengl 3.3 core profile" but a lot of older apps aren't versioned in any fashion, they just request specific extensions. Behavior for specific extensions has varied (old drivers had major bugs, and apps had workarounds for them). If you're on mobile you can assume with near-100% reliability that your GLES driver has a bunch of bugs and you'll need to ship workarounds for them. Chrome (Blink) and Firefox (Gecko) both have huge blacklists for specific GPUs/drivers along with sets of workarounds for issues, many of them specific to individual mobile GPU chipsets or drivers. I shipped a game targeting GL 3.3 core a couple years ago and we hit multiple driver-specific bugs, despite 3.3 being pretty old.

Now imagine you're a driver developer: All this software out there assumes your driver is broken. What happens when you fix it? Well, hopefully the app's workarounds don't actually cause it to break or produce incorrect results. What if the workarounds make it really slow? You want it to run fast on your hardware so people won't buy your competitor's hardware. So now you have workarounds for their workarounds...

OpenGL shaders have (iirc) always been versioned, so that's good at least. The introduction of profile versions also helps but at present even those tend to have major bugs depending on OS and driver, so workarounds still end up in games and applications.

Direct3D was historically much more explicit about versioning and feature sets but there's a lot of variability through things like caps flags (hardware can advertise different levels of functionality) and the app explicitly requesting specific features like a given texture format. Shaders in Direct3D are versioned, but it's quite possible that a driver is only built to handle shaders generated by a given _shader compiler_ , so a new compiler targeting the same _shader version_ will still break the driver. Some shaders probably were generated by old broken compilers, and the driver probably has workarounds for those.

Also, modern graphics drivers typically have a bunch of hacks they quietly apply to big-name game titles and applications to make them run faster or suppress crashes. This goes as far as driver developers _actually rewriting the shaders_ that a game uses, in order to improve performance on their hardware. An infamous old example of this is 'quack3'. [https://techreport.com/review/3089/how-ati-drivers- optimize-...](https://techreport.com/review/3089/how-ati-drivers-optimize- quake-iii)

On the bright side, a lot of this madness is gone in Vulkan and Direct3D 12. But very little software is going to end up using those APIs because they're much, much harder to use correctly.

</comment></comment></comment></comment><comment><USER6> Wow. That is kind of bad. I love to play older games regularly, and had high hopes, because amd provides more and more linux support. But this is kind of a dealbreaker for me. Just wait what happens if reddit and the news get wind of this. i mean it will not be EA kind of bad, but it will surely be bad.

only if the reply is and will be the official position.

<comment><USER7> Given how bad AMD's Linux drivers were not too long ago. It will take years of very high quality before I trust them again.

<comment><USER8> I've been waiting for ATI to start having good drivers since 2003. What's weird is that even after being bought by AMD they still haven't turned around. That is to say, if I were you, I wouldn't hold my breath. You'd be more likely to see the open-source drivers for AMD hardware catch up in performance to nVidia's.

</comment></comment></comment><comment><USER9> This is a tough one for AMD, because while the number of gamers directly affected is low (~1500 daily players on Steam), it hurts the brand badly - people will think other games might lose support also. That kind of FUD is gold for a competitor.

<comment><USER10> How is this a tough one? What I mean by that is that any marketing & comms person worth their salt would have prevented this employee from ever making this statement in the first place.

<comment><USER11> The statement is bad but the underlying choice not to fix it probably won't change. If they do fix this it's likely because of the PR backlash rather than because fixing compatibility with a very old API is important.

<comment><USER12> there's a good correlation between age, having disposable income and a preference for older games.

AMD is playing with the fire here.

<comment><USER13> lmao You guys are a riot.

<comment><USER14> Would you please stop posting unsubstantive comments to HN? We ban accounts that do that repeatedly.

[https://news.ycombinator.com/newsguidelines.html](https://news.ycombinator.com/newsguidelines.html)

</comment></comment></comment></comment></comment></comment><comment><USER15> > You can be an outdated API module

Nice.

Still though, I assume the issue is larger than "some game from over 10 years ago is not working" and is more like "an entire API is not working"? If so, this also has serious consequences for higher-impact applications as, for example, in a professional setting like CAD. It would reflect badly on AMD if they "intentionally" break things, or at least intentionally not fix them.

<comment><USER16> No, most DirectX 9 games still work (otherwise the driver would have NEVER passed QA). They probably removed a workaround for a buggy way some game developers were using the API.

<comment><USER17> Well, shit, but that's how they used it. Even if it was never intended as a feature developers used it like one. Here's a tip: Fix bugs when you find them, not after decades and developers won't expect you to keep them around.

<comment><USER16> I don't think they fixed a bug or something. A new developer probably just stumbled upon some undocumented code he didn't know what it was used for, so he removed it. My tip: They should improve their CI.

</comment></comment></comment></comment><comment><USER18> My biggest problem with this isn't that some DX9 games (including AAA titles like Red Alert 3 and Witcher 1) don't work on newer hardware; I can understand some old titles having trouble running on new hardware.

What stings me is that they did work in the pre-adrenaline drivers: this was a regression in functionality across the board on current hardware.

</comment><comment><USER19> The way AMD handled this issue seems to be unacceptable. We all go through the cyle of product future features, deprecating the older features and maintaining the compatibility. Its our best interest not to break the compatibility without having telemetry of how its being used.

</comment><comment><USER20> "Other problems with the latest driver included glitching, flickering, screen going blank for several seconds, radeon settings manager crashing, relive failing to load, severe drops in fps..."

<comment><USER16> There must be something else wrong with this user's setup, otherwise there would be more comments about that. From what I've read the Adrenalin driver update was received positive by most users.

<comment><USER21> Sadly trying to track down the root cause may require a full rebuild of the system, something that may not be a option (never mind that things likely worked on a previous driver version)...

<comment><USER16> I would start with a new Windows user account and see if the problems also appears there.

edit: What I meant was that the user could try that to see if it isn't some software incompatibility.

</comment></comment></comment></comment><comment><USER17> _Your feedback is appreciated.

there is nothing more to add to this thread so it's locked._

What a way to save your face.

</comment><comment><USER22> This is why we can have nice things like openRA.

<comment><USER23> I really wish OpenRA 2 were further along! OpenRA is great already(though the AI does a nice job of kicking my ass a bit), but I've given up on trying to make regular Red Alert 2 work over multiplayer.

</comment></comment><comment><USER4> That's funny. Someone should ask why they are even working on "old" tech like DX9 then - it was released back in 2002!

</comment><comment><USER12> they worked too much on linux and forget what windows customers wants?

<comment><USER24> Workarounds for shitty EA game engines?

<comment><USER10> If this is about shitty workarounds that AMD had to add to their drivers to fix bad programming from an EA studio, well, too bad for AMD (Btw, I'm aware that all driver developers seem to have to add shitty workarounds for AAA games).

This is all about expectation management. The moment you implement a workaround for a buggy game you set expectations. Now it's AMD's problem, not EA's. If the game claims to run with DX9, and your driver claims to support DX9, and you implemented a shitty workaround to make the game work with your driver back in 2007, you better be prepared to support this workaround for as long as you claim to support DX9 with your drivers. If your drivers once worked with a game and then a new driver breaks that, it's most definitely your problem and not EA's.

<comment><USER25> As I understand it, the entire industry is like this. The reason you're constantly seeing drivers with performance updates and rendering fixes for particular games is that they've put something in the driver to work around a mistake in the original game code.

nVidia have a big developer support program, to the extent of sending their own devs to work on big titles, which makes this easier for them than AMD.</comment></comment></comment></comment>


Bertha, the Giant Borer That Broke, May Be Sinking Seattle's Downtown (2014) - <AUTHOR> http://www.npr.org/2014/12/10/369777033/bertha-the-giant-borer-that-broke-may-be-sinking-seattles-downtown

<comment><USER2> This is from last December. The latest [1] is that Bertha was successfully moved into the access pit, and they're starting to disassemble the cutter for repairs. Engineers on site did measure a ~1" sink of surrounding soil, but downtown Seattle is still standing.

[1] [http://www.wsdot.wa.gov/Projects/Viaduct/Contents/Item/Displ...](http://www.wsdot.wa.gov/Projects/Viaduct/Contents/Item/Display/2162)

</comment><comment><USER3> Seattleite here, and a member of the large majority of this fair city who wanted nothing to do with this fucking mess well before the first shovel hit dirt.

I want the viaduct gone as much as the next person, because when (not if) we have a decent sized earthquake, that thing is collapsing. So it needs to go asap. But there were so many better alternatives to a massive drill that everyone knew was going to turn into this colossal mess.

As it stands now we're just lucky it wasn't stuck underneath any buildings because then what? The thing can't go backwards. There is NO contingency plan here for when that inevitably happens in the next 9/10ths of the distance it still needs to go after this initial repair.

The only good to come out of this the past 12 months was a really creative (albeit far-fetched) concept for what to do when they decide to just shut the thing down:

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

</comment><comment><USER4> Here's the key support for the final clause in the title: "...and which some say is damaging nearby buildings." The "some" are almost entirely made up of owners who would like to sue the state or the owners of the tunneling company. The city and state engineers have concluded that there is no evidence of such (at least not yet).

The situation is typical for any large construction project; there have been, (and will be), stultifying screw-ups, but following significant delays, it will finally be finished. See also: Bostonians love their "Big Dig" ..now.

<comment><USER5> It doesn't help that The Stranger, a local newspaper, has an entire staff of people who are sitting around waiting to write yet another the-sky-is-falling article anytime anybody so much as farts in the tunnel. Those guys are just dying for the project to be a major disaster.

<comment><USER6> Except, how has it not been a major disaster so far? It seems like the epitome of "everything that could go wrong has gone wrong".

</comment></comment></comment><comment><AUTHOR> Related: [https://news.ycombinator.com/item?id=8729129](https://news.ycombinator.com/item?id=8729129) and [https://news.ycombinator.com/item?id=9116030](https://news.ycombinator.com/item?id=9116030)

<comment><USER7> One of those is your own submission, from today, linking to a similarly outdated article, which is weird

</comment></comment><comment><USER8> This is oldish news but worth noting that it wasn't Bertha herself that was sinking anything. The current best guess is it was the result of pumping out a huge amount of groundwater while digging a new pit to rescue her. Hopefully now that Bertha has entered the rescue pit this won't be a problem anymore.</comment>


Motorola: Apple won't open the iPhone - <AUTHOR> http://counternotions.com/2007/10/25/motorola-on-iphone/ <comment><USER2> This claim comes as Moto just announces a 94% drop in 3Q profits. Think someone is a bit scared, maybe?</comment>


Dropbox Chooses Investor Group, Valuation Set at $5+ Billion - <AUTHOR> http://techcrunch.com/2011/08/13/dropbox-chooses-investor-group-valuation-set-at-5-billion/

<comment><USER2> I'm somewhat surprised that a file sharing company can get a valuation this large. Don't get me wrong, the product is great, but I'm skeptical that the "file sharing industry" is big enough for valuations like this. Some quick math:

A 5 billion valuation implies earnings of at least 250 million/year. Assuming paying customers are worth 240/year and represent 5% of the user base, dropbox would need roughly 21 million users. Maybe 5% is high; if 4% is better then the number jumps to 26 million, etc...

There may be billions of people on earth, but how many are sophisticated enough to really need file sharing? Also, there are other players such as box that will claim some of those users.

Dropbox is awesome, but I can't understand the numbers on this one.

<comment><USER3> Agreed. My first reaction was "way too high". The problem imo is that they don't have a huge edge over the competition. Hell even Ubuntu has a semi comparable product. Not quite as user-friendly, but do a few easily duplicated UI difference really justify billions?

<comment><USER4> Justifying billions is of course a stretch, but having a really, really smooth UI definitely does make a difference. Its easy to underestimate these things in favor of technological advantages, which dropbox doesn't really have compared to every other personal file hosting site. But normal people really don't know/care about that, for them all that matters is an easy UI that just works. And dropbox does just that, IMO better than any others

</comment></comment></comment><comment><USER5> I'm sure hundreds of second and third tier VCs piled on with ridiculous valuations in the hopes that they could add a "hot" company to their website. If this article is correct, Dropbox did the right thing and decided to go with smarter money.

</comment><comment><USER6> Congrats Drew and the rest of the team. Quite an accomplishment!

</comment><comment><USER7> tldr: they're rumored to have selected investor/s for a rumored amount at a rumored valuation.

</comment><comment><USER8> I tend to see the software world as divided between "Tools" and "Platforms"

Platforms are systems that enable a large number o similar behaviors -- Google is the search platform, Amazon the shopping platform, Windows is a platform as is MS Office. Platforms tend to be a winner take all business, as there are significant advantages to scale as well as strong network effects.

Tools on the other hand do one thing and one thing well. Most products start off as tools - then there are 2 ways to go, either become a platform (eg: facebook) or get bought by a platform (eg: flickr).

I don't see how dropbox is going to be worth $5B as a file sharing tool, nor do I see any platform buying them at that price.

So my question really is -- what is the dropbox platform gonna look like? What do the investors know that we don't?

</comment><comment><USER9> Just one more problem: as more and more great platforms become available, there seems to be a trend of users storing different kinds of data in their own specialist platforms. Photos on FlickR, music on Spotify, movies on Netflix, simple documents in Google Docs, code on Github, books on Amazon, mail in Gmail, etc. That leaves less and less stuff for Dropbox.

In particular, it leaves less gigabytes for Dropbox, because the big stuff is taken care of. So with the price of storage and bandwidth dropping exponentially and the amount of "other" data dropping, it's going to be hard to sustain a freemium model just based on a storage cap.

</comment><comment><USER10> Have I chance to have open source client? I don't trust blobs on my computer.

<comment><USER11> <https://www.dropbox.com/downloading>

<comment><USER12> The source on that page is for the Nautilus (GNOME File Browser) extension that adds right click menus and special icons to the file browser and "dropbox" a command line client for talking to the dropbox daemon in the same way as the Nautilus extension.

The secret sauce is dropboxd which is not open source.

</comment></comment></comment><comment><USER13> Sometimes I feel like there is a little jealousy among the startup community which translates into _I like this, but the valuation is absurd_.

Dropbox could be worth that much, I believe. Some say their business is not defensible because anyone else can build a similar product for free. Well until someone has, nobody has.

<comment><USER9> The problem with owning shares is that it takes a decade or longer to earn back your investment just through dividends. I'd say it's almost certain lots of competitors will be crowding the space with that time span.

</comment></comment><comment><USER14> Sigh, another article that celebrates funding as some type of success. It isn't. What matters is what they do with that money.

<comment><USER15> What in the article celebrates funding as success?

<comment><USER14> I admit, my post was an overreaction. My concern, and the reason I've stopped reading TC, was that we're in a culture that celebrates VC funding as some sort of business success. It's a milestone, but it's not success (in my eyes, anyway). Real success, which Dropbox certainly has reached, is when you build a sustainable company where your customers pay you for providing value, not investors. Investors eventually want their money back.

That said, my comments were definitely not targeted at Dropbox and I applaud that team for building a great product and providing great value.

<comment><USER16> Fair enough. But funding is one of the few publicly visible milestones that a startup can achieve. One could argue that it's almost a _proxy_ for success.

Either that or we should all get excited with a press release from Dropbox saying they reached 10 million users. But that doesn't excite geeks (do you care if Apple sold 20 million iPhones this month? No, you care about the iPhone 5).

<comment><USER14> I absolutely would get excited for Dropbox saying they reached 10 million _paying_ users. =)</comment></comment></comment></comment></comment>


OkCandidate, find out who you should vote for in the republican primary. - <AUTHOR> http://okcandidate.com/

<comment><USER2> Not just the Republican primary, it also includes Obama.</comment>


GoCity – Code City metaphor for visualizing Go source code - <AUTHOR> https://go-city.github.io <comment><USER2> Very interesting! We built something very similar a few years ago for visualizing code complexity (or other metrics) over large code bases, it's also open-source:

[http://quantifiedcode.github.io/code-is- beautiful/](http://quantifiedcode.github.io/code-is-beautiful/)

Here's e.g. the cityscape visualization of the Django codebase:

[http://quantifiedcode.github.io/code-is-beautiful/code- city/](http://quantifiedcode.github.io/code-is-beautiful/code-city/)

We also did some 2D versions of the same graphs, which are often a bit easier to interact with.

<comment><USER3> This is really neat, does your team/you actually use this in a meaningful way? Take a snapshot of a project occasionally to get an idea of whether it's getting unwieldy, etc.?

<comment><USER2> We offered this as part of our SaaS product (now retired, [https://github.com/quantifiedcode/quantifiedcode](https://github.com/quantifiedcode/quantifiedcode)). The data was generated using a tool called "checkmate" ([https://github.com/quantifiedcode/checkmate](https://github.com/quantifiedcode/checkmate)), which produced various metrics grouped by directory for each git commit of a project (in an efficient way). This data was then used to generate the visualizations.

An example for the data generated by checkmate can be found here:

[http://quantifiedcode.github.io/code-is- beautiful/data/djang...](http://quantifiedcode.github.io/code-is- beautiful/data/django_complexity.json)

For a given git commit, checkmate only re-analyzed the files that changed and then recomputed all metrics on the fly using the new and existing file revisions, which would take only a few seconds to minutes even for very large projects.

</comment></comment></comment><comment><USER4> Reminds me of FSV: [http://fsv.sourceforge.net/screenshots/10.png](http://fsv.sourceforge.net/screenshots/10.png) (which was a clone of some even earlier SGI demo app - [http://www.siliconbunny.com/fsn-the-irix-3d-file-system- tool...](http://www.siliconbunny.com/fsn-the-irix-3d-file-system-tool-from- jurassic-park/))

Anyone know of other metaphorish visualizations that might be useful for navigating code or graphs?

<comment><USER5> How can you mention those tools without also noting their most famous on- screen appearance: the "hacking" scene from Jurassic Park :-)

This is almost the opposite of what you're asking for, but I am reminded of a rather more 2D version of these tools for finding what is using up space on your hard drive: the very excellent SpaceSniffer [1], which is sadly only for Windows.

[1] [http://www.uderzo.it/main_products/space_sniffer/](http://www.uderzo.it/main_products/space_sniffer/)

<comment><USER6> That tool reminds me of KDirStat ([http://kdirstat.sourceforge.net/](http://kdirstat.sourceforge.net/)).

<comment><USER5> That looks promising; pity it doesn't put the file/directory name in the graph. It looks like KDirStat and its successor QDirStat have a split pane view, with file names at the top and anonymous rectangles representing file sizes at the button. It's hard to express how much more effective it is to see all the information in one visualisation. It sounds like a small thing but it's really the whole point of the tool.

The are issues about it in the QDirStat repo. The author has two objections: The first is that it would look ugly. That's pretty silly: obviously function is more important than looks when I'm tracking down disc space usage. Their other objection is that in Linux you have such a wide directory structure that all the labels would be uselessly crushed into tiny boxes anyway. That also doesn't make much sense to me; even if you have a lot of directories in your tour directory, usually there's only one or two containing the vast majority of disc usage (that's why the tool's useful on the first place!) so their labels will be clear, and if the others aren't then I don't care because I'm not interested in then in the first place. Perhaps the real problem is that QDirStat doesn't have the ability zoom in and out, and to increase and decrease the visibility depth, that SpaceSniffer does, which is also needed to make labels useful.

Sorry, I didn't mean for that to turn into an essay!

</comment></comment></comment></comment><comment><USER7> This is amazingly cool!

The grand daddy of them all, Kubernetes, takes quite a toll performance-wise.

[https://go-city.github.io/#/github.com/kubernetes/kubernetes](https://go- city.github.io/#/github.com/kubernetes/kubernetes)

<comment><USER8> Haha that crashes chrome on my pixel 2.

<comment><USER9> K8S was the second thing I tried (after randomly trying hashicorp/vault). It took about a minute to load on my Toshiba CB30, but it actually worked! Rotated at 0.3 FPS though.

</comment></comment></comment><comment><USER10> If you want a test case for improving the rendering performance, try "github.com/juju/juju". It manages about 1 FPS on an iMac.

<comment><USER11> similar load test is to hit github.com/golang/go

<comment><USER12> Yeah, that crashed mobile safari for me when I tried it earlier. I imagine kubernetes would be tough as well.

<comment><USER13> How does github.com/upspin/upspin compare?

<comment><USER12> It immediately errored out on the server. Also, I recognize your username from a transitive dependency, I think from blackfriday (markdown library), so thanks for your contribution!

</comment></comment></comment></comment></comment><comment><USER14> Reminds me of Firefox's 3D View

[https://developer.mozilla.org/en- US/docs/Tools/3D_View](https://developer.mozilla.org/en-US/docs/Tools/3D_View)

Can anyone suggest anything like this for Rust or Lua?

</comment><comment><USER15> Without fail this is how it renders on my android with latest chrome

[https://imgur.com/a/pCQLpVE](https://imgur.com/a/pCQLpVE)

Never seen rendering issues like this before.

</comment><comment><USER16> Some kind of treemap [1] might be a better visualization option, 3D visualizations are notoriously hard to navigate. NDepend [2] is a code analysis tool for .NET which, among other things, uses treemaps to visualize code bases. There are also a versions for Java [3] and C++ [4].

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

[2] [https://www.ndepend.com/screenshots](https://www.ndepend.com/screenshots)

[3] [https://www.jarchitect.com](https://www.jarchitect.com)

[4] [https://www.cppdepend.com](https://www.cppdepend.com)

</comment><comment><USER17> Neat. Has anyone tried visualizing code before and after refactoring or other transformations? Maybe code smells cause visible differences.

</comment><comment><USER18> A note: Doesn't seem to work here, just a blank screen. Linux, Firefox 63.0b14, uBlock Origin. It does work in Chromium.

Firefox console says something about firebase being undefined: [https://i.imgur.com/t4xOHGh.png](https://i.imgur.com/t4xOHGh.png)

<comment><USER19> On my FF, it just opens a small window with:

XML Parsing Error: undefined entity Location: chrome://browser/content/browser.xul Line Number 2483, Column 29: flex="1">&trackingProtection.on;</label> \</comment></comment><comment></comment><comment></comment><comment></comment><comment>----^

</comment><comment><USER20> Cool! Interestingly I always use a similar metaphor on my own projects. For instance, the event system may be seem as the roads linking different blocks (domains), each with their own building (module).

</comment><comment><USER21> why no webgl app likes to include canvas (mesa?) polyfill? isn't there any good one? or they all assume 5~15s delay for a static visualization is worse than no visualization?

</comment><comment><USER22> Door Locks! Ellie, boot up the door locks!</comment>


Git-repo – Manage Gitlab, GitHub and Bitbucket from the command line - <AUTHOR> http://i.got.nothing.to/code/on/git-repo:_the_utility_for_services/ <comment><USER2> I really enjoy how the author broke down both the problem and the solution, explaining why the existing solutions are inadequate. I often see articles about new products or new programming languages, and their features, but they often forget to mention what problem prompted the solution. Why was a new language invented to solve this problem? Why were the existing solutions limiting?

Bravo to the author here for making all that information clear and up-front.

<comment><USER3> > I really enjoy how the author broke down both the problem and the solution, > explaining why the existing solutions are inadequate.

A thousand times this, I always get frustrated that every single product, tool or service has to have a lot of marketing gibberish, catchy slogans, etc., but zero explanations of what problems do they attempt to solve, or what was the motivation to create them.

You usually are required to dig further in the documentation or look for an external reference to understand what's the real purpose behind a product, tool or service.

<comment><AUTHOR> thank you a lot for your comments

I actually wrote that tool based on a huge frustration I had going back and forth to the browser, and not being able to work while being agnostic to the services, which felt being a totally broken UX. I have then worked on that tool for a while, used it and refactored it a lot up until I'm happy using it.

All in all, when I'm doing a tool, I'm first doing it for myself (I might invent the DIFY concept, to override the DIY concept )… only then I'm sharing it with others.

<comment><USER4> The same situation kinda drove me insane too, but I've been happily using -

[https://github.com/ingydotnet/git-hub/](https://github.com/ingydotnet/git- hub/)

for a while now. It might be interesting to compare and contrast your tooling and git-hub - ingy's being straight bash, while a little crazy, makes installation really trivial, but then again yours supports multiple services, but then again who knows whether the different subcommand syntaxes will work better or worse for any particular other user.

(also, lest anybody think this is a veiled complaint, I'm sure ingy's reaction to finding your work exists will be "awesome, the more the merrier" followed by figuring out if you came up with any features he wants to steal ;)

<comment><AUTHOR> Thank you, though pretty close, our approaches are slightly different. My main focus is use case, I did not implement the social features of a repository, because those are things that happen happily in a browser.

But project/merge requests/gists are things that have a lot of sense to happen in the commandline /instead/ of within the browser. So basically, his solution is more feature complete on the social side, whereas I implemented more the repository interaction side (like creating gists, or fetching a PR).

So for sure he's got a point for portability being a bash script, but still python3 is begining to be widespread enough.

I mean, if debian-stable got it, you can consider it's everywhere…

<comment><USER4> Not sure if it's something you'd call a social feature, but I find things like listrepos on an organization to be really helpful for piping into xargs to checkout everything a new customer depends on.

The PR stuff is so far as I can see complete in git-hub - what do you think you're missing?

(edit: if you meant gists, lots of the people I know already use paste site CLIs that handle that, btw, so to -us- that's more a social feature than the existing functionality is)

<comment><AUTHOR> My bad, I did not scroll down to see how complete the command set was. At the top of the readme the list of commands is misleading (I thought there were only those at the first read).

I'm not sure I can see a real use for checking out every repo of an organisation (I mean, if you do that with mozilla, you better start before going for a long holiday ), but having it /possible/ is a great thing

So I guess we're pretty much alike, git-repo being strong for being service agnostic, and git-hub being more complete.

Though, in my redesign plan I got for version 2, I have in mind a framework to make it possible to implement service-specific CLI API, while sharing a same core CLI API for the service-agnostic features.

So my hope is that people will like the tool enough to participate in the development and help make the tool more feature complete across the services!

<comment><USER4> > I'm not sure I can see a real use for checking out every repo of an > organisation

Maybe I wasn't explicit about it, but I did (and do) have one:

New customer with a github org and I want everything from their org so I can have a spelunk through the code while getting up to speed, build out dependency graphs to get a feel for how things interrelate, etc.

In fact, making it possible to script checking out an org's worth of perl repositories and shoving them into an [http://p3rl.org/App::opan](http://p3rl.org/App::opan) instance easily was the thing that was painful enough for me to finally install git-hub.

So, yeah, it may not be a common use case but it's actually an essential feature for me. Whether this means you should prioritise stealing it likely depends on how common it is, which I can't answer :)

</comment></comment></comment></comment></comment></comment></comment></comment><comment><USER5> I use hub[0] to accomplish some of the same things. `hub fork` creates a fork and sets up a new remote. After pushing to my fork, `hub pull-request` creates a pull request.

[0] [https://github.com/github/hub](https://github.com/github/hub)

<comment><AUTHOR> Well, I saw about hub, but I wasn't happy with the fact that it's a github only tool, I really wanted a service agnostic tool, and also because the CLI API was not great. I don't want a tool to replace git, I want it to extend it.

What git-repo really offers is a tool that integrates nicely to the git CLI (as `git-something` is also available as `git something`, so git-repo acts per default as `git repo hub…`). And then it autoconfigures the .gitconfig aliases to have the `git hub`, `git lab`, `git moo` you'd want.

So besides the fact that hub is certainly much more mature than my tool, it wouldn't be a tool I'd like to really use.

<comment><USER5> You can just alias hub to git to solve the first problem. As far as being service agnostic, that's a fair point. I rarely use anything outside of GitHub.

</comment></comment></comment><comment><USER6> There's also git-spindle for this:

\- [https://seveas.github.io/git-spindle/](https://seveas.github.io/git- spindle/)

\- [https://github.com/seveas/git-spindle](https://github.com/seveas/git- spindle)

<comment><AUTHOR> what the… ok I totally missed that one! And I _DID_ search before writing such a tool

<comment><USER7> That's what always happens to me as well. I've attributed it to me only half- heartedly searching, because deep down I just want to write the tool.

<comment><AUTHOR> Well, TBH, as an engineer, I hate to reinvent the wheel. I prefer to join and improve the existing concept with my own ideas to make it the synthesis of many peoples ideas

You might see on my github that I do that a lot, I'm being some sort of mercenary of FLOSS projects, as I patch wherever I see a bug or want a new feature without really caring about the "big plan"

Actually, I wrote the tool because deep down I just want to /use/ the tool.

</comment></comment></comment></comment><comment><USER8>
      then you watch the code, create a branch:
      git checkout -b `bugfix/nasty_one`

Please remove backticks from the command. What if you called the branch `poweroff` instead and a naive reader copy/pasted the command into her terminal?

<comment><USER9>
      poweroff: Need to be root

<comment><USER8> One might have sudo privileges configured via /etc/sudoers (It's the default on AWS EC2 instances!)

<comment><USER9> Yes, but you still need to call "sudo poweroff", not just "poweroff".

<comment><USER10> See user chainsaw10. Anecdotally, on my vanilla Arch systems, I can run "poweroff" without being root, and without sudo, and the computers will end all processes and turn off.

</comment></comment></comment></comment></comment><comment> awinter-py Cool but 'repo' is a really hard name to search.

There's already a tool by this name and they have the same problem.

[https://code.google.com/p/git-repo/](https://code.google.com/p/git-repo/)

<comment><AUTHOR> Well, first the name really is `git-repo` not `repo`, and as nobody has really heard of it yet, the pypi package is already on first page of go, and second page of google.

I hope that if people like the tool, it's going to be easier to find.

Of course, I'm not really obsessed with the name (as anyway the tool is designed so the user does not type git-repo everyday ). So if someone comes up with a name that's great that can be better, I'm all ears!

About the fact that google has that other tool… Well they really are not much projects using it, beyond the google projects, and the tool really is called `repo`, not `git-repo`, so the name clash is not really there.

<comment> awinter-py I think harrow uses it for their builds

</comment></comment></comment><comment><USER11> I really like that this works for all services interchangeably. Yes, Github created Hub for this same problem, but I've used Bitbucket at some jobs and Gitlab personally for some projects. Having something uniform and service agnostic is great. It's clear the creator thought a lot about this design feature.

</comment><comment><USER12> This is wonderful. I'd guess that this little tiny bit of extra friction is enough of a disturbance to the workflow for private local/personal/work projects to prevent many from bothering to contribute back in some cases (I'm definitely guilty here).

<comment><AUTHOR> And I hope also level the game for alternatives to github. Git is distributed by nature, and we should only be happy to see cross services forks happening!

</comment></comment><comment><USER7> > The git utility has a rather well designed interface to make it easy to > remember, extend, and/or customize

> (which nobody does, because who remembers the git remote syntax?

I wish we would move on from the "git has good UX" narrative, it's preventing us from _actually_ improving the UX.

<comment><AUTHOR> note that I did not say that git has a good UX, I said it's /rather well designed/… Maybe should I have emphazised on the /rather/, or used something stronger like /relatively/ .

But anyway, designing the command line API of my own tool took me enough headaches — and I'm still not 100% satisfied — to understand how hard it is to have a consistent and great UX for something that offer as many features as git does. Though, I'm trying my best to avoid the decade old troll about git's UX (like vs mercurial)…

In the end, what I try to make clear it's that I'm not trying to replace what git does, but cluster a bunch of repository actions tied with some service's API operations.

And I try my best to offer a pleasant UX doing so. But please, help me making it better!

<comment><USER7> I agree with you on everything, except the "easy to remember" part. Git's UI is very convoluted and inconsistent. Designing a good UI _is_ really hard, but I see too many people fall into the "I learnt it, so it must be easy!" trap.

Congratulations for making git-repo, by the way! It looks extremely useful.

<comment><AUTHOR> Well, for the easy to remember, I might have been presomptuous O:-)

</comment></comment></comment></comment><comment><USER13> The name is slightly problematic as Google also released something with the same name: used for Android to solve the issue with multiple repositories instead of submodules.

Besides that, looks interesting and I will give it a try!

<comment><AUTHOR> Well as I said for another post I'm aware of that. As the google project is mostly used only for android and chromium, and as the canonical name of the tool really is /repo/ and not /git-repo/, there's no real name clashing.

The only issue might be my project being shadowed by google and go, but the more people will like and use the tool I baked with , the more it'll appear on their first page. So it's not really up to me, but up to you all liking it!

And finally, if someone comes with a nicer better name than what I chose (I actually did not spend more than 2.42 minutes on the name when I had to mkdir the project's directory), I might be happy to rename :)

Otherwise, I hope you'll like the tool and send me patches and <3

</comment></comment><comment><USER14> Goood, I'd really like to try it out. I'm tired of opening the browser go to my fork and create a branch to make a MR/PR for the project I'm working out.

I will really try it out. Thanks!

</comment><comment><USER15> What about bitbucket?

I see references to lab and hub, is bitbucket missing?

<comment><AUTHOR> Bitbucket support is there. But it's not feature complete, and not up to my standards…

The issue I have is that I got to implement OAuth2 for bitbucket, because the privatekey scheme offered by bitbucket does not work for a CLI tool use case. So currently, the credentials (login/password) of bitbucket are stored in CLEAR in the configuration file, which really, really sucks…

And some new features (like the snippets) are not implemented in third part python libraries, because most of the libs are old and unmaintained.

Anyway, following some discussions I had with atlassian bitbucket developers, bitbucket (like gitlab) is planning to switch to swagger, which will help automagical generation of client-side feature complete libraries. So I'm planning to level bitbucket feature set as soon as they land the new API.

So I hope it won't be long before all the features will land for the three services!

</comment></comment><comment><USER16> I'm amazed that nobody has commented yet about how this is a CLI wrapper around web services which are wrappers around a CLI tool. Or is everyone here already too jaded and so used to piling endless abstractions upon abstractions that this is considered normal?

How about if people simply accepted patches via e-mail, instead of requiring those obnoxious github pull requests?

</comment><comment><USER17> Feature request - Add the ability to create a merge request from command line. Esp for GitLab

<comment><AUTHOR> See the issues, it's already implemented, but not released yet. The issue is that I also am working on the gitlab snippets… which lacks an API. So I'm currently working on a patch to add an API to the gitlab snippets, so my tool can have gitlab snippets!

[https://github.com/guyzmo/git- repo/commit/59c7ac2cd4c0316016...](https://github.com/guyzmo/git- repo/commit/59c7ac2cd4c0316016bf8a03c2fbedbc19fe5626)

So pretty soon I hope I'll be able to finish both MR and snippets for gitlab, and finish the tests and merge all that back to git-repo!

</comment></comment><comment><USER18> Honestly, I just opened the post to find ridiculous things to criticise. But in fact this looks like a valid helper. Sure I don't have the same workflow, but this one seems to work as well. Good work!

</comment><comment><USER19> I am using a private gitlab instance. No support for this?

<comment><AUTHOR> Yes there is! There's a bug that has been found that crashes the feature, but I got a patch ready to publish.

<comment><USER19> Ah sorry, my assumption was based on the config wizard not asking for my URL. I've found how to do it in the README. Thanks!

<comment><AUTHOR> Oh, I need to make a ticket about adding that to the wizard. Be my guest if you want to :-)

</comment></comment></comment></comment><comment><USER20> I'm surprised Github et al. haven't tried to contribute some functionality for doing this to git. The thing described in the article is extremely common.

<comment><USER21> They have, sort of. [https://hub.github.com](https://hub.github.com)

<comment><USER20> Do you use it?

<comment><USER21> No, actually, but I did (sort of) reimplement[0] the "git browse" command that hub gives you.

I'd probably use hub if I was involved in more projects that didn't have me as the sole developer.

[0]: [https://github.com/azdavis/dotfiles/blob/master/bin/git- brow...](https://github.com/azdavis/dotfiles/blob/master/bin/git-browse)

<comment><AUTHOR> hehe, it's also implemented in git-repo: `git hub open`

</comment></comment></comment></comment></comment><comment><USER22> The site is now returning an error. I guess HN killed it?

<comment><AUTHOR> nah, I don't think so, I think you might have reloaded as I was recompiling the blog

</comment></comment><comment><USER23> nice idea. bad name

<comment><AUTHOR> thank you. Please suggest a better name! :-D

<comment><USER24> "I'm the C.L.A.I.T commander" : [https://www.youtube.com/watch?v=bB51NCcvuMs](https://www.youtube.com/watch?v=bB51NCcvuMs)

<comment><AUTHOR> <3 I guess you're referring to my other project :-)</comment></comment></comment></comment>


Ask HN: Idea Tuesday - <AUTHOR> Do you have ideas that you will simply not have the time to implement? Share them here.<p>Related: https://hn.algolia.com/?query=idea%20sunday&sort=byPopularity&prefix&page=0&dateRange=all&type=story <comment><USER2> A 'Wikipedia of Arguments' as a base for large-scale decision making.

This is important for huge problems like climate change, where one person alone cannot have all the knowledge to make the right decision.

If I had the time or money, I would work full-time on this project. I think it's one of the most important problems of our time. There is a group of researchers and developers having a weekly zoom call about it. But the whole project lacks funding.

Read more details here:

[https://github.com/canonical-debate-lab/paper](https://github.com/canonical- debate-lab/paper)

[https://www.societylibrary.org/](https://www.societylibrary.org/)</comment>


Can Darpa fix the Cyber Security 'Problem From Hell?' - <AUTHOR> http://www.wired.com/dangerroom/2011/08/problem-from-hell/?utm_source=feedburner&utm_medium=feed&utm_campaign=Feed%3A+wired%2Findex+%28Wired%3A+Index+3+%28Top+Stories+2%29%29

<comment><USER2> I attended a presentation a while back by a guy who was working on thermal fingerprinting/watermarking for ASI[CP]s. It was targeted at design/soft-IP producers, to detect if a particular chip was using their SoC modules without a proper licence, by observing particular thermal signatures each IP block generated. The cool bit was how it integrated deeply into the actual block layout, to make it harder to remove.

It wouldn't stop the problem of a malicious manufacturer with sufficient resources from adding nasty things, but it could probably raise the bar a bit.

</comment><comment><USER3> This is reminiscent of the problem laid out in Ken Thompson's "Reflections on Trusting Trust."

<http://cm.bell-labs.com/who/ken/trust.html>

</comment><comment><USER4> TL;DR version - Foreign governments can inject malware at the chip level, we don't have a second source.

I think the short answer to this question is 'no.' The more interesting question is can you write software that defends itself against a chip trying to subvert it? Possibly. Some of the original triple redundancy with voting research that was done for the space program might be useful here. Basically run three chips in parallel and insure they all do the same thing. This would have addressed the SCADA malware as it affected the operation of a single PLC but wasn't synchronized to other PLCs. So using a voting scheme for 2 out of 3 you would have had reliable operation.

I think one of the winners would be Intel here. They have the most fab capacity in the 48 contiguous states. With government contracts mandating the chips be built on Intel processes in the U.S. of A. they could at least protect the supply chain some what and act quickly when they suspected a problem.

<comment><USER2> Redundancy and majority-vote decisions are not much use if you're relying on 3 instances of the same subverted hardware.

(A similar problem applies to non-malicious uses, where multiple systems (even with N-version programming, clean room implementations, etc) interpret the specification incorrectly and the majority vote the wrong way.)

Second sourcing and strict requirements for different hardware implementations would cut a lot of the risk, especially if, as you say, one of them is a trusted, domestic manufacturer.

The level of global production processes for high technology used in weapons would make for an interesting additional dynamic to military foreign policy. You can't really go attacking the guy who makes the widgets for your laser guided bombs unless you've got either a really big stockpile (and risk economic problems and obsolescence), or you can build them domestically if necessary.

The statistic quoted in the article:

 _"The Pentagon now buys 1 percent of all the world's integrated circuit production"_

is pretty scary. I can't seem to find any reasonable source for the total IC production available. <http://dx.doi.org/10.1126/science.1200970> looks interesting, but I don't have access, so I've gone with the Ars summary on it: [http://arstechnica.com/science/news/2011/02/adding-up-the- wo...](http://arstechnica.com/science/news/2011/02/adding-up-the-worlds- storage-and-computation-capacities.ars)

Assuming they're in it purely for GPU power, 1% of the estimated 10E12 MIPS is 100 Billion MIPS for the US defence establishment. Of course, 90% of it will be custom fabbed stuff for embedded systems, but the sheer scale of it is mind-blowing.</comment></comment>


Becoming Self-sufficient with Grunt.js - <AUTHOR> http://blog.raddevon.com/becoming-self-sufficient-with-grunt-js/

<comment><AUTHOR> The Grunt JS page doesn't do a great job at explains why you should use Grunt JS, this blog post does!</comment>


Ensuring PEP 8 compliance using Git hooks - <AUTHOR> https://seanmckaybeck.com/2014/08/20/pep8-git-hooks

<comment><USER2> _PEP 8 is the Python language 's style guide._

Right -- it's a "style guide", not a syntax.

When we talk about "ensuring compliance" (enforced by commit hooks, no less), we're effectively making it a hard constraint. Which, being a _style guide_ , PEP 8 was expressly not meant to be. As PEP 8 itself says:

 _But most importantly: know when to be inconsistent -- sometimes the style guide just doesn 't apply._

As an occasional lint checker, I can see the value of running a (configurable) style checker, now and then (the "configurable" part being very important, as you'll want to turn off certain proscriptions in certain cases -- to make your code, you know, more readable). But I definitely would not want to work in an environment where I was required to adhere to PEP 8 as an always-on, hard constraint. Which seems to be the very purpose of this tool.

</comment><comment><USER3> >>This is our final script.

It looks like you're missing a link</comment>


Brilliant Way to Get Someone's Attention - <AUTHOR> http://www.onwardly.com/brilliant-way-to-get-someones-attention

<comment><USER2> I recall hearing about something similar to this being done (using Facebook, as I recall), but didn't even think of applying it to google ads, to convey messages to specific people. Simply brilliant.</comment>


Show HN: Game of Bins - Javascript Puzzle Game - <AUTHOR> http://www.gameofbins.com

<comment><USER2> I don't like the fill colors. Right now you have three fills - full white, very translucent, and "slightly translucent". But I find it very difficult to judge whether a shape is very translucent or slightly translucent unless all the options are on the screen.

This made the tutorial especially jarring - when I saw a white fill blue, and a slightly translucent red, I ended up confused about yellow... was it the very translucent or slightly translucent?

I'd suggest changing one of the translucent colors to a full fill or some other representation, like stripes/polka dots.

</comment><comment><USER3> Solid vs. Light fill is hard for me to differentiate, especially the last practice "Find the Correct Bin"...could you use a pattern to fill instead? (Much more like Set)

<comment><AUTHOR> Yeah, using fill was just easier with the graphics library I was using. I've used pattern fills with SVG before, not sure how widely supported it is in browsers.

</comment></comment><comment><USER4> The tutorial would probably be nicer if it were more interactive earlier on, and this would allow you to ramp up players at the same time.

Explain shape matching, and show some example combos, but then dive straight into playing a quick round where the only thing you have to match is shapes. Perhaps use less bins so it's not too easy, and set a lowish target amount of points to move on, say 10 or 15.

Increase difficulty by adding more parameters, I would add colour first, balancing a quick reward cycle with the more complex gameplay.

On the tutorial, with the animations you currently have you definitely need a way to let players skip them. I wanted to quit the tutorial half way through because I already understood it, and the three animations are identical once you know the idea. I was getting frustrated by the tutorial before I got to even touch the game.

All in all an interesting diversion, thanks!

<comment><AUTHOR> Thanks for all the ideas!

</comment></comment><comment><USER5> Not really gameplay but the tutorial was slow (paced). I understood most of it by reading the text but still had to wait for the animations and had no way of skipping them.

Overall it was actually more difficult than it appeared on the face of it.

<comment><AUTHOR> Thanks for the tip. I'll tinker with the animation speeds.

Yeah, you get the hang of it, but it's not easy when you start. Do you think it'd work to ignore fill at first and just have color and shape to match on?

<comment><USER5> That is a good idea. Limiting the options so that the first bit is like a tutorial helps I think.

About the animation speeds there were some that I just didn't need to see the animation at all but had no way of getting to the next page.

The only other annoyance was the buttons had a different cursor than is generally expected of a button but they functioned and that is really the biggest thing a button needs.

</comment></comment></comment><comment><AUTHOR> I welcome any comments on gameplay!

<comment><USER6> Not a question about gameplay, but I have mixed feeling about the affiliate links on a show HN post. Maybe it's not the place for profiteering?

<comment><AUTHOR> Hmm yeah I see where you're coming from. A lot of affiliate marketing seems really sleazy to me as well. Here I'm trying to provide a bit of value on top of the advertisement.

Rather than buying search ads and making money of pure arbitrage, I made a game that might inspire people to read about the technologies used in the game. Then I follow up with links.

</comment></comment></comment><comment><USER7> Not a comment on the gameplay, but the tutorial is far to slow and drawn out - experienced gamers could have this summarised in maybe 2 images with a line of text each. Maybe under a "quick help" link?

<comment><AUTHOR> For you, was it the animation speeds or the material itself? Do you think a single page text with pictures description could work for "quick help"?

Edit: I'm tracking some basic stats, and it looks like 50% of those who start the tutorial don't finish.

<comment><USER8> I didn't finish the tutorial. For impatient people it takes too long :D

Saying that you can need to put together the same or all different forms/colors/fills should suffice. Whoever doesn't understand that probably won't have much fun with the game anyway.

</comment></comment></comment><comment><USER9> Inspired by: [http://en.wikipedia.org/wiki/Set_(game)](http://en.wikipedia.org/wiki/Set_\(game\))

</comment><comment><USER8> Found a bug :)

When placing the third object in a bin clicking several times real fast gets you a) tons of points or b) -1 per click.

<comment><AUTHOR> Thanks! I just fixed it.

</comment></comment><comment><USER10> is there always a correct solution visible on the screen, or do you have to make some moves based on the likelihood of completion pieces entering the stack from the left?

</comment><comment><USER11> Fun game, but the bottoms of the squares are cut off sometimes. Edit: also, I get kinda dizzy after doing it for a while. Don't know what's up with that.</comment>


Tarsnap news - <AUTHOR> http://www.daemonology.net/blog/2009-01-17-tarsnap-news.html

<comment><USER2> Just my tuppence worth here: I started using tarsnap a couple of weeks ago and it's been superb. I needed a way to create encrypted, offsite, incremental backups and I'm not aware of a service similar to Colin's -- usually you get to choose two of those options, not all three. Also, customer service has been excellent after I expressed an interest in using tarsnap under Cygwin: Colin has responded in a timely and professional manner to my emails, so now I can also back up my Windows server as well.

It's sometimes unclear what a startup plans to offer to its customers, and how it plans to make money. In fact, sometimes it's utterly baffling. tarsnap is a necessary product with affordable pricing, and I wish Colin every success with it.

<comment><USER3> You really hit the nail on the head. There's a solid business plan coupled with the three things backup needs. One thing to add: Tarsnap is even better than incrementals. It's snapshots that don't take up more space. That means that you can do things like delete an old archive since the newer ones don't rely on it for restore. Each archive works like a full backup even though it doesn't take up the storage space of a full backup!

I'm surprised that VC hasn't been banging down Colin's door. He has a workable business plan and a product that's wonderful. Tarsnap, in my opinion, should also have broad appeal to businesses. I know my company does a disk->tape thing, but often the tapes aren't so reliable, the whole setup is labor intensive, and it's stored in one location. Businesses are less hesitant to pay than consumers are and Tarsnap offers a lot of value.

<comment><AUTHOR> _I'm surprised that VC hasn't been banging down Colin's door._

Probably they either aren't aware of tarsnap or they aren't sufficiently technically inclined to be able to try using tarsnap for themselves. :-)

That said, I have had some inquiries; but my response so far has always been that at the moment, for the small amount of money which I could usefully apply, funding would be more of a distraction than it would be worth.

<comment><USER4> Probably you've heard those words from many others as well, but what about spending money for annoying, non-hackerish stuff like

* Building a complete, final product with appropriate documentation, feature matrix etc.

* Building a nice and informative web page describing your product, it's features, your offerings, it's advantages/disadvantages etc.

(...or maybe you already have plans for all those after you finish beta- testing.)

<comment><AUTHOR> Don't worry, I plan on doing all of that stuff, too. But I don't need people to beta test a website for months and months -- so making a nice-looking website isn't a high priority while tarsnap is still in beta testing.

</comment></comment></comment></comment></comment><comment><USER5> Colin, the SSL comment at the end of this is silly. There's no reasonable reason not to trust the security of SSL; there was _one_ CA that was vulnerable to certificate forgery, and only with a couple hundred PS3s running custom tuned MD5 birthday code designed by Marc Stevens and Arjen Lenstra. And it isn't vulnerable anymore.

<comment><AUTHOR> _there was one CA that was vulnerable to certificate forgery_

You only need one.

In any event, my feeling is that a rogue CA (I include a CA which doesn't perform adequate verification in this category) is the greatest of the three risks I mentioned.

</comment></comment><comment><USER6> Another happy tarsnap customer here. I've had it backing up all the stuff which matters to me every day for the past month. It's way simpler than my previous solution (backing up to S3) and it's much faster. It's also incredibly cheap (less than a dollar so far, my prepaid $5 should last a while :p)

</comment><comment><USER7> On the "getting started" page, there is a heading called "Register Machines". The first thing I thought of was <http://en.wikipedia.org/wiki/Register_machine> . Given your audience, that choice of words might be confusing :)

<comment><AUTHOR> I think there's a point where we have to accept that the English language is heavily overloaded, and trust that our readers will be able to understand our meaning from the context. :-)

But speaking of theoretical CS concepts: Part of the tarsnap source code implements a "multitape layer" -- which, in this case, refers to code which uses block storage to provide multiple simulated tapes -- but I spent a long time trying to think of a different name for it in order to avoid any confusion with multitape Turing machines.

</comment></comment><comment><USER8> Can you accept Canadian customers yet?

<comment><AUTHOR> Not yet. I hope to get sales taxes figured out some time in the next few months.

</comment></comment><comment><USER9> I've been using tarsnap for about three weeks. Very happy. Thanks for a great product!!

</comment><comment><USER10> Is windows in your future?

<comment><AUTHOR> Probably, but not very soon. Unless you consider Cygwin to be Windows, in which case you can start using tarsnap right now.</comment></comment>


Ask HN: splunk like query language? - <AUTHOR>

Are there any libraries that resemble a query language such as splunk? Perhaps splunk based their language off of something? It seems like it is a pipes or streaming type pattern but not sure if there is a better way to define it. <comment><USER2> I'd describe it as an anonymous/lambda function syntax to define a MapReduce.</comment>


Assessing the Big Five personality traits using real-life static facial images - <AUTHOR> https://www.nature.com/articles/s41598-020-65358-6 <comment><USER2> Nature Scientific Reports is so called megajournal. Their peer-review is minimal. They have tendency to publish all kind of weird stuff and even junk science.

More on Scientific Reports, And on Faked Papers [https://blogs.sciencemag.org/pipeline/archives/2016/06/15/mo...](https://blogs.sciencemag.org/pipeline/archives/2016/06/15/more- on-scientific-reports-and-on-faked-papers)</comment>


Senior Google employee says quest to stop leaks is now management's top priority - <AUTHOR> https://www.businessinsider.in/f-you-leakers-a-former-senior-google-employee-says-a-frantic-quest-to-stop-internal-info-getting-out-is-now-managements-number-one-priority/articleshow/67000790.cms <comment><USER2> [https://news.ycombinator.com/item?id=18634941](https://news.ycombinator.com/item?id=18634941)

</comment><comment><USER3> In some sense this isn't really new. Google has always emphasized the importance of keeping confidential things secret, with the argument that it allows them to share information more widely internally and have robust internal discussions. (In contrast to Apple which is much more secretive internally.) At least at first, employees mostly bought into it. It was always understood that if you get caught leaking you'll be fired and maybe worse, and generally people assumed you deserved it.

But this gradually eroded over the years, as more leaks happened and distrust increased, and now it seems to have mostly broken down.

</comment><comment><USER4> This article relies on a single former (disgruntled) employee as its source. We should definitely not be making inferences about the top priorities of Google's management based on his claims.

<comment><USER5> Funny how the word "disgruntled" always appears in attempts to negate unpleasant statements. Must be in some common algorithm...

Ad hominem is not really a good strategy for this these days. While we need to be cautious about veracity of any statement, using "disgruntled" is disqualifying anyone who uses it.

<comment><USER4> I think the "disgruntled" characterization in this case is quite accurate. I'm not sure how the ad hominem fallacy would apply since Jack Poulson is actually the source and subject of the article and thus the object of discussion.

But the real point of my original comment was that this article is subpar journalism. The implication of the article, at least to my reading, is that there is a trend of declining morale at Google and dissatisfaction amongst the rank-and-file with the company's senior leadership. As evidence we are given... one guy's opinions.

</comment></comment></comment><comment><USER6> I've been following (and helping organise) the Google+ exodus over the past two months (to the day).

Particularly disheartening has been complete radio silence from Google based on plans, timeline, support, and bugfixes (e.g., on data takeout).

I'm among those who've speculated on an internal gag order. BI's story could be better sourced, but it strongly reinforces impressions of a crackdown on any information disclosure. Google have never been particularly forthcoming, but they're being pointedly antagonistic (or frightened, or both), now.

</comment><comment><USER7> Google management should try treating the cause rather than the symptom.

<comment><USER8> I think you've made the same mistake the article has: presuming that they aren't treating the cause.

<comment> abc-xyz If they had any intention of treating the cause then they would've abandoned the Dragonfly project. It's violating all their own AI principles, and I've never seen Google receive so much backlash by their own employees, human rights organizations, as well as the public as a whole. It's proof that there's no evil they won't stoop to as long as they can make a couple of extra bucks.

</comment></comment></comment><comment><USER9> "If you have something that you don't want anyone to know, maybe you shouldn't be doing it in the first place." \- Eric Schmidt, Google CEO until last year.

<comment><USER10> 2011, but yeah Page, Bring and Schmidt were the mark of great leadership.

I wish they will be back to hearth the "organizing the world knowledge" mission instead of just working on making ads to look like organic results.

<comment><USER11> Hardly - Schmidt particularly was/is a total hypocrite about his personal life and inquiries into such.

<comment><USER12> Even as a hypocrite he was valuing employees more than any other CEO in his time. Larry has no empathy and it was shown very clearly when he took over.

</comment></comment></comment></comment><comment><USER13> Seems silly, especially calling it their top priority? Really? You've got nothing better to do?

<comment><USER14> Probably not. They basically print money.

All the churn around Google's other products and services have ~zero impact on their revenue stream. What matters is ensuring Google maintains goodwill so that governments won't do anything to harm their money mill - so it makes sense that controlling information would be management's priority.

</comment></comment><comment><USER15> On the technical side, this is the price we pay for weakening software patents. With strong patents, everyone knows what the proprietary technology is, and after 20 years, it's public. Without strong patents, we've seen companies get much more secretive. Trade secret laws are being used against employees routinely now. That used to be very rare.

We know how Google worked originally, because that's patented and you can read the patent. Today, nobody outside Google really knows. The anti-patent lobby made a horrible mistake.

<comment><USER16> I haven't heard the argument that software patents are weaker than 20 years ago before. And this run scounter to a lot of others things that I've read. Do you have anything you can link to?

<comment><USER15> Yes, but I don't have time to write a personal tutorial. Look up "America Invents Act", "Post-grant proceedings", and "eBay vs. MercExchange".</comment></comment></comment>


Do-It-Yourself Downsizing: How To Build A Tiny House - <AUTHOR> http://www.npr.org/templates/story/story.php?storyId=128109273 <comment><USER2> I'm living in a 170 square foot apartment in Tokyo. This is on the small side, but not so unusual for an apartment close to the city center. In addition to the savings in rent, I also save money by not collecting possessions. The space isn't such an issue, because I fully utilize it. Having a bigger place would be nice for having people over and what not, but the majority of the time I wouldn't use the space.

<comment><AUTHOR> that's very cool. Does it have any cool space saving features you can show us?

<comment><USER2> I don't have any furniture. I sit on the floor, and sleep on a Futon (Japanese-style <http://www.yumetai.co.jp/img/goods/L/24623s1.jpg>), which I can fold up and put away during the day.

Besides that, I just try and not collect possessions. If I don't use something, I give or throw it away. I avoid buying stuff that will take up space unless I regularly use it.

</comment></comment></comment><comment><USER3> Why does this turn up so often here on HN? It's cute, and interesting, and perhaps a fun hack to try to do, but I've seen it several times now.

Here's one earlier version found in 30 seconds with <http://searchyc.com> :

<http://news.ycombinator.com/item?id=921959>

... and here are some related links:

<http://news.ycombinator.com/item?id=659799>

<http://news.ycombinator.com/item?id=651810>

<http://news.ycombinator.com/item?id=1298314>

<http://news.ycombinator.com/item?id=1377012>

<comment><USER4> To me, the most interesting "hack" here is how the Tumbleweed house company has hacked its way onto Oprah, NPR and the top result for "tiny house" on Google.

I wish my startup could do that.

They've done a remarkable job with PR and are effectively the Apple Computer of trailer homes.

</comment></comment><comment><USER5> As habitual pack rat I'm fascinated by these tiny houses. I think it would be great to simply live in a smaller space. Then there isn't any room for clutter to accumulate.

<comment><USER6> It would probably be a better solution to change your habits... I used to be a bit of a hoarder, then I set myself a rule: "If I haven't used something in 6 months, it needs to be thrown out or given away."

My apartment is pretty minimalist now...

</comment></comment><comment><USER7> Not quite as small, but cozier and more conventional.

Shelter Kit: <http://www.shelter-kit.com/>

415 sq ft Lofthouses start at $17k

</comment><comment><USER8> I always thought those houses quite fascinating. This, plus some storage space would allow you to go not-quite-Walden. OTOH, minimalism isn't exactly about square-footage. A slightly bigger house, with a bit more "whitespace" would probably be more comfortabl -- imagine a small traditional Japanese house, or one of those buildings based on upcycled shipping containers...

Also, for ecological reasons, this would still be a waste of space, as you're only using two dimensions and probably need some space around the building. A typical apartment building would be better.

This is quite good if you've got a lot more land, but only a little space to build upon (forest, hills, etc.).

If I remember correctly, even the founder of the company selling those houses only partially lives in one of them. He's got a bigger, traditional house next to it.

<comment><USER9> Regarding "whitespace" - I personally find head room to be a lot more psychologically meaningful that square footage (in other words, I'd rather live in a 1,000 sf house with 9ft ceilings than a 2,000 sf house with 7 foot ceilings, although the analogy breaks down eventually). And the advantage of head room is that you can't fill it with junk :-)

I wonder whether "digital packratting" (collecting e-books, scanning everything to Evernote, collecting gaming "trophies") can replace the hoarding need that is so important to many people, but without the downside of being burried in clutter.

<comment><USER8> Well, at least it's harder to fill ceiling with junk. Tall shelves and loft beds certainly help... I do agree with you, I'm really looking for something with larger ceilings once I have to get my own apartment again. Even if it's just in the middle of the room (i.e. under the roof). But there has to be some degree of horizontal space, too for that to work. 6x6x10 would be a bit weird.

I think clutter is some kind of vicious circle. Once you start, it's hard to stop. And starting is pretty easy if you're not really vigilant -- things like long work hours, kids and long commutes quickly start your hoard. And if your life doesn't work out the way it does, you're prone to nostalgia and memorabilia.

Smaller accommodations make it harder to start that. But there's small, and there's tiny...

</comment></comment></comment><comment><USER10> Instead of $15-$20k, just spend $8k on a singlewide trailer and redo the interior to your desire.

</comment><comment><USER11> I live in a 1,000 square foot house. It's the right size for my wife and I. We'd fit just fine with a kid as well... Having lived in smaller apartments (down to 500 square feet) I just don't see me doing it ever again:)

<comment><USER12> My fiance and I recently downsized to a 1000 sqft condo. Living small is surprisingly expensive, though. Its crowded in the condo, because all the stuff we have as hand-me-downs, like the TV and sofa, is meant for a much larger space. It costs a lot of money to get new stuff that fits in the space better.

<comment><USER13> With respect, 1000 sq.ft. (about 92m2 for those of us using sane units) for two is not "downsizing". You are suffering from space blindness.

About 75m2 (800ish sq.ft.) is comfortable for a family of three, and you can certainly get by with much less.

<comment><USER14> Where do you live? In Belgium 90m2 apartments are considered small, even for a couple with no kids. 120 m2 is standard for newly build ones, I'm building a few between 125 and 170 although these are luxury apartments. My sister bought a 170m2 one smack dead in the center of a big city (Antwerp), as urban as it gets in Belgium. Where I live now in the Netherlands the standards are lower though, especially in Amsterdam.

<comment><USER13> The topic was "downsizing" :)

My somewhat educated guess is that recent and current construction have been a bit smaller than Belgium. The law says new apartment buildings, for example, have to have an _average_ apartment size of 75m2 but I would say that in the city here 100-120m2 is pretty standard for a family of four.

Mind, even 120m2 (~1300 sq.ft.) is quite small by U.S. "middle class" standards.

<comment><USER14> Well yeah, unless I'm misunderstanding, you were saying that 92m2 is not downsizing (at least not downsizing enough). So I said that 92m2 is at the bottom of 'normal' size apartments. I guess you can argue that 92m2 to be below average means that the average is too high, but it would seem that everyone else thinks that it's normal.

<comment><USER13> Yes. 90m2 is _huge_ considering actual needs of two people. Half that is still comfortable. A third is livable.

It may be a big shift down from what someone had before, and may even seem normal-sized by current standards but that is only because of disproportionate expectations. It can only be seen as true "downsizing" when your scale is way too big to begin with. Consider how the Mini is a "small" car - while being about twice the size of the original mini.

Mind, it is still a good move.

<comment><USER14> You're bringing this as if there is an objective measure for the 'needs' of the living space of two people, and that what is considered 'normal' is way above that objective measure. You're not bringing any supportive evidence for this (in my eyes) grandiose claim, other than proof by vigorous hand waving and stating it in terms of great certainty.

The one objective measure one can bring to the table is the lower boundary - which is maybe around 2 m2 per person, as there are numerous houses (e.g. dwelling where illegal immigrants are housed in by human traffickers) (I'm just making a guess here, based on hearing for example about 50 people being packed in small houses in farming areas). I suppose you're not seriously arguing that this is what we should strive for, yet this is (objectively) how little room humans can 'survive' on. (if it were possible on less, these people would get less, considering human traffickers probably try to minimize their costs in order to maximize profits).

You quantify your statements by saying that 30m2 is 'livable' for two people. I don't see how you can make this assertion. What is 'livable' or 'comfortable' is entirely subjective. One may get /used/ to living in a smaller room; heck, one would get 'used' to being sodomized daily with a coke bottle too, I guess, as long as it's done for a long enough time. That still doesn't mean it's something to aim for. You're projecting an entirely subjective /opinion/ (houses should be small, people should not have much stuff which is implied by living in such a small house, ...) onto this discussion and present it as /fact/.

Anyway I'm perfectly willing to accept that there is an 'optimum' in the sense that the median of the population would feel comfortable enough living in an apartment of a certain size. I know of no way to measure this optimum, because so many of the variable are hard to quantify. Instead we could say that the reality shows preferences already: the amount of space people feel most comfortable in, in function of their spending capability, is the house they live in! This may not be perfect, but it sure would show that what 'people' in general find 'comfortable enough' is a lot higher than your 30 m2.

<comment><USER13> The point of "downsizing", related to "downshifting", is to remove the excess largess western cultures have grown accustomed to. To some anyway. It is also a _voluntary_ choice so no need to worry about concentration apartment buildings where flats only have room for one TV set.

I live, with one other person and three cats, comfortably in 54m2 (581 sq.ft.). We used to live slightly less comfortably in 42m2. I know four or five couples who live in 30-37m2 currently (which I, you will note, said was "livable"). And others that have 90m2+.

90m2 may well be standard for two people where you are at least but it is wasteful in terms of resources if nothing else.

</comment></comment></comment></comment></comment></comment></comment></comment></comment><comment><USER15> Has anyone here done this or is doing this? Back in 2008 when I first encountered this, I was aghast at how you'd first have to do some heavy research as to where you'd locate because the rules were so different, especially regarding what's considered "real estate" for tax purposes.

<comment><USER16> Is it still possible to find a nice piece of land in the US and just build your home there?

I'm from the Netherlands and there is no way in hell you can buy a piece of land away from everything.

<comment><USER17> Where I grew up I would say building your own home is almost as popular as buying one. But I wouldn't say the land is "nice." You can even do this in places close to Silicon Valley, such as the Santa Cruz Mountains. Although, there can be a lot of restrictions on the land use due to environmental and other zoning regulations.

<comment><USER18> Yes, you can find inexpensive land in the Santa Cruz mountains, but you have to be a little careful. One common reason why the land is cheap is that there is no pre-existing well or other easy access to water. If you have to drill a well, it can cost many thousands of dollars, and there is no guarantee of success.

</comment></comment></comment></comment><comment><USER19> @twobraids on Twitter lives in a minimalist self-built yurt. It's been a while and I am on an iPad, but he has a website detailing the build.

I did research on these tiny houses a couple years back and they have a nice variety of builds. Some of the ones with sleeping lofts were very interesting.

<comment><USER20> I would love to build a yurt at the foot of the hill I live on. I've been thinking that since my kid wants a tree house and the location I want is near some downed trees, we can "compromise" and he can help me build a house out of trees :-)

</comment></comment><comment><USER17> I've lived in multiple < 200 square foot apartments in Japan and a 300 sq foot apartment in SF. I think these tiny homes would be a fun getaway. That said, something about a tiny detached house like this gives me the creeps, whereas a tiny apartment does not.

<comment><AUTHOR> Maybe because it reminds you too much of an outhouse or a toolshed? :-)

<comment><USER18> or Ted Kaczynski?

</comment></comment></comment><comment><USER17> This would be fun as a weekend house up in Vermont, but I have no idea where I could put it.</comment>


The camera which captures 360 degree images up in air - <AUTHOR> http://www.bbc.co.uk/news/technology-25926300 <comment><USER2> 4π :)</comment>


Ask HN: How do you build a payments app like Venmo? - <AUTHOR> I understand the MSB MTL side of the business and the regulatory barriers of entry, but how difficult is it to create a payments application that allows businesses to perform Bank Transfers and Credit/Debit transfers between two parties? <comment><USER2> How much are you willing to spend per transaction? With Stripe or Braintree it's trivial but expensive.

Are you targeting just the US market and dollars? Going directly with a bank is cheaper but more complex [1]. And unless you're adding significant value you'll probably need a money transmitter license in your state.

And if you're planning on letting any asshole on the internet use this, you need an anti-fraud strategy because settlement times are measured in days and there are plenty of ways that money can be sent but never refunded.

Good luck!

[1] [http://engineering.gusto.com/how-ach-works-a-developer- persp...](http://engineering.gusto.com/how-ach-works-a-developer-perspective- part-1/)

<comment><AUTHOR> Thanks for this. That link is extremely helpful and goes in depth to the ACH Networks from a developers perspective. Cheers!

<comment><USER3> Cass is an agile bank /fintech that you may be able to partner with for cost effective access to the ACH network. We support payments for various marketplaces. (Disclaimer: I work for Cass.)

</comment></comment></comment><comment><USER4> Hi I did this for Pakistan.

Https://getsafepay.com

We partnered with a bank and built a custome Cybersource integration that supports visa and MasterCard cards

Let me know if you have questions

</comment><comment><AUTHOR> Any payments developers out there? What does it take to connect to different banking systems to transfer funds and how do you go about it?

<comment><USER5> Building from scratch or using an API?

You can use plaid.com for that. It also integrates with stripe.com pretty well too.

<comment><AUTHOR> Plaid seems like an incredible company, going this route would save a huge amount of engineering initially, but would cut into revenues. I might explore this further. Thanks!</comment></comment></comment>


40Gbps throughput router using commodity hardware + software - <AUTHOR> http://www.technologyreview.com/communications/26096/

<comment><USER2> Correction from Sue Moon's Twitter:

> "Virtual router smashes speed records" corrections: not virtual, just pc- > based software; not gigabytes, but Gbps; our perf is w/ 64B packets

(source: <http://twitter.com/sbmoon/status/21921061318>)

</comment><comment><USER3> The article's author probably mistook "gigabit" as "gigabytes". Nevertheless, 40Gbps is impressive.</comment>


Tart is a strongly-typed general purpose programming language - <AUTHOR> http://code.google.com/p/tart/

<comment><USER2> | At the same time, it also includes a number of features not seen in any of these languages.

I tried looking around for the new features and motivation for this language. The intro page (<http://tart.googlecode.com/svn/site/intro/overview.html>) opens as source for some reason (on FF6 and safari).

EDIT: Okay, intro page does have some features, although not exactly new (gc) ... hard to read due to rendering as source.

</comment><comment><USER3> The author of this language is very verbose in his/her documentation and it makes it hard to infer what is cool about Tart. It would help to see some example code of an actual problem instead of showing off various ways to implement datastructures. How would one find the average of a list of ints? Connect to a socket? Traverse a tree?</comment>


Show HN: Vehicle Recommendation Engine for Car Dealer Websites - dan-jackson https://driverbase.com/company/personalize/ <comment> dan-jackson Today Driverbase turns 2 years old!

To celebrate this milestone our team is excited to announce that we will begin deploying our vehicle recommendation engine to dealer websites starting in July 2020.

We look forward to helping our dealers deliver a personalized online search experience to their dealership website audience.

Thanks to our team, drivers, dealers and partners for supporting us as we make the transition from startup to growth stage venture.

"84% of customers say the experience a company provides is as important as its products or services" – IBM Services

"35% of Amazon.com's revenue is generated by its recommendation engine." – McKinsey & Company

Try the demo [https://driverbase.com/recommendation/step1](https://driverbase.com/recommendation/step1)</comment>