More on Google and Patents - <AUTHOR> http://daringfireball.net/2011/08/more_on_google_and_patents

<comment><USER2> The convolutions continue.

"What I'm complaining about isn't Google playing the game, but rather their insistent whining about their competitors only after they lost the game."

It's easy to redefine the game as whatever suits your outcome. And it's perfectly reasonable to complain about an unfair game that you're losing because it's unfair.

And anyway, by this logic, you could simply call the PR battle 'part of the game' and say Google is just playing on the rising anti-patent sentiment in the industry.

<comment><USER3> Then Gruber's piece can be considered a rebuttal of such PR move.

Oh it's so meta isn't it?

Also the rules haven't changed a bit, Google got in the game knowingly. Though one can argue the patent system is broken and needs urgent adjustment. Nortel IP incident is more of bidding war and Google played its hand spectacularly badly plain and simple. There is nothing illegal and shady about Apple/Microsoft/RIM's win. Last I checked, throwing money at things is a perfect good strategy at owning them.

<comment><USER2> Yes, that's generally what smart people do when they're losing an argument: deny all terms and definitions. That's my point: once you render it all meaningless, it's easy to argue whatever you want, as Gruber demonstrates.

For example: _But the bottom line is that they wanted to use these patents competitively._

Why is that the bottom line? That's in fact clearly not the bottom line, since it completely elides the distinction that Google is making. And calling it the bottom line is misdirection.

 _Some people seem to think that Android doesn't really violate any existing worthy patents. That's all just a bunch of bogus patents that never should have been granted, and companies like Microsoft and Apple are just tying up Android handset makers in court out of dishonest competitive spite. If that's the case, then I suppose you can argue that Google's pursuit of these patents was out of the goodness of their corporate heart.

But if Android does violate worthy patents, Google's actions here are just as competitive as any other companies. You can guess which side I'm on, I suppose._

This is maybe the most disingenous part. The same could be said of anyone afraid of getting sued by patent trolls like Lodsys/Intellectual Vultures. 'If you're not _really_ violating any "existing worthy" patents, then you have nothing to worry about.'

"But these are the laws we have." Indeed.

<comment><USER3> Patent trove is not a defense against patent troll.

Patent Trolls do not have any product that can be counter-sued.

A powerful weapon against frivolous patent claims whether they are brought up by patent trolls or litigious competitors is simply trying to invalidate such patents, or proving that you in fact does not violate patents in dispute. And it can be done. Smaller developers and individuals may not have the means to fight the battle, which is a serious problem in itself. But it is so not a problem for Google I would assume.

<comment><USER4> _A powerful weapon against frivolous patent claims whether they are brought up by patent trolls or litigious competitors is simply trying to invalidate such patents, or proving that you in fact does not violate patents in dispute._

Let me say that I completely agree. However, this assumes that pursuing such a defense is less costly than cross-licensing or other settlement options. Moreover it misses the fact that owning patents almost certainly deters competitors from suing in the first place. That's what mutually assured destruction is all about.

<comment><USER3> Oh, I agree with you too!

I think there is definitely something very wrong about the current system including the legal procedure. First we should try to eliminate (or at least reduce if you are pessimistic like I am) nonsensical patents from being granted for starters. Then I strongly support reducing the period of exclusive rights especially in fast evolving field like software and telecommunication etc. And then again there should be a simplified and less expensive (both monetary wise and time wise) legal channel to at least preliminarily determine the validity of patent dispute, I can go on.

</comment></comment></comment></comment></comment></comment><comment><USER5> _Google's blog post comes across as whining that Apple and Microsoft (Microsoft especially) aren't sitting back and allowing Android to destroy their businesses._

No, Google's blog post rightly points out that Microsoft and Apple haven chosen to fight against Android by litigation rather than invention. If Google where "whining" that Microsoft and Apple were building cooler stuff into their phones, it would be laughable. But that isn't what Google is saying. Suggesting that Google wants MS/Apple to "[sit] back and [allow] Android to destroy their business" is an obvious and clumsy strawman.

Gruber isn't arguing the merits of the platforms. He's arguing that the patent system as-is does work, and that Microsoft and Apple shouldn't be criticized for using it. The problem is, they aren't merely _using_ it, they are _abusing_ it, which seems to suggest that it doesn't work nearly as well as Gruber says it does.

[EDIT: Minor grammatical cleanup]

<comment><USER6> I've never taken this as Gruber believing the patent system is working well. A post from DF:

[http://daringfireball.net/2010/03/this_apple_htc_patent_thin...](http://daringfireball.net/2010/03/this_apple_htc_patent_thing)

From the post: "But for software the system, in practice, is undeniably broken. There's an argument to be made that software is inherently different than other fields of invention, different in such a way that patents should not apply — or, should apply for a significantly shorter period of time before expiring. You can't (or at least shouldn't) be able to patent mathematics, and there are good arguments that programming is a branch of mathematics. But because software patents are granted, concede at least for the moment that certain kinds of software innovations ought to be patentable. Even with that in mind, clearly the U.S. Patent Office is and has granted patents for things which ought not be patentable. Not just silly frivolous things, but patents that have been granted for concepts alone, rather than specific innovative implementations of said concepts. Ideas in the abstract, rather than implementations of ideas."

To me this sounds like a well-reasoned post that acknowledges the patent system is broken. I'm not sure if I would validate software patents at all but it's a far better system than what's in place now.

Also: "To me, "user interface" patents are hand-in-hand with "business method patents" as examples of things which, no matter how innovative or original, ought not be patentable. They're idea patents."

This is just something to point out that this where Gruber and Apple do seem to stray paths. Gruber may be an Apple fan but it doesn't go beyond all reason.

Regarding the situation with Google, I do think he is mostly right. I would have liked to have seen Google publicly lobby against software patents in general, with the consumer and Congress. That is not the path they chose. Instead they chose to become an investor in Intellectual Ventures and play the game of mutually assured destruction with MS, Apple & Oracle. Doing so makes them equally complicit in the process. Winning the battle against these three companies does not protect the indie dev. It only serves Google's end which means their motives are ultimately selfish. If they can play selfish why can't others who currently have the law on their side?

</comment></comment><comment><USER7> > But if Android does violate worthy patents, Google's actions here are just > as competitive as any other companies. You can guess which side I'm on, I > suppose.

Why not point us to such a worthy patent, then? All the patents that have been mentioned publicly so far have clearly been worthless and trivial.

To make his case, a single worthy patent would suffice.

<comment><USER8> Exactly. Every patent that I've seen (for example, Apple vs. HTC) boils down to _complete bullshit_. I'd welcome someone finding a non-bullshit patent that Android is clearly violating (possibly something with Java? They don't use any of the JVM technology and I don't think I could consider programming language semantics patentable).

Relatedly:

 _Google seems to feel entitled to copy whatever it wants. Android copies the UI from the iPhone. Places copied data from Yelp. Google+ copies from Facebook. Their coupon thing is a clone of Groupon. And yet it's Google that acts as though it has been offended when these competitors fight back._

For a man who is so in love with Everything is a Remix [1], this strikes me as an odd position. Once things like this are up for grabs, you can start pointing fingers all the way back to the first transistor. There's a thick line between "remix" and "ripoff" and I've yet to see Google cross it in a significant manner.

[1] <http://www.everythingisaremix.info/>

</comment></comment><comment> A-K "I never said it wasn't OK for "Google to try and buy the same patents to not be sued." Apple, Google, Microsoft, Oracle — they're all playing the game. If Google had won the Nortel patents, and used those patents to secure licensing agreements for other patents (from, say, Microsoft and Apple) — that's how the patent game is played. What I'm complaining about isn't Google playing the game, but rather their insistent whining about their competitors only after they lost the game."

Can't say I disagree.

<comment><USER4> Google isn't complaining about losing. It's complaining about the unfair way it believes the winners won.

<comment> A-K Unfair? Through legitimately bidding higher than 3.14 billion dollars?

<comment><USER9> In your comment below, you're confusing Nortel with Novell. Google was NOT asked to bid for Nortel patents together with Microsoft.

And about the Novell ones - is it still not clear why Google did it? They did it to get defensive patents against Microsoft. How would they have used those patents to counter Microsoft, if Microsoft had them, too?

The whole point of buying patents now is to use them to keep Microsoft and the others from attacking the Android manufacturers. If they buy them together with Microsoft, they can't stop Microsoft's _other_ patents.

<comment><USER10> Yes, true. but: that doesn't matter, at least to the argument in question.

a. Google complains that these companies were colluding against them in the Novell deal. b. Microsoft shows that they were not in fact colluding against them in the Novell deal.

Whether or not it would have made business sense for Google to join that pool (it clearly wouldn't have) doesn't matter within the narrow scope of whether they're entitled to complain using the specific words they've chosen to make their complaint, which, for whatever reason, people seem to really enjoy discussing on the internet this week.

</comment></comment></comment></comment></comment><comment><USER11> Doesn't the fact that everybody is jockeying to buy the IP of _other_ companies to protect themselves from patent lawsuits suggest the system is broken?

One piece of patent reform that might be nice is that you can't acquire IP, unless you have a majority of the people who created the IP under full-time employment (or something to that effect).

</comment><comment><USER4> _Google could have joined consortium to take the Novell patents off the table. But Google wanted those patents for itself to defend against other patents they already infringed upon._

This is extremely disingenuous. It is likely that Google would need to obtain defensive patents whether it believes it violates any patents at all.

</comment><comment><USER12> _Google seems to feel entitled to copy whatever it wants. Android copies the UI from the iPhone. Places copied data from Yelp. Google+ copies from Facebook. Their coupon thing is a clone of Groupon. And yet it's Google that acts as though it has been offended when these competitors fight back._

The one sited source is extremely shallow, and the rest is both not sourced and laughable. Gruber is making quite the leap after his hand waving and backpedaling.

<comment><USER11> While I'm not a fan of Gruber I think its fair to say that he's writing to an audience for which all of these are well known. You may disagree with their validity, but you're already well familiar with their arguments and evidence -- sources probably aren't a necessity for a blog post on the topic.

<comment><USER12> The only reports I've read about are Apple's claims and lawsuits [against Android handsets], which I have found fairly disingenuous when one can find Apple borrowing from past IP. The remaining claims I've not heard of and have little reason they are anything but hot air and rabid FUD.

Places copies Yelp data? Beyond the shallow article and the sites themselves, it is not obvious for the places I frequent. We are not given details about what Google was allowed to crawl, scrape, or otherwise. Google has millions, for any given site, of records that it will display through its search or otherwise.

Gruber's claims against Google Plus and Offers are him merely grasping at straws and trying to paint Google as bad guys. What exactly is he or "his audience" claiming against these properties?

<comment><USER11> Honestly, I'm not clear if you're arguing the validity of Gruber's claims or that you'd never heard of them.

I'm not saying that his audience is making any claim. I'm saying that his audience knows what claims Gruber is referring to. I do agree that sources rarely hurt, but in this case it doesn't seem crucial.

With that said, Gruber is the guy who did a crusade against Ina Fried because she only linked to a source and didn't spell out the author's full name. So given that, it's probably fair to stretch Gruber for his ommission of sources.

</comment></comment></comment></comment><comment><USER9> Is anyone willing to go through what Apple copies, and make a full list with specific items they've copied from others? Because I'm sure like 80% of the technology used in their products is not their own, and most of the other 20% was based on older technology.

Look, I'm not saying Apple is not an innovative company. It is. But what exactly does an innovative company mean? Does it mean their product is 100% based on their own technology? 90% based on their own technology?

I doubt it even comes close to that. Take the iPhone for example. Did Apple re-invent the the 2G tech in it? The 3G one? Did they invent the processor in it? What about the GPU? Did they invent the whole multi-touch panel? Was the invention 100% based on their knowledge and technology if it was? I'm sure the UI can be de-constructed the same way, too, to prove most of it is not "brand new".

If they invented so much in the iPhone, why is it that they can only win against HTC with patents from 1994 and 1996, that aren't even related to smartphones, let alone the iPhone?

It really bothers me to see how everyone treats iPhone as if 100% of its technology was invented by Apple, and 100% of Android's technology was "stolen" and "copied", because that's completely false.

Perhaps, the iPhone has 10% of its technology that is actually new, and perhaps Android only has 5% of it that is brand new, and because of that I suppose you can call Apple more innovative than Google, but let's not pretend that Apple doesn't copy anything, or let's turn a blind eye to the things Apple copies, just because they're a little more innovative than Google.

People need to wake up and see that ALL companies copy and base their technology on something else, but even when they do copy it, it's usually not a 100% carbon copy, but a derivative technology (think iOS 5 notification system), and _that's_ how technology evolves.

</comment><comment><USER13> >And yes, there are some who will argue that there are no "worthy patents", that the entire U.S. patent system should be simply abolished.

I like how Gruber conflates patents in general with software patents: as if you can't have one without the other.

<comment><USER4> I noticed this too. I don't read Gruber regularly but he seems to be either very careless or wilfully misleading in the way that he conflates concepts.

</comment></comment><comment><USER14> He has to turn comments off on Daring Fireball or else he would be called out as an Apple fanboy/lobbyist after posts like this. Plenty of companies are willing to compete by creating better products rather than taking their competition to court. The iPhone is getting pushed aside by Android and they are playing dirty to stop it. Unless you can point to some novel technology that Apple should control because it was truly new and different, then Android should be able to compete. Just calling it "competitive" rather than offense and defense is a political tactic that tries to make Google look just as bad as the other guys, or conversely make Apple look just as good as the others. This is not a valid comparison. Combative patent lawsuits are not a requirement for successful businesses. There is a major difference between companies that choose to be litigious to stifle competition rather than focus on creating better products at a cheaper price. Buying a patent portfolio in order to stifle innovation rather than to enable you to create new or better products goes against the purpose of the patent system as it is described in the constitution:

"To promote the Progress of Science and useful Arts, by securing for limited Times to Authors and Inventors the exclusive Right to their respective Writings and Discoveries."

They should have pooled these billions to create a massive patent reform campaign. It probably would have been cheaper and more effective in the long run.

<comment><USER15> Just a point: John Gruber has _never_ allowed comments on Daring Fireball. This is not a new policy nor something he chooses on a per-post basis.

To me, Gruber is being consistent here: he doesn't like software patents (see his commentary on Lodsys and other NPEs), but the fact is that they exist and the way they're used now is as he describes. Google is being disingenuous about Android and patents; Google's lawyer _lied_ about the Novell patents and the lie has been called out by Microsoft. Google may have good reason to have not wanted to go into a co-purchase agreement of the Novell patents (as Gruber outlines in this post), but to complain of unfairness now that you lost a bidding war? That's childish.

Google would actually _have_ a moral high ground if they hadn't even bid for the Novell patents. Not bidding for them would have been a remarkably stupid move given the current patent/legal landscape, even though it meant that Google gave up the moral high ground.

Patents in the U.S. are badly broken, and I despair that software patents were ever granted in the first place. One of the things that I suspect that most people who oppose software patents forget, though, is that even if software patents were taken off the table _tomorrow_ , the existing patents wouldn't go away. The government wouldn't retroactively invalidate any software patent ever granted (it'd be a hard enough fight just to get software patents blocked for the future), and courts examining the patents tend to look at whether the patent was (or could have been) valid at the time of its granting, not whether it makes sense _now_.

<comment><USER13> >Gruber is being consistent here: he doesn't like software patents

Funny that he doesn't say that in this post. Nothing like "I'm against software patents, but Google seems to play the software patent game when it suits them". Instead he says 'there are some who will argue that there are no "worthy patents"' which 1) implies he's not one of them and 2) conflates software patents with all types of patents.

>Google would actually have a moral high ground if they hadn't even bid for the Novell patents.

Google _has_ the moral highground because, unlike Apple and others, they have not been suing people over software patents.

<comment><USER15> Gruber's posts shouldn't be read in isolation -- and that applies to this post and his stance on software patents; agree with him or disagree with him, he has a _narrative_ that is consistent[1] through DF and The Talk Show.

If you only read Gruber's posts that make it to HN, you're missing context because he may have made other posts that provide background (and, while Gruber's fairly good about linking back to what he's said in the past, he's not perfect).

If you only read Gruber's posts, you miss context that may have been building in comments he makes in his linked list entries. In fact, Gruber has _mostly_ avoided saying anything about Lodsys because he has been linking to others that he feels have said what he believes more eloquently, adding a small paragraph of commentary.

I'm not claiming that Gruber's "perfect" by any means. I'm simply saying that Gruber has a narrative to what he writes that shouldn't be subjected to soundbite treatment.

With respect to Google, we must simply agree to disagree that they have a moral high ground on this and other matters. Gruber contends (and I mostly agree) that they do not for various reasons.

[1] I'd originally said remarkably consistent, but the only thing remarkable about that is that so many other journalists/bloggers _aren't_. This consistency, by the by, is also ignored by anyone who suggests that Gruber is an "uncritical fanboy". Over the last year, I can think of a number of posts where Gruber has criticized Apple fairly harshly over decisions that have been made, including the removal of "store" buttons from the Kindle and Kobo apps, etc.

<comment><USER13> >If you only read Gruber's posts, you miss context that may have been building in comments he makes in his linked list entries. In fact, Gruber has mostly avoided saying anything about Lodsys because he has been linking to others that he feels have said what he believes more eloquently, adding a small paragraph of commentary.

I think it's pretty normal to base criticisms of a blog post on the blog post itself rather than a complete reading of all of a blog's posts.

</comment></comment></comment></comment></comment><comment><USER16> So the summary is... Google comes across as whining...?

The thing is, with a title like "More of Google and Patents", I can't quickly tell that a link in my RSS feed is headed to daringfireball.

There is a nice Chrome plugin I just found called "Blocker", however, so that just put a final end to that.</comment>


Animated gif generator for 'loading' indicators - <AUTHOR> http://www.ajaxload.info/

<comment><USER2> <http://www.loadinfo.net/>

<comment><USER3> Wow, I could stare at that for minutes. Something's going to happen soon, I swear.

</comment></comment><comment><USER4> look, crap like this belongs on digg.

<comment><AUTHOR> Yikes, that surprises me. Here's why I think it belongs here: it's a simple web page that does one thing well and solves a problem that at least some of us have. I'm talking about programmers who make web apps and aren't good at graphics. Okay, that at least one of us has. :)

<comment><USER4> Perhaps my comment was a little harsh. I just don't want news.y to devolve into the type of neato-esque conglomeration that digg is. (I saw this on digg like 2 years ago). Thats all.

</comment></comment></comment><comment><USER5> The most impressive bit is their dropdown with all the moving animations.

<comment><USER6> i thought the popup color picker was pretty cool too

</comment></comment><comment><USER7> gmail caches everything like crazy. when the page loads, just start caching everything that the user might want to click on, and you can avoid the web 2.0 version of dancing frogs.

<comment><AUTHOR> Not sure I follow. Could you explain in more detail?</comment></comment>


I draw figures for my mathematical lecture notes using Inkscape - <AUTHOR> https://castel.dev/post/lecture-notes-2/? <comment><USER2> Dupicate of [https://news.ycombinator.com/item?id=19768012](https://news.ycombinator.com/item?id=19768012)</comment>


Ask HN: What is your "Just got home from work" typical routine? - <AUTHOR> <comment><USER2> Minimize Emacs and fire up Factorio.

</comment><comment><USER3> Shit,doobie,beer,dinner.

</comment><comment><USER4> I'm not home until I've taken a shower. I'm in there within 60 seconds.

Oh shower, how I love thee.

</comment><comment><USER5> After work, I make an effort to hop on the stationery bike for 20 minutes to get some exercise, than I make myself a protein shake. Hop on my laptop and my side projects begin... do that until I pass out, pretty much.

</comment><comment><USER6> 1\. spend 10 minutes playing with the kids 2\. make dinner 3\. Put kids to bed 4\. Watch Netflix while doing dishes. 5\. 30 minutes of DataCamp 6\. 30 minutes of reading 7\. Sleep

</comment><comment><USER7> I try to make dinner as soon as I get in, it's done then and I can spend the rest of my night doing whatever.

</comment><comment><USER8> 17:30, after 40m bus, Eat toast and coffee, shower, tv news, Netflix, household shores, eventually pc again.

<comment><USER9> Random question .. what do you eat with toast? (jam, spread, etc...)

</comment></comment><comment><USER10> 1) take off all the stuff I needed to be or got from the outside and put it where it belongs

2) be inside

</comment><comment><USER11> * Feed cats

* Make cat food

* Eat

* Shower

* Watch dumb shows or work on personal projects

* Read in bed as I fall asleep.</comment>


Show HN: YouTube-DL GUI Powered by Electron - <AUTHOR> https://github.com/mayeaux/videodownloader <comment><USER2> Suggestion to author: allow pasting and downloading more than one link at a time, and selecting audio/video + desired formats.

Suggestion to everyone else: learn the CLI. Then you can do things like me last night. My wife collected a list of classical music videos she wants to play to our kid, and all I did was:

      youtube-dl -x --audio-format "mp3" --audio-quality 0 -o "%(title)s.%(ext)s" -a music.txt

to get the whole list turned into neat and nicely-named MP3s (like "Mozart - Eine Kleine Nachtmusik, K 525 Allegro.mp3"). Followed by:

      mp3splt -r *.mp3

to trim the silence from both ends.

I do batch downloads like these rarely, roughly once a year (though I expect it to happen more frequently in the near future). Because of that, I had both of the above commands stored in my snippets.org file. It's something I strongly recommend: store off-used CLI calls in your notes/personal wiki. It beats reinventing the commands a year down the line, or even trying to remember what tools did you use for that off job.

To preempt comments saying CLI is too hard for regular people: no, it isn't; they can learn[0], especially if you make them interested by e.g. showing them how to do batch jobs. But for the sake of the resistant, maybe the author of this GUI will upgrade it with option for batch downloads and format selection.

\--

[0] - [https://digitalsuperpowers.com/](https://digitalsuperpowers.com/) is a nice book I read and can recommend. No affiliation, just curiosity, because the author is a regular HNer.

<comment><USER3> I wish the installation was easier. It is reasonable to explain someone to write "youtube-dl -x <link>" to download music from youtube...

But having them installing ffmpeg and python, manually copying some exe to a safe place, and adding that as a enviroment variable really cuts the interest off.

<comment><USER4> That's because you're using Windows, which is really, _really_ not designed with scripts in mind.

Point to Ubuntu in the Microsoft Store. Python is preinstalled. You may need to install Python's package manager (I'm not sure does it come preinstalled) with "sudo apt install python3-pip". Install it from Python's package manager with "pip3 install youtube-dl".

You could technically skip Python's package manager by just doing "sudo apt install youtube-dl", but updates are slow there, and you really don't want slow updates with this tool ("pip3 install --upgrade youtube-dl"). I'd argue that three commands are way easier to explain than installing two binaries and clicking around far too many times, especially because youtube-dl needs to be updated on a regular basis in order to work properly.

<comment><USER5> Did you honestly write this down thinking it was remotely any easier?

<comment><USER4> Then the alternative? Absolutely. The alternative requires finding the latest version of Python, installing it, modifying the environment path, finding the binary for youtube-dl, installing it, and only then figuring out how it works.

"Execute these commands only once and then just type youtube-dl [https://example.com](https://example.com). If something breaks, run this command to upgrade the script and retry." If the target audience is someone who you think will feel comfortable doing youtube-dl in a terminal, you may as well point them to the total of three other commands to set things up.

<comment><USER2> AFAIR youtube-dl had an .exe build, I remember setting it up for my mom; it boiled down to unzipping an archive and telling here to drag URLs onto this icon. And the FFMpeg part; that was a PITA, and something she wouldn't have guessed on her own.

<comment><USER4> > Windows exe requires Microsoft Visual C++ 2010 Redistributable Package (x86) > and does not require Python that is already embedded into the binary.

Yeah, that makes sense. Things have changed since last time I went through that pain.

</comment></comment></comment></comment></comment></comment></comment><comment><USER6> I know this is quite selfish but the more accessible youtube-dl is, the more likely Google is to see it as a business threat, and the more likely they are to add some sort of content DRM. Just something to think about

<comment><USER7> I agree, ideally youtube-dl would remain obscure, but YT has been on to it for a long time. It's somewhat of an arms race right now. I have to update youtube-dl every few weeks or it will simply stop working.

I would not be entirely suprised if Youtube one day just requires actual browser DRM to work at all. That would likely break every single smart TV out there, which is probably the only reason why they haven't yet done it. However, as they progress further on their path away from amateur content towards corporate-only content, I'd say there is a decent chance they'll pull that switch eventually. And die shortly after, of course.

<comment><USER2> Which also sounds like a good reason to make copies of everything interesting on YouTube _now_ , while we still can.

<comment><USER8> That's exactly what I do, I make a copy of every video I watch.

<comment><AUTHOR> Frankly I wouldn't mind making a browser extension that does exactly that, and then if you go back to a video you've already downloaded before it plays it from disk as opposed to from the network. Something I've thought about.

</comment></comment></comment></comment></comment><comment><USER9> For me I think the best UI for YT-DL would be in the context menu in Firefox.

This is where I am most often when I see stuff I want to use it on and while I always already have a terminal window open, it would be nice not to have to switch windows.

I already have a few different configs and aliases for getting stuff in the forms I really want. All I need is an even easier way to pass the URL in and trigger the download.

Being able to right click and get there would please slack me to no end.

<comment><USER10> Most solutions I've seen to this require some kind of external daemon to be running that takes care of launching ytdl for you (since most web browsers don't allow extensions to run arbitrary commands.)

Firefox _does_ have support for running this daemon-like-thing for you using Native messaging[0] though.

youtube-dl-firefox-addon[1] seems to employ this, so perhaps give that one a try?

[0] [https://developer.mozilla.org/en-US/docs/Mozilla/Add- ons/Web...](https://developer.mozilla.org/en-US/docs/Mozilla/Add- ons/WebExtensions/Native_messaging)

[1] [https://github.com/akhilkedia/youtube-dl-firefox- addon](https://github.com/akhilkedia/youtube-dl-firefox-addon)

<comment><USER11> Just my 2 cents:

I've been using a combination of firefox/chrome with youtube-dl/mpv+youtube-dl for a while

This comes very handy for playing high quality youtube videos on low end machines or downloading audio+/-video directly from youtube.

On the pre-webextension era of firefox/chrome , "open with" addon was the perfect fit.

Now, a special native messaging app needs to be installed to launch mpv/youtube-dl

"Open with" addon solved this by a python script (that obviously required installing python, and few other steps)

I decided to create a new tool to make this step easier and faster on windows: owclauncher[1]

Basically a lightweight native messaging host for "open with" addon: it is not running on the background, and only started (and immediatly terminated) by the browser when passing a command to any other program

You can check and compile the source code or the .bat windows installer/uninstaller

[1] [https://github.com/mbooga/owclauncher](https://github.com/mbooga/owclauncher)

</comment></comment></comment><comment><USER12> Side note: as a daily user, youtube-dl is such a fantastic piece of software. It's one of those tools which, once you have it, you wonder how you lived before.

<comment><AUTHOR> Agreed! But sometimes going to the CLI everytime is annoying which is in part why I wanted to build a GUI for it :)

<comment><USER13> Interesting, since I always have at least one terminal open, but opening an Electron app takes 5-10 seconds.

</comment></comment></comment><comment><USER14> This seems harder to use than the command line tool

</comment><comment><USER15> I predict, that once youtube-dl becomes easy-enough to use for the masses, YT will shut it down in one way or the other.

The user-facing business model of YT is quite simple:

> You get to see great variety of videos, but have to watch ads every now and > then.

So from their perspective, youtube-dl allows you to steal the content w/o giving anything back to either YT or the creator.

To make this fair/sustainable youtube-dl user would either (A) have to tolerate advertisements in the downloaded video, or (B) pay a fee for each downloaded video.

I'd prefer for youtube-dl to stays small enough, that we can continue to freeload a little longer ; )

<comment><USER16> What if you're downloading videos from someone who has been demonetized?

<comment><USER15> This is not just about the content creators. Operating YT as a platform is far from cheap. I bet YT is most concerned about their own bottom-line.

</comment></comment></comment><comment><USER17> I use youtube-dl regularly, through mpv. What I'd really like, is a minimal youtube search, in-terminal or a minimal gui. Then I wouldn't need a browser to use youtube at all; I dislike having to rev up a 1000mb browser just to find a video and copy its address.

Actually, now that I think about it, I can't remember if I've tried a text browser, might be bearable, though images of videos are sometimes helpful.

<comment><USER18> > _What I 'd really like, is a minimal youtube search, in-terminal or a > minimal gui_

It exists! It's called SMTube but don't let the name confuse you, as it works with a lot of media players, including mpv:

[https://www.smtube.org/en/index](https://www.smtube.org/en/index)

</comment></comment><comment><USER19> I used a modified version of this [0] (modified [1]) running on my home NAS and an iOS Shortcut to easily be able to "share" any webpage that has a video on it to a Siri shortcut that makes an API call back to that docker service. It will automatically download it for me and drop it wherever I have specified. I can then process those files later. It's a great way for me to grab a video I want while I'm on my phone. It can even handle queuing of videos so I can share multiple in a row if I want. I've found it quite useful.

It's no replacement for the CLI but it's better than copying the url, opening my ssh client, connecting back, navigating to the right spot, running youtube- dl, waiting for it to finish (this is the worst part), then closing my ssh app, and moving on with my life.

[0] [https://github.com/hyeonsangjeon/youtube-dl- nas](https://github.com/hyeonsangjeon/youtube-dl-nas)

[1] [https://github.com/joshstrange/youtube-dl-nas/tree/https- fix](https://github.com/joshstrange/youtube-dl-nas/tree/https-fix)

</comment><comment><USER20> Why not just use Youtube-dlg?

Does everything it needs to and doesn't require you to use electron.

<comment><AUTHOR> I tried to install it but I couldn't install WxPython3 via SourceForge so I couldn't get the deps to work. Plus the maintainer of that app doesn't care much for supporting OS X and Linux (basically tells people to just go use Windows) so I wanted to use Electron where I can package an app for all platforms.

<comment><USER21> I'm a bit ignorant of the details b/c I haven't touched web stuff before. But on a high level, how does a Javascript/Electron app wrap-around/bundle-with youtube-dl - which (looking at github) is a python app?

Or does youtube-dl need to be already be pre-installed on the system?

<comment><AUTHOR> Electron is a small Chromium browser that can interact with Node.JS, youtube- dl is packaged with this app as a node package manager dependency. The youtube-dl binary is downloaded and then called via a child process, let me know if that clears things up for you.

<comment><USER21> So you need to have the python runtime installed for this to work? Or is that downloaded as well?

I was just thinking I could for instance make a similar JavaFX crossplatform GUI on the JVM, but I'd have no idea how to call the youtube-dl python code. So I'm just curious how Electron solves that problem :)

<comment><AUTHOR> No you just need the prereqs to run node, the binary comes compiled already

<comment><USER21> Oh okay with precompuled binaries then that's not so crossplatform. Thanks for clarifying :)

</comment></comment></comment></comment></comment></comment></comment><comment><USER22> I often had to update YouTube dl in the last months.

I hope YouTube is not coming up with a solution.

</comment><comment> VvR-Ox Looks really interesting, thank you for sharing!

How does it compare to jDownloader (jdownloader.org)?

It can analyze the clipboard - when I paste a YT link it asks me if I only want the video or the whole playlist.

I can choose from formats and I can choose to only download audio if I'm not interested in the video or want to save some space.

It has a reconnect feature for the router to reset to get a new IP and much more really cool things.

</comment><comment><USER23> Suggestion to author: as this is presumably intended to be a user-friendly front-end, consider providing installers.

I just tried installing on windows following the README and gave up after fixing npm proxy issues and encountering multiple other errors afterwards. I could fix it, but I don't have the time to investigate.

Anybody who can fix it, likely won't need a front end like this.

<comment><USER24> Try [https://github.com/MrS0m30n3/youtube-dl- gui/blob/master/READ...](https://github.com/MrS0m30n3/youtube-dl- gui/blob/master/README.md)

<comment><USER23> Thanks, I already have that; my suggestion was for the repository in the OP.

</comment></comment></comment><comment><USER25> I've had a good experience with youtube-dl-interactive. It's a CLI tool that allows you to choose the quality/format from a menu without having to first list and choose from every possible quality permutation.

</comment><comment><USER26> Extended search with previews will be great and playback in external player will be great features to add.

But anyway, Youtube brakes API too often and maintaining any of YT apps is very painful.

<comment><AUTHOR> I'm going to add functionality that makes it such that the latest version of youtube-dl is always installed, so as long as youtube-dl works the app should work too.

</comment></comment><comment><USER27> Could I paste a bunch of URLs and it would create a _queue_?

<comment><USER28> If you have a bunch of urls, paste them in NimbleText, a fantastic utility to combine a list with a pattern, and create a bunch of command lines (syntax is trivial: "youtube-dl $0")

Use chocolatey to install youtube-dl CLI as a self-contained executable.

</comment></comment><comment><USER29> wuff... first rule of youtube-dl is you don't talk about youtube-dl!!!

But nice work. I just hope it doesn't bring the ire of Google

</comment><comment><USER30> Skimming the code I see main.js hasn't got a single semicolon.

If you want to invite others to contribute, you may consider adopting a more widely employed js code-style.

This seems to be written in a very personal, opinionated and unconventional way.

<comment><USER31> Writing personal projects in a personal way seems just fine to me :) Looking at that file it's very obvious what's happening after just a cursory glance. I'd much prefer code that's very easy to understand without semicolons than the opposite.</comment></comment>


G+ game City of Wonder using Kohana php framework  - <AUTHOR> http://min.us/lb3wExwbp

<comment><USER2> Yikes. User-visible exceptions in production code.

</comment><comment><USER3> And an old version of it. Furthermore, who cares?

</comment><comment><USER4> So?</comment>


Diskonaut: A visual disk space navigator for the terminal, written in Rust - <AUTHOR> https://github.com/imsnif/diskonaut <comment><USER2> Awesome tool. I've been wanting something that does exactly this

</comment><comment><USER3> cool</comment>


Running 10M PostgreSQL Indexes in Production - <AUTHOR> http://heap.engineering/running-10-million-postgresql-indexes-in-production/ <comment><USER2> Author here. Feel free to ask me any questions.

By the way, the 10 million number in the title is outdated. It's now about 30 million indexes.

Also, I've been publishing one blog post a weekday on my personal blog about one Postgres feature or component. If you liked this post, you should check it out: [http://malisper.me](http://malisper.me)

<comment><USER3> Hey Michael, not directly related to your post, but I wanted to know how a noob(like myself) can be good at Postgres?

I am a frontend developer who wants to start making(and deploying) full stack apps. I have heard that Postgres is one of the most reliable relational databases out there and I would love to use it in my apps.

Any suggestions on how to get started with Postgres? Or relational dbs in general? Books/courses/making projects/anything else?

Thanks in advance!

<comment><USER4> I'm not Michael, and I'm not sure if this is the answer you want to hear, but if you're a frontend developer the database is likely going to be the least of your worries when you start. Making and deploying the backend is going to take much more of your time than doing Postgres well.

There's a lot of blog posts on HN about bending databases like Postgres to pretty insane workloads. Heap's workload is a nice example of that. they're interesting blog posts but don't let them distract you. Most databases really do work pretty well by default, if you just use them the simplest way possible. Most apps don't have insane workloads, and especially when you start out they won't.

If you just make a table for every "thing" in your system and link them together with foreign keys you're pretty much set. Most popular frameworks (Rails, Django, etc) do this for you without even touching SQL.

This approach is _fine_ for nearly every case. I bet even Heap started like that. Famously, Twitter started like that as well, and the only reason that got them in trouble (remember the failwhale?) was because they were growing faster than nearly any platform ever before. Most sites don't 10x their user count every half year, and if you do, lucky you. Scaling problems are luxury problems.

Half of HN is jealous of people who have scaling problems. I sure am. The other half, well, they won't have scaling problems because they're not shipping fast enough. Their backends would scale though. They read all the books on Postgres and doing it right from the start!

<comment><USER5> As someone who uses Django more or less full time, I don't think relying on the ORM without knowing any SQL is especially good advice.

Django's ORM is very easy to use, but it is not especially powerful, and when you want to do advanced queries (multiple join conditions for example) it often isn't possible. When someone asks me for some data from the database, usually its easier for me to go directly to the database than use the Django ORM.

Use the ORM to start with, but its most definitely a good idea to learn proper SQL .

<comment><USER6> ORM is very much like hypermonadic supertemplate C+++++ type theory, you can only play with it if you know what you're doing, but don't want all that boilerplate (cognitive or in-code unit tests) in your head.

So, I think starting with PHP and raw SQL is a good thing for motivated learners.

And if you need motivation, try building a WordPress site with themes and plugins first. And maybe an Android app. And then something cute like a LED blinker with a raspberry.

</comment></comment></comment></comment></comment><comment><USER7> Google Cached Page: [https://webcache.googleusercontent.com/search?q=cache:v7vWZ1...](https://webcache.googleusercontent.com/search?q=cache:v7vWZ1iYHawJ:https://blog.heapanalytics.com/speeding- up-postgresql-queries-with-partial-indexes/+&cd=1&hl=en&ct=clnk&gl=us)

<comment><USER8> "Running 10M PostgreSQL Indexes in Production"

Also, our website is down due to modest traffic.

<comment><USER9> Obviously they are using a hosted wordpress service, which has nothing to do with their application and the content of the blog.

<comment><USER10> wordpress.com is free and takes infinite traffic just fine.

</comment></comment></comment></comment><comment><USER11> One kind of significant downside of partial indexes in PostgreSQL is that they don't work with parameters. Like, if you have a partial index on username_id, this will work:

select * from users where username_id = 5;

but this won't use the index:

select * from users where username_id = (select 5);

Basically, the query planner won't evaluate the parameter before it decides what strategy to use.

<comment><USER12> > One kind of significant downside of partial indexes in PostgreSQL is that > they don't work with parameters.

Your example is fundamentally different from parameters sent by a client in a parameterized query, i.e. $1, $2, etc. Also while your flawed example will never use a partial index, parameterized queries can and often will do that. With _prepared statements_ (which are a slightly different concept from parameterized queries) the devil will lie in the details, but even those don't really prevent partial indexes from being used since postgres version 9.2, released years ago.

<comment><USER11> my `flawed` example is fine for what I'm using it for: demonstrating that PSQL won't use a partial index in an obviously common use case. Feel free to argue about the semantics of what is a prepared statement vs parametrized query vs whatever, but the fact is that the PSQL planner does not evaluate the subquery select prior to execution nor is it capable to alter its original plan after execution of the subquery.

This makes partial indexes of EXTREMELY limited use for complex queries which often need to pass a non-literal or do a join on a partially indexed column.

In fact, it is this EXTREMELY inconvenient limitation that often forces people to rearchitect large tables around a set of smaller tables with inheritance and check constraints, so that the planner will do index scans on the smaller tables, rather than a huge index.

In fact, if partial indexes were properly architected and supported, it would eliminate 90% of the use cases for partitions in PSQL. Partitions, by the way, are also a sham in PSQL 10, merely putting some syntactic sugar over table inheritance and what is basically a table-routing insert/update trigger. The current planner support for them is a joke / non-existent / worse than roll- your-own inheritance with check constraints and triggers.

</comment></comment></comment><comment><USER13> Good to know about the partial indexes on Postgres, but I am little queries to ask you as an analytics company your system is write-heavy system, how did you justify increasing latency of writes, I am pretty sure that you have some kind of queue in front of Postgres to overcome this problem, secondly what I understand from the blog and nature of event-based analytics it's generally time series data, What made you stick to Postgres where I can easily see lot of different datastores build specifically to deal with time series data like Elasticsearch and influxDB ? can you give me some insights on why Postgres.

<comment><USER14> You need a queue in front of your database irregardless of write latency. Otherwise you tie your availability to database availability as downtime (even for upgrades) is often unavoidable and network problems are common.

Dan gave a pretty good talk about the high-level details of how/why postgres a couple of years back: [https://www.youtube.com/watch?v=NVl9_6J1G60](https://www.youtube.com/watch?v=NVl9_6J1G60).

One reason of why pg is that SQL is really powerful for building complex queries.

</comment></comment><comment><USER15> The selected approach "1 customer data artifact == 1 database metadata object" doesn't look scalable. Sooner or later (I bet sooner) metadata maintenance overhead will outweigh all the benefits. It didn't work with tables in thousands projects (poor man's multi-tenancy) there's no reason it'll work with indexes.

Treat all your metadata as data at DB level, your DB metadata are one level higher.

</comment><comment><USER16> Clearly SiteGround is not quite so salable as Heap...

<comment><USER17> siteground shared hosting - you get capped at X number of executions per 2 hour / 24 hour period / month. If reached, they shut you down until your quota refreshes at the end of the month or if you contact them to get your account reinstated. On the plus side, their tech support is helpful and hands on. Op should probably upgrade their hosting plan.

</comment></comment><comment><USER18> Interesting that you named it Heap, in SQL Server land a Heap is a table which does not have a clustered index

</comment><comment><USER19> select * from sign

</comment><comment><USER20> Why not simply full indexes?

<comment><USER21> As I understand it, the types of analysis they want to do actually aren't super amenable to indexing because they may include wildcards in the middle of the search string (e.g. `WHERE text ILIKE 'div.button % .login'`. You can make a btree index on the `text` column, but queries with the above `WHERE` clause won't use the index.

To index those effectively, you'd need to create a trigram index in Postgres, which takes up a TON of space. Because 90%+ of rows won't satisfy any of the predicates defined by the customer, it's probably unnecessary to trigram index every row.

Out of interest, malisper, how much space do you think you save by using partial indices?

edit: removed a statement I couldn't support about taking unnecessary CPU

<comment><USER2> > To index those effectively, you'd need to create a trigram index in > Postgres, which takes up a TON of space.

I actually ran some experiments on using a naive trigram index and found it doesn't currently don't work for our use case. Most of our data is highly redundant (e.g. Every CSS hierarchy contains `div`) in it. This causes every query to read a large portion of the trigram index which makes the query really slow. I've heard the developers of pg_trgm improved the performance of this use case in a recent version of pg_trgm. I haven't reran my experiment yet because Heap is currently on Postgres 9.5, and the new version of pg_trgm is only available for 9.6+.

I believe partial indexes collectively account for ~5% of our disk storage. A trigram index alone would cause an about 30% increase in our disk usage. To eliminate partial indexes, we would also need full indexes on other commonly queried fields such as the url or the text of what was clicked on. Each of these indexes adds a solid amount of space.</comment></comment></comment>


Apple to Announce New MacBook, MacBook Pro, and Possibly MacBook Air at WWDC - <AUTHOR> https://www.macrumors.com/2017/05/16/new-macbooks-coming-at-wwdc/ <comment><USER2> Does anyone else find the timing of the leak being the day before I/O interesting? I wonder if it was meant to preemptively address some of the inevitable concerns the event would raise about Apple's lineup and assuage potential device defectors.

<comment><USER3> This is standard industry practice - Samsung releases stuff before WWDC and product unveilings. This isn't new for Apple.

</comment></comment><comment><USER4> 32G for my birthday in October, please. Thanks!</comment>


Finally Migrating from Redshift to Snowflake. Share your experience? - <AUTHOR> We are finally migrating from Amazon Redshift to Snowflake. I've read a lot about the "pros" but I am wondering, are there any downsides we should expect from the switch? What should we pay more attention to now that we don't have to worry about performance anymore? <comment><USER2> Redshift is very predictable in terms of cost because of their pricing model. But the bottleneck becomes query performance. When you run a lot of concurrent queries, you may experience queue wait time. The recent launch of Concurrency Scaling mitigates that a fair bit though.

For Snowflake, it's the other way around. Because Snowflake separates compute and storage out of the box, Snowflake will spin up more resources to handle the peak load in queries. So you'll have to watch your $$$.

Snowflake comes with less knobs to turn ("zero admin"), and that's a convenience we've seen lots of data engineers appreciate. In short, you're trading convenience for cost predictability.

We currently support Amazon Redshift with intermix.io for performance monitoring. We are looking to build out support for Snowflake for query and cost monitoring. If there's anybody on this thread who is open for an exploratory call about Snowflake, please shoot me a note at lars at intermix dot io.

</comment><comment><USER3> Snowflake has one answer to every question. Use more compute == Spend more money. E.g. Q: "This query is 2x slower than Redshift?" A: $</comment>


Running an eInk Display with Elixir, Scenic and Nerves - <AUTHOR> http://underjord.io/an-eink-display-with-nerves-elixir.html <comment><USER2> Fellow Nerves enthusiast here. Having an easy-to-use (YMMV) eInk display library in Elixir makes a whole slew of useful lab/tinker equipment feasible! Shoutout to @lawik for taking the effort to port inky over. It's fairly tedious to work with all the SPI and image buffer tweaks.

eInk's have nice readability for "around the lab" type equipment. Having a nice Nerves compatible wrapper lowers that barrier of entry even more. Sure you can do it with Python and a RPi Zero and perhaps some Ansible scripts or PiBakery, but there's something great about being able to make a custom (e.g. < 50 MB) embedded Linux sd-card image with proper SSH network/credentialing, all in around as long as it takes to download a full Raspbian distro on a busy network... I am planning on building a custom weighing station for simple chemical titration next week and have a nice unused eInk display sitting around.

<comment><USER3> Where did you get a "nice unused eInk display" from? :) I've been meaning to tinker with one at some point, but haven't gotten hold of one yet.

<comment><USER4> AliExpres ? EBay ?

[https://www.aliexpress.com/item/32859117013.html](https://www.aliexpress.com/item/32859117013.html)

<comment><USER2> Adafruit in my case [https://www.adafruit.com/product/4195](https://www.adafruit.com/product/4195)

<comment><AUTHOR> Accidental shopping, happens all the time :)

</comment></comment></comment></comment></comment><comment><USER5> I have a reMarkable Tablet and it is a really excellent hackable device. It's actually a full-powered Linux machine with an e-ink display [I think about 10"? Never measured...]

It works brilliantly for music scoring, though the downscaling by about 10% over standard A4 sizing takes a second to get used to.

<comment> m-p-3 Is there a decent email/calendar client for it?

<comment><USER6> It runs linux so you could in theory run mutt or something like that to get emails in when your on WiFi.

I've found with most of the homebrew-y stuff you need to create a launcher that draws the application to the screen of the reMarkable, by default its running a program called xochitl which handles the user interface, file system, etc.

So to sum up, doable but not done...yet!

</comment></comment></comment><comment><USER7> I've wanted a dual eink display for piano sheet music for a while, but it seems that the only ones on the market are $2-5K+. I might try to dink around with a raspberry pi and a few eink displays to see how hard it would be to make a budget one.

<comment><USER8> The 2x 13" screen eink tablets for music are about $1500. You can also use a single screen 13" eink tablet and a footpad for turning pages, for about $500-600. They all run Android so Bluetooth foot pedals for page turning work fine.

Smaller 7-10" eink display tablets are even cheaper

<comment><USER7> Is the majority of that cost the eink displays? $1500 seems super high considering a kindle is $100 (hard to tell if Amazon is subsidizing the cost of the display though)

In my mind, you should be able to buy a dual eink display for <$500

<comment><USER8> Yeah I think it's low volumes of 13.3" eink screens/tablets that drive the price up. The small ones are really cheap

</comment></comment></comment></comment><comment><USER9> I recently purchased a Kindle to restart my interest in reading and of course the first thing I did was to figure out how to develop my own software for it.

It turns out that the Kindle runs an embedded version of Java without a GC. This seems to have stifled the development quite a bit, so it's really cool to see how Raspberry-Pi/Inky homebrew is becoming a thing.

<comment><USER10> There's software which can be side-loaded on Kindles (and Kobos etc.), e.g. Koreader, written in Lua: [https://github.com/koreader/koreader](https://github.com/koreader/koreader)

<comment><USER11> There is also plato.

Original repo: [https://github.com/baskerville/plato](https://github.com/baskerville/plato)

libremarkable fork: [https://github.com/darvin/plato](https://github.com/darvin/plato)

<comment><USER10> I know of plato, but haven't used it before. Do you have experience using it? / are you able to compare it with koreader?

<comment><USER11> I haven't used it as my primary driver but tested releases of it on my Remarkable Tablet. As far as my experience went, it was pleasant and pretty feature complete, at least as an ePUB, DJVU and PDF document reader.

<comment><USER10> Ok, I installed it (it just sideloads like Koreader, so it doesn't 'overwrite' anything) to try it out. It worked fine overall, but:

1) It took a lot longer to load than Koreader (so much so that I thought the reader had frozen)

2) I couldn't figure out how to have it trim PDF whitespace as tightly as Koreader does, which is important for being able to reasonably read pdf files.

3) I added additional fonts into its font directory (and I noticed that some other fonts were already there), but for epubs I couldn't figure out how to change the font from Libertinus Serif.

4) It's not clear that it has all of the advanced font features regarding kerning & ligatures that Koreader has added. (I'm not sure what's enabled by default in terms of kerning/ligatures since I couldn't change to a font that I'm more familiar with.)

5) It generally seems to have fewer features than Koreader.

But:

6) Visually, the interface is cleaner-looking than Koreader's. And it's a simpler (and perhaps easier/more intuitive) interface than Koreader's.

So perhaps I'd recommend it for someone who wanted something more basic/easier, but at this point I'll stick with Koreader.

</comment></comment></comment></comment></comment></comment><comment><USER12> I've been wanting to play with Scenic and still haven't gotten around to it yet. Probably won't start with a Nerves project that requires buying this kind of hardware, though.

<comment><AUTHOR> That's fair. You can do plenty with Scenic entirely without hardware. And you should, Scenic is great :)

</comment></comment><comment><USER13> _> An Inky display from Pimoroni. We've tested the Red PHAT_

I tested it too! It was actually really good as an NTP client clock attached to a Pi Wireless Zero. I had it update every minute, then every 15 minutes it would get the time from my Pi NTPD clock server and display the offset in red. Longevity was excellent: it did 763,200 updates in its lifetime.

The Pi actually died following an attempt at an update but the display seems to still be operational.

</comment><comment><USER14> I use a Dasung Paperlike Pro to do work on occasionally. I love it. It was expensive but personally it was worth every penny. Nothing beats coding outdoors with natural light. Pretty much the only thing its good for is reading/writing, but that has its own benefits.

I had to customize colors in vim as well, since you lose all the colors when you use eink, but that's only a marginal drawback.

<comment><USER15> I really really want an e-ink laptop, exactly for this purpose. I absolutely love working outside, like on my patio or wherever. I've tried just about every shade over the years, but anything other than basically enclosing the space between your head and the screen gives you too much ambient light for these LED screens.

<comment><USER14> Yeah I get you, the human eye works logarithmically so we can see in very dark spaces, but that means the light necessary to see a computer screen is a fraction of what comes from daylight. People were not meant to breath hvac air inside an unaturally lit cubicle. Fresh air, natural light, and proper sleep cycles(up with the sun, down with the sun) I feel are my secret sources of power.

</comment></comment></comment><comment><USER16> Thank you for the write-up! I've been looking for an excuse to dig deeper into Scenic, and the allure of combining that with eInk makes it sound even more fun. Ordering an Inky right away.

</comment><comment><USER17> As an artist, what I would love is an eInk that could be trimmed and shaped (within reason). It won't happen, of course - even the early promise of eInk as "bendable" has mostly been shelved.

</comment><comment><USER18> Are there any mobile phones with eInk displays?

I've wanted a Lightphone2 [0] but it seems like it might be vapourware.

[0] [https://www.indiegogo.com/projects/light- phone-2#/](https://www.indiegogo.com/projects/light-phone-2#/)

<comment><USER19> The Kingrow does this: [https://www.indiegogo.com/projects/kingrow-k1-the- healthy-ph...](https://www.indiegogo.com/projects/kingrow-k1-the-healthy- phone-cares-your-eyes/x/16580847#/)

It's still crowdfunding, but it seems they started mass production already and it will be for real.

<comment><USER18> This looks like almost exactly what I want! But they've only raised $78,000? How can that possibly be enough to design and mass-produce a new mobile phone?

</comment></comment></comment><comment><USER20> What's the current state of eInk/ePaper? I remember reading a couple years ago that the industry was bogged down by patents. Wonder if costs have gone down.

<comment><USER4> From the user perspective (I am looking for a paperwhite gen 3 replacement) the price is more or less the same, and the technology haven't changed much either since 2015- display contrast is the same, and is not getting closer to a real black print on paper feeling, unless you crank up the backlight

</comment></comment><comment><USER21> Something about this article just rubs me the wrong way --- it feels like CV padding. So many buzzwords, so much complexity, so many layers of libraries just to write to a display. I didn't know what Nerves was, so clicked over to [https://nerves-project.org/](https://nerves-project.org/) and didn't learn all that much more --- the home page there looks to be more marketing wank than anything else (a lot of projects these days seem to have this affliction; they'll tell you all the _great_ things you can do, but never answer the question of _what it is_.) What's more, and this isn't specific to this article but basically all e-ink products out there, those layers of complexity almost certainly are not letting you use the display to its full potential; they only offer a dumb framebuffer interface.

That's particularly disadvantaging with eInk, because if you drive the display directly instead of using a pre-packaged controller, you can achieve effects like partial redraws without flickering, and even theoretically infinite levels of grayscale; here's a previous HN discussion of an article where someone did just that:

[https://news.ycombinator.com/item?id=16140284](https://news.ycombinator.com/item?id=16140284)

The ED060SC4 seems to be one of the best for this; you can drive them directly, they're reasonably large (800x600, 6") and cheap, and there's plenty of information on them.

<comment><USER22> To be blunt. It seems like you care more about feeling important through criticism that making sure that your criticism is valid.

<comment><USER23> Please don't cross into personal attack. That breaks the site guidelines and we ban accounts that do that. Instead, if you have the karma (which you do), you can downvote such comments, flag them if they break the guidelines, or email email@example.com in egregious cases.

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


The Tricks Investors Use Against Founders - <AUTHOR> http://www.theprivateequiteer.com/investor-tricks/

<comment><USER2> It's important to note that these things are common in the private equity world, not the angel investment or venture capital world. The VC world has totally different tricks, like 3x participating preferred, "independent" board members, collusion, and option pools.

Also, if the PE firm is using a 20% discount rate to evaluate the merits of vendor finance, they are likely fooling themselves more than they are fooling the founders.

<comment><USER3> There are a few ways you can look at this 20% discount rate:

      * Cost of capital for the fund
      * Cost of capital for investors in the fund
      * Cost of capital for the business

If you can't earn 15-20% on a business, you really should invest the capital in a less risky investment. Additionally, most PE funds look to double their investments in 5 years. So using a 20% discount rate is somewhat conservative with this in mind.

However, I tend to agree that you wouldn't want to be throwing a 20% discount rate around against yourself in deal. It's certainly not outrageous though. Think of it as opportunity cost too.

<comment><USER2> _Additionally, most PE funds look to double their investments in 5 years. So using a 20% discount rate is somewhat conservative with this in mind._

PE funds tell themselves they can achieve a 20% return, but in reality they are on average no better than index funds. See:

[http://www.google.com/search?sourceid=chrome&ie=UTF-8...](http://www.google.com/search?sourceid=chrome&ie=UTF-8&q=average+pe+fund+return)

I stand by my claim that in assuming 20% returns for vendor finance, PE funds are tricking themselves by a greater magnitude than they are tricking founders.

</comment></comment></comment><comment><USER4> These tricks are depressing and bolsters my attitude more toward a profitable yet slower growth start-up, doing without the sleazy investors...

By no means am I saying all are sleazy, but a slower growing startup will not attract the better of the lot.

<comment><USER5> This list is basically irrelevant to startups.

PE firms don't invest (generally) in early stage tech startups. By the time you get to dealing with PE (as an alternative to IPO, or as a path to turnaround if you're company is fucked like Yahoo), you can hire your own lawyers and such to buffer from the sleaze.

</comment></comment><comment><USER6> How do you find the right lawyer to vet your agreements, as a founder, to make sure something like this doesn't happen to you? Is a lawyer even the right person to look for?

<comment><USER7> > Is a lawyer even the right person to look for?

It's very tricky.

If you find a lawyer that sees many deals, then he/she likely knows many VCs and knows who butters his bread.

If you find a lawyer that doesn't know many VCs, then they likely don't know as well the in's and out's of term sheet tricks.

More fundamentally, the problem is that founders are technical (by and large), and they are up against people who do term sheets for a living. It is a very asymmetrical-knowledge situation.

<comment><USER8> I would expect a banker / financial advisor to pick up on value and risk points. A really good, experienced lawyer should, but it isn't entirely in their expertise.

(BTW, if the lawyer does see a lot of deals, I would wonder how much of their business is representing investors, and how that colors their thinking. Their duty is to their client, but it's just human nature to see things in the same terms as your client base.)

These negotiate for a living, but investors shouldn't be intimidated. Take your time, think the thing through. DO NOT BE AFRAID TO SAY NO. Always have a plan to walk away, and never get committed beyond your comfort with the terms of the deal. Always have some plan to bootstrap, if only to prevent psychological commitment to _this_ funding deal.

I'm sure the fundraising process is a pain, but a lot of the preparation and strategizing is stuff that management should be doing anyway.

</comment></comment></comment><comment><USER9> One of the cardinal rules of software development I've decided over the years is to seek to reduce complexity and reduce risk. With respect to entrepreneurship I go in with a similar philosophy. Therefore as a general rule I think it's wise to avoid outside investment. Because it exposes you to unnecessary additional complexity, risk and sleaze. If you can start and grow a business without it, strongly prefer to do so.

 __* Note that I speak in general terms. I love YC and trust PG so they would be an exceptional case where it can be a clear net win.

<comment><USER10> "unnecessary" is the key word here. sometimes (often?) it is necessary to take on investment.

</comment></comment><comment><USER11> Folks, this article is about private equity. 10 to 1 odds it doesn't apply to you. Not tips for dealing with VCs. Interesting if you like finance.

</comment><comment><USER12> This is only marginally relevant for venture funding. All of the discussions in the article are about how to value a company based upon its current earnings and earnings growth -- your average start-up has zero (or, more accurately, negative) earnings, so the value equation is completely different. Start-ups don't have EBIT.

That said, I wouldn't really qualify any of the items mentioned in this post as "tricks" or "sleazy". Any halfway decent CFO or attorney can run the numbers and explain the outcomes. Instead, the bigger point is that any deal has to be viewed through the lens of the needs of both sides. For a businessperson who desperately needs $7 million today to pay for a new factory to fill an order, it may be worth giving up something down the road vs. foregoing the investment and losing out on the opportunity.

</comment><comment><USER13> I think all of these are easily trumped by the ol' bit of common sense : "a bird in the hand is worth two in the bush". Don't trust someone who is a professional crook to propose you a deal that includes long term promises.

If people want to pay half later, find a way to cut what they want to buy in half and give it to them at this time and make no promises yourself either.

</comment><comment><USER14> Makes sense. I've dealt with a few PE funds and always had my gut screaming at me to run away quickly. Explains a lot.

</comment><comment><USER15> Corruption in investing doesn't just hurt founders. It hurts everyone in the end.

Every time one of these articles about "how investors screw founders" or "how employee stock option are never going to pay out", the pool of employable staff are a little more likely to say "These stock options are worth nothing to me but a lottery ticket, so I'm not going to work hard at this job beyond my salary, and maybe I'll get my win for getting some sliver of equity if the company goes big on someone else's effort or sheer luck." In the end, in a den of thieves no one puts in an honest day's work, and nobody wins.

Bootstrap your business with your own money and your own customers' money, and leave the sharks behind.

</comment><comment><USER16> Wow. Thank you for the insight, as someone who is working on getting funding for my business.

<comment><USER17> This advice is about PE deals, not you.

<comment><USER16> I think you're mistaken. The title of the article is "The Tricks Investors Use Against Founders". I'm a founder, working on attracting Private equity from investors, and trying to make sure I don't get tricked. I think that this advice is for me!

<comment><USER17> Heh. You mean private investment.

This refers to large scale deals from PE shops.

I've personally raised twice and have invested in 50+ startups. None of this stuff happens in early stage VC or angel land.

<comment><USER16> My original comment:

"Wow. Thank you for the insight, as someone who is working on getting funding for my business."

I don't see any conflict, even if it's 20 years before I need to worry about these issues, I'm just thanking the OP, and author for the heads up...

</comment></comment></comment></comment></comment><comment><USER18> So, what's the best solution here? To pay $39 and buy "Private Equity Secrets Revealed" eBook or to hire a seasoned lawyer? And then, how much are you going to end up paying the lawyer? Are the lawyers going to pull the same tricks on you as well?

</comment><comment><USER19> _"While you have very limited sources of potential funding, we have virtually unlimited investment opportunities"_

Interestingly, in his interview on Mixergy [1], Oren Klaff (author of Pitch Anything) describes money as the ultimate commodity. You can get money anywhere, there's only one of ME.

He discusses this as "prizing". It's definitely worth a look (the book is also pretty interesting).

[1] <http://mixergy.com/oren-klaff-pitch-anything-interview/>

</comment><comment><USER20> Seems to me that an undergraduate Econ education (or equivilant) would go a long way in seeing through some of these. These look like questions I've seen on exams.

<comment><USER21> The most of it was dealing with PV (present value) and Expected PV of the deal, so the first point would be learning concept of PV and discount rates

</comment></comment><comment><USER22> Sorry for the n00b question, but can someone explain the distinction between PE investor & angel/VC? Is angel/VC a subset of PE investor?

<comment><USER23> PE investors buy mature companies and extract profits via cost cutting, mergers/acquisitions, re-organizations. A PE firm may buy a paper manufacturing company if they thought they could increase profits by cutting unnecessary costs.

angels/VCs fund growing companies and extract profits as the company value grows and is to sold to a company or the public market. A VC would never fund a paper manufacturing company unless this were a wholly new way of making paper and had potential to transform the entire industry.

<comment><USER22> so how relevant is this article for startups? Seems to me this is more for owners of mature companies. Or am I missing something?

<comment><USER24> Hardly at all. It was probably posted by mistake.

<comment><USER25> Are you sure the article didn't just flip the relevance bit for you when you read "investors are looking for good companies with low risk, not great companies with high risk"?

The stuff in there about how earnouts are structured seems germane. I have friends who have sold tech startups where earnout structure was a material issue.

</comment></comment></comment></comment></comment><comment><USER7> There are things that one learns only by going around the block a few times. This article is a good starter list.

</comment><comment><USER15> This post is an unsponsored advertisement.

</comment><comment><USER26> Brad Feld's blog should be the first thing you read if you get a term sheet (or even better - if you start trying to raise $). He helps explain these things in plain english and what they look like in lawyer terms as well.

<comment><USER17> Jesus, no. You go talk to your experienced lawyer about the term sheet.

Not that Brad is wrong about anything.

It's just that this isn't a software package where you can google around and read a few blog posts and get up to speed.

A good lawyer will be familiar with what is going on, current terms, etc.

<comment><USER26> Of course you use a lawyer, but you should understand it as well.

<comment><USER27> And you should do your part first so that you can ask the lawyer the tough stuff instead of paying $X00/hour for Law 12.

</comment></comment></comment></comment><comment><USER28> Am I the only one in 2011 who just isn't interested in an ebook? I have a Kindle - can't really bond with it. I have an iPad - can't bond with it either for books or long reading sessions.

I would buy the printed copy of this and read it but I won't buy the ebook. I just like printed books better.</comment>


StartupDay 2010 HackerNews discount code - <AUTHOR> http://www.seattle20.com/startupday/?hackernews StartupDay is September 25 (Saturday) in Seattle and it features 15 successful entrepreneurs giving 20 minute talks on everything that is important to build a successful startup. Use discount code HACKERNEWS to get 30% discount. <comment><USER2> I don't see a code anywhere. It's obviously a special landing page but the registration form still asks for a code. If you submitted text with your link, it's gone.

<comment><AUTHOR> The code is HACKERNEWS.</comment></comment>


Ars Technica Hacked - <AUTHOR> https://dl.dropboxusercontent.com/u/36703262/ars.PNG

<comment><AUTHOR> Just tried to go to Ars just to see this.

<comment><USER2> It was over very quickly.</comment></comment>


Building DSLs in Swift - <AUTHOR> https://www.swiftbysundell.com/posts/building-dsls-in-swift <comment><USER2> So helpful, but it's crazy to me that Apple provides such horrible options for creating UI for iOS. AutoLayout is verbose confusing mess and using storyboards is a disaster. Why can't we have simple declarative markup to create UI? Android's xml files are a pleasure to work with.

<comment><USER3> Storyboards aren't a disaster, I think people's grasp of storyboard best practices is really the disaster.

For our team, storyboards are for flow and they are broken up into individual storyboards where possible. Individual xibs are used for views and view controllers. We don't put any UI in storyboards at all.

Autolayout is as easy or as hard as you want to make it. As with almost all things, less is more. I think people definitely need to have an a-ha moment with it.

I consider it a knock against you if you can't sort out interface builder or autolayout, if I'm being honest.

<comment><USER4> To be honest, storyboards are either a rookie tool, or usable for small to medium apps. Most large apps don't use them at all.

And yes, autolayout is a shitshow, hence the countless utilities and frameworks built on top of it to make it more palatable.

<comment><USER5> > Most large apps don't use them at all.

Source for that?

The only reason to not use it, is because some of those Apps are built with third party multi-platform frameworks and not UIKit (React)

> hence the countless utilities and frameworks built on top of it to make it > more palatable

So, having layers of abstraction, now means it sucks?

No, people make layers of abstraction because the underlying layer is useful, powerful, configurable.

People do encapsulate AutoLayout because it works, and is good, or else, they would be doing their own code programatically.

<comment><USER6> > The only reason to not use it, is because some of those Apps are built with > third party multi-platform frameworks and not UIKit (React)

Anecdote: I've worked on a few large iOS teams at well-known companies. At all of them, we have moved toward building UI in code and specifically banning the use of XIBs and Storyboards (we still use all of Apple's frameworks — e.g. UIKit). Part of the reason is merge conflicts — in much the same way that merging Xcode project files requires every engineer to understand and be able to parse the syntax when looking at a diff, merging changes in XIBs and Storyboards is fraught with danger (at best).

<comment><USER5> We don't have that problem, we have CI with UI tests.

<comment><USER7> Wow, your CI automagically fixes merge conflicts?

</comment></comment></comment></comment></comment></comment></comment><comment><USER8> I don't quite see the need for LayoutProxy, or a layout method. Why not just extend UIView with a category which defines properties that add constraints when assigned to?

<comment><USER5> The article is not about AutoLayout. It's about DSL's, most commenters didn't even read the article, and jumped right to poo-pooing AutoLayout.

<comment><USER8> Your comment might be useful in the context of this entire comment section, but I don't really see why you've chosen to reply to me in particular.

</comment></comment></comment><comment><USER9> >We'll also take this opportunity to automatically set translatesAutoresizingMaskIntoConstraints to false, which further makes our API easier to use

Warning: you MUST NOT do this for UITableViewCell/UICollectionViewCells' contentViews.

[https://github.com/SnapKit/Masonry/issues/492](https://github.com/SnapKit/Masonry/issues/492)

<comment><USER8> In general, you should not touch the layout of Apple's view classes other than using them as a reference for positioning your own views.

<comment><USER9> Exactly.

But when people use these libraries that "helpfully" set `translatesAutoresizingMaskIntoConstraints = false` for them and they don't understand what's going on under the hood, their layout breaks and they start complaining about autolayout being "buggy".

<comment><USER10> What's the solution in such a scenario? If I'm making custom cells, I'm going to constrain my views to the contentView. If I use a library like SnapKit, then the library sets translatesAutoresizingMaskIntoConstraints to false. Should I override that somehow and set it back to true? Should I use normal NSLayoutConstraints for all constraints involving contentView? That doesn't seem ideal.

<comment><USER9> You can use the regular NSLayoutConstraints.activate() API, or you can set it back to true.

Also, notice that translatesAutoresizingMaskIntoConstraints will only be set on the view which you call `layout` on. I.e. this is bogus:

        self.contentView.layout { make in
              make.left.equal(self.otherView)
        }

But this is "fine":

        self.otherView.layout { make in
            make.left.equal(self.contentView)
        }

Of course now you're relying on implementation details of SnapKot/Masonry/whatever.

I personally just use the built-in anchor APIs with a few helpers (e.g. to create constraints to match all 4 edges of two views). In swift you have operator+ for arrays, so NSLayoutConstraints.activate(...) can be pretty succint this way.

</comment></comment></comment></comment></comment><comment><USER11> Something similar here: [https://github.com/lmcd/EasyAnchors](https://github.com/lmcd/EasyAnchors)</comment>


Improving MapReduce Performance in Heterogeneous Environments (2008) - <AUTHOR> https://www.usenix.org/legacy/event/osdi08/tech/full_papers/zaharia/zaharia_html/index.html <comment><USER2> I wonder if Google pays attention to outside research like this, or considers itself ahead of the outside world.</comment>


Primer on spent nuclear fuel pools - <AUTHOR> http://mitnse.com/2011/03/16/a-primer-on-spent-fuel-pools/

<comment><AUTHOR> Provides a good overview of what's going on with the 4th reactor's spent fuel rods. These look like one of the larger threats, since they're much less protected.</comment>


When working from home doesn't work - <AUTHOR> https://www.theatlantic.com/magazine/archive/2017/11/when-working-from-home-doesnt-work/540660/?single_page=true <comment><USER2> Interesting c2.com entry for ST Lab: [http://wiki.c2.com/?SantaTeresaLaboratory](http://wiki.c2.com/?SantaTeresaLaboratory)</comment>


U.S. sets plan to build two exascale supercomputers - <AUTHOR> http://www.computerworld.com/article/3143551/high-performance-computing/us-sets-plan-to-build-two-exascale-supercomputers.html <comment><USER2> I was at a conference in Sept (actually YC startupschool:P) and there was a comprehensive speech by Rigetti about quantum computers and how much more powerful they are and how much less energy they need. In the article above it's not clear what technology they are planning to use.</comment>


YC Office Hours at Hack the North – Sept 17 - <AUTHOR> http://blog.ycombinator.com/yc-office-hours-at-hack-the-north-sept-17 <comment><USER2> I went to the one last year. It was really helpful since they helped me realize what I was working on at the time didn't have much potential (big market but negative growth)</comment>


Ruby 3x3 Progress - <AUTHOR> http://engineering.appfolio.com/appfolio-engineering/2017/12/4/hows-progress-on-ruby-3x3 <comment><USER2> Any significant change to the language is certainly going to take time and careful attention, so I'm not surprised the guilds and typing stuff hasn't fully seen the light of day at this point. Performance progress is certainly welcome...while I applaud the goal of 3x speed over Ruby 2.0, I'd be quite content with only 2x, which I suspect is a more realistic target.

</comment><comment><USER3> Really interested to see what approach Ruby takes when it comes to typing support. Matz has said that "optional typing should honor duck typing" [1], which will require a very different approach to the simple nominal typing that's been added to recent versions of Python.

[1] [https://bugs.ruby-lang.org/issues/5583#note-7](https://bugs.ruby- lang.org/issues/5583#note-7)

</comment><comment><USER4> Ruby is the mainframe of the web. It will be around for a long time, but nobody should start a business built on it now. And just like the mainframe, there will be a select few who make a lot of money at it. IMO most companies will eventually just rewrite their projects in something more modern.

<comment><AUTHOR> Why do you think that and what is your alternative?</comment></comment>


I just realized I have been running 99% fraud sites - <AUTHOR> https://www.reddit.com/r/adops/comments/iufkdg/i_just_realized_i_have_been_running_99_fraud_sites/ <comment><USER2> Every time I hear a story about an Adsense site being banned for a minor, or obscure reason, which is often fixable (but not with googles unappealable, algorithmic support / dispute process), this is what comes to mind.

Google seems to ban so many sites, yet what seem like obvious frauds make it though. There are forums full of black hat tactics and adfraud services for sale, yet rather than doing a few "buy/busts" to go straight to source of this stuff, they seem to focus on the publishers, and ban them for all manner of reasons often beyond their control.

I mean, I can buy that traffic to any site, I don't need to own it. And then they bare the punishment.

And we could all just shrug and say "who cares". But those ads support content on the web (more, it did). If google had more effectively banned the bad players and spam tactics, we wouldn't have the level of SEO spam, low budget, useless content we see today. We'd still have the independent bloggers, making a decent wage, writing good content. But they can't compete, because spam is more effective, and if they get banned they can just spin up another 10 sites.

But if you play by the rules, you're the real loser.

</comment><comment><USER3> What value does any of this have to anyone at all except him? What an absurdly stupid waste of time. They pay for traffic which in my book makes it illegitimate because it isn't genuinely interested people, and expects it to what, be people paid to click around instead of machines spun up to click around? How is that any less stupid?!

<comment><USER4> I don't think it's that clear that paid traffic means illegitimate: you can pay for ads on Search and expect it to be human traffic that is interested for example.

</comment></comment><comment><USER5> As someone that's been watching internet based fraud since 1996, this sounds like it could be been written almost exactly the same in 2002. Everything old is new again.

</comment><comment><USER6> Nothing much has changed: [https://www.joelonsoftware.com/2005/10/24/something- rotten-i...](https://www.joelonsoftware.com/2005/10/24/something-rotten-in- adsense/)

Are we witnessing the greatest fraud in history?

<comment><USER7> based on my own experience with Adsense

we probably are

 __ __ __ __ __ __*

one other thing people should keep an eye on

Google inserting Adsense tags into organic traffic

people who were coming to your site anyways - Google pretending it's paid Adwords traffic

</comment></comment><comment><USER8> I'm not sure I understand. Is it -

They create a crappy site with blog spam.

Pay someone else to get people to visit.

Then the people who have been directed to the site by someone else click on their ads, which = $

But they just found out the people who visit are really bots.

But currently everyone is getting paid. So the only loser is the advertisers at this stage.

\</comment><comment></comment><comment></comment><comment>

> 8M * $0.80 CPM = $6400 revenue

> 8M * $0.25 CPM = $2000 expenses

> Profit = $4400?

> i_am_rich_AF : yes this is per site per month

<comment><USER9> > the only loser is the advertisers

In the short run yes. In the long run the cost per ad view/click drops and legitimate sites suffer from reduced ad revenue.

<comment><USER10> In that case everyone wins, because they'll be positively stimulated to not be funded by ads.

<comment><USER11> You'll only summon more marketers with incantations like that.

</comment></comment></comment></comment><comment><USER12> That's at least progress--ten years ago, that guy would be posting here, whining about how his great, content-rich site isn't getting the attention it deserves.

</comment><comment><USER13> depending on the scale, people do get arrested for this sort of thing [https://www.google.com/search?q=arrested+for+%22adfraud%22+O...](https://www.google.com/search?q=arrested+for+%22adfraud%22+OR+%22ad+fraud%22&tbm=nws)

</comment><comment><USER14> How can "paid traffic" be legitimate?

<comment><USER15> Ask google.

</comment></comment><comment><USER16> wait arb still works?!</comment>


Ask HN: How do people keep finding my gem? - <AUTHOR>

I've written a few programs, mostly just for fun, and never bothered to advertise them heavily. Nobody's paid attention, which is about what I expected. Then I wrote this:
http://rubygems.org/gems/groundwork
429 downloads right now. And I don't know how that happened. At first I figured, well, it shows up on the "recently added" list, but then they just kept coming. As an experiment I uploaded another one:
http://rubygems.org/gems/clean
And it had the lack of interest I'd expected.
So I guess my question is, now what? These 429 people like my thing, how can I find out why, so I can learn how to improve it, or make more things like it, or whatever? Nobody's following the project on Github, nobody's emailed me or anything. How do I get in touch with my users? <comment><USER2> I've been wondering the same thing. I'd bet that they're coming from a search engine. I routinely search on Google for something I need to do using Ruby. Almost always there's a result for a Gemcutter gem that does what I need to do, and that's how I find them.

<comment><AUTHOR> That's a nicer theory than my current one, which was that some guy with a _lot_ of EC2 instances put "gem install groundwork" in a chef script for setting them up. :)

I've tried googling a few different things though, and couldn't get myself to come up on the first page. Is there a way to make Google tell me what terms led there?

<comment><USER2> Google Analytics, but since you don't control rubygems.org you might need to ask Nick Quaranto, the admin and creator of the site.

</comment></comment></comment><comment><USER3> Google your keywords, maybe a blogger wrote about it or something.</comment>


Ask HN: Good General Design books? - <AUTHOR> I have come to realize that design is not partial to any particular product or profession.
It is integral to every good thing on this here earth.
Thinking about the website user, the person who's going to live in the house, the person who's going to drive the car, and the person who's going to use the tool, etc. 7
They are really the same thing when you get down to brass tacks.
So I ask you HN, is there a general design book out there that teaches the aspects of good design in general?
Or is it so straightforward that the only thing required is common sense and a lot of it?
Cheers. <comment><USER2> Design Your Life [https://designingyour.life/the- book/](https://designingyour.life/the-book/)

applies engineering design principles to your career and personal goals

<comment><AUTHOR> Cheers, thanks for the tip!

</comment></comment><comment><USER3> The Design of Everyday Things by Don Norman

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

<comment><AUTHOR> Cheers, thanks for the tip!

</comment></comment><comment><USER4> Almost all related to design from the "A book apart" collection:

[https://abookapart.com/products](https://abookapart.com/products)

<comment><AUTHOR> Cheers, thanks for the tip!

</comment></comment><comment><USER5> I picked most from these two books.

* Don't make me think.

* Design of everyday things.

Goodluck. :)

<comment><AUTHOR> Cheers, thanks for the tip!</comment></comment>


Has Heroku killed the shared hosting company? - <AUTHOR> http://blog.meerkatalyst.com/post/3712367185/has-heroku-killed-the-shared-hosting-company

<comment><USER2> Shared hosting companies are doing quite fine. I think you'll find the users on shared hosting are wildly different from those on EC2/Heroku. Maybe someday when they are equally easy to use, but right now, as a small business owner or kid making a website, I don't want to think about hourly billing for my website.

</comment><comment><USER3> I believe that simple economics will kill the shared hosting company, given enough time:

[http://clubtroppo.com.au/2008/07/10/shared-hosting-is- doomed...](http://clubtroppo.com.au/2008/07/10/shared-hosting-is-doomed-and-i- have-the-graphs-to-prove-it/)</comment>