HN user

kalkut

45 karma
Posts0
Comments32
View on HN
No posts found.

The settlement does not follow a mere claim, here you have a court that inflicted punitive damage to Tesla after a trial.

Also most business are not racist nor hostile to the extent Tesla is described by the victims, otherwise they would indeed be shut down.

Your cameras and microphones argument makes no sense. Racist graffitis in the restroom does not require big brother level of surveillance for the company to start an internal investigation.

Also mandatory arbitration agreements is obviously used to avoid both dealing with toxic behavior inside the company and public backlash.

My Room in 3D 5 years ago

I spent two years with threejs then the last 2 years with Babylon.js

Three.js has a huge community, learning 3D programming by learning three.js from the community is very feasible, lots of nice exemples around.

Babylon.js is maintained by a team of Microsoft employees. It is a cohesive piece of software with tons of integrated utilities (controls, GUI, good debugging tools, an excellent jsfiddle equivalent called playground etc). It is the perfect balance between a rendering and a game engine. Also it has a well engineered Typescript codebase that in my humble experience has been more stable than Three. The docs are great, the community is nice and super active, contributing is easy but you have much less online exemples than with Three.

So my advice for a 3D novice would be to play with Three.js and see where it goes. If you are in it for art and making things look good, the amount of examples with Three will also help a lot.

Now if you value engineering, and you already have even a very modest experience with 3D programming I really recommend Babylon.js

Also you will see Aframe, react-fiber or react-babylon thrown around: don't bother if you don't already know Three or Babylon. You will outgrow them and still have to learn Three/Babylon "the correct way". I think that most people decent with Three or Babylon can make their own specific abstraction with less overhead anyway.

A lot of businesses publish apps on the App Store because it is the only option Apple gives consumers to install their app.

You are most likely not going to be discovered just by being on a Store but rather through your online presence.

In a free world you could own your app distribution logistics with the cloud provider you already have to use for your app, website or for other part of your business. You can do it on Windows it didn't kill Microsoft business at all

The issue is not Apple making a profit on its store. Selling phones is unrelated to owning a store, they have one good for them but why is it mandatory to access such a huge share of the mobile market ?

What value is given to businesses and developers, and what undue avantages over competition Apple gets by tying both together ?

Now let's admit you do want to be on their store. Now you want to take payments, your bank has tech to take payments, Stripe has tech to take payments, PayPal does to etc. Apple want to compete with those with their In App Purchase tech fine but there has to be choice. The cut is 30% because they forbid competition in payments. They forbid even mentioning to customers they can have a better deal outside.

If Apple thinks being on the App Store is such a privilege it should either :

- Make businesses & developers pay for being on it and let them chose their payment provider

- Keep on bundling phones with a store where their payment tech is mandatory but let customers install apps that are not from the App Store

They can fight it as hard as they want the EU regulators will make them do that choice anyway because the anti trust case against them is even sounder than the Microsoft one with Internet Explorer

I didn't assume that dynamic languages are more concise. I only said that each of both (with the addition of interpreted languages) usually require less tooling and less to keep in mind than their respective opposite

How much you need autocomplete and refactoring to be reliable also depends on your situation (language/framework, app structure and number of contributors).

More people use IDEs with dynamic languages because Visual Studio Code now exists so people who always prefered IDEs now have a good option

It depends of the language and/or the stack you use.

Typed, verbose and compiled languages users tends to use an IDE by default because the amount of tooling and things to keep in mind to write executable code is higher than with dynamic, concise and interpreted languages.

People proficient with the latter categories of languages will know what is lacking in their text editor and will extend it with whatever they need (coercive linting, git integration, macros, new layout etc...) on a case to case basis. They end up with a tool that suits their strengths/weaknesses/taste, is faster than IDEs and avoid eventual problems from tools IDEs chose for you.

Chosing a text editor is not about refusing to get help from technology. It is about having a good typing experience first and around it being free to pick the tools you need.

Also, a lot of tools that both IDE and text editor users use (like git integration) do things that can be well done with good command line proficiency. So it really is about your needs

Really it is a debate similar to "Batteries-included frameworks vs multiple librairies" so there is different answers for different situations

You really are helpful and you try to fix this so I really want to say yes but I am currently grinding for my own startup so I know that a lot of time will pass before I actually do it so I don't promise anything.

A good way to test it would be to make a simple websocket server that simulate n users each sending n' fake xyz position and rotation data per second. This data updates a Redux store in a React app made with Aframe (HTML wrapper around ThreeJS). You make n cubes move and rotate along the data in the store. Compare the fps you get against the fps you get with a vanilla solution. Also check what happens on the performance tab of chrome

I am able to recognize that my use case is very specific. I used React/Redux/Reselect and Aframe/ThreeJS with sockets a year ago. Now I kept React but the rest of the stack have changed for nearly a year

Could you clarify what you mean by that?

A call to dispatch is significantly more expensive than the update of a JS object

Ideally, a `mapState` function should just grab a couple values from the Redux state object and return those.

Ideally it should, but in practice it is really much more expensive than getting a value in a JS object

If a component needs the store data to be transformed in some way, we recommend using memoized selector functions [0] to cut down on unnecessary work.

I used Reselect before removing Redux. Beyond the fact that it adds a lot of boilerplate it does not help if you do need a lot of data updates.

So, in a well-written app, your `mapState` functions shouldn't be bottlenecks.

It shouldn't but a few dozen of updates per second through Redux on a mobile take a toll on its performance serious enough to not be able to keep 60fps in a WebGL context.

I decided to remove Redux after noticing the performance overhead per function call in the Chrome performance profiler, so I know that in practice "dispatch" and "mapState" are not comparable to just editing or grabbing "a couple values from the Redux state"

My ex-coworker had the same issues because he needed to display a lot of items handled collaboratively with smartphones. In both of our cases we have a high rate of data updates, even if we optimize like crazy we are never going to fall under 4-5 update/second per connected user.

So yeah Redux can run well for webapps with a slow/regular pace of update but for more performance sensitive apps you do pay a Redux performance tax.

Again I still use Redux on some projects and I like it but the limits are there. So now I don't hesitate to do without it first and to use it when I need its abstraction.

Dispatch is another big culprit.

I have exactly the same experience and implemented the same solution. An ex-colleague also did the same thing. We both worked on collaborative webapps but in different companies at the time so performance gain was very important.

I still use Redux on some projects but I definitely start the new ones without thinking about it.

That's just a more Object Oriented Redux

I fail to see what problems this approach solves.

You are absolutely right I gave an ad-hoc Redux as an example of Higher-Order Component.

Being OOP or not is only a matter of implementation of your data source. Here you have absolute control on it and depending on the type of your data, the frequency at which it is updated or its (a)synchronicity, you may prefer/need something very different from a dispatcher/action/reducer system.

The real pattern here is the HCO and yes Redux also use this pattern to build "smart components" with "dumb" ones. But it does it in a very opinionated way.

As an example : for performance reasons you really don't want Redux to handle real-time data with very frequent updates, it is better to manage this kind of data your own way.

A more common case is having only a few amount of data that have to be shared across the tree (things like an user session or the chosen language). If your component tree has too many level of depth an ad-hoc solution can do fine here.

IMHO there is two type of arguments for why Redux might not be needed :

1) A reasonable UI respects separation of concerns.

There should be limited need for data exchanges or interactions between two unrelated components. Making the data flow from the local state of a "smart component" is fine most of the time.

2) What Redux does can be done with less boilerplate when and where it is needed.

You can make your component "smart" in a lot of ways. It can be done with pure React state management, it can be done with custom data sources and HCO, it can be done with JavaScript CustomEvents and so on.

The worst problem here is that because Redux is a (very good) opinionated abstraction, lots of developers forget it is a library and not a framework so they try to find what they think is the most Redux-way of doing things. I've seen tons of projects that ended up being a mess of Redux/Thunk/Reselect plus whatever middlewares where updating a single property implies at least handling it in the reducer, adding a selector, and adding the result in mapStateToProps. Redux is definitely not a bad solution but in becoming a standard one it hurt a lot of projects.

This situation is very well explained by pcstl above when he says

People mainly use Redux because they don't understand that React isn't Angular.

Redux is what you get when people try to use React as a "full-app" framework instead of what it's meant to be: a view layer.

As someone one who rewrote a React/Redux project with bare React : Everything in your post is true, I made the same observations and I reached the same conclusions.

Right now with a few devs it is going very well but I do worry about on-boarding people who are not proficient in functional programming.

React code without a global state management library is very pleasant and easy to read/understand for many, but for some it is not always obvious to write. You may have to spend more time code reviewing and training newcomers who will sometimes feel like their task is impossible without Redux. I have yet to see if those requirements can still hold for a big team but I think it is possible.

My current opinion on Redux is that it is best suited for existing project migrating to React because you may inherit very odd relationships between the view and the data and Redux will avoid you a lot of pain on this regard. A new project should avoid Redux & co as long as it can.

EDIT: Parent edited while I was writing this but I let my original post for the sake of the argument

I think you misunderstood my question, sorry if it was not clear : What kind of healthcare do I have in those situations ?

In most of Europe you have access to very good healthcare with no conditions attached. You get covered in all those situations. Of course if you are a young single tech worker with no health issue this does not feel important but accidents happen, illness happens.

I mean it is great that the US is 2nd for being pro business but being in pre-brexit UK, Germany or France don't harm your business prospects. I worked for smallish French companies (~20 employees) whose customers were mainly Americans it never seemed that it was a problem.

I mean you propose

Most companies pay for your college, or if not the entire term, at least 2 years. You could also go to one of our excellent community colleges for peanuts.

Here if you manage to join our very best engineering schools you get paid for attending. The rest is not higher than 1000$ and the most expensive schools are business school with tuitions of at most 20k$/year. We also have online courses. And degrees are less and less important everywhere in the western world. I am a college dropout and it never hurt my career in Europe

Or you say

Outside of the heavily taxed Northern European countries, not many countries in Europe take care of you and your family member full time outside of some fringe benefits

For the sake of the argument, let's assume that as you say it is not that common in EU. The good thing here is that neither you nor your family member will have to pay absurd amount of money for healthcare and as I said above

"a very large part of people who fell into poverty in the US did so because of unexpected health problems that would be taken care of in most European countries."

See : https://eu.usatoday.com/story/money/personalfinance/2017/05/...

"medical debt is the No. 1 source of personal bankruptcy filings in the U.S., and in 2014, an estimated 40% of Americans racked up debt resulting from a medical issue."

I (personally) don't believe that a country can be a meritocratic society if getting ill at a bad moment in your life requires you to take "that extra 30% of your income you are not taxed, and opening up a high-yield portfolio for a rainy day" to pay healthcare bills that are way higher that in Europe.

I mean even without healthcare insurance whether public or private : A surgery at the hospital I was born in cost 1660,43 €. Any surgery. They have a price for what they call "Costly Specialty", it is 2734,85 €. So you are not European or you don't have any healthcare insurance, this is the worst case scenario for you here. We can do the comparison for almost every treatment and even without insurance it is ridiculously way cheaper because of the bargaining power a state who provides healthcare to millions of people have vs big pharma.

The thing that you seem to miss with your high salaries (here in tech) is that you spend a lot of money paying people with high salaries (here health professional) so they can pay back their excessive college debt, that allowed them to pay some the most expensive universities in the world.

And this pattern is everywhere when you deal with american knowledge economy including 150k$ tech workers who most likely have an education related debt. How indebted fresh graduates are supposed to live in one of the most expensive area of the world and to pay off their debt without this kind of salaries ? Now compare that to a debt free engineer at 75k$ living in Berlin whose only future debt "risk" is a mortgage

And if it really was an issue this same person could close the gap in revenue by becoming a freelance or working for a Swiss or Luxembourgian company as a remote or trans-border employee since we have a free-market with freedom of movement across more than two dozen countries.

So I don't say that to convince you that you need public healthcare and public education nor that EU is better. I try to make you understand that in reality an European engineer with a "75k$ in EU vs 150k$ in US" kind of choice will not care because in the end it is the same thing. In the end US and EU have quite different economies, very different social structures and very different labor laws. Labor markets take all of that into account into the wages.

Now for the stock there can be an important difference, I always had shares in my previous companies and I know that big companies give some too. I don't know if FAANG gives stock in EU. I doubt that we have many EU companies that gives as much stock but more importantly I doubt that there are many company anywhere in the world including in the US whose performance in stock exchanges is as good as FAANG's

The top 1/4 in the US have easy, fast access to some of the most elite medical care on the planet. And if you're making $142k in salary in the US, your healthcare is entirely paid for.

There is nothing surprising in the fact that the top 25% earners have access to healthcare. The point of public healthcare is to make sure that the remaining 75% will not get indebted to barely survive.

What would worry an European worker would be :

- What would happen to my (and eventually wife's and kids') access to healthcare if I lose my job ?

- What if I want to start a business ?

- What if I want to go back to college ?

- What if I have to take care of a family member full-time ? Who protects me and this member ?

I am sure US medical care is very elite but what I also see is that a very large part of people who fell into poverty in the US did so because of unexpected health problems that would be taken care of in most European countries.

Thank you, it is interesting to have feedback on those subjects ! Sorry it is going to be a bit long, but you raised interesting points that I don't always have the oportunity to discuss :

* Even if I build a insanely good native VR browser there will be (a lot of) people who won't have it on their devices. This is why at least from a business perspective, for the moment it is far better to have a link towards an experience people can use rather than a link towards a native/desktop app that if downloaded can open an experience.

* I think that in 2018 it is important to have a "responsive" VR experience. It should go from a basic non-VR 3D experience (smartphone) to a full fledged high-end immersive VR one with everything else in between (So yeah GearVR, Daydream and Oculus Go).

People with any device should be able to take part, to interact, to share. My take on graphics is not that it is unimportant but rather that it is not what is lacking in current 3D content. Plus with some polish WebVR can deliver a decent graphical experience. Don't get me wrong : Beautiful is important. It is photo-realism that is not.

* I meant too elitist to use for authoring but you talk about it in your next point, so I will answer to your point about technological evolution. Before having people to buy high end VR hardware and the gaming rig that goes with it, we have to give people good reasons to do so. Gamers have obvious incentives, but most other people currently don't.

First we have to give social content interesting to non gamers and it has to run on their current hardware or they won't really use it. Then by interacting regularly with people with headsets, people without VR headsets will gradually convert into VR users. Then as VR users, they will have incentives to get better hardware. Then with better average hardware there will be competition on software features (graphics, interaction, ecosystem etc)

We still have the (very hard) first step to pass first. Web browser did not start with WebGL: they figured out text first, then layout, then animations, then media etc...

* This video is sweet, this is the future. And agreed about both "VR Wiki" and "VR Wordpress"

You are right about both points, but :

* The best way to make VR and 3D browsing a thing is to have URLs to 3D/VR spaces because urls can be easily shared and most devices have Browsers.

* It is hard to do something beautiful with WebVR but keeping things simple and allowing 3D models can go a long way. I think that currently running smoothly on a mid-end smartphone is more important than photorealism.

* Game engines are too elitist. Common people have to be able to create 3D spaces very easily, with no code, no 3D modeling knowledge. Then they have to be able to share (deploy) with a single click. The web is the absolute platform for this.

Thank you for your message, you are absolutely right about the newsletter !

Funny you basically described what I am currently building except it is being developed with WebVR. Reddit, multi users spaces, spaces browsing/creation/sharing etc you are spot on describing what I am doing.

I will release an MVP in July so I guess I should start ramping up my online presence to sell the idea !

By being friend with someone on Facebook you already make your data available to this friend. Your friend can show this data to anyone curious about you by showing his screen or by talking about what he saw on your profile.

An app on Facebook is only an automated way to ask your friend to share data he/she has access to. You cannot both share data with your friend and expect him/her to not be able to share it with 3rd parties.

If you don't want your friends to be able to share your data you don't become friends with them on a social network and/or you don't share data with them.

You don't tell to your acquaintances things you don't trust them to keep secret. And you can't expect them to keep secret things you share with every acquaintance

Honestly as a technical founder in VR too I understand where you come from but you are wrong on this.

You don't get equity for having a good background, you get equity for being important to the business and damn you got the same amount that a guy that most likely handled a fundraising by himself.

At this stage they are investing in you more than you are investing in them yet you absolutely did not talk about what you actually achieved for them.

Worse only 5 month after signing you are talking about the demotion of your partner who from an exterior standpoint already contributed more than you both in time and in money gained.

I think that :

1) You are not the guy they need. I am sure that you are great but you are just too high maintenance at a stage that is too early for that.

2) You need to run your own show, you sound like the type of guy who have an hard time following others.

If you think that either doing it by yourself or associating with someone who is "CEO material" would be hard, then it can very well be an indicator that you currently are pushing your luck.

All of this is overreacting. People have the choice to leave Facebook or to accept the terms and deal with them.

This is some serious cognitive dissonance to expect to be free to share personal data but to still retain privacy regarding those. Anything you share with your friend can then be shared to a 3rd party. This is even true in "real life"

And data is not nearly as powerful as we make it to be. Populism did not win because of social networks, populism won because of increasing inequalities in both wealth and skills in a world where globalisation and automation are making more and more people uncomfortable about the future.

All data did is to identify who is who and sell them what they actually wanted. The problem is not about using data to understand audiences. It is about having people lacking enough common sense to actually check if they are told the truth. It is also about the eagerness of politicians to play with tribalism of any kind. Western democracies are responsible of those failures and they are trying to find anyone else than themselves to blame.

I left Facebook a few years ago and I don't regret it. I doubt that Facebook is worth it for most people and WhatsApp with SMS is enough for me. People more social that me could leave FB to go to Instagram though. So in any case Zuckerberg is fine.

The only way to beat Facebook is to give people an alternative they prefer. It is definitely not to try to scare them with data scandals most of them don't care about.

I absolutely agree ! I do see the appeal of photorealism but lots of excellent 3D experiences are far from photorealism. A sensible art direction can go very far, and I'd even argue that a less than ideal graphical experience can be forgiven if the content is meaningful and engaging enough. I think we all have examples of this in mind

The specs are nice but I wonder if it can work well on games with current high end computers. If they really release it I will most likely buy it though.

I think that this kind of headset is meaningful for both VR power users and developers but Google and Facebook should focus on non gaming content to attract a wider audience.

Facebook is in the odd position where they could make a WebVR social killer app over night but they won't because they really badly want to become the Apple of VR with their Oculus Store. I think that they will regret this strategy in the future. That or they will have to cash billions out once more to acquire a company that found out what to do with this tech.

I concede that I know what you meant by "make npm work" but I am sorry to hear that you have your left hand busy trying to figure out what's this week's fashionable way to pass around some data in this month's fashionable framework and your right hand busy trying to make npm and Webpack work.

More than 18 years of it must have been such a chore. I am glad this is not how either my coworkers or I spend our time using JavaScript professionally. Maybe I am very lucky, or maybe I just can spot a stereotype when I read one.

More seriously if you still use JavaScript after all those years that very likely proves the point that you can actually be productive with it.

JavaScript is for HN what sex is for highscool : those who talk the most about it are those who practise it the less.

If JS devs were not able to focus on bringing value they wouldn't be able to hold jobs, build products nor profitable companies. If JS was so impratical there would not be so many people choosing it over various alternatives for building GUIs, games, websites, WebGL/WebVR, back-end services and so on.

If there is a warning in this story, it is a warning to people looking down on rising languages and frameworks. Those are the people risking to become irrelevant because of a mix of smugness, gatekeeping and ivory tower syndrome.

This attitude is exactly what lost Ron Garret when C++ and Java happened. This also prevented him to see (before the very end of his programming career) that the competition was actually doing just fine with the new tech. You and grand-parent totally missed the point of this story.

PS: You don't make npm "work"

It is cool to see that expressing mathematical proofs with programming concepts/tool/languages is that efficient. I already was taught the Cantor proof but I feel more confident in my ability to explain this variation to a co-worker with no maths background.

Non-CS maths are too rarely taught the CS way.

A-Frame is incredible, it is both powerful and flexible thanks to its component system. You can start a simple project and as complexity goes up you can quite easily put React or Vue in the equation since it is all HTML.

React + A-Frame is my favorite game/3D programming experience and thanks to A-Frame we will see many 3D web apps. Last year I prototyped a Facebook/Youtube browser with it and right now I am working on something bigger with those tools and I absolutely do not feel limited by them.

If you are interested by the idea of a 3D web you should definitely try A-Frame !