Ask HN: What do you really need from a UI kit in 2018? - <AUTHOR> I'm close to completing the first version of my project, that uses the Microsoft Fluent Design as a base for web UI.
I'm trying to get as much feedback from developers who use UI kit on daily basis and I thought that HN would be a great place to do so.
So, what are the biggest pains when it comes to using such tools in your work?
Thank you in advance for any help. <comment><USER6> I created one myself as a side project [[https://underexpress.com](https://underexpress.com)] and learned following things:

\- How do you manage the updates in your ui-kit if base framework is changed [bootstrap, foundation, jquery, other plugins.]

\- Modularity: If i need only a few components i should have the option to include only those and not any unnecessary bloat.

\- Availability as package [npm etc.]

\- Example apps and landing pages. Some UI kits give email ui, todo list ui etc.

\- The kit should be lightweight + clean css [sass/less] + clean html.

\- Browser compatibility.

\- Easy customization.

If you are looking to develop something collaboratively I would be willing to participate.

I hope this helps you.

<comment><AUTHOR> Thanks for such a great info!

\- Modularity: If i need only a few components i should have the option to include only those and not any unnecessary bloat. - <USER5>

\- Availability as package [npm etc.] - <USER5>

\- Example apps and landing pages. Some UI kits give email ui, todo list ui etc. - Check, but this will surely be introduced later

\- The kit should be lightweight + clean css [sass/less] + clean html. - <USER5>

\- Browser compatibility. - Still to be tested, but works fine on most browsers

\- Easy customization. - <USER5>

</comment></comment><comment><USER7> Biggest thing is not exposing any internals to customization, but just coding a widget, wrapping it in a closure and calling it a day.

It's such a pain to have to fork a UI library or include the source code into my build pipeline just to make a small change.

One of the easiest and most helpful techniques for library authors to do this in JS is to make your public methods optionally accept functions that resolve to whatever data type you are expecting.

      if(typeof arg == "function") { arg = arg(); }

In ancient times, they called this the "open/closed" principle.

</comment><comment> rolha-capoeira Don't make any assumptions about the end-user (developer). I've tried many web UI kits and ditched many because they got in the way.

Ideally, I'd like to be able to include the modules and see no immediate effect — completely opt-in. I could first opt-in to the basic styling via a class on the body tag. Then I could opt-in to other components via classes and specific structures. Namespacing the CSS classes would be great, too, so there's little chance of colliding with my custom CSS [first-party, first- class] classes [that I shouldn't have to namespace].

The web UI kit I'm using now that comes closest to this ideal for me is [https://getuikit.com/](https://getuikit.com/).

<comment><AUTHOR> Thank you, I'll surely keep flexibility in mind. However, don't you think UI kits are meant to do the most of the job for the developer and should not require any additional work on your side? (as long as it does not interfere with your stack ofc)

<comment> rolha-capoeira I suppose that depends on what type of user you're targeting. I'm a front-end engineer, not a designer, so I want to be able to smoothly integrate with tools with minimal conflicts. I don't think it's asking too much of a user to add a class to the body. Consider that even if you're targeting non- programmers (designers), they will still customize the UI on top of your library and therefore know how to add a class to a tag.

On the other hand, I've tried somewhat- or very-opinionated UI kits and if there was something I didn't like or want to use, I had to find a way to opt- out, which was always ugly and not sustainable.

Additionally, this helps semantics and readability, and helps keep things scoped. What if I want to use your UI kit in a subsection of my document but not the whole thing?

To me, that is the holy grail of UI kits.

<comment><AUTHOR> That's a view worth keeping in mind. Does the kit you have mentioned above work for you in that way?

<comment> rolha-capoeira No, but it's the closest I've seen yet. It applies some pretty tame styles on inclusion, and every class is namespaced.

<comment><AUTHOR> I'll sure take a closer look at how it feels and works. Thank you. Feel free to join the waiting list - I'd love to hear a feedback from you on the first version.

<comment> rolha-capoeira Done!

</comment></comment></comment></comment></comment></comment></comment><comment><USER8> Something that's plug and play and works cross-device. If I'm using a UI kit, I don't want to be crafting my own styles, so something that's obviously customizable for my brand, but includes everything I need for my site out of the box.

<comment><AUTHOR> Thanks for the hint. I'm aiming into something similar to BS4 in terms of use simplicity - you download the kit, plug it into your site and go.

</comment></comment><comment><AUTHOR> Quick note here.

I've asked the same question on some of the other forums and was surprised how people want to help each other with such project. Seems like it's the same case here.

I do not have anything to show to the public yet, but I've prepared a waiting list for all the people who would like to see the final effect - [https://www.nespero.com/](https://www.nespero.com/) Please, feel invited to join. Thank you!

</comment><comment><USER9> I think most suggestions file under "Good Documentation". Is example bits of UI easy to copy and paste? How well have you documented your "helpers" and "glue" and less obvious stuff? Have you documented your goals in the project? Your non-goals and things you know don't work right?

Also, I'm curious to see how you are applying the MFD to web. I'd be interested to see that.

<comment><AUTHOR> "How well have you documented your "helpers" and "glue" and less obvious stuff? Have you documented your goals in the project? Your non-goals and things you know don't work right?"

This two questions really made me think about those two crucial parts. I'll surely let the users know about those with the first release. Thank you.

As for the MFD - I'm following the Microsoft guidelines all the way in hope to keep it a faithful re-creation, but simplified.

</comment></comment><comment><USER10> For custom applications for clients we've been using Propeller ([http://propeller.in](http://propeller.in))

It looks good (even if people think material is outdated) and is broken out into components. It does most everything we need and is based on Bootstrap.

<comment><AUTHOR> I know Propeller and I think the guys did a great job there. My project will also be based on Bootstrap to make it easy to jump in for most devs. I've put the link to the waiting list below and I'd love to hear your opinion the moment it's out.

</comment></comment><comment><USER11> One thing I personally value in something like this is the ability to opt in or out of features, so that I could use it a fairly low level set of utilities (think large user-facing piece) but also as a full-blown opinionated UI library with lots of things ready to go (think internal piece).

<comment><AUTHOR> I think I can check this one off by introducing modularity. The way I see it is that you have a download page where you can check all the features you want your kit to consist of and get just that.

</comment></comment><comment><USER12> Event listeners</comment>


Looking for two specific search engine startups - <AUTHOR>

<comment><AUTHOR> Sorry, I hope this is not too off-topic, but I couldn't think of any other place to ask.

One search engine was specialised on finding people. The special feature was that people could "adopt" the result page for themselves and add more specific information. So it was also a kind of Wiki, I guess.

The other one also allowed people to add meta data to the search result, in theory a kind of semantic web could emerge.

Both are fairly recent startups, I think. Don't know why I can't find them in my bookmarks anymore :-(

<comment><USER2> I think the meta data one is freebase ?

<comment><AUTHOR> You could be right - I used to see more information about them than they currently reveal, but it seems familiar. Many thanks!</comment></comment></comment>


RogerEbert.com relaunched - <AUTHOR> http://www.rogerebert.com/

<comment><USER2> Very nice that they did 301 redirects for all the thousands of URLs out there on their old CMS.

Example: curl -I [http://www.rogerebert.com/apps/pbcs.dll/article?AID=/2010031...](http://www.rogerebert.com/apps/pbcs.dll/article?AID=/20100310/REVIEWS08/100319989/1023)

      HTTP/1.1 301 Moved Permanently
      Cache-Control: no-cache
      Content-Type: text/html; charset=utf-8
      Date: Wed, 10 Apr 2013 03:54:00 GMT
      Location: http://www.rogerebert.com/reviews/great-movie-the-big-lebowski-1998
      Server: nginx/1.2.7

Much nicer URLs, now.

I had just posted his list of the 364 "Great Movies" on my site a few days ago: <http://sivers.org/ebert2>

Nice to know it looks like his great essays will stick around forever.

</comment><comment><USER3> A beautiful effort. This is my new go-to when showing clients what responsive means. Love that it's optimized up to 1400px.

It's particularly heartbreaking to see that this site was clearly designed to have Roger's ongoing influence... and it hurt to have his farewell post pop up in my RSS reader again. Glad to see him have a home on the web befitting his influence.

<comment><USER4> Came here to say this. They did a knockout job with this. Some pieces that just aren't easy to make responsive are done really, really well. For an example, check the filtering mechanism here: <http://www.rogerebert.com/great- movies>.

Also- the infinite scrolling is lightning fast. They're getting JSON and throwing it into a template(?) while loading images from Cloudfront. This is the way it should be done.

Big ups to the devs behind this. A migration is never easy and it looks like they handled it expertly.

</comment></comment><comment><USER5> Wow, this is very pretty. Members-only section feels hokey, I don't like it. Otherwise great.

I feel stupid saying this because it seems unreasonable of me to believe. But I feel that I won't enjoy movies as much as I used to, when I knew Roger Ebert was going to write about them.

<comment><USER6> I'm glad you like the site. It's been quite the undertaking...

And I agree, our Members-only section is definitely hokey right now! But give us a few months to get it fully up and running, and I hope it will become a useful resource for the intense cinephile and/or Ebert fan, something like ESPN Insider for a fantasy sports aficionado.

<comment><USER7> Any chance that you'd package the site up and submit it to the Internet Archive once its been polished?

</comment></comment></comment><comment><USER8> They nuked the entire "Ask the Movie Answer Man" section, which was one of my favorite things on the site. Even the old archives are gone. A search turns up links, but they are all broken. :-(

UPDATE: I found it!

<http://www.rogerebert.com/answer-man/>

But I don't see any easy way to search for really old Answer Man stuff in the archives.

</comment><comment><USER9> I really dislike the new design. The old site was brown and mellow; like you were sitting in the dim theater with Ebert after the movie, discussing it deeply over a cigarette or the remains of your popcorn. New site is bright, whitewashed, and ephemeral; like the convos in the lobby afterward where you're trying to say the movie sucked without offending anyone else's opinion, and after 2 minutes you give up to go back to your car. Old one was unique and wonderful; new one looks like every other stupid blog. Any Ebert fans agree?

</comment><comment><USER10> I've got some UX nitpicks with the search results...

Stuff like: <http://www.rogerebert.com/great-movies>

doesn't actually present basic information to the user, like movie release date, director, cast, or studio (instead presenting the month/day/year the review was written). Additionally, date filtering sorts the list by the date each review was written, which isn't particularly useful.

Search results expand to a multi-column layout when browser width increases, which makes them hard to scan (imagine if Google did this).

Because results aren't paginated or loaded all at once, there's no way to tell how many results you have in a search. How many "Great Movies" reviews are there? How many have I been presented with so far? There's no way to tell unless you scroll through all of them as they load in.

Otherwise the presentation seems very clean, and in general snappier than the suntimes.com behemoth.

</comment><comment><USER11> Great responsive design. Anyone know which (if any) of the responsive frameworks/libraries were used to make this?

<comment><USER12> Thanks philfreo. To answer your question, we didn't use any frameworks for the responsive layouts. We just let the content guide us to the natural breakpoints and worked with it from there.

</comment></comment><comment><USER13> His very last review - To the Wonder.

Feels like he wrote that knowing it was his last one. Amazing resolution to that review.

</comment><comment><USER14> Looks great mobile. I like this.

</comment><comment><USER15> Very fitting tribute.

</comment><comment><AUTHOR> I always wondered why rogerebert.com redirected to rogerebert.suntimes.com...I could see the Sun Times wanting him to be inextricably associated with the newspaper. And I don't think Ebert would've necessarily objected. I remember reading a column by him a long time ago about the legendary Mike Royko and how it was a shame he left the Sun-Times to go over to the more prestigious, but stuffier Chicago Tribune. I think even in this age of journalists making their own brand, Ebert was intensely loyal to his newspaper.

<comment><USER8> I think it's because the Sun Times paid the costs of running the site, but I'm not 100% sure.

<comment><USER16> That's correct, according to Jim Emerson ([http://www.rogerebert.com/scanners/remembering-the-roger- i-k...](http://www.rogerebert.com/scanners/remembering-the-roger-i-knew))

"At first our site also had the support of the Sun-Times, including Catherine Lanucha, John Cary, Jack Barry and the company's webstaff, but budget cuts and layoffs at the paper eventually left us with no day-to-day resources but ourselves: the only two employees of RogerEbert.com, as we liked to joke."

</comment></comment></comment><comment><USER17> RIP</comment>


NO-Framework approach to PHP - <AUTHOR> https://github.com/is73/php-nf <comment><USER2> ..and when you try to extend this to something reasonably complex, including third party libraries and a database, you'll realize why people stopped writing PHP like this years ago.

<comment><USER3> The actually looks like a simple single controller action using a view model. Nothing really stops you from implementing other abstractions like ORMs, state machine, authentication, web service calls, etc.

I actually think you could build a relatively well organized large project with not much more than this really needed.

<comment><USER2> You could, but I suspect that inevitably you would wind up having written a framework to organize and manage that complexity, just an ad-hoc and poorly designed one.

<comment><USER3> True enough, building crappy over engineered frameworks in big projects is inevitable ;-)

</comment></comment></comment></comment><comment><USER4> If this is not a joke, op is really a victim of framework formatting of his brain. That render() function rendering <?=> tags is just.. I don't know.

<comment><USER3> It's been a while but isn't <? and <?= standard PHP?

<comment><USER4> Actually it's <?php but it's the same

<comment><USER3> <? and <?= and "short open tags" supported optionally on older version but I think enabled by default these days.</comment></comment></comment></comment>


My Facebook Was Breached by Cambridge Analytica. Was Yours? - <AUTHOR> https://www.theatlantic.com/technology/archive/2018/04/facebook-cambridge-analytica-victims/557648/?single_page=true <comment><USER2> This wasn't a breach, it's literally how facebook was designed to work historically.

Regardless of whether your friend knowingly accepted the terms of some app which grabbed all of their graph info you yourself didn't actually consent to that sharing of data by that 3rd party. You could argue that anything you shared on facebook was effectively public domain information (that's been my position for a long time anyway) but it's certainly not how the majority of users understand it. But now suddenly people realize this information can be used to manipulate others and they are concerned after handing it out freely for nearly a decade and they're calling it a breach when it was the system working as designed?

</comment><comment><USER3> When I deleted my main Facebook they were using JavaScript to analyze unsent messages, I feel like my computer was breached by Facebook more than my Facebook was breached by any 3rd party.</comment>


I hired a team of shoppers to find out how businesses were opening in Dallas - <AUTHOR> https://blogmaverick.com/2020/05/07/i-hired-a-team-of-secret-shoppers-to-find-out-how-businesses-were-opening-in-dallas-its-not-good/ <comment><USER2> > And bigger picture, I wanted to know if these are places that I would feel > safe taking my family to.

I think this is the most important metric as far as "re-opening the economy" goes but it seems to be largely ignored by politicians.

<comment><USER3> Given that your children are unlikely to be at serious risk from COVID-19, I'm not sure why.

Your child is much more likely to be adversely affected (in the long term) by sustained economic stagnation than by this virus.

<comment><USER4> Considering most countries try to avoid overwhelming the healthcare system, your child is affected by it though not directly. It should just not get sick, or have any form of preexisting condition about to pop up, or infect it's parents to name some possibilities.

<comment><USER5> Considering many US hospitals are going under for lack patients, this is an argument that doesn't apply.

</comment></comment></comment></comment><comment><USER6> I just sent the URI to a friend with a restaurant. I think Mark Cuban did a public service here, ignoring some of the horrible comments left on his blog.

Even though I am at risk (old age and damaged lungs from pulmonary embolisms), I am for reasoned reopening of our economy, but only if we do it with I would call "smart style": adopt safety measures and make them mandated by law.

I wish more people would look at the covid-19 crisis as something that is serious but that we have to adapt to long term. If restaurants limit seating, use discardable menus, all employees wear masks, disinfect as appropriate, etc., etc. then we achieve Cuban's feel safe to take the family criterion.

<comment><USER7> I agree with you. It's nice to see reasonable people who understand the risk personally.

I saw a comment the other day where somebody said that we can't open anything up until a vaccine is developed. That is one extreme. then you have the other crowd who says just open it up and let me go see football and baseball games.

I think the worst part about all of this has been the fact that it's happened in a election year. We have a habit in this country of turning every election into an existential crisis, which is a recipe for creating radicalized viewpoints. Our media has now turned this into a partisan issue and now it's being treated as such.

<comment><USER8> The problem is there really isn't a sensible middle ground option.

It's like only spraying enough water on a fire to keep it from spreading out of control but not enough to put it out. When you're house is on fire there really is only two sensible options. Let it burn down your house or put it out.

It doesn't make a lot of sense to get the R down to ~1. This is a partial lockdown that last until the vaccine comes out and kills 1600 people a day.

It seems better to lock down and test and trace harder until r gets to .5 then wait for it to mostly extinguish then cautiously open up. Or let it rip through the populous until we have herd immunity.

</comment></comment></comment><comment><USER9> Wow, comment section there is a true dumpster fire.

That said, it seems that America is just flailing about and hoping for the best. and not even expecting the worst if the comment section is to be believed.

<comment><USER10> For those curious, a significant percentage of the commenters seem to think that this is exactly equivalent to the Stasi.

<comment><USER11> I wonder if this is due to a team hired by a competing billionaire?

</comment></comment></comment><comment><USER12> This is a nice example of private business picking up the mantle of what is ordinarily thought of as a government function. All the hostile comments (on the blog) are probably being made by people that favor small government and therefore theoretically in favor of a private company doing the survey. But apparently they don't want anyone telling them what to do.

<comment><USER13> Not sure people there have such a coherent ideology?

Restaurants NOT opening when the restrictions were lifted is actually a good sign if you are interested in small government: it tells that the restrictions were most probably non-binding as a constraint.

Ie they were telling people to do stuff that they would have done anyway.

(Compare to eg a 0.1 dollar/h minimum wage: almost no-one would actually be at that minimum wage, so it's 'non-binding' in the same sense.)

Government constraints that are non-binding or almost non-binding aren't too bad. Since they don't change market outcomes (too much).

<comment><USER14> I am no expert, but something to consider - in Austin a few restaurant owners said they will not reopen with 25% occupancy requirement, as it will be unprofitable. So the fact that very few businesses are open might be due to that as well (which is a direct effect of the government restriction).

<comment><USER15> I'm not sure they would be anywhere near full occupancy even without government restriction. I can imagine a significant portion of the population self-limiting to essential activities only, regardless of the level of government restrictions.

<comment><USER16> if that was true- why bother with regulation in the first place?

<comment><USER17> Because a significant portion does not imply that majority of the population will exercise prudence.

<comment><USER16> If a majority of the population doesn't exercise prudence, then it sounds like there is a very good chance for a restaurant to get back to full occupancy.

</comment></comment></comment></comment></comment></comment></comment><comment> kube-system Wow, the comments on that blog are a dumpster fire.

<comment><USER18> I know it's probably not "Russian bots", but...

Two of the comments post the same CDC 2017 list, and both come from twitter accounts with 0 posts (one is 100% retweets of anti-"liberal" content). I'm never sure how plausible it is for someone to have the time to sit on twitter all day just to RT these things and then jump onto rando blogs to leave long comments like these.

<comment><USER19> Edit

<comment><USER12> I think the OP is referring to the commenters on Mark Cuban's blog (and not the ones on HN)

</comment></comment></comment></comment><comment><USER20> > Media coverage, showcasing owner sentiment and infection statistics, paint a > picture of a large degree of latent fear in the marketplace.

Imagine how traumatic it will be if the death toll spikes up. We have fear because the virus is still active and deadly. If those fears are found to be justified than I suspect even smaller more sane opening up steps will be unpopular.

<comment><USER10> And that's not even touching the civil litigation risk.

</comment></comment><comment><USER21> The bigger story here is the comment section. Why are Americans so enamored with conspiracy theories and hate?

<comment><USER22> It's not just America... You have anti-5G/anti vaccine nuts in Canada and Europe too. We just seem to be louder.

<comment><USER23> Is it really on the same scale though? It's quite hard getting a sense of what's normal from Social Media sites since they are so US-centric. It certainly seems like a large portion of the population here misunderstand basic science, statistics, biology, economics, etc. Having been educated in the US public school system it's not that surprising that people are so poorly informed.

<comment><USER22> I'm not sure, like you said it's kind of hard to tell with the US bias social media and the media in general.

From recently memory though, I don't think there was cases of this in the States [https://apnews.com/4ac3679b6f39e8bd2561c1c8eeafd855](https://apnews.com/4ac3679b6f39e8bd2561c1c8eeafd855)

(But we're definitely more radical in other areas like protesters with guns).

</comment></comment></comment></comment><comment><USER24> I have to say I feel really sad how out of touch with life outside most of HN posters are. It must be nice to wax about theoretical problems and theoretical solutions when one thinks he is secure about where his or her check is coming from.

Let me tell you about what is happening in New York. On Saturday I saw a line three blocks long. Not tiny blocks. New York sized long blocks. That was a line filled with mostly blacks and latinos, some with children. It was barely moving. At the end of the line there was national guard giving out small shopping bags on onions, carrots and potatoes. Based on me timing it I estimate it took ~3 hours for someone joining at the end of the line to get what is, objectively, $10 worth of vegetables if bought in one of the supermarkets targeting poor Hispanic community. The only reason why they are standing in that line for three hours is because that $10 to them is money. Oh and if your state unemployment claim is "pending" then you do not get the fed $600/week unemployment either.

There's a very popular Bar/restaurant in Bushwick ran by a great but rather odd dude. 191 Knickerbocker. I guess he is relatively well off or he is good enterprising guy who manages to raise a lot of money. It provides free meals a couple of times a week. No questions asked. They are not much but they would certainly get you through the day. It has a half a block long line, split relatively evenly between latinos and whites. Initially the latter group did not want to be seen in the line, hiding their faces when others whom they thought were in the same socio-economic demographics went by. Occasionally you would see people crying. By now they don't care -- just avoid eye contact.

About a week ago on Saturday one of the chefy driven relief trucks showed up. The went around the _entire block_ by the middle of the day. When the people got there, they got two small paper bags of vegetables. The lines was mostly latinos. From talking to a couple of people who were volunteering they estimated about 4 hour wait between the time one joined the line and the time to get those bags.

My wife, who worked a white collar medicine related field was laid off and filed for unemployment in mid-march. Her unemployment claim is still pending. She's not alone. There are people who lost their jobs around beginning of March who are in the same boat. The NYS unemployment system does not have real time status. It does not have messaging. Its call system does not support queuing! People redial hundreds of times a day through the maze of prompts just to be disconnected because there are too many people calling. She legitimately lost it a couple of times. If I was not still making money, we would have been eating through the savings to cover rent. We rent our apartment from a family who lives in the same building. Both of them have been laid off. Neither of them have been able to get unemployment -- their claims are "pending". Every week they look more and more terrified as the only thing that lets them to put food on a table is me paying rent. And there's an eviction moratorium now until August, which means I can , at the cost of ruining a relationship with the landlord to whom I'm paying market rent, stop paying them. Oh and NYS unemployment fund is running out of money.

Last week the first of my wife's friends who used to only worry about when they would be able to go out to do "girl's brunch" have been laid off. The laid off person is shell shocked. At the end of April their company was absolutely convinced there were no layoffs coming.

We are only in the first act. This economic showdown only started at the end of March. Unless you own your own company and you can cut 90% of your expenses and still get enough revenue to pay yourself your white collar job is not safe. People working for companies in layoffs.fyi are the example.

<comment><USER25> > Its call system does not support queuing! People redial hundreds of times a > day through the maze of prompts just to be disconnected because there are > too many people calling.

If that's the case, can you script out the needed phone tree selections to make it less frustrating? This still works on android:

[https://www.androidpolice.com/2010/05/10/how-to-add-hard- wai...](https://www.androidpolice.com/2010/05/10/how-to-add-hard-wait-and- soft-2-3-sec-pauses-to-your-android-contacts/)

People used to do this when calling cards were more frequently used. You could setup a speed dial with all the pauses to dial the calling card, wait, enter the account number, wait, and dial your contact number. I think it'd probably work to repeatedly navigate a phone tree menu.

<comment><USER24> Unfortunately, it is not that easy because one can get dropped into different IVR trees for no rhyme or reason where the same sequence of key presses sends one into _at least_ one of the two different paths. One path at least theoretically leads to an agent while another path leads to a hangup. If she does not get approved this week I will have to resort to scripting Asterisk.

</comment></comment></comment><comment><USER26> What the fuck is up with those comments? I mean the answer is obvious, but still. At that point, just shut them off.

As for the actual topic, it's almost as if "closed" or "open" isn't the entirety of the subject? It seems like we could be dealing with some kind of underlying meatspace problem that needs to be addressed before things can go back to "normal". Who knew?! (/s)

Months ago it was apparent that this virus was going to cause an absolute clusterfuck in the US due to decrepit infrastructure and a failed society ethos. What I couldn't imagine was just how slow the train wreck would be. I guess we're all stuck generally inside and washing groceries for the next year while the idiots cheerlead their simplistic ignorance, and expendable employees are put through the meat grinder to keep the economy simulating.

<comment><USER27> There is no evidence that washing groceries actually reduces infection risk.

<comment><USER26> Just as there was "no evidence" that wearing a respirator reduces infection risk...

The way I see it, everything coming into the house gets disinfected. This way, home can remain home, without eg needing to constantly over-worry about touching my face.

I agree it's likely overboard, which is why I threw it out as an example of ridiculous things we are doing. But the advice on TV is, at best, meant to probabilistically keep most people from spreading the infection. I'm aiming to definitively keep myself clear for the sake of my older family.

<comment><USER24> There's still no evidence that wearing masks reduces infection risk to the wearer. There is evidence that wearing masks reduces infection risk to those around the infectious wearer of the mask. It is, incidentally, the exact reasons surgeons wear masks -- not to protect themselves from a patient but to protect a patient from themselves.

<comment><USER28> While it may not prevent you from catching the disease, it's pretty much a certainty that it will help mitigate the initial infectious dose you experience if you are exposed. A low initial infectious dose buys your immune system more time to learn to produce antibodies.

<comment><USER24> There's no evidence for this to be the case. If we are going to go into "It is common sense to do X" then why stop at "it is a common sense, wear a mask" and not include "It is common sense, if you have co-morbidity then it is you job to self-isolate and let the others to continue to function"

</comment></comment></comment></comment></comment></comment><comment><USER29> Of everyone doing this, I think that he should have more sympathy for those struggling during this time. Don't hire people to find violations. Help out people that are starving

<comment><USER30> He's not posting any identifying information. This is incredibly valuable service for those in reopening states to make an informed decision on whether to continue to take precautions.

<comment><USER29> Many people in tech all speak from an incredible place of privilege, being able to work from home.

There are many that are depressed and sitting at home.

These are the people we need to help.

Instead of trying to find violations, look for people that are hurting and help them out

<comment><USER31> I'm sorry, but until I see some proposals from politicians to help depressed people beyond "open up businesses", I'm going to remain very skeptical this is actually a legitimate thing they are concerned about rather than a cynical appeal to emotion. The very people who claim to be _so_ concerned with depression right now are the ones where were and are advocating to slash social support systems. Sure, let's help people who are depressed and sitting at home. This begins with listening to public health experts, who have been begging for politicians to listen to their proposals to combat depression. If the first and only proposal to combat depression is "open up businesses and get people back to work" then how can we be sure these people will still be serious about depression _after_ people get back to work?</comment></comment></comment></comment>


Journalists Trespass, Assault Tesla Employees at the Gigafactory - <AUTHOR> http://www.teslamotors.com/blog/journalists-trespass-assault-tesla-employees-gigafactory <comment><USER2> Saw the headline assumed that it was an overstatement and that reading the article would show that someone just give someone else a little shove or something. After all this is on Teslas website, so you'd expect them to portray the situation the way they want it to be seen.

Turns out the title isn't sensational, it probably should be something like "newspaper employees attempt to run over Tesla security guards". They actually UNDERPLAYED it.

Did this make any kind of national news? Seems like a pretty good store that you'd expect the media to be repeating.

Wow.

<comment><USER3> I think Tesla's entire account sounded like the truth washed with as much bias and bullshit as their legal department could get away with. I'm not trying to excuse the actions of the RGJ employees here, they should be prosecuted appropriately for both crimes.

> As the Tesla employee attempted to record the license plate number on the > rear bumper, the driver put it in reverse and accelerated into the Tesla > employee

I'd suggest it's more likely that reversing out was required to leave and the security officer moved behind primarily to stop them from leaving. Again it's still illegal to drive over human beings but it can also be a nearly simultaneous thing not necessarily a premeditated and psychotic choice on the part of the driver.

> As the RGJ employees fled the scene, their Jeep struck the ATV that carried > the two safety managers.

Wait I thought he was on the ground bleeding out from his multiple 2-3" lacerations? Is it also possible that the ATV struck the jeep or drove in front on the jeep and caused the collision because the security wanted to detain them? Perhaps the ATV catching up to a fleeing jeep was not engaging in the safest behavior?

> When one of the safety managers dismounted the ATV and approached the Jeep, > the driver of the Jeep accelerated into him, striking him in the waist.

I'm sorry this reminds me too much of dozens of police reports of "driver tried to run over officer, officer forced to use his gun" which is sometimes true but it far too many cases turns out to be complete bullshit.

Again I don't want to apologize for the illegal and dangerous actions of the RGJ employees here but (1) this isn't the whole story and (2) I think it's absolutely ridiculous that Tesla has their secur-- err "safety" staff heading people off at the pass in ATV's and risking their lives over some illegal photos. It's also possible that my skepticism is misplaced and Tesla is not exaggerating here and RGJ employees engaged in exactly the behavior described.

<comment><USER4> >> _As the RGJ employees fled the scene, their Jeep struck the ATV that carried the two safety managers._

> _Wait I thought he was on the ground bleeding out from his multiple 2-3 " > lacerations?_

How about: one officer down, other inside the ATV which was parked, maybe or maybe not blocking off the jeep?

> _I 'm sorry this reminds me too much of dozens of police reports of "driver > tried to run over officer, officer forced to use his gun"._

Except here it's the officers who got hurt. Damage was pretty one-directional.

I guess I trust Tesla on this one so far - they have pretty much a perfect record of being honest-to-God and fair, which is quite unusual as companies go. Definitely _not_ trusting the journalists though. Ultimately, we'll see how this plays out in court.

Also, I wonder what Elon has to say about it. He also has a track record of being honest, so this would be a good data point.

<comment><USER3> > I guess I trust Tesla on this one so far -

Tesla is a party to the incident and has a reason to spin it as far in their favor as possible. Their account also completely omits any mention of the window of the jeep being broken with a rock and the driver's side seat belt being severed so idk why we should just swallow their account on it's face.

How about trusting a source that doesn't have a dog in the race? Here's ars technica's writeup:

[http://arstechnica.com/tech-policy/2015/10/tesla-says- reno-j...](http://arstechnica.com/tech-policy/2015/10/tesla-says-reno- journalist-struck-security-guards-on-gigafactory-grounds/)

You can read that and see it's a lot more neutral than Tesla's blog post. It reports tesla's side and also info from RGJ's article and supplements that with comments from the sheriff.

> they have pretty much a perfect record of being honest-to-God and fair

The hero worship is real.

<comment><USER4> > _Tesla is a party to the incident and has a reason to spin it as far in > their favor as possible._

They have, but the reason many people, myself included, trust them is that they _didn 't follow such reasons in the past_. Honesty is being accurate even if you have a reason to spin.

> _Their account also completely omits any mention of the window of the jeep > being broken with a rock and the driver 's side seat belt being severed so > idk why we should just swallow their account on it's face._

That's why I say we'll see how it plays out in court. Facts will (hopefully) be uncovered. I'm not assuming Tesla is definitely 100% right; this may be the case when they start bullshitting like every other company. I'm only trusting they're honest here given that they've been honest before, _which is not industry-standard practice_.

> _The hero worship is real._

It's not hero worship, it's trusting those who've proven themselves trustworthy.

<comment><USER3> > it's trusting those who've proven themselves trustworthy.

Tesla has a long history of exaggeration and broken promises and describing them as having a 'perfect record of being honest-to-God' borders on the farcial.

[http://jalopnik.com/what-will-tesla-and-elon-musk-over- promi...](http://jalopnik.com/what-will-tesla-and-elon-musk-over-promise- next-1672402636)

</comment></comment></comment></comment></comment></comment><comment><USER5> Okay, I understand "investigative journalism", but a) that's not the definition and b) the driver should face an attempted murder charge.

Knowingly running someone over with a vehicle is nothing less.

<comment><USER6> Based on the text of the article:

> Once the Sheriff's Department arrived on the scene, they arrested one of the > RGJ employees for two counts of felony assault with a deadly weapon

I'd have to say the police are right and you're wrong. Assault with a deadly weapon seems much more appropriate than attempted murder. Nobody died, there was no intention to kill anybody, and there was no action taken that was particularly likely to cause death. "Deadly weapon" covers it.

<comment><USER7> How exactly is aiming a car at someone and hitting the gas any different from aiming a gun at them and pulling the trigger?

<comment><USER8> Cars have many uses, such as getting away. Guns have only one use.

<comment><USER7> From the victim's point of view, that's a distinction without a difference.

<comment><USER4> The situation has probably played itself very quickly and was full of split- second decisions. The journalists may had no intention to actually run anyone over; maybe they were trying to sneak between that ATV and a guard standing, and they miscalculated the turn. After they hit the first guy this whole thing probably turned into "Oh shit shit shit! What have we done?" situation; people without training tend to lose any rational thinking capabilities in those.

</comment></comment></comment></comment></comment></comment><comment><USER9> [http://www.rgj.com/story/news/2015/10/09/rgj-photographer- ar...](http://www.rgj.com/story/news/2015/10/09/rgj-photographer-arrested- after-altercation-withtesla-security-guards/73693850/)

<comment><USER10> "Andy Barron was booked on a charge of battery" HAH

</comment></comment><comment><USER11> Wow, what stupid/terrible thing to do. I can't believe someone would seriously think that assaulting Tesla's employees is a good strategy to escape being prosecuted...

</comment><comment><USER12> Just wondering if those employees will be showcased on www.rgj.Com's local crime mugshot.

<comment><USER13> Or will they go through the perp walk that the media loves to deploy on others?

</comment></comment><comment><USER14> The act is closer to that of an "asshole", rather than a journalist.

Calls 'em like I sees 'em.

<comment><USER15> Are you still a journalist if you don't have a job? Because these guys shouldn't get to keep their job.

<comment><USER16> Their job is really the least of their worries now.

</comment></comment></comment><comment><USER17> This is one side of the story, don't forget that.

</comment><comment><USER18> Neoluddites?

</comment><comment><USER19> This is not unusual. Media scrums can be more mosh pit than journalism. There are always a few who act aggressively and have trouble turning that off once things get violent.

But I wouldn't absolve tesla. A cop would have been trained not to stand directly behind such a vehicle. Someone will surely look into the actions of these security guards to see if they perhaps went above their duties, or whether deploying security guards to deal with such a vehicle is ever appropriate. There are situations where non-cops are expected to stand aside.

<comment><USER5> > But I wouldn't absolve tesla. A cop would have been trained not to stand > directly behind such a vehicle.

Nothing, absolutely nothing, allows you to knowingly drive over someone with a vehicle. Except if the other guy has a gun drawn and pointed on you.

<comment><USER19> Not what I was talking about. There are several issues, whether these trespassers committed a crime is just one. This is an on-the-job injury of an employee. Whether anything went wrong on the employer/employee side to contribute to this is a totally different evaluation. Whether these guards had the authority to seize the vehicle is another. The insurance companies that have to pay for the medical care will look into these questions. Note that Tesla is not describing these employees as heroes. Tesla (or whatever company trains/deploys these guards) might be on the hook for substantial costs.

No doubt this incident will result in new training and/or a serious rethink of how security guards are deployed in such situations.

<comment><USER16> Dude, the Tesla employees just asked them to wait for the sheriff to arrive. It's not like they jumped on the hood of the car. Writing down the license plate number should not get you run over.

<comment><USER20> We don't know the situation of the vehicle. Maybe backing up was the only reasonable way to escape from what the journalist thought was a dangerous situation. No Idea if this is true, just playing devils advocate in the interest of preventing a digital lynch mob.

<comment><USER16> Sorry, I can appreciate some devil's advocacy, but I'm just not buying it here. Assuming the Tesla employee was unarmed (which I think is a safe assumption), then there's nothing potentially dangerous enough to justify running someone over rather than wait the few minutes for law enforcement to arrive. Even if you think you are being falsely imprisoned, I don't think you are justified in running someone over rather than wait a few minutes for law enforcement if you are not in immediate danger.

<comment><USER19> You are assuming that the 'running someone over' was deliberate. We don't have enough information for such determinations. It may have been accidental, or more likely criminally negligent, but we shouldn't assume deliberate attack without all the facts.

<comment><USER21> We do have them hitting two different people on two different occasions. That's not iron-clad by any means, but it is evidence that weighs against the accident theory.

One detail is that Tesla alleges that they 'accelerated' in reverse. This is completely abnormal and if it can be corroborated by the physical evidence, it will be very troublesome for the driver.

Further, I have to believe that Tesla has no shortage of people who know about accident reconstruction and who can determine the idle speed & mass of the jeep and compare that with the force needed to cause skid marks or to have knocked the employee whatever distance. If they were to do that, it would be very interesting because we all know just how skilled their engineers are, from Elon on down.</comment></comment></comment></comment></comment></comment></comment></comment>


Our journey of building an iPhone app - <AUTHOR> http://gradespotter.com/blog/our-journey

<comment><USER2> Great man.</comment>


Ask HN: What would WordPress look like if it's written in 2020? - <AUTHOR> I'm seeing a lot of change in the web development recently: pushing everything to the edge, static site generators, AMP, etc.<p>I'm wondering if somebody would start writing WordPress nowadays, how it would be shaped? <comment><USER2> Object oriented at least and probably using a modern JS framework</comment>


JavaScript becoming the lingua franca for mobile development - <AUTHOR> http://www.sdtimes.com/JAVASCRIPT_BECOMING_THE_LINGUA_FRANCA_FOR_MOBILE_DEVELOPMENT/By_Christina_Mulligan/About_JAVASCRIPT_and_APPCELERATOR_and_IDC_and_MOBILEDEVELOPMENT_and_LINGUAFRANCA/67508 <comment><USER2> "JavaScript becoming the lingua franca for mobile development" says a report commissioned by a company hawking a mobile framework where the API is… JavaScript.

<comment><USER3> When you have a hammer...

</comment></comment><comment><USER4> Not just being a contrarian, but really?

I could swear it's C++, and I hate C++. One major factor is it runs on all environments, including via asm.js if you are inclined that way.

It might be true that most apps end up written in other things, but the most money will be made from C++, C# (via Unity) and ObjC. If your app is too easy to write it will be cloned and you won't make money from it anyway.

<comment><USER5> >If your app is too easy to write it will be cloned and you won't make money from it anyway.

That's a bit oversimplification. First of all, writing in JavaScript doesn't make the app easier to clone, the programming language has very little effect on the easiness of cloning. Secondly, even if an application can be re- implemented quickly, doesn't mean one cannot make money from it. Twitter can be implemented in a single weekend, but that doesn't mean the Twitter-clone will be profitable.

<comment><USER6> "First of all, writing in JavaScript doesn't make the app easier to clone"

Yep, shipping the source code for your entire application _IN_ the application doesn't make it any easier to clone. Somebody better tell that to the Phonegap users who are dealing with knockoffs:

[http://www.tuaw.com/2012/02/17/ripoff-apps-plague-some- ios-d...](http://www.tuaw.com/2012/02/17/ripoff-apps-plague-some-ios- developers/)

<comment><USER5> I was talking about legal clones.

</comment></comment></comment></comment><comment><USER7> For apps that just display content, sure. Those are essentially nothing more than glorified web apps.

For apps with specific functionalities, no way. A combination of Java (for Android) and Objective-C (for iOS) with potentially some C++ under the hood to easily share logic code between platforms. C and C++ are pretty much the only languages that run on all those platforms (out of the box). Obviously you can get any language running on any platform, given enough time.

<comment><USER8> What about writing cross-platform UIs using HTML/JS for those parts that must display content (not necessary from web)?

<comment><USER7> While I think as a concept it's absolutely great, I'm still not that happy with their actual results and performance. Things have certainly improved over the last years, with iOS moving closer towards Android by using flat design.

If you're targeting high end devices (which is easier when targeting iOS than Android) it's probably pretty good for UI stuff. The problem usually lies with the lower end Android handsets. That said, most of these pure HTML/JS apps are pure junk when comparing them to a well developed native app. Depends what the business objectives of the app are, I guess.

<comment><USER8> What about looking at long term? Android 4.4 (KitKat) uses Chromium engine for WebView. On Moto G 200$ device it works like a charm. In 2 years everyone will have Chromium on their phone.

<comment><USER7> Sure, in 2 years. That's still a pretty long time.

It's constantly been improving for like 5-6 years, and it's still not there yet.

<comment><USER8> What do you mean not there? I have Moto G with Chromium based WebView NOW.

</comment></comment></comment></comment></comment></comment><comment><USER9> JS is a terrible language that nonetheless has wound up being everywhere. But despite its shortcomings as a language it is extremely flexible in what you can do (abuse) it with and that is probably its biggest advantage.

<comment><USER5> Most critics of JavaScript don't know the good parts[1]. Sure, JavaScript has problems, but convention and static analysis fixes a lot of it. In addition, you can use something like TypeScript if you don't prefer dynamic typing. And it must be said that JavaScript does some things better than C++/C#/Java, e.g. functions. These languages are only now starting to catch up.

1\. [http://www.youtube.com/watch?v=hQVTIJBZook](http://www.youtube.com/watch?v=hQVTIJBZook)

<comment><USER10> Thanks for posting the link to the video. Just watched it, total of 1 hour - was really worth it for me. Increased a bit my love for JavaScript.

</comment></comment></comment><comment><USER11> Hah - what a joke. Stopped reading when I got to the second line: "[Javascript's] ability to render rich results from lightweight, simple-to- learn languages has made it a natural fit for mobile's speed of development," according to Appcelerator." I take it the developers polled for this article are the ones on Appcelerator's mailing list...

</comment><comment><USER12> From engineering POV JavaScript is more effective, for example w/ cross platform PhoneGap.

Say you have a $2M eng budget for start up round A for 2 years, so $1M per year. 1/2 goes to services/back end dev and ops. So $500K for front end. 3 platfroms, Web/mobile web, Android, IOS, so 3 developers ~ 150k. I recommend you get 3 HTML/js devs.

If you get 1 per platform: vacation/sick time, turn over, management difficulty, lack of oversight, pain. Just let the compilers do the work.

</comment><comment><USER13> Why do people even care about languages? I've written code in dozens of imperative, object oriented and functional languages and really can't see what the fuss is about. It takes a few days to get comfortable with a new syntax and then you're back to looking up library documentation and gluing pieces together. Learning a new syntax is a fraction of the time spent writing an application. Are people just lazy, complacent or stupid?

<comment><USER8> People want to write the same app once: not one version for iOS, another for Android and third for something else. JavaScript seems moving towards that. Qt/QML is another choice that is available now but Qt has its own problems.

You should choose the right tool for the job - that's it. That's neither stupid, lazy or complacent.

<comment><USER14> >Qt has its own problems

Could you elaborate on that?

I was excited a few days back that iOS/Android is now supported by Qt/C++. I found that it still doesn't support the QtQuick Controls on mobiles. That dampened my enthusiasm a bit.

<comment><USER8> LGPL is one. It is quite permissive license but it has its own little problems.

HTML is another one. HTML gets better support on iOS and Android and there will be no reason to use something else in the future. It is much better when your app is small than it takes extra 12Mb (Qt libs).

There might be other little reasons why it might not fit for you because of technological reasons. Weight Qt against your requirements well.

I really like Qt/QML but it is not good for everything.

</comment></comment></comment></comment><comment><USER15> Nonsense. For Android it is _NDK_ (which is why it is _possible_ to build nice apps, like FB client) which is C[++], for iOS it is ObjC. Other platforms cannot be considered seriously in 2014.

<comment><USER16> The Android NDK is usually used for applications that don't use the Android API's (which are all Java). Most applications on Android is written in a JVM- based language. The sort of applications that would typically use the NDK are games, emulators, VMs (like Xamarin.Android) and the like.

ObjC is also slow. Anytime you write something performance sensitive in ObjC, you usually drop down to pure C or pure C++. Luckily, since valid C is valid ObjC, this is rather easy.

Javascript and HTML is actually a great fit for mobile, but there are two complications. 1) You will have to mimick the UI of the native platform. 2) Mobile platforms have sub-par JS engines. iOS don't allow JITs outside Safari (even when you use a webview in your ObjC app) which in turn makes JS-based apps in iOS slow. Android has in general had a pretty sucky webview, but that is getting fixed in 4.4 with chromium being the default engine.

JS is getting better everyday on the mobile though, I would be surprised if not alot of people were using JS for apps in the coming years.

<comment><USER15> This is exactly what those marketing guys have said. In so-called objective reality 99% of apps people are using, such as FB, Adobe reader, Skype, WhatsApp, you name it, are NDK apps.

99% of TOP20 apps _in each category_ are NDK apps, you like or not.

<comment><USER16> All those apps uses the native GUI of the platform, which means they have to use the SDK. Why FB would even consider using the NDK is beyond me, as the FB app is simply a frontend over a web-api, and since you already have a HTTP library in the SDK, the NDK holds little value.

The only app on the list that could benefit alot from the NDK would be Adobe reader, but even Adobe uses the native UI to a great extent, so it uses the SDK as well. The other apps are (I assume, as that would be easiest) simple clients to a backend server. There wouldn't be much benefit in using the NDK for these apps, as they mostly are a combination of UI and TCP/HTTP which are included in the SDK anyway.

Btw, any source that these apps actually use the NDK?

<comment><USER15> OK, I will try to explain. The problem with Java is that it doesn't actually fits for mobile development (or any sane development at all) being just a buzzword, a bubble inflated by corporate money.

Consider the very basics of system architecture. There is something called ABI, which defines how syscalls are used and implemented. Android uses its own ABI which is a flavor of Linux ABI for ARM architecture (actually it supports different ARM chips and even x86, but it doesn't matter).

According to these ABIs we perform syscall as it is in a Linux system. So, when we do Math we actually call procedures from libm.so, when we do crypto we call libssl.so (from OpenSSL) etc. It also has its own variant of libc.so and implementation of OpenGL ES, as one could guess, libGL.so.

How does Java fits here? Well, according to original concept, it ought to be an isolated VM on top of any OS, which supposed to be run everywhere, and everything must be written (once) in pure Java.

Because of that brilliant idea to simply ignore what an OS provides, they have re-implemented everything its own, _proper_ way - famous Strings, Calendar, UTF-32, you name it.

So-called reality, however, imposed some necessary corrections, and the kluge called JNI was added. It allows to break the purity and, using ugly and very inefficient mechanisms, dlload and call OS and third-party libraries.

What we have in Android is, basically, a bunch of JNI calls to Android Runtime (libart.so, if I got it correctly) which is, not surprisingly, have nothing to do with Java. I am not an expert to tell how the bytecode translator (dx) works, but it doesn't really matter.

Why do Android has Java at all? The answer is quite simple - because it is such a huge buzzword, such a great scam. It was the way to gain attention of ignorant masses^W^Wmillions of coders. "Wait, Java? Sounds familiar!" (The very same idea to play the Javascript card with WebOS have died, thank god.)

So, the developers of complex (read: real-world) apps such as FB have realized that this unnecessary Java layer can't be used for anything but hello-words or http-get-post apps, and that it is much easier to avoid Java at all (what's the point to have the overhead of all that JNI calls), because, one could see, it is just an unnecessary, artificial layer which doesn't fit anywhere (except manager's presentations).

I probably missed some details, but I am not an Android expert.

<comment><USER16> This again, is wrong. Android was made to run managed code from the beginning, it's designed around that very fact. Let me try to enlighten you.

In Android, every process spins up its own Dalvik VM. Yes, Dalvik VM, not Java VM, as Android doesn't run Java. The android development tools does contain a Java Bytecode to Dalvic Bytecode converter (dex), which is why JVM based languages run on Android, as long as you don't generate Java bytecode on the fly (which several dynamic languages do).

Anyway, each process spins up it's own Dalvik VM, which get's to run your Application. There really isn't any exception to this, which means that even if you create a program using the NDK, you will still need to do some Java to set up an activity that in turn runs the native code.

Because calling native code through a foreign function interface (FFI, known as JNI on the JVM) creates some overhead, Android does as little of this as possible. This is why most the UI API is implemended directly in Java/Dalvik- Bytecode, and only the low-level drawing API is in native code (or implemented directly in the VM, not certain).

If you program an app using only the NDK, you therefore won't have access to the native UI API, meaning you will have to write glue-code to call the Java API, or use your own GUI API (like Qt).

> Because of that brilliant idea to simply ignore what an OS provides, they > have re-implemented everything its own, proper way - famous Strings, > Calendar, UTF-32, you name it.

Right... So normally, out of the box, you will have access to wchar, socket, time.h and math.h. You don't really re-implement this in the JVM, you write bindings to the low-level functions, and then write abstractions (UTF-16, Strings, DateTime ...) on top of that. The actual bindings are usually generated using Swing or something like that.

> So, the developers of complex (read: real-world) apps such as FB have > realized that this unnecessary Java layer can't be used for anything ...

Hopefully, I've been able to explain why cutting out the Dalvik/Java layer brings more pain than it's worth. Most applications on Android are running on the Dalvik/Java VM. The exceptions are VMs (Like Xamarin.Android) and OpenGL applications, like games, which require more fine grained controll of memory allocations to avoid garbage collections in the middle of a render-loop.

Just in case you are not convinced, here is Google's own warning on the use of the NDK for app development.

"Before downloading the NDK, you should understand that the NDK will not benefit most apps. As a developer, you need to balance its benefits against its drawbacks. Notably, using native code on Android generally does not result in a noticable performance improvement, but it always increases your app complexity. In general, you should only use the NDK if it is essential to your app—never because you simply prefer to program in C/C++."

P.S: Facebook did use HTML/JS for their app for a while, but switched to the native SDK because the HTML-based app was to slow. The native SDK (Java) seems to suit them just fine.

P.P.S: Check out this link to see why using the NDK is a pain in the ____.[https://mflerackers.wordpress.com/2013/08/25/using-the- ndk-a...](https://mflerackers.wordpress.com/2013/08/25/using-the-ndk-and-jni- to-build-android-applications/)

</comment></comment></comment></comment></comment></comment><comment><USER17> SD Times submissions are becoming a little spammy. To maintain HN's discussion quality, please submit original articles and try to link directly to the original. While it is totally fine to submit your own (or your company's) articles, the point of HN is to have great discussions.

</comment><comment><USER18> Bear in mind that Appcelerator is really targeting the Enterprise market, and Enterprise folk are used to sluggish, ugly, non-native applications (and _cough_ sluggish, buggy development tools).

</comment><comment><USER19> I actually gave up on jS + html5 to build apps. Do you know why? The main selling point was "It's cross platform!", but with iOS7 and Android UI diverging away from each other, this "cross platform" thing is not really true anymore. sure you could make an app with shitty UI that's cross platform, but you really want to do that? Maybe for games, but for rest of the apps, this "HTML5 is the future" is over in my opinion

</comment><comment><USER8> I have really started considering JavaScript with KitKat as WebView uses Chromium engine in KitKat.

It is even better that Moto G (200$ device without contract) has KitKat already.

</comment><comment><USER20> Javascript will be the only language we talk about in this board in less than 2 years. Mark my words HN.

I love it!

<comment><USER21> I really enjoy programming in javascript too. I use it mostly for user interface development in web applications. However, I try to avoid using it in large projects because I personally believe strongly typed languages are better suited for handling large code bases.

<comment><USER22> I'm wrapping my JavaScript in a TypeScript "facade" to get some of the benefits of type checking and advanced IDE support in a large project. Works for me

</comment></comment></comment><comment><USER23> In what world is Javascript "lightweight"?

<comment><USER21> Probably in Bizarro World [1]

[1] [http://en.wikipedia.org/wiki/Bizarro_World](http://en.wikipedia.org/wiki/Bizarro_World)

</comment></comment><comment><USER24> actually javascript kind of sucks for mobile dev - unless of course you are a company pushing javascript for mobile dev.

</comment><comment><USER6> One wonders if describing JS as a pidgin for mobile dev would be more accurate:

[http://en.wikipedia.org/wiki/Pidgin](http://en.wikipedia.org/wiki/Pidgin)

"A pidgin is not the native language of any speech community, but is instead learned as a second language."

</comment><comment><USER18> Somewhat off-topic, this is really a misuse of the term "lingua franca". If anything, the lingua franca of development is currently JSON/XML.

</comment><comment><USER25> Are there any good examples of mobile apps made with JS?

</comment><comment><USER26> Oh boy, another language war.

Snooze.

</comment><comment><USER27> Had anyone used Duetto to make mobile apps?</comment>


Implementing Structural Types (+code) - <AUTHOR> http://whiley.org/2011/03/07/implementing-structural-types/ <comment><USER2> Having built a structural/inferred type system myself(and then abandoning the project), it's amazing how the core implementation came out almost identically, just with different naming conventions. I didn't use many references for my own thing and just invented as I went along. Yet the graph concept and subtype matrix both came up.</comment>


Ask HN: Do you use a Video CDN? - <AUTHOR> I'm looking into integrating short-video upload/streaming to a project built on top of Google Cloud.
I was wondering if anyone went through this path, and when did you start seeing benefits form using a CDN compared to serving files from GCS ?
If you used a CDN, I'm curious which one did you pick and what made you choose it ? <comment><USER2> I've literally just started using PeerTube to host the actual videos, but my web site has the web pages on which the videos are embedded. I needed somewhere to host the actual videos because my server package doesn't give me enough space, I chose PeerTube because I hate Google with an irrational loathing, vimeo has limits that I'm likely to exceed, and the process with PeerTube was clear and simple. More, here was actually a person at the other end of the contact form when I had a question.

I'm not convinced I like the PeerTube recommendation systems, _etc.,_ but I'm just pointing people at my web pages, so it doesn't seem like that will matter.

I'll be interested to see other people's answers.

For reference, I am keeping copies of all the material on my own machines, just in case the PeerTube instance disappears. After all, "The Cloud" is just another name for other people's machines over which you have neither control nor authority.

</comment><comment><USER3> Few things to consider

1) are users spread out geographically? 2) are you expecting high traffic? 3) are you ok to spend more for performance?

If your answer is "no" to any of the above, then probably, there is no need of a CDN.

I have tested azure blob and s3, found both to be acceptable for small projects.

<comment><AUTHOR> \- Are users spread out geographically: for 90% of users: no

\- Are you expecting high traffic: Depends on "high" but: yes

\- Are you ok to spend more for performance: Depends on "more" but: yes</comment></comment>


Show HN: I handpicked each and every remote job posted on "HN: Who is hiring?" - <AUTHOR> https://remoteleaf.com/whoishiring <comment><AUTHOR> Author here. There are few automated aggregation sites available to curate the jobs posted in this thread but I want to take the aggregation one step further and wanted to provide the good quality remote jobs by handpicking them. So I've manually screened, verified and tagged all the remote jobs posted in this thread. So it can save you time, energy, and frustration – and hopefully, help you find a job faster.

\- Only 100% remote jobs

\- Filters based on skill category and location restrictions.

</comment><comment><USER2> Thank you for the hard work!</comment>


Ask HN: Should startups with seed funding apply to YC? - <AUTHOR>

We're a two person startup (a business and technical co-founder) with a good business model, pending patents and future customers. Our idea requires creating business partnerships and so far we've established three. This gives us access to over 1,500 potential customers, some of which could start paying us after the first release. We will release a closed beta in three months. We've raised seed money with a condition from the investor that we need to raise a similar amount from another angel before they write the check. So we're working on raising the other half and already have two followups. Recently a VC offered to invest a large sum, but we've decided to save that for the Series A round since our valuation will be very low without a prototype.
Since we have a good idea and funding isn't much of an issue, is YC still for us?
Have other startups in our situation applied to YC and what value did it bring?
What are typical scenarios when startups should apply to YC? <comment><USER2> I think YC is not only about funding, but Networking. Funding itself is around 20K$. But value of meeting right people is priceless. So, definitely apply.

this is from FAQ: (<http://www.ycombinator.com/faq.html>)

\- We've already taken some funding. Can we still apply? \- Sure. We've funded many startups that have.

This might be also interesting for you: \- We don't want funding, but will you give us advice?

\- Unfortunately we can't. We've invested in so many companies that helping them takes up all our time. But we've collected some general advice in our library.

<comment><AUTHOR> Thanks, I should have realized the FAQ was probably revised over the years.

While I agree that advice is priceless, don't most startups join YC so they can connect with VC's by the end of the program?

<comment><USER2> Well, that's truth and deeply depends on aims of startups. Sometime, as I see, people try out their Ideas and themselves. As Paul Graham mentioned in following post: "15% of teams change their idea after being accepted."

<http://www.ycombinator.com/atyc.html>

So, perhaps, if funding is not the case with your startup, I would think about strong media coverage after participating in YC. Which can lead to more customers.</comment></comment></comment>


Math genius Grigori Perelman explains why he turned down $1 million prize - <AUTHOR> http://ca.news.yahoo.com/blogs/good-news/math-genius-grigori-perelman-explains-why-turned-down-214324650.html

<comment><USER2> This interview is suspected of being fake. Russian bloggers who investigated this weren't able to find the person who allegedly interviewed Perelman. There are errors in the names of math departments, papers etc. that Perelman couldn't conceivably commit. Some of his statements contradict what's known about his attitudes.

There's a detailed case built here (in Russian): <http://josef- gotlib.livejournal.com/466777.html>

A St. Petersburg mathematician and former colleague of Perelman, before he became a recluse, is convinced the interview is a load of made-up nonsense (in Russian): <http://udod.livejournal.com/169316.html>

<comment><USER3> I really think that Joseph Gotlieb - your first link - is grasping at straws. For brevity's sake I will address his first objection even though I feel others are just as shaky.

[Objection #1: According to the interview, Gregory Perelman bristled at being addressed as "Grisha" by the media (Gregory/Grisha being similar to Robert/Robbie in familiarity). This could not possibly be true because he signed his own emails as "Grisha".]

This is a pretty big stretch. The Russian language defines 3 tiers of familiarity/address: a nickname for family/friends, a full first name for acquaintances of the same age, and a full first + patronymic name for everyone else. (This is similar to a French person being offended by an overly familiar "Tu" when a "Vous" is appropriate). Moreover, it is not uncommon _anywhere_ to use a nickname in correspondence with friends and colleagues and a full name in more formal situations.

The forum discussion - your second link - is nothing more than a reference to Richard Feynman's auto biographical anecdote about the Nobel prize, followed by a bit of general bitching about journalists. One poster casts doubt on how Perelman and the interviewer connected (seems perfectly plausible to me that a Russian-Israeli journalist would connect to a Russian-Jewish scientist through his mom, whom he lives with, via the St. Petersburg jewish community). It really doesn't prove or even suggest anything of importance.

As far the claim that Russian bloggers couldn't track down the person who interviewed Perelman, well, I just spent a minute on google and found this: <http://cursorinfo.co.il/news/novosti/2011/04/28/zatwornil/>. Apparently, the Israeli paper was able to find the interviewer... not particularly surprising given that he had moved to Israel in the 90's.

<comment><USER2> > This is a pretty big stretch. The Russian language defines 3 tiers of > familiarity/address: a nickname for family/friends, a full first name for > acquaintances of the same age, and a full first + patronymic name for > everyone else. (This is similar to a French person being offended by an > overly familiar "Tu" when a "Vous" is appropriate). Moreover, it is not > uncommon anywhere to use a nickname in correspondence with friends and > colleagues and a full name in more formal situations.

Perelman signed his _papers_ "Grisha Perelman". That's about as formal an occasion for a mathematician as it gets. The paper is the claim for posterity. It's what the next generations of mathematicians will read. It's not impossible to imagine a mathematician who'd sign his mathematical papers as "Bob Green", but then be strongly offended by being so identified in the media, but it's very, very unlikely.

Also, "Grisha" is no more a nickname than "Bob" or "Bill" (that is, they all can be considered nicknames, but aren't usually what we mean by a nickname in its more common sense). They're familiar forms. It's not unheard of for a Russian scientist to adopt their familiar form as the preferential first name, even in formal situations, in English-language cultures. E.g. Misha Verbitsky, Sasha Razborov... you can easily google many more examples.

Obviously I disagree with you about the first link grasping at straws. In particular, mekhmat vs matmekh alone is damning. This difference between the names of the two most prestigious math departments in Moscow vs St. Petersburg is legendary. It's next to impossible for an alumnus of mekhmat to refer to his alma mater as matmekh or vice versa.

> Apparently, the Israeli paper was able to find the interviewer... not > particularly surprising given that he had moved to Israel in the 90's.

They didn't find him in the sense that they weren't able to contact him, as they explain; I didn't mean to claim that the name or the person were nonexistent.

<comment><USER3> I don't know about this. My father is a scientist, and while he signs his correspondence as Sasha, he publishes under Alexander. As for метмах vs. матмех - it could easily be Perelman having a dyslexic moment, or the journalist misquoting. All these "clues" are so nitpicky... not worth a conspiracy theory IMHO.

You are right about nicknames though. I used it in a colloquial sense but the correct term would be a familiar form.

</comment></comment></comment></comment><comment><USER4> _the genius refused the prize, claiming the knowledge gained to be worth more than the financial reward._

It's _a_ reason, but certainly a deeply personal one specific to him. Pragmatically, taking the money doesn't mean he loses the knowledge, even if the knowledge is "worth more" - it's just extra on top.

I suspect the more mundane reason is that if you want to stay living in a working class Russian neighborhood, being known to have accepted $1m is going to make your life pretty tough.

</comment><comment><USER5> This guy is just awesome. His quote, _I know how to control the universe. So tell me, why should I run for a million?_ actually gave me goosebumps.

Not many people actually live by their principles like this. Good for him.

<comment><USER6> Of course, he could have taken the money and given it to charity...

<comment><USER7> Or he could have pulled a Ludwig Wittgenstein and given it to the "already- corrupted" rich.

<comment><USER8> What are you referring to?

<comment><USER9> LW pretty much gave all of his money (which was a lot), to his already rich relatives.

</comment></comment></comment></comment></comment><comment><USER10> The most thorough accounting I've ever read of the story is in The New Yorker, here: <http://www.newyorker.com/archive/2006/08/28/060828fa_fact2>

Read the article and draw your own conclusions, but it seemed to me that Perelman simply wanted nothing to do with other mathematicians. He seemed to think that accepting the Millenium Prize, the Fields Medal, or a professorship would mean that he would have to participate in a more traditional practice of mathematics, complete with politics and whatnot, and he had no interest in doing so.

More specifically, the article discusses the efforts of Yau to examine Perelman's proof, with a view to finding a flaw, fixing it, and ultimately taking credit for the One True Correct Proof of Poincare's conjecture. Whether this is a fair characterization is beyond me, but I would say that Perelman is probably justified in his perception that had he joined mainstream mathematics he would have to spend time defending his ideas from other mathematicians, and I can understand why someone wouldn't want to do that.

But a million bucks? I think I'd take the money.

</comment><comment><USER11> There's a very nice book about the Poincaré conjecture, going from the roots of geometry in Euclid's _Elements_ to Perelman's proof:

<http://books.google.com/books?id=kM8fAQAAIAAJ>

At least for me it hit the sweet spot between a rigorous math paper and a good story book.

</comment><comment><USER12> As described in _Surely You're Joking_ , Dick Feynman wanted to refuse the Nobel for similar reasons: fame would interfere with his work.

He eventually accepted it because refusing would cause more of a stink than accepting. But he wrote a few anecdotes about the trouble "that damn prize" caused him.

<comment><USER13> > As described in Surely You're Joking, Dick Feynman

So if Feynman didn't want the prize for valid or invalid reasons, he becomes a _dick_?

Even if the reasons were invalid, how does it make him a _dick_ \- he didn't do anything untoward to anyone - he was just following his personal ideology.

<comment><USER6> I honestly can't tell if you're joking, trolling or you actually don't know that Feynman's first name is Richard (or, shorter, Dick). <http://en.wikipedia.org/wiki/Dick>

<comment><USER13> > I honestly can't tell if you're joking, trolling or you actually don't know > that Feynman's first name is Richard (or, shorter, Dick).

I knew his first name is Richard; didn't know Dick is diminutive for Richard.

</comment></comment></comment></comment><comment><USER14> I and most people here, I guess, would find the logic very appealing and accept to use the money as insurance or give it to charity.

But then, possession and responsibility can be a burden and fear is the path to the dark side.

Consider - what is happening to the Clay money now? I've no idea but I guess it will be spend on another price for another problem or some other useful purpose. So it will go to charity anyway. One problem less to think about for Perelman. There are only so many things you concentrate on and I'm happy to hear, that he will keep his focus on math!

</comment><comment><USER15> Why not just take it and use it as insurance that he will always be able to spend his time doing math... This has nothing to do with principles.

Suppose it's 1920 in Russia (or Germany) and you turn down $1M. You sure as hell could use that money 20 years later to bribe officials to get out of the country and flee to the US. He's young and living in Russia, a lot of shit could happen in the next 50 years. He should've just taken it, buy gold and bury it in his backyard.

<comment><USER14> I totally agree. History is full of, in some way, very smart people who just happend to be powerless at the wrong place and the wrong time.

But then again, maybe, time has changed and the comparison to 1920 Europe is not a valid one anymore. Actually, Perelman might be making the world a saver place by not worrying about his safety!

<comment><USER15> Time will tell...

About a year ago The American Interest had a special issue about Russia, where they said Russia's current territorial size is a historical minimum --- the author was implying this is likely to change through expansion in the future.

<comment><USER14> True - you just managed to scare me: I live in Munich. Always better to live the lean lifestyle so you can always leave with your backpack ;-)

Still, I'm more worried about other forms of repression in the future. Patriot Act or Telecommunications data retention (EU) have a huge potential for abuse and causing suffer. The problem here is, that you can't solve it by immigrating into a different country. It's more or less the same craziness, where ever you go on this planet.

</comment></comment></comment></comment><comment><USER16> The article doesn't state the news very well-- this is in fact a very old story. The actual news is buried in somewhere in the 4th paragraph: that the proof has finally been peer-reviewed and confirmed .. but, even then, that news is from March 2010. (Of course, the more interesting story is the one in which Perelman refuses the prize).

This proof is especially notable for being the first of the Millennium Problems to be solved. For those interested, here is the Clay Math announcement (the actual news) the article left out: <http://www.claymath.org/poincare/millenniumPrizeFull.pdf> (contains an overview of the Poincaré conjecture and a link to Perelman's proof).

</comment><comment><USER7> Hmm...

The Wired article (linked within under "can control the universe") seemed to suggest that he solved the problem by "channeling Jesus"...which seems to misrepresent that he was talking about his childhood training, rather than how he actually solved the conjecture.

<comment><USER17> Yup, the Wired article is pretty bad.

And the Pravda article it links to, although it does give the correct version of what he said about Jesus walking on water, has some major craziness of its own in its last paragraph: "According to the newspaper, both Russian and foreign special services are showing interest in Perelman's discoveries. The scientist has learned some super-knowledge which helps realize creation. Special services need to know whether Perelman and his knowledge may pose a threat to humanity. With his knowledge he can fold the Universe into a spot and then unfold it again. Will mankind survive after this fantastic process?" Oy.

</comment></comment><comment><USER18> Another reason he turned it down was his disgust with the math community, after the debacle of "Shing-Tung Yau to downplay Perelman's role in the proof and play up the work of Cao and Zhu".

"I can't say I'm outraged. Other people do worse. Of course, there are many mathematicians who are more or less honest. But almost all of them are conformists. They are more or less honest, but they tolerate those who are not honest."

</comment><comment><USER19> I guess you can be matematically genius while being economically retard.

<comment><USER19> Could the downvoters please explain how it is not economically retarded to decline an offering of money for your work? I have a really difficult time understanding this.

<comment><USER20> You seriously can't think of a rational reason why someone would turn down money for his work? Ok, here are a couple of suggestions in this case:

1\. He dislikes what he perceives to be the corrupting effects of money and wants to guard against their influence in his life.

2\. He thinks about pure math all day, and this makes him happy. Has solved for his basic needs. Does not want to worry about managing $1M. If and when he needs more money, he will deal w/ it then. Since he is a famous mathematician, it is reasonable to expect that others will help him out, if he asks.

These are variations on theme, actually. He enjoys thinking about math. He doesn't need $1M to think about math. Ergo, he doesn't need $1M.

<comment><USER19> I guess one can construct rational arguments for turning down money if one doesn't believe in capitalism or economics or money, but that doesn't make the act of turning down money _economically_ non-rational.

<comment><USER21> For him, marginal dollars have negative utility. This may be because of morality -- he could consider the act of giving mathematics prizes antithetical to promoting good math research; it may be because of his focus -- he knows that he would have to _manage_ the money if he got it, which would distract him from doing math; it may be because of fear -- there may be people that would kidnap his family to get access to that money.

If you consider "economics" to deal only with maximizing money, it's economically non-rational to decline this prize. If you consider "economics" to deal with maximizing _utility_ , it could easily be rational to decline this prize.</comment></comment></comment></comment></comment>


My experience hosting a static Jekyll blog with Azure - <AUTHOR> https://the.aamodt.family/rune/2019/12/10/my-azure-experience.html <comment><USER2> I hope someone from the cloud team at Microsoft reads this, as doing a static Jekyll blog shouldn't be something that is difficult...

<comment><AUTHOR> Someone from the Azure team actually just reached out to me and said they had raised my critique internally. Kudos to MS for listening to their users and reacting quickly!

<comment><USER3> Did they change something? Is it better now? Keep us posted!

<comment><AUTHOR> Currently in a dialog with the Azure engineering team. Depending on how this plays out I will probably do a follow up. Will let you know :)

<comment><USER3> Please do!

<comment><AUTHOR> Follow-up here: [https://news.ycombinator.com/item?id=21806740](https://news.ycombinator.com/item?id=21806740)

</comment></comment></comment></comment></comment></comment><comment><USER4> I really love Azure, but not so much for hobby projects. If you want ssl on an app service, you'll need at least the basic tier which starts at about $50/month. How does that make sense?

<comment><AUTHOR> My blog runs on just a storage container, no app service. So the up-front cost is zero, only paying for the bandwidth. If I was lucky enough to get to the point where bandwidth is costing me more than my free 50 USD/mo credit, I think I should be able to recoup it with a few ads.

<comment><USER4> The beauty of static sites. How long does that monthly credit last?

<comment><AUTHOR> I get it through my Visual Studio Subscription at work. And based on how they promote it I don't think they will take it away anytime soon:

[https://azure.microsoft.com/en-us/pricing/member- offers/cred...](https://azure.microsoft.com/en-us/pricing/member- offers/credit-for-visual-studio-subscribers/)</comment></comment></comment></comment>


Ask HN: Where to sell a product/codebase (almost developed)? - <AUTHOR>

I've a friend who made a software product, but is planning to move on.  She wants to sell - I'm not sure of the revenue, or the number of customers.  She's got a developer working for her, and most of the development is done.<p>Other than Flippa, is there a place where she can sell? She is also okay with partnering up with someone.  The software serves the home renovation niche. <comment><USER2> Sideprojectors is the other place I've heard of: [https://www.sideprojectors.com/project/home](https://www.sideprojectors.com/project/home)

What general role does she need from her partner?

<comment><AUTHOR> this is a much more serious project, not a side project. I know she has a developer who worked on it for months.

She has a few customers (I believe, who prepaid) - she's looking for new customers, so if someone can help her with that, she might bring them on as a partner.

</comment></comment><comment><USER3> Not really. Unless it's something static like a website, the owners need someone who they can rely on if something goes wrong.</comment>