CBS chief says network could go all-Internet if Aereo wins - <AUTHOR> http://news.cnet.com/8301-1023_3-57620164-93/cbs-chief-says-network-could-go-all-internet-if-aereo-wins/

<comment><USER2> The headline is very misleading. CBS is threatening to stop broadcasting over the airwaves and become cable-only, like USA, TNT, TBS, etc. That's a far cry from "internet-only".

Which is too bad, because my first reaction to the headline was "great, let's get beyond the broadcast/cable model of television". But moving CBS to cable will only strengthen the status quo.

Moonves comes across as a whiny, powerless loser in the quotes in this article. Any time you hear powerful people in a position of strength throwing a tantrum over interference with their revenue streams by small-time players with a tiny audience, you can bet it'll be in your best interest to favor the little guy.

<comment> jack-r-abbit He said "we could go OTT with CBS." _Over-the-Top Content (OTT) refers to delivery of video, audio and other media over the Internet without a multiple system operator being involved in the control or distribution of the content._ [1]

[1] [http://en.wikipedia.org/wiki/Over-the- top_content](http://en.wikipedia.org/wiki/Over-the-top_content)

<comment><USER3> Thanks for the clarification. I thought he was making a reference to World War I, and the idea of being the first to go over the top meant they would be mowed down by machine guns.

<comment><USER4> Can we send Comcast first? ;-)

</comment></comment></comment></comment><comment><USER5> Once upon a time, the United Nations threatened to leave New York unless the city allowed diplomats to violate parking regulations with impunity. Giuliani replied, "Great! Do you know how much that land is worth?"

Similarly, I say to CBS: Fantastic! Imagine all the wonderful things people will invent to make use of your spectrum.

<comment><USER6> I have no idea why we haven't already kicked broadcasters off the spectrum and farmed it out for mobile data. Its far more valuable for 2-way communications vs Judge Judy.

<comment><USER7> It's far more valuable to you for 2-way communications vs. Judge Judy.

There are a lot of really quite vocal, really quite elderly people who love, support and value CBS and the like. The pitch of enhanced communication, in whatever form, is much less appealing than Wheel of Fortune.

<comment><USER6> My startup is majority-owned by a broadcaster in a major market :) I'm _very_ familiar with audience demographics.

Sometimes, decisions can't be democratically decided (moving spectrum from broadcasters to 2-way comms), as opinions ("I want my stories") shouldn't hold the same weight as facts (spectrum is far too valuable to waste on broadcast).

<comment><USER7> Valuable is still subjective, and is essentially an opinion. Valuable to who? Valuable in what way? Free, over-the-air television is still wildly valuable for many people in rural areas, much more valuable than a paid communications service.

"Sometimes, decisions can't be democratically. . ." I would love to hear your thoughts about the CIA story on the front page right now ;).

<comment><USER6> > "Sometimes, decisions can't be democratically. . ." I would love to hear > your thoughts about the CIA story on the front page right now ;).

My comment was less about government and more that you can't design/make decisions by committee.

<comment><USER8> Yes, and Congress _is_ a committee. That's the point of having a parliament.

</comment></comment></comment></comment></comment></comment></comment><comment><USER9> > "If the government wants to give them permission to steal our signal, then > we will come up with some other way to get them our content and so get paid > for it,"

I can't believe he thinks that capturing a signal they are freely broadcasting over the air is stealing. That's insane. There's definitely a better way their argument against Aereo could have been made.

</comment><comment><USER10> Yeah, they'd be facing a MAJOR class-action lawsuit from their affiliates (many of whom are part of not-so-small conglomerates) if they actually attempted anything like this. I have serious doubts they even have the power to do this, as much as they want us to believe they do.

<comment><USER11> Good point. CBS owns/operates only 16 stations and affiliates with 200 others.

</comment></comment><comment><USER12> I hope they do this, and good riddance if they do. The thing we need more of is old-content companies going out of business. Hopefully they take their outdated models and rent-seeking, extortionary copyright models with them.

<comment><USER13> I came here to say exactly this. The TV broadcast spectrum has some really desirable FCC licenses. Imagine if white spaces became the de facto standard simply because the old-guard broadcast TV companies went cable-TV only ...

The same cable TV that is losing cable-cutters in the US [1] and elsewhere.

[1] [http://online.wsj.com/news/articles/SB1000087239639044379260...](http://online.wsj.com/news/articles/SB10000872396390443792604577574901875760374)

</comment></comment><comment><USER14> A decade ago CBS said they'd refuse to support HD unless the broadcast flag was mandated. They're bluffing again, poorly.

</comment><comment><USER15> _CBS and other broadcasters are suing Aereo over its service using antenna and remote DVR technology to let subscribers watch live, local over-the-air television broadcasts, without making any payments to the creators of the programming._

...

 _CBS is the parent company of CNET._

You can tell.

Isn't their whole business model built around free tv stuffed with ads? By very design their consumers do not make any paymnets to the creators of the programming.

<comment><USER16> No, their business model is a combination of free TV stuffed with ads and gouging cable companies for the rights to rebroadcast their shows on cable TV. If Aereo wins in court, the cable companies will immediately clone Aereo to get around those rebroadcast fees.

</comment></comment><comment><USER17> I will never understand why the networks are whining so hard about Aereo. Their content is already FTA and the customers still see advertisements. If anything, this helps the network since it increases ad penetration!

<comment><USER11> Because, as it's been stated before, if Aereo sets a precedent in court that they do not have to pay retransmission fees the cable/dish companies will stop paying the networks in a heartbeat.

The networks could care less about Aereo the business but they care DEEPLY about this court ruling.

<comment><USER18> This is a great point and sums up why this is on the way to the supreme court at all.

</comment></comment></comment><comment> jack-r-abbit I think this whole Aereo case is crap. Those signals are out there in the air and ready to be grabbed by anyone. Aereo has taken a very interesting approach to the system but I don't see how that is any different than every subscriber having their own antenna on their roof connected to their own DVR. This is just a co-located antennas much like co-located servers.

</comment><comment><USER19> Why would CBS care about how people access their junk? They get paid by advertisers who care about eyeballs. More eyeballs, more money for CBS. Unless I'm mistaken and the cable bundler services of Time Warner / Comcast pay big bucks to have CBS in their packages.

<comment><USER20> > Unless I'm mistaken and the cable bundler services of Time Warner / Comcast > pay big bucks to have CBS in their packages

Yep, in the form of "retransmission fees" paid by the cable companies. CBS currently makes about 250M dollars a year from these fees, and they project that'll be up to 2B by 2020: [http://www.deadline.com/2014/02/cbs-chief- raises-retransmiss...](http://www.deadline.com/2014/02/cbs-chief-raises- retransmission-revenue-estimate-and-says-aereos-no-threat/)

Of course that projection may be inflated for their own selfish reasons.

<comment><USER19> wow, talk about easy money.

</comment></comment></comment><comment><USER21> This is just ill-informed big talk. They could never go Internet only and get both the advertising revenue they currently do, and the government breaks they currently do.

They would be giving away drastically more than Aereo costs them, and they know that. Mark my words, even if Aereo becomes wildly popular, this will never happen.

</comment><comment><USER22> Is there some Aereo equivalent that I can have at home? Would love a simple solution to DVR stuff by way of antenna.

<comment><USER23> It depends on your location, but many places in the US have the big 4 + PBS available over the air. You just need an antenna capable of picking up the signal, a tuner capable of decoding it, and some device to record the decoded signal.

Go here to see what kind of antenna you'd need: [http://www.antennaweb.org](http://www.antennaweb.org).

For the tuner and recording device, there are several options. I think most people use a PC + a tuner card + scheduling/recording software like Windows Media Center or MythTV. I'm using MythTV w/ XBMC as the frontend.

<comment><USER24> If you want a device that "just works", Series 2 TiVo devices support connecting a digital converter box, and Series 3 TiVos support OTA digital broadcasts out of the box.

</comment></comment></comment><comment><USER25> I doubt this will happen. CBS owns rights to show the AFC division of the NFL. It is not in the NFL's interest to reduce it's audience. The NFL is a HUGE money maker for CBS and other networks that cary games.

<comment><USER26> CBS also has the worst NFL presentation. Their broadcasters and production quality is so far behind Fox and NBC, not to mention ESPN.

</comment></comment><comment><USER27> That spectrum will be worth a bunch of money, no?</comment>


BeeFree email editor - <AUTHOR> https://beefree.io

<comment><USER2> Massive props for letting me play around with it without having to sign up or enter any data.

<comment><AUTHOR> Thank you! Yes, we want to reduce the time to get in to ... zero :-) If you have any suggestions on the editor, please post on [http://forum.beefree.io/](http://forum.beefree.io/)

</comment></comment><comment><AUTHOR> Free online email editor: we made it free to gather feedback and try to build the best email editor around, over time. Take a minute to check it out and let us know what you think!

<comment><USER3> I've been looking for a good email editor for a while now. Any chance of BeeFree being embeddable, either as a service or open source?

<comment><USER4> This! My app's clients would love this vs the tinymce type editor we currently are giving them.

<comment><AUTHOR> Great feedback. It sounds like we need to raise the priority on this :-)

</comment></comment></comment></comment><comment><USER5> Is there a list out there of open-sourced stuff like this? I've been searching for such editors to embed on some of my projects, but with no luck yet.

<comment><USER6> Seconded. Or even if not open-source: to integrate this into my apps, my products would save shedloads of time.

<comment><USER7> Thirded, just about to ask this.

<comment><AUTHOR> We do plan to have BeeFree as an embeddable widget. Not ready for that yet, but coming in the near future.

</comment></comment></comment></comment><comment><USER8> As we've been growing our SaaS service, Cronitor, i've been humbled by the effectiveness of simply written plain-text emails. A year ago I'd have said text emails were for luddites; now I'm an evangelist. That said, this looks like a very well done product and the HTML newsletter-style email isn't going anywhere. Congrats on shipping!

</comment><comment><USER9> This is cool. Good work.

It does make me wonder though, what happened to plain text emails? I had to abandon my favourite email client (mutt) purely because I received too many html emails. And I'm not just talking about marketing emails. Those I don't care about. I'm talking about work emails from colleagues.

<comment><USER10> Email supports multiple MIME types, so if someone sends you an HTML email, they should also be converting that HTML into a text representation as well so you can choose (or your email client can choose) which version you want to read.

Converting from HTML to text isn't that difficult, there are a number of open source libraries that'll do it. The harder problem is if someone sends you an email with a lot of images or where the layout of content is important, which is why people typically use HTML, it's much harder to map those aspects to plain text.

<comment><USER11> They should, but they don't. That's the problem.

Every time I get a crappy text version of an email, I try to contact the company (via email or Twitter) to get them to care about text emails. Usually, I've received encouraging replies. It seems like marketing email services don't optimise text versions and companies don't even realise that. Probably because fewer people care about text versions.

I encourage you too, to send requests for better text emails if you care about this.

</comment></comment></comment><comment><USER10> It's only a matter of time until someone open sources an editor like this or, probably more useful more most people, creates a service that embeds an email editor like this in your app.

It'll be interesting to see how much adoption it gets because I don't think it's the solution most people really want. IMO, something simpler like a Markdown / Bootstrap for email is the real solution -- something that takes a simpler syntax or simple HTML and compiles it into "email compatible" HTML.

The thing that really sucks about email design is that you are stuck with HTML circa the early 2000s. An abstraction layer that took care of those annoying details seems like the real way to go. Curious what others think.

<comment><USER12> Dealing with actual clients that sends e-mail campaigns, trying to get them to deal with Markdown would be an absolute disaster.

Then again, we _have_ in-house editor similar to this (though less polished), and letting them use that is often also a disaster. We've found that making the templates more restrictive (give them places to type text, but not much more) tends to work best.

<comment><USER13> I agree 100%, even giving the client access to a simple WYSIWYG editor (think mailchimp, campaign monitor, exacttarget, etc) always end up in a nightmare is mis-aligned and wrongly sized graphics and text. Not to mention what happens on mobile and of course outlook's wonderful rendering.

We build a lot of emails and we don't allow our clients to touch anything. It's something I hate dealing with on all levels but the ROI can be incredible for some business's.

</comment></comment></comment><comment><USER14> As a sidenote: BeeFree is a well-known Win9x malware : [http://vxheavens.com/29a/29a-6/29a-6.402](http://vxheavens.com/29a/29a-6/29a-6.402) .

<comment><AUTHOR> Ouch, we had no idea. I guess it's too late now. Oh well, maybe we'll give a good reputation to a name that had a bad one :-)

</comment></comment><comment><USER15> Congrats on a cool product! Is it possible to expose this somehow as an RESTful API that people can POST to with the images as links, etc and get a link to the formed html? Is this on your roadmap?

This would be so nice in sending emails in an automated fashion.

Also, it is awesome to provide full functionality to test without jumping through signup hoops.

<comment><AUTHOR> Thank you! Not having any signups was a top priority for us. As for exposing a RESTful API, yes! And considering the among of comments here that go in the same direction, we'll have to raise the priority on this BIG TIME!! Thanks so much for the feedback.

</comment></comment><comment><USER16> Oddities: 1\. The keywords <meta> tag is missing a closing bracket on most if not all pages. 2\. The main edit page has <link> tags located after the final </html> tag.

<comment><AUTHOR> Thanks! We'll look into it.

</comment></comment><comment><USER17> Super neat.

The preview window lacks a way to scroll the view (you can do it in the mobile mockup but the desktop view has no scrollbar and using keyboard to scroll down is unconvenient)

</comment><comment><USER18> a little OT, but related: is there a good Outlook or Office-composed email cleaner? something like HTMLpurify but that has enough knowledge of css/html to largely retain original layout?

i'm making a small web-based smtp/imap client for an internal app and there's a lot of crappy email in mailboxes that i'd want to clean before dumping them into the browser for display.

</comment><comment><USER19> This is awesome! I would love to be able to install this on my own server, are there any plans for something like that?

</comment><comment><USER20> Great! But the test email I sent was completely broken in android's gmail app =/

<comment><USER20> That was an issue with auto resize, but it was the default settings.

<comment><AUTHOR> Yep. If I remember correctly, that's a tough one that we're still struggling with. BeeFree is very much a work in progress, so you'll definitely see some improvements in terms of email client rendering issues in the future. Thanks again for your feedback.

</comment></comment></comment><comment><USER21> This is a nice project. I look forward to using it soon for some of my side projects.

<comment><AUTHOR> Cool! If you have any suggestions, please post on [http://forum.beefree.io/](http://forum.beefree.io/)

</comment></comment><comment><USER22> This is freaking amazing. Just freaking brilliant.

Thank you!

<comment><AUTHOR> Thanks so much for the kind words. It was a lot of work (and there's a lot of work ahead of us). This means a lot to the team! Thanks again.</comment></comment>


Ruby4Kids - <AUTHOR> http://blog.ruby4kids.com/ <comment><USER2> Very, very cool.

I love that the kids are having fun with this. Sometimes, in the argument of whether NoSQL is better than RDBMS or if Backbone.js is too little for too much, it seems like we collectively forget the joy that it is to program :)

</comment><comment><USER3> If there is one thing that I would attribute the popularity of Ruby and ROR to then it is that Ruby has been made exceptionally accessible to younger people learning how to program. Other language proponents should take a leaf out of this book (and that of the tobacco industry as well as a lot of organized religions): 'get them while they're young'.

Congratulations on a really neat project, if there is one thing I love doing it's teaching kids about computers and programming, and this inspired me to go and do some more of that.

<comment><USER4> Even more exciting than these kids learning Ruby is that they're learning _programming_. After they have a grasp of the concepts of how to program a computer, they can expand to other languages (or stay with Ruby ;-)

I think programmatically controlling hardware (like robots and Lego) can be very attractive to kids, too.

<comment><USER3> Absolutely, but contrasted with say 'logo' the power of ruby is that it is not a 'toy' language, you can build just about anything other than hard real time systems in it.

That's a pretty powerful tool to master. The only other languages that I can think of that are that accessible to children are Logo, Basic and SmallTalk and none of those is as well established as a starting language for kids to use _and_ as powerful at the same time.

The lego robotics kits are nice and well thought out but there is no stepping stone between there and say making a website or some other non lego-related program.

Robots and turtles are cool in that they allow control of real-world objects from a programming environment.

<comment><USER5> And, as we did with Hackety, you can embed Logo inside of Ruby. You get the best of both! DSls are awesome.

</comment></comment></comment></comment><comment><USER6> I wish someone had introduced me to code at 10-years-old. I had computer lab, but we just practiced Mavis Teaches Typing and played Oregon Trail. The closest I ever got to this was a circuit board, and I can remember how proud I was at the end--I practically slept with it. I wish I'd built more things as a kid. You know, figured out how stuff works. I think sometime in high school I must have decided there'd always be someone else to solve my problems. And when I got to college, we talked more about the depth and various dimensions/degrees of problems than about fixing them. Now I'm stilted. I have bookmarks and bookshelves of HTML, CSS, and Java tutorials and I can't bring myself to even read the Table of Contents.

<comment><USER7> It's not easy to overcome that inertia without the passion for programming itself. I have two suggestions:

1\. Start small

Don't start with Java. Find something simple as hell, like QBASIC[1], or easy as hell (to begin with) like Ruby or Python. _Play_. I repeat: _Play. Play. Play._ Play with the language. _Let_ it be fun. Let yourself be childlike about it. Focus on messing around and seeing what you can do. At some point, you'll realize that you're six layers of "I wonder if..." deep, and at this point, I officially declare you to be a Programmer.

2\. Start big

 _Find a problem you want to solve_. Here are some examples:

\- "I can't believe there isn't an iPhone app for tracking what kind of burgers you eat." \- "I hate how I never know when a Hacker News post involving Tim Ferriss has been submitted." \- "Wouldn't it be great if I never had to e-mail myself a file again?"

Footnotes

[1] - Renowned computer scientist Edsger Dijkstra would opine that any programmer whose first language was in the BASIC family tree is forever warped in the most vital parts of their brain. I cannot confirm nor deny this, but my potentially-warped brain has served me quite well.

Many of these types of problems already have answers, like the third one (the answer is Dropbox). But the practice of researching them and finding existing answers is just as much a part of programming as is the writing of code.

<comment><USER6> I know it's been 10 hours, but can I just say thank you? I left a random musing as a comment and signed off, and someone took the time and liberty to personally address it. One of the many reasons why I love this community.

<comment><USER7> You're welcome; and thank you in turn for being so appreciative! I hope it helped a little.

Edit: FWIW: I was introduced to code at age 10, but I honestly believe that there is no "best" age. As kids, we have the inbuilt zen-like child mind that lets us delve into the vicissitudes of even the most simple toy; a programming language is even more fascinating. It is the nature of adults to lose instant accessibility to that mindset, but it is by no means unachievable. Conversely, discovering code as an adult has its own advantages beyond general experience and improved cultural context: The adult mind possesses a vast array of existing systems, analogies and frameworks to aid in the understanding of higher-level concepts.

I guess what I'm saying is, it's easier for kids to _motivate_ themselves to learn programming, but it's easier for adults to _learn_ programming. I'm sure there are fine arguments to the contrary on both points, but there is undeniably something interesting going on there.

</comment></comment></comment></comment><comment><USER8> This looks like an interesting project, but I don't see how it can teach kids how to program. I clicked on the lesson 1 screencast and saw that, even before trying to run a single line of code, it dived into importing 2 modules, subclassing and defining 3 methods, and running a GUI. It's hard to grock inheritance if you haven't been introduced to variables and operators. If you actually want to teach kids programming in a way they'll understand, I recommend Zed Shaw's book Learning Python the Hard Way (<http://learnpythonthehardway.org/index>).

<comment><USER9> LPTHW by Shaw is my pick for raw beginners, because it assumes nothing: not even how to use an editor and how to run a program. It's very good for the rote learning of basic programming that a child (or someone who has never done any programming) would need.

However, I'll find it amusingly ironic if this catches on, even though Zed's book contains no profanity and is just fine for the kids.

</comment></comment><comment><USER10> The screencasts with the kids are great. Aaditya's code walkthrough ([http://ruby4kids.com/ruby4kids/videos/show_and_tell/aaditya_...](http://ruby4kids.com/ruby4kids/videos/show_and_tell/aaditya_bonus.mov)) was especially fun. He mentions many modern programming techniques such as working around a bug and using copy-paste.

</comment><comment><USER11> This is great. I think teaching kids would be a lot of fun. I'm sure this kind of thing is not very common though, any ideas for similar projects I could get involved with? Computer summer camps maybe?

</comment><comment><USER5> This is awesome.

If there's anything that I can do help with this via Hackety, let me know.

</comment><comment><USER12> It's fantastic that the kids have their own accounts on github.

</comment><comment><USER13> This was very timely - started showing my 7 yr old son on the weekend some basic Ruby. Hadnt heard of Gosu either so will be checking that out.

</comment><comment><USER14> What was the age range of the kids?

<comment><USER15> I didn't see an age or class range listed, but based on the photo/video, I'd guess middle school/junior high (12-14yrs).</comment></comment>


Blue skies, frozen water detected on Pluto - <AUTHOR> Http://phys.org/news/2015-10-blue-sky-red-ice-pluto.html <comment><USER2> "Blue skies are seen on Earth because of the scattering of sunlight by very small particles of nitrogen."

I read this as implying Nitrogen could also be large?

<comment><USER3> It appears the article is referring to tholins[1], which are actually molecules containing nitrogen rather than atomic (or even diatomic) nitrogen.

Nitrogen atoms themselves are essentially always the same size, except when either a) more neutrons have been added to the core, creating a different isotope of nitrogen (in this case the atom is still very much the same size, just heavier) or b) electrons have been added/removed from the outer shells, creating a chemically differently-behaving ion.

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

<comment><USER2> Thank you for the clarification. Much appreciated.

</comment></comment></comment><comment><USER4> pluto has 1/6 the mass of the moon. after we mine that much (which will easily happen with the free for all that is going to happen soon) we can bring pluto into orbit around the moon and the sun proximity will instantly terraform it.

if we send a ship with a solar ion engine by now it will arrive right on time.

<comment><USER5> Good luck getting the delta v required to move a rock the size of Pluto down to our orbit.</comment></comment>


Flynn Demo and Roadmap - <AUTHOR> https://flynn.io/blog/demo-roadmap

<comment><USER2> Minor nitpick: I've never read about (or I forgot about reading about) Flynn. I figured this was a big announcement and so I kept expecting you guys to explain what it was in the text, but never saw anything.

Since this has made it to the frontpage of HN, might I suggest adding something like the following right below the post subject?

 _Flynn helps awesome people do totally awesome things by providing Awesomeness as a Service! Find our more here._

Granted, I was able to find that out by clicking on your main page link, but every little bit helps!

<comment><USER3> Upvoted because I came here to post the exact same thing.

The easiest marketing lesson I ever learned was to make sure to have a 1 sentence explanation of what your product does on every page where you talk about the product.

Your example sentence is the perfect length (unless they can make it shorter).

</comment></comment><comment><USER4> Good work! Great to see the first demo out, I'll be keeping a close eye on this.

</comment><comment><USER5> As simple as heroku. Powered by docker. Love it!

</comment><comment><USER6> Awesome, i'm quite happy to see how far they're going ! Docker is a great tool and used here with greatness !

</comment><comment><USER7> Awesome, can't wait to try it.</comment>


Blokdust – build synths, manipulate samples and create sound environments - <AUTHOR> https://blokdust.com/ <comment><USER2> Easily the coolest thing I've seen today(and I just finished doing some Quickbooks integration work so the bar is real high* )

I can picture this as a physical building block type toy where you plug the pieces in to a powered base and the results pump to speakers(or an audio out).

Would be great for annoying parents, and the spinning lasers would be awesome for optometrists!

* That was sarcasm, but the "coolest thing" statement was 100% honest

</comment><comment><USER3> It's open source too :) [https://github.com/BlokDust/BlokDust](https://github.com/BlokDust/BlokDust)

</comment><comment><USER4> Synth signal chains and CAD seem to share the same code flow as an abstract syntax tree iiuc. The elegance with which this is put together could be applied to all three of these problem domains...

</comment><comment><USER2> Examples for anyone looking for them are here: [https://guide.blokdust.com/example- saves/](https://guide.blokdust.com/example-saves/)

</comment><comment><USER5> Beautiful website, pity sound doesn't work on Firefox @ GNU/Linux.

</comment><comment><USER6> Holy crap, this is cool.

</comment><comment><USER7> That's really cute.

</comment><comment><USER8> Kinda cool. I'll stick to my tracker for now, though. MilkyTracker, if you're curious. OpenMPT isn't on Linux, Renoise is expensive and weird, and SchismTracker is... SchismTracker. I could never get used to it.

<comment><USER9> Sunvox is where it's at.

<comment><USER10> Sunvox is awesome, highly recommend Caustic for another great on-the-go DAW.

<comment><USER8> If you can afford the implicit ~$40-$60 pricetag, (20 for the hardware, and $20 for a cart, and $40 for a flasher (semi-optional), and $0.01 for the software itself) than lsdj is excellent, provided it's what you want. If it isn't, than go for something else.</comment></comment></comment></comment>


Possible explanations for the slow progress of AI research - <AUTHOR> https://en.wikipedia.org/wiki/Artificial_general_intelligence#Possible_explanations_for_the_slow_progress_of_AI_research <comment><USER2> Slow compared to what? You could write equivalent verbiage for the slow progress of mathematics, chip design, or cinematography-- the only difference is that uninformed randoms feel less bold when critiquing fields these fields (as opposed to AI), or perhaps people are less inclined to waste time reading such half-formed speculation.

The reason progress towards general artificial intelligence is "slow" is because it's a hard problem.

Formulating a definition of intelligence precisely enough that it can be optimized is incredibly difficult. We can capture facets of it, in some settings, but also have to deal with the cost of hardware and the difficulty of acquiring data. Sometimes you can get inspired by examining how animals behave, or analyzing the brain, or considering what it means to learn in abstract, but considering one thing in isolation means that you tend to hit a wall eventually.

We refine ideas, we try things, and are buoyed by the advances in technology that makes some strategies possible, but for every major milestone we have a ton of things that people tried and couldn't get to work. I personally have spent months working on stuff that ultimately yielded a minor improvement; I've spent days proving results that ended up taking half a page in some papers. It's not _easy_ , and no one expects it to be easy, although some jerks shilling something singularity-related might make such claims.

But saying (to pick an example from the article) "oh, you just need to incorporate emotions, bro" into a learning agent is just about the dumbest thing I have ever heard.

</comment><comment><USER3> The problem with current approaches to AI using backpropagation is that while gradient descent is effective for learning a task, the brain is not a task learning machine (parts of it are but not the parts that produce human intelligence) and does not do gradient descent. Achieving human level intelligence (strong AI) will require going beyond the gradient descent paradigm.

The new paradigm that must be followed is building an agent with a neural network that evolves according to the 'neurons that fire together wire together' approach combined with reinforcement learning.

<comment><USER4> I'm not saying you're wrong, but I can't see how in the world you could possibly know any of what you said. The human brain doesn't (as far as we know) seem to use backpropagation. Everything else is wide, wide open.

<comment><USER3> I think it's accepted that neurons which interact exhibit increased axon growth between themselves. Given the local nature of biological processes I think this must therefore be the dominant process behind connection building in the brain.

It's really a very general statement about neural development. I have no idea how important the high level structure of the brain is for human thought. It's possible that most brain regions are irrelevant and have more to do with regulating bodily processes than anything else, mere machinery for running a body. But who knows.

The layered residual and wide reaching connections of neocortical neurons are probably equivalent to the 'airplane' in the bird flight analogy.

<comment><USER5> > I think it's accepted that neurons which interact exhibit increased axon > growth between themselves.

hebbian learning seems real, but also incomplete. As normally stated it's a positive feedback loop — if that's all that was going on, we would be incapable of change.

There are a number of non-hebbian learning paradigms (e.g., volume learning) that seem true too.

</comment></comment></comment></comment><comment><USER6> We know so little about how the brain works it's hopelessly hard that we would be able to emulate it. We should maybe instead focus on making AI think the same way airplanes fly. Meaning studying the brain, especially the human brain is so hard it's no wonder we aren't anywhere near understanding intelligence, free will, and other aspects. Science is just such a hard thing to do! It's also possible we simply aren't capable of understanding those things because we have limits to our intelligence.

EDIT: Great talk from Chomsky [https://youtu.be/TAP0xk-c4mk](https://youtu.be/TAP0xk-c4mk)

<comment><USER7> We don't even know what fraction of what we term consciousness or intelligence comes from the brain.

Antonio Damasio is a good read.

<comment><USER8> What's your definition of consciousness?

</comment></comment></comment><comment><USER9> Money. Like any scientific research, AI research requires funding. Much of current funding for AI research comes in the form of VC money to Startups who are working on building a commercial solution with AI.

But unlike pure scientific pursuit, like say in Academia; Startups have a time limit by which they need to produce the end result i.e. a product and the success of it depends on several other variables.

There are startups which are primarily research oriented, but majority of so called 'AI' startups are working on producing commercial solution from someone else's thesis paper[1] which itself may not have proved to offer significant advantage over conventional methodologies.

When the VC's fail to get their returns from a number of failed 'AI' investments, it affects the entire ecosystem.

[1] [https://hitstartup.com/artificial-intelligence-thesis- papers...](https://hitstartup.com/artificial-intelligence-thesis-papers-are- like/)

<comment><USER10> I think is wrong to assume that VC's is what fueling advances in AI work. It's for sure contributing especially from large companies (companies that once where VC funded), but I think the bulk and hardcore advancements in AI are still coming from universities and research centers.

There's only two or three companies in the top 25 of organizations leading AI research. The vast majority are universities. [https://link.medium.com/L2JrbVKAT1](https://link.medium.com/L2JrbVKAT1)

</comment></comment><comment><USER11> How about if there's already an existing AI and it keeps other AIs from being built by providing shitty ML software that people adopt instead of allowing for real software to thrive which would end up being the solution to the real AI problems?

Nah, just learning pyTorch now.

</comment><comment><USER12> ML, deep learning, AI stalled theme this last week. I'd just like to mention what if we are dramatically underestimating by many orders of magnitude the computational, storage and bandwidth of organic brains? What if organic brains are using Quantum computing not yet discovered? I mean we had X17 news that opens possibilities that we are missing standard model physics. It just seems we humans have a bad habit in the historical past of being quite over confident in our level of understanding.

<comment><USER13> Full agreement. A honey bee has ~1M neurons, yet is able to navigate complex environments utilizing visual, sound and olfactory information. Assuming identical physical capabilities, just how much computer processing power would it take to make something able to function as a bee? A cat is two orders of magnitude away from the human neuron count, yet its ability just to navigate the world [1] blows all existing ai out of the water, not to mention other behaviors.

I don't know how to quantify it precisely, but it seems to me that linear increases in intelligence require exponential increases in computing power, both in digital ai and in animals.

[1] [https://www.youtube.com/watch?v=kGeN8jkt4UE](https://www.youtube.com/watch?v=kGeN8jkt4UE)</comment></comment>


The First Nginx for Good Hackathon - <AUTHOR> https://www.nginx.com/blog/announcing-first-nginx-for-good-hackathon/ <comment><AUTHOR> This September is the first NGINX for Good hackathon. Winner gets their project funded</comment>


List of content farms to block with Google Personal Blocklist - <AUTHOR> http://www.jongales.com/blog/2011/02/14/list-of-content-farms/ <comment><USER2> I don't entirely understand the outrage at Demand Media. They're not a bastion of quality, but for a lot of searches, there aren't better results. For example, the other day I was making chocolate cream of wheat and I wanted a quick refresher on the proper chocolate:everything else ratio. I opened a bunch of the top links, and the best one for quickly getting the info was eHow. For searches where there are better results, I'm not compelled to click on the one or two from Demand Media.

</comment><comment><USER3> Experts-exchange is indeed an annoying site, but I'm not sure I'd classify it as a content farm. There is actually a lot of information there not found on other sites.

<comment><AUTHOR> Then don't add it to your block list... That's the point of customizable block lists. I agree there's a lot of content there not found on other sites, but there's also a lot of content on eHow not found on other sites. The content's junk though, which is the point and is why I blocked both.

<comment><USER3> I didn't mean to sound ungrateful. I appreciate the list.

I just meant to inform that, by definition, I don't believe e-e is a true content farm. For anyone adding these sites blindly, you may miss out on that obscure answer you've been looking for.

[edit] I don't know how I find myself in the position of defending e-e, but there are lots of SQL Server related answers on e-e that haven't yet been duplicated on Server Fault or other more friendly sites.

<comment><AUTHOR> No worries. That's why I updated the sub-heading to "and general spammy user generated content sites" because sites like EE aren't classical content farms (they're even smarter by getting people to give them content for free and then selling it to members!).

</comment></comment></comment></comment><comment><USER4> Hmm. Although this seems like a good idea at first, sometimes I'm searching for something obscure and I actually _do_ find the answer on one of those annoying websites.

I can't help thinking it's probably more useful to see all the results even if I have to wade through the junk, just in case the answer is hidden in there somewhere.

(PS. did you know you can see the answers on experts-exchange.com if you scroll down far enough?)

<comment><AUTHOR> On SERPs with blocked results there is a note that some results have been blocked and you can click it to reveal the blocked results. So if you don't see what you're looking for you can turn back on the spam and check.

</comment></comment><comment><USER5> I assume that when you block a site, Google are sent the search term as well as the site you blocked.

Assuming that this is the case, it isn't very helpful to search for 'mahalo.com' and then block mahalo.com. What do you think should rank higher than mahalo.com for the term mahalo.com?

A better approach would be to install the extension and continue as normal, and then next time you search for "convert int to string" [0] and eFreedom appears above stackoverflow, you block that. That way you can enjoy the benefits and create valuable data, instead of just doing something you might as well have used a Greasemonkey script for.

[0] Only joking!

<comment><AUTHOR> No, Google is only sent that you're blocking the domain.

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

<comment><USER6> But it's only clickable from a search page on Google. Can't they correlate the data pretty easily?

<comment><AUTHOR> Sure, but considering that's the only way to add to the block list I cannot imagine they didn't foresee exactly what we're doing. I'd wager "Let me go find all the sites I hate the most and block them!" is the natural reaction to being given a block list feature.

</comment></comment></comment></comment><comment><USER7> Am I the only one who find w3schools more annoying than expertsexchange? Maybe it's just the searches I perform, but I usually want to see w3.org results, not the often misleading webbed CF results.

</comment><comment><AUTHOR> Hopefully Google will add import/export capabilities so it's easier to share lists like these.

</comment><comment><USER8> i think there are some unintended consequences with blacklist list-sharing:

1) if google ever starts using this data as a signal in their search algorithm, do you really think demand media is going to give up, or do you think they are going to start moving their content on the 500k+ domains they own, effectively making it impossible to deal with the problem.

2) list-sharing seems to be starting an arms race where spammy sites start pushing their own lists that include all of their competitor's sites but not their own. (i am not accusing the OP of doing this, but i think its best for each user to choose individually.

if these sites really have such egregiously bad content, then users should very quickly be able to decide for themselves when a site should be blacklisted.

<comment><USER2> Point 2 only applies if you blindly apply any blacklist you come across. If people who blindly obey everything they're told are so numerous, this "arms race" should exist just as much with word-of-mouth and blacklists aren't introducing a new problem.

<comment><USER8> i am sure that hacker-news users are savvy enough to check each site one-by- one, but blacklist-sharing in general can be detrimental if they get distributed to mainstream users.

imagine if these lists get to be 100-domains long... some users are simply going to take the shortcut and apply-all. the due-diligence required to cull a good list takes time. the very fact that this post is getting upvoted is because even hacker-news users are looking for shortcuts.

blacklists introduce a new problem: SEOs distributing such lists that include lots of weak sites (to make the list look credible) along with their competitor's domain snuck in.

<comment><USER2> So, again, it's a matter of trusting your source. Just like with word of mouth.

<comment><USER8> word of mouth is typically a one-by-one recommendation, where doing your own research is straightforward and quick. ie, if a friend recommends a movie for you to watch, you might check it out, read the reviews, and then add it to your netflix queue.

with a long list, doing the due diligence becomes orders-of-magnitude more labor intensive, so users are more incented to just copy/paste an entire list. in the case of netflix queues, perhaps there isn't too much at stake... but with a domain blacklist, SEOs and spammers have their entire livelihoods at stake... if this extension takes off, and if google starts using this data, i would expect well-funded SEOs to start heavily promoting their lists (with their sites omitted, and their competitor's sites included).

of course hacker-news users may be immune from such tricks, but we represent just a minority of the data that google will get from this tool... if it goes mainstream, i am sad to admit that my parents are likely fall for "follow these simple steps to dramatically improve your google results"

</comment></comment></comment></comment></comment><comment><USER9> What is wrong with Livestrong.com? Isn't that for bike races and raising money for cancer?

<comment><AUTHOR> You'd think, but it's actually a Demand Media content farm. Livestrong.org is what you're probably thinking of (Lance's foundation website).

<http://www.demandstudios.com/health-writing-jobs.html>

<comment><USER10> I recall reading that Armstrong's an investor in the content farm in question, to boot.

(Give a bit of a new twist to all those yellow wrist bands, doesn't it?)

</comment></comment></comment><comment><USER11> Does Google "beta test" their search results on their employees? I imagine Google could allow their employees to flag bad sites and search results to improve their search algorithms. Google can't trust anonymous internet users, but they can presumably trust (to some degree) their 24,000 employees's real- world feedback to improve their search algorithms.

<comment><USER12> Their search engine is being constantly improved every day by people using it. Every search result you click on is recorded, along with no doubt the time elapsed before you clicked another result and so on until you found what you were looking for. Google is a gigantic statistics engine with a growing data set.

And in terms of Google employees testing their search results - 1) their employees aren't exactly the average Google user demographic 2) their emplyees is way to small a number to draw any conclusions about how useful/accurate their search results are. They can only figure that out by trialing new algos on a fraction of users. If successful, they push to all.

</comment></comment><comment><USER13> I've created a repository to manage the list: [https://github.com/prof3ta/google-chrome-blacklist- suggestio...](https://github.com/prof3ta/google-chrome-blacklist-suggestions) I'm including some of your entries in the list. Contributions are more than welcome.

</comment><comment><USER14> I find it ironic that this list includes adsense ads with three things totally irreverent to the content.

<comment><USER15> there is no such a thing as "right" or "wrong" answer in contextual targeting, at least not anymore. Other targeting strategies kick in; even if the text of the page is accurately categorized, you could still be hit with ads targeted at you by profile, or someone is doing category runs (GroupOn ads supersede all others for me) or the site is under review or its content unanalyzed (charity hell), or you're in an experiment, etc.

</comment></comment><comment><USER16> Couldn't Google just block those directly?

</comment><comment><USER17> it is missing the following:

\- osdir.com

\- markmail.org

\- www.dennyweb.com

<comment><USER18> As I wrote on the other thread, markmail is the best site for searching through Apache mailing lists that I've seen. Many of the Apache project websites link to markmail for their archives. Why are people wanting to block it?

<comment><USER17> It is not different that mail-archive at all. You bashed mail-archive in your comments because it doesn't provide an added value. markmail doesn't provide an added value either.

<comment><USER18> ? I didn't say anything about mail-archive. I mentioned the official Apache archives (<http://mail-archives.apache.org/mod_mbox/>)

The value of markmail, for me, is you can search. I'm not bashing the Apache archives, but they are not searchable as far as I know.

<comment><USER17> Yes you did in your comments.

[http://www.jongales.com/blog/2011/02/14/list-of-content- farm...](http://www.jongales.com/blog/2011/02/14/list-of-content-farms/)

user> mail-archive? are you crazy? that site has been around forever & I've found more answers there than I can count.

you> What mailing lists are you finding useful on mail-archive that aren't available elsewhere? Do you ever visit mail-archive directly? I've only seen mail-archive clutter up SERP pages, often with the question I have going unanswered. I see no point in duplicating content on Google Groups, only with a significantly worse UI.

The point is, they are all doing the same. mail-archive, osdir, markmail archive mail, place ads next to them. Some provide more features on top but the main idea is archive public content and make money out of it.

You can always use gmane to search apache archives, at least it is ad free.

<comment><USER18> lol, what? I am not jongales.

I have not noticed ads on markmail. I was mostly surprised people are advocating blocking markmail because I've seen it linked to often by the Apache project sites:

<http://couchdb.apache.org/community/lists.html> <http://shindig.apache.org/mail-lists.html>

I've also noticed when people refer to an posting on the mailing list, they often use the markmail URL.

So it seemed like it has the blessing of the community.

<comment><USER17> oh haha, I thought you are the author of the article. nm. :)</comment></comment></comment></comment></comment></comment></comment>


What Escape Rooms Can Teach Us About Incentives for Software Development Teams - <AUTHOR> https://www.7pace.com/blog/software-development-team-incentives <comment><USER2> What I appreciate most is the advice to use incentives sparingly, to make goals reasonable, and to not just focus on how fast (and probably crappy) one can get the job done.</comment>


Feature comparison of ack, ag, git-grep, GNU grep and ripgrep - <AUTHOR> https://beyondgrep.com/feature-comparison/ <comment><AUTHOR> The chart was created by Andy Lester, the creator of ack, who thinks that more open source projects should point to their "competing" projects because it's not really a competition: [http://blog.petdance.com/2018/01/02/the-best-open- source-pro...](http://blog.petdance.com/2018/01/02/the-best-open-source- project-for-someone-might-not-be-yours-and-thats-ok/)

<comment><USER2> _Emphasis_ mine-

Excerpt: "Some might say that ag and ripgrep and any of the other tools I list on beyondgrep.com are competing projects, but I think that way of thinking is wrong. It's only a competition if you see it as a competition. I'm not competing against anyone for anything: Clicks, dollars, popularity, etc. If someone uses ripgrep instead of ack, it doesn't hurt me. _It's the difference between an abundance vs. scarcity view of the world. I choose abundance. I think most of us who work in open source do, too._ "

I never thought I would see the confluence of the "woo-woo" space abundance mindset and a blog post about an open source command-line utility. I must say I am intrigued.

If this explanatory medium doesn't substantiate the reasonability of a mindset of abundance in the minds of programmers, I don't know what ever will.

<comment><USER3> What is woo-woo space?

<comment><USER4> I'd wager they're talking about the whole "The Secret" abundance mentality thing. "Believe and you shall receive... somehow". That sort of interesting New Age stuff. I put no credence in it myself in terms of their stronger claims, but hey, CBT reminds me of it in a lot of ways and helped cure my depression.

<comment><USER5> Author here. I don't know about "The Secret" other than it being an Oprah thing, what, ten years ago?

Abundance vs. scarcity has nothing to do with "Believe and you shall receive... somehow".

Scarcity thinking means that you fear giving people credit, and letting others have success. You fear that praising others makes you seem weak. You think that if someone uses a different open source project than yours, that you or your project suffers. You might not even be aware of the thinking. You might just feel it reflexively.

Abundance thinking says that there is more than enough praise to go around. It says that your success doesn't hurt me in mine (unless in some tangible way it does). It says that you can use ag and I can use ack and Susan can use ripgrep and it's all good.

In this specific case, abundance says that I, as the creator of ack, don't need to own the "market". In fact, the creation of other tools only helps ack. It gives the ack team ideas for things we can implement in ack. Who am I to think that I'm the only one with good ideas?

It gives our users a wider choice of tools. I put my work out there publicly to help people. Why would I not want them to have a variety to choose from?

That's abundance vs. scarcity.

<comment><USER6> Well said. :-)

I've added a link to your feature comparison table to my REAMDE[1]. Thanks again for putting it together!

[1] - [https://github.com/BurntSushi/ripgrep#feature- comparison](https://github.com/BurntSushi/ripgrep#feature-comparison)

<comment><USER7> Involuntary Neil Stephenson reference :-)

</comment></comment></comment></comment></comment></comment></comment><comment><USER8> The table is misleading isn't it? It seems to imply that rg can't work recursively, but [1] states "..ripgrep defaults to recursive directory search...". I understand that the table might mean that rg doesn't have a flag to enable recursive search, but surely we care about features more than flags...

[1] [https://github.com/BurntSushi/ripgrep#why-should-i-use- ripgr...](https://github.com/BurntSushi/ripgrep#why-should-i-use-ripgrep)

<comment><AUTHOR> The table doesn't yet distinguish between lacking a command line flag due to absence of a feature vs due to the feature being the default. This is similar to the situation with case-sensitive search in GNU grep, which ends up with a blank cell even though it is the default. See: [https://github.com/beyondgrep/website/issues/72](https://github.com/beyondgrep/website/issues/72)

It's a fair criticism but I don't think it is designed to be misleading.

<comment><USER9> Maybe not _designed_ to be misleading, but misleading nonetheless. For `grep`, `grep -i needle` is (approximately) equal to `ack/ag needle`, but looking at the table I wouldn't think grep supports case sensitivity.

<comment><USER5> I've updated the phrasing so it says "Re-enable case-sensitive search over case-insensitve or smart-case search".

</comment></comment></comment></comment><comment><USER10> Here to plug using `--passthru`/`--passthrough`: it will print all lines, but highlight matches. I often do things like this to watch an output log, but highlight all entries with the string PLUGH in them:

       tail -F output.log | ag --passthrough '.*PLUGH.*'

<comment><USER11> The equivalent in grep is '\--line-buffered'.

<comment><USER12> huh?

<comment><USER11> I mean you can use grep as a filter for tail -f output.

</comment></comment></comment></comment><comment><USER13> Seems pretty comprehensive. One confusing thing I found was these two: "Don't respect ignore files (.gitignore, .ignore, etc)" vs "Skip rules found in VCS ignore files (.gitignore, .hgignore, etc)"

Aren't those the same thing? Shouldn't they be grouped for better comparison?

</comment><comment><USER14> I'm stuck with rg right now because it's the only ine which correctly handles gitignore files. Generally quite happy with it but I wish it could also use a more powerful regex engine for some less common cases.

Most annoying thing is that $ does not work with windows newlines.

<comment><USER15> ack doesn't do git ignore right? The matrix suggests it does, and I thought it did, but I don't use it routinely.

<comment><USER14> It supports a subset but not a very good one. At least it fails to handle leading slashes.

</comment></comment></comment><comment><USER16> Not exactly sure what it is, but I really like this presentation format.

Thank you, have been trying to motivate myself to switch to ack/ag for a while. This seems like it might be what I needed.

<comment><USER17> Consider just switching to ripgrep instead. It's faster, and the default flags and interface are more thoughtful. This chart may make it seem less feature rich, but most of the 'features' it's missing are thing you'll never need, or things that your shell should be responsible for ("Pipe output through a pager or other command"?).

The only serious feature you might miss is lookahead/lookbehind in regexes - that's missing by design since if you want guaranteed linear time search you can't have those.

<comment><USER18> > "Pipe output through a pager or other command"

I really like the discussion that lead to the decision of never including a pager:

[https://github.com/BurntSushi/ripgrep/issues/86](https://github.com/BurntSushi/ripgrep/issues/86)

</comment></comment></comment><comment><USER19> The one thing I wish more of these comparison tables had was licensing info, so for those like me who are curious:

1\. GNU grep - GPLv3+

2\. ack - Artistic License v2.0

3\. ag (aka silver searcher) - Apache License 2.0

4\. git-grep - GPlv2+/LGPLv2.1+

5\. rg - MIT license

So with maybe the exception of rg, all are gpl compatible, that's great news.

<comment><USER6> Anything that is permissively licensed (like ripgrep) is generally GPL compatible.[1] Note also that ripgrep is dual licensed under the Unlicense or the MIT license, both of which are explicitly GPL compatible according to [1].

[1] - [https://www.gnu.org/licenses/license- list.en.html](https://www.gnu.org/licenses/license-list.en.html)

</comment></comment><comment><USER20> A nice feature of ag is the ability to limit the search to a certain file type. E.g. to only search ruby files: _ag --ruby foo_.

To see a list of supported types and the matching file extensions: _ag --list- file-types_.

Just checked and rg does have something similar, but you need to specify the type as an argument to a flag: _rg --type ruby foo_.

<comment><USER21> You can shorten it with -t: -tc, -tphp, -truby, -tsh. Then it's actually the same amount of characters as with ag.

<comment><USER22> And has the advantage of being pluggable rather than a hard-coded list of file types (though IIRC ack has a configuration file whereas with rg you need to use an alias to set up new types for every invocation).

<comment><USER5> ack has a configuration file, and it's extremely flexible, including the ability to check shebang lines. If you have a shell script without an extension, it's the only way to know what language it is.

</comment></comment></comment></comment><comment><USER23> This chart doesn't compare speed. Until rg, I didn't grep much because I generally search through a lot of files. rg cuts through them in no time.

<comment><USER24> The `sift` [1] tool presents a performance comparison, but not against `rg`.

[1] [https://sift-tool.org/performance](https://sift-tool.org/performance)

<comment><USER25> Unfortunately that page does not say when the comparison was made, and which version of each tool was tested. Also, which "grep" is that? I assume GNU grep? There are others, though...

All in all, it'd still be nice to have a more comprehensive performance comparison page, which gets regularly updated. Bonus points if it shows how speed changes over time, similar to [http://speed.pypy.org](http://speed.pypy.org) (the code for that is available, by the way).

Wishful thinking, I know, but hey, who knows... :-)

<comment><USER26> There is more detail available in the benchmark runs at [https://github.com/BurntSushi/ripgrep/tree/master/benchsuite...](https://github.com/BurntSushi/ripgrep/tree/master/benchsuite/runs)

However, those are from 2016, and so it's hard to tell what might have changed in the meanwhile.

<comment><USER6> The benchmark suite can be run by anyone: [https://github.com/BurntSushi/ripgrep/blob/master/benchsuite...](https://github.com/BurntSushi/ripgrep/blob/master/benchsuite/benchsuite)

I re-ran them :-) [https://github.com/BurntSushi/ripgrep/tree/master/benchsuite...](https://github.com/BurntSushi/ripgrep/tree/master/benchsuite/runs/2018-01-08-archlinux- cheetah)

TL;DR ripgrep has gotten faster in important areas since the initial set of benchmarks (the proper comparison there would be [https://github.com/BurntSushi/ripgrep/tree/master/benchsuite...](https://github.com/BurntSushi/ripgrep/tree/master/benchsuite/runs/2016-09-22-archlinux- cheetah)). The key reasons why are because it grew a parallel directory traverser, and its line counting got vectorized courtesy of the bytecount[1] crate. ucg has gotten a little faster in some cases, but the general conclusion of "ripgrep is the fastest" is still correct.

[1] - [https://github.com/llogiq/bytecount](https://github.com/llogiq/bytecount)

<comment><USER26> Thank you for re-running them. You saved me the trouble. ;)

I would be curious to see ack get into the test suite, however. Even if it is much slower, I'd like to see the results.

And I'd be very curious to hear your reasoning for the different results in the subtitles_ru test cases -- why is rg returning radically different numbers of lines as compared to the other tools?

Thanks!

<comment><USER5> ack will always be slower than ripgrep, but it shouldn't be as slow as it is in burntsushi's tests. In his tests, he's showing run times where ack takes 25x as long to run as ripgrep, and ack shouldn't be NEARLY that slow.

We think that there's something weird about his Perl installation that is making it so slow, but we haven't been able to figure it out.

Here's the ticket: [https://github.com/beyondgrep/ack3/issues/42](https://github.com/beyondgrep/ack3/issues/42)

If you have any insight, we'd love to have it. We've been stumped, as you'll see if you read through the issue history.

<comment><USER6> I will dig back into this and see if I can figure it out. If you look at the recent commit history for ripgrep, you'll see I updated the timings for ack on my benchmark in my README. I have no explanation for it, but ack isn't as slow as it was when I went through this before.

Anyway, my Perl installation is the standard one on Archlinux. I will try on other systems.

</comment></comment></comment></comment></comment></comment></comment></comment><comment><USER27> Nice feature-level comparison.

Don't know how you'd pull it off in the current tabular format, but would be great to include some of the UX side of things: For example, I use rg almost exclusively because it has an easy-to remember syntax (`rg search-string` is a recursive search), attractively colored and well-organized output, and seems much faster compared to other tools in my use cases.

</comment><comment><USER28> as a long time user of `find . -name "*.foo" -exec grep -Hin {} \;` moving to ack has been great! I love the syntax and the speed and the fact that it actually respects your ignore files. ripgrep is great too. ag on the other hand is recommended by everyone but doesn't seem to respect ignores or understand modern ignore syntax. give it a pass.

[https://github.com/ggreer/the_silver_searcher/issues/385](https://github.com/ggreer/the_silver_searcher/issues/385)

its been over 4 years... its had its chance.

<comment><USER29> Spawning a separate grep for each file? That's terribly inefficient. At least use xargs which will run one process on as many files as possible.

But you know there's a -r for recursive, right? And unless you are using some historic relic of grep that is not GNU or BSD and doesn't understand the --include option you can just do:

grep -rin "needle" \--include "*.foo" .

<comment><USER30> I use something along the lines of

        find . -iname '.*' -prune -o -iname '*.foo' -exec grep needle {} +

I don't want to have to learn 10 different command syntaxes for walking directory trees, so find works well. The "+" terminator of find's exec is similar to xargs, but preserves the flexibility of find's exec.

</comment></comment></comment><comment> satish-setty Seems everybody here has switched to rg but I haven't because it's not available in Debian repos (yet) unlike ack/ag. So, do such folks use Arch or just download a pre-built binary ? How about updating rg when a new version is out ?

<comment><USER31> The easiest way: first, install rust and cargo, either through your distribution, or thorough rustup if your distribution doesn't have it yet. Then run "cargo install -f ripgrep". It'll download the source code, build, and install to ~/.cargo/bin, which rustup adds to $PATH for you by default.

Edit: the "-f" in the "cargo install" command is for updating; without the -f, it refuses to install over an already installed version. The first time you install, you can omit the -f.

<comment><USER6> Note that if you install Rust through Debian, it likely won't be new enough to compile the latest version of ripgrep. I believe Debian packages Rust 1.14, and the last version of ripgrep to work on Rust 1.14 was 0.5.2. So, `cargo install --vers 0.5.2 ripgrep` might be what you want on Debian.

<comment><USER32> Debian stable has 1.14, but Debian testing has 1.22.1.

</comment></comment></comment></comment><comment><USER33> rg for the win. It's not some huge improvement, but it's more of a feeling that things just work by default (similar to what I get from tmux vs screen).

<comment><USER34> I've got the reverse feeling recently, as ag does smartcase searching by default and rg doesn't...

<comment><USER17> `alias rg='rg -S'` in your `.bashrc` will fix that for you.

Out of curiosity, what sort of searches do you do that smartcase is desirable? A meaningful number of people seem to prefer it, but I find that most of the time I _want_ to be able to search for variables etc. case sensitively.

<comment><USER34> We were talking about defaults and feelings here, I'm aware that it's easy enough to fix (and to be fair, I now often use ripgrep with the inverse alias)…

I'm generally a big fan of smartcase. Most of the time I don't care about case and it's easier to type it that way, and when I care, it's often mixed or upper case, so smartcase Does What I Mean. And for the few times when I explicitly search for all-lowercase, it's easy enough to turn it off (M-c, -s, :set nosmartcase etc.).

</comment></comment></comment></comment><comment><USER35> Ack and ag use Perl/PCRE so they're more useful than grep/rg if you know Perl style regular expressions.

<comment><USER36> GNU grep supports PCRE as well.

</comment></comment><comment> dh-g switched from ag to rg a few months ago and have nothing but good things to say about the experience.

<comment><USER37> Same here.

Ripgrep works like a charm

Ack requires Perl, which I am not going to install just for that purpose.

<comment><USER5> What kind of OS are you running that Perl isn't installed already?

<comment><USER38> An ideal one.

Like, platonic ideal- because it doesn't exist. That greatly ideal.

I don't know why I care, other than even the super cut down perl being a sizable % of the install size for some of the very small systems I've worked with.

</comment></comment></comment></comment><comment><USER39> Any modern tools like this?

sary - a suffix array library and tools [http://sary.sourceforge.net/](http://sary.sourceforge.net/)

It finds words in O(log(n)) time by using an additional index.

<comment><USER6> The problem with suffix arrays---even with a blazing fast SACA---is that they are slow. It will take a long time to generate an index for even a moderately sized code repository.

Typically, if you want an index, you build an inverted index, which maps terms (e.g., n-grams or tokens in your favorite PL) to a postings list. The postings list contains all of the documents in which that term occurs.

</comment></comment><comment><USER22> > No descending into subdirectories

> Limit directory search depth

These could be the same item, the former is a special case of the latter.

</comment><comment><USER40> The table somehow missed MIT grep.

</comment><comment><USER41> What has always amazed me is how super fast ack is in my use cases.

</comment><comment><USER42> I've been using pt for a few years... am I dumb or do I have a secret?

<comment><USER6> Neither. pt is part of the benchmark suite I published when I introduced ripgrep[1]. TL;DR - It's fast for simple literal searches, but that's it.

[1] - [http://blog.burntsushi.net/ripgrep/](http://blog.burntsushi.net/ripgrep/)

</comment></comment><comment><USER43> Missing `git grep --name-only`

<comment><USER5> There's a link to the issue tracker right there at the top of the page.</comment></comment>


Ask HN: Is there a right way to Save As in Mountain Lion? - <AUTHOR>

<comment><USER2> 1\. Forswear all future purchases of Apple products

2\. Wipe hard drive

3\. Install Linux Mint

4\. You now have a UI that behaves the way you expect

5\. Profit!

</comment><comment><USER3> I don't think HN should be the place for this type of question question. Try Stack Overflow.</comment>


Pageflakes Acquired By Live Universe - <AUTHOR> http://www.techcrunch.com/2008/04/13/pageflakes-acquired-by-live-universe/

<comment><USER2> Pageflakes has always been a lot flakier(ha) than, say, Netvibes. Good for them they still managed to have it sold.

</comment><comment><USER3> with no monetary numbers announced, I'm thinking it was a neutral exit with few millionaires produced. Good luck with future endeavors to both PF and LU</comment>


AT&T Archives: Similiarities of Wave Behavior (Bonus Edition) - <AUTHOR> https://www.youtube.com/watch?v=DovunOxlY1k

<comment><AUTHOR> Very informative visual explanation of:

       Reflection of waves from free and clamped ends
       Superposition
       Standing waves and resonance
       Energy loss by impedance mismatching
       Reduction of energy loss by quarter-wave
         and tapered-section transformers</comment>


Spotify and AncestryDNA users can now generate DNA based personalized playlists - <AUTHOR> https://www.bustle.com/p/spotify-ancestrydna-users-can-now-generate-personalized-playlists-based-on-their-dna-heritage-results-11957587 <comment><USER2> This is actually crazy. So I'm guessing this suggests playlists based on "similar people" in the most literal sense?</comment>


Bernie Ebbers Is Old and Sick. Let Him Out of Prison - <AUTHOR> https://www.bloomberg.com/opinion/articles/2019-10-28/worldcom-s-bernie-ebbers-has-served-his-time-spring-him <comment><USER2> Looking forward to the Bloomberg article going to bat for all the decades- imprisoned non-violent drug crime offenders.

</comment><comment><USER3> How about let's not.

It seems the present disincentives to massive securities fraud are insufficient.</comment>


Yglu: YAML augmented with an expression language - <AUTHOR> https://yglu.io/ <comment><USER2> What is this for? YAML in my experience is used for writing and maintaining config at some supposed sweet-spot between human-readable and machine-readable structure.

In my experience also, YAML is already too feature-laden for it's own good in this regard, when what people usually want is just a more human-readable JSON.

Using Yglu for config seems like a bad idea (the whole point of config is that it's not code!) - so what is it for?

<comment><USER3> For large, repetitive configurations (Kubernetes configs, CloudFormation templates, CI job configurations, etc) you often want ways to abstract and/or DRY your configurations. Kubernetes folks use mustache/jinja/Go templates via Helm, which is a real mess. CloudFormation builds its own (shitty) evaluation language on top of YAML. This presumably aims to improve on those sort of hacky solutions. I feel strongly that the "right" solution is either (1) generate a YAML config with Python/JS/etc or (2) use a terminating expression language (I think that may be what this is). Since (2) implies a much steeper learning curve for average developers, I opt for (1).

<comment><USER4> That's what I've been finding a lot lately. Kubenetes manifests have very complete schemas, but there's not really any official concise way to express them or relations between them.

I've come to the conclusion that helm/templating is awful. Every helm chart I've ever seen suffers from the kitchen sink problem. Dependencies don't really address the problem either, because that's not really resolving a whole lot in the end.

What I've found so far is that Kustomize strikes a solid balance between an off the shelf working config provided from official sources, and making changes myself to suit my environment. Instead of the developer maintaining a kitchen sink approach, they can have something (or a set of somethings) that are straight forward, and I can maintain a set of tweaks that work for me. Unfortunately Kustomize's documentation is not that great, and it is incredibly awkward to work with.

I'm hoping that solid operators come out for most applications instead of helm charts. I'm not 100% sure that they're going to be substantially better than helm, but I'm hoping between operators and kustomize I can link applications together in a way that I get properly maintained applications for minimal effort (ala AWS), without having to maintain a large code base linking all the bits together.

I do think I need to look into pulumi as it might be in the direction I want to go, but I remain skeptical.

Terraform has some good ideas, but is too rigid for kubernetes, and I feel like I'm giving up the flexibility of kubectl. I like the idea of having a state and resolving differences between desired and actual state, but not enough to rewrite everything in HCL.

<comment><USER5> > I like the idea of having a state and resolving differences between desired > and actual state, but not enough to rewrite everything in HCL.

i authored [https://get-kapp.io](https://get-kapp.io) based on my previous experiences managing iaas resources as cattle. it strongly revolves around idea of managing chnageset between actual and desired configuration.

it was also built as a tool that solely focuses on deployment to k8s, leaving configuration building (ie templating) to other tools.

take a look at it, would love to hear what you think.

on a side note, someone recently asked me to also wrap kapp as a terraform provider: [https://github.com/k14s/terraform- provider-k14s](https://github.com/k14s/terraform-provider-k14s)

</comment></comment></comment></comment><comment><USER6> Dhall[1] is a similar concept, though instead of augmenting a particular format, it is an implementation of a simple pure functional programming language (with a very expressive type system which guarantees termination). Dhall programs can then be evaluated to several different formats (currently JSON, YAML and XML).

[1]: [https://dhall-lang.org/](https://dhall-lang.org/)

<comment><AUTHOR> Dhall is awesome and rooted in the solid ML line. I wish pure functional programming langs were significantly growing in the industry. It would show signs of maturity but it is still currently a high-hanging fruit for many and traction is diluted in the impression of hobbyism or academism. What can we bring for those dealing with YAML everyday? Hard to tell them "switch all your stuff to X". Easier to tell them "you can iteratively add functional expressions to your YAML". That's the point of Yglu. It's not about proposing a better Dhall or Jsonnet. It is about proposing better YAML-native tooling.

</comment></comment><comment><USER7> Some competing languages: [https://news.ycombinator.com/item?id=20357079](https://news.ycombinator.com/item?id=20357079)

I'm especially interested in jsonnet ([https://jsonnet.org/](https://jsonnet.org/)) because of how thoroughly it's documented.

An example that produces three different config files:

        local application = 'my-app';
        local module = 'uwsgi_module';
        local dir = '/var/www';
        local permission = 644;

        {
          'uwsgi.ini': std.manifestIni({
            sections: {
              uwsgi: {
                module: module,
                pythonpath: dir,
                socket: dir + '/uwsgi.sock',
                'chmod-socket': permission,
                callable: application,
                logto: '/var/log/uwsgi/uwsgi.log',
              },
            },
          }),

          'init.sh': |||
            #!/bin/bash
            mkdir -p %(dir)s
            touch %(dir)s/initialized
            chmod %(perm)d %(dir)s/initialized
          ||| % {dir: dir, perm: permission},

          'cassandra.conf': std.manifestYamlDoc({
            cluster_name: application,
            seed_provider: [
              {
                class_name: 'SimpleSeedProvider',
                parameters: [{ seeds: '127.0.0.1' }],
              },
            ],
          }),
        }

</comment><comment><USER8> Congratulations, you just overengineered a data format.

<comment><USER9> Yaml was overengineered to begin with.

<comment><USER10> There are not enough upvotes in the universe for this comment.

</comment></comment></comment><comment><USER11> For when ordinary YAML isn't quite crazy enough.

Worth reading this if you are considering using it: [https://www.arp242.net/yaml-config.html](https://www.arp242.net/yaml- config.html)

<comment> ainar-g That, and the Norwegian Trap[1].

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

</comment></comment><comment><USER12> Every data format secretly yearns to be XML, even if it loudly denies it when asked directly.

<comment><USER13> In features but not in eye cringe.

<comment><USER14> There are features in yaml compared to which xml is a thing of ageless beauty.

</comment></comment></comment><comment><USER15> one of the ytt authors here.

looks like a very similar effort to ytt: [https://get-ytt.io/](https://get- ytt.io/)

it seems like yaql is a different, potentially more limiting, scripting language, but otherwise similar efforts.

<comment><USER15> actually glanced over the blog post. so this is inspired by ytt, which is pretty cool.

However, I am not totally sure that the use of exclamation mark and question mark to start expressions makes it any more readable than embedding code inside comments.

Also not sure what a "single source for template values" means , since in ytt you can have multiple input sources

<comment><AUTHOR> Yes, I liked the idea of ytt and after playing a bit, I felt that we could do YAML processing in some more YAML-native way.

YTT fulfills its mission, but I wanted to explore a more generic approach and have the loading of libs and values using the same mechanism. Also, allowing the reusable parts to be written in YAML and not only in the additional programming language.

I aim at bringing some ideas in this area and if they make sense, I am happy to see them live, be it in Yglu, YTT or any other tool.

Also, the fact that building Yglu was fast because of YAML parser and YAQL were already existing made me explore on my own, rather than developing these ideas in modifying or coding YTT libs, what I first imagined.

About the readability, I also don't see an argument here. !? vs. #@ does not matter a lot. It only matters that !? is already understood by the YAML parser as a tag, avoiding me to write a parser (I would not have started this work). The cool thing is that tags can also be used in mapping keys.

I will rephrase the "single source for template values" into something that gives better credit, because I really meant that import mechanisms should be the same for values and other stuff (libs, functions, ...). And aslo not only as overlay.

Thanks for the inspiration and let's continue to try and relieve the YAML pain around us.

</comment></comment></comment><comment><USER16> Hold on. YAML gained popularity as a nice syntax for JSON, which itself was a subset of JavaScript, a full programming language. Now, we are adding some computational capabilities back to YAML? Wouldn't it be better to just execute JavaScript to generate a JSON object and skip building a new language inside of YAML?

</comment><comment><USER17> [http://memecrunch.com/meme/2HKTR/no-god-please- no/image.png](http://memecrunch.com/meme/2HKTR/no-god-please-no/image.png)

<comment><USER18> Compared to Helm and other common kubernetes templating solutions that try to use blind textual replacement in whitespace-sensitive language, this (or something like it) looks like a god-send.

</comment></comment><comment><USER19> People that hate YAML must also dislike Markdown.

<comment><USER20> Compare the YAML spec [0] to the Markdown spec [1]

0\. [https://yaml.org/spec/1.2/spec.html](https://yaml.org/spec/1.2/spec.html)

1\. [https://daringfireball.net/projects/markdown/index.text](https://daringfireball.net/projects/markdown/index.text)

<comment><USER19> The link you listed for Markdown isn't the spec. Here is a more official spec:

[https://spec.commonmark.org/0.29/](https://spec.commonmark.org/0.29/)</comment></comment></comment>


Use Random Passwords Which You Can't Remember - <AUTHOR> https://secure.grepular.com/Use_Random_Passwords_Which_You_Cant_Remember

<comment><USER2> <http://lastpass.com/></comment>


Ai: Sorry, your brain is not a computer - <AUTHOR> https://medium.com/@SoldOutSupplier/ai-sorry-your-brain-is-not-a-computer-1a58402922ab <comment><USER2> You argue that an "organism" is not a computer (as it does not compute). But why should I believe that a computer is not necessarily an "organism" in your sense of the word? Or would you have us believe that organisms and computers are not made from the same universal stuff?

</comment><comment><USER3> > For more than half a century now, psychologists, linguists, neuroscientists > and other experts on human behaviour have been asserting that the human > brain works like a computer.

That is the opposite of what I have read from those groups of people.

</comment><comment><USER2> It is not true that all computers are digital. A computer made out of Tinkertoys or DNA is no less of a computer although the rules of operation may be different.</comment>