Ask HN: Why do bad reviews get me black listed? - <AUTHOR> I started a small and niche media company that reviews tech products, late last year. I have no references to substances, politics, profanities, gender, bias, or anything of the sort to make me blacklisted and I don't have a odd look as in a haircut that would get me in trouble. Most of the products I review get average to great reviews. Since the lockdown, I got even more attention but nothing major like the mainstream folks. One of the companies I work with sent in a product so I can review and I gave my honest opinion that it wasn't a good product. Next thing you know, the company I deal with that deals with the company that makes the tech terminated our relationship. They also pulled ads from the site. I'm also not barred from attending their tech stuff at show floors but I won't be given tickets. Is this common in media companies? Please note this is my first foray and have done everything I can to be company friendly <comment><USER2> A reviewer only gets free stuff if they review things positively. If you want to be able to give your honest opinion, you'll have to purchase the product yourself. Also, if you make a name for yourself as an honest reviewer then you'll probably have to start buying things through intermediaries.

As an aside, this is why nobody should ever trust a review where the reviewer got any form of consideration from the product's creator.

<comment><AUTHOR> I don't have a problem with buying the product myself but going as far as cutting access to interviews, events and news is a problem and placed me at a disadvantage compared to others in the field. What's done is done, I understand. But I didn't do anything wrong beyond that. That said, I'm new to this and was wondering if this is common practice. I never knew this was an actual thing

<comment><USER2> Yep, it's an actual thing. Interviews, events, and travel to those events are all a form of consideration given to as a reward to favored reviewers. They're all given to reviewers specifically to give them an advantage over reviewers who are actually honest. If you want your own advantages, you'll have to create them yourself. I recommend looking at the business model of Consumer Reports; they're successful and have a good reputation for honesty. They sell subscriptions rather than advertising, so that they aren't beholden to advertisers either.

</comment></comment></comment><comment><USER3> Sounds like a company that does not stand behind their product. Honesty hurts, and people can take things personal. Maybe they did not like your delivery? Maybe no ROI? So many questions and variables TBD. Having no idea on the product, or company I can only speculate.

I've reviewed LOTS of tech stuff in my past life, and have never had this exp.

</comment><comment><USER4> Was this a private or a review you posted? They may have wanted a non public review if it was posted to your site and sort of deflated them. Often companies want tame kitties, not tigers that savage them?

<comment><AUTHOR> Public, none of them are private. It wasn't me tearing them apart but more of pointing the actual flaws and negatives in weight of the actual good stuff.

<comment><USER4> Yes, I see. They wanted a compliant pet, not someone who exposes their lack of the proper R&D/testing/etc that goes into a newly created device, so they prune you from their tree - as others state:- buy test items and not be limited. Sadly, in medical gear they often have strong controls on the channel, so no Walmart purchases...</comment></comment></comment>


Academia.edu Raises $4.5 Million To Help Researchers Share Their Papers - <AUTHOR> http://techcrunch.com/2011/11/30/academia-edu-raises-4-5-million-to-help-researchers-share-their-scholarly-papers/

<comment><USER2> Probably irrelevant, but how did they obtain that TLD?

<comment><USER3> Probably grandfathered in. Before 2001, anyone could register a .edu. <http://en.wikipedia.org/wiki/.edu#Eligibility>

<comment><USER4> Err, apparently it wasn't quite open registration, but the restrictions were looser.

(I wanted to edit this in, but the noprocrast filter kicked in right after I posted the comment! Funny.)</comment></comment></comment>


TurboGears joins the Pylons Project - <AUTHOR> http://compoundthinking.com/blog/index.php/2010/12/28/turbogears-joins-the-pylons-project/ <comment><USER3> The simple fact is that the larger Python community never really cared for repoze.bfg and TurboGears. The Pylons, BFG and TurboGears teams joining forces feels more like a last, somewhat desparate move to garner some attention for projects that never reached critical mass. I don't think it'll change much of anything.

I used to do development in Pylons and I've tried my hand at Pyramid, and there's simply nothing to get excited about. Even the documentation for Pyramid, which at first seems beautifully comprehensive and one of the system's strong points, turns out to be an interlinking mess lacking clear explanations of even the very basics of the system.

True enough, like Pylons before it, Pyramid is anything but opinionated, which probably makes it a good base platform for the TurboGears devs, but how much will it matter when people will just shrug their shoulders after looking at the landing page, and proceed to download Django or Flask/Werkzeug or, heck, Ruby on Rails?

Anyway, regardless of my scepticism, building new stuff and starting new projects is always fun, so hopefully the Pylons project devs enjoy the process.

<comment><USER4> I've been steeped in Pylons for several years now. I agree that Pylons has nothing to get excited about. However, (and this is the important part) it provided really straightforward glue to integrate a few other things that are definitely worth getting excited about: SQLAlchemy, Mako/Jinja, Routes, Beaker, and Paste.

Pylons' past philosophy always seemed to be "we'll take the best-in-breed of python web software and put it together in an elegant way." Sadly, they seem to have abandoned that philosophy for the sake of protecting the precious nest eggs of massive full-stack framework developers.

While the new changes to Pylons certainly don't prevent you from using the aforementioned exceptional-quality components, the smushing-together of projects while trying to retain legacy compatibility seems to have created an enormous system where there isn't a cohesive or consistent way of doing things.

No thanks--I think I'll go for WebOb and its lightweight performance.

<comment><USER3> Yep, nothing but love for SQLAlchemy, Jinja, Routes and Beaker. But even given those components, it's still a hard sell.

Reminds me of this blogpost from a while back: [http://www.hindsightlabs.com/blog/2010/03/15/jinja2-and- djan...](http://www.hindsightlabs.com/blog/2010/03/15/jinja2-and- django-4ever/)

"In the beginning, there was Django, and it was good. But gradually we began to find its paradigms counterintuitive: we disliked the idea of apps and considered the built-in template language pretty crippled. More importantly, we prefer the epically powerful SQLAlchemy to Django's ORM of Doom, so with the evidence before us, we switched to Pylons and the haven of SQLAlchemy/Jinja, only to discover we had switched from a shitty apartment in Brooklyn to a tent in the desert. No cockroaches, true, but no running water, either. Who really wants to write a thumbnail library? (Apologies to anyone who has actually written a thumbnail library)"

</comment></comment></comment><comment><USER5> Wow, I'm thoroughly confused as to which way to go with Python and web frameworks now. We do a fair bit of Python work, primarily for back-end processing (our main work is still in PHP) and we've been trying to move more to Python. I did a LOAD of research into frameworks and had chosen to go with Pylons, and then I saw that they were becoming Pyramid. This announcement obviously means three of them are merging together, but it does make me a bit nervous. I want to stick with Python, because I love it, but this is all making my head hurt a little!!! Anyone on here done a load of research/experimentation already and care to help me make some decisions :) ?

<comment><USER6> I came to the same conclusion that I wanted to try out Pylons a few weeks ago right around the same time the repoze.bfg + Pylons merger was announced and just decided to jump into Pyramid. Recently I've been really impressed with the flexibility the platform offers allowing me to use all the libraries I had planned on and to make design decisions that I'm comfortable with. Initially there was quite a big learning curve as I was unfamiliar with using paste, what traversal was and if I should use it, best method to configure my app, etc... Initially this was my only real criticism, the level of indecision this flexibility instills in a noob, but since then the devs have been actively working on the docs to make them more beginner friendly and I've gotten some really great help in the irc channel. I'd say it's definitely worth taking a look if you were interested in Pylons.

<comment><USER5> Thanks for this. It really helps me to make a decision. All the best

</comment></comment></comment><comment><USER7> In my opinion this weakens both projects. As the ultimate goal seems to be to build a new framework based on the two, this means that every code you write today using on of those frameworks will be legacy code soon.

<comment><USER8> Well, by some definition of legacy, that's always true. If we are learning, using better techniques, and writing better software every day what we wrote yesterday will be "legacy" code... But I don't think that matters, ther will be upgrade paths, support for pylons 1 and tg2, and more cooperation and focus in the development team.

</comment></comment><comment><USER8> As the current maintainer of TurboGears, I've been thinking a lot about the python web framework world for the last couple of years, and I have been thinking for a long time that there's too much splintering of effort.

One choice to solve that problem would be to all join Django, which is widely used, and has an active developer community. But they have a very strong point of view about how web applications _should_ be developed, and as a result django isn't that flexible.

So, in the end what we _need_ is a strong alternative to Django that is flexible, uses existing libraries to good effect, and just works. By joining together in the Pylons Project around the Pyramid framework, that's just what we're aiming to do.

</comment><comment><USER9> I'm really excited to hear this, especially after the Pyramid announcement earlier in the year.

I used to do a lot of Pylons development, and although it was a great framework that gave you a bunch of ways to do just about anything, I always had lot of trouble figuring out the _right_ way. Jarring especially considering the guiding Python principle of "There should be one - <USER2> preferably only one - obvious way to do it".

As a result, Pylons always felt like a big jumble of modules that were all sort-of right for what you wanted. I'm glad to see some of TG's full-stack opinionism coming into the fold. I hope all this merging will lead to something with the strengths of both projects, like the Rails+Merb merge.

</comment><comment><USER10> Can anyone expand upon the benefits of repoze.bfg?

<comment><USER3> repoze.bfg used to cater mainly to people from the Zope/Plone-world — less cruft than Zope 2, easier to understand than Zope 3, but the same underlying ideas and mechanisms: object traversal for URL mapping, ZCML for configuration, an aspect-oriented vibe etc.

Ian Bicking made some interesting remarks about BFG back in 2008: [http://blog.ianbicking.org/2008/11/06/where-next-for- plone-d...](http://blog.ianbicking.org/2008/11/06/where-next-for-plone- development/)

</comment></comment><comment><USER11> Sorry to hear about TurboGears. When I first found it I was very excited to use it. I think they lost a lot of momentum and community trust with the changes made going from version 1 to version 2. I know after that I felt I could not use them because I had no way of knowing if version 3 would be something completely done over again.

</comment><comment><USER12> For cross-referencing, this was also submitted here: <http://news.ycombinator.com/item?id=2045684>

</comment><comment><USER13> I was hoping the Pylons blog would have a post about this as well. It's hard to tell what this means for Pylons going forward.

</comment><comment><USER14> I personally think it's a great move. The combination of 2 great frameworks to make something better.

</comment><comment><USER15> A bit unsettling for me. I use Pylons on several projects, though I haven't kept up with Pylons news. I really like Pylons because it was to me the best representation of the ideal framework out there; it was flexible and easy to plug in your own stuff, it was not haughty or insistent that you do things a certain way, it did not rewrite Python's whole standard library as many other frameworks practically rewrite the standard libraries of their constituent languages; it just stayed out of my way and let me do things the way I wanted while still providing me the infrastructure to get something published to the web pretty quickly.

This blog post seems to indicate that Pylons is going more in the direction of most frameworks with its talk of "full stack" and choosing defaults. Is Pylons going to become a reimplementation of Django? It's a little weird. I don't know why Pylons thinks this is better as a single project.

<comment><USER16> I think you're missing what they are doing.

Pyramid is repoze.bfg with some of the good things from Pylons added in. Pyramid is much more extensible with hooks. TurboGears will still be a full- stack, Pyramid + their choices for form library, templating, etc. Pyramid is still very light and makes very few assumptions.

I think it is better since you've brought together three frameworks and that collective mindshare is going to collaborate rather than compete.</comment></comment>


Running Java on Docker images on a Mac - <AUTHOR> https://vanwilgenburg.wordpress.com/2017/05/15/running-java-on-docker-images-on-your-mac-a-getting-started-guide/ <comment><USER2> VM, inside a virtualization layer, inside an operating system, inside a VM, inside an operating system.

<comment><USER3> [https://www.destroyallsoftware.com/talks/the-birth-and- death...](https://www.destroyallsoftware.com/talks/the-birth-and-death-of- javascript)

</comment></comment><comment><USER4> What are the reasons for wanting to run java inside docker? The jvm is supported andavailable, and portable on every environment socket is, so what does it get you?

<comment><USER5> Developing/testing for multiple versions at the same time, having repeatable tests, versioning, using the same environment for development as your final deliverable (e.g. a Linux environment not OS X), being able to take your container and run it on production as is, and more things besides?

<comment><USER6> wouldn't a build server be better for that sort of release testing? like travis CI / gitlab CI runner on DO / light sail etc @ $5/month

<comment><USER5> Not all developers have access to a build server or want to bother setting up one.

</comment></comment></comment></comment><comment><USER7> I have been working on a Clojure (so JVM) program that I run in Docker for Mac.

It requires some data on disk, which is about 100GB. Since my laptop has a pathetic 250GB SSD I got an external drive for this. All well.

But I get the problem that the Mac shuts down after doing IO from inside the VM for about 10-20 minutes. Just a black screen and a second later reboot.

Has anyone on this forum had the same issue? I have the same when running in VirtualBox, and after wiping the Mac totally and reinstalling the OS. Happens using both USB and Thunderbolt.

<comment><USER8> > It requires some data on disk, which is about 100GB

As someone who develops on a Macbook with a 128 GB drive, this is completely crazy to me. How is it taking up 100 GB? I use Docker for Mac for most of my day-to-day development, mostly for running docker-compose environments so I have separated Redis/Postgres environments for each app. They take up nowhere near 100 GB. Something sounds very wrong, but I can't imagine how it would be caused by the JVM running Clojure.

<comment><USER7> > How is it taking up 100 GB?

A couple of blockchains. As said, it's the data of my app, not Clojure or Docker.

<comment><USER8> Oh, I read it as "Yeah it takes up some space on my drive, like 100 GB". Having it as actual data the program is processing makes way more sense, sorry about that.

</comment></comment></comment></comment><comment><USER9> So much for "write once, run everywhere". "Write once, run on Linux" doesn't sound as good :(

<comment><USER10> I believe its more like "write once, run everywhere except for mac". Microsoft is working on running linux containers natively on Windows.

<comment><USER11> Both the xhyve and hyper-v drivers for docker does the same thing, boots a tiny Linux VM that can run docker for you.</comment></comment></comment>


Show HN: P2P In-Browser Screen Sharing - <AUTHOR> https://myscreen.live <comment><USER2> I'm getting a : TypeError: navigator.mediaDevices.getDisplayMedia is not a function error. Using Opera 58.0.3135.65 on Win10 x64 with dual monitors

<comment><AUTHOR> Thanks for the update, yeah seems every browser except Chrome and FF have trouble.</comment></comment>


It's 2012 and this still happens; trying to buy music online and failing - <AUTHOR> http://thomashambleton.com/its-2012-and-this-still-happens

<comment><USER2> For industries that talk repeatedly about how piracy is killing their profit margins, they do make it really overly difficult to give them money.

I'm a big fan of Fringe, I wanted to stream it (personal choice of not wanting any more 'stuff' taking up space) so I could rewatch all the seasons on the run up to the end. I check Netflix UK to find nothing, so I check Lovefilm and still nothing. Decide to pay for it, check iTunes no dice. After much searching I find one place, selling at a ridiculous mark up. Give up, watch it via shady means as I wait for DVDs to be delivered.

There's literally no reason for them to not get their catalogues on these services other than they've never bothered to adapt. Darwin in action says if they don't they'll be reduce to suing random people off the street to keep afloat.

<comment><USER3> As long as you keep buying the DVDs, you are perpetuating the problem.

<comment><USER2> Sure, and as long as I keep torrenting things I'm also giving them an excuse to just blame it on the pirates. Both are valid arguments, and both are a bit over board.

<comment><USER4> Whereas the "if the made it as easy as I want, very few people would pirate" is not?

<comment><USER2> It's just as ridiculous, all of them are based in truth but taken as far as possible. Better streaming would kill off the pirates but who do it as nothing better exists, but that's still not all of them.

</comment></comment></comment></comment></comment><comment><USER5> I had a similar experience with amazon and digital downloads. Region restrictions on the Internet? Really? It baffles me to no end that they do it even though it's obvious _why_ they do it - suits are still thinking we live in the 18th century (which they probably do to be fair to them).

To give credit to Amazon, the "restriction" put in place is purely a token gesture and they do their best to not enforce it in any way. This is smart. They have to do it because unlike amazon the publishers live in some fantasy- land but they do their best to let you get around it if you want to so they can still make a sale and you can buy what you want. I'm not saying Amazon is in any way benevolent - they're just not stupid and they want to make the sale.

<comment><USER6> > _even though it's obvious why they do it_

It's still not that obvious to me. The publishers should be in the business of maximizing their profits by selling as many copies as they can; I want to give them my money for a copy; I'm also ready to pay for the international bandwidth to have the digital bits distributed to my location (Ireland);... and yet they force the distributors to kick me out of the shop.

What are the publishers gaining by refusing international sales at a price which they are in control of setting?

It becomes even more odd that I'm normally able to buy the CD versions without any restrictions... The thing is, I wouldn't know where to stick these CD nowadays.

<comment><USER5> They sign a deal with the owner of the rights to the product which might be exclusive to a region. This is a leftover from the the days of yore. The owner for example might want to sell direct in his country, but is happy to let some other distributor sell things in another country but without cannibalising his sales so they put a restriction on where he can sell the item.

All of which makes no sense on the Internet. But we've only had the Internet for what? Two decades? I guess it'll take a few more for them to accept it. Or maybe they will succeed and recreate the borders from the real world on the Internet.

<comment><AUTHOR> That doesn't make sense when the product _isn't offered at all_ outside of a certain region. No local distributor makes money by not selling something.

</comment></comment></comment></comment><comment><USER7> Had a similar experience. Only it was for a band from my own country! They're shooting themselves in the foot, with shotguns.

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

</comment><comment><USER8> I discovered this when I moved for a spell to Italy. I knew that netflix and the like had a good chance of not working, so I _bought_ copies on Amazon. I get over here and go to my account and I see a country restriction message.

I _bought the files_ but I cannot watch them.

What utter stupidity.

</comment><comment><USER9> I think the OP is surprised only because s/he is biased, because he lives in Australia.

I live in Slovenia, and for me, this happens ALL the time!

<comment><AUTHOR> No, this is par of the course for us in Australia as well. I'm not surprised, more exasperated that it still happens.

</comment></comment><comment><USER10> "Never attribute to malice that which is adequately explained by stupidity."

<comment><USER11> Is that quote really relevant here? Would anyone see this and think "those mean record labels, they're being racist because they hate Australians"?

Don't get me wrong, it's a nice quote, but it's the sort that's so nice that every man and his dog pick it up and chuck it around even when it isn't appropriate.

<comment><USER3> I don't think that, but I do say that.

If you start to argue contracts, the history of commerce, international copyrights, etc, etc, etc fucking cetera you bore people to death. If you simply call it racism, or nationalism, then what are they going to do? Argue that racism is okay?

Most of the world is politics and in politics its not about presenting a logical comprehensive argument. It is about winning, and making the enemy lose.

</comment></comment></comment><comment><USER12> So I'm curious because I don't have these issues...what happens if you "Change Store" in iTunes? Does it not work?

<comment><AUTHOR> You have to create a new Apple ID for the store, using a different email address. Then you have to find yourself a credit card issued in that country or buy iTunes vouchers from that country online and have the codes sent to you.

<comment><USER13> This is the digital equivalent of a Chinese burn.

</comment></comment></comment><comment><USER14> Thanks for introducing me to a new band. I just created a new Pandora station for Palomq Faith!

<comment><USER11> Just FYI, she's a singer, not a band (and in case it was a misreading rather than a typing error, her name is Paloma not Palomq) :)</comment></comment>


Renormalization: A Common Logic to Seeing Cats and Cosmos - <AUTHOR> http://www.quantamagazine.org/20141204-a-common-logic-to-seeing-cats-and-cosmos/

<comment><USER2> This could be an important result, since there's a _lot_ of theory and expertise regarding renormalization group methods, but I think it's too early to tell.

The write-up is a bit misleading, though: the model in their preprint[1] is about stacks of restricted Boltzmann machines (RBMs), and are very different from the other examples of deep learning mentioned. The Google Cat Detector model, for example, didn't describe a probability distribution over images, which is the kind of task that the preprint is about. And in almost all of the recent cases where deep neural networks have made substantial progress over the previous state of the art, the models have not been probabilistic, or trained layer-by-layer, or unsupervised, like the RBM-based approach in the preprint.

I don't speak physics, but my reading of the paper says that could be summarized pretty accurately as follows:

1\. Hinton et al. (2006) showed that each layer in a stack of RBMs improves a variational lower bound on p(x).

2\. Variational methods for RG also iteratively improve a variational lower bound on p(x).

3\. The two methods would thus be equivalent, if we could fit them without error (which we can't).

4\. Here's a figure from a stack of RBMs that vaguely looks like RG results (not shown)

I don't see any comparison between the approximations that physicists normally use versus the contrastive divergence for training RBM-based networks, or evidence that their results are more similar in practice than any other technique.

Am I missing something?

[1] [http://arxiv.org/abs/1410.3831](http://arxiv.org/abs/1410.3831) [2] [https://www.cs.toronto.edu/~hinton/absps/fastnc.pdf](https://www.cs.toronto.edu/~hinton/absps/fastnc.pdf)

</comment><comment><USER3> This is the paper in question: [http://arxiv.org/abs/1410.3831](http://arxiv.org/abs/1410.3831)

</comment><comment><USER4> Very interesting. I was working on renormalization theory in the context of self-organized criticality - [https://dobots.nl/2012/02/27/the- renormalization-group/](https://dobots.nl/2012/02/27/the-renormalization- group/) and swarm robotics.

I didn't think of it to apply to deep networks, but it makes a lot of sense.

What is not so likely in the brain is that these topographically mappings are the only ones. There are probably some mix-and-match schemes that allow integration of information on longer distances on scales different than that of the most coarse layer. Just my two cents.

Oh yeah, and although physicists like fractal-like structures (the fixed point in the renormalization flow can be seen as having the same mapping between every two subsequent scales of granularity), people with real-life machine learning problems probably would like to study more temporal and dynamic aspects. When time gets introduced, things become complicated.

</comment><comment><USER5> So about these deep neural networks: I seem to remember from some introductory AI class many years ago that a multilayer neural network can't do anything a single-layer one can't. So what's the deal here then? Is it because the algorithms for learning can't be reduced to an equivalent single-layer network?

<comment><USER6> There isn't anything a large number of if-then statements can't do either. Why do programmers use nested if-then statements or states?

<comment><USER7> For some GPUS, all code runs, no nested its, just flags to turn unused paths into no-ops. All I'm trying to say is even in your example, the optimal thing we could come up with depended on the problem at hand (graphics vs general purpose). Newer GPUs are different, but still, the ridicule of his question isn't appropriate, reasoning by analogy is error prone, and the real answer to his question is probably a lot more rigorous.

<comment><USER6> This is because GPUs are parallel and can't do nested ifs, not because representing code that way is efficient.

Even GPUs do sequential operations. You could never program the vast majority of algorithms like "if the input is exactly 100011110101... then output 100011001...".

If that seems silly, that is exactly how the proof that single layer NNs are perfectly general works. It proves that you can represent any series of if then statements like that in an NN. And people who don't understand the proof are mislead into thinking single layer NNs are just as good as deep NNs.

</comment></comment></comment></comment><comment><USER8> our brain came up with renormalization in physics probably because that is how our brain deals with complexity. Deep neural networks were built following the way we know our visual cortex and recognition works. The same brain, the same method. Not surprisingly. What would be surprising is if it happened to be the best/optimal/etc method :) as this method is a subject to biological constraints where is computers (or whatever another "thinking entity" would appear) don't (willn't) have them.</comment>


Silverlight: Good for Adobe, Bad for Microsoft - <AUTHOR> http://www.bitsandbuzz.com/article/silverlight-good-for-adobe-bad-for-microsoft/

<comment><USER3> > with SVG, Canvas, Smil, HTML 5, Video, and CSS3

The elephant in the room is that Javascript is just not a good language to develop in, most especially for the kind of culture and processes that Flash developers use. It is difficult to maintain, it plays _terribly_ when different people with different coding styles interact, and most of all it is extremely browser dependent, in terms of the behaviour you can expect to see, and equally importantly for the dramatic differences in performance you get. What do all Javascript libraries have in common? They all provide a twisty nightmare of little passages when you try to combine more than one with all of the interactions between global variables and dynamic operations.

Having seen the work process that Flash developers use, I wonder why anyone can even begin to imagine that some offspring of HTML and Javascript can ever even begin to make inroads there.

<comment><USER4> I am going to disagree with you. I believe JavaScript is an excellent language, and as someone has already pointed out, it is based on ECMAScript, just like ActionScript. For one, it's turing complete, so it's not less capable than any other turing complete language. Second, JavaScript brackets and dot syntax will be familiar to any C, C++ or PHP programmer. In addition JavaScript's asynchronous nature and the extensibility power that prototypes provide make it a very easy and useful language, capable of creating very impressive applications. If you add into the mix the fact that it's standardized, supported by a vast amount of documentation online and powerful frameworks, known by millions of developers, and backed by corporations such as Google, Apple, and Microsoft then it becomes hard to dismiss it as a 'not a good language to develop in.' If your problem is with loosely typed, interpreted languages that's a different issue. If your problem is cross browser difference, then diss the browsers, not the language.

I also take issue with frameworks being described as "a twisty nightmare." Dojo is a joy to work with.

<comment><USER3> > it's turing complete, so it's not less capable than any other turing > complete language.

Sorry but that's a stupid point that is irrelevant and it amazes me why anyone would seriously state it, yet many people do. Let's all use Brainfuck then. Or program in Minesweeper.

Dojo may be nice, but do you use Dojo and JQuery at the same time? Now what if you also find a nice component that uses Mootools, would you be comfortable including that too?

<comment><USER4> Turing completeness is only one of a few points I made. I agree if I had only said it was Turing complete then it would have been stupid.

As for using Dojo and Jquery at the same time, well that's sounds like bad architecture planning. Would using Coldfusion, PHP and Python in the same file sound like a great idea? Ok maybe that's a bit much, but how about several templating systems nested on top of each other in a python app such as mako, django templates, and clearsilver. Does that sound like a good idea? Don't mix JavaScript frameworks .

<comment><USER3> Turing completeness is not a point; it's as irrelevant as if you'd said that it's composed of 1s and 0s.

> Don't mix JavaScript frameworks .

That's my whole point. JQuery should just be for DOM manipulation (not a full fledged application framework) but the core Javascript library is so terrible it needs to include things like each, grep, map, and an implementation of string trim for Pete's sake!

PHP is a terrible language for encapsulation, but at least I have chance if I want to include more than one PEAR library. Encapsulation is possible - <USER2> instance I can bootstrap a Zend Framework application inside something else and I know it will work because it uses no global variables and it's simply not possible to extend the core language.

So what if I use Dojo and do really like a component in JQuery UI? If you don't think that's a severe and damning limitation then that's a failure of imagination.

</comment></comment></comment></comment></comment><comment><USER5> "Adobe should rejoice that Microsoft is competing with Adobe on its own turf (i.e., media plug-ins) rather than putting all its energy, as it once did, into Web standards and innovation."

Microsoft putting all its strenghts in standards and innovation?! On what planet does the author live?

<comment><USER6> I was wondering if I was asleep when that happened, cause I sure missed it. Both parts.

<comment><USER7> I am the first to bash Microsoft when they deserve it, but I think that we should also give credit when due. IE 5 was the most standard compliant browser on its time, and yes, Microsoft did invented AJAX. So, we could thank them for that.

<comment><USER8> I was under the impression that IE5 for Mac (with its Tasman rendering engine) was the most standard compliant browser at that time.

<http://en.wikipedia.org/wiki/Tasman_(layout_engine)>

And it proved how ahead of its time it was by also being abandoned by Microsoft before they allowed IE6 to stagnate on Windows when they realised that good browsers and a viable web weren't in their business interests.

The author is correct that if Micrsoft went full bore for web standards, not only would they be commiting suicide by undermining their own Office and desktop OS monopolies, they'd destroy Adobe in the process. Luckily for Adobe they're not taking that course.

(I really can't tell if you're serious about thanking Microsoft for AJAX, being forced to build rickety technologies on top of whatever random ActiveX functionality they leave lying around isn't something I'm thankful for)

</comment></comment></comment></comment><comment><USER9> The article was very interesting. Looking at the issue of the relationship between Microsoft and Adobe from a new point of view. I agree with the core concept that silverlight and flash are in one front against fully open standards like HTML 5. But I think both Microsoft and Adobe are in both sides of the battle between RIAs using open standards and proprietary plugins. They know they should contribute to open standards.</comment>


"Hey lenovo I'm enjoying the #SuperFish private key Look at me ma' I'm a CA" - <AUTHOR> https://twitter.com/ydklijnsma/status/568390533749604352 <comment><USER2> More detailed information from erratasec:

[http://blog.erratasec.com/2015/02/extracting-superfish- certi...](http://blog.erratasec.com/2015/02/extracting-superfish- certificate.html)

With HN discussion here:

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

</comment><comment><USER3> Found this in Lenovo's statement: "We have thoroughly investigated this technology and do not find any evidence to substantiate security concerns."

Were they not doing a massive MITM attack with a public key that many people had access to? I'm a huge Lenovo fan, but ignoring that as a security concern is bull.

<comment><USER4> I used to be a fan

</comment></comment><comment><USER5> Atrocious. Absolutely disgusting behaviour of one of the last remaining companies that create good work laptops (with matte displays). Good thing I bought my Lenovo device without a preinstalled operating system. I happily spend a day manually installing drivers if that prevents my PC from being infected out of the box.

</comment><comment><USER6> As if WebSense weren't bad enough...

</comment><comment><USER7> LOL! Priceless to start signing certs with this.</comment>


Homebrew Computer Club Reunion - <AUTHOR> http://www.kickstarter.com/projects/jpf/homebrew-computer-club-reunion

<comment><USER2> If anything this really is the time for the club to reunite (and for some new fresh blood to join in). If you think about it, homebrew has really exploded without the benefit of meets like this; all thanks to the internet (YouTube et al in particular) showing what can be done with a bit of DIY hacking of purpose built and _definitely not purpose built_ devices.

Forget IBM, Dell, HP and such. Those guys are dinosaurs. There are so many new companies now Arduino, SparkFun, RaspberryPi, BeagleBoard(TI, but still worthy) etc... all catering primarily toward the tinkerer. If anything this should receive support from these companies, groups and products as well as individuals since it's their products that are going to form the backbone for a lot of homebrew projects.

How come there still isn't a proper standard (open source) replacement for the TI series graphing calculator? I can't imagine a group more qualified to build one and share among each other.

<comment><USER3> There are plenty of open source replacements for graphing data that involve computers. The calculator is a form-factor challenge and marketing challenge. Calculator markets are driven very early by what is acceptable for a High School Student to use.

Current US influential standards:

[http://sat.collegeboard.org/register/calculator- policy](http://sat.collegeboard.org/register/calculator-policy) [http://www.actstudent.org/faq/calculator.html](http://www.actstudent.org/faq/calculator.html) [https://apstudent.collegeboard.org/apcourse/ap-calculus- ab/c...](https://apstudent.collegeboard.org/apcourse/ap-calculus- ab/calculator-policy)

</comment></comment><comment><USER4> Fun note:

The conference room in the picture from the video is the Panofsky Auditorium at SLAC national lab.

It was just shut down last month as they are preparing to demolish it.

<comment><USER5> Aw man. That is _not_ a fun note. I spent quite a few fun hours there.

It's being demolished? That makes me sad.

Don't worry, I'm not shooting the messenger!

</comment></comment><comment><USER6> I don't really understand why this is a Kickstarter?

<comment><USER7> One of the organizers here.

We needed funding to pay for the substantial costs of the event, and we needed a mechanism to sell tickets.

The Kickstarter model gave us both.

<comment><USER8> I still don't get it.

I am increasingly struck by how many recent kickstarters are either indistinguishable from evites or deal with projects that any reasonable person could bootstrap on their own...

<comment><USER9> It seems there's a lot of "free money" and easy attention flowing through kickstarters that I also find troubling.

Especially with anything video game related that kind of comes off as just "online begging." You have companies like "River West Brands" that "acquires, redevelops, and monetizes iconic brand intellectual property" and has put out a kickstarter to remake the Colecovision [http://www.kickstarter.com/projects/rantmediagames/colecovis...](http://www.kickstarter.com/projects/rantmediagames/colecovision)

</comment></comment></comment></comment><comment><USER10> Does a ticket to the event mean you get to participate with the original members of the Homebrew Computer Club?

<comment><USER11> Yes. A big part of why we are doing this is to give people a chance to experience what the original Homebrew meetings were like.

<comment><USER10> Awesome. I'm glad that the answer is "yes", though I backed it regardless before I saw your answer. I hope I can make the event.

<comment><USER11> I hope you can make it too!

</comment></comment></comment></comment><comment><USER12> This is cool, but why is this on Kickstarter? Are they going to do it or not if they don't reach their goal (which of course they are)? Why isn't it just on Eventbrite or something like with different ticket levels? The use of Kickstarter seems irrelevant / gratuitous here. I'm not taking issue with the desire to charge (by all means, you should!) but the use of Kickstarter as a platform for that, which is fairly high cost and needless for events that are pretty much guaranteed to happen, but just need to sell tickets. I don't get it.

<comment><USER11> My original plan was to use Eventbrite, but we decided to go with Kickstarter mainly because they transfer funds sooner - I wasn't looking forward to floating a catering bill on my credit card.

A Kickstarter also makes it easier for us to scale the event to match the funding. The more money that we get for this event, the more that we'll be able to do. That's something that people who are familiar with Kickstarter understand, but would take some explaining on Eventbrite.

Including sponsors would have also been more complicated with Eventbrite. People just aren't used to paying for a sponsorship with Eventbrite, but it totally fits in the Kickstarter model.

A more subtle benefit is the community aspect. Kickstarter gives me the tools to communicate with backers, give them updates and make them part of what is happening. It's easier to do things like ask people for their address (to mail out post cards) and ultimately, I think that people feel more invested in a project when they use Kickstarter. Which is important, since we want this event to be one where people can meet the original members of the Homebrew Computer Club and carry on their traditions and stories.

<comment><USER12> Makes sense. Although if you use Eventbrite with any payment source except the Eventbrite one, you get your funds right away, FYI. As much as we dislike Paypal, we get our funds right away on Paypal when we use Eventbrite. I'm hoping they add Stripe one of these days.

</comment></comment></comment><comment> vezzy-fnord Will Bill Gates return to reimprovise his famous _Open Letter to Hobbyists_?

<comment><USER10> Let's hope not.

</comment></comment><comment><USER13> I was really hoping this was a club for hackers who like to brew beer. I'll keep dreaming.

</comment><comment><USER14> To be in the midst of pioneers which brought the personal computing age to the world. Wow! Wozniak too!

Too bad I'm not able to go because I'm on the other side of the world (Australia).

</comment><comment><USER15> I would love to attend but geographically can't make it.

I bet a lot of HN'ers are in the same boat.

How 'bout a couple of rewards catered towards remote beyond postcard?

EG - $50 limited edition t-shirt, $20 live stream attendance, $30 for a DVD, ?

<comment><USER11> I would love to add a live stream option, I just have no idea how much doing a live stream would cost.

<comment><USER16> I'm not sure how giving "tickets" to people would work, but you could probably just stream it on a free service like Justin.tv. Google Hangouts might work as well.

</comment></comment></comment><comment><USER17> This link is.crashing my dolphin mini browser on android 2.3. I wonder why...</comment>


Ask HN: How run a successful digital marketing campaign, on a shoestring budget. - <AUTHOR>

I recently read about orabrush story, on how they used youtube as a medium to spread awareness about their product. I would like to know more of these types of successful and creative marketing campaigns that actually worked for digital products or atom products.
Also, I would love to hear tips and tricks for a successful marketing campaign, with very limited budget.
If you have links to some precious resources or books to read, please mention it.
Thanks. <comment><USER2> A few things I use -

1\. Mailchimp 2\. Twitter 3\. Vimeo Videos 4\. Facebook (but this is dicey if you have not yet launched)

None of the above cost any money. If you are a mass consumer startup, printing a few t-shirts and fliers will not hurt either. Have a few of your employees give out the fliers requesting users to review/test at popular junctions in any major US city during rush hr at commute hubs. You will be wearing the t-shirts.

Online marketing is easy and hard at the same time. I believe the most important aspect is telling a clear & a good story.

By the way, you will probably get more thoughtful and accurate comments if you describe what it that you are trying to market.

<comment><AUTHOR> The product is a project management tool, primarily for people who juggle between lot of different kind of tasks. Its very basic now, will post the link in hacker news in a few weeks.

</comment></comment><comment><USER3> See the blog of Patrick Mc Kenzie ('patio11' on HN) <http://www.kalzumeus.com> Specifically <http://www.kalzumeus.com/greatest-hits/>

</comment><comment><USER4> Try Twitter (create an account for your product and follow people with related interests). Post relevant content and hopefully followers will come by.</comment>


Motivating Employees without Fear - <AUTHOR> http://www.themacro.com/articles/2016/01/ask-yc-motivating-without-fear/ <comment><USER2> This is a list I want to send to many of my past managers on why communications matters. When you don't communicate even your top performers get antsy and leave.

</comment><comment><USER3> This startup sounds like a horrible place to work. They should aim to use a carrot, not a stick. Every employee is rightfully scared, and is hopefully thinking of finding another place to work.

If they offered incentives for meeting or passing their sales goals, they would be much more motivated. Compared to be scared of losing their job just because they missed a goal. There should always be the option to fail, even for non-tech.

</comment><comment><USER4> Why is the YC partner kept anonymous? Interesting editorial decision.

<comment><USER5> We went back and forth about it. We ended up doing it this way for consistency's sake, since the questions are anonymized and different partners will be answering different ones. But this might change. I think it could make more sense for the partners to sign their names.

<comment><USER5> Update: We decided to add names after all, including to this first one! This first Ask YC answer was from Kevin Hale.

</comment></comment></comment><comment><USER6> "And that, kids, is how I quit my previous job."</comment>


IPFS, The Interplanetary File System, Simply Explained - <AUTHOR> https://achainofblocks.com/2018/10/05/ipfs-interplanetary-file-system-simply-explained/ <comment><USER2> IPFS "solves" the problem of distributing static files - basically, a CDN built on content addressable storage. But if you don't have nodes pinning your content, or you're going to loose that data.

The article bills it as some alternative to HTTP, but it's a subset of functionality. You can't do dynamic pages with IPFS. There's no concept of cookies, so stateful sessions aren't a thing.

Why do articles insist on comparing IPFS to "the web", whatever that means? It's a distributed filesystem. Not at all representative of most content on "the web".

<comment><USER3> The original "web" was built to serve files, with a special kind of markup called Hyper Text that could reference another file with a Hyper Link. Browsers today will still treat servers like a filesystem if it's old enough.

It took a decade to get the JavaScript cruft and layers of browser features that basically makes the modern browser a native gaming-like app with a gigantic scripting engine and a fat pipe internet connection.

It's possible iterations on IPFS could parallel the current web. But I am not a fortune teller. I just wanted to be sure we all understand where the web came from: serving files as if a gigantic connected filesystem.

<comment><USER4> Browsers don't treat any server like a filesystem. If you see a directory index; that is generated purely on the server.

<comment><USER5> In the process of researching and writing a one-line quip about FTP and Gopher, I found that Google Chrome will tell you not to enter credit card details or sensitive information over the insecure connection... to an FTP server.

That being said, FTP though.

</comment></comment></comment></comment><comment> jonah-archive For interested Bay Area folks, we're hosting our monthly decentralized web meetup at the Internet Archive tomorrow night, and Jeremy Johnson from IPFS will be discussing some of their recent stuff. Details and tickets here: [https://www.eventbrite.com/e/decentralized-web-meet-up- ticke...](https://www.eventbrite.com/e/decentralized-web-meet-up- tickets-52509395014)

(we ask for a small donation to cover food & facilities, but if this is a hardship for you, e-mail me and I can help out)

<comment><USER6> > For interested Bay Area folks, we're hosting our monthly decentralized web > meetup

For some reason this reminded me of the scene from Stranger Than Fiction where she's teasing Harold, "Anarchists have a group? They assemble? Wouldn't that defeat the whole purpose?"

(I don't suppose I know _how_ you would handle a distributed meetup, unless IPFS has some facilities I'm unfamiliar with...)

<comment><USER7> By using a decentralized communication protocol like matrix?

matrix: [https://matrix.org/blog/home/](https://matrix.org/blog/home/)

<comment><USER8> Client: www.riot.im

Not affiliated, just a fan plugging.

</comment></comment></comment></comment><comment><USER9> Previous HN discussion on IPFS whitepaper and protocol [https://news.ycombinator.com/item?id=16430742](https://news.ycombinator.com/item?id=16430742)

Based on the review at [https://muratbuffalo.blogspot.com/2018/02/paper- review-ipfs-...](https://muratbuffalo.blogspot.com/2018/02/paper-review-ipfs- content-addressed.html)

</comment><comment><USER10> Can someone explain to me how IPFS is superior to BitTorrent from a usability perspective?

I get all the additional functionality IPFS comes with, but it just feels too complex to get adopted. I can go out right now and start interacting with BitTorrent networks, but I don't even know where to get started with an IPFS system

<comment><USER11> BitTorrent started out without a DHT, and so requires metadata and a torrent file to start downloading.

IPFS has a unique, global DHT as a matter of principle, and so, only requires the hash of the file to start downloading. Everyone gets the same bootstrap nodes, and then is part of the same DHT, with a common lookup mechanism relying on Kademlia.

On the other hand, I feel like IPFS is not as advanced as dat in relevant ways. IPFS is not good for file edition, while dat has systems that simplify modification of even large files and merging of structured files.

<comment><USER12> Bittorrent transport layer, peer-to-peer is not encrypted, neither was IPFS last time I checked. Is it now? Has that changed?

There is nothing stopping Bittorrent clients from agreeing on "this dht will be global", and similary, what stops IPFS clients/peers from forming a different DHT? Nothing as far as I know, not like scuttlebutt which has a transport-layer network-wide key.

What about trackers, bittorrent can but does not work well without trackers, so its not really according to me, decentralized, since some peer is more equal than another peer.

IPFS is meh, datproject is where its at.

<comment><USER13> IPFS has perhaps 2,000 times the resources ($) of dat. (Raised via the filecoin sale.) Surely that must count for a little.

<comment><USER12> Considering how much resources, github starts, and fanbois IPFS has, and yet the network layer is still shit, bandwidth not utilized to fullest.

Instead of just reusing bittorrents piece-per-peer-exchange-protocol (that greedy not perfect algorithm, forgot its name) - which can saturate even high end links, they invented bitswap, full with bugs, then decided lets make filecoin instead, like a bartering engine of exchanging pieces.

datproject also can saturate my 250mbit connection.

<comment><USER10> Thanks for posting. Never heard of DAT before but it looks to be exactly the BitTorrent alternative I've been looking for

<comment><USER14> Check out hyperdb and hyperdrive (implementations of the core replicable data structures used in dat)!

</comment></comment></comment></comment></comment></comment></comment><comment><USER15> [https://web.archive.org/web/20181210191657/https://achainofb...](https://web.archive.org/web/20181210191657/https://achainofblocks.com/2018/10/05/ipfs- interplanetary-file-system-simply-explained/)

</comment><comment><USER16> Are there any easy-to-use clients that interface with IPFS?

Is it possible to put a site on it that does any kind of computation that is not frontend JS or that stores state in some fashion?

<comment><USER17> We (qri) have built a front-end webapp (free & open source) for publishing, sharing, and versioning datasets on IPFS. When you download qri, you're working on IPFS (distributed web).

here's more on us: [https://qri.io](https://qri.io) & [https://github.com/qri- io](https://github.com/qri-io)

</comment></comment><comment><USER18> My excitement about IPFS is tempered by this issue:

[https://github.com/ipfs/go-ipfs/issues/3429](https://github.com/ipfs/go- ipfs/issues/3429)

I was running IPFS on a VPS last year serving no content, and was consuming about half a gig a day in bandwidth.

Is this a fundamental issue with the underlying concept?</comment>


Show HN: Kanban powered visual management system - <AUTHOR> https://en.kaiten.io/?hn <comment><AUTHOR> Hi, Hackers! We are small team from Russia, who created Kaiten.

It's a fresh look to "how your process really works".

We really love agile technics and sad, that all tools are too complex to be realy agile.

Our plan is make Kaiten "single point of truth" in company. System where everyone, from top management to developer or marketer can see what happens, where is bottleneck, which task is most priority, etc...

Kaiten provides your great visualizing and cool math engine (charts)

Demo: [https://demo.kaiten.io/](https://demo.kaiten.io/)

Charts:

Spectral Chart: [https://demo.kaiten.io/space/1330/charts/control- chart?filte...](https://demo.kaiten.io/space/1330/charts/control- chart?filter_cardSizes=%2C1+SP%2C2+SP%2C3+SP%2C4+SP&filter_cardTypeId=-1&filter_dateFilterType=custom&filter_dateFrom=Sun%2C+31+Aug+2014+21%3A00%3A00+GMT&filter_dateTo=Thu%2C+01+Oct+2015+20%3A59%3A59+GMT&filter_endColumn=2895&filter_endLanes=2308%2C2309&filter_slaLevel=10&filter_startColumn=-1905&filter_startLanes=2308%2C2309)

Control chart: [https://demo.kaiten.io/space/1330/charts/control- chart?filte...](https://demo.kaiten.io/space/1330/charts/control- chart?filter_cardSizes=%2C1+SP%2C2+SP%2C3+SP%2C4+SP&filter_cardTypeId=-1&filter_dateFilterType=custom&filter_dateFrom=Sun%2C+31+Aug+2014+21%3A00%3A00+GMT&filter_dateTo=Thu%2C+01+Oct+2015+20%3A59%3A59+GMT&filter_endColumn=2895&filter_endLanes=2308%2C2309&filter_slaLevel=10&filter_startColumn=-1905&filter_startLanes=2308%2C2309)

CFD: [https://demo.kaiten.io/space/1330/charts/cfd?filter_board=19...](https://demo.kaiten.io/space/1330/charts/cfd?filter_board=1905&filter_column=2895%2C2896%2C3427&filter_dateFilterType=custom&filter_dateFrom=Sun%2C+31+Aug+2014+21%3A00%3A00+GMT&filter_dateTo=Thu%2C+01+Oct+2015+20%3A59%3A59+GMT&filter_lane=2308%2C2309&filter_yAxisType=count)

I would be very grateful for any feedback.</comment>


Google Kicks Android Adware Out of the Google Play Store - <AUTHOR> https://www.bleepingcomputer.com/news/security/google-kicks-chamois-android-adware-off-the-play-store/ <comment><AUTHOR> This is another article about the lengths people go to in order to defraud mobile advertisers. I certainly applaud Google for being proactive here.</comment>


Apple only sells 51 million iPhones in last quarter - <AUTHOR> http://www.businessweek.com/news/2014-01-27/apple-iphone-sales-trail-estimates-for-crucial-holiday-quarter

<comment><USER2> 'Only' a record 51 million.</comment>


DevLog(1) Lyrical Banana [My first blog post :)] - <AUTHOR> https://arthurdearaujo.com/posts/1/ <comment><AUTHOR> Just made my first blog post about the app I'm building! If you have some time, give it gander :)

Feedback is greatly appreciated!</comment>


Ask HN: Is it worth investing time in learning Forex Trading? - <AUTHOR>

Hello HackerNewsers,
I'll be right to the point. In the past I had the opportunity to try Forex trading through a couple of the pretty popular online platforms that offer this kind of service. They had the feature to let you invest in the real market with dummy euros in order to make you practice with the tool before risking your actual (and real) money. I played with those fake moneys for a couple of weeks and in both cases I ended up earning (fake) revenues. In one case I started with 5000€ and transformed them in more than 7500€ in more or less ten days.
My question is: have I been just lucky? Did the app trick me into believing I was able to earn easy profits in order to make me put my money in the account? Or it's just that Forex trading is "doable" if you are cautious enough?
I've been wondering about seriously starting to invest some time into Forex since then, but for some reason I never did. Would you share your experience with me?
Thanks! <comment><USER2> Hi, personaly, I have used a plataform that also allows play with fake money and after that I invested a small amount of real money to see what would happen.

With the fake money I was also able to double what I started with in a couple of days.

But with the real cash I did not. But I think that the reason for this was that the small amount of money I had didnt provide a lot of margin for losses, so a small loss would be enougth to run me out of business. While with the fake money I would make micro transactions, buying and selling in minutes and if I failed I had a lot of backup.

So, If I come back to forex I will with a higher amount of money and invest small amount at a time.

<comment><USER3> Similar story here. Paper trading is significantly different than live money trading. Best thing to do is start out slow with learning traditional market movers, e.g. how economic reporting affects specific markets. Then move to more technical trading ideas, advanced charting etc.</comment></comment>


A powerful NASA telescope looked for 'Oumuamua and didn't find it - <AUTHOR> https://arstechnica.com/science/2018/11/oumuamua-was-fairly-small-further-suggesting-a-natural-origin/ <comment><USER2> It's _more_ proof of aliens: they got bored (or shocked) and hit the accelerator.</comment>


Music Industry Wants Royalties on 30-Second Previews and TV Downloads - <AUTHOR> http://mashable.com/2009/09/17/mp3-performance-fee/

<comment><AUTHOR> Question: Why doesn't apple just spin off a record label? They own the distribution channel now. There's real demand for quality music outside the mainstream crap.

Someone needs to bring a new model into the mainstream here and quash the labels once and for all. I'm tired of their whining.</comment>


Is java a pure object-oriented language? - <AUTHOR> http://techno-synthesis.blogspot.com/2010/01/is-java-pure-object-oriented-language-o.html

<comment><USER2> I don't think it matters too much that java has non-objects in the language. That might be a symptom of a non-oo nature, but only the most anal would say that's proof it's not an oo language. However I still don't think java is an oo language.

I would argue it is a class-oriented language. Once you run your java program, its classes are somewhat set in stone. Yes you can make some changes at runtime, but for the most part an object is an instance of a class that does a certain thing and that's an end on it.

On the other hand, javascript, ruby and perl (iirc) all are more truely object-oriented in that a object's class is just part of the story. It is expected that methods will be added as needed.

With ruby the everything-is-an-object philosophy is taken to an extreme, and classes and modules (a cross between namespaces, interfaces and classes) are objects themselves. Not kinda-objects, but real objects capable of doing their own things.

And, in javascript your objects are created first and then afterwards given a class or prototype. Crazy stuff. Not a fan of js myself, but I do admire seeing a new form of oo.</comment>


When Does a Project Need React? - <AUTHOR> https://css-tricks.com/project-need-react/ <comment><USER2> _> Manually handling the DOM is probably the biggest cause of spaghetti code._

This isn't true. The biggest cause of spaghetti code in "traditional" JS is due to having multiple conflicting sources of truth for the same pieces of state information (usually split between JS variables and DOM) and subsequent multi-directional synchronization.

Having a model that drives all DOM is one way to solve this. However, having "canonical" representation of your state in DOM works as well.

<comment><AUTHOR> I think manual DOM manipulation and lack of canonical state representation are both sources of spaghetti code; which one hurts more depends on the type of app you're building.

Having the DOM as your canonical representation of state is only suitable for apps with limited state IMO, because your state effectively has to be turned into text (CSS class names and element attributes) whenever it is mutated, which becomes a liability as the complexity of your app state grows.

</comment></comment><comment><USER3> I don't do any web-dev, so I apologize for the simplistic question: what alternatives to JavaScript exist for web-dev? The article hints to there being many alternatives, and that JavaScript may not be right for every project...but I can't think of any alternatives.

Python? C++? Do these languages have strong support for web stuff?

<comment><USER4> JavaScript is basically the only option for front end web dev (unless you do web assembly, but that's pretty new). There are lots of different JavaScript frameworks that you can use, including react, so I think they are referring to the alternative frameworks rather than languages.

<comment><USER5> Certainly not the only language, see my reply above (or below depending). There are a lot of great languages which either compile to JS perfectly or have been built with that purpose in mind.

</comment></comment></comment><comment><USER6> React is 38.7K + 7.3K = 46K minified + gzipped. Jquery is 34.6K. And React is not super-slow. What makes modern sites bloated and slow is definitely not React. Why not use it even for simple UIs (that may grow into complex after some time) if you find it useful and convenient?

<comment><USER7> React and jQuery are two quite different things. React is more a framework, jQuery more a helper library.

Saying one is slower than the other doesn't really make sense, since they solve problems in different ways. You can argue that in many scenarios with complex front end applications, it's easier to avoid performance or spaghetti issues when using React instead of jQuery, but there are also cases where jQuery is more convenient and leaves you with more control.

</comment></comment><comment><USER8> you should not store the state in the view layer. the easiest aproach is to store the state in the backend database layer.

<comment><AUTHOR> What about 'view state' such as which tokens have been typed into a typeahead/tagging style input? Or the expansion state of levels of a tree view? The active tab of a tabbed UI?

<comment><USER8> If nothing depends on the tagging, tree view or witch tab is active, then it's fine. Or if the state is discarded once the user click the "post" button it's also fine. But as features gets added things tend to "entangle" and things get more complicated. You'll end up with weird bugs like when the user has the app open in two tabs, or on two or more devices, where for example a message is marked as "read" on one devices but not the other. Or if two models interacts with the same view and races to change the state or just overwrites it.</comment></comment></comment>


Google's DeepMind AI can lip-read TV shows better than a pro - <AUTHOR> https://www.newscientist.com/article/2113299-googles-deepmind-ai-can-lip-read-tv-shows-better-than-a-pro <comment><AUTHOR> The paper appears to be [https://arxiv.org/abs/1611.05358](https://arxiv.org/abs/1611.05358)

</comment><comment><USER2> I wonder if it is fast enough to read lips in public based on CCTV footage.</comment>


Ask HN: Going back to command-line e-mail on OS X? - <AUTHOR> I used to love command-line e-mail. Currently my frustration with GUI clients are to many to complain about! I'm moving to a MacBook while I do extensive travel and I want to limit the GUI stuff I have running all of the time.
I know `mutt` is good. I know I can install it via `brew`. What I'm looking for is a current guide to setting up an MTA, having it bring down all mail via POP and then having `mutt` use this.
 It seems most resources I find are many years old and needing to apply patch after patch. We are all familiar with the `sidebar` patch.
Is it enough to do:
brew install fetchmail procmail mutt
Then setup each one piece by piece?
Edit: why `brew`? I tend to use it for a lot of packages. It is easy to upgrade and if I get a new machine or need to wipe and reload I can script a lot to get my machine back to the state I want it in.
Edit 2: Also, I am going to try and figure out how to use a YubiKey so I don't have to hardcode any passwords in config files. I'll write this up for everyone's benefit. <comment><USER2> An MTA is a program like Sendmail or postfix, and is used to transmit e-mail messages via SMTP. It's an important component in setting up your own mail server, but it doesn't speak the POP3 or IMAP protocol.

For serving IMAP, one program I've had recommended to me is dovecot. I don't have personal experience with it, but I've heard good things.

One solution I've considered is using dovecot on my local laptop, plus some custom scripting with imapsync (to sync the mailboxes), then something like mutt as a local IMAP client, and then imapsync would be responsible for syncing the changes made with mutt back to the upstream mail server.

But I haven't done this yet, and I haven't done that much research into what all components would be required to make this work well.</comment>


Ask HN: How to avoid going blind - <AUTHOR> If you are like me then you probably spend hours sitting in front of a computer screen. Is your eye sight going from bad to worse? How many of you wear glasses? If your vision had been fairly stable through out your career, what techniques have you been using maintain your vision? <comment><USER4> Not in any way an expert…and I assume you don't mean going blind in the most literal sense.

Two tips. Get back from the screen and use larger fonts: [http://www.smashingmagazine.com/2011/10/07/16-pixels-body- co...](http://www.smashingmagazine.com/2011/10/07/16-pixels-body-copy- anything-less-costly-mistake/). Note the bit on "vergence".

Second, against all odds I love F.lux: <http://stereopsis.com/flux/>. It adjusts the color temperature of your screen based on time of day. Try it for a while and then turn it off to see the difference, especially at night.

<comment><USER5> And if you have trouble getting F.lux to work on Linux, as I did, try Redshift too. It does exactly the same thing.

<http://jonls.dk/redshift/>

</comment></comment><comment><USER5> My unscientific advice:

1\. Invert the colors whenever possible. Dark background, light text. Zenburn is a good color scheme for this, and you can find it for just about everything, from Vim and Emacs to Xmonad, to tons of other stuff.

2\. LCD only. Not a problem these days, you don't see CRTs much anymore.

3\. Don't hunch over your computer. Back straight, lean back, recline if necessary or get a standing desk, and increase the font size.

4\. Look up frequently and practice refocusing on items of varying distances. Treat your eyes like muscles, work out your focusing ability.

5\. Stay hydrated.

6\. Eat carrots.

7\. Use F.lux or Redshift.

8\. More if I think of it ...

<comment><USER6> FWIW, I looked into this a few months ago. I don't have any cites, but I found some reasonably persuasive articles that light-on-dark is best only for dimly- lit rooms. If you're in a bright office, dark-on-light is best. (And being in a brightly-lit room is probably best for mood and alertness anyway.)

The origins of dark-on-light as "readable" are old-school monochrome computer terminals, where the resolution was so low that if you used light-on-dark, you'd see all the individual pixels - light pixels lit up, dark ones didn't. We're past that now.

<comment><USER5> Light-on-dark was also for CRTs that bombard your eyes with an electron gun, iirc.

My opinion on this is based on anecdotal evidence only, but my eyes feel less strained with light-on-dark, even to this day, on high res LCDs.

Everyone else, experiment for yourself. Hold all other factors equal, and try one each straight for a few weeks, see if you can feel any difference.

</comment></comment></comment><comment><USER7> Weird request... but does anyone else take some form of stimulant or drug that dilates your pupils and work at a computer during the day? I've taken adderall and ritalin for ADHD and my eyes will actually be sore at the end of the day. It goes away by morning, but there's been times I just felt like shit at the end of the day and go home and sleep because I just can't stand any more light.

For OP's question... I don't think my eyes have degraded one bit, but I'm still in my 20s and I had 20/10 vision to start with.

<comment><USER8> I have been thinking this exact thing lately, having been off Ritalin for months and recently started taking it again. My eyes feel awful at the end of the workday, something I did not notice in the exact same work environment when I was off the medication.

</comment></comment><comment><USER9> Resist the temptation to turn off the lights and bask in the LCD glow. The most influential thing you can do is to keep your workspace adequately lit.

</comment><comment><USER10> I don't wear glasses, I've never worn glasses and I currently spend up to 12 hours/day in front of a computer. I'm in my late 40's.

I usually use some system to take frequent breaks, usually an egg timer set to 10-15 minute intervals.

Every couple weeks, I'll isolate each eye and practice focusing near and far. I use trigger point therapy to work on the small muscle around the eye- sockets.

In general, I practice a couple of movement and relaxation exercises - <USER2> and the Alexander technique. I've been using a standing work station for last six months but been using the computer heavily since about 1990 this is just extra.

I tend not avoid categories like "bad eyes" or "need glasses". If my eyes happen to have trouble focusing, I assume the muscle are tired and need some attention. I've heard that glasses just encourage eyes to get worse. I don't know if that's true but seems plausible. I'd view the body in general as involving many nested feedback loops. I believe that people who experience "health problems" often assume that they are "broken" in fashion akin to a simple machine where they often simply need "recalibrating". Not that I won't eventually "wear out" but I'm aiming to stay functional as long as possible.

Your mileage may vary. I certainly get eye irritation if I use the computer too much or don't get light.

</comment><comment><USER11> Decrease your screen brightness and invert its color. Remember to blink. Drinking lots of water will help keep your eyes hydrated and force you to take breaks away from your computer to go to the bathroom. Try to make a habit of zooming content rather than squinting closely at it. Give computer glasses a try.

</comment><comment><USER12> No problems, 30+ years of staring at monitors of various types in all kinds of light.

I do have bifocals now (the type that have a gradual transition so one doesn't look like an obvious grandpa :) ). These helped enormously in my mid 40s, took less than a day to get used to.

Other than that, my corrected vision is better than 20/20.

<comment><USER13> > better than 20/20

If I could improve to better than 20/20, I might have to start wearing glasses. What are the best glasses to give super vision?

<comment><USER14> Any old glasses. How much your vision improves depends upon your prescription. For someone like me with astigmatism, getting better than perfect is difficult. If you're simply myopic, you could very well improve to 20/15 or 20/10.

20/20 is just an average, so it's far from "perfect vision". It's like having an IQ of 100.

</comment></comment></comment><comment><USER15> \- Mirror behind the screen, look at the wall behind occasionally (or when thinking) with the mirror, or even better, angle the mirror to see out a window. Maybe use two mirrors to do this.

\- outdoor light directly on retina (?)

\- lutein/zeaxanthin (raw eggs), epa/dha (seafood)

<comment><USER6> I'd never heard this, but it's a great idea.. if you want to change your focus from near to far, a mirror will get you double the distance. Brilliant.

<comment><USER15> Yep, only thought of it when composing the reply but a small mirror attached to the edge of the screen would also work.

</comment></comment></comment><comment><USER16> Epidemiologists have more or less proven that the more time you spend outdoors, the less chance of your eyesight worsening. You need to spend more time where you can see the horizon.

I posted this study twice before on HN. It's a really useful result because it could save u and your loved ones from having to wear glasses.

<http://bjo.bmj.com/content/93/8/997>

This is not the only paper citing this finding. Go through the references and you will see more.

</comment><comment><USER17> Keeping the lighting appropriate for your screen(s) is the most important thing, along with positioning your screen(s) at about arm's length. I try to use bright pure white lightbulbs whenever possible.

After that, using a larger font is good (I use 16pt Inconsolata with Monokai theme for good contrast). I tried out those Gunnar computer glasses and they work pretty well (I got the clear lens ones), but I always forget to wear them.

</comment><comment><USER18> Is there any evidence that looking at screens for a longer period of time decreases eye sight?

</comment><comment><USER19> [http://www.eye-exercises-for-good-vision.com/eye- relaxation-...](http://www.eye-exercises-for-good-vision.com/eye-relaxation- exercises.html).

<comment><USER20> second problem that may hit after many years starting at the display - <USER3> dryness. When people stare at the display, they typically blink less frequently and the blinking is what keeps the eye lense wet.

In my personal experience the various problems started to appear only after almost 20 years of staring into display. Yet once it started, there is no good way back, only trying to slow it down.

<comment><USER6> Second. If you wear contacts, dryness is a killer. Hydration is critical; I keep a glass of ice water at my desk at all times. (This also forces you to take brief breaks for the bathroom, which are good for both your eyes and your spine.)

</comment></comment></comment><comment><USER21> No problems here. 25 years of screen work/play and no sore eyes/hands/wrists or anything. I do have glasses but I've had them ever since I was little.

</comment><comment><USER22> I've been staring at monitors for close to 16 years now... mostly perfect vision except in very low light.

</comment><comment><USER23> you can always get Lasik later

</comment><comment><USER24> It's mostly your genetics. I've been staring at the screen for 12-16 hours daily for 15 years. Still nearly perfect vision.

<comment><USER25> I doubt it - my vision is worse than that of my brothers because I've been standing in front of computer and reading math books too much in the past.

A golden advice from an eye-doctor that makes my eyes much less tired (ymmv) even though I don't strictly adhere to it: every once in a while (~30min) rest your eyes by just looking at something about 15ft away or by keeping them closed for about 1 minute. Don't necessarily try to focus on something far, just look at it.

<comment><USER24> Unless you and your brother are clones of each other, you have different genetics.

Even identical twins have different genes.

[http://www.scientificamerican.com/article.cfm?id=identical-t...](http://www.scientificamerican.com/article.cfm?id=identical- twins-genes-are-not-identical)

</comment></comment></comment><comment><USER26> My wife had lasik surgery last month. Best decision of her life.</comment>


Instacart Workers to Strike over Company's Covid-19 Response - <AUTHOR> https://gizmodo.com/instacart-workers-preparing-to-strike-amid-company-s-di-1842531637 <comment><USER2> Doordash has a message now saying they will leave it at your door. Their workers are saying others should learn from their response.</comment>


Marzipan: A Chance to Revitalize the Mac App Ecosystem - <AUTHOR> https://www.macstories.net/stories/marzipan-a-chance-to-revitalize-the-mac-app-ecosystem/ <comment><USER2> Just speaking for myself: I don't need the Mac App ecosystem to be revitalized, thank you very much. It's done fine without appstore/itunes since its inception, and as far as I am concerned, "app" quality has gone down since programs were called "apps".

Now get off my lawn!</comment>


Checked C - <AUTHOR> https://kristerw.blogspot.com/2016/07/checked-c.html <comment><USER2> I'm torn. I suppose it's easier to upgrade existing code bases to this, but it won't fix code locations that are improperly upgraded to this language. Which in my opinion means that The C code will still have lurking errors.

Also: "either (1) the operation must convert that value to an in-range integer value or (2) the expression shall produce a runtime error"

Is more defined, but does not actually help you much, because this will depend on platforms, and a overflow to 0 might produce similar issues when indexing as other errors today in creating bugs in encryption algorithms.

If we all agree that C is not a safe language, and that we'd all prefer writing in a safe language, then why not write in a safe language, e.g. Rust.

An aside: I've recently done a project where I explored replacing C library functions with Rust implementations, linking in the Rust library directly to the existing C library. I was very pleasantly surprised at the ease of doing this! This means that we really can migrate away from C in an iterative fashion, just as Checked C would allow us to do.

</comment><comment><USER3> Since my paper on Bounds Checking C (Jones & Kelly, 1997) was mentioned in their bibliography, I've put my original 1995 BSc report that started the whole thing here:

[http://oirase.annexia.org/bounds/](http://oirase.annexia.org/bounds/)

Original was a MS Word 6 document (!)

</comment><comment><USER4> Didn't we just cover this on HN?

It's sort of halfway between C and C++, with constructs like

        array_ptr<T></comment>