HN user

lrichardson

114 karma

intelligiblebabble.com

Posts10
Comments40
View on HN

Assuming the person you're talking about was me, I'm curious what it was I said that made me seem less enthusiastic? I always try to be as honest as possible in my interviews, and I don't think my enthusiasm has changed much over the last year or two, though I certainly have learned a lot!

I don't think Airbnb has ever been "completely going all-in on React Native" or "completely dropping React Native", but people always seem to want it to be one or the other. The truth is it's almost always something in the middle.

the AirBnB team even stopped using it seriously

This just isn't true. Airbnb is actively using React Native a lot and has not "stopped using it seriously". I'm not sure where you got this impression. Some people responding to this are mentioning the transition of the potential native-navigation library to react-community. This is a library that we never actually used in production, though the plan was to move off of our internal library to this one shortly after open sourcing it. Priorities shifted internally (to other, more pressing react-native related things that aren't OSS), and we have not yet been able to do that. Since the community really wanted to work on the library despite us not actively maintaining it, transitioning it to react-community seemed like a better thing to do than further fragment the community by having people fork it. I'm still hopeful that we will be able to migrate to it in the future.

Source: I am the tech lead of React Native infrastructure at Airbnb and the primary author of native-navigation.

Hello, I work at Airbnb and helped Jon with this project a bit.

A lot of people when they first learn about this project have a hard time understanding how it would be useful - so you're not alone!

I tweeted ([0]) about this briefly and thought I'd copy here for the benefit of readers in this thread:

the wild thing about react-sketchapp is that we can now bootstrap designs with the actual code that powers the product we are designing

it took me a little while to realize the paradigm shift. we normally think of the code / implementation as the end of the process

this allows us to use production code not only for our production clients, but also for starting the next iteration

react being decoupled from the underlying UI implementation unlocks a lot of possibilities. this is just one.

we are starting to view our react components for our design language as not just an implementation, but as the specification itself

  [0]: https://twitter.com/intelligibabble/status/856941689029640192

What are you building with RN at airbnb?

Various flows in the Airbnb app are built with React Native. Our recently launched "Experiences" platform is built mostly with React Native, and there are many flows in the app that are built with React Native. Overall it's probably about 10-20% of the app right now. The decision to use or not use React Native for a new feature is a function of what the team building the feature is familiar with, and whether or not we think we can deliver a good user experience with the technology or not. The answers to those questions are quickly evolving though as we build up more infrastructure around React Native, and as the familiarity with the platform grows.

What has been your experience?

Generally positive, but the difficulty of integrating React Native into an existing mobile app with large existing native code bases should not be understated. It's not plug and play. I'm giving a talk about this in detail at React Conf in March. Make sure to check it out!

If you were starting a mobile company now, would you start with RN ?

Yes.

Keep in mind that I was the main proponent of React Native being experimented with and adopted at Airbnb. As a result, I have some bias and other people at Airbnb might have different feelings / experiences.

Great question. Right now playing the animation with the imperative API in React Native will be driven entirely on the main thread, but the declarative API with `Animated` will not be (yet).

I'm very interested in building the proper hooks natively to allow for usage with `useNativeDriver: true`. We are perfectly situated for this too, considering the author of the iOS side was also the engineer who introduced offloaded animations to React Native on the iOS side!

(Source: I made the Lottie RN bindings, and work on RN at Airbnb)

Thanks for the feedback, and for trying it out. Was it clear that that page was skippable, and that the years experience were optional?

I will take another look at the signup process. While I want it to be quick, the onboarding process is important for people to customize their experience and find who they know, etc. Definitely needs to be quick and easy though.

Hey, HN! Tech.pro founder here.

Tech.pro is a niche social network for people in Tech, with a focus on content discovery and sharing. It's designed with blogging in mind, while also allowing users to share links, images, Q&A, micro-posts, etc.

Our main feed (the home page) is driven by a combination of the people you follow (your network) as well as the tags you follow (your interests). We've been working hard to make the platform work well for the broad range of interests that someone in the tech industry might have.

Inspiration for the site has come from many sites and communities that exist today including HN, Reddit, Facebook, Twitter, etc. but take unique aspects of each to make the best possible experience.

I'm eager to get any sort of feedback from the HN crowd. AMA

Some additional links:

- Register + Video: https://tech.pro/register

- Feed: http://tech.pro/

- Privacy Policy: http://tech.pro/privacy

- Blogging: http://tech.pro/blog/6173/getting-started-blogging-techpro

Funny... I actually created some store mixins to do the exact same thing.

I've done it slightly different than you... rather than using `mergeDeep` in `this.setState`, I created some other methods such as `this.setStateAtPath(path, value)` and `this.mergeState` (the latter would use `mergeDeep`)

I'm going to submit a PR to allow for store mixins to be a little more 1st-class: https://github.com/kjda/ReactFlux/issues/4

This looks to be a well-put-together implementation of flux. I recently looked over around 20 or so flux libraries to use for a react app I had started, and found only a couple that I liked. I would put this one near the top, but the one I ended up choosing has been great, but no one seems to know about it!

If anyone is interested: https://github.com/kjda/ReactFlux

It's very similar, but I think I like how Actions and subscriptions to actions are handled with it better.

Obviously, doing this is not super-readable, but it can be fun thought-experiments or brain-teasers.

There was a post I wrote about doing something similar a little while back [1]

  [1]: http://tech.pro/blog/2097/clever-way-to-demethodize-native-js-methods

Building a vehicle to carry sufficient fuel and supplies for the trip to Mars is not especially technically challenging, when compared to the design of an earth-entry vehicle. Earth orbit rendezvous allows for the assembly of massive (though expensive) space vehicles such as the ISS.

Of course, they do have to land on mars, don't they? Isn't this roughly similar (and thus similarly as challenging) as earth re-entry?

Depending on whether by "platform" you mean the actual software package or not, I will throw http://tech.pro into the mix. (Full disclosure: I am the founder)

Tech.pro is a blogging platform / professional network catered only to the tech world (primarily software development).

Our editor is markdown-based and handles code snippets etc. quite well in addition to having support for embedded frame sites such as jsfiddle/codepen/sqlfiddle/etc.

Although you're writing on the TP platform, you still retain full ownership of your data. You can even download a neatly organized archive of all your blogs (and revisions) in both Markdown and html format at any time.

My Blog: http://tech.pro/leland/blog My Profile: http://tech.pro/leland

Interestingly enough, I had just about the opposite experience when I signed up for twitter.

I created my account around 2 yrs ago I think... maybe a little longer.

When I signed up, I remember the onboarding process being a bit similar in terms of requiring you to follow at least 5 people, except for me, the users it listed out were incredibly relevant.

It was to the point where I almost felt like my privacy had been breached. My understanding was that basically twitter looks at the IP address (or maybe it's with cookies?) of everyone viewing every page on the internet that has a twitter "tweet" button on it.

Since I read lots of blogs, articles, etc. around the web... twitter then had at the very least a starting point for the users that I would be interested in (based on the tweet buttons they put on their page).

Perhaps the code was different back then, but I remember the initial follow recommendations being really good.

it would be great if you could apply this to tweets or something more generic like a personal blog. (i feel like tweets would be easy... blog would be harder to parse reliably).

As someone who uses twitter a fair amount, and barely uses facebook at all - this won't really work for me.

Question:

I know that the `:visited` exploit is handled by the browsers so that you can't figure out by javascript what is going on...

but what if you used just CSS to figure it out? For instance, what if you generated the CSS which had a unique image it requested via the `background-image` property, stored the data on the server, then just requested the data from the server after the fact?

Do the browsers prohibit the usage of url-based css properties on CSS selectors with `:visited` or something? Does anyone have a link/reference to how the exploits were patched up?

When I was designing our office I had dreams of having giant wall-covering white boards everywhere. Of course, to save costs, we tried using the shower board material from Home Depot like this post is suggesting.

The ghosting ends up being a pretty big problem. We found some window cleaner (not windex) that does a pretty good job cleaning it, but the boards are getting more and more worn over time. Eventually I hope to replace them all...

I've ended up going a different route in my home office, and it's been quite successful.

Ikea sells these long and skinny white-colored glass. 63" x 19" for $32.00 USD.

http://www.ikea.com/us/en/catalog/products/80160645/

I have two of these mounted on the wall forming a pretty good-sized white board. It's a little bit weird with the seam in the middle, but it matters less than you'd think. The glass ends up looking WAY better and classier than the shower board would, and you don't have to worry about ghosting ever.

@platz, yes, this is correct. When currying and/or composing functions, it becomes more difficult to determine the input/output types of the function since the function signature won't be right there. I'm borrowing the `//+` syntax from Brian Lansdorf, since I saw him use it and quite like it. He mentioned he has "a lot to say on the topic" of commenting / type sigs, but I haven't heard him speak specifically on that.

Also, for functions that do different things depending on how many arguments are passed in, you would never want to curry these. The curry function relies on the function passed in expecting a specific number of arguments.

This is very interesting. I'm not so sure this wouldn't trip me up some times though. What if the first argument you are expecting, is supposed to be a function? I would think that would be a pretty common scenario...

Unless I'm not quite getting what you mean?

EDIT: I see that this would only happen if you passed in more arguments than expected, thus it wouldn't be a problem.

Very cool! I might update mine to work this way.