Lu Ban's axe and working with your Chinese suppliers - <AUTHOR> https://hackaday.com/2017/08/30/lu-bans-axe-and-working-with-your-chinese-suppliers/ <comment><USER3> > Even now, engineers are not held in anywhere near the same regard in China > as they are in the West.

I have to respectfully disagree with the author on the esteem of engineers in China versus the West. I am not Chinese, nor an expert on their culture, but I do live in the West so I understand half of the equation.

Current President of China, Xi Jinping was educated as a chemical engineer[1]. His predecessor Hu Jintao was a hydroelectric engineer[2]. His predecessor Jiang Zemin was an electrical engineer[3].

Compare that with recent American presidents like Obama (JD), Bush(MBA), Clinton(JD), Bush Sr(BA in Econ), Reagan (BA in Econ). These are only a few points, but seems to me it is in China where engineers rise to the highest echelons of power. We have lawyers.

[1] [https://en.wikipedia.org/wiki/Xi_Jinping#Early_life_and_educ...](https://en.wikipedia.org/wiki/Xi_Jinping#Early_life_and_education)

[2] [https://en.wikipedia.org/wiki/Hu_Jintao#Early_life](https://en.wikipedia.org/wiki/Hu_Jintao#Early_life)

[3] [https://en.wikipedia.org/wiki/Jiang_Zemin#Background_and_asc...](https://en.wikipedia.org/wiki/Jiang_Zemin#Background_and_ascendancy)

<comment><USER4> This is because China is not a democracy. In a democracy, someone who speaks well is likely to win - and lawyers by definition must be able to speak very well. In China there is a merit-based system which as every merit-based system, has a lot of flaws - so someone able to work through the top of it must be a real hacker. Engineers win hands down over lawyers.

<comment><USER5> What? Communist party power dynamics are similar to ones in a gang - i.e. you have someone from the party who managed to seize power and lots of other top party members silently forming cliques and waiting for you to slip, so that they can deliver the blow. The country's people are only chips in the game, if that (often, rulers are toppled not over their policy but over some bullshit doctrinal dispute).

<comment><USER6> isn't that how any political party works?

<comment><USER7> More or less; but I think the point is, that by denying the power-struggle dynamic and punishing people who talk about it, communist structures in fact amplify it.

So in a democracy, there's all that behind the scenes tussel, but there's also an important aspect of public advocacy and decision testing. None of that in China; the politburo says what it's going to say, and then does what it's going to do.

<comment><USER8> > None of that in China; the politburo says what it's going to say, and then > does what it's going to do.

Thats not what happened in China. In China government invest heavily in propaganda and mind manipulation, they do not automatically push anything and everyone just follow blindly.

</comment></comment></comment></comment></comment></comment><comment><USER9> Another interesting cultural bit from the same author on chinese collaboration:

> You know how overseas Chinese students in America all copy each others work > to get answers? This workflow scale. How we work when older too. So if I > have a question I open up QQ and have a few hundred friends. We all help > each other with whatever. Many are engineers or work in factories here in > Shenzhen. Most of the electronics in the world are made here and a lot of > them designed and engineered here also. So easy to get very very > professional help. This network has been called gongkai. Also why so many > hardware startup here.

Found from the author's comment history on reddit: [https://www.reddit.com/r/DIY/comments/3c9l2m/my_diy_underlit...](https://www.reddit.com/r/DIY/comments/3c9l2m/my_diy_underlit_led_hikaru_skirt_updated/cstmwmn/).

She seems to have a lot of (culturally) interesting opinions in general: [https://www.reddit.com/user/SexyCyborg/comments/?sort=top](https://www.reddit.com/user/SexyCyborg/comments/?sort=top)

<comment><USER8> She was calling out common traits for people then trying to label them Chinese, and readers, like you, suddenly feel "interesting"...

> how overseas Chinese students in America all copy each others work to get > answers?

Student colluding is any special? I was college ta before, I do not think there is ever a class students do not copy each other.

<comment><USER10> I speak a bit of Chinese and have Chinese friends who were studying in Germany and one time I got to sit in on their copying session. I was quite surprised when a lot of Chinese showed up whom I'd never seen before.

Turns out some of them were seniors who had brought their homework from previous years. It wasn't like everyone just copied the work either, there was plenty of discussion about the points they had trouble understanding. (But my Chinese wasn't quite good enough to pick up on most of it.)

So if I may generalize from my anecdote, I'd say that Chinese students colluding is special in that they form a tightly knit community abroad, helping each other out.

<comment><USER11> Again, is that special to the Chinese? Isn't US history filled with examples of foreigners forming tight-knit communities based on nationality or ethnicity?

<comment><USER10> My only other experience with large groups of foreign students from the same country was when I stayed in China as an exchange student and met a lot of Pakistanis.

They definitely hung out with each other more often, but they didn't seem to actually study much together. I had a few email me with questions on the same exercise, so at least those three hadn't exchanged notes.

Of course there might have been some Pakistani-only homework sessions I was simply never invited to, but I don't think that was the case.

</comment></comment></comment></comment></comment><comment><USER12> _Since we are on the topic of idiom, this one rings true: "The nail that sticks out gets hammered down". Unless you're the boss of the company you rarely stand to profit from problem solving or creative thinking — and usually speaking up will be detrimental to you in some way._

Are American companies that different? The few places I've worked software engineers didn't get bonuses, only the people in sales did. Software engineers are seen as a resource.

<comment><USER13> Two NYC startups I've worked at have bonuses in the contracts. 10/20% based on performance with modifiers each way.

<comment><USER14> How is performance generally measured for dev positions though?

<comment><USER13> Peer and management feedback was used for the perf reviews.

</comment></comment></comment></comment><comment><USER15> Interesting to see the _very_ strong parallels to Japanese culture here.

For everyone arguing about whether this is true of all Chinese culture, of course there is innovative thinking in China, Wu is simply pointing out that in places where people aren't getting paid to innovate but rather are there to do a 9-5 job, there is little (and, in many cases, negative) incentive culturally to think outside the box and push the envelope. Don't expect that your contractor is going to go the extra mile for you. Getting specifications right and driving the production process are on you.

<comment><USER16> I don't think people half assing 9-5 jobs they have no interest in is unique to Chinese culture. It's actually a pretty universal thing in every country I've lived in.

</comment></comment><comment><USER17> > If you'd showed your axe to Edison he'd either have stolen the design or > declared it a menace and tried to run you out of business so he could sell > more saws

LOL... best part of the article. Good writing in general.

</comment><comment><USER18> On the subject of manufacturing in China, everyone seems to be saying the same thing, namely that you get exactly what you ask for, without any input or suggestion from the manufacturer, even in the presence of obvious flaws in your original design.

This hasn't been my experience. I manufacture small metal objects in China, that are not very complex (no electronics, etc.) but I get good inputs from manufacturers. For the packaging for example, we designed cases and envelopes with a manufacturer, and they came up with several ideas that we tested on prototypes -- some good, some bad, but the point is, they did have ideas and they did offer them for consideration.

More importantly, it differs from manufacturer to manufacturer. Some factories will produce garbage and then try to explain to you that there is no other way (after the fact); other factories correct mistakes before they even show you the result, because they understand what you want and they iterate autonomously, in order to get there.

What is true is that manufacturing is sloooow. The total duration quoted at the beginning of a project should be at least doubled. But this is probably not Chinese-specific.

</comment><comment><USER19> Naomi Wu has a youtube channel about hardware, electronics etc if anyone is interested: [https://www.youtube.com/channel/UCh_ugKacslKhsGGdXP0cRRA](https://www.youtube.com/channel/UCh_ugKacslKhsGGdXP0cRRA)

<comment><USER20> NSFW in US - for better or worse

<comment><USER19> Thats more her style, not doing it for attracting attention, more because shes interested in modifying her body

EDIT: not sure where the downvote came from, you can read about it from her own pastebin

<comment><USER21> > Thats more her style, not doing it for attracting attention, more because > shes interested in modifying her body

You're probably getting downvoted for that premise. It's blatantly obvious she's using it to drive views on YouTube (and there's absolutely nothing wrong with that). Even her name is intentionally pointed toward that: SexyCyborg; she's telling you right there what she's doing. It would be just as obvious if it were some hot guy that did every video of his with his shirt off. It's no different from Howard Stern shock-jocking for listeners, or the thousand times Jenna Marbles leveraged her looks to push views, or Matthew McConaughey taking his shirt off on camera. It's always obvious what they're doing and why.

<comment><USER19> Then I dont mind haha, theres more clickbaity stuff happening on my fb feeds everyday, at least she got the breasts done before the internet fame and not the other way around from how I remember it.

<comment><USER22> Err...most people miss it but I don't talk about sex Just completely immodest when it comes to skin, that's sexy for other people, not me

[https://twitter.com/RealSexyCyborg/status/903441607709540352](https://twitter.com/RealSexyCyborg/status/903441607709540352)

</comment></comment></comment></comment></comment></comment><comment><USER23> This was an interesting article!

At the same time, there are innovations out of China (that surpass anything which may have inspired it, or which they could have started out copying). So judging by their output, whatever cultural issues surrounded:

>For Chinese, this means you think you know better than a professional, than experts. It's the act of seeing something and saying "why don't they do this instead?". Traditionally, this is viewed as extremely arrogant and certainly not something to be encouraged in children or anyone else.

does not seem to extend to the whole of their ecosystem. I realize the author calls the above a "traditional" perspective.

Could anyone here who is current with current developments of Chinese IP and innovation comment on the validity of this general characterization?

The author in the entirety of the article certainly paints the Chinese culture with a very broad brush. But as would concern readers here on HN, the only thing that matters is what engineers who might work with them think.

What do people here think of the perspective in the article? For Chinese readers, do you agree with it?

<comment><USER24> As a Chinese reader, every sentence in this article rings true, even more so in the historic perspectives.

Especially in the PRC, you're in general incentivized to be an "excellent cog in the machine", and they teach this value to you in schools. "Being unique" in your first 18 years of life is considered a bad thing, and respect for hierarchy is enforced every day.

I wouldn't write everyone in China off to the type presented in the article -- most people in China know that this is not an efficient way of approaching things. However, their hands are tied in a society that enforces hierarchy in every possible way.

<comment><USER23> Thank you. Especially since you write that "every sentence in the article rings true" for you, can you expand on this from the article:

>engineers that you know to be otherwise reasonably competent simply choosing not to bring up glaring and obvious problems.

What does it refer to? How would/should someone guard against it? Normally we are usually used to being able to receive a bit of push-back (maybe polite) if we propose something with a glaring and obvious problem. Does this mean engineers would build something that doesn't work at all? (For some reason that's completely obvious to them.) In point of fact, I'm not sure what the article refers to, as it doesn't give an example. Could you give an example of what you think they mean, and how someone might protect against this effect? Thanks.

<comment><USER24> I think "glaring and obvious" is a little hyperbole, in the sense that most of the decisions an engineer can make aren't really that influential, and more often than not if the odds are right, nothing will break.

An example would be: I know this different schedule can probably save the company $xxx money, but since it's my boss who proposed it I'll just let it pass.

It really takes a village. The culture of standing up against higer-ups is sometimes way out of the league for a single person to achieve.

<comment><USER23> Thank you for the example. I also asked how someone can protect against this effect, but you did not answer that portion of my question. By "someone" I meant, in this case the boss - how can bosses counter this effect?

For instance, to continue with your example, suppose the boss certainly _would_ like to save $xxx with a different schedule they hadn't considered, but isn't even aware that the engineer is competent enough to propose it and knows how to do so: so in this case what could the boss have said or done differently that would have caused the engineer to propose it?

I assume ending each meeting with "We must now talk about anything that would improve the proposal just made; even if it makes me look like an idiot. Zhang Wei, do you know of any improvements?" and then going around pointing to each person and making them tell you whether they do, does not sound like it would "work". In this case Zhang Wei would say "no", as would the rest of the engineers... so how can the manager learn that an alternative schedule which Zhang Wei can propose could save them $xxx? (And maybe even complete production sooner, etc.) Any concrete suggestions here?

<comment><USER25> Maybe anonymity would help? The problem there is that people won't have as much incentive to propose improvements, as they won't be recognized if their proposals end up being good.

It just has to be ingrained in the company culture I guess. You'd really need to emphasize, whenever possible, that improvements and suggestions and corrections are welcome. You're fighting against upbringing.

</comment></comment></comment></comment></comment></comment><comment><USER26> Could some of this also result from the contractual nature of using Chinese suppliers? I know that from my own experience with contracting, that proposing an improvement can be difficult if you also want to attach a fee to the improvement. How do you say, "I think your proposal is flawed, this way is better, but it will cost you $X more" in a way that doesn't feel like a money grab or an insult? It can be in your best interest to allow the flaw to stand, let the client notice and propose the improvement during the next round of contract negotiations. And so the only improvements a contractor can propose are those that do not cost substantially more then the established price.

Of course this is more for fixed price for fixed work contracting. Contracts with more variable pricing my be better. Maybe other contacting setups can alleviate this issue, but I haven't seen many that could work and that clients are willing to sign.

<comment><USER27> I think it depends on having good rapport with the other party, but how about this: "If you'd like, we can do X for an additional $Y."

</comment></comment><comment> dis-sys > Even now, engineers are not held in anywhere near the same regard in China > as they are in the West.

what a joke. Three Chinese Presidents in a row all had engineering background, yet this is still not enough?

President Jiang Zemin was an engineer for decades.

President Hu Jintao was an engineer for almost a decade.

President Xi Jinping majored in chemical engineering from Tsinghua.

Then you look at property prices in Shanghai, Beijing and Shenzhen, it almost got a point that you can't afford to buy a home unless you work for some Internet companies or some banks. That is still not enough? How about the fact that most Software engineers got paid far more than lawyers and doctors/dentists?

<comment><USER28> Reworded: Even now, presidents are held with the same regard in China as they are in the West.

</comment></comment><comment><USER29> > _For Chinese, this means you think you know better than a professional, than > experts. It's the act of seeing something and saying "why don't they do this > instead?". Traditionally, this is viewed as extremely arrogant and certainly > not something to be encouraged in children or anyone else._

> _Simply put, in a strictly hierarchical society, proposing a solution missed > by your superiors is at the very least perceived as arrogant. You're just as > likely to be penalized in some way for making whoever is responsible for the > current solution lose face as you are to benefit in any way from proposing a > better way._

Is this generally true in other industries as well? How do Chinese companies try to be innovative, if people are discouraged from suggesting ideas?

<comment><USER30> Surely it's not true everywhere. Most of us have known plenty of Chinese engineers who are unafraid to report bugs and suggest solutions.

But in the broad sense you mean: yeah, kinda. Chinese companies (in the PRC in particular of course, but also outfits the stem from Hong Kong and Taiwan) tend _not_ to be particularly innovative. It's a lagging market, filled with well-implemented but fundamentally cloned products first pioneered elsewhere. China has products that can compete well against, say, Google and Samsung's offerings, but there are no _chinese_ Googles or Samsungs.

<comment><USER31> > but there are no chinese Googles or Samsungs

There is no american or european WeChat.

<comment><USER30> I guess. There's no one app, but nothing that WeChat does is serving a market that didn't exist in the west first. It's a triumph of integration, not so much innovation.

So... sure. In some sense that makes it an exception that proves the rule. If China can be successful with WeChat where is its Tesla or Pfizer or Intel or Fujitsu or...

I mean, there are times where a single counterexample can disprove a point. I don't know that this is one of them.

<comment><USER31> > It's a triumph of integration, not so much innovation.

So which system did they clone to become like this? Because if they are the first, I guess it is a lot of innovation.

<comment><USER30> Oh come on. I said it was good. It's just... not exactly the planar transistor or a CRISPR-CAS editing therapy, or even Android or iOS. It's a good company doing important but fundamentally simple stuff really well.

<comment><USER8> Wechat is more innovative than Android and iOS.

</comment></comment></comment></comment></comment></comment></comment><comment><USER8> > Few Chinese companies promote engineering staff internally or even > compensate them particularly well, so there's little incentive to put an > idea forward that may result in additional work and time away from their > families.

Too much forced analogy. This one is just plain out of context. Even people dont want to be educated in public, that does not translate who do the job doesn't get paid.

<comment><USER32> Yeah...Baidu/Tencent/Alibaba pays engineers REALLY WELL, comparing to the local standard.

Software engineering are already the best paid job category[1], outpacing finance, for Chinese university graduates, as the best profession to go to. I would say that is not the case here in US, where engineers are well paid, but the still far from the envy of everyone, which would be lawyers and doctors.

1\. [http://www.chinanews.com/sh/2016/05-16/7871331.shtml](http://www.chinanews.com/sh/2016/05-16/7871331.shtml) (in Chinese though)

Side notes: It is pretty interesting to read those articles try to analyze Chinese or East Asian people in general as they are machines from the same factory tagged with serial number. I cannot see how that could give you really insightful conclusions that generalize to 1.4 Billion people.

</comment></comment><comment><USER33> This is fantastically well-written. Great insights.

<comment><USER8> I am not sure how did you draw this conclusion. The article is at best just reaffirming stereotype, at worst plain dilkusional manipulation...

</comment></comment><comment><USER34> for some context.

the "community" on hacker news has said limor (ladyada) fried is not a "real engineer" or she has help and doesn't really do engineering, or she is not a real person, or she is just a marketer, or it's not really her code, amongst other attacks anytime her work appears here on hacker news.

the same attacks on hacker news on naomi wu have been said to other women who make things, share their projects, and are online, including limor, on hacker news.

before you hit "add comment" \- what is the goal here hacker news community?

<comment><USER35> HN isn't always hostile to women.

The last time I made the front page under my real name,[0] I got a very encouraging comment about how it was nice that I had just started programming and was already thinking of hard problems.

Thankfully, it's simple enough to add an nginx rule to bounce anyone from news.ycombinator.com right back to where they came from.

\--

[0] For some reason HN comments are much more respectful when I use a pseudonym. I must have a silly name or something. ¯\\_(ツ)_/¯

<comment><USER34> perhaps "HN isn't always hostile to women" but it's enough times for every woman i know to say it is.

hacker news community, what is your goal here?

</comment></comment></comment><comment><USER36> Avoiding the sentiment of the other comments here (which are not completely confusing, but nonetheless a little over my head), I have a practical question:

How does one relate to and incentivize the Chinese people, then? Where are good places to start learning more?

Context/example:

I'm tentatively interested in approaching China from a "hobbyist with a tiny bit of money" standpoint. I want to do limited runs (3 to 4 zeros, or if circumstances allow, less!) of small handheld electronic devices - PCB, thin removable enclosure, possibly some buttons/keys on the front.

Plastic caps directly over tactile buttons is cheap and compact, but rubber- dome systems seem to have a higher-quality finish. The challenge here is that rubber-dome "mats" are likely expensive to tool for, while sticking the dome under a plastic cap means extra thickness. I'd need to find out what my options are here (if I could achieve making a small _keyboard_ , with full key-click - like the Psion Series 5 or HP palmtops - that would be amazing).

As a separate thing, I'm also really fascinated by the chip-on-board techniques used to manufacture credit-card-thin solar calculators. It would be amazingly fun to be able to play with those manufacturing techniques, but going on the cheapness and sheer numbers of devices like this out in the wild (and the fact that I'm seeing the same designs on eBay as I saw in electronics catalogues from 1999!), it seems reasonable to think that the tooling to make these is probably eye-watering, sadly. But I don't know.

I'm not asking for solutions or answers to these problems/questions here (although if anyone wants to comment...); they're just for context. My point is that I have no idea how or where to start in terms of contacting people and going through all the machinery; I know the volume I can promise is effectively nil, and I read this article from the standpoint of knowing I have an extra job of convincing to do because of that.

I also recently read [https://lwn.net/Articles/504865/](https://lwn.net/Articles/504865/) (found in [https://news.ycombinator.com/item?id=15138028;](https://news.ycombinator.com/item?id=15138028;) replies say the main focus of the (2012) article is outdated; I'm curious if the bits I'm quoting are relevant). It's a transcript of a talk about some teething problems with trying to do runs of hardware to run KDE on. It reads

> _... the manufacturers are "all about volume" ..._

and

> _Because the volume of devices that [Make Play Live] could promise to sell > was fairly low, the manufacturer had little interest in consulting or even > notifying the company about the changes._

and

> _In the Q &A session, Seigo further explained some of the problems that MPL > had run into. Unless it can promise a quarter of a million (or some other > six-digit number) of units, MPL won't be able to get any input into the > process._

This info will likely be old hat to some. But I begin to wonder that whoever agrees to do small production runs will just be amusedly humoring me - <USER2> if the speaker of the transcripted talk linked above said ' _" Our order is a rounding error"_'... what does that make my run? (Would it even need a receipt? :P)

So I'm interested to understand Chinese culture more - particularly with manufacturing, and in terms of learning more about the tech scene - so I know how and where and the best place(s) to jump in.

I read [https://news.ycombinator.com/item?id=15138739](https://news.ycombinator.com/item?id=15138739) a couple of days ago; to quote:

> _... [T]he most impressive I 've seen were some calculators I saw in > Shenzhen a few years ago which looked like simple solar-powered 4-function > ones, but were actually programmable and had several tens of KB of memory. > Trying to use that functionality with a 8-digit 7-segment display, however, > was quite challenging._

That's awesome. That's the sort of thing I mean by "scene" and what I want to learn tons more about.

<comment><USER37> "I know the volume I can promise is effectively nil, and I read this article from the standpoint of knowing I have an extra job of convincing to do because of that."

Convincing of what - people to work for effectively nothing? Because according to your logic, that is what you are trying to accomplish. Convincing people to work for nothing. But it's not just you, it is the majority, dare I say nearly everyone, that comes to China. Nearly everyone is trying to get something for nothing. People just seem to lose their ability to comprehend that people in China have the same constraints on time, and particularly the value time, as everyone else outside of China.

I own a factory in China and I see this all too often. For example, people come to us with complicated electromechanical projects with half-baked designs. Designs that would require at least 3 additional months of prototyping before we'd even be ready for tooling. That means we are very likely going to spend 6-12 months working on your project. Too often, they don't have a dedicated engineering staff so there are a lot of gaps we must cover. Verification and validation of designs. Resultant CAD changes. Circuit design changes. Prototyping. Strategic sourcing. Lifecycle testing. Safety and agency. Packaging, packout and shipping. More, much more. It can easily consume 1000+ man-hours even 2000+ man-hours from a team of 8-10 professionals working on it. And then, lets say I quote $35,000 USD nonrefundable engineering fees or labor and overheads for 1000+ manhours. That's about the cost of a secretary with an associates degree from my home state in WV. What do I usually hear? Crickets. I hear nothing back because people are too busy expecting that they are going to work with a factory here in China and get something for nothing.

And in the end, they are all wondering "why didn't I get what I tried to buy from China?"

<comment><USER36> Thanks so much for this insight.

> _Convincing of what - people to work for effectively nothing?_

Not quite. Things cost money; trying to get something for less than it honestly costs is delusional, disrespectful, wastes everyone's time, etc. I don't want to do that. (I'll admit I didn't convey the sentiment I was getting at in my last message particularly well.)

Rather, it seems that there are few options if want to make something that isn't going to be superscalar in terms of volume demand. Instead of "we need ten production samples of this design to judge tolerance, and then our plans are to do a volume order of xxx,xxx items"; I want to do the minimum order possible (for reasonable and non-irritating (!) values of "minimum").

Essentially I'm in the same part of the spectrum typically catered to by hobbyist 3D printing, but I'm trying to do things that are tricky to manage with just a 3D printer. I mentioned keyboards before as an example; I've wondered about how much it would cost to tool for custom keyboards for a while.

> _People just seem to lose their ability to comprehend that people in China > have the same constraints on time, and particularly the value time, as > everyone else outside of China._

FWIW, I think this is because China is viewed as a kind of magical place that makes _so much_ of _everything_ with _such amazing prices_ that there must be some superhuman magic in there somewhere. :P So all reason and logic kind of goes out the window. Somehow stuff is being made for impossibly cheap, so surely that must mean that the actual manufacturing cost is cheap too, right? (It would seem that these people don't comprehend economies of scale. I get the impression that the reason that (for example) a given cheap toy is only ~a dollar is because some super-wholesaler did an order for ~a million and paid ~$8xx,xxx (?), and then forwarded their costs on to a bunch of toy stores.)

> _I own a factory in China and I see this all too often. For example, people > come to us with complicated electromechanical projects with half-baked > designs. Designs that would require at least 3 additional months of > prototyping before we 'd even be ready for tooling. That means we are very > likely going to spend 6-12 months working on your project. Too often, they > don't have a dedicated engineering staff so there are a lot of gaps we must > cover. Verification and validation of designs. Resultant CAD changes. > Circuit design changes. Prototyping. Strategic sourcing. Lifecycle testing. > Safety and agency. Packaging, packout and shipping. More, much more. It can > easily consume 1000+ man-hours even 2000+ man-hours from a team of 8-10 > professionals working on it. And then, lets say I quote $35,000 USD > nonrefundable engineering fees or labor and overheads for 1000+ manhours. > That's about the cost of a secretary with an associates degree from my home > state in WV. What do I usually hear? Crickets. I hear nothing back because > people are too busy expecting that they are going to work with a factory > here in China and get something for nothing._

I see I have a lot to learn about. (I'm very curious where I should start. On the one hand I'm yet another confused tangle of dime-a-dozen ideas, but on the other hand I do think I have the patience and determination to manage a couple of them down the track a bit.)

Reading this makes me think of the line "Reproduced by (...) from camera-ready copy supplied by the authors." at the front of one of the textbooks I have upstairs. It sounds like I could eliminate significant cost by applying similar diligence and aiming to deliver complete specifications that are immediately usable. I presume it's possible to request that mistakes be pointed out so I can do the work to correct them on my end. That said, I say this 100% naively; I wouldn't be surprised if this is actually infeasible :)

> _And in the end, they are all wondering "why didn't I get what I tried to > buy from China?"_

I remember having a brief conversation with someone selling kitchen supplies at a kiosk in a local mall (IIRC) many years ago about manufacturing arbitrary things in China versus elsewhere. That's when I learned that the main reason "Made in China" has such a bad reputation is because it's the customers on the non-China end that are always trying to "optimize" their costs - and that end quality was judged acceptable by sampling at the receiving end, not the source.

That's kinda saddening, but it seems that the prices people expect to pay for different things have been pretty much been locked-in since the manufacturing boom of the ~60s-80s, so anybody who wants to pay the factories a tiny bit more for better output quality is going to have a very hard time competing.

The angle I've been coming from here is biased a bit towards manufacturing in general - I've mentioned toys, everyday objects, etc, as I have little awareness of the technical/industrial side of manufacturing at this point.</comment></comment></comment>


New protocols show up to 76% speed jolt for iPhones, iPads - <AUTHOR> http://www.networkworld.com/news/2011/030811-protocols-iphones-ipads.html <comment><USER2> Makes sense that with more data about the physical orientation and characteristics of the device, a better signal attenuation attained and the network can be optimized. However, I don't see the logics of actually implementing such a scheme will be overcame, and ultimately this would have to become a part of the core communications protocol with the tower.</comment>


Towards A Tighter Gmail/Google+ Integration? - <AUTHOR> https://plus.google.com/104606404307206236075/posts/2vA4AgVPVSF

<comment><USER2> Lately it seems any move made by a social network raises the hairs on people's backs. I haven't tested, but I'm willing to bet that you only see the person's activity on the top-right if both of you are in G+ and that person is in one of your circles.

<comment><AUTHOR> I'm sure they'll only show you posts that you can see - either because they're public or because you are in one of the circles to which the post was shared. But not showing a public post, even if you're not following that person? That wouldn't be a breach of privacy for sure, and it could even be useful (if maybe distracting from the subject of the email, sometimes).

</comment></comment><comment><USER3> I'm on the move from Greader to something else because of their Greader/G+ tighter integration. And I'm _far_ from being the only one in this case. Didn't they learn anything from the Greader mistake?

<comment><USER4> Well Google normally goes by the numbers, so I question whether your assertion matches what they're seeing.

<comment><USER3> I guess not yet. Alternative to Greader do not meet my needs (either you can't produce a feed of shared items that others can subscribe to with any feed reader, or the UX is to poor), so I'm developping my own (which will be released as soon as possible, there's still a bit of work before it can actually be used and I'm in my exams + school project period) and it takes some time. Time during which I'm still using Greader, of course…

</comment></comment></comment><comment><USER5> > _This would look like a very strong virality vector for Google_

...or the trigger for a gmail exodus

<comment><AUTHOR> Why? That space would normally be used by ads, so I don't see it as an inconvenience...

</comment></comment><comment><USER6> This has been available for months now. Is this the first time people see it? I like it. It reminds me to check out Google+.

<comment><AUTHOR> I actually only noticed it now... maybe because not so many people with whom I exchange emails write on G+?

</comment></comment><comment><USER7> This is an old news. G+ integrated your feed into Gmail a while back. Another one of the privacy concerns.

<comment><USER8> How so? You public posts are indexed by Google Search as well, they really don't get more public than that.

<comment><USER7> How's that a privacy concern? Imagine a gmail user in your address book who has not signed up for Plus or you don't care about that person. He/she would be seeing your Plus feed unintentionally. Of course your feed is public in the first place, but the key term here is "intentional". Why would you want to showcase your public items in Plus to some unconcerned people in your Gmail address book?

<comment> mike-cardwell There's no need need for the vast majority of users to make _any_ of their posts public. My posts are only accessible to people who I have in my circles.

<comment><USER9> Indeed. Considering that HN is one of the most tech-aware communities on the Internet, it continually surprises me how much people here want "security by obscurity" in managing their personal online communications.

If there are people who you don't want seeing your public posts, regardless of whether they currently have Google+ accounts or check them on a regular basis, don't make them public. Simple.

<comment><USER7> The 800 pound gorilla that Google is, forcing everyone to go Social, isn't targeting tech-aware communities on the Internet. They know they wouldn't go anywhere if they were to just target the tech-aware public. So, the comment above is in general.</comment></comment></comment></comment></comment></comment>


Dart nullability syntax decision: a?[b] or a?.[b] - <AUTHOR> https://medium.com/dartlang/dart-nullability-syntax-decision-a-b-or-a-b-d827259e34a3 <comment><USER2> Kotlin doesn't have the [] syntax. You just go someObjThatMayBeNull?.aMethod()?.aProperty : orSomeOtherExpression.

I think that wins in terms of readability. Also, every Android developer is already used to that syntax.

I hope Google at some point opens up Flutter to other languages. IMHO it's being held back by Dart at this point and they are barking up the wrong tree by not addressing that directly. People are reluctant to switch to it because they have to switch language to something less nice. The solution is not flogging the dead horse that is Dart by slowly adding bits of features that they hope will bridge the gap.

Kotlin now has a native compiler and reengineering Flutter to play nice with the LLVM ecosystem would also enable other languages. Like Swift, Rust or C++. Also, WASM is becoming a thing in the LLVM world. A Flutter evolution that properly integrated into that eco system would be quite a useful thing to have.

<comment><USER3> Not sure about Flutter being held back by Dart. From my experience the language works really well for Flutter.

For example Dart has first class support for asynchronous streams, very useful for a reactive framework. Flows in Kotlin are still experimental I think?

The Dart version of async/await works really well, just what you need in Flutter code and simpler than suspended functions in Kotlin.

The cascade operator is since syntactic sugar and, again, simpler and lighter than Kotlin's "apply".

Then there are Flutter's killer features, mainly hot reload and soon the Web support. Is Kotlin.js in the same league as Dart? Honest question! Dart's JavaScript support is very mature, with 2 backends: one for development and one for production. And what's the hot-reload story on Kotlin's side? I could not find an answer on Google, but I did find[1] these words from the "IntelliJ IDEA product manager @ JetBrains, co-author of Kotlin in Action":

"Flutter relies heavily on features that are only provided by the Dart VM. It's not possible to add Kotlin support to Flutter without losing a lot of the things making Flutter attractive."

So from a marketing standpoint maybe Dart is a liability, but technically I think it's a strength. I hope marketing won't have the last word!

[1] [https://twitter.com/intelliyole/status/1105493258954780672](https://twitter.com/intelliyole/status/1105493258954780672)

<comment><USER4> > I hope marketing won't have the last word

It's interesting you think JVM support is just marketing.

For millions of developers around the globe, JVM support is a feature, and one they really can't do without.

Dart is a liability to them because unproven, and its future is equally uncertain given Google's track record.

<comment><USER5> Every proven technology was unproven once. I remember when people said Java was too risky, GC was too slow, and it would never take off.

<comment><USER6> Which side are you arguing for ;) couldn't resist

</comment></comment></comment></comment></comment><comment><USER7> It's so weird when you've been using a feature for years in a language (swift) and you see another language try to come up to solutions to a problem you never had..

Chaining ?[] sucks no matter what you do, and as for parser ambiguity, my guess is that if the parser doesn't know how to understand an expression, then the best thing is to have it fail and ask the programmer to add parenthesis. Because chances are it won't make any sense to a human as well.

<comment><USER8> > you see another language try to come up to solutions to a problem you never > had

...didn't Swift have the same problem to witch it came with the same solution? (I mean `?.`)

<comment><USER7>
      let a:[Int]? = nil
      let ai = a?[0]

and

      let b: [Int:[Int]]? = nil
      let bi = b?[0]?[0]

are valid in swift. ?. is used when you want to access a property, but i've never thought of it as an operator. Rather, i see it as "a?" (aka : unwrap a) followed by "." dot operator to access a property. I basically just replace a with a? every time a becomes nullable, and that's it.

</comment></comment></comment><comment> d--b > Finally, consider this example of chaining the subscript:

> someJson?[recipes]?[2]?[ingredients]?[pepper]

> To our eyes, that doesn't look very good. It scans less like a method chain > and more like some combination of infix operators — a little like ??. > Compare it to this code:

> someJson?.[recipes]?.[2]?.[ingredients]?.[pepper]

Yep. So in the end ?[] does not look better, and the dot avoids the ambiguity with ? [] :

There you go. Dot. You could also allow `a.[x]` as a valid alternative to a[x]

<comment> yoz-y Why exactly is it a problem when the intent here is to actually chain infix operators.

<comment><USER9> Because `?` is not an infix operator between two things of the same (or reasonably similar) type, which is what programmers expect from infix operator chains.

<comment> yoz-y I see. Coming from swift the ?. syntax feels weird to me because it implies there is some property accessed or method called when there is not.

Ambiguity with ternary operator is unfortunate but this one is lifted (in Swift) by harder rules on whitespace. A postfix operator must not have space between the variable and the ?: operator must have space around.

<comment><USER5> _> Coming from swift the ?. syntax feels weird to me because it implies there is some property accessed or method called when there is not._

There is. "[]" is a method in Dart. In Dart, almost all operators are syntactic sugar for corresponding method calls on the left-hand operand. In Dart, lists and maps are built into the core _library_ , but the "[]" syntax is not special to those types. Any user-defined class is free to implement the subscript operator too.

In practice, this is useful because it means user-defined classes can implement the List and Map interfaces. This gives user collections the same ease of use as built-in ones.

</comment></comment></comment></comment></comment><comment><USER10> Why not explicit

       Option.map (fun l -> Array.nth l n) your_optional_list

And why treat something nullable as a special entity when it's just a container?

And why would anybody want a nullable collection or a special syntax for 'em, when any collection is already nullable, and an empty list or array is basically the same thing as None/Null?

<comment><USER11> For Option types to work well and not be an awkward footgun (like C++ std::optional), you also need sum types and pattern matching.

While Dart should gain those, that's a much more invasive language change I reckon.

<comment><USER12> > For Option types to work well and not be an awkward footgun (like C++ > std::optional), you also need sum types and pattern matching.

Which you can derive from lexical closures (which Dart has) using Church encoding:

        typedef Optional<T> = R Function<R>(R, R Function(T));

        Optional<T> None<T>() {
          return <R>(R none, R some(T x)) => none;
        }

        Optional<T> Some<T>(T x) {
          return <R>(R none, R some(T x)) => some(x);
        }

        Optional<B> MapOptional<A,B>(B f(A), Optional<A> option) {
          return <R>(R none, R some(B x)) => option(none, (a) => some(f(a)));
        }

        String OptionalString<T>(Optional<T> option) {
          return option('None()', (x) => 'Some(${x.toString()})');
        }

        void main() {
          Optional<num> opt1 = None();
          Optional<num> opt2 = Some(4);
          print('opt1: ${OptionalString(opt1)}');
          print('opt2: ${OptionalString(opt2)}');
          Optional<num> opt3 = MapOptional((x) => 2*x, opt2);
          print('2*opt2: ${OptionalString(opt3)}');
        }

Optional<T> is a sum type, and you pattern match on it by calling the function and providing expressions for the None and Some cases as parameters.

There may be some implementation limits... I managed to crash the compiler at [https://dartpad.dartlang.org/](https://dartpad.dartlang.org/) with the first version which had the expression for opt3 inlined into the call to OptionalString(). Declaring it as a separate variable worked around the issue. It's also apparently disallowed to nest generic function types, so you can't have Optional<Optional<T>>; this might be circumvented by wrapping the function type in a class.

</comment></comment></comment><comment><USER13> JS went for a?.[b] [https://github.com/tc39/proposal-optional- chaining#faq](https://github.com/tc39/proposal-optional-chaining#faq)

<comment><USER14> I was trying to find which programming language did it first, because I knew C# did it well before JS, although I definitely wouldn't be surprised if they weren't the first.

However, in my search I found a list of languages and how they use safe navigation operators:

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

<comment><USER15> InterLisp allowed (car nil) and (cdr nil) to safely yield nil, thus making it safe to probe list structure to any depth. This spread into other dialects and is that way in Common Lisp

> _In 1974, about a dozen persons attended a meeting at MIT between the > MacLisp and Interlisp implementors, including Warren Teitelman, Alice > Hartley, Jon L White, Jeff Golden, and Guy Steele. [ ... ] In the end only a > trivial exchange of features resulted from "the great MacLisp /Interlisp > summit": MacLisp adopted from Interlisp the behavior (CAR NIL) → NIL and > (CDR NIL) → NIL, and Interlisp adopted the concept of a read table._

[ _Evolution of Lisp_ , [https://www.dreamsongs.com/Files/HOPL2-Uncut.pdf](https://www.dreamsongs.com/Files/HOPL2-Uncut.pdf)]

In the Common Lisp Object System, we can specialize any method to arguments of the _null_ class, a type whose only element is _nil_. Thus for instance, if we have a generic function _salary_ like this:

      (salary employee)

then if _employee_ is _nil_ , this simply calls for the following primary method to exist:

      (defmethod salary ((emp null))
        ...)

This can return whatever you want: just _nil_ , or zero or whatever is appropriate.

If the method is not defined, then (salary nil) signals a condition.

</comment></comment></comment><comment><USER16> _(One such corner is that — — a and --a are both valid but mean different things.)_

I'm not familiar with Dart but I believe the same applies to all the C-derived syntax languages; predecrement vs subtraction of negation. If I remember correctly, the C standard even has "a+++++b" as an example (which is a syntax error, since it parses as "a++ ++ +b", but "a++ + ++b" would not be.)

As a "completely uninformed outside" opinion, how about not adding another operator, but automatically choosing based on whether the type on the left is nullable? I feel like there's already a lot of "implicit nullness" going around with this sort of language design, such that these operators are redundancy overhead --- and according to the article, the declaration of the type already tells you whether it's nullable.

<comment><USER5> _> I'm not familiar with Dart but I believe the same applies to all the C-derived syntax languages_

Yes, you're correct. It's not a _unique_ property of Dart, but it's an example of a case where the whitespace in your source code is important, even if you just use it as an input to the automated formatter.

 _> how about not adding another operator, but automatically choosing based on whether the type on the left is nullable?_

We could do that, but that just kicks the problem down the road. It means the type of the surrounding expression would itself become nullable (because a null-safe subscript operator can always evaluate to null). So the user still has to handle it at some point. It's better to make them handle it at the first place that null can appear so that they know where it's sneaking into their code.

</comment></comment><comment><USER17> Anyone know what the bang operator does? It's impossible to Google (unlike "cascade syntax" a few lines down):

      Is similar to the syntax for the ! operator: e1![e2]

<comment><USER18> It's a non-null assertion operator which would throw an error if `e1 == null`.

<comment><USER19> Would the operator itself throw the error, or trying to access `[e2]` on null?

I never used Dart, I would assume it's basically a cast from `Optional<SomeType>` to `SomeType`, so wouldn't throw an exception itself

<comment><USER18> The operator itself would throw an error.

Dart is planning to have a sound non-nullability which means that if something has static type `SomeType` then it is guaranteed to be a value that is actually `SomeType` and not something else.

Thus you can't take `SomeType?` and just cast it to `SomeType` because `SomeType?` can be null and `SomeType` can't be null.

This means this cast has to perform a check and throw if your value is null.

This also means that if you have `e1` and `e1` has non-nullable static type then `e1` would never be null in the NNBD world - which is a very good property (e.g. for optimizations).

<comment><USER19> Interesting! So you were right to call it an assertion rather than a cast

</comment></comment></comment></comment></comment><comment><USER20>
       a?[b]

happens to be valid Rust already. Rust doesn't have the ternary `?:` operator, because almost everything is an expression, so you can use regular if/else anywhere. That ship has sailed for Dart, but the other syntax doesn't look too bad either.

</comment><comment><USER21> TL;DR; ? would be better, but it would completely break our parser.

(The feature that conflicts, array literals, are using the obviously desirable syntax as well. This is just good intentions and path dependence in action.)

<comment><USER22> It's not like it's an implementation detail of their parser, it would make the language more difficult to write correctly and still be parsed by any parser, including a human reading the code.

<comment><USER21> 100% agree, it just an unfortunate interaction between

1) ?: syntax 2) [] for dereferencing 3) [] for literals 4) ? for null chaining

Each of the decisions is correct in isolation, but together they're a nightmare. Which decision you made first determines what you end up with in the other areas.

<comment><USER5> Exactly right.

If I had a time machine, (1) is what I'd fix. The conditional operator syntax has always been pretty hokey and if you just make `if` an expression (along with most other statement forms), you have no need for it.

</comment></comment></comment></comment><comment><USER23> I'll be uh... honest, I didn't realise anyone still used Dart.

Not meant to be a dig - just forgot it existed.

As to the topic - a single question mark seems to make more sense.

<comment><USER24> The Flutter framework is helping keep it alive. I think it's also used a lot in Google's Fuchsia OS.

I thought it was too bad it was not widely adopted as a JavaScript replacement, like it was meant to be.

<comment><USER25> Yes.

I have the feeling it occupied a weird place in the language ecosystem.

TypeScript was less ambitious and closer to JS so it got more momentum.

Dart is not as close to JS as TypeScript, but doesn't offer things like Reason while still being as far away from JS as Reason (Own language semantics, with own toolchain, etc.)</comment></comment></comment>


Manipulation in the VIX? (2017) - <AUTHOR> https://papers.ssrn.com/sol3/papers.cfm?abstract_id=2972979 <comment><AUTHOR> This was posted on SSRN in May '17.

Abstract:

At the settlement time of the VIX Volatility Index, volume spikes on S&P 500 Index (SPX) options, but only in out-of-the-money options that are used to calculate the VIX, and more so for options with a higher and discontinuous influence on VIX. We investigate alternative explanations of hedging and coordinated liquidity trading. Tests including those utilizing differences in put and call options, open interest around the settlement, and a similar volatility contract with an entirely different settlement procedure in Europe are inconsistent with these explanations but consistent with market manipulation. Large transient deviations in prices demonstrate the importance of settlement design.</comment>


Meebo adds Facebook and MySpace chat for full chat goodness - <AUTHOR> http://www.centernetworks.com/meebo-facebook-myspace-chat

<comment><USER2> Meebo is an impressive breakout from the past few years, they keep pushing the envelope and are really doing an amazing job at finding their revenue stream as well as finding new functionality which brings their users back over and over.

What's next? Complete interoperability?

<comment><USER3> It's funny how little you hear about Meebo compared to say Twitter. Meebo do a good job in the main, although I'm not convinced Meebo rooms was a good idea.

<comment><USER4> It's true. Probably because Meebo tends against lock-in and everyone is obsessed with being the next company with lock-in and, therefore, Microsoft- like profits.

Twitter has users with accounts, histories, people they follow. Same with Facebook, MySpace, etc. Meebo can be "easily" replaced by a competitor. Easily in this case means, you don't have to transfer all your data nor do you need to get your friends to move services.

That's why we aren't as giddy about Meebo. They need to keep working really hard to stay one step ahead of the competition. As opposed to Twitter/Facebook/MySpace who have to work just hard enough that users won't take the effort to transfer data and bug their friends to switch to a competitor.

<comment><USER5> I agree, Google can be replaced just as "easily".

</comment></comment></comment></comment><comment><USER6> Am I the only person in the world who intentionally avoids both those apps like the plague? Facebook chat doesn't work in Camino. All hail Camino.

<comment><USER7> No one I know uses Facebook Chat.

<comment><USER8> Facebook have shown that IM on websites is really just a commodity at this point. The technology is not the hard part but them owning the social graph is powerful here. I do believe that Facebook Chat will succeed and I think it already is.

However, chat have never been easy to monetize so right now it's adding to the amount of time that users spend on facebook. Which is good

</comment></comment></comment><comment><USER9> Haha, no way! This is great news. Now, I only wish I had access to my Facebook chat list within my Gmail client. I already have both AIM and GChat rolled into one, and that's great. Then, I just need an iPhone client, and some way to integrate it with both texting and email.

Exchange for chat + email + texting, all specced out with an API for easy integration into browser-side clients...

<comment><USER5> Meebo works well in the iPhone browser.

</comment></comment><comment><USER10> Great, now I can chat with all the annoying acquaintances and old highschool friends who randomly add me on Facebook. I think I'll pass.</comment>