Ubuntu: What They're Doing Right and Wrong - <AUTHOR> http://www.datamation.com/open-source/ubuntu-what-theyre-doing-right-and-wrong-1.html

<comment><USER2> The idea that "parental controls" are needed is contradictory to the entire philosophy of Open Source and Free Software. Parental controls - or, as it should be called, parental censorship - is a "feature" that treats the user as an ADVERSARY.

It belongs in the exact same category of "features" as mandatory wiretapping on telecom networks and mandatory tracking on cellphones, and other inventions that treat the user as an adversary. It also belongs in the trashcan.

To people who want this to babysit their kids - no, you don't get to abdicate your parenting to a piece of code doing censorship.

<comment><USER3> You've conflated owners and users. FOSS movements are advocating owners' rights, and only users' rights when the "real" owner of a piece of software or a computer has been demoted to a user.

That's why FOSS software like NFS respects file permissions, and web servers include HTTP-Auth.

</comment></comment><comment><USER4> I am in two minds about the "community" aspect of Ubuntu. It is true that Ubuntu has many users. Subsequently, whenever you run into a question, you will get lots of Ubuntu-specific posts. The problem I see with this is, however, that with a higher volume comes a higher number of a) unanswered or b) duplicate or c) redundant questions/answers, and since Ubuntu markets itself as "the distribution for everyone", many questions are very basic (→ "signal-to-noise", etc.).

The Arch wiki, on the other hand, often offers in-depth writeups, guides and howtos, simply because that is its philosophy and it is geared towards a more proficient but therefore also significantly more specialised userbase.

Now, I use neither Ubuntu nor Arch, yet I find the Arch community's work infinitely more helpful and transferable than the documentation churned out by the Ubuntu machinery.

Size is a double-edged sword, you have a better chance of finding something, yet finding good solutions becomes substantially harder,

<comment><USER5> Agreed. Often when I'm searching for a problem I stumble on the Arch wiki (I don't use Arch) and it has often been the perfect thing for me.

</comment></comment><comment><USER6> I'm confused by Ubuntu being called out as specifically having "great [..] hardware compatibility". I've been using SUSE for 10 years now and I've never had a single peripheral which didn't work out the box. This is down to the great work of the Linux and driver developers rather than Ubuntu itself.

<comment><USER7> The great hardware support is indeed provided by the kernel, but out of the box it's nowhere near pain-free. In particular when you have to setup your wireless or video drivers. Sadly, these two still often require binary drivers and picking from several options. One specific example (mentioned in the OP as well) is with the wireless drivers - there usually are at least two options that provide some support and usually one of them is better. I've had to configure some Broadcom WiFi support and there are three different solutions - ndiswrapper, binary blob provided by Broadcom and the driver in the kernel. Picking one of the three is a time consuming and complicated process on other distros and nowhere near easy and accessible to new users.

Ubuntu on the other hand, with their driver manager, picked the correct driver, downloaded the required bits and pieces, and configured them all without needing to do anything else. The same can be said for eg. NVidia support.

This in my book is a clear win for Ubuntu.

</comment></comment><comment><USER8> Parental controls and migration wizard are the only things the author cited as needing improvement? Come on! Here's my two cents: Ubuntu, and other Linux distros, have the technical side locked up. Now they need to adopt some sort of a design-centric approach to their development efforts. This is where the failure has been. The frontend experience has never sparked anyone's imagination. I'm sure all the major distros are well put together but they _all_ look like they came from the windowsXP era. There's also a tendency to copy windows and mac desktop look-and-feel almost to a fault. The funny thing is that both Microsoft and Apple have shown to be willing to make drastic changes to their flagship products. It makes them look like trailblazers and the open source guys look conservative.

<comment><USER9> It is very clear that you have not used the latest Ubuntu with Unity.

In fact, Ubuntu is the only distro that has done anything innovative in that area. Some old linuxers hate it but that's life.

Right now I'm using Ubuntu precisely because of that. It is the first Linux that looks better and really different to the old Mandrake I used to run back then.

</comment></comment><comment><USER10> I have used Ubuntu since 2008. I have seen it grown increasingly more user friendly over the years. I have always been impressed with it's stability and would never go back to running Windows. If you want something that is easier on your equipment then this is a great option.

</comment><comment><USER11> The article doesn't cover the server side of things, which is a shame.

I've been experimenting with Ubuntu due to their native JeOS tools and so far so good. I'd be curious as to how different Debian Wheezy and Ubuntu Precise are these days, from a server point of view.

</comment><comment><USER12> The complaints about the parental controls options suggested are stupid. That's the Ubuntu wiki.

</comment><comment><USER13> Why are parental controls even on this list? Is this really such a pressing issue? I think he should have taken a different angle on this, seemed to me like he just ran out of things to criticize.

</comment><comment><USER14> What is the Windows solution for parental controls?

<comment><USER15> The built-in "Parental Controls" are pretty rough. You can set time limits on user account, set maximum ESRB ratings for games, and block specific programs. [http://windows.microsoft.com/en-US/windows7/What-can-I- contr...](http://windows.microsoft.com/en-US/windows7/What-can-I-control-with- Parental-Controls) Microsoft also has a first-party program with slightly more refined capabilities called Family Safety. You have to sign in to a website for that though. The one feature I like about it is that a kid can send a request for specific exceptions that can be reviewed by the parent.

</comment></comment><comment><USER16> Do people actually use Parental Controls? Why?

<comment><USER17> You've never been a parent, have you?

<comment><USER16> I'm seriously trying to understand why they would be used. I see them focused on nudity and porn, but neither has harmed any child. Very rarely are they focused on violence, but that's available readily anyway.

<comment><USER18> So the answer is "no, not a parent".

<comment><USER16> I'm not a parent.

Why would you want your child to not see nudity? I've seen nudity as a child and I'm fine.

<comment><USER19> Regardless of how you feel about the matter, you must be aware that a large amount of the world feels that children should be sheltered from sex & nudity in general.

Also there are a lot more offensive / graphic things on the internet than simple nudity. No parent, no matter how liberal, wants their child to see 2 girls 1 cup.</comment></comment></comment></comment></comment></comment>


Retiring Chrome Frame - <AUTHOR> http://googleenterprise.blogspot.com/2013/06/retiring-chrome-frame.html <comment><USER2> Wow, this is terrible news. They can push Chrome for Business, the Chrome MSI Installer, and Chrome Legacy Browser Support all they want, it's not going to change the minds of countless IT departments that still demand IE. Come spend a week here in Nashville, the healthcare mecca of the US, and you will discover that quite quickly. Sometimes you just can't fix stupid, so you have to instead find ways to get around it (e.g. Chrome Frame).

<comment><USER3> I agree. But, I am glad I didn't get my way in trying to bring this into the hospitals my software is installed in. I tried for a year or so to get some acceptance. This would be really bad for me now. But, I bet it's bad for others so I am not happy about this at all.

<comment><USER2> For us, we have hospital chains that are interested in our service ([http://populr.me](http://populr.me)), but they want to use IE to create their pages. While we plan on supporting newer versions of IE in the future, it just didn't make sense for us to spend time on it yet. Several users told us they were using Chrome Frame to get around this problem, but looks like now we need to step up efforts around our browser support.

</comment></comment></comment><comment><USER4> Sad news. This is why so many IT depts don't trust Google. You can spend so much time and energy trying to get something adopted in your dept, and then Google leaves you hanging.

It's good for Google short term, but I can't help but think stuff like this (and google reader shutdown) is really limiting uptake of other Google apps in businesses.

</comment><comment><AUTHOR> Looks as though they are making an IE plugin for chrome, rather than a chrome plugin for IE.

<comment><USER5> Did the article mention that? Because I didn't see it. I'm interested in what you say, could you point me to more information?

<comment><USER6> [https://www.google.com/intl/en/chrome/business/browser/lbs.h...](https://www.google.com/intl/en/chrome/business/browser/lbs.html)

</comment></comment></comment><comment><USER7> But... this was always my go-to joke for handling IE issues...

</comment><comment><USER8> Are they going to still make it available for download/installation or will this mean nobody can install it once they drop support?

<comment><USER9> But why would you need an outdated version with possible security issues?</comment></comment>


For proteins, evolution can't go backwards  - <AUTHOR> http://www.newscientist.com/article/dn17841-for-proteins-evolution-cant-go-backwards.html?DCMP=OTC-rss&nsref=genetics

<comment><AUTHOR> There is a problem with observing changes in a single protein and reversing them to see if it all fits again. Evolution doesn't necessarily changes single proteins - it changes whole pathways (that define a biological function) - that include a number of different proteins expressed from different genes. If scientists had changed all these proteins back to where they were in addition to reversing the 5 changes in glucocorticoid receptor, the old function would surely be restored.</comment>


Just One File with Cappuccino 0.8 - <AUTHOR> http://cappuccino.org/discuss/2009/11/11/just-one-file-with-cappuccino-0-8/

<comment><USER2> This is the sort of fantastically elegant solution, to a tricky problem, that we have come to expect from 280North and Cappuccino.

The killer feature here is that "you won't have to change a single line of code". I love how seamless this is to implement! Oh, and that the images are sent as encoded text - pure awesome.

</comment><comment><USER3> This sounds exactly like the ImageBundle feature in GWT: automatic spriting, no configuration files, works on IE6 and above... it's a great feature.

<comment><USER4> I believe the GWT thing requires you to specifically create a bundle subclass, and put all the image files in that bundle (as methods with or without annotations). Please correct me if I'm wrong.

<comment><USER3> You only need to create a sub-interface, and the annotations are only necessary if the image filenames cannot be inferred from the method names in that sub-interface.

It wasn't clear from the original article how Cappuccino handles this...do they automatically throw any image that happens to be in a magic directory into the bundle?

There are other details that are different, so I guess I shouldn't have said "exactly". ImageBundle will make a real PNG for you instead of Base64, for example. Although in 2.0 the new generalized ClientBundle facility (same concept, but you can also bundle CSS, XML, a PDF...) promises to use data: URLs, JSON notation, or other representations when its calculated to be size- appropriate.

<comment><USER4> The default jakefile we will ship just automatically bundles any image resource in the project.

ImageBundle sounds pretty solid. I guess they are inferring the orientation of an image somehow? I'd like to see how that works. If you use an image in multiple orientations, or if you need to stretch in both directions, using a single .png file just isn't possible, unless there's something I'm missing.

<comment><USER3> In the current implementation (ImageBundle) you would need to have separate copies for each orientation & scale. That's a really nice thing that the Cappuccino implementation brings. The new ClientBundle implementation promises to, at least, have the compiler flip an image left-to-right when appropriate for a user's locale:

          @ImageOptions(flipRtl = true)

...and there's another hint for images that are intended to be tiled:

          @ImageOptions(repeatStyle=RepeatStyle.Vertical)

There's no scaling yet, but the tiling annotation covers some of the cases where you might want scaling (such as the edges of a corner-rounded/drop- shadowed box of variable size).

</comment></comment></comment></comment></comment><comment><USER5> Very cool, but Base64 encoding produces results rather larger than the original image binaries, no? I guess the benefits outweigh the drawbacks?

<comment><USER2> Yes, that's true. I think, generally speaking, base64 encoded images will result in more bytes than the original. I guess it's probably around 10%-20%.

I think, in the case of spriting, it would be fair to say that the overhead of loading many images/http requests (and their individual headers) pretty much nullifies the effects of bloating from the encoding.

<comment><USER6> Base64 will inflate a list of bytes by 33%. For every three bytes that go in, 4 bytes are returned. Wikipedia has a very good explanation of why this is:

<http://en.wikipedia.org/wiki/Base64>

While we're on the subject, Ascii85 is kind of a cool alternative. By increasing the number of characters used for the encoded string and breaking a 32 bit integer apart in an interesting way, it is able to reduce the expansion down to 25%. For every 4 characters in, 5 come out. Again, more info is available on Wikipedia:

<http://en.wikipedia.org/wiki/Ascii85>

<comment><USER7> Incidentally, here's some javascript codecs I wrote for both base64 and ascii85, if anyone wants to play with using them on their sites:

<http://pastie.textmate.org/695197>

My base64 codec turns out to be quite similar to the Cappucino one; oddly, most of the javascript base64 codecs with decent google juice are actually horrible implementations.

</comment></comment></comment></comment><comment><USER8> I wonder how they're handling caching.

<comment><USER4> Typical cappuccino apps are cached all at once with far future expires. Simply changing the URL (in an automated way) is enough to break the cache for new versions.

The caching tradeoff is there for any spriting technique, it will always be a tradeoff between reducing HTTP requests and increasing caching granularity.

<comment><USER9> Most browsers can handle two concurrent connections.

I wonder if you could create a single diff file for minor revisions. Clients would get both files in parallel as most are configured to allow two connections per host.

E.g.:

\- index.html with in-line minor diff + data loader.

\- data file with resource that is patched before extraction.

The right time to blow away the cache and produce a new monolithic data file would depend on your visitor profile. The nice part is that your changes could touch multiple files and still have the same overhead.

.......quick example over 10 days........

A user visits every day, 1 change per day, 1% of code modified per change:

\- file re-consolidated/cached on every change, user downloads 1000%

\- with diffs consolidated every 5 days, user downloads 220%

\- best case conventional update, user downloads 109% (but probably a lot more)

<comment><USER4> Interesting idea. It's worth mentioning that one file in Cappuccino means one file per bundle, plus the index.html file and Objective-J.js.

A typical app has the Cappuccino bundle, and one bundle for the app code, but using an external framework means adding an additional bundle. We're exploring techniques to further concatenate bundles together (we have one in the project, but it has some negative side effects).

<comment><USER9> I'm curious about your concatenation technique. Dynamically creating multiple script objects (with document.createElement) from a data file and injecting them has been reasonably robust for me but I'm not writing a framework so I have far fewer test cases! :-)

<comment><USER10> Cappuccino has a completely custom loader and concatenated file format that creates a file system representation, such that when you do something akin to XHR("something/blah") it knows that it already downloaded it and gives it to you without a request, that way whether you ship concatenated code or not the code that fetches it is the same.

</comment></comment></comment></comment></comment></comment><comment><USER11> Any way I can do this in Django? (Or--how hard is this to do by hand?). Seems really promising.

<comment><USER12> Someone asked a similar question in the comments and this is the reply he got:

 _The code is all part of Objective-J and the tools, which don't require the framework itself. You could always use those in your project without using Cappuccino._

</comment></comment><comment><USER13> Is "Just One File" a reference to Ministry?</comment>


China's Bitmain dominates Bitcoin mining, wants to cash in on AI - <AUTHOR> https://qz.com/1053799/chinas-bitmain-dominates-bitcoin-mining-now-it-wants-to-cash-in-on-artificial-intelligence/ <comment><USER2> Just last week I was saying that the AI gold rush needed its own version of "Bitboys Oy!" to add comic relief and occasionally good ideas. After all, you can't spell Bitmain without A I.

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

</comment><comment><USER3> Aren't machine learning workloads more variable than crypto mining? How would ASIC users cope with that?

<comment><USER4> The big advances in neural networks stem from the use of GPUs that are themselves less flexible than CPUs, but allow extremely good parallelisation of (some) linear algebra (mostly matrix multiplication). This seems like a logical next step, and it's probably similar to those "tensor processing units" of the newer Tesla chips and whatever Google's custom hardware was called.

<comment><USER5> Google indeed calls them Tensor Processing Units and NVIDIA used the name as well iirc, thus the birth of the TPU.

</comment></comment></comment><comment> aaron-lebo How great would it be if AI advances ended up controlled by an authoritarian Chinese government built off of the profits of libertarian Bitcoin users?

It's kind of fascinating just how dependent the value of cryptos and interest in them has been dependent upon China.

<comment><USER6> >How great would it be if AI advances ended up controlled by an authoritarian Chinese government built off of the profits of libertarian Bitcoin users?

Bitmain is a private company. And even if you can describe bitcoin as a libertarian technology, I wouldnt think that most of Bitmain's profits come from libertarians based on who uses their hardware.

>It's kind of fascinating just how dependent the value of cryptos and interest in them has been dependent upon China.

Nothing special in the biggest part of the market dominating the price the most, really.

<comment><USER7> I think most libertarian see it as libertarian because it is not issued by any government and so it isn't affected by gov when they change interest rate.

It is purely dictated by the market of supply and demand.

This is just what I think why Libertarian see it as libertarian; I'm not one in any real sense nor do I subscribe to any of Ayn Rand's reasoning.

</comment></comment></comment><comment><USER8> The issue with ASIC is that when there is new AI algorithms that gets developed, they may not be even able to use those. General purpose hardware will be able to. You are stuck and need to upgrade.

<comment><USER9> Depends what the ASIC does. The bulk of deep learning is still matrix multiplication and scalar operations on matrices. GPUs are, as the name implies, general-purpose. They aren't as optimized as they could be for optimal performance on matrix ops. This is part of what Google is capitalizing on with the TPU.

Further speedups can be gained by going with lower precision ops (eg: float16). A chip specialized for deep learning could support f16 only, which would allow it to have more compute power using less area and less power.

So, in short, there are ways to make ASICs that are more efficient for deep learning while still giving the ASICs flexibility. ASIC doesn't mean there is no programmability.

<comment><USER10> > GPUs are, as the name implies, general-purpose.

???

<comment><USER11> The ol' General Purpose Unit

</comment></comment></comment></comment><comment><USER7> Good.

Nvidia stuff 1080ti cost too much for a graduated student.

AMD is working on their own stuff supposely later this quarter we'll get tensorflow and other support on their card.

Google's TPU is not for consumer, only for cloud.

If bitmain can sell ASIC for consumer with reasonable price and support tensorflow, pytorch, etc... then it'll be good for the deep learning community.

<comment><USER12> I suspect they'd be designing for datacenters rather than consumers. That's essentially what they already do with bitcoin rigs too. It's a rented mining cloud.

<comment><USER13> > It's a rented mining cloud.

That's not _all_ it is. They do sell actual hardware as well, which you then run yourself.

<comment><USER12> Sure, that's entirely fair.

</comment></comment></comment></comment><comment><USER14> Is that a spoiler for "The Three-Body Problem" in the second paragraph? Thanks, QZ!...

<comment> aaron-lebo Had never heard of it, but it looks really interesting:

[https://www.amazon.com/Three-Body-Problem-Cixin- Liu/dp/07653...](https://www.amazon.com/Three-Body-Problem-Cixin- Liu/dp/0765382032)

<comment><USER15> I know everyone says it's good, etc. I just want to reinforce the point. It is really really good. Definitely one of the best scifi I have read. The story just gets bigger and bigger as the books progress as well as the imagined tech and physics. I know it's cliche but it definitely caused me to think slightly differently when looking up at a night sky.

</comment></comment></comment><comment><USER16> _> [Bitmain] has over 70% of the market for bitcoin mining rigs—effectively providing 70% of all the processing power on the network._

It's incredible that one company accounts for the vast majority of the entire Bitcoin network's hash rate.

<comment><USER17> Can't they now take over the market and generate bitcoin until everything crashes?

<comment><USER18> In this case, no. They produce ~70% of the hardware used by other miners. If they kept the hardware inhouse it would be another story all together.

If history is an indication, selling the "shovels" to others during this digital gold rush is more lucrative for Bitmain than mining would be.

<comment><USER19> Also, even if you controlled 99.99% of the hashing power, you still couldn't "generate bitcoin until everything crashes." You can't give yourself an arbitrary sum.

<comment><USER20> with 51%, you just give yourself the entire sum of network rewards not an arbitrary sum.

<comment><USER21> At which point the exchange value of Bitcoin plummets, so you turn your $3.5 million in daily block rewards into nothing.

<comment><USER18> Not necessarily. A smart actor with massive hash power (enough to stage a 50%+ attack) would gain the most by using a Sybil variant to subtlety take control. There is no reason to be overt if you can conceal the connection between "independent" mining pools.

<comment><USER21> We might disagree on what a 51% attack means.

A single actor controlling a majority of hash power isn't a problem. Double- spends are a problem. If anyone double-spends, it _will_ be noticed because there will be a permanent record of it in the form of orphaned blocks, and bitcoin value will decrease because Bitcoin transactions will have become less trustworthy.

Thus, even in the case where a single actor has 51% hash power, that actor has a strong financial incentive not to conduct a 51% attack.

The Sybil-style independent mining pools you describe aren't really hiding what people would be looking for, which is a coordinated preference for the fork that causes the double-spend. (Plus miners would have to accept the relayed second transaction into the mempool to begin with, which today nobody does. RBF might have changed this, but even then you should still be able to reason about whether anyone is even contemplating allowing a double-spend.)

I'm not sure if I'm talking past you -- am I correct that we disagreed on what a 51% attack looks like?

<comment><USER20> Double spends attacks aren't the only issue when you have access to a large portion of the network.

Malicious pools can prioritize their transactions and manipulate activity in the network to grant them as many block rewards as they want.

</comment></comment></comment></comment></comment></comment></comment></comment></comment><comment><USER22> Incredible story, thanks for sharing!</comment>


2013 Tesla Model S Long-Term Road Test - <AUTHOR> http://www.edmunds.com/tesla/model-s/2013/long-term-road-test/wrap-up.html

<comment><USER2> Another site where the drive unit had to be replaced multiple times? I would love to see hard numbers for Tesla on this, do they report it anywhere?</comment>


Simple Python Package to Extract Deep Learning Features - <AUTHOR> https://chsasank.github.io/deep-learning-image-features.html <comment><USER2> This blogpost makes it sound as if using a deep learning library for a task like image classification is difficult, while it is just a matter of copy+paste, annotate, and run.

<comment><USER3> Please provide either an example or a source for this assertion.

<comment><USER4> [https://github.com/fchollet/deep-learning-with-python- notebo...](https://github.com/fchollet/deep-learning-with-python- notebooks/blob/master/5.1-introduction-to-convnets.ipynb)

<comment><USER5> The OP library specifically grabs the ImageNet model and uses transfer learning. That's just a general keras convolutional networks resource.

</comment></comment></comment></comment><comment><USER6> I wonder if there is a BERT equivalent for NLP. Is BERT part of Spacy now?

<comment><USER7> We've been developing support for transformers in spaCy. See:

[https://explosion.ai/blog/spacy-pytorch- transformers](https://explosion.ai/blog/spacy-pytorch-transformers)

[https://github.com/explosion/spacy-pytorch- transformers](https://github.com/explosion/spacy-pytorch-transformers)</comment></comment>


The Physical Genius - <AUTHOR> http://www.gladwell.com/1999/1999_08_02_a_genius.htm <comment><USER2> Equally awesome writing on another example, Roger Federer[1], by David Foster Wallace, a MacArthur guy and one of my favorite 3 writers ever:

[http://www.nytimes.com/2006/08/20/sports/playmagazine/20fede...](http://www.nytimes.com/2006/08/20/sports/playmagazine/20federer.html?pagewanted=all)

Sorry for the non-hacker content, but since the article's already here, no harm in commenting I suppose.

[1] Federer is, I would contend, the world's pre-eminent physical genius, though I don't know any brain surgeons.

</comment><comment><USER3> Old, but fabulous. Stellar writing, even by Gladwell's standards.</comment>


Show HN: News Searching API - <AUTHOR> https://datanews.io <comment><AUTHOR> This is the side-project, that I have been building recently. The API allows searching over the data from many news sites and news aggregators, it also allows to easily extract whole news sites. I built it for two reasons. First, I wanted to have a source of recent news data to play with, essentially to run data analysis and train ml models on. Secondly, because alternative services had wildly high pricing, like 400-500$ per month, and I thought I could build and deploy such a system for a much cheaper price and improve my programming skills along the way. I would very much appreciate any comments/suggestions about the serive or how to make it better :)

<comment><USER2> How are you licensing the content?

<comment><USER3> He's not.

<comment><AUTHOR> Right, I will definitely work on adding data policy to terms of service. I think it will go along the lines, that you cannot remove the attributions/trademarks, if you are republishing the data, but doing analytics on it is ok.

<comment><USER2> It's a pretty fine line you're treading here. A lot of the reason the competition is so expensive is that they are licensing the data in bulk. There's lots of litigation in this area, see the Meltwater cases in US and UK.

<comment><AUTHOR> If you have say 10k news sources from tens of countries around the globe, I doubt that it would be feasible to contract with every specific site out there, especially if you get data say from Google News.

</comment></comment></comment></comment></comment></comment><comment><USER4> Do you host the content as well? What's the legality of that?

I ask because I want to embed some archiving and "reader mode" logic into an app of mine that would be FOSS and self hosted. However that means each individual would be effectively scraping and archiving, and possibly p2p spreading, news content _(as data sources)_.

So I'm curious if there is some underlying "fair use"-like mechanism that allows Archive, Outline.com, and you to consume news content without it being considered piracy.

<comment><AUTHOR> This is a great question. Thus far I thought, that the content that is publicly available without any limitation (e.g. membership access), can be scraped by anyone. You can take a look at hiQ Labs vs. LinkedIn [1]. LinkedIn's public data was scraped by data analytics company, the ruling was against LinkedIn.

I also think that the use case matters, I don't republish their content on the site, but merely provide it via API. Technically, it could be argued, that they could get this data themselves, but it is easier for them to use a service similar to this one to simplify things.

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

<comment><USER5> hiQ Labs vs. LinkedIn is a bad example. It is super specific.

LinkedIn did not owe the data (it was users').

In your case, you are reselling copyrighted product.

Of course you can scrape. It does not mean you can distribute this.

<comment><USER6> What about Google Search API?

</comment></comment></comment></comment><comment><USER7> I used to run a large US publisher with 50+ sites writing 50,000 articles a month; if we found someone scraping full articles and offering them for use via an API it would be a problem - even moreso if that person was charging for it. I'm all for hacking and innovation around this space, just be careful here and don't break TOS.

<comment><AUTHOR> Hi, thanks for feedback. I am going to push changes to display only a snippets from the articles soon.

</comment></comment><comment><USER8> Hi,

Simple and effective API. The documentation lacks details about the query parameter. I want to search for A AND B but q=?A%20B does not yield the expected result (seems a OR query) or for exact phrase "A invests in B" do not seem to work. Can you please post details for advanced syntax like this?

<comment><AUTHOR> Hi, thanks for the feedback! So far, I haven't implemented this feature yet. The query parameter gets tokenized as is, and then tokens are used to search in the index. Could you provide more details about your use case? As I understand you need to have AND, OR, NOT, grouping () operators, anything else? I would try to implement this today, and write back to you.

<comment><USER8> yes this is exactly what I (most users?) would need. Search for exact phrase would be a plus also. Eg: "donald trump" instead of Donald AND trump. What kind of backend are you using, a simple database or search index like elasticsearch (which would be more appropriate for such project)?

<comment><AUTHOR> Hi, just finished implementing this stuff. To search a AND b use 'q=A+B'. Here are a few examples:

> curl -XGET -G 'api.datanews.io/v1/news' -d 'apiKey=API_KEY' \--data- > urlencode 'q="Europe throws new rule book at Google, tech giants to loosen > market grip"'

> curl -XGET -G 'api.datanews.io/v1/news' -d 'apiKey=API_KEY' \--data- > urlencode 'q=google+facebook+amazon'

Supported operators:

\+ AND, | OR, \- NOT, () parentheses for grouping, "" exact match

EDIT: examples

<comment><USER8> Kudos!

</comment></comment></comment></comment></comment><comment><USER9> Tried it.. pretty straight forward. Free account rate is good for personal use. I think it comes down to 4 calls per day which is reasonable if you are using this as maybe your daily news fetcher.

<comment><AUTHOR> Thanks for the feedback! Concerning rate limiting, I think I may have placed rules a bit too strict, as the system is hosted on AWS Free Tier. There is definitely a room for increase in RPS per user, but I wanted to play safe.

<comment><USER10> This is great!

</comment></comment></comment><comment><USER11> I added your API to Pipedream. Check out an example -- [https://pipedream.com/@tod/datanews-io-example- p_ljC13p/edit](https://pipedream.com/@tod/datanews-io-example-p_ljC13p/edit)

If you or your users need to build automated workflows with Datanews, please let us know any feedback.

</comment><comment><USER5> Disclaimer: I am a co-founder of a similar News API service [https://newscatcherapi.com/](https://newscatcherapi.com/)

No news API solution returns the full body text of the article (including us). The reason is - copyright infringement in US and EU.

 __You can return only chunk of it __

At least, that 's what all lawyers I spoke to told me

<comment><AUTHOR> That's interesting. I've browsed a few of alternative apis, and if I get it correctly then newsapi.org returns full text articles for paid plans. I would research this question further, and maybe will change the api to return only part of the content.

</comment></comment><comment><USER12> Can you talk about how you avoid getting blocked by captcha? Do you use RSS feeds? In that case do you not return images?

<comment><AUTHOR> The scraper only scraps the recent content, so it avoids scraping same links. As the daily number of articles published by the website is not very big, I make requests with a break in between, total number of requests is not that big, so the ip is not blocked. Also, adding proxy servers is a possible solution, i.e. having a proxy pool to proxy requests. I guess in this scenario it is easy to by pass capcha.

<comment><USER13> Nitpick: it's "scrapes," not "scraps." To scrap something is to throw it away. To scrape something is to ingest it. The two words are, in fact, nearly opposite.

Sorry — I don't mean to pick on you — it's just that I see this mistake with an inexplicably high frequency, and it's like nails on a chalkboard for me.

Also, very cool service!

<comment><AUTHOR> Thanks, will take take a note for future.

</comment></comment></comment></comment><comment><USER14> How do you get news from its sources?

<comment><AUTHOR> First, I extract the links to the news articles by searching them on the home page or sitemaps. Then, for each article I scrap raw html and extract key things like title, description, publish date, authors, etc. Usually each news article has a schema embedded within it, so it greatly simplifies things of extracting article details.

<comment><USER15> Do you scrape using web requests? Or do you use headless browsing to load the page and extract the contents out of the DOM?

<comment><AUTHOR> I use standard web requests to get raw html and parse the data from it, no headless browsing. I guess all the news pages I've met so far were static.

</comment></comment></comment></comment><comment><USER16> What tech stack are you using? And how many news source does it collect data from?

<comment><AUTHOR> The tech stack is Python, Java, Spring, Elasticsearch, Redis/MySQL. This is a beta version with explicit support for 50 sources + Google News aggregator. I plan to release new version in about a week, which will support another 400-500 sources.</comment></comment>


Ask HN: Is "Big Google" Dying? - <AUTHOR> Is googles relentless long term product killings a sign that the days of "Big google" are coming to an end?
The company that seemed to do so much is now contracting down to .....what?
Does it mean google is going back to just being search plus a few other things?
Is Big google a thing if the past?
Here's a list of google products, which ones do you think they'll keep? https://en.m.wikipedia.org/wiki/List_of_Google_products <comment><USER2> Google haven't veered off their modus operandi since, maybe, its inception. Most people would say they're an ad company but if you look closely they're a patent hoarder and billion user product/service chaser. Beyond its products/services you should look at their acquisitions as well, so you can have a fairly decent picture of what they're trying to achieve.

I doubt Google will vanish that easily, if, for whatever reason, ads become unsustainable (which is _very_ unlikely) I predict they're are going to start licensing their tech to the highest bidder much like what they're doing right now with Waymo. (Waymo's end goal, like other players in this field, is insurance, btw.)

It's equally important to recall that they have lots of investments on a lot of other well-known companies (some are even outright competitors). (Makes one wonder if they're using those positions to keep their edge in the market that they may intend to takeover in the future.)

The "Google feels old now" feeling we're currently experiencing comes mostly from a power struggle between Big Tech and Big News.

Google have so many investments in so many different fields, and are so risk averse (I'd even risk saying paranoid) that I doubt they're going under any time soon.

But my guess is as good as any, though.

</comment><comment><USER3> Now that I've switched away from Google, there's no way I'm going back.

It was a ton of effort, and I started because they kept breaking / discontinuing things I relied on. I finished because of privacy concerns. I see no evidence that they are addressing either of these issues.

I'd guess when they lose a user, it is usually permanent.

Less anectdotally, DDG's adoption curve looks solid:

[https://duckduckgo.com/traffic](https://duckduckgo.com/traffic)

Also, the gmail client seems to have peaked in popularity:

[https://emailclientmarketshare.com/](https://emailclientmarketshare.com/)

and services like fastmail are more popular:

[https://trends.builtwith.com/mx/FastMail](https://trends.builtwith.com/mx/FastMail)

(Be sure "all internet" is selected to see the recent uptick in presumably personal email hosting)

<comment><USER4> This comment has nothing to do with the topic. I'm sorry to say this because I do agree with your content, but here it is offtopic.

</comment></comment><comment><USER5> ... and here it is a list with Google Products and their alternatives [https://www.saashub.com/all-google-alternatives](https://www.saashub.com/all- google-alternatives) (disclosure, I'm the author of the list)

</comment><comment><USER6> I think Google should focus on continuous product development. They always create a product and then leave it alone without touching it again. Usually the product is good originally, but it degrades because nobody updates it.

</comment><comment><USER7> Google has always aggressively created and sunsetted products, even popular ones. I don't see any change in that MO recently.

</comment><comment><USER8> My understanding is that the minimum bar for an in house google product or service is that it needs to generate ~$100MM in ARR. If that bar isn't met quickly without too much overhead, then the product or service gets cut. They are like a VC chasing unicorns.

</comment><comment><USER9> Also interesting: Is #DeGoogle on the rise (as a real thing, not a fad)?</comment>


Why Draw Something Is A Hit - <AUTHOR> http://www.bonobolabs.com/the-7-sneaky-reasons-why-draw-something-is-a-hit/

<comment><USER2> I've enjoyed the game, but it seems to have a short shelf life. I started playing with about half a dozen co-workers last week, and now almost all of them have quit playing. This may in part be due to a.) not enough words (I'm seeing a lot of repeats), b.) time required to play -- drawing an elaborate picture (or watching it be drawn) takes considerable time (on an iPhone), and I often find myself shying away from the game for that reason.

Finally, I'd add that the game has a few annoyances. For example, the popup requesting you to rate the game in the app store can't be ignored. You must either rate the game, or postpone doing so. I also lost all of my purchased colors after an update. Clearly they're having growing pains, but my enthusiasm is waning.

<comment><USER3> "or watching it be drawn"

I believe there's a skip button? Never tried pushing it, though.

<comment><USER4> You send drawing 1 to player B. They watch it being drawn and guess. They send you drawing 2. When you open your app you see drawing 1 happen again and player B making their guess. You can skip that. Then you're shown drawing 2 and can make your guess.

You can "pass" during drawing 2, but that ends the game (streak) between you and player 2.

And though the streak doesn't really matter, it means that, no, you can't really 'skip' watching the other player's drawing stroke-by-stroke. You can only choose to stop playing.

<comment><USER5> I think they hit the right compromise here. As you said you can give up and pass on the word. If you get the word early then it shows you the final drawing then moves on to the next turn.

Not allowing someone to skip to the final drawing when they do want to play but can't guess the answer yet is a feature, not a bug. It allows new strategies, like drawing a series of states to show a change. It also gives you a sense of the other person, it's a big part of the fun sense of communication that you get with the game.

A skip button, if added, would be widely used and make the game worse.

</comment></comment></comment></comment><comment><USER6> For those having a hard time getting to the article.

<copy>

1\. Watching friends screw up is fun

This is genius. Draw Something combines the benefits of asynchronous gameplay (easier to play with friends instead of strangers because they don't have to be online) with the benefits of synchronous gameplay: watching the action in quasi-realtime. Watching your friends painfully draw a crude Tom Hanks stroke- by-stroke is just good ol' fashioned fun. Even better, this acts as an indirect communication channel for users to write messages and clear the screen before starting the actual drawing.

2\. There isn't a freaking back button

When you tap on a game to have a turn, there is literally no way back. You are forced to complete the turn before you can view your other games. Given most players have a lot of games on the go, they are keen to get back to the home screen and see who is ready to play. If you play Words With Friends, how many times have you tapped on a game, not thought of a move then tapped back to try another game? Draw Something forces you through the turn which keeps the whole machine ticking over faster.

3\. Play for seconds or hours

The amount of time you want to dedicate to playing is completely variable. If you are waiting in a queue you can spend 10 seconds drawing a quick move on a single game. If you really want to knuckle down, you can slave over every pixel for 20 games and spend hours playing it. This is vital for a mobile casual game to fit into all sorts of time-killing / entertainment situations.

4\. Natural encouragement to start new games

You just finish 5 moves and are waiting on everyone to have their turn…what do you do? Start another game of course! Why wouldn't you when you can see all those other fun Facebook friends are ready to play?

5\. Cooperative playing where scoring actually doesn't matter

Most game developers spend a huge amount of time trying to tune scoring systems and get the balance right. In Draw Something it's all kinda a bit vague…and that's a good thing. If you are really into scores, you can dive into it. Most regular players just have fun guessing drawings from their friends (and maybe getting a decent streak). You are essentially working together, which can be a lot less intimidating for people who are worried about not being good at games.

6\. Virtual ice breaker with Facebook crushes

Seriously, don't tell me you didn't start a sneaky game with that guy/gal you don't really know but thought "why not". Given the tight Facebook integration, it makes it socially acceptable to start a game with someone on the outer edge of your social circle. Because there isn't a chat option, it forces you to communicate purely through drawing which can be far less awkward.

7\. Words are taken from pop culture

Rather than just ripping a bunch of words straight from the dictionary…you end up drawing things like Lady Gaga or Dubstep. Far more stimulating!

</copy>

<comment><AUTHOR> Thanks for posting, back up now ;-)

</comment></comment><comment><USER7> Being able to see your friend's brush strokes as they draw is very cool. It is fun to watch people draw because it is interesting insight into how people think. Also, clues can be given through "actions" this way, e.g. the word "wind" can be clued through the action of the artist, and this information would be lost if users could only see the finished product.

Additionally, the reverse is interesting and fun as well: it is kind of fun to see your friends guess the word in realtime. This way, you get to see what clue in the drawing finally made it click for your partner.

</comment><comment><USER8> Not having a back button is a big deal. You sit there and think "well, I better just whip out a drawing so I can get back to my list of games" -- the only alternative is to exit back to the homescreen and wait some undetermined time (perhaps for the app to be moved out of memory?)

But the point is that forcing you to play the next turn in the round instead of picking another game acts to perpetuate engagement very effectively.

<comment><USER9> You can force quit the app, and it will relaunch to your list of games.

<comment><USER10> Heh, which I find myself doing frequently. Every time I get to the point where there are no "easy" choices for words to draw, I find myself force-quitting the app, relaunching, and playing a round with someone different, and then coming back to the round I skipped (incidentally, you get offered new word choices in this case). Hard to say whether having a "back" button would end up discouraging people from continuing the game or not without some A/B testing, and I have a hunch that not having a back button probably keeps people in the game a little longer, but I still wish there was a back button. I'd like to be able to return to the same point in the round instead of having to completely restart the round again.

EDIT: something else occurs to me too. When you are presented with a list of words to draw, you have the option to "bomb" the list and get new words. As I mentioned, if you force quit the app at this point, and come back to that round, you will be offered different words, for free (definitely an exploit if you are patient enough to go through the process of force-quitting and restarting). I guess putting a back button on this screen would pretty much obviate the need for the "bomb" button, and would directly impact their bottom line since people wouldn't have as many opportunities to use their bombs. I have a suspicion that _that's_ the reason there is no back button...the fact that it doesn't give players a chance to back out and keeps them a little more engaged it probably just a happy side effect.

<comment><USER11> I was frustrated by the new word choices popping up after quitting, actually. I had a pretty awesome drawing, the app crashed, and the new choices were pretty lame.

Minor quibble, I know, but it does seem odd that you get new choices just by quitting when they really want you to pay for them.

<comment><USER10> Yeah, I was wondering how they would have let something like this slip through. I figure either a) they weren't aware of the exploit (unlikely, but possible...Draw Something, while fun, is not a very polished game), or b) they know of the exploit, but fixing it is a non-trivial. I suspect b) because the game does not appear to store any state between the time you start guessing the other player's drawing, and the time you complete you drawing (so it just starts over if the round is interrupted, as if nothing ever happened). So, in order to remember the list of words that was previously presented to you, the game would have to 1) maintain state that indicates which "phase" of each round you are in for a given game, and 2) maintain the original list of words presented to you after you get to the "choose a word to draw" phase. I suspect they just decided that fixing the exploit isn't worth it, because a lot of iOS users don't even know that they can force quit the app, and a lot of the ones who do probably still wouldn't be bothered to actually do it. Also, having to go through the process of watching/skipping the other player draw his picture again can be tedious.

</comment></comment></comment></comment></comment><comment><USER12> I would love to see a comparison to Depict, which was really popular a year or two ago, and now seems much less well known than this "Draw Something" that people started talking about.

(edit: Ugh, and Draw Something apparently has a "choose a username" feature, rather than using your name from Game Center or allowing multiple people to have the same username, so of course someone chose my username, because they knew it would cause a lot of people to try to play games with them.)

</comment><comment><USER13> This Quora answer by Nabeel Hyatt goes into more depth on the actual game mechanics involved:

[http://www.quora.com/Draw-Something/What-did-Draw- Something-...](http://www.quora.com/Draw-Something/What-did-Draw-Something-do- differently-from-other-Pictionary-apps-that-made-it-so-viral)

</comment><comment><AUTHOR> WordPress issues sorry folks, working on a fix now will be back up shortly!

</comment><comment><AUTHOR> Site back up after a hefty Linode upgrade, thanks for your patience y'all.

</comment><comment><USER14> I'm curious, but it kills the Android Browser on my Droid X. Words appear on the right frame, but before I can see them, or anything, the screen goes black and I'm back at the home page.

</comment><comment><USER15> Its unplayable on my iphone 4 (up to date) I really dont see why its so popular? its SO slow. Personally I prefer depict!

<comment><USER16> How odd, it runs really well on my old 3Gs. And yes, I'm completely addicted to it :)

<comment><USER15> its annoying because when I finally managed to draw something (see what i did there!) it was really fun!

</comment></comment></comment><comment><USER17> Getting a database error, Hamey.

Daryl - bonobo +1

<comment><AUTHOR> Fixed! Thanks Daryl - hope you're well!

<comment><USER18> Still can't connect...</comment></comment></comment>


Ask HN: What's the most frustrating part about saving money? - <AUTHOR> A few months ago I asked the HN community what their favorite way to save money is. People really seemed to engage with the topic, so I'm revisiting saving money from a different angle this time.
I read last week that something like 50% of American households  don't have enough cash readily available for a $500 emergency. This seemed crazy to me, but it definitely seems like there's a real problem relating to saving money these days.
So - what's the most frustrating part about saving money?? <comment><USER2> The most frustrating part about saving money, is that you need spare money before you can save it. It's a catch-22 situation. People who struggle to have to spare cash tend to spend it immediately, thus preventing them from saving it.

There have been many studies on this, but basically humans are addicted to their instant gratification monkey. It's FAR more satisfying to spend that bill in your pocket on something nice and shiny, than it is to store it out of sight for a rainy day.

Ok here we go, the URL to which I refer:

[http://waitbutwhy.com/2013/10/why-procrastinators- procrastin...](http://waitbutwhy.com/2013/10/why-procrastinators- procrastinate.html)

It's not about 'money' per se, but does explain the gratification issue which is why we're all mostly useless at doing things that don't instantly pay off.

</comment><comment><USER3> All the shiny things that want to be mine but I have to say no too!</comment>


Visual Studio 2013 - <AUTHOR> http://www.visualstudio.com/downloads/download-visual-studio-vs <comment><USER2> Sadly VS 2013 has a huge regression which makes it a no-go for my team over at Stack Exchange, any changes made to the server settings are saved to the _project_ file rather than the per-user settings file, it's been reported but doesn't look like it's going to get fixed soon: [http://connect.microsoft.com/VisualStudio/feedback/details/8...](http://connect.microsoft.com/VisualStudio/feedback/details/800003/the- apply-server-settings-to-all-users-store-in-project-file-option-is-missing-in- vs2013)

<comment><USER3> Ok, I talked to them and this is fixed and waiting for QA. It will be in the first 2013 update, soon.

<comment><USER4> Visual Studio 2013 sp1 now includes Scott Hanselman?!?! This will do wonders for my productivity!!!

Edit: Scott initially said "I will be in the update", not it will be in the update...

<comment><USER3> ;)

</comment></comment></comment></comment><comment><USER5> Another neat thing is the Visual Studio Online services: [http://www.visualstudio.com/en- us/news/2013-nov-13-vso](http://www.visualstudio.com/en- us/news/2013-nov-13-vso)

This is TFS and lots of project management tools in the cloud. TFS covers a lot of core stuff such as bug/work-item tracking, Scheduling/Planning, source control and automated builds. You get a reasonable baseline for free, and pay for usage after that.

It looks like it integrates with the Azure portal. Although a 'windows box' is required, this integrates with the free VS2013 Express editions as well. Props to Microsoft for bringing better developer tools to their environment.

<comment><USER6> I think you need a Windows Azure account, not a windows box -- I've seen someone using VS Online on Macbook Pro/Chrome, IIRC. (Can't remember where, though.)

<comment><USER5> The confusion here is that "Visual Studio Online" is a set of support services, not the Visual Studio IDE itself.

What you have probably seen is something like this: [http://www.hanselman.com/blog/UsingASurface2RTARMToGetActual...](http://www.hanselman.com/blog/UsingASurface2RTARMToGetActualWorkDoneRemoteDesktopVisualStudioAzure.aspx)

Scott Hanselman used an Azure VM to run VS2013 and tools, and remoted into it from a coffee shop using a Surface 2 (the 'RT' flavor, not a full desktop). It's a nice way to work from lower power machines. To do this, of course, does require an Azure account, and after your 'intro' phase would be paid.

The support services provide things like source control, work item tracking, and similar 'in the cloud' but they work with your VS2013 install, wether on a desktop or on a VM on Azure.

Hope that clears things up!

</comment></comment></comment><comment><USER7> I disagree with a lot of VS UI ideas (all caps menus?) but VS still remains the gold standard for IDEs. C++ IntelliSense makes me immensely more productive in a very tough language to parse. And UI designers like WinForms are 100% more pleasant than laying things out in code.

<comment><USER8> OK, I'm a long time emacs guy and not the target market, but I'm genuinely curious about the IntelliSense claim. Really? Are there any screencasts or whatnot I can look at to see an expert developer demonstrating that they're "immensely more productive" than just typing the symbol names?

Honestly my experience is exactly the opposite: I watch windows people try to edit code and wince. Their hands are bouncing to the mouse and arrow keys constantly. They mash keys and wait for key repeat instead of deleting marked regions. They pop dialog boxes up to search for things and have to move them around the screen to see.

And yeah: sometimes they press some kind of button and get a big list of symbol names that they end up staring at for a while before picking one.

It all just seems like a mess to me, but I'm willing to be educated.

<comment><USER9> It's worth noting it's pretty easy to setup good IntelliSense-style behavior for emacs, too. I often try to press people who are fans of VS on why they think it's the best and I have yet to see anything that improves on a well- configured emacs with CEDET, magit, etc.

<comment><USER10> I'm not familiar with Emacs+CEDET+magit, but if it has these features, then basically yes - its Intellisense is as good as Visual Studio's:

      -Method and property completion on framework and own methods
      -Parameter hints on all methods
      -Enum completion

In addition, VS has a solution-understanding which goes way beyond intellisense. For instance I cannot fathom how people are able to work without "Navigate to definition", "Find usages" or "Refactor > Rename" in any development environment.

<comment><USER9> I use at least the first two on the list regularly in emacs; I don't have enum completion setup in C++ code, but it may be available or easily addable with some CEDET hacking. The big caveat that configuration is onerous, depending on the target language. I doubt that emacs's IntelliSense-like packages are as good as VS's, certainly in terms of polish and packaging, but what it has is good enough.

Also nice is being able to immediately pop up the man page for the symbol under the cursor, as well as language-specific documentation (like the Hyperspec in CL), and the ease of extending it to do exactly what you want, and supporting new languages, can't be beaten.

I refuse to work in an environment without jump to definition/references. These things should be considered a bare minimum requirement for a programmer's editor.

</comment></comment></comment></comment></comment><comment><USER11> VS 2013 has IntelliSense support for TypeScript and AngularJS, although it does ask you to install the latest TypeScript plug-in. I'm using it full time and I prefer it over SublimeText, probably because I used to do a lot of C# and I'm used to the environment.

<comment><USER12> Is there anyway to get PHP intellisense in VS2013? I love me some Visual Studio, but since we do our web apps in laravel... I have had to abandon it for the time being.

<comment><USER13> DevSense makes a nice PHP extension for Visual Studio ([http://visualstudiogallery.msdn.microsoft.com/8292e47d-8ed2-...](http://visualstudiogallery.msdn.microsoft.com/8292e47d-8ed2-48cb-9ebd-064e0b7891cf)). It's not free, but it's inexpensive.

On a related note, DevSense has also taken over development the Phalanger project (a PHP compiler/runtime for .NET). It's Apache 2.0-licensed and on GitHub if you're interested: [https://github.com/DEVSENSE/Phalanger](https://github.com/DEVSENSE/Phalanger)

DevSense does provide some free tools for VS if you're using Phalanger, maybe they'd be good enough for what you want: [http://visualstudiogallery.msdn.microsoft.com/419916fb- ec89-...](http://visualstudiogallery.msdn.microsoft.com/419916fb- ec89-4f18-ba97-75cf66037797)

</comment></comment></comment><comment><USER14> I only wish Visual Studio retained the same MVCRT/MSVCP runtime libraries, or at least some backward-compability mechanism.

It really boils down to this - if you do plugin development for a product (Adobe's, Autodesk, etc.) or ffi-bindings for some language or environment, then you have to make sure you use the same CRT version as the host application.

And while statically linking to your CRT in your plugin DLL might work, it might not always - hopefully most people have found workarounds - for example not exposing "FILE*" or memory allocations/deallocations across DLL boundaries - e.g. alloc/free is done from the same DLL. But sometimes things like C++ exceptions make this even harder.

And now I'm seeing VS2013 brings yet another new CRT. Oh bummer!

<comment><USER15> I'd like to see them automatically versioned and the "right" one selected at load time somehow. .NET can do it with assemblies, and it's a great idea.

</comment></comment><comment><USER16> I downloaded and installed VS2012 a few months ago, but I saw no reason to use that over VS2010. However, I downloaded 2013 two weeks ago, and now it is my favorite version. I'm thinking about uninstalling 2012, and I haven't used 2010 since installing 2013. Why? 2013 adds some really nice improvements: cursor position, line changes, and breakpoints are shown on the scroll bar; peek definition; Intellisense seems better; predictive typing everywhere. Having all these improvements out of the box without having to download third party addons is a nice touch. Microsoft should have had all these features a long time ago, but it's good that they are finally here.

<comment><USER17> I did the same with VS2010 and VS2012. The problem for me is that I'd have to buy MSDN all over again just to get VS2013. The features just aren't enough to plunk $1000+ down. I like it but, for single person devs like me, the cost is just too damn high.

</comment></comment><comment><USER18> I've been using it a couple weeks, and I really like it. Vast improvements in usability for me. It's mostly a bunch of little things that add up to a better experience. Peek Definition, Map Mode, support for Zen coding, MVC 5 goodness, and the list goes on and on. Lots and lots of little fixes that go a long way.

</comment><comment><USER17> For everyone who thinks the cloud-based option is a good deal (Visual Studio Online), I have to ask:

\-- You are paying $550+ per year ($45*12+tax) yet you don't own the software

\-- What projects are you working on where, if the software locked you out (due to non-payment, error, server unavailable, etc), you would be okay with that?

\-- Lastly, how secure do you feel the source code you upload is?

In the wake of the Adobe breach, it would seem that "The hackers accessed our users' source code, user details, and CC numbers." would be far worse than "The hackers accessed our old builds, user details, and CC numbers." In the former, I would think there are legal ramifications for many of you. For example, if you have a contract that states that you can't share source code with a 3rd party, yet you upload these files to MSFT (a 3rd party) and they get leaked, how will you protect yourself if a client files a breach of contract lawsuit?

Interesting times and all that.

<comment><USER19> How is uploading source code to a cloud IDE different than using a hosted VCS like GitHub or Bitbucket, which is also increasing in popularity? Also the people who are deploying to Azure are already trusting Microsoft with their source code.

And you're not owning the software even with a normal Visual Studio license. You just get the binary blob and a license to use it, not the source code. Using the cloud-based version, you don't get the binary blob, but does that make a difference?

</comment></comment><comment><USER20> I'd love to use this, but the jump to VS2012 broke installer projects and T4Toolbox so I'm stuck on 2010.

<comment><USER21> And you have to log in once a month or your buildslaves break. So much for fire and forget

</comment></comment><comment><USER22> Still no full C++11 compliance...

<comment><USER18> They're working on it:

[http://blogs.msdn.com/b/somasegar/archive/2013/06/28/cpp- con...](http://blogs.msdn.com/b/somasegar/archive/2013/06/28/cpp-conformance- roadmap.aspx)

<comment><USER23> From yesterday:

[http://blogs.msdn.com/b/vcblog/archive/2013/11/18/announcing...](http://blogs.msdn.com/b/vcblog/archive/2013/11/18/announcing- the-visual-c-compiler-november-2013-ctp.aspx)

</comment></comment></comment><comment><USER24> All improvements are much appreciated. The only problem that gets worse at every release is Visual Studio's context menus. They are getting more bloated everyday and that is a PITA.

They[1] say it's been resolved in 2013RC, but I don't see much improvement specially when you add the now-almost-standard extensions such as WebWorkbench and WebEssentials.

[1] [http://visualstudio.uservoice.com/forums/121579-visual- studi...](http://visualstudio.uservoice.com/forums/121579-visual- studio/suggestions/3669763-cleanup-the-solution-explorer-context-menu)

</comment><comment><USER25> Question for anyone that has used vsvim and ViEmu (the commercial product).

I have ViEmu for older version of Visual Studio and looking at purchasing the new version.

I am thinking that I can possibly get by without ViEmu and just use VsVim the free extension. I don't particularly use all the advanced features of ViEmu.

Anyone have any thoughts on this at all?

<comment><USER26> Haven't tried ViEmu, but vsvim is actively maintained. Lots of fixes have gone in to making it play more nicely with other plugins like ReSharper. Compared to vim emulation plugins in other editors like sublime text or even emacs, vsvim provides some pretty good coverage of vim features. Don't expect vimscript support or anything - the modes are pretty good though.

</comment></comment><comment><USER27> I just migrated lots of my project to vs2012 from vs2010 ... why should I go to vs2013 ? I've got resharper et deamon installed, and I really like my IDE like this ...

<comment><USER28> Considering new short release cycles do what you would do with smartphones and tablets - just skip a cycle. 2013 feels like fat SP rather than a new release: no new WPF/etc., just some Azure and Win 8 crap. And MVC 5 is now a separate release.

<comment><USER27> Thanks. The only part I would potentially look into is MVC5, and with your comment, seems like I'll just get it via Nugget.

</comment></comment></comment><comment><USER29> I'm loving Browser Link. Being able to edit CSS in Chrome dev tools and have it automatically update my CSS is beyond cool.

<comment><USER30> FWIW you can don't need VS for that - you can do this in Chrome by itself with the recent workspaces feature. Worth checking out.

</comment></comment><comment><USER31> Are the compiler tools available for free? It's not part of the SDK or the DDK is it?

</comment><comment><USER32> waiting for the OSX version :p

<comment><USER33> It's slated for release on the same day as Xcode's Win64 version.

<comment><USER32> would be pretty sweet, can't wait for both! although, I prefer C# to ObjC and VS to Xcode by a large margin.

<comment><USER34> You can target Mac/iOS from Visual Studio with Xamarin. :)

<comment><USER28> ...and an additional Mac machine on the network. It's not like they are free.

<comment><USER25> I do agree with you but nowadays you could pickup a used Mac Mini for $400-$500 that should be more than good enough for this. It's still a cost but its not as out of reach it may have been.

</comment></comment></comment></comment></comment></comment><comment><USER35> is it 1995 all over again?

<comment><USER36> Care to explain?</comment></comment>


MountainWest RubyConf 2013: Live Stream - <AUTHOR> http://www.reddit.com/r/ruby/new/

<comment><AUTHOR> DevOps on Wednesday, Ruby on Thursday and Friday.</comment>


Spellfucker - <AUTHOR> https://spellfucker.com/ <comment><USER2> "The goal of the project is to make text hard to read for computers yet fairly easy to read for humans"

At first look it doesn't pass the search engine test. [https://duckduckgo.com/?q=I%27ve+bien+aloune+whyth+jou+eensi...](https://duckduckgo.com/?q=I%27ve+bien+aloune+whyth+jou+eenside+mi+mynd&t=ffab&ia=web)

<comment><USER3> "The goal of the project is to make text hard to read for computers yet fairly easy to read for humans"

What's the advantage to this?

<comment><USER4> Defeating censorship, frustrating accounts to analyze or index communications, etc.

<comment><USER5> Spamming people and making it impossible for blind people to use the internet?

</comment></comment></comment></comment><comment><USER6> Ju kud tejk ej lengvich from ej diferent lengvich femili tu erajv et samfink similr. For furdr obfaskejshn ju kud juz diferent transliterejshn.

Slavik pipl shud fajnd dis kvajt ridebl.

<comment><USER7> Æss a nårvidsjæn itt vassent tu hard tu riid jur vraiting laik dis. Aj vånder håo diffikult itt iss får a slav tu ønderstænd nårvinglisj....

Edit: and now I feel like Petter Solberg. [1]

[1] [https://youtu.be/Kaeh8FRPANs?t=4s](https://youtu.be/Kaeh8FRPANs?t=4s)

<comment><USER8> Pole here. Trivial. Then again, I studied in Denmark, so I know how to read those fancy letters.

</comment></comment></comment><comment><USER9> This is what it's like for an English person to read Scots:

[https://sco.wikipedia.org/wiki/Main_Page](https://sco.wikipedia.org/wiki/Main_Page)

<comment><USER10> I've probably spoken with 3 or 4 Scots in my entire my entire life, and I've heard a few speak in various news/radio spots. Listening to a Scottish person speak really sounds like someone speaking English with a heavy accent. Seeing it written is nothing short of amazing.

<comment><USER11> The Socts language[0] is not to be confused with Scottish English[1] (although it's easy to see the elements of the Scottish accent in English in Scots orthography).

Scots is a fellow-descendant from Middle English (alongside modern English), with some minor grammatical, and more substantial vocabulary divergence.

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

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

</comment></comment></comment><comment><USER12> The output reminds me of the writings of Bascule in Feersum Endjinn [0] but it's somehow not quite as legible!

[0] [https://en.wikipedia.org/wiki/Feersum_Endjinn#Writing_style](https://en.wikipedia.org/wiki/Feersum_Endjinn#Writing_style)

</comment><comment><USER13> Aj kud ríd it kvajt ízili. Hel, Aj ívn nou lotz of pípl hír hú spík end rajt lajk tat ál dze tajm end sink itz inglyš. But mejbí tatz cóz Aj em Slavík :)

Ser10us14 th0u6h, 18 n0t t51s 0b4u8cat10n be44er a6a1ns4 c0mpu4er8?

PS. Kudos for the domain name! Vivid and apt nouns are what English is best at. Though I may have used spelfakr.com

</comment><comment><USER14> They should make a version of this that replaces words with homophones. This way spellcheckers would also not pick up that the document has been messed with.

<comment><USER15> Not sure if I've missed the point, but good forensic software can parse grammatical structure and use that. The English language has enough flexibility for every person to have a unique grammatical flavor. And that probably extends to each document as well.

If you want obfuscation you really need something that can do heavy simplification.

</comment></comment><comment><USER16> That's really cool. It reads surprisingly like Chaucer.

<comment><USER17> You say that like it's a good thing.

<comment><USER18> I generally find Chaucer easier to understand than Shakespeare. Not sure if I'm alone in that.

</comment></comment></comment><comment><USER19> Couldn't we scramble the font?

It would look completely normal, except the letters and their symbols would be swapped. When I type "a" it would show as "z" and so on.

The scrambled webfont could be embedded, and the scramble could happen per font. An OCR or some reverse engineering could decipher the page, but as far as google indexing and all the modern "reading web content" is concerned, it would all read as random text.

Call it pagefucker or something. You'd do it to a page, and the result would be the modified text and the webfont to render it.

Just a thought!

<comment><USER20> "When I type "a" it would show as "z" and so on". Someone mentioned [http://www.rot13.com/](http://www.rot13.com/) \- is it what you loukyngue phor? :)

<comment><USER19> Ah yes! But the shift or scramble would be at the font level.

So URYYB would read HELLO. Or rather, the reader reading HELLO will have no idea the document actually says URYYB as the contents of that text because the font renders URYYB as HELLO.

Presentation detached from substance.

Without the "key" font it'll just read URYYB.

<comment><USER21> Frequency analysis makes this kind of cipher very easy to crack...

</comment></comment></comment></comment><comment><USER22> At the face of it, this seems like a fool's errand.

The upper bound for obfuscation is that the obfuscated text should still be readable by a human with minimal effort. To read, the average reader will looks for patterns like "replace j with the y sound." Once these patterns are determined, coding them into your NLP AI is trivial.

<comment><USER4> It doesn't have to be bulletproof to serve its purpose, as anybody who remembers downloading "Boon Joovi" MP3s from late Napster can attest. And if some transformations are ambiguous between multiple original spellings, so much the better.

<comment><USER22> Since the stated goal of the project is

> The goal of the project is to make text hard to read for computers yet > fairly easy to read for humans

it has to be close to bulletproof. Humans should be able to decipher obfuscated text while computers should never be able to decipher the same obfuscated text. This is going to be impossible since AI is a fast follower to human ingenuity.

<comment><USER4> That's a pretty narrow reading of making it "hard for computers" to do something.

Think of it this way: the security measures on most homes are completely inadequate to stop a determined attacker. Nevertheless, they work because most attacks are opportunistic.

<comment><USER22> There are far, far, far more incompetent home burglars than competent ones. On the other hand, only a handful of AI's exist and by definition, they are getting better and better.

So, using your analogy, when it comes to AI every attacker is a determined attacker so your security needs to be ~100% bulletproof.

<comment><USER4> I think you're making a mistake in assuming sophisticated AI is going to be used everywhere. This will easily defeat simple word filters, for instance, which are still commonly used.

</comment></comment></comment></comment></comment></comment><comment><USER23> Interesting idea though I don't agree with his statement:

> _The goal of the project is to make text hard to read for computers yet > fairly easy to read for humans_

I found it impossibly difficult to read and I'm an native English speaker. I'd wager people who studied English as a second language might find it harder.

<comment><USER24> Seconded. Definitely unreadable. For anyone who didn't click through, a line from their self-chosen sample:

>'kause jou gnaw jusd wuaed thoe sai

<comment><USER25> I read that as:

'cause you know just what they say

Of which, only 'they' was wrong. Doesn't seem that unreadable.

<comment><USER24> Which means that it is unreadable - because that's not what it says! You couldn't read it.

<comment><USER25> A high, high percentage of the translated text is easily readable. A few edge cases doesn't make it unreadable.

<comment><USER23> > _A high, high percentage of the translated text is easily readable_

Again, to you _specifically_. Different people have differing abilities at reading the English language. What you might find easy others would not. In my case I could not read about 80% of the example text. Which was why I made the point to discuss specific people (like myself) in my example rather than assuming everyone would be able to read that text equally competently (like you are doing).

<comment><USER25> That's why I didn't respond to you specifically, and only the person asserting that it's straight-up unreadable. It isn't.

<comment><USER20> I actually appreciate the opinion, that for some people it is difficult to read such kind of text. I also acknowledge, that some words are too fukt to be read properly :) However, the fact that this algo was written in one night and most people say it works, I feel a potential. It is all about polishing the lib of replacements, which is a part of the algo.

</comment></comment></comment></comment></comment></comment></comment></comment><comment><USER26> Sorry, I cannot fathom the use for this. It is just harder to read for humans, CIA and NSA will hardly choke on this and to hide it from Google search there are far better ways. If you are serious about encryption then just use real encryption. If not then use ROT-13.

</comment><comment><USER27> Aoccdrnig to a rscheearch at Cmabrigde Uinervtisy, it deosn't mttaer in waht oredr the ltteers in a wrod are, the olny iprmoetnt tihng is taht the frist and lsat ltteer be at the rghit pclae. The rset can be a toatl mses and you can sitll raed it wouthit porbelm. Tihs is bcuseae the huamn mnid deos not raed ervey lteter by istlef, but the wrod as a wlohe.

[https://www.mrc-cbu.cam.ac.uk/people/matt.davis/cmabridge/](https://www.mrc- cbu.cam.ac.uk/people/matt.davis/cmabridge/)

Plugging those words into google search, and it's not able to make any sense of it, besides linking to that one article. Wouldn't this be sufficient?

<comment><USER20> The implementation of this is called bbboing [http://www.oik- plugins.com/oik_shortcodes/bbboing-obfuscate-...](http://www.oik- plugins.com/oik_shortcodes/bbboing-obfuscate-text-but-leave-it-readable). I mentioned it on the website:

"The goal of the project is to make text hard to read for computers yet fairly easy to read for humans (like bbboing, just differently)."

<comment><USER27> Like bbboing, but in my opinion, it's not anywhere near as easy to read as a human. Yes you can do it, but the link I pasted is nearly indistinguishable in reading speed.

<comment><USER20> I am not sure I understand, do you mean Cmabridge method is easier to read? If yes - I agree with you. Spellfucker is just too young and needs a lot of polishing.

</comment></comment></comment></comment><comment><USER28> Try reading it while clicking the "obfuscate again" button. It's almost easier.

<comment><USER29> True. Because your brain keeps/interprets the easiest version possible. ;)

<comment><USER28> That's a bold claim!

</comment></comment></comment><comment><USER30> Great for generating something that foreigners will have a hard time with.

</comment><comment><USER20> Disclaimer: I am the creator of the Spellfucker. Please note, this project was written in one night by a non-native English speaker. Tweaking a library of replacements would definitely give better results. The algorithm needs improvements in terms of complexity, but it is not the top priority I think. I am glad some people actually liked the project and I would be happy if there are any contributions, especially to the replacement library, so we can work on it together :) Love, Igor.

</comment><comment><USER31> AKA an English to Welsh translator.

</comment><comment><USER32> Though the obfuscation of some common sequences appears to have randomization, it looks like infrequent patterns are constant, for example, the "obfu" in "obfuscation" seems to always be fucked as "hobphu". "ob", as in "object", always seems to turn into "hob", when "awb" and "ahb, plus a randomized sequence of consecutive `b` characters, would add even more obfuscation.

<comment><USER33> \- Not all patterns have more than 1 replacements, which makes them still easily revertable.

(it says that right there on the page)

</comment></comment><comment><USER34> Made a slack app: [https://github.com/jonjaques/slack- spellfucker](https://github.com/jonjaques/slack-spellfucker)

<comment><USER20> Hahahah, brilliant! :D

</comment></comment><comment><USER35> I'm a native English speaker who learned Spanish as an adult, and for some reason my brain jumps to pronouncing these unfamiliar words with a Spanish pronunciation, which made it a struggle to read.

</comment><comment><USER36> Wow, finally a good orthography for English!

</comment><comment><USER37> cool project, but why not spelphuckar.cum?

<comment><AUTHOR> Maybe for the same reason English-Chinese dictionary covers are in English in the US.

</comment></comment><comment><USER38> I like this. I would love to see this being used in APT data exfiltration / DLP bypasses.

</comment><comment><USER39> So this is what we'll use to encrypt our communications when Skynet takes over I guess.

</comment><comment><USER40> If this thing ever needs a G-rated name, might I propose "Chaucerizer".

</comment><comment><USER41> Remarkably like my own spelling when 8 years old.

</comment><comment><USER42> This is how I feel reading Old English.

</comment><comment><USER29> Does not work with Greek. :(

</comment><comment><USER43> What's the use case?

<comment><USER44> Like a Captcha, I think. Text unparsable by robots. Cover your tracks. That sort of thing.

Can someone explain it in a straightforward manner, please. Scusi if already done above.

</comment></comment><comment><USER45> Creative. Nice

<comment><USER46> Wonder what "Creative" means in this context.

</comment></comment><comment><USER47> To the project creator: you override all the default Bootstrap fonts with "Lato", which, at least here, doesn't exist.

<comment><USER20> Thank you, fixed.</comment></comment>