First of all, congrats, this is very impressive. Second of all, I've been thinking a lot about how proprietary GPU computation and especially VR is these days. Any interest or plans for the future in specialized hardware development for VR?
Interesting subthread. I've noticed that it tends to be easier when I haven't been drinking alcohol for a while -- I've had it occur a few teams a couple years ago, but it almost always ended with me flying and waking up. I couldn't sustain it for more than a few seconds. I was also writing music more then -- I'm not sure if that had anything to do with it.
Those portfolios are not even remotely compatible. Hangouts is the only viable product there. Meanwhile, all of Messenger, Instagram, WhatsApp and FB are each very strong products with extremely, almost worrisomely strong network effects. Clusterfuck is a bit vague and maybe a bit of an exaggeration, but you've got to admit that it's truly hard to think of Google as a company that makes best-in-class consumer software products anymore.
What would that be, out of curiosity? Not asking rhetorically. I would just assume the exact opposite -- they have every incentive to provide a monetized, just passable enough to be consumable experience. The content (and ostensibly the design) is the product, not the load time. Performance seems low on the list.
This is a really lucid explanation of something that is often unnecessarily muddled. Well spoken. To continue going with your thought experiment, how would you feel like if certain kind of people were tortured based on how they were different from you, and it was hard for you to even conceive of what that must feel like for them?
I think a lot of well intentioned folks are in this category. I don't think it's helpful for those folks to be skewered (ala extreme social justice style) for their difficulties. But with that said, it's the sum of their difficulties and those of society at large that may create room for these kinds of situations. I mean, for a very long time, we as a society had ethical arguments for slavery. I don't think it's beyond reason to think that later generations will look at the way survivors of sexual assault are treated by society the way we look at how slaves were once treated with society: shame and wonder at how anyone could let that happen, and yet an uneasiness at realizing that in the context of the historical period, it makes total sense. Humanity is capable of some really unsettling things.
I don't know the details of this particular case, and I would hope (although even courts have difficulties with this) that justice is found in the courts. But I must say, the allegations make my stomach churn precisely because they don't seem unrealistic. I've heard stories and seen folks do things like this with the brazen presumption that no one would stop them. Sadly, they can be right to some extent. I've done what I can to put those situations to a stop (you can only really do it if executive leadership is on your side and also not rotten in the same way the toxic individual is), but the fact remains -- it's a problem, even if it's sometime subtle and hard to notice or do anything about.
Yeah, I don't know if this has anything to do with a science degree. Folks with science degrees can end up managing things in a suboptimal manner, and so can folks without science degrees.
Well...let's agree to disagree because I say the hallmark is whether the business model is sustainable, which I'm not sure your heuristic completely fields. Deal? To be fair, it did look like the business model had legs here for a while.
From what I recall, they acquire IP when its from companies in this situation. I'm not a betting person, but I would not be surprised if this situation was a good opportunity for RPX's PR.
Agreed. I get so sad when I see this happen in the JS ecosystem (being used to python), but it's pretty easy to not fall into that trap. Use bower on the browser side, and npm on the server side. At that point, the only fight you have left is finding the stack of components that will play nicely together, which is the labor of architecture anyways.
Hmm, going to say a hard no on naively preferring UUIDs. It's a little bit of extra work to go with the instagram style approach [0] of using many logical postgres shards with a custom id function that implements twitter snowflake style IDs, but it's an elegant, scalable and operationally simple solution. I am very fond of it.
I think you're going to catch undue flak for this, but yes. I am bullish that BI and blockchain can go a very long way towards this goal. Sometimes, I worry that the barriers standing in the way are societal, not technical; the hard things about the hard things, so to speak. But, then I imagine I am perhaps trying to separate two things that are intrinsically linked. It's going to be interesting seeing how things evolve. I certainly wonder when the time will be that the world is ready for this in a mainstream manner.
A while back, I did some research into patent trolls, and came across the history of NPE firms that do DPA (defensive patent aggregation), like RPX [0]. What surprised me from a game theoretical perspective was how murky things got. These situations can be tough on entrepreneurs and seem to create space for said entrepreneur to purchase protection in the form of patent aggregation to mitigate against potential devastation caused by this. On one hand, I can see how it can amount to a protection racket. On the other hand, the existence of patents and how they relate to property are pretty complex. This TechCrunch article about RPX does a good job of going into further detail about this, but truth be told, I am even more on the fence after reading this. I agree that patent reform would be necessary to rectify this situation, but in the meantime, I can't think of a better alternative. The cynic inside me can't help but think that business is always it's own kind of war, sadly.
I'm recalling very fond memories of my first gaming system, my Gameboy Pocket[0]. I am also looking back at the history of the Mac OS because of similarly fond memories of my first computer, a Macintosh SE[1] with System 6[2].
It's amazing what sorts of creativity constraints eke from design. Cheap, powerful hardware is everywhere nowadays, but I don't see so much in the realm of interaction design that delights me the way these machines did. Some of it is the nostalgia factor, but I think it is also the serenity, simplicity and purity of the medium.
160x144 monochrome pixels on the GBP, and 512x384 on the Mac. But, if I think about it, there was so much that was accomplished there, and it makes me question just how much I really need.
I'm going to take the rest of my day to think about recreating the pure, simple, serene delight of what these machines made for me for the rest of my day. Thank you, friend. You have reminded me of some of my very favorite things.
Agreed. I had a very similar experience with an AP Computer Science course in high school. Considering the material and range of students, I think my teacher did a fantastic job, though. I didn't feel like I picked up that much, but the exposure of being an enthusiastic peer who could help others -- that was very worthwhile.
Here's where your analogy breaks down: what if the state of AlphaGo enhancers was as good as AlphaGo AIs? Could the current state of the art AI beat a human working with a state of the art augmented AI based assistant?
The lack of an answer is an interesting question, and I wonder how much it has to do with cultural concerns. Obviously, "machine beats man at intelligent task" is a lot sexier in some ways.
You've written what potentially appears to be a promising library. Great! In fact, it seems so promising that people are trying to find the equivalent in the language of their choice. Even better! Why not encourage them to write a wrapper for your fine library in their language of choice? Not everyone uses Node, after all. Maybe that person asking for equivalents in Python would've written a binding if you told them "Hey, you could try to do this in pure python but because of the relative performance of my library, you might want to consider writing a binding to µws."
I doubt you are trying to harm anyone. But you're not being very helpful. You say that you've "landed on someone's holy ground" but there is a very low chance that is going on. They probably just want to get a job done, and they want to figure out if your tool's a good fit. All it takes is a little bit more thought before you type out a response.
I'm not telling you to censor yourself. I'm telling you to stop worrying about explaining yourself, and start thinking about being more helpful. I'm telling you to do it, because it will make things easier for you. You might have written the library, but other people are going to be the ones who use it. They're going to ask you questions, and you're going to think some of those questions are stupid. It's okay. But if you try to be helpful to them even if you think their questions are stupid, you'll spend far less time writing defensive comments on HN, and far more time watching adoption for your library grow, which I assume is something you may want.
I can understand that you might be a bit frustrated right now, because perhaps that level of performance in pure python may literally be difficult to impossible in this case. But, the question the person was asking was a very reasonable one -- something along the lines of "I'm using this solution in python right now, and I'd like more performance -- what are my options?"
It seems like you not only misunderstand the question, but felt the need to question their intelligence and give a rude, vague, and overall unhelpful answer. As a piece of communication, it is overall useless to everyone involved. Please be mindful of the way you come across. There's no need to insult, dismiss and disrespect others. It only takes a single moment, and saves time and energy for both you and them. You could rephrase like "No. You can approach this to a level of <percentage_of_perf>, but it will be hard to pass that point, due to the way the library is written." If you did that, you'd add some very valuable information to the conversation with little effort. It would be a win win for everyone.
Beyond that, assuming your benchmarks are accurate, this seems like a prime library for someone to write a python wrapper for! There's autobahn-twisted right now, but I'm not sure how well it performs in comparison.
I have the same reaction as you. I am very impressed by this, as well as pybind11. My only worry is the fear that the automagic will break down somewhere, but I hope I am wrong and it will not hurt to try! If it works, it will significantly speed up my integration with an SDK that would have required enough extra hours to have otherwise not been worth it. Very exciting.
I'm a little confused by what you're trying to say, so help me out here. You say "it's overly decoupled for simple applications" and then "it is only a tool you should reach for after you find you need it." This would imply that you view Redux as a tool that primarily helps maintain larger React applications -- does that mean you think it doesn't make sense as the defacto standard as compared to, say, Flux? Or that there shouldn't be a defacto standard, or that neither of these is a good enough defacto standard?
Namely, I see Redux offering a nice advantage over flux in encouraging reducer composition (and functional purity) for modularity. "This pattern also enables wonderful features like no-user-code undo/redo. Can you imagine plugging Undo/Redo into a Flux app being two lines of code? Hardly. With Redux, it is—again, thanks to reducer composition pattern. I need to highlight there's nothing new about it—this is the pattern pioneered and described in detail in Elm Architecture which was itself influenced by Flux."
In short, the key value add for Redux, is not necessarily that it's (overly/inadequately) decoupled, but that it is necessarily forcing a decoupling via functional purity for the /purpose/ of modularity. That is, it is taking a more functional approach to state management for React components, favoring the event log paradigm rather than black box paradigm. This brings with it the ability to be "designed with use cases such as logging, support for Promises, Observables, routing, immutability dev checks, persistence, etc, in mind." Of course, these aren't impossible with Flux, but these things follow intrinsically from Redux.
Take my opinion with a grain of salt because I'm not super experienced with Redux yet, but I really like what I've seen so far playing with it.