Instagram Testimony Doesn't Add Up - <AUTHOR> http://bits.blogs.nytimes.com/2012/12/16/disruptions-instagram-testimony-doesnt-add-up-2/ <comment><USER2> _"...before testifying at a hearing of the California Corporations Department, which sought to determine if Facebook's acquisition of the photo sharing service was in the best interest of Instagram investors."_

Can someone explain why this department is doing that? It wasn't a publicly traded company or anything. I'm assuming that Instagram had a board which included seats to represent the VC's, which would have been involved in the various deals.

Are the VC's behind this, alleging that Kevin Systrom kept board members in the dark about a possible Twitter acquisition? Or are people who invest _in_ the VC's behind this, alleging that the VC's betrayed a kind of fiduciary obligation or something? Is the state of CA an investor in the VC's?

The article seems so short on details.

<comment><USER3> If Systrom had an offer from Twitter on the table for an amount close to Facebook's offer, the state might view it as opportune to make Twitter and Facebook compete for the company, increasing the return for the investors (whose interest they are representing). If he ignored the Twitter offer but took the Facebook offer due to some personal gain, the state will have a problem with that if it wasn't disclosed to investors. The article discusses that near the end. The entire purchase was shaky -- remember the bit about Zuckerberg not talking to his board? -- so I suspect this isn't the last we'll hear of regulators poking around.

This regulation, which applies to all corporations everywhere, is there to protect investors from being swindled by executives. Without it, we'd have a very different corporate landscape. I don't know if it'd be better or worse, but it'd be very different.

<comment><USER4> Exactly. If there is evidence that Systrom did not act in the best interest of shareholders for personal gain, that would be a severe violation of is fiduciary responsibilities, and that would be the under the jurisdiction of the State of California. That is probably the only reason the state would or should be involved.

<comment><USER5> If Systrom (and his cofounder) had a controlling interest in Instagram, are they even required to act in the best interests of the other shareholders? That's kind of the point of a controlling interest, no? To break ties when shareholders can't decide what's in the overall best interest of the company/shareholders?

<comment><USER6> The CEO may not have a fiduciary duty towards minority shareholders, but the controlling shareholders do, in this case it sounds like they are one and the same.

If you have to break a tie, then you aren't a controlling shareholder. The idea behind controlling shareholding is that as long as you follow your duties to the minority you can install whoever you want (perhaps yourself) on the board, the board can then install whoever they want as CEO (perhaps yourself)

These things get really murky in private companies where the board, controlling interest, and CEO are shared by one individual.

<comment><USER5> "Breaking ties" was a poor choice of words.

It appears that Systrom and Mike Krieger (the other cofounder) together held a majority stake. Assuming the two of them decided to accept the Facebook deal, then they are indeed acting in the best interests of the majority of shareholders, no?

Why do things get murky when the CEO/board/controlling interest is the same? They started and built the company, and structured their funding deals such that they were able to keep majority control wrt voting rights. If they want to screw over the minority shareholders, I think that's pretty lame, but that should be their prerogative.

<comment><USER7> > If they want to screw over the minority shareholders, I think that's pretty > lame, but that should be their prerogative.

The law doesn't really give you blanket approval to do that, though. There are a lot of legal ways to screw over minority shareholders, but lots that aren't. When you sell part of your company, you agree to be bound by certain responsibilities to those minority owners. If you don't like those aspects of contract law, and want to do _whatever_ you want without obligations to other co-owners, you need to keep 100% ownership.

</comment></comment></comment></comment></comment></comment></comment><comment><USER8> The interesting thing to me is all the comments saying "the state shouldn't be involved". Maybe that's true (I don't have an opinion because I haven't researched it at all), but it doesn't matter.

If you are running a company, these are the kinds of things you need to care about. One's personal sensibilities don't matter a lick when the regulators come knocking.

Instead, I would look at this (and whatever fallout occurs) as a warning of the kinds of things you have to think about and use it to sharpen skills so as to not be on the receiving end.

And, once again, if you don't skirt gray areas of ethics, you are less likely to face problems. Did Twitter give an offer? "Well, that's open to 'interpretation', and I'm going to interpret it as 'no'."

<comment><USER9> Any time you are selling or dealing with securities you need to be working closely with your lawyers.

From what I understand, Zuckerberg showed disregard to FB's board when going through this process, and it looks like Instagram's founders acted in the same manner. Sounds like they just sat around and hammered out a deal on a personal level.

That can't be the case. You have to have your board as well as lawyers involved because you could be breaking securities laws as well as breaching your fiduciary duty as a corporate director.

<comment><USER10> _Zuckerberg showed disregard to FB's board..._

Generally speaking, 5% of the company's (and below) is not considered 'material' in common usage. But, self-dealing issue is another matter. Nearly any amount of compensation is likely to be material relative to the salary of the Instagram CEO (for example), and in any event self-dealing is a more of a bright-line test (unjust enrichement).

</comment></comment></comment><comment><USER11> This is a slight side issue, but this section really struck me as interesting:

"Facebook has tangled with regulators before. What it does with its customers' data attracted the attention of the F.T.C., which accused it last year of 'unfair and deceptive' practices. The agency's settlement with the company required Facebook to submit to privacy audits for 20 years."

It reminded me a lot if that scene in Ghostbusters where the regulators showed up to inspect the facility and clearly had no idea what was going on, even though they had suspicions of something nefarious. With such a complex, proprietary system like Facebook I just can't see the efficacy of external security audits. Kind of scary territory.

<comment><USER12> An auditor is faced with a massive system of data collection that no one person in the world could possibly understand without having written it themselves. They can only go by the information the company gives them, which is obviously not trustworthy. I'm not saying that Facebook has done anything wrong, but if they had, an external audit wouldn't have a hope of finding it.

</comment></comment><comment><USER13> It's absurd that the State of California has any say in this private matter in the first place. This inquiry was not even based on an antitrust issue (which California has no right to contest anyways on a state level). This is simply the state government sticking its nose where it doesn't belong.

<comment><USER14> The state fairness hearings are there to represent the interests of the investors in a privately funded company.

Lets create a hypothetical example, you are an 'angel' investor and you invest in a company "WunderKund Inc". In exchange for your investment you get 10 or 15% of the company interest, now lets say WunderKund grows rapidly, they really hit a niche, maybe they have a series A, and people start to express an interest in acquisition. The angel investor is perhaps diluted down to 1 - 2% of the preferred stock, and maybe its one of those deals where the founders still have control of the preferred. Now along comes a buddy of one of the founders and says "Hey, awesome how about we make you rich, and you can come to work with me!?" and its awesome and all but there is this other less awesome company saying "Hey we really want to acquire you we'll pay what ever it takes..."

Now as the Angel Investor your interest is getting as good a return as possible on your investment because you know that only 1 out of 100 of your investments will pay off. How do you prevent the founders from making a sweet heart deal ("under market") with their buddy that makes them rich enough, and leaves a bunch of money from the other guys on the table that would have added to your return? If you are making less than full value that is one thing, but what if you're getting completely frozen out because the "sweet heart" company is offering very little cash or stock but big earn out bonuses for the founders if they stay on at BigCorp?

There are lots of ways that you can structure a deal that benefits one party more than the others and this commission was created to mitigate the damage done by unscrupulous business people.

(Found the link: <http://www.corp.ca.gov/ENF/FairnessHearings/Default.asp>)

Its the California Department of Corporations

This is the result of the Instagram / Facebook hearing : <http://www.corp.ca.gov/Press/news/2012/Facebook_08-29-12.pdf>

<comment><USER15> I would think investors at this level would be capable of retaining their own lawyers and filing lawsuits if they felt cheated.

<comment><USER16> >I would think investors at this level would be capable of retaining their own lawyers and filing lawsuits if they felt cheated.

That'd be a faux pas in this context.

Between two corporations, fine, but to bring in lawyers against Facebook/Instagram in this context would bring a lot of stigma.

Better to let the gov't be your barking dog.

</comment></comment></comment></comment><comment><USER17> If Twitter was prepared to make a higher offer, why didn't they? There was nothing stopping them from making a pre-emptive offer. It's not Instagram's responsibility to beg for a higher offer from Twitter, especially with a higher, time-sensitive offer on the table from Facebook.

Nick Bilton is among the most respected journalists, but he's written some really questionable articles lately.

<comment><USER18> > If Twitter was prepared to make a higher offer, why didn't they?

Why should they? They have a fiduciary duty to get Instagram for as low a price as possible; nothing about 'begging', they weren't even told about the higher time-sensitive offer (which are just two parts of the price to be negotiated...). They were told Instagram didn't want to sell at all, which is more than a little bit different from 'we think FB will pay more, do you disagree?'.

> The people familiar with the negotiations said Twitter executives were > shocked that they had not been given an opportunity to present a > counteroffer. They said Twitter was prepared to make higher offers.

<comment><USER17> Twitter had their chance. They offered roughly 50% less than Facebook, and without a liquid currency to boot. Apparently, they weren't even in the ballpark. It wasn't Instagram's responsibility to negotiate with Twitter given the relative disparity between the offers. If they chose not to take Facebook's offer, and hold out for Twitter to increase their offer by 100%, again, without it even being a liquid offer, they would have run the risk of Facebook walking away and being completely at the mercy of Twitter.

<comment><USER18> As you pointed out, time is part of a deal - and so Instagram could easily have said 'we close in a week with FB, offer more than their billion and liquidity in that time with a high penalty fee or forever hold your peace'. They didn't.

</comment></comment></comment></comment><comment><USER19> Not a fan of Instagram, and I think FB purchase was stupid, but still, it is a private dealing between two companies. Even if there were thousands other offers, they can choose the one that they prefer. Moreover, it's not only money, when choosing such an offer.

<comment><USER4> The board and executives work for the shareholders. They are required to maximize shareholder value, and taking a lower offer for personal gain is illegal. That is the concern here.

That said, it's hard to have sympathy for investors in a company that flipped for $750M in under two years.

<comment><USER20> I have a problem with your second statement. Why is it hard for you?? Why does the timing have anything to do? If anything, apploud to Mr. Systrom for building a service that attracted millions in such a short period of time. Every one of us trying to build a startup would love to have the same exit.

<comment><USER4> I'm not sure you read me right.

I think the investors would have a lot of difficulty establishing that they got a raw deal here given the incredible rate of return.

</comment></comment></comment></comment><comment><USER21> _"When he was handed the term sheet by a Twitter employee, a nonbinding document outlining the terms of a proposed acquisition, he read it and then handed it back, asking Twitter executives to hold on to it over the weekend as he weighed the details, those people said."_

Anyone with legal insight comment on the idea behind these two maneuvers(meeting at restaurants and handing back termsheet)? If it has legal basis, why would twitter accept such terms?

<comment><USER22> They typically meet at restaurants (or a lot of times, hotel rooms) to discuss deals/potential deals, as being in the HQ can scare employees (who may not be comfortable with selling). It's much easier to get recognized in the HQ of a tech company, than a restaurant. And meeting in a HQ and going behind closed doors can make it seemed like somethings going on, where if they were caught in a restaurant, it could just be the typical M&A relationship building.

</comment></comment><comment><USER23> So what happens if it's determined that Mr. Systrom did lie under oath? Does he face criminal charges, is Facebook fined, or what? I assume it's too late to split up the companies again.

<comment><USER24> I don't know what implications it has for Facebook but lying under oath is perjury, which is a felony in California. Convicting someone of perjury is notoriously difficult though.

</comment></comment><comment><USER25> "It is possible investors would have been better off selling in an open auction, to Twitter or even to Google or Microsoft."

Really? This is not the sale of a Picasso painting. I believe there is always risk of putting off potential buyers, and you might not get the highest bid by optimizing the process down to the last detail. You might as well close it while you can. I believe the founders did the right thing.

<comment><USER26> Not specifically re Instagram but in general -- yep -- I have seen certain buyers walk from acquisition discussions when a process opened up. It's a tricky process, and the devil's in the details.

</comment></comment><comment><USER20> Good findings; can't wait to see how this all ends.

As I pointed before to this article [1], Andreessen and Sequioia Capital have/had closer relationship with Facebook than they do with Twitter. Won't be surpised if some "sentiment" in regards to who represents who, interfiered with the purchase.

And CCD has very good business sniffing into this kind of stuff. After all, lower price = lower taxes. Lower taxes = less for CCD and other Gov entities.

[1] <http://donnaklinenow.com/investigation/instagram-scam>

<comment><USER26> Please don't toss around casual aspersions like that. First, any behavior like that would be contrary to our obligations to our investors. Second, we were properly excluded from knowledge of the transaction due to conflict of interest.</comment></comment>


Finding Every Vulnerable App in the App Store - <AUTHOR> http://sourcedna.com/blog/20150420/afnetworking-vulnerability.html

<comment><AUTHOR> Recently, the popular iOS open-source library AFNetworking had a critical flaw in its SSL implementation. A coffee shop attacker using the same WiFi network as you could intercept and intrude on any vulnerable app's traffic using a standard web proxy.

At SourceDNA, we've been scanning apps from the appstores, identifying the libraries they're using and tools they were built with. It's really cool to have a searchable database of millions of apps at your fingertips, along with in-depth code analyses like their callgraphs. This made it easy for us to look up which apps were using AFNetworking and, in particular, the vulnerable version of AFNetworking (2.5.1).

We have released a new service, Searchlight, which allows developers to look up their apps to see if they're vulnerable to this flaw. You can also enter your email address and we'll continue to monitor your apps and send you future vulnerabilities SourceDNA finds. (Yes, we've already got more flaws in the queue to tell you about!)

[http://searchlight.sourcedna.com](http://searchlight.sourcedna.com)

I'm happy to answer questions here about how this works or what we can do. Thanks.</comment>


Ted Talk: How craving attention makes you less creative – Joseph Gordon-Levitt - <AUTHOR> https://www.youtube.com/watch?v=3VTsIju1dLI <comment><USER2> Speaking of craving attention- here's my TEDx talk on the same issue:

Protecting our creativity from the side-effects of technology

[https://m.youtube.com/watch?v=6LNjVmcVF68](https://m.youtube.com/watch?v=6LNjVmcVF68)

<comment><USER3> Please pay attention to my TEDx talk about how craving attention is bad! ;)

I jest. Given I'm creating free content for a website so I can earn worthless attention points, I'm no better.

<comment><USER4> "Earning" attention points is a frame of mind, as the reciever of votes may look upon themselves as a sort of beneficiary. Being invalidated by the metric of how many people/machines (digitally) voted against one's content does not invalidate the idea itself. Write instead for your curious audience of historians digging through archives over the next few decades. But more importantly, for those of us that know to wade through digital (or analog) noise in order to find valuable information worth repeating.

I prioritize reviewing the most downvoted content, because the average downvote is an overreaction (emotional response). Ignoring the first few "top voted" responses (or search results, beginning sentences of a news article) is a shortcut to the more useful content.

"Points" are not good or bad. They are an indicator of traffic (automated or genuine). They are not worthless.

<comment><USER3> They're worthless to me. I've not gained anything by having them.

<comment><USER4> I suppose I shouldn't have said "they are not worthless" after listing reasons why the point system could be compromised (emotional voting or the vote dilution of agenda-driven automated bots).

I think it is because you said the word "earn" which I thought may have reflected the outlook of most digital forum participants (earn implies value).

In a physical space we may evaluate reception of our ideas through nodding, verbal affirmation, or during our turn of the conversation. I would think it would be more difficult for a malicious actor to manipulate public opinion with these classical communication methods.

Perhaps now it is more difficult for quality content to be injected into society (or for society to think for itself) when most folks may naturally feel more comfortable consuming content with the largest (potentially artificial) view, vote, stream, or click count.

Maybe there are entire divisions of allocated cognitive labor designed exclusively to determine authenticity of traffic, which is unfortunate but necessary (and will likely not be thorough).

Maybe there are not.

</comment></comment></comment></comment></comment><comment><USER5> I find a lot of people dealing with startups ... employees and founders (mostly) posting practically everything on social media from going to an event, launching a product / service, last night's dinner, a picture of every coffee in the day, a message in the loo and a coworker dozing off ... etc

I always wonder if this is a means of guerrilla marketing, being social, expressing camaraderie or showing gratitude?

I _think_ of it as social validation and wonder its impact on creativity, morale, etc (if any at all)

</comment><comment><USER6> ORIGINAL SOURCE WITH TRANSCRIPTS

[https://www.ted.com/talks/joseph_gordon_levitt_how_craving_a...](https://www.ted.com/talks/joseph_gordon_levitt_how_craving_attention_makes_you_less_creative)

</comment><comment><USER7> are there any social media platforms that don't have metrics like follower counts, karma etc ?

<comment> 0-_-0 Sure, there's 4chan

<comment><USER6> 4chan is an excellent example of a cure worse than the disease.</comment></comment></comment>


Ask HN: Useful, non-popular software you think more people should know about? - <AUTHOR> <comment><USER2> I'm not sure what you mean by non-popular. Much that is popular on HN is unknown to most people. My take:

* Multiping: Simple utility that pings multiple hosts, and displays the results on a zoomable side-scrolling graphs that sync by time. Thus you can immediatley see, for example: At 08:06:33, of the hosts on my route to the Internet, the local firewall responds, as does my ISP's gateway, but the next hop and everything past it are timing out; and the same thing happened 4 times in the last week for periods of 2, 18, 6, and 11 minutes, always around 8am.

Just look at a screenshot (I'm talking about the three horizontal graphs in the middle, you can have a many as you want of those):

[http://www.multiping.com/images/multiping_screenshot_big1.pn...](http://www.multiping.com/images/multiping_screenshot_big1.png)

* OpenBSD: I just installed it for the first time. Despite it's reputation as an ubergeek tool, it's shockingly, exceptionally, elegantly easy to install (for technical folks who know what DHCP and MBR are). The documentation is amazing, so far, and if the rest of the experience is like the install, I'll be very happy. A pleasure to drive.

</comment><comment><AUTHOR> Some (maybe) lesser known gems for Windows machines:

[http://www.peazip.org/](http://www.peazip.org/) \- Zipping/Unzipping utility, better than WinRAR or 7-Zip

[http://implbits.com/products/hashtab/](http://implbits.com/products/hashtab/) \- Shell extension that adds a panel in the file properties window that can compute and compare a hash against many different hash functions

[http://mactype.net/](http://mactype.net/) \- Shell extension that gives various options to modify Windows' anti-aliasing scheme. Useful if you're not a fan of TrueType's look. Can cause noticeable lag and drawing issues on some less powerful systems, though

[http://cmder.net/](http://cmder.net/) \- Alternative, more-featured terminal emulator for windows (works with both Cmd/PowerShell)</comment>


The Perfect Developer Laptop - <AUTHOR> http://blog.filipekberg.se/2013/09/25/perfect-developer-laptop/

<comment><USER2> This is how I read this blog post:

I am getting a new laptop, hooray! My requirements for the perfect laptop are:

1\. Thing

2\. Thing 2

3\. Thing 3

4\. Thing 4

In the end I decided I don't need things 2, 3 or 4 and just bought a laptop.

\---

You tried just about the lowest end Apple laptop and compared it to a custom built laptop. The blog post didn't explain why other brands/models were discounted.

I also find it strange that a requirement of '10 hours of battery life' made the initial list of requirements and was then dropped, but something like "runs Windows well, which I need because of Camtasia" didn't factor into the equation.

<comment><AUTHOR> > "Just bought a laptop"

That's not really true, when I started looking I had no idea I could configure the hardware in a laptop like this. For some reason I imagined touch and 10 hour battery life being the most important thing and when I couldn't get that I decided to let go of the touch requirement - that is when I got the MacBook Air. It was suppose to be really good as it had the newer Haswell i7, sure it runs Windows OK but the drivers are crap. I was unhappy with the purchase and decided that I wanted to look outside the scope of ultrabooks but still not get a 4KG beast as that had been my previous device and it was just a hassle to take anywhere at all.

I did consider other laptops, like AlienWare but when I went to try one out I felt it was too heavy and bulky.

> "runs Windows well"

All laptops should. Why even bother having that in the requirements?

</comment></comment><comment><USER3> There is something fishy about this article.

He starts by saying:

> At least 10 hours of battery as I was imagining myself taking 10 hour+ > flights every month and also taking the laptop everywhere without a charger.

Then he finds his "perfect laptop" from a company I've never heard of, and writes:

> Battery life is only rumoured to be 3.5 to 4 hours – haven't tried it > without charging it for that long

Strange.

<comment><AUTHOR> What's fishy about it?

I've only used it connected to the wall so far, my co-worker had his running for 3.5 hours and the forum thread linked in the bottom of the article has lots of people running it for 3.5 to 4 hours. I just haven't had a change to test the battery that well yet.

Also, "I was imagining myself taking 10 hour+ flights" was a joke as I figured I wouldn't need that much battery so I let go of that requirement.

<comment><USER3> If a ten hour battery life was a requirement, why choose not test it? Why go to the trouble of plugging the cable into the wall?

<comment><AUTHOR> It was a requirement from the start, but then I decided to not care about battery life at all as it opened up for lots of more alternatives like this one, Alienware, etc.

But you are right, I should test that before I actually rely on it having lots of battery. Will do tomorrow and update the article with my results. Thanks for reading</comment></comment></comment></comment>


Decentralized Social Networks Sound Great. Too Bad They'll Never Work - <AUTHOR> https://www.wired.com/story/decentralized-social-networks-sound-great-too-bad-theyll-never-work <comment><USER2> Interesting article, but I don't really agree with their conclusions. I think social networks are legacy from first engaging people on the real web and have a fate similar to AOL.

Experiments in decentralized social are more of a test run of components for "subversive" networks that will eventually engage the global youth politically on tor rather than compete with fb for grandparents sharing photos and recipes or Myspace as a MP3 storage space for forty somethings with bands.

</comment><comment><USER3> I, and my friends, have been using secure scuttlebutt and we couldn't be happier. I personally enjoy it because the content isn't curated, and the fact that my data resides on my computer and those in my gossip network. Beyond building your network there isn't much of a hurdle as the software takes care of all of the sharing of data.

[https://www.scuttlebutt.nz](https://www.scuttlebutt.nz)

<comment><USER4> Thanks for sharing scuttlebutt! At first glance, it looks similar to projects made using Dat. I wonder how it's inner workings compare.

</comment></comment><comment><USER5> Facebook started as a clean alternative to MySpace. Facebook has now become _even more_ bloated and painful to use than MySpace was.

One hypothesis for why Google+ and others did not "catch on" is because Facebook has orders of magnitude more users, and therefore has reached a "critical mass", meaning no significant amount of users will ever use an alternative.

My hypothesis is that there simply hasn't been a significantly superior alternative yet.

New alternatives can also use Facebook as an advantage by creating a compatible API. Facebook, of course, will "fight back" by making itself incompatible, but the only way it can do that is by making its own platform _less_ usable.

<comment><USER6> Facebook didn't start out as an alternative to MySpace, it began as an alternative to hand-curated year book websites (and hard-bound paper year books). That it was cleaner to MySpace at the time was an accident.

My hypothesis is that you aren't going to make the next Facebook by trying to replace Facebook or make some idea of "the next Facebook". You are going to make the next Facebook by doing something new that isn't very Facebook-like at all.

<comment><USER5> It's true that Facebook didn't _intend_ to be an alternative to MySpace, but myself and _everyone I know_ who used MySpace certainly saw it that way.</comment></comment></comment>


What's wrong with the Linked Data world - Keyword Search - <AUTHOR> http://blog.georgikobilarov.com/2009/10/whats-wrong-with-the-linked-data-world-part-1-keyword-search/

<comment><USER2> I don't understand what's he's trying to say, though I get the feeling that the author misses the point of why search is good. Good search has very little to do with the words - most search engines got that part mostly right, all independently.

What makes search great, the real underlying principle, is the link graph, the authority measurement. What Google was able to do was not just make a vast catalog, but to sort it by goodness.

You can wrap up that measure in a search box or whatever UI you want.

<comment><AUTHOR> I think what he's saying is that classic Semantic Web linked data systems are great at handling the link graph, but only implement simple text searching.

It's complex, but possible, to do both at the same time, but the standard libraries for handling semweb graphs don't do it.

</comment></comment><comment><USER3> A big part of how Google won was that they made everything on Yahoo obsolete except for the search box. Now somebody just needs to make the search box obsolete.

<comment><AUTHOR> What are you imagining will replace it?

Typing in a short query and getting results is a pretty minimal UI. Google has been steadily getting better at making it even more useful, for example, their calculator feature, weather, sports results for major sporting events, and so on.

<comment><USER3> The UI is minimal, and that is a very significant advantage. I don't have clarity around something that is superior. In terms of properties, though, the UI would be minimal and getting results would be as powerful as writing arbitrary SQL against a backend. If somebody comes up with something that meets both of those conditions, I think it'll be a game-changer.

<comment><AUTHOR> You can do that in a search box by allowing advanced syntax. For example, Google allows 'keyword site:news.ycombinator.com', and there's no reason you can't extend this with full boolean logic and nested bracketed clauses.

We do this in my product, which is sort of a semantic web inspired wiki with very precise metadata. You can enter a simple query, and it uses everything at its disposal to get you good results ranked appropriately. But in the same box, you can write arbitrarily complex queries, even doing graph traversal across the linked objects in the store.

However, simple one or two word queries still work. The only slight concession to complexity that we've made is that when you start entering a complex query, the app draws a picture which explains how the query is interpreted, as a little aid to the user.

But it's still a simple text box with a button next to it.</comment></comment></comment></comment>


How to Get to Know a New Programming Language - <AUTHOR> https://spin.atomicobject.com/2020/04/27/new-programming-language/#.XqbhpdHNV1E.hackernews <comment><USER2> Two words: Read Code.

Three words: Read Good Code.</comment>


How I Got My Break, Getting Paid To Do Something I Love - <AUTHOR> http://eirestudio.net/my-break/

<comment><USER2> It's unfortunately a bit harder to do this sort of thing in 2013.

</comment><comment><USER3> Congrats! I think we all want the same thing to some degree</comment>


Tourism dependent St Kitts shutdown Covid-19 while protecting economy - <AUTHOR> http://covid19stimulus.gov.kn/ <comment><AUTHOR> A good change-log of their regulations here: [https://www.stkittstourism.kn/travel-advisory- update](https://www.stkittstourism.kn/travel-advisory-update)</comment>


French presidential election candidate Macron links encryption to terrorism - <AUTHOR> http://uk.businessinsider.com/french-presidential-favourite-macron-promises-crack-down-encryption-terrorism-2017-4 <comment><USER2> Uhm, I'm sorry, why does this apply only to encrypted messaging apps? What about people in cars? Isn't it about time police had a swift and reliable method to find out what car passengers say to each other? Do we really want to let terrorists and pedophiles use their cars as a safe haven, where they can say whatever they want, and the good guys are powerless to find out? Just recently a terrorist used a truck in an attack - wouldn't it aid police to know what he said while driving?

I also heard almost all terrorists and child molesters talk to others in their homes. There's many reports of terrorists getting together in someone's house to plot and exchange information. I think it's about time we gave the good guys the tools they need to find out what was said in a room. We wouldn't want to leave pedophiles and terrorists any safe havens, would we?

And don't worry about abuse - any time a police officer requires access to the recordings of microphones that will be mandatory in all cars and houses, a judge will have to approve the request, so the risk of abuse is minimal! Only privacy extremists would be against such common-sense precautions.

<comment><USER3> You jest, but your satirical examples are actually being floated for real. Exhibit A: let's ban cars because terrorists might use them to run over people.

[https://translate.google.ca/translate?hl=en&sl=sv&tl=en&u=ht...](https://translate.google.ca/translate?hl=en&sl=sv&tl=en&u=http%3A%2F%2Fwww.aftonbladet.se%2Fledare%2Fa%2Flo7r9%2Frensa- stockholm-stoppa-bilarna)

</comment></comment><comment><USER4> I really wish we could debate things. On the one hand, I certainly see why the technology companies don't want to create "back doors" into their messaging services. That makes those services insecure and leaves their uses vulnerable to hackers and nefarious government agencies. On the other hand, if a government comes forth with a court-issued search warrant then it seems reasonable that technology companies should be able to assist - even if it's just metadata indicating who they were corresponding with and when (for a well-defined data range as specified in the warrant).

Everyone has legitimate concerns in this discussion but if we don't have this debate then I'm afraid governments are going to take the heavy-handed approach and create mandates serving their interests but none of ours.</comment>


Rocket Launches Are Surprisingly Successful - <AUTHOR> http://blogs.scientificamerican.com/life-unbounded/rocket-launches-are-surprisingly-successful/ <comment><USER2> No, they're not. Failures are around 4% - 5%, and they've been around that since the 1980s.

Chemical fuels are just barely powerful enough to allow reaching Earth orbit. They can't get any better; they're already as energy dense as chemistry permits. NASA's "The Tyranny of the Rocket Equation" explains this clearly.[1] The payload fraction for the Saturn V was about 1%. The Space Shuttle, 4%. A 747 freighter, about 25%.

The fuel fraction for rockets is so high that the structures have to be weight reduced too much. If you could build a spacecraft with the weight budget of an airliner, it could potentially be as reliable as an airliner.

With nuclear engines, one could beat those limits. Early plans for Apollo included a nuclear upper stage. But nuclear is messy.

That's why rocketry hasn't progressed much since the late 1960s.

[1] [http://www.nasa.gov/mission_pages/station/expeditions/expedi...](http://www.nasa.gov/mission_pages/station/expeditions/expedition30/tryanny.html)

<comment><USER3> The basic physics may be the same now and in the 60's, but there is allot that can be done better in the rocket building industry.

Lutz Kayser (of OTRAG [1]) once said that rocketry currently is like "transporting potatoes in a Rolls-Royce".

Build inexpensive, modular rockets like OTRAG, that can be clustered (and possible reused) and you may cut at least some cost out of the equation.

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

</comment></comment><comment><USER4> I think it is far more surprising that an IC fab can create a chip with millions of transistors, without even a single defective one.

<comment><USER5> The number of components in rockets and IC transistors are probably roughly comparable. ICs have the advantage that they are making a huge number of only a couple of different things (e.g. transistors, resistors, capacitors). Rockets are composed of a huge number of different things, many of which are totally unique, which makes them much more challenging to build successfully.

Their failure rates are similar, but IC die failures are much less public.

Ref: [https://www.quora.com/What-is-a-typical-value-for-good- yield...](https://www.quora.com/What-is-a-typical-value-for-good-yields-in-a- semiconductor-fabrication-process)

<comment><USER6> > The number of components in rockets and IC transistors are probably roughly > comparable.

Unless you are counting the payload, I really doubt it.

ICs are only possible because people create some way to mass manufacture those features, and people don't even design the features by themselves.

If people created them at the traditional route of "manually design|manufacture this -> encapsulate into component -> use components to manually design|manufacture that -> encapsulate again...", it would be impossible to create chips as complex as we have now. But there still aren't better way to produce rockets.

All the problem with rockets is that they are created by joining a big number of things that don't really like to stay together (or, in a few cases, don't like to stay by themselves either). I doubt they have more bare complexity than a modern car.

</comment></comment></comment><comment><USER7> What does 'failure' mean in this statistic. Does failure always mean a catastrophic failure (i.e. the recent SpaceX launch) or are failures also rockets not leaving the platform?

I would think that a >5% failure rate is surprisingly high for something we have been doing more than 70 years.

<comment><USER8> In the last 70 years we've focused a lot on not having failures, spending all the money it took.

Now, the focus is somewhere else (namely reducing the cost per launch, in order to get us a lot more to space).

<comment><USER9> Pretty sure that SpaceX is focused on reliability. One of the analogy that Elon Musk used is comparing a Honda Civic versus a Ferrari, asking which is more reliable.

Historically, rockets are focused on performance, not cost.

SpaceX's focus on producing cheaper rocket and launching more of them will yield more reliability. You make more of them, you make more mistakes, more opportunities to correct them.

Eventually you'll have a system for making very reliable rockets.

<comment><USER10> there is Honda Civic, never heard of Toyota Civic :)

<comment><USER9> Fixed.

</comment></comment></comment></comment></comment><comment><USER11> For anyone interested in seeing an actual rocket launch(in the US), this article is a really good resource:

[http://www.space.com/32683-see-a-rocket-launch-in- person.htm...](http://www.space.com/32683-see-a-rocket-launch-in-person.html)

</comment><comment><USER12> Sounds like a PR article written just in time to rescue spaceX. The way data was picked (only half a year, many one-off new players) makes it look like 5% failure rate across the industry is the norm :

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

[https://en.wikipedia.org/wiki/List_of_Atlas_launches_%282010...](https://en.wikipedia.org/wiki/List_of_Atlas_launches_%282010%E2%80%9319%29)

Some rockets can claim years or decades of service without losing a single satellite.

<comment><USER13> Sure. I do have to point out though that those systems are not innovative.

I personally expect SpaceX to have more failures and am not surprised that they have. Back when NASA and the USSR were innovating in the 50s they both blew up a lot of stuff.

</comment></comment><comment><USER14> Hairless Ape 1: Ok, we're going to strap you into a tin can on top of huge tanks of stuff that will freeze you, burn you, and maybe give you cancer. Then we'll light it. Okay?

Hairless Ape 2: Sign me up. Sounds Awesome.

I love/hate you hairless apes. Give 'er!</comment>


Matrix: Down for Emergency Maintenance - <AUTHOR> https://matrix.org/ <comment><USER2> Perhaps this is not ready for my actual migration: [https://dl2.pushbulletusercontent.com/mfBHJiCUDJOpxznoD4TkeY...](https://dl2.pushbulletusercontent.com/mfBHJiCUDJOpxznoD4TkeY5D5i5P6AvN/image.png)

Given that none of the bridges work out of the box without significant massaging and my "distributed" synapse effectively becoming useless in extensibility without the central riot/vector servers running, I am thinking IRC really isn't so bad. ZNC or tmux/screen irssi, and you are there.

Things are getting so complicated, that I think we lose sight of the necessity for things that work. I don't want a smart hammer. I just want a hammer. Instant text-based communication is not complicated, yet we somehow find ways to make it so.

Back to work.</comment>


Ask HN: How much maintenance time do your side projects require? - <AUTHOR> What is a realistic amount of time it takes, say per month, to maintain a medium-sized (hard to define, but I think you get my drift) web app? <comment><USER2> It's hard to put a number on this.

I have had some sites that run for months without being looked at at all.

Sometimes a big chunk of work comes up all at once though.

</comment><comment><USER3> It depends on how much automation you build in.

I just resurrected a side project web app from a few years ago that is completely automated, but it is not very complicated so it probably doesn't count as your defined medium-sized web app.

I have no user registration for one thing, as my side project doesn't really need it and I hate having to register on sites to do the simplest things.

I do still check the web app about once a month for about an hour, just to run a check on things and make updates if needed, like changes to marketing copy.

</comment><comment><USER4> so far about an hour every 6 months. But I am working on a new look and major features so this will take considerable time.</comment>


Doctors admonish us to leave earwax alone. Why won't anyone listen? - <AUTHOR> https://www.statnews.com/2017/01/06/earwax-doctors-advice-ignored/ <comment><USER2> Because they go too far, and exclude fingertips, when they ought to be teaching how to (gently!) use vacuum and van der Waals forces (stickiness) to remove the wax, or at least move it away from the sensitive workings. If you don't clean, and your canal partially collapses or is narrow for whatever reason, then it can seal, cut off oxygen and cause permanent nerve damage that can lead to permanent discomfort and pain. There are risks on both sides, not just on one side. Our bodies want it out for a reason. Just not with a nail or other tool. Darwin and Evolution can't be swept aside; our wish to remove earwax is not a silly artifact.

</comment><comment><USER3> My doc tells me I should keep my ears clean and warns I could be temporarily deafened if I don't clean out the wax. Of course I have a gene variant that makes me secrete a lot of wax.

</comment><comment><USER4> They can't hear because their ear canals are filled with earwax.</comment>


New startup launch: saas that helps to create proposals - <AUTHOR> http://www.quoteroller.com

<comment><AUTHOR> if you ever created a proposal, check Quote Roller. We launched it last Friday. Need feedback on UI, usability, usefulness of service. all plans for the service are free till July, after July there will be just one free plan.</comment>


Flutter: UI platform designed for ambient computing - <AUTHOR> https://developers.googleblog.com/2019/12/flutter-ui-ambient-computing.html <comment><USER2> Wow, talk about burying the lede. I'm not sure how I feel about Google's so- called "ambient computing" idea that they were all about at this year's Google I/O, but Flutter being championed for desktop and web are huge! Does this mean the end of Electron, finally? They say it runs on macOS, I hope they get to Windows and Linux soon.

I built a little Android/iOS app in Flutter and it was a real delight. I didn't especially like Dart at first, but it was easy enough to pick up and then got out of the way more or less. I'd love to be able to easily run an app like that on the web. I know Dart's original vision was to replace JS but it seems they backed off that a bit. But it sounds like it's back on the menu!

I don't know if this changes anything exactly, in terms of what Flutter can do right now. I think web/desktop have always sort of been there. But what's new for me is this perspective that they intend to support other devices beyond mobile. I wasn't really sure about that before, since it seemed _mostly_ tailored to just iOS/Android when I was working with it.

<comment><USER3> I don't know how well they're supporting desktop and web UI idioms yet, but it looks like you can try out Flutter on the web using DartPad:

[https://medium.com/dartlang/a-brand-new-dartpad-dev-with- flu...](https://medium.com/dartlang/a-brand-new-dartpad-dev-with-flutter- support-16fe6027784)

<comment><USER4> Flutter already offically supports web and is a compilable target by default. You don't need dartpad. It is still on beta.

[https://flutter.dev/web](https://flutter.dev/web)

</comment></comment></comment><comment><USER5> Bizarre reading the vision for this "ambient computing" platform given that the web platform has already been doing that for years and you could imagine the Chrome team using nearly identical terms to describe what their mission is.

<comment><USER6> Sure, but the web is never going to be a great platform for apps on mobile or embedded devices.

<comment><USER5> You'd be surprised how many popular and widely used mobile apps run a significant portion of their experience with web tech. Depending on who you ask it _is_ a great platform for mobile apps (not that it can't be improved of course!)

</comment></comment></comment><comment><USER7> 31 years late, Google attempts to re-brand "Ubiquitous Computing" (aka "Calm Technology") as "Ambient Computing". At least it sounds more mellow, less intrusive, unwelcome, penetrative, and phallic than the other attempt at rebranding UbiComp as "Pervasive Computing" in order to sell it to the military.

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

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

[https://www.researchgate.net/post/What_is_differents_between...](https://www.researchgate.net/post/What_is_differents_between_Pervasive_Computing_and_Ubiquitous_Computing)

[https://internetofthingsagenda.techtarget.com/definition/per...](https://internetofthingsagenda.techtarget.com/definition/pervasive- computing-ubiquitous-computing)

>The term pervasive computing followed in the late 1990s, largely popularized by the creation of IBM's pervasive computing division. Though synonymous today, Professor Friedemann Mattern of the Swiss Federal Institute of Technology in Zurich noted in a 2004 paper that:

>Weiser saw the term 'ubiquitous computing' in a more academic and idealistic sense as an unobtrusive, human-centric technology vision that will not be realized for many years, yet [the] industry has coined the term 'pervasive computing' with a slightly different slant. Though this also relates to pervasive and omnipresent information processing, its primary goal is to use this information processing in the near future in the fields of electronic commerce and web-based business processes. In this pragmatic variation -- where wireless communication plays an important role alongside various mobile devices such as smartphones and PDAs -- ubiquitous computing is already gaining a foothold in practice.

You say pervasive, I say perversive. Let's call the whole thing off.

</comment><comment><USER8> What are people's impression of Dart as a language, compared to e.g. Typescript? Reviews so far seems lackluster. Does Dart have anything that sets it apart from JS, like immutable data structures out of the box? How's the support for functional programming, e.g. first order functions, closures, higher order functions like map, filter, reduce, etc?

How advanced is the typing system, are we talking Java level or significantly more powerful?

<comment><USER6> I've used both recently, deciding between them. Dart is better.

* Typescript is _much_ more popular, and integrates with other Javascript things better. There are way more libraries available for Typescript.

* Typescript has proper support for non-null types, whereas in Dart everything is nullable (though they are fixing it, as announced here).

* Typescript has pretty nice support for anonymous sum types (i.e. `number | string`).

However:

* Typescript doesn't actually fix any of the insanity of Javascript - it just _describes_ it. So you can still do insane things like using `var` or `==`. In Dart all of that nonsense has been removed.

* Typescript has `interface` and `class` which is needlessly confusing (it has no choice because Javascript).

* It's _way_ too easy to give up on typing in Typescript. It has a setting "no implicit `any`" but it doesn't seem to be comprehensive. You can do still stuff like just omitting the return type of functions and then they instantly lose all type information. In Dart you have to explicitly opt in to `dynamic`.

* Because types are added to Javascript libraries (via DefinitelyTyped), there's nothing that really checks that they are correct and very often they are just _wrong_. It's pretty annoying to fix when that happens and even harder to know what the correct fix is because obviously the underlying Javascript library has no types! You basically have to ask the authors what they meant.

* A lot of libraries aren't fully typed. For example Vue has very minimal typing - lots of things are just strings. As a concrete example, AngularDart gives you compile errors if the types in your HTML template are incorrect. With Vue they are runtime errors.

* The Dart VSCode extension is literally amazing. It gives you perfect errors and completion and it does it instantly. Nothing else I've used comes close.

When I first started using Typescript I was kind of under the impression that it was a better language built on top of Javascript. That's not really the case - it's still Javascript, it's just a slightly less insane way of using Javascript.

Dart, on the other hand _is_ a better language.

<comment><USER9> > You can do still stuff like just omitting the return type of functions and > then they instantly lose all type information.

That's not the case: [http://www.typescriptlang.org/play/#code/GYVwdgxgLglg9mABFAp...](http://www.typescriptlang.org/play/#code/GYVwdgxgLglg9mABFApgZygCgJSIN4CwAUIogE4pQhlIAsATMQL7HGoY4B0UcAqgA78UZAMIBDNChxA)

<comment><USER6> I stand corrected. Must have been thinking of something else.

</comment></comment></comment></comment><comment><USER10> Scanned the whole article, still don't know what "ambient computing" is. I suppose they mean writing apps that run on the little microphones they want us to put all over our houses. Seems like I remember there being a platform that was built in the '90s to run on any device. What was it called..

<comment><USER11> > _Scanned the whole article, still don 't know what "ambient computing" is._

As TFA says:

"In this emerging world, the focus starts to move away from any individual device towards an environment where your services and software are available wherever you need them. We call this ambient computing".

In other words, going from devices as siloes you use one at a time, each with each own apps, accounts, data, and so on, into using a plethora of devices that play together, can run appropriate versions of the same apps, give you access to your data from wherever you are, switch your workflow from one to another, and so on.

So like multi-platform apps + cloud storage + what Apple calls "Handoff / Continuity" or MS calls "Timeline" \+ IoT...

</comment></comment><comment><USER12> This is what I understood from all the hubbub around Fuchsia with Flutter powering the interfaces.

<comment><USER13> It's not called out in this blog post, but back at Google I/O earlier this year, they did say Fuchsia is powering the Nest Hub and Nest Hub Max. So those smart displays Google is making are Fuchsia + Flutter.

<comment><USER14> Actually, both Nest Hubs run on the Chromecast-platform, not on Fuchsia[1]. However their UI is actually made with Flutter[2]. However, both devices (as Sherlock and Astro respectively) exist in the Fuchsia repo and so it's safe to assume that they're developing Fuchsia on them and since Flutter is multi- platform they can replace the OS underneath via software update, if they chose to.

[1] [https://www.reddit.com/r/Fuchsia/comments/blyutb/the_nest_hu...](https://www.reddit.com/r/Fuchsia/comments/blyutb/the_nest_hub_devices_are_built_on_fluttercould/?utm_medium=android_app&utm_source=share) (See top comment)

[2] [https://twitter.com/timsneath/status/1125868510645669888?s=2...](https://twitter.com/timsneath/status/1125868510645669888?s=20)

<comment><USER13> Ahh, good to know, thanks!

</comment></comment></comment></comment><comment><USER15> It would be really nice if Google would get something going for dart on the server-side. I personally would make the switch to using dart full time for my side projects if I got the same benefits as I do with using node / react.

</comment><comment><USER16> I guess the folks doing Jetpack Compose better hurry up getting a stable version out.

</comment><comment><USER17> Not sure if it is counter-intuitive, but I was deciding between React Native and Flutter for a project and this announcement nudged me to decide on React Native.

I am pretty sure I just want my app to run on Android, iOS, and web. If Flutter's vision is making it possible to also design to TVs, smartwatches, thermostats, doorbells, fridges, etc it means that there will be trade-offs, added complexity, overhead, design choices to support that _" ambient computing"_ vision.

I don't want any of that, and it is good to know that in advance. RN it is.

<comment><USER18> I'm a professional plugin developer. I make plugins for Cordova, React Native and Flutter. Flutter is my favorite.

You should do a hello world at least.

<comment><USER19> Is building plugins faster/easier than building apps (using Flutter)? Looking to learn flutter so wondering if I should build a plugin or app when going beyond hello world.

<comment><USER18> Build an app. There are many things in the plugin api that you don't interact with in the app. The plugin api is the bridge between the front-end and native iOS / Android apis.

</comment></comment></comment></comment><comment><USER20> Am I the only one who sees all these Electrons, React Natives, Flutters, etc. as mostly middle-management-pleasing technologies made for crunching cookie- cutter apps with the least amount of outsourced developers as possible?

Whenever I see Slack, Spotify, VS Code, or any other "universal" app, it always strikes me as a completely out of place it looks and behaves, no matter what OS it's running on. Yes, it's relatively easy to make a multiplatform app with these technologies, ticking all the boxes specified by bean-counters, but in the process it usually completely sacrifices all the little details, integrations, patterns, etc. that make platform-specific apps such a pleasure to use. If you're used to apps behaving in a predictable manner, e.g. having similar shortcuts, similar icons having the same meaning (and other way round - similar actions having the same icon), then e.g. seeing a Material Design on macOS is just weird and looks completely out-of-place, not mentioning event UX aspects.

I know it's hard to quantify this in an Excel spreadsheet, but in my opinion following interface guidelines of the target platform and properly using its native technologies makes for a much better user experience (I'm talking here about the basic meaning of this phrase). For example, just look at Google Docs app for iPad - for sure it's written using some Google's weird "universal" technology, but every time Apple announces new iOS (now iPadOS) features, like split screen, multiple windows, etc. it taks Google months to provide support for them. At the same time, developers that follow Apple's guidelines and recommendation, they usually get these features in their apps "for free" or with relatively small amounts of work required.

I'm simplifying the whole situation here, of course, but I think trend of making all apps in Flutter et al. might be good for some people, but end-users are usually not one of them.

<comment><USER21> Using Flutter has been extremely helpful for us in a startup environment, getting apps built for both iOS and Android in half the time (or less) compared to doing both. Our team has plenty of native mobile experience and has built separate native apps that mirror functionality in the past.

Flutter was so much more efficient, it actually lives up to the promise of write-once, build to multiple platforms.

As for design, we have a very custom design and in Flutter you are in no way locked into Material design.</comment></comment>


Ask HN: How to become competitive as a remote developer? - <AUTHOR>

Hi All,
In about a year's time, I will be in a position when I can get rid of all my stuff and spend some time on the road or in a distant location ... Ideally I would like to find a remote job to keep my modest savings intact - doesn't have to be six fugures. I would like to hear your advice on being competitive in seeking remote employment.
My background is currently Microsoft-ish: .NET/C#/SQL/ASP/MVC, things like that, about 10 years experience. Should I focus on learning something new that will complement my skills? Do small projects on oDesk? Create a website? Write a blog? Something else? I'm already writing down some of the things I'm doing at or outside work at http://justmycode.blogspot.com and will continue regardless of my plans.
Any advice and ideas are appreciated. <comment><USER2> Start marketing yourself right now. Your best bet would be to continue doing .NET stuff, since there is a lot of demand for that, and you know it. Go ahead and network with people and lt them know your plans. Whatever you do, just talk to people about it and listen.

</comment><comment><USER3> Do mobile. I'm building apps for clients on my summer break from University and (will be) making decent money (when they pay me)

<comment><AUTHOR> Could you please throw in a couple more details? I.e. what platform - or any, and maybe a good book/website as a starting point? Thanks.

<comment><USER3> Do Android and iOS as they're currently making up the majority of the market (800 million devices) and they're the 2 most requested platforms.

For Android I used Marakana's Android Bootcamp Screencast Series. You can find it on YouTube or Marakana.com, it's _excellent_.

For iOS I used "Creating Your First iOS App" on Apple.com, got me started with everything I needed to know.</comment></comment></comment>


Is Amazon Bad for Books? - <AUTHOR> http://www.newyorker.com/reporting/2014/02/17/140217fa_fact_packer?currentPage=all

<comment><USER2> From the article: "Amazon has successfully fostered the idea that a book is a thing of minimal value."

Adam Smith discovered the _Paradox of Value_ : "Nothing is more useful than water: but it will purchase scarcely anything; scarcely anything can be had in exchange for it. A diamond, on the contrary, has scarcely any use-value; but a very great quantity of other goods may frequently be had in exchange for it." See _An Inquiry into the Nature and Causes of the Wealth of Nations_ , Book I, Chapter IV, "Of the Origin and Use of Money," Paragraph 13.

Like water, books may have a high use-value, but a very low exchange-value. Ditto for free open-source software.

It's unfortunate that the dominant school of economics today--Neoclassical economics--equates the value of a commodity with its price, whether the market is competitive or not.

By contrast, Classical economists like Adam Smith distinguished between (1) value, (2) use-value, (3) exchange value, and (4) price. Prices are further distinguished between natural prices and market prices--

(1) Value: The amount of labor necessary to the production of a marketable commodity.

(2) Use-value is the amount of discomfort or labor saved through the use of an object. Use-value does not depend on the existence of a market.

(3) Exchange-value: What quantity of other commodities an object will exchange for, if traded. It does not need to be expressed in money prices.

(4) Money prices: There's a distinction between "natural prices" (long-run cost-of-production) and "market prices" (price you actually pay for an object in the market); and these are only equal under conditions of market efficiency, equilibrium, and rational expectations. See the blog post "Adam Smith on Equilibrium" (March 26, 2013) at [http://somrh.blogspot.com/2013/03/adam-smith-on- equilibrium....](http://somrh.blogspot.com/2013/03/adam-smith-on- equilibrium.html)

Canadian poli-sci professor Robert Albritton claimed that capitalists (like Jeff Bezos, presumably) are indifferent to the use-value of the commodities in which they deal, since the only thing that matters to them is the money they make. Source: [http://www.nodo50.org/cubasigloXXI/congreso/albritton_31ago0...](http://www.nodo50.org/cubasigloXXI/congreso/albritton_31ago03.pdf)

<comment><USER3> Everything you've said is strictly true, but I feel like it misses the point. The difference between water and diamonds is that water's marginal utility is almost zero, owing to its ubiquity, whereas the marginal "utility" of a diamond is huge since most people have none already.

<comment><USER2> Adam Smith's LTV also solves the _Paradox of Value_ just as well as Marginalism: "The real price of every thing, what every thing really costs to the man who wants to acquire it, is the toil and trouble of acquiring it" (Book I, Chapter V, "Of the Real and Nominal Price of Commodities, or of their Price in Labour, and their Price in Money"). So diamonds cost more simply because they require more toil to acquire than water.

Marginalism (in its incarnations as Austrian economics and Neoclassical economics) has got its own problems: (1) impossible to measure an individual consumers' marginal utility; (2) general equilibria only exist under conditions of perfect competition; (3) uniqueness of a general equilibrium not guaranteed; and (4) general equilibria aren't stable (see the Sonnenschein–Mantel–Debreu theorem).

Marginalism in all its forms seems to exist only to attack government regulation, justify income inequality, and otherwise promote the interests of the top 1%. And it's proponents tell us that the only alternatives are systems designed to rob us and take away our individual freedom (Keynesianism and Marxism).

So my point was to provoke a reconsideration of Classical economics, which offers a forgotten alternative: Classical economists like Smith saw wealth as a flow of goods rather than as a stock of money; emphasized the creation of wealth; and (most importantly) viewed "laissez-faire" as a _means_ to the end of greater competition, rather than as an end in itself.

Returning to the topic in the OP, in Classical economics, it's possible that the "natural prices" of books are higher than the "market prices," because the market is not competitive, and middlemen like Bezos are using their market power to suppress the wages of authors.</comment></comment></comment>


Pencil - Sketching and Prototyping with Firefox - <AUTHOR> http://www.evolus.vn/Pencil/Home.html <comment><USER2> Better link: <http://pencil.evolus.vn/en-US/Home.aspx>

This page has a version that says "Compatible with Firefox 4 to 11"

I did use this a few years ago and it was pretty good. Think of it as a really stripped version of Balsamiq Mockups (<http://www.balsamiq.com/>)

<comment><AUTHOR> Sorry for posting an outdated link. There is also their svn repository at <http://code.google.com/p/evoluspencil/>

</comment></comment><comment><USER3> There's also standalone version on the downloads page if you don't want to use it as a Firefox addon:

<http://www.evolus.vn/Pencil/Downloads.html>

<comment><USER4> Just a quick note that the standalone version has a number of bugs (e.g. plugins might not install, templates might not install, etc.). So if you get an error, try the Firefox based one which works very well.

</comment></comment><comment><USER5> What's the advantages of using FireFox as your platform? Why not use HTML5/CSS3 or a cross-os platform like Adobe Air?

<comment><AUTHOR> You can make cross-platform standalone applications with Firefox too: use XULRunner to package your HTML5/CSS3 application. As matter of fact, Firefox itself is built on top of XULRunner. The advantage of XULRunner over AIR is that your users don't need to have AIR runtimes installed.

<comment><USER6> Can I use XULRunner to package my php based app into desktop standalone <http://www.mockuptiger.com>

It is rendering using html5 and lot of javascript but then would have to convert from php to pure html and then use XULRunner

</comment></comment></comment><comment><USER7> I admit to finding the name a bit off-putting. There is an amazing low- fidelity, highly iterative, and agile-friendly sketching tool and it is called a _real_ pencil. On _gasp_ paper.

Not that I don't use digital tools too, but I am often surprised how rarely people go analog when it can be invaluable.

<comment><USER8> True but often you need to present your design in a more professional environment and throwing together a sample UI in a matter of minutes can come quite handy.

</comment></comment><comment><USER9> For Firefox 3.5??? Could not find any compatible versions for 9.0

<comment><USER10> 3.5+</comment></comment>


Show HN: HotspotRobot.com - Discover the best restaurants - <AUTHOR>

Hey HN Community,
This is my first submission, so go easy on me. I'm launching Hotspot Robot (www.hotspotrobot.com) which provides a new way to find the best restaurants/bars near you. Right now, we're launching in NYC, Philly, DC, LA and San Fran.
Here is a 60 second video intro which hopefully makes it clear how Hotspot Robot is different than alternatives like Yelp: http://www.vimeo.com/18023901
For those of you who can't watch the video, basically Hotspot Robot works by aggregating professional content - specifically "best of" & "top 10" lists -  from trusted sources (e.g. Zagat, the New York Times, Food Network etc) and shows you which restaurants nearby are on the most "best of" lists. Therefore, it focuses on showing you the favorites of the pros, as opposed to having you wade through both the good and bad reviews from random Yelp users, some of whom are legit, but many of whom are biased or clueless reviewers.
The goal of the site is to do a better job answering these types of questions:
* "I need to meet my friends over in another part of town. I'd like to recommend a really great place. Which place(s) are the most highly regarded in that particular area/neighborhood?"
* "I'd like to settle the debate about where in the whole city is the best pizza (or burger or steak or brunch etc). Which place in all of NYC (or SF etc.) is on the most "best pizza" lists?" NOTE: see why Yelp kinda sucks at this: http://blog.hotspotrobot.com/why-yelp-kinda-sucks   and how we think we answer this question better: http://blog.hotspotrobot.com/best-pizza-in-ny-according-to-the-experts
* "My wife told me we're trying a new restaurant called Marea in NYC. What's it known for? Is it on any 'best of' lists and if so, what are those lists?"
As of right now, we have the highest coverage in NYC but hopefully the site is still useful in the other markets I mentioned. I'd love for any HN participants in these markets to give it a shot and let me know if they think the service is useful (or if you're not in these markets but still wanted try it out, I'd love your thoughts as well!)
Again, any feedback you could provide would be super helpful.
Thanks a bunch! Ryan <comment><USER4> Hi, some UI/Design feedback. Homepage:

* How can you not have a robot-eating-pizza logo! :)

* WAY too many different fonts and text styles. I count 12.

* Get some better/more appetising food photos

* The text boxes change size when selected, causing the layout to jump.

* Edit and cancel button icons jump 1px on hover.

* The cancel button has a text-selection cursor instead of a pointer

* The flat grey header doesn't really go with the wood panel effect.

* Wood panel bg repeats too soon with a visible join.

Results page:

* Overall very good, nice and clear

* The login pop-up needs proper styling

* I'd consider making the phone numbers always visible, rather than with the address expander. The first action if you're in a rush it to call a bunch of places to check reservations.

* The dollar signs to indicate price are a kinda ambiguous. How must is a $$$ meal compared to a $$$$ meal?

<comment><AUTHOR> Thanks for the great feedback. Some thoughts/responses:

* Robot eating pizza logo - Great suggestion! Definitely need a good logo, and will consider this when reaching out to a graphic designer / 99 designs.

* WAY too many different fonts and text styles - Guilty as charged. Will fix this in future updates.

* Get some better/more appetising food photos - Believe it or not, these are actually improvements over past iterations. But I will keep my eyes open for something even more delicious (although if you have food images suggestions, I'm all ears..er...eyes..er, stomach?)

* The text boxes change size when selected, causing the layout to jump. - Noted. Will add to list of things to address.

* Edit and cancel button icons jump 1px on hover. - Should be fixed now

* The cancel button has a text-selection cursor instead of a pointer - Should be fixed now

* The flat grey header doesn't really go with the wood panel effect. - <USER3>

* Wood panel bg repeats too soon with a visible join. - Fixed the visible join

Results page: * The login pop-up needs proper styling - <USER3>

* I'd consider making the phone numbers always visible, rather than with the address expander. - Interesting point. I've also had requests to make the entire address visible too. I go back and forth between making more info visible immediately versus keeping the results cleans and simple and providing more info on a need-to-know basis. Sounds like you think phone # is more vital to expose earlier.

* The dollar signs to indicate price are a kinda ambiguous. How must is a $$$ meal compared to a $$$$ meal? - Yes I can make this clearer. The system is the same as Yelp's for restaurants, but I should add a legend calling this out more or somehow make this more obvious.

Thanks again for all the great feedback. Super helpful.

</comment></comment><comment><USER5> I like the idea. However the results did not seem to be completely accurate for me. For example, I searched for Steak, Midtown, NYC. The first result, was Peter Luger (an amazing steakhouse) but it's located in Brooklyn (a real schlep from midtown). Other than that it would be great if you could incorporate the reviews in their entirety within your site, rather than pointing us to an external URL.

<comment><AUTHOR> Thanks. The area you search for (in this case, midtown, NYC) helps determine the visible map area, and then the returned results are the top ranked places within that visible map. If you don't want any brooklyn results, you can zoom in or pan on the map to only have the particular area of interest visible in the map. If you ensure you can't see brooklyn in the map, then Peter Luger should no longer show up in your results (but let me know if that's not the case for you).

As for including reviews in their entirety, I completely agree that would be valuable. However, we don't want to copy reviews completely (as that's likely copyright infringement). Instead, we try to make it (relatively) easy to jump quickly from Hotspot Robot to the original content creators if you want more details on reviews (or if you want menus from menupages, reservations from open table etc).

</comment></comment><comment><USER6> Looks great. If someone searches by zip outside of the area, maybe return a message saying that new areas are coming soon, and enter an email address to be notified? I skipped right ahead, entered my zip, and the first result that came up was Le Bernardin, but I'm 4 hours from NYC.

<comment><AUTHOR> Le Bernardin is pretty good, but probably not worth the four hour trek! :) Good point about collecting emails for people searching in areas that aren't covered yet, and alerting them when we expand to those areas. Thanks for the suggestion!

</comment></comment><comment><USER7> This is really cool. At first I was like whatever this can't be better than Yelp. But after playing around with it I like the way the recommendations work. Would be cool if you emailed me where I should go eat on a weekly basis.

<comment><AUTHOR> Yes, great suggestion. Added to the list.</comment></comment>


Brilliant django cheat sheet...from a Malian company. - <AUTHOR> http://yeleman.com/django-pragmatic-api-reference/#field-lookups

<comment><USER2> I think the link might be "wrong"?

<http://yeleman.com/django-pragmatic-api-reference/>

That seems to work better/different.

<comment><AUTHOR> Works fine for me. The URL you've put in is the un-shortened version. HN just shortens the displayed URL.</comment></comment>


Ask HN: Good architecture for C++ / QML projects? - <AUTHOR> I've been reading about this for some time but can't find any good technique. Basically I'm wondering how do people architecture C++ / QML projects and in particular the communication between the C++ and QML side.
In general I can get things working but after a while it becomes a mess of signals and slots, some signals being queued other immediate, which makes it very difficult to reason about. Basically it's not clean like a React/Redux architecture or MVC on the server-side can be.
I did stumble across "quickflux" but that seems a bit of a complicated hack, while I'd rather go for something simpler and more native to C++/QML.
Any suggestion? <comment><USER2> Do you actually need QML? What's wrong with "native" widgets?

I ask because I use Qt and c++ professionally, and have no use of QML. I could elaborate, but I'm more interested in why exactly you'd go for QML first.

<comment><AUTHOR> In fact I'd rather use native QWidgets as I find it much easier to work with, however as I understand Qt is now increasingly giving priority to QML so I'm trying to use it for this new project.

Also this is a mobile app and it seems Qt Quick is designed for this. I'm curious actually are the apps that you develop meant for mobile devices as well? And if so, how does the QWidgets work on them?

<comment><USER2> No, I don't develop for mobile, so I cannot answer there. Exclusively desktop.

I know Qt5 is pushing towards QML, but QWidgets aren't going away. In fact, I would consider it to be a _big_ mistake to use QML on desktop. It's much slower and doesn't really save the developer anything: pushing state to the JS layer doesn't you any good if you need to keep it sync with the lower layer as well. It's an extra indirection. It also looks completely out of place in all platforms.

QML _might_ be partially useful for drawing on GL surfaces, but again the performance hit will be a huge setback. We use different widget kits for drawing on GL. Since QML and QWidgets are different anyway, there's no reason to stick to it.

Also, QML widgets are improving, but they're all still qualitatively inferior from an user/usage perspective.

</comment></comment></comment><comment> once-in-a-while I wonder why people want to use/abuse signals and slots in QML, when it's perfectly possible to just use good old plain functions in a language binding, like it is done here (for ECL/Common Lisp):

[https://gitlab.com/eql/EQL5/blob/master/examples/M-modules/q...](https://gitlab.com/eql/EQL5/blob/master/examples/M-modules/quick/qml- lisp/qml/example.qml)

</comment><comment><USER3> QML evolved from binding Qt C++ objects into QtScript (JavaScript). If your QObject has Q_PROPERTY, signals, slots etc. you can access it from QML too.

Did you see [https://doc.qt.io/qt-5/qtquick-modelviewsdata- cppmodels.html](https://doc.qt.io/qt-5/qtquick-modelviewsdata-cppmodels.html) already?

Shamless plug: You can also ping us at email@example.com and we might be able to help with architecture/development of Qt applications.

<comment><USER4> Btw, do you get enough leads from your website?

</comment></comment><comment><USER5> On my last project we started an effort to redo our QWidget implemented UI with QML. The QML version was really slow, we actually ended up buying a commercial license to get access to a QML compiler just to speed things up. And that was for desktop, I'd expect it to be even worse for mobile. Integrating the QML components with the QWidget components was especially buggy. For a 100% QML project this would be less of a problem.

Interfacing C++ to QML is clearly not a priority in the design of the whole system. You can do slots/signals or you can register C++ objects into the QML namespace. Something along the lines of this tutorial: [http://doc.qt.io/qt-5/qtqml-tutorials-extending-qml- example....](http://doc.qt.io/qt-5/qtqml-tutorials-extending-qml-example.html)

Overall, I find the whole QML environment to be disappointing and I don't plan to use it again until it becomes more mature.

<comment><AUTHOR> I've ran a few QML tests on Android (reading/writing to/from an SQLite DB, displaying the results in a list, synching with a web API) and it seems reasonably fast. Did you identify something in particular that was making the app slow? Or was it just that the app was particularly complex?

<comment><USER5> To my recollection, the worst performer was parsing all of the QML at startup. This did not impact us at first, but as we grew the QML portion it went from a noticeable delay at startup to an unacceptable delay. It was something on the order of 10-30 seconds (on rather high-powered workstations to boot) to parse all of the QML files for what amounted to less than a dozen UI screens.

</comment></comment></comment><comment><USER6> I personally liked the idea of using QML, but the C++/QML interface made using it difficult. In the end I end up making another toolkit which consumed QML- like files and executed them using the mruby VM which has a much simpler C interface.

</comment><comment><USER7> So this is where I'd start[0].

Their site has amazing documentation. I personally found Qt even in the KDE2 days _miles_ better than React/Redux and non-Smalltalk MVC's. Since then it's only gotten better. Check out the examples here[1], the diving in section here[2], the book here[3], Stackoverflow has an overview of the whole system here[4].

You emit signals. Slots consume them. QObject::connect links the two. Queues are just queues in the traditional MQ sense. You don't use them in for, say, local GUI controls since it's generally a 1-1 unidirectional link (and if it's bi-directional, although I rarely need to do this, just ::connect( a,b,SLOT(),SIGNAL() ) then ::connect( b,a,SLOT(),SIGNAL() ). If you're still having problems read this[5]. If you have issues, that blog also has a preceding page which has a comprehensive analysis of the underpinnings of the entire slot/signal system in QT. If you _still_ have problems, get on IRC and someone will give you a hand. If you're having a major issue, contact me. If it's a quicky I'll lend a hand, if not I know a few absolutely spectacular HN engineers who I'd recommend in a heartbeat.

I'd be real curious as to what's you consider 'messy' about signals/slots is you're having re: slots/signals (I guess since I've used Moose's MOP with Perl 5 and CL they sort of came naturally to me). I have no affiliation with Trolltech/QT/Nokia/whoever-owns-whatever-now at all; I just think C++ is real easy to mess up, libraries are even easier and they did a way-above-average job with their code-base (not to mention, documentation, ecosystem, etc).

The setup you want to use for cross-platform is Qt5.x + QML 2.x + QtQuick 2.x (aka QtQuickControls 2 in newer versions). There's licensing issues on some of the fancy-schmancy widgets but most of the things follow LGPL, so just dynamically link, follow the rules, and you won't get sued. If you're working on a legacy codebase (gcc2.95.3 hollaaaaa), don't try to force new-style QT into an old project, or your experience will be similar to @bwoj. 5.6(or there abouts) and up is where QML started to shine.

N.b. you don't have to use QTcreator. I find it satisfactory but that just might be years of Stockholm Syndrome. Most people coming from the C++/MFC (or C++/WTL/ATL/COM/WinAPI world) are more comfortable with Visual Studio. No problem, the 'standard' procedure is just to do what you would do with any .sln and split GUI into another project.

\----

[0] [https://www.qt.io/qt-essentials-qt-quick-for-c- developers/](https://www.qt.io/qt-essentials-qt-quick-for-c-developers/)

[1] [http://doc.qt.io/qt-5/qtquick- codesamples.html](http://doc.qt.io/qt-5/qtquick-codesamples.html)

[2] [http://doc.qt.io/qt-5/qmlapplications.html](http://doc.qt.io/qt-5/qmlapplications.html)

[3] [https://qmlbook.github.io/assets/qt5_cadaques.pdf](https://qmlbook.github.io/assets/qt5_cadaques.pdf)

[4] [http://stackoverflow.com/a/19837895](http://stackoverflow.com/a/19837895)

[5] [https://woboq.com/blog/how-qt-signals-slots-work- part2-qt5.h...](https://woboq.com/blog/how-qt-signals-slots-work- part2-qt5.html)

<comment><AUTHOR> Thanks a lot for the explanation and the links, I'm going to go through all this.

I think the signal/slot system of Qt is very well designed actually (I had no problem with it in pure C++ applications), it's just my implementation while using QML which ended up being messy. I also had to refactor some parts due to Android not liking slots in one thread and signal emitter in another. Also it seems signals were sent in a particular order on desktop and a different order on Android. That's why I'm looking for a clean architecture which would allow me to know and reason about what's happening in the application.

<comment><USER8> [quote] I also had to refactor some parts due to Android not liking slots in one thread and signal emitter in another. [/quote]

Ouch? Worry free passing of signals/slots between threads is a feature of desktop Qt that I use and abuse all the time. I've even done a GUI-less daemon that used QtCore and abused signals/slots to communicate between threads. You mean it doesn't work on the mobile versions?</comment></comment></comment>


Ask YC: Good time & ways to launch - <AUTHOR>

Hello!
I'd like to know, what do you take into consideration when thinking about when to launch and how to launch a new web product, so it gets some attention?
Where do you post? (reddit, news.yc, digg, ..)
What's a good day time to post?
What's a good day to post? Mondays? And what about holidays? Is it a good idea to post on Jan 1st?
Do you write press releases? Upload logos?
I'd also appreciate if anyone can introduce me to bloggers or people interested in new products.  I have a product coming up which you can read about in my profile. <comment><USER2> Cool site. The calendar isn't working properly, though (you have to refresh to view events you add if they aren't on the current day). I also somehow ended up at the year 20070 at one point just by pressing the next link.

Regarding how to launch: I'd wait until you're ready first (this is obviously more like an Alpha launch, so just showing it to the YC community was a good first step). Once you are, you can do the normal digg and bloggers route, but even better is to figure out who are your target users and try to get in touch with them. Advertise on a site or in a publication they all read (try to negotiate and get this for free in exchange for something else). You can write a press release if it makes you feel good, but odds are no one's going to read it at this stage--it never hurts, though.

Otherwise, just try to get in touch with your users and ask them to spread the word. Sending a personal email to the early adopters would probably go a long way--ask them what they thought about it, what could you improve, then tell them you'd appreciate it if they could tell their friends. People like cool T-shirts too...

Definitely post on a Monday or early in the week if you can. Fridays are for bad news, no one cares on the weekend, or holidays for that matter. Bad idea to come out on January 1st if it's a mainstream release. Otherwise it doesn't matter too much.

Good luck.

<comment><AUTHOR> thanks myyoung, that's very good advice. I'll get those fixed.

<comment><AUTHOR> ok, adding works properly now. Thanks for bug report.

</comment></comment></comment><comment><USER3> Don't get too many people to seed sites like Digg for you -- we got buried yesterday when we launched <http://www.commandshift3.com> because we got a lot of our friends Digg us and they blocked it. It got on the front page of Reddit and del.icio.us completely organically, without any action on our part..

</comment><comment><USER4> This article on Guy Kawasaki's blog talks about how word of mouth from normal everyday folks is worth more than trying to get high-profile people to talk about you.

<http://blog.guykawasaki.com/2007/12/word-of-mouth-v.html>

 _Thinking_ that way would also push you in the right long-term direction. "How can I make a product worthy of being talked about?" vs "How am I going to get this in front of celebrities"

<comment><AUTHOR> very true, customers matter more than high profile bloggers. thanks.

</comment></comment><comment><USER5> Before you worry about the when and how, you should take a step back and be clear on your launch time goal.

With your initial launch, you don't necessarily want a big PR hit that draws 1000s of users to checkout your site. What you do want is a small group that joins your site and gives you feedback. Go for the big PR hit when you are more sure from your small user-base that you have a great product.

That was our plan. Fortunately(or unfortunately) we posted on the techcrunch forums and some people loved it and passed it to digg and soon it made the TC homepage without even submitting to them--making to TC was our 3 month goal.

</comment><comment><USER6> This is a fantastic resource when dealing with the traditional media. Something I would highly recommend you do, when you launch, in earnest.

The Care and Feeding of The Press: <http://www.netpress.org/careandfeeding.html>

</comment><comment><USER7> Great question, we're running into the same issues with our startup <http://freemyfriends.com>. Not sure how to get the word out without paying for a PR campaign. At the very least, we're just looking for feedback on our API.

</comment><comment><USER8> When your product is mature, it could be very different from what you started out with upon launching. It's hubris to think you'll get it right the first time. I'd say, therefore, don't worry about stuff like this at all. Launch but don't make a big stink about it on the blagoweb.

In other words, you don't want the Marimba Phenomenon to bite you in the ass.

Disclaimer: I'm a wage slave and I have never worked in a startup environment.

</comment><comment><USER9> Looks pretty cool. I'd remove the political advocacy link at the bottom though.

<comment><AUTHOR> thanks. Probably a good idea, removed it.

</comment></comment><comment><USER10> You should launch on Tuesdays or Wednesdays. Mondays still feel like weekends, and Friday everyone wants weekend to happen. Thursday is also not as good because people wait for fridays.

</comment><comment><USER11> I think you need to take the long view. Based on your comments you're looking at tactics instead of strategy. I should know, I'm guilty of that.

Focus on making something good. Focus on providing real value. Focus on having fun. Focus on getting solid and stable. The traffic and money will come.</comment>


Show HN: HN comments UI experiment - <AUTHOR> https://hn-level-based-view.gomix.me/ <comment><USER2> I don't like this UX, clicking into a thread and subthread removes the 'skimmable' aspect. I tried it on this thread and it took me around 10 clicks (forgot the count and not doing it again) to read everything. It also includes waiting and loading. You also lose the context of the replies.

Compare that with 0 clicks and 0 friction reading on HN.

Perhaps code is good but UX is bad.

<comment><USER3> That's interesting that the skimmable aspect is most important -- it's true, one does not want to click 10 times to view content one could otherwise "get" from scrolling, but I rather like the idea and I think she or he is onto something here.

I'm working on a UI currently that uses a similar feature, and what you say about being able to skim is something I had not considered much...

How to balance the two? UI flow, and everything-at-a-glimpse.

<comment><USER2> Maybe have the top level comments very prominently displayed, but show all or a few levels in in a smaller and muted style that expands inline.

</comment></comment></comment><comment><AUTHOR> Hey! I did this with two main objectives: learn React and start building a portfolio to get a job as a junior web developer.

As a bonus I wanted to try to implement a new UI to comment threads, to solve this preference of mine to read sibling comments on sequence (instead of all indented children of a comment).

I built it using React at Gomix (which is great btw, even for someone just learning to code), so using NodeJS also, and the data comes from Algolia's HN API.

I would love to get feedback. Anything, really, but especially at the code quality from the "will this help me get a job?" perspective. The code is here: [https://gomix.com/#!/project/hn-level-based- view](https://gomix.com/#!/project/hn-level-based-view)

<comment><USER4> Maybe you could have written it as a pure-JS page (without a server) that talks directly to the Firebase HN API (something like that exists, right?).

<comment><AUTHOR> I wanted to use React (for learning purposes), but might be a good idea to recreate this project a few times, each with different tech/approaches.

<comment><USER3> Really dig what you have going on here. Very creative.

</comment></comment></comment></comment><comment><USER4> Nice, but it is too slow to load comments, switch to next level etc. Why is that?

Clicking on random links inside HN is much faster on my computer and it downloads the entire HTML each time.

<comment><AUTHOR> Honestly, I have no idea. I would love if someone could pitch in and give an explanation so I can learn from this (details and link to code at my other comment).

My bet would be that it makes an API call for each change on the components. But probably the code could be improved aside from this.

<comment><USER5> I'd recommend loading Chrome's network tab as you browse the site to get some insight into this. For example, it looks like every time I click on a story it makes four requests; three are the same and the fourth is for 'undefined'.</comment></comment></comment>