Boeing changing Max software to use two computers - <AUTHOR> https://news.yahoo.com/ap-sources-boeing-changing-max-184231846.html <comment><USER2> >"Only one computer was used in the past, because Boeing was able to prove statistically that its system was reliable, the person said."

Yeah, I have a real problem with that.

A priori of a computer failure, you may have statistical reliability. But once it actually fails, the failure rate is 100% and a backup computer is needed.

Also, external AoA sensors fail all the time (like when a bird hits them), so the failure probability is very high. So we're not just talking about solid- state computer reliability here.

What also concerns me is that airliners fly at transsonic speeds. How would the AoA calculations be affected when the airplane is in a slip for some reason, and the AoA sensors are reading different values? What happens when MCAS goes berserk at high speeds (ie. near Mach 1.)

If MCAS wasn't even tested on takeoff, it sure as hell wasn't tested at Mach 0.8.

If the stakes are not clear ... besides the loss of life, an airliner crash often results in the bankruptcy of the entire carrier.

Source: commercially-rated airplane pilot who's studied high-speed aerodynamics.

<comment><USER3> As an embedded systems developer, I have developed mistrust to statistical reliability figures. These days you quite often come across components and subassemblies with MTBF stating (sometimes tens of) millions of hours. When you try to clarify with the vendor how they arrive at these figures there is nothing but general handwaving about using industry tools and statistical models.

But sorry, just can't seriously take it on faith that your product is going to last 11 centuries at 20C.

<comment><USER4> I really wouldn't be surprised if some components don't last that long...

Take a regular ceramic resistor. I'd bet that if you kept it in a temperature controlled sealed box, it would last 2000 years.

I would possibly even reckon it might last 200,000 years.

Ceramics are so so so inert, and as are metals as long as they're away from oxygen.

<comment><USER3> The 11 century MTBF example was a complete SoM.

</comment></comment></comment></comment><comment><USER5> From the article:

>"Only one computer was used in the past, because Boeing was able to prove statistically that its system was reliable, the person said."

Years back, my father co-wrote a paper on the Space Shuttle Challenger showing issues with the statistical thinking at NASA:

[http://www.math.montana.edu/shancock/courses/stat401/Dalal_e...](http://www.math.montana.edu/shancock/courses/stat401/Dalal_etal_1989-Challenger.pdf)

I wonder what statistical techniques Boeing used, and how defensible those techniques were.

<comment><USER6> "Prove statistically" is such an odd phrase. I wonder if they used fuzzing or something like that? Because even so that is quite far from a formal software proof

<comment><USER7> It's relatively common in embedded programming (in my experience). A lot of real-time programming is around scheduling. You certainly can use formal proofs there too, but statistical methods would be common at significant scale.

</comment></comment></comment><comment><USER8> Many years ago I wrote navigation software for ocean going vessels/ships. We used double and triple redundancy on many of our sensor types. We generally used three control computers that would 'vote' before deciding to make vessel navigation changes. We also always included a "Dead man's switch" that allowed the bridge crew to take control at any time.

I can't even imagine designing aerial vehicle autopilot without redundency. The stakes are too high...

I would be interested in having a look at the statistical model they used to prove 'the system was reliable with zero-redundancy'. While designing these systems for ships the only way we were able to get an error probability near zero was when we used triple redundancy.

<comment><USER9> How did you deal with redundancy "choke points"? eg. What if the component that tallies computer votes and actuates things based on the results fails (especially in a way that's hard to detect)?

Were you able in some cases to maintain isolation all the way through from sensors to actuators and design such that a single failed one (in a worst case failure mode) could be overcome by the rest?

<comment><USER10> (Disclaimer: SIL-4 programmer for safety critical rail transportation applications)

The way this is done is that 2 of 3 computers need to 'agree' on the final decision in order for it to be considered the correct one - there isn't a single point of assessment, but rather a consensus that must be formed from the results of all 3 computers. Ideal case, all 3 produce the same results.

This has worked successfully for decades. What's changing now, is that those 3 computers are now no longer the same architecture - you'll have a PPC and an x86 and an ARM-based CPU all attempting to agree to the same data, in order to prevent systemic failure throughout.

<comment><USER11> (Same disclaimer)

> What's changing now, is that those 3 computers are now no longer the same > architecture

I think / hope this idea will die a well deserved death. Rail systems must face 25 years lifetime and with such design obsolescence headaches are multiplied by 3. In addition this creates bugs and integration nightmares.

And on top of all that, we have known for decades that CPUs can be protected against systemic failures using the vital coded processor technique [1].

Note to the curious: this is one of the most fascinating piece of software I have ever encountered. Make the software resilient to any hardware fault through the power of arithmetic...

[1] [https://www.semanticscholar.org/paper/Vital- software%3A-Form...](https://www.semanticscholar.org/paper/Vital- software%3A-Formal-method-and-coded-processor- Dollé/3a4a1645e672353c49d2c41718fe010c5fa2405b)

<comment><USER10> SIL-4 doesn't generally follow the same rules as consumer computing, as I'm sure you are aware.

There are track-side systems still running on 80386's, and a maintenance infrastructure in place to keep these systems running for at least a few more years, before they are replaced with the newer, Pentium-based systems.

Design obsolescence is not built-in for these systems. Long-term ability to support is more important. Also, burn-in period. Many bullets (SPECTRE, etc.) have been dodged by relying on older, more proven, more tested technologies ..

<comment><USER11> Design obsolescence is absolutely built-in for railway systems (safety related or not). It's part of the fun of the profession to deal with bizarre voltages that are inherited from the 1930s. For sure it's not something consumer electronics care for but that's precisely the point I am making.

Actually, it's one of the required extension to ISO 9002 by IRIS, the quality framework for rail engineers.

Components are chosen not only for their function but also for their supply availability in the long run. One of the things we look at is « multisourcing »: how many different folks can provide this stuff. The more the better.

Going back to this great idea about hardware diversity (that is absolutely not a general rule in railway): with an architecture requiring 3 different hardwares, you essentially shoot yourself in the foot. Instead of having 3 suppliers for one component, now you need to find at least 6 for 3 components. And the probability to face an obsolescence issue has basically tripled...

And for what? It's proven useless by science... :b

And as far as dodging bullets, railway is no better than SCADA. Older tech means older vulnerabilities stay in place, and there are countless people on HN that will tell you it's /not/ a good thing. I don't think we dodged, I think we were just lucky. There is a reason why now cybersecurity is making its way inside the last revision of standards.

<comment><USER10> > hardware diversity (that is absolutely not a general rule in railway)

I don't know where you're working in the industry, but in my company (THALES) its _definitely_ a thing, and we are absolutely working on diversifying the 3-of-3 and 3-of-5 configurations away from Intel.

And maybe we're talking about design obsolescence in different terms, but yeah .. 30-year old CPU's are still being shipped to customers, yo. They _WANT_ it, so.

<comment><USER11> You can design your platform in a number of ways to be relatively independant of the underlying CPU model, thereby mitigating the risk of supplier lock-in. All suppliers will try to find a way to achieve such target.

It's a different thing than saying you need hardware diversity in a majority vote system to achieve better safety. That is demonstrably false. For example, Siemens VCP is /proven/ to be safe and it does not even use a majority vote (see my previous comment for a reference to the VCP)

I prefer not to involve my employers on HN. What I write here is my opinion only.

As for your last remark, let's be careful in assuming what customers want. The fact that they have to live with obsolete stuff does not necessarily mean they are super happy about it.

<comment><USER10> Its not about the software being independent of the architecture. Its about using diverse hardware platforms to avoid the situation where an un-detected, hardware-level bug affects the voting ability of all participants. We've seen, time and time again, so-called dependable platforms weaken over the years as more and more issues are uncovered.

Diverse voting node architecture requirements are designed to prevent hardware bugs from crashing trains, not software bugs.

>Siemens VCP /proven/

.. and yet, it still crashed trains.

>What customers want

Its not obsolete if a customer wants it.

Customers want older CPU platforms because the tooling and industry required to support them in the field is long-entrenched, and costs of upgrading to "newer, sexier CPU's", not really worth it if the lesser platforms are capable of doing the job...

<comment><USER11> > .. and yet, it still crashed trains.

Do you have evidence for that claim?

</comment></comment></comment></comment></comment></comment></comment></comment></comment></comment><comment><USER12> This sounds pretty scary a major rewrite on tight schedule under huge pressure.

</comment><comment><USER13> "Only one computer was used in the past, because Boeing was able to prove statistically that its system was reliable, the person said." — here boss no need for redundancy coz we write amazing code that's statistically never going to fail! What were they thinking?!

There is no system 100% efficient. Even a small error rate over the standard ~20yr service life isn't a guarantee a failure won't occur. Considering the max are refurbished 737s, wouldn't more precaution be taken?

<comment><USER14> The question is whether is fails safely. The design likely considered failure to not include near-inevitable crashes, but rather some manual intervention. In that case N failures per X thousand flight hours is nothing unusual. The change isn't to get zero failures but to get a system that fails safely.

Compare to a Tesla autopilot: it can work 99% of the time, if at 1% of the time it slows down and gives up. It can't crash into oncoming traffic 1% of the time. The failure mode matters.

</comment></comment><comment><USER15> I don't understand... so the crashes were due to faulty single sensor. Adding computer redundancy won't fix single sensor screw up. Will they retrofit all planes with dual sensors?! I really don't want to fly on this airplane. This whole thing just sounds like PR trying to sell the idea that this plane will be fit to fly when it will clearly come back into active with a heap of flaws...

<comment><USER16> I know little about Boeing, but I'm sure the amount of money at stake, if they have a serious mechanical issue, would be staggering. I don't want to fly on a 737 Max. I worry they have too much incentive to conclude every root cause is software.

<comment><USER17> I look at it like x86 / x64 processors.

There are _always_ hardware errata. But they're patched and papered over with firmware.

Essentially, I'm operating a system, and if you can guarantee the system functions as documented -- I don't really care how the sausage gets made.

What I would care about is if a pilot (in this metaphor, my compiler, I guess?) doesn't feel comfortable operating the system.

And I think the pilots' unions have been interesting in this. Because they don't really want to slag their employers (the airlines), but they're willing to push back hard on Boeing for essentially the same issue.

A lack of transparency about and sufficient training in differences.

<comment><USER16>
        > Essentially, I'm operating a system, and if you can
        > guarantee the system functions as documented -- I
        > don't really care how the sausage gets made.

If a software fix for a hardware issue works well enough, I'm with you 100%.

The thing about the incentive, though, is that a software fix ticks the "we did something" box, as long as it improves the issue _to any degree_. That it does _any good_ at all, combined with the lower cost, can give management (or ass-covering employees) enough substance to rationalize the decision away.

I doubt anyone at Boeing would willingly risk customer lives. But if they are working under pressure, and can say "well, we did do _something_ to address the issue," that can lead to bad decisions.

</comment></comment></comment></comment><comment><USER18> A Seattle Times article from a few days ago seems to contain more detail: [https://www.seattletimes.com/business/boeing- aerospace/newly...](https://www.seattletimes.com/business/boeing- aerospace/newly-stringent-faa-tests-spur-a-fundamental-software-redesign- of-737-max-flight-controls/)

It includes e.g. a description of FAA bit-flip testing to induce incorrect system behavior that Boeing intends to solve by using two computers.

<comment><USER19> "The fault occurs when bits inside the microprocessor are randomly flipped from 0 to 1 or vice versa. This is a known phenomenon that can happen due to cosmic rays striking the circuitry."

This is called Single Event Upset. For all those of you that aren't in the industry, essentially the problem is that any bit inside the flight computer (RAM, cache, NVM, registers - ANY bit) can change state randomly at ANY time. It's rare, but when you get into millions of flight hours, it WILL happen. The software and hardware have to be designed to mitigate problems caused by this behavior.

<comment><USER20> If this is due to cosmic rays, doesn't flying over the poles make it more likely that such event happens ?

How are we sure there aren't local bursts of cosmic rays that would make suddenly a few of those Single Event Upset, for example when there are some high likelihood of seeing northern lights ?

How do you test your hardware and software to show that you are indeed cosmic- ray proof ?

<comment><USER10> You test the living crap out of it, and not just in the lab on the workbench but also in operation while online - while the thing is running in operation, it is also consistently testing itself to ensure that the hardware is performing as expected.

Online software tests check for cosmic ray bit flips about 1000 times a second, in addition to whatever hardware mechanisms are in place to detect this (ECC, etc.) This is a standard module in most SIL-4 applications, where 2 of 3 consensus model is being used.

What I don't understand is why Boeing aren't using 2-of-3 computer architecture in this application - or maybe they are, and the '3 voting units' are considered to be 'one computer' and they've just added another one to be sure.

In rail transportation systems, this is taken even further by using 2-of-3 configurations where each computer is a different architecture completely ..

</comment></comment></comment></comment><comment><USER21> > Boeing changing Max software to use two computers

Does that mean we will find the MCAS in the 737 MAX 8 MMEL (Master Minimum Equipment List)? (Used to be here but right now it's not loading: [http://fsims.faa.gov/wdocs/mmel/b-737-8_rev%200.pdf](http://fsims.faa.gov/wdocs/mmel/b-737-8_rev%200.pdf))

Isn't this the single biggest failure point of the whole affair? Adding a critical component which can bring the plane down (as it has happened twice) but not making it redundant?

One can perhaps argue (pardon the roughness of my analogy) that if pilots aren't trained to not open the door during the flight, and then do open the door during the flight, then it's a training issue.

But this analogy doesn't apply, because while the door is not motorized and cannot open by itself, the MCAS is a computer system which can fail (not just because of a faulty AoA sensor, but e.g. because of a chip failure or a software bug) and then actuate the trim into a dive where the pilots aren't able to fix the issue manually anymore due to high wind pressure.

<comment><USER2> How the MMEL (FAA) and MEL (operator model-specific version) works is that anything NOT required for safe flight is listed in the MEL. Otherwise everything would have to be 100% working.

So I would not expect MCAS to be listed in the MEL since it's required for safe flight.

We'll see.

<comment><USER21> Oh, I've gotten the MMEL definition wrong then (opposite). Thanks for clarifying!

</comment></comment></comment><comment><USER22> Keep talking about the software. Make it about the software, so no one knows the airframe is fundamentally flawed..

<comment><USER23> How do you know the airframe is fundamentally flawed? ("the engines are too big" is not an answer).

<comment><USER24> Because MCAS is required, unlike every other aerodynamically stable airplane that came before it.

<comment><USER19> Airbus does it too. They have several control laws that are used to provide flight envelope protection. It was the pilot's failure to understand his plane's software that caused AF447 to crash. Essentially he didn't realize that the flight control software had changed modes, that it wasn't providing the normal handling augmentations, and that his inputs were putting the aircraft into a stall, which caused the crash.

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

[https://aviation.stackexchange.com/questions/62338/why- did-a...](https://aviation.stackexchange.com/questions/62338/why-did- af447-never-return-to-normal-law)

<comment><USER24> Build unstable airframes? Not outside of forward canard jet fighters.

And that pilot crashed a perfectly fine airliner after he lost situational awareness and then did the one thing you should never do - pull the steering column back in a mad panic until the plane stalls.

</comment></comment></comment></comment></comment><comment><USER25> People here seem to be missing a few things.

1: The _737 family, including the 737 MAX, still use manual /hydraulic controls_, not fly-by-wire. A computer failure isn't supposed to be as catastrophic as it would in a fully fly-by-wire system. 737 pilots are already trained on other automatic system failures, such as a pitch trim motor runaway.

2: The original design of MCAS had a limited scope - stop pitch instabilities from causing an uncontrolled pitch-up into a stall in high AoA and high power regimes, such as just after takeoff. It read from both a G-sensor and the AoA vane and both sensors had to be reading excessive values for the system to trigger. This was probably the justification for not requiring higher levels of reliability.

3: The plane was found to have handling issues in slow flight regimes. In order to improve the handling, Boeing engineers modified MCAS to be active in more of the flight regime, removing one of the sensor readings. Now it would trigger if it detected the plane was near a stall, even in level flight without a high G loading. It is unclear whether MCAS was recertified within Boeing for continuous use. Wikipedia states "The FAA did not conduct a safety analysis on the changes. It had already approved the previous version of MCAS, and the agency's rules did not require it to take a second look because the changes did not affect how the plane operated in extreme situations."

4: Pilots could not disable MCAS without disabling electric trim control. In at least the LionAir case, the pilots did disable the electric trim, but were unable to re-trim the plane manually against the aerodynamic forces of their dive. They re-enabled the electric trim to re-trim the aircraft, and MCAS re- triggered and put them back in the same situation. Remember, _these aircraft use manual controls_. The pilots need to put a serious amount of force into the control column when the plane is out of trim and at a high airspeed. This greatly diminishes their ability to do anything else.

5: Both accident aircraft were missing an _optional safety feature_ \- the AoA disagree warning. Both aircraft experienced a failure of one of their AoA vanes. I don't recall whether these failures happened in flight or before the flight, but such a warning would have likely stopped the pilots from taking off.

6: The single computer issue was not uncovered until simulator testing after the crashes. It is not directly related to the MCAS problems.

Wikipedia is your friend, as usual. [https://en.wikipedia.org/wiki/Maneuvering_Characteristics_Au...](https://en.wikipedia.org/wiki/Maneuvering_Characteristics_Augmentation_System)

Here's even more detailed information: [http://www.b737.org.uk/mcas.htm](http://www.b737.org.uk/mcas.htm)

<comment><USER26> Thank you, this is a very good summary of the issue. Only a small comment to 4: it was the Ethiopian Air flight, where they disabled MCAS but did not manage to regain control, mostly due to their air speed being too high. Lion Air had 2 MCAS incidents, the first on the day before the crash, where the pilots disabled electric trim control and continued the flight without an incident and the second, where they did not disable MCAS at all, leading to the crash.

Interestingly, Airbus as a consequence of the events reviewed their flight software and also found an issue they are quickly correcting, but it seems that no planes are grounded as a consequence.

<comment><USER27> First I've heard of the Airbus issue. Can you provide a reference? I couldn't find anything

<comment><USER26> Here is something: [https://samchui.com/2019/07/18/easa-warns-of- airbus-a321neo-...](https://samchui.com/2019/07/18/easa-warns-of- airbus-a321neo-control-anomaly/)

</comment></comment></comment></comment><comment><USER28> I've lost all faith in Boeing. Boeing's greed and cutting corners to avoid pilot recertification is textbook example of ethical failures.

I have second thoughts about many of the companies I've invested in over the years, but Boeing right now takes the cake. I've dumped my shares. Hopefully there are some criminal investigations at some point if our leaders in Washington could stop dancing to the tune of whichever company throws them a bone like the dogs they really are.

<comment><USER29> > I've lost all faith in Boeing.

Guess what? They don't care because it doesn't matter.

You really can't avoid their airplanes without avoiding air travel.

<comment><USER30> Is boeing really the only producer of aeroplanes?

My guess is there are others. My guess is that orders will be cancelled and there'll be a shift towards airbus (oh!there's one!)

I'm tempted to apply my first ever downvote to this apparently witless comment, but perhaps you meant something more subtle?

<comment><USER26> Orders can't just be shifted to Airbus, as their production lines are fully loaded for years to come. Also, there is little desire to make Airbus a monopolist. The problem basically started when Boing was merged with McDonell Douglas, as this created the duopoly which now has the market trapped. And of course it creates a huge amount of problems for all the airlines which ordered and planned for new planes which have the same certificatation as their existing 737.

<comment><USER31> It feels like we see this over and over when you trace corporate problems back- loss of competition and development of monopolistic conditions. There's a reason we developed antitrust laws and to watch them be eroded in the modern era is quite worrisome.

</comment></comment></comment></comment></comment><comment><USER32> Will anyone appear in court for this episode in a year or two?

</comment><comment><USER14> >"Only one computer was used in the past, because Boeing was able to prove statistically that its system was reliable, the person said."

I read that as "statically" (thought it meant formally) and was really impressed by how advanced that sounded! Then I read it again and saw _statistically_. Less impressive.

<comment><USER33> The question of statistical reliability is also an American-European (or at least -German) divide: if you look at machinery safety, the old German standard 13849 is all about architecture. Two channels, two channels with diagnostics, etc., yes, also a bit of MTTF numbers, but architectural concerns are central.

The American way is using statistics to argue that something is not dangerous in a meaningful way (for example several magnitudes less likely than being hit by lightning). There is even a white paper by ABB arguing that safety controllers should be allowed to be purely one-channel architectures, because reliability is so good. Most people in the field would take that as humorous.

And so the "modern" standard 61508 is a bit of a hybrid. There are still architectural elements (hardware fault tolerance numbers etc), but front and center is also statistics, namely the SIL levels.

</comment></comment><comment><USER34> And what happens when the 2 computers disagree? I thought 3 was standard practice for this sort of thing.

<comment><USER35> You need 3 for things that if they stop working the plane crashes.

This is more of a "if it stops working the pilots have to fly more conservatively until it is fixed" thing. It apparently is generally considered acceptable for such things to not have triple redundancy, as long as a failure will be detected so the pilots can deal with it. Two computers is good enough for that.

</comment></comment><comment><USER36> The language in the article seems to conflate hardware and software changes. If they are introducing a new computer, that is a hardware change in addition to software.

<comment><USER37> I think they're running the software in a second (existing) computer.

Which still doesn't make sense from a redundancy perspective: What do you do when 2 systems disagree? Which one is right?

I guess you could shut it down, but would be better to have an odd number of systems and take a majority result while displaying an error light.

<comment><USER38> From what I understand the flight computers can tell the pilots something is wrong and/or the pilot and co-pilot can have their instruments from different sensors like airspeed so they can compare and figure out which one is right.

<comment><USER37> In isolation, yes, but hopefully it's not the 4th issue on top of 3 issues the pilots are already trying to figure out.

</comment></comment></comment></comment><comment><USER39> I'm surprised they 3rd party some parts of their software. Software is it the most important part of a plane, how crazy you should be to do that.

<comment><USER40> > Software is it the most important part of a plane

I thought it was the wings.

<comment><USER39> Software controls everything.

<comment><USER41> As depicted in this classic Far Side cartoon:

[http://i.imgur.com/hAjOWmV.jpg](http://i.imgur.com/hAjOWmV.jpg)

</comment></comment></comment></comment><comment><USER42> Anyone who has watched "Minority Report" or "Neon Genesis Evangelion" knows you need 3 computers.

</comment><comment><USER43> Hopefully, 99% of the new code was already written, not something they just whipped up and are slamming into production at the 11th hour.

</comment><comment><USER44> This seems like a pretty significant change, something that won't take a few months but possibly years of work to do?

</comment><comment><USER45> Has Boeing now lost enough money, that had they not tried 737 certification they might be financially ahead?

<comment><USER46> Without certification as a 737, the airplane wouldn't have much of a reason to exist.

</comment></comment><comment><USER47> Woah thats a standard even in tesla cars. Everyday it becomes more apparent that Boeing is a disaster engineering project.</comment>


Microsoft Open Sourcing Azure Mobile Services SDK on GitHub - <AUTHOR> http://blogs.msdn.com/b/windowsazure/archive/2012/09/20/announcing-open-sourcing-of-windows-azure-mobile-services-sdk-on-github-and-partnership-with-xamarin.aspx <comment><USER2> Microsoft's been open-sourcing more and more SDKs for a while now. It's good to hear about another, but what's really interesting to me is the bit about partnering with Xamarin.

Since its inception there's been fear about Mono being a dangerous platform to develop on because Microsoft might try to torpedo the project at any moment. This is far from the first time that Microsoft has publicly given the Mono project their blessing, but one that comes in the form of a business partnership is still nice in that it might help cut through the FUD just a little bit more.

<comment><USER3> The other really interesting part of this is that they are releasing it to GitHub, not Codeplex like previous releases.

<comment><USER4> Codeplex didn't start supporting git until March of this year. Azure has been posting on github since 2011.

I suspect Azure will continue to use Github; moving would disrupt a lot of developers.

<https://github.com/WindowsAzure>

<comment><USER5> There is also <https://github.com/MSOpenTech> \- that has the redis 2.4 version for Windows using bksave-cow (background save in a thread with copy- on-write) instead of fork()/save...

</comment></comment></comment></comment><comment><USER6> It's nice to see them using Github more, but I'm surprised to see that creating a simple todo app is this much work: [https://github.com/WindowsAzure/azure-mobile- services/commit...](https://github.com/WindowsAzure/azure-mobile- services/commit/3a4f65a9c892212e5990cad54fcef1b5a4c13a54)

<comment><USER7> Some of that has to be boilerplate that comes baked in, no?</comment></comment>


Show HN: I Made a (Firefox) Tab Groups Replacement - <AUTHOR> https://addons.mozilla.org/en-GB/firefox/addon/basic-panorama/ <comment><AUTHOR> I should highlight the fact that this started as a fork of another add-on: [https://addons.mozilla.org/en-GB/firefox/addon/panorama- view...](https://addons.mozilla.org/en-GB/firefox/addon/panorama-view/)

I've added tab hiding, moveable/resizeable groups, support for pinned tabs and a few other things. The goal is to make it feel as close as possible to the original Tab Panorama.</comment>


Sad News - <AUTHOR> http://datagenetics.com/blog/june12019/index.html <comment><USER2> Very sad. Reading datagenetics inspired me to start my own blog, which has been very fun over the years. Thanks Nick for the great posts and inspiration!

</comment><comment><USER3> I don't know what to say. My Dad fought off the cancer for nine months, every day with his granddaughters was a blessing.

<comment><USER4> We should do not say. As the author writes "You can help by doing wonderful things, and simply moving the needle in whatever you do in life to make the World a better place."

</comment></comment><comment><AUTHOR> I've been enjoying this blog for years. It has an amazing web 1.0 spirit and always great content.

Very sad to hear these news.

</comment><comment><USER5> Wish you all the best. Keep up the positive outlook too!</comment>


Sparkfun Electronics Announces Free Day 2012 - <AUTHOR> http://www.sparkfun.com/news/747

<comment><USER2> Takes me to a 404.

<comment><USER3> Link working now</comment></comment>


Typing.io: Typing Practice for Programmers - <AUTHOR> http://typing.io/lessons <comment><USER2> All this does is make me realize how much I take my IDE for granted. In no example that I tried did I even get past the first line before I missed using IDE autocomplete or shortcuts. It got under my skin that I had to type out each character.

Take the Scala example. I would NEVER type "@SerialVersionUID" with correct casing. I'd maybe type "@Ser" and then auto complete. Or "@SV" and then auto complete. I can't recall the last time I typed an entire type name. Or finished braces using Enter + "}" instead of CTRL-SHIFT-Enter.

The UI is well made though.

<comment><USER3> I have to somewhat disagree, I think autocomplete is one of those IDE features that is no doubt quite useful but I think its contribution to developer productivity is greatly exaggerated... frameworks that are well designed for instance are far more important contributors to developer productivity...

so my question to you is, what if a tool has a framework that allows you to get a lot done with significantly less coding but lacks autocomplete, would you not consider it?

Full disclosure, I am the founder of a browser based IDE software company so my take may be biased, but I have also written enough code to kill a horse :)

We currently don't have code completion though it is on the product road map. Our middle-ware however almost completely eliminates writing code for doing C.R.U.D operations, sending email, uploading files, doing configurations and using http restful services... I think such advantages greatly outweigh the lack of code completion.

I do concede though that maybe in your specific case, code completion is a major productivity booster.

<comment><USER4> Your disagreement is kind of out of place here; no claim was made of where the productivity boost of autocomplete ranks against other development factors. Besides, whether or not you use autocomplete is orthogonal to your framework choice.

<comment><USER3> * no claim was made of where the productivity boost of autocomplete ranks against other development factors

No, but it can be inferred.

I agree that code completion and framework choice can be mutually exclusive; my general point is that a developer's decision to use a tool should consider other productivity factors, not just the expected ones.

<comment><USER5> The guy literally said that this app made him realize how much he takes his IDE for granted and then he provided examples of what he meant. I don't see what there is to disagree with there or what could be inferred .

</comment></comment></comment></comment></comment><comment><USER6> Nice UI! For programmers trying to improve their general typing speed I reckon it could help, but for me it creates an almost uncanny experience.

In the JS test I found it incredibly difficult to type out `/^(?:parents|prev(?:Until|All))/`, because my mind interprets it somewhat like its AST -- i.e. I see a delimited regular expression with an uncaptured group nested within another uncaptured group. I focus on the operators then on the contents. But by the time I've done this I end up typing it out slower than if I was just transcribing character by character. And so I started to wonder if this is something it's "okay" to be bad at...? I mean, if I focused on it character by character, word by word, then I may gain speed, but I would be totally ignoring the meaning of the characters -- and I would also stop being a programmer.

Maybe my mind just needs to become more attuned to reading code... maybe this experience reveals that I do not read code often enough. Intriguing.

<comment><USER7> I was thinking all of these things too as I was trying it. I think there is something fundamentally wrong about this. I don't think the words per minute for a programmer's typing is important. As you say, to get the higher score, you must simply type as you read character by character, but this is not what programmers do. I don't see much value in this because of that. If our jobs were to transcribe code that someone had written out by hand then this might be something worth its disk space. If we find code that we want to copy exactly without trying to understand its meaning, we have a clipboard for that.

</comment></comment><comment><USER8> This tool is perfect. - I'll recommend to you that you're marketing it all wrong. - I'd make this into a tech-interview/learn a new language site. Before I crack any book for any language, I download gists of the code and start typing it out.

Imagine, python/c the hard way in this? What is a namespace? What is an import? Inline explanations of what you're doing would go a long way.

Dare I say it, this could be the first Learning-Development-Enviornment I like. You're doing yourself more harm by only letting people use those 16 languages.

<comment><USER9> Spot on. This would be great as a way to learn new frameworks/libraries as well.

<comment><USER10> I completely agree.

Additionally, in the process of mimicking code, the only thing I could do was think about what I was writing - and in some cases I discovered that I would have done it differently than some of the libraries I use every day.

</comment></comment></comment><comment><USER11> Learning to type quickly is a valuable skill. But with programming, is typing speed a common bottleneck? It seems akin to learning how to turn a steering wheel more quickly or how to hammer faster.

<comment><USER12> I think it really depends on your process. If you're _efficiently pragmatic_ , then maybe your work environment includes an IDE with tab-completion, project skeletons, lots of snippets, and plenty of experience tying together existing frameworks and other tech to achieve your goal. On the other hand, some people actually want to do that sort of dirty work (even in verbose environments) because they get an overview of every single thing that's going into their program as they build it. They'll be a little slower than the first person but potentially have a much better grip on the underlying architecture of what they're working on which is incredibly valuable as you move forward and make decisions. So for these people, faster rote typing could be beneficial.

<comment><USER12> Too late to edit, but if anyone reads this comment later please also see this post: [https://news.ycombinator.com/item?id=6908248](https://news.ycombinator.com/item?id=6908248)

There's a neat part of the article that might better demonstrate what I'm talking about.

\---

> Because I was young, super-anal, and wasn't on SSRIs back then, I once asked > Carmack why he didn't use libraries for common functions that he could share > between engine revisions. Carmack's a super-nice guy, but on this one > instance he used the "Well, I think my methods work pretty well..." defense. > I never suggested coding style changes again.

> But, really, for him it made no sense to share code, because, like a bee, it > was just as fast to write new code. The template was in his head, he types > really REALLY fast—why bother importing something?

> Don't take this to mean his code was spaghetti—it was actually some of the > easiest-to-understand code I've ever worked with. It has an almost > indescribable quality of "obviousness." Like, you know when a really good > teacher explains something, it seems obvious? That's what his code was like. > I mean, OF COURSE there's a loop where you service the pending events and > call a refresh on the UI layer.

</comment></comment></comment><comment><USER13> The problem is that nobody writes code like that (char by char, like prose). You often jump back and forth between statements and parens, and code from inside out.

<comment><USER14> I write code like that. I tend to have a good idea of what the code should be doing, and write it out, char by char, like prose.

I also avoid IDEs and prefer text editors. In the twenty-five years of programming, I've not found an IDE I like, and I suspect I'm a langauge-maven than a tool-maven ([http://osteele.com/posts/2004/11/ides](http://osteele.com/posts/2004/11/ides)) (as long as I can type, I can try out a new language; I don't have to wait for a specific IDE to come along first).

Edit: add a link about language-mavens vs. tool-mavens.

</comment></comment><comment><USER15> Why would programmers need a separate tool for programming practice? Isn't the act of programming itself the best form of typing practice? I don't see a market fit for this for the stated purpose.

Also, the UI when you make a mistake is confusing, I didn't realise I had to backspace and correct it. While that seems obvious in hindsight, I actually opened it in a different browser to make sure I wasn't just hitting some bug before reading the comments here and realising.

</comment><comment><USER16> This is pretty cool. One thing that bugs me is that the code isn't formatted the way I write. For example, my muscle memory does not involve typing a space inside parens - "function ( selector )". I miss those every time.

<comment><USER17> Could be nice if they allowed you to apply your own code style (autoformatting) on the source first.

</comment></comment><comment><USER18> Couldn't stop myself from trying to use tab-completion.

<comment><USER19> ^this

</comment></comment><comment><USER20> I love this site. I went through every lesson like 6 months ago because, although I could type prose very quickly, I had not mastered the programmer typing that it takes to quickly experiment on the unix shell or hit opening braces and parens with consistency.

Although typing certainly isn't a big development bottleneck, being able to type fast lowers your overall cognitive load and lets you stay in the problem domain you're working on.

It's not like loud noises are a programming bottleneck either -- but it's certainly nice to eliminate a nuisance.

</comment><comment><USER21> What's the motivation behind doing this exactly? Why not actually write some code to practice...writing code.

<comment><USER22> Their pricing page shows that it has what appears to be a nice set of features to actually help you get better (note to site owner: might be an idea to put this on the main page).

Despite that I can't imagine myself typing code just for the sake of typing code. Seems to me this would make more sense as a plugin for an IDE. Watch my every keystroke as I do real work and show where I am constantly having to correct myself, and offer ways to prevent that.

<comment><USER23> I'd definitely pay for a "typing analytics" addon to my OS, or maybe my editor, though I think that is needlessly restricting things. It depends if there are mistakes and advice that are specific to writing code versus just general typing.

Either way, it could watch for bad habits and common mistakes, show aggregating stats, etc.

</comment></comment></comment><comment><USER24> Implementation's good, but the concept and idea is completely useless at least for Objective-C/Cocoa. All the symbol names of the Cocoa are strictly designed to be used with auto-completing _IDE_ support, not bare editor. That's why they're fine to go such long names. The IDE is a required part for development just like Smalltalk.

And a lot of other language/libraries/frameworks are also silently presume auto-completion support. Even on C/C++. I highly doubt usefulness of this even on other languages.

Maybe it would be more important to be familiar with specific auto-completion IDE behavior rather than training yourself to type faster.

</comment><comment><USER25> This is an example of a product I would buy, but would never buy as subscription software. $60/year to infinity is about $600 at a 10% discount rate.

Sorry, but it's probably worth about $25 to me, not $600.

<comment><USER26> I was also disappointed it was subscription.

</comment></comment><comment><USER27> Typed a few lines of Javascript, then hit ctrl+d to insert an EOF character (this usually closes my node.js shell). Now I've got this bookmark :/

</comment><comment><USER28> Something that bothered me about this is the fact that I prefer to type brackets - (), [], {}, <> \- at the same time, and then move my cursor inside them to type. It makes sure I don't forget a closing bracket, and it's faster than searching for the bracket + shift key twice (once at the open bracket and again at the closing bracket).

</comment><comment><USER29> I like how it can help dive into interesting open source code, as well as the look and feel of the app, but two things are holding me back:

\- Like @padolsey, I do need some time to understand what I'm typing; I'm not sure practicing typing and learning from someone else's code are compatible

\- More than code formatting, which has already been talked about, programming environments also have a direct impact on what characters need to be typed

So even though that tool stems from a blending of two great ideas (increasing code output, and learning from the best), I'm still pondering whether these two would be best left apart:

\- Reading (and contributing to) someone else's code to learn from it

\- Optimizing your coding environment to increase your output: great IDE/editor, clever shortcuts and auto-completion, custom snippets…

</comment><comment><USER30> This is really cool. I love the UI and the idea and the execution. I actually learned a lot of Objective-C without Xcode and no autocomplete so it was interesting to see how I've learned to work with Xcode/AC since then, ha.

</comment><comment><USER31> I found this really fun, I tried half the languages there. But why do the lower level languages like C/C++ have actual logic in them (e.g. if/else/||/&& ) while the higher level languages just have module/class definitions?

It's not exactly an apple-to-oranges comparison. Like I just got 100+ wpm in Ruby but what's the point of feeling good about that when it's just typing out a list of symbols over and over again?

</comment><comment><USER32> I would recommend Type Fu as a similar alternative that's freemium and offers more features atm. You're not typing code, but it can generate some interesting data, and scales the difficulty level as you improve. It also supports a bunch of different keyboard sets, so if you've always wanted to try learning Dvorak it's a solid choice.

[http://type-fu.com/](http://type-fu.com/)

</comment><comment><USER33> Typing practice seems like a waste of time unless you're actually bad at typing. Learn vim, use autocompletion, and write real code.

</comment><comment><USER34> Cool idea and everything, although all that "IDE FTW" comments are partly true. But nevertheless it's cool to read code from different projects while practising at typing.

But, _pricing_ , really? I guess I'll write such an app for myself. Not that $5/month is a lot, but the idea of _paying_ for that is just ridiculous to me.

</comment><comment><USER34> Also, it's really annoying how every new service out there thinks that everybody has google account. You want me to pay for your service and don't even let me register there? Well, I don't have google account. And I never will.

</comment><comment><USER35> The calculation for unproductive keystrokes should have typed keystrokes on the bottom.

</comment><comment><USER36> Croatian keyboards really suck for coding ([http://allixsenos.deviantart.com/art/Croatian-keyboard- layou...](http://allixsenos.deviantart.com/art/Croatian-keyboard- layout-2-265178713)).

</comment><comment><USER37> I find that covering up the next letter with the arrow makes this very difficult.

<comment><USER38> I was confused by it as well. It expects you to backspace and fix your mistake before continuing.

</comment></comment><comment><USER39> FWIW this has been posted a few times already, nonetheless it's a great app

</comment><comment><USER40> nice site; I like that they've implemented a css based laptop to show an example in versus using an image. see [http://typing.io](http://typing.io)

</comment><comment><USER41> I don't think typing is what slows me down while programming.

<comment><USER42> I don't see the point to this.

<comment><USER41> As in, my typing is reasonably fast, but I don't think I need to practice programming-style typing to increase my productivity. The logic, design, and debugging is where my time is spent.

</comment></comment></comment><comment><USER43> Does this have comparative summary statistics for these exercises? I did 45 WPM on the first Scala lesson; is this average, terrible, or good?

<comment><USER44> Good question. I did 44 WPM on objc and 51 WPM on java.

</comment></comment><comment><USER45> I like it. It would be nice to see a comparison to where you stack up related to other people as far as speed and productivity.

</comment><comment><USER46> Not sure how much use the Objective-C one is. I spent most of my time in XCode pressing tab, not actually typing code.

</comment><comment><USER47> Probably whitespaces should be ignored (except where they are mandatory, e.g., Python).

</comment><comment><USER48> Touch typing is like cursive writing. I want to be able to do it, but I probably never will, and I think that's ok.

<comment><USER49> Are you a programmer? I wonder what you think of this argument: [http://steve- yegge.blogspot.com/2008/09/programmings-dirties...](http://steve- yegge.blogspot.com/2008/09/programmings-dirtiest-little-secret.html)

</comment></comment><comment><USER50> Nice web app! One thing though, notify the user when he has Caps Lock on ;)

<comment><USER51> What programmer has a caps lock key? It's mapped to Ctrl on my machine.

<comment><USER52> Any time I'm working in a C-like language and need to type something in SHOUTY_CASE, usually macros/enumerations/constants.

</comment></comment></comment><comment><USER53> This is the most stupidest thing I could've ever imagined.

<comment><USER54> i don't wanna go that far and say that but... I saw this AND belt.io. and im just not seeing any reason for either... like i've tried thinking for a while and have thought of NO USEFULNESS for either tools.</comment></comment>


MIT's student newspaper criticizes MIT's convenience-based ethics - <AUTHOR> https://thetech.com/2018/04/05/editorial-mit-selective-moralizing <comment><USER2> Where do they think Lincoln came from anyway? MITRE, Lincoln and Draper were ways to shift classified research off campus in the wake of MIT's involvement in the Viet Nam war (which was far more than the crimes of Walt Rostow).

MIT has been first and foremost a government research lab since Conant (an MIT grad) was FDR's wartime science advisor and reformulated the institute (just compare the small size of the student body vs overall research staff, or consider that education brings in only 14% of the institute's revenue). Your education is essentially subsidized by the Pentagon.

The 1970s reforms shuffled the pieces around the board but didn't make a substantive change (they did improve academic freedom, though). Through the 1990s MIT was really more policy rather than corporate focused but now there is more private sector involvement can you really say it's any better?

<comment><USER3> Same story with Stanford and SRI. Stanford admins didn't like the optics of supporting the military so that was split into the Stanford Research Institute one caltrain stop away and suddenly everything was fine.

</comment></comment><comment><USER4> If it makes MIT feel better, I don't think "ethics" when I think of MIT. I think technological leadership and excellence, but definitely not ethics. For starters, they have plenty of collaborations with the military (e.g., MIT Lincoln Labs; not saying that can't be ethical... but it usually means someone's going to die). Nothing to be ashamed of. Somebody's gotta do it...

<comment><USER5> What's unethical about collaborating with the military? We don't exist in a vacuum. American military hegemony has been an extremely powerful stabilizing force, post-WWII. This idea that it is unethical to build weapons is profoundly wrong, short sighted, and morally selfish.

Not to overly pick on your comment, since you did say that it can be ethical, of course. But i've seen this sentiment that military work is unethical echo'd a bunch of times here lately, and I think it's an incredibly naive perspective.

<comment><USER4> That's exactly what I meant when I said it's nothing to be ashamed of, somebody's gotta do it. Just don't kid yourself that it makes you ethical. Sure, you could argue that you're "better than the other guy" or "they started it", but that's a pretty low bar. It just means you're both unethical.

<comment><USER5> I respectfully disagree. Consider a thought experiment: You have two groups of people. Group A is ethical (per your definition), well intentioned and smart. Group B is cruel, authoritarian and egotistical. Group A doesn't like to think about war, and certainly doesn't want to contribute to the machinery of war. Group B, on the other hand, delights in it. Group B loves building weapons and thinking about military strategy. Very quickly in this civilization, Group B will come to dominate Group A, and they will build a world in their own image - cruel and inhuman. Given that we know this is the outcome, in what sense is Group A's choice really ethical?

The question you have to ask is: If it's not you who has the best weapons, who is it? If it's not you devising military strategy, who is? The answer is someone else. Probably someone who likes those things more than you. Is that the sort of person you want to have that kind of power?

<comment><USER6> > Very quickly in this civilization, Group B will come to dominate Group A, > and they will build a world in their own image - cruel and inhuman.

You're skipping the important part of the argument here, and going directly from the premise to your desired outcome without arguing why that will happen.

If what you describe were the unconditional outcome, how is it that our world is not gradually becoming more cruel and inhuman? I mean, there certainly are cruel and inhuman aspects to it, but for the most part, we live in a world that's vastly more prosperous and sophisticated than any other epoch before that, and also _less violent_. You included the link to Our World In Data yourself to prove that point.

Obviously, there are other aspects that contribute to the success of a society besides its military engagement. This can arguably be seen in how the influence of the US is slowly diminishing even though they have the largest military expenses by a wide margin.

<comment><USER5> > If what you describe were the unconditional outcome, how is it that our > world is not gradually becoming more cruel and inhuman?

Because not everyone makes the same naive choice to bury their head in the sand and say "moral people don't build weapons". There is a long tradition of great scientists making the _only_ moral choice and choosing to develop weapons for the powers they trusted the most. Those people made the extremely hard, but ultimately correct choice to build weapons of war for imperfect powers. They did so because they knew that if they didn't, someone else would. And that someone else might be building them for an _even less ethical_ power.

</comment></comment></comment></comment></comment></comment><comment><USER7> Hey folks --

Thanks to everybody who read the editorial and commented! We're glad that it's generating some discussion.

We're interested in writing another piece on MIT and the military. A lot of these comments contain useful information and we'd love to hear more tip from you all for future pieces -- if you have any information regarding the topic (regardless of how trivial or how well-known you think the information is), we'd really appreciate it if you could email email@example.com.

Further, if you're affiliated with MIT and you're interested in writing a letter to the editor in response to this piece, we'd love that as well -- please email letters email@example.com.

Thanks so much everybody!

<comment><USER8> Just a brief note of support here. It's really moving to see the younger generation taking this on. Great work, and keep on fighting the good fight.

<comment><USER7> Thanks so much! :) Also for anybody reading this - I'd really appreciate if you could upvote my comment so more people can see it!

</comment></comment></comment><comment><USER9> I just figured MIT was making "easy" ethical statements. In general the examples that MIT spoke out about had no opposing parties, had no impact to MIT, and no repercussions. So MIT didn't really have to care or make a sacrifice to speak out for Dreamers or against Charlottesville and whatnot.

But for anything that requires sacrifice like MBS not giving an endowment, they suck it up. This is what sucks as wishy washy populism as it doesn't reflect any insight into an orginizarion's leadership's values.

MIT is likely concerned with increasing its power. Thus is part of the establishment. Doing lots of great things, but part of the establishment.

Thus their total cop out over Aaron Schwartz back to when they didn't admit their first black professor until 1956 ([http://diverseeducation.com/article/7136/](http://diverseeducation.com/article/7136/)).

There's a really popular and well respected engineering school that has a big problem with sexual assault. They issue statements and sponsor marches and stuff. But drag their feet on any actions like removing organizations that frequently have members commit sexual assault.

I just consider most of the statements from universities PR and virtue signaling unless it's acompanied with allocation of resources.

<comment><USER10> Can you elaborate on MIT's problems with sexual assault? That's news to me. If true, I'm pretty sad to hear about this. As an aging alum, MIT is still a place dear to my heart but over time it feels like the institute I remember is slipping away... (or I'm just becoming more aware of reality)

(also not clear if you're referring to MIT or some other 'well respected engineering school').

<comment><USER11> Is MIT '09 really an aging alum?

<comment><USER10> well, I've started forgetting all the building numbers so I think I count :-)

</comment></comment></comment></comment><comment><USER12> > It is a well-documented fact that Apple products are built through the > exploitation of laborers in foreign factories, who must work deplorable > hours for pitiable wages.

It's also pretty well documented that Apple does at least as much as, and usually for more than, any other major consumer electronics company to make its suppliers improve working conditions and wages.

I'm curious how Apple compares to whoever made the computer the author used to type that article, or whoever made the author's mobile phone.

<comment><USER13> I bet the wages are not pitiable for the people that work there.

</comment></comment><comment><USER14> You don't even have to look as far as Saudi Arabia to raise similar questions. The Koch brothers are MIT graduates and huge donors. For a similar discussion of the ethics of MIT's acceptance of their money, see: [https://www.quora.com/How-could-MIT-have-received-a-grant- fo...](https://www.quora.com/How-could-MIT-have-received-a-grant-for-the- David-H-Koch-Institute-for-Integrative-Cancer-Research-read-details)

<comment><USER15> I remember being shocked at walking down Kendall and seeing the cancer research building named the "Koch Institute". I'm glad the Kochs are doing things with their money other than attempting to overthrow democratic government and burn the world but my feeling is that MIT shouldn't help immunize them to criticism by burnishing their reputation.

<comment><USER16> "Greenwashing". It's a big business for non-profits.

</comment></comment></comment><comment><USER15> As a former MIT person, I applaud the editorial board here. I had long assumed that despite MIT housing a dissident or two here and there, their primary social mission is to provide technical advice to the people that run the country and elite staff for them. MIT students and staff spend far too much time narrowly focused on (beautiful) math and engineering without properly reflecting on how their hard earned abilities will be used.

MBS's crimes in his country and in Yemen (and US complicity) should be sharply criticized by people who think they represent the front of progress for human civilization.

<comment><USER17> They'll be used to make me money beeeeitcg

</comment></comment><comment><USER18> Living ethically is very expensive, as you often have to turn down generous but unethical offers.

I am not surprised about MIT's behaviour by the way. As long as top-level education stays private and has to hunt for funding, things like this will always happen.

<comment><USER19> Does MIT really _need_ to "hunt for funding"? My impression is that their endowment is enormous.

<comment><USER20> A huge amount of the money in big endowments comes from various unsavory characters. The names of buildings at famous universities are a Who's Who of famous fortunes built on slavery, war profiteering, drug running, child labor, wage theft and other worker abuse, large-scale environmental destruction, bribes and kickbacks, fraud, outright theft, etc.

The Saudis are a particularly unsavory monarchy (torture, arbitrary imprisonment, lack of basic political rights, foreign assassinations, sponsorship of terrorism, direct military attacks on foreign civilians, etc.), but not fundamentally different from many historical donors.

<comment><USER21> The Saudi money is different in that the university administration today is seeking it out, as opposed to money from historical donors, which the current administration already has. Which is not to say that historical blood money, whether the direct result of (for instance) slave sales [1], or laundered as philanthropy from robber barons is ethically free and clear; rather, if your institution has long been engaged in taking that money, the very least you can do is _stop taking it now_.

[1] [https://www.nytimes.com/2016/04/17/us/georgetown- university-...](https://www.nytimes.com/2016/04/17/us/georgetown-university- search-for-slave-descendants.html)

</comment></comment></comment></comment><comment><USER22> A lot of righteous, eloquent fury here. I had nearly forgotten about the foxconn suicides, and now that I think about it I don't remember anything really happening except nets being put up.

Louis CK (RIP our opinion of him, but still) put it pretty well once, something along the lines of "slavery built everything we love. We just throw human death and suffering at a thing until it's done. There's no end to what you can do when you don't give a fuck about a certain group of people. You can have candles and horses and be a little kinder to eachother, or you can leverage the endless suffering of someone really far away so you can leave a mean comment on someone's youtube video while you take a shit."

<comment><USER23> Apparently ([https://en.wikipedia.org/wiki/Foxconn_suicides](https://en.wikipedia.org/wiki/Foxconn_suicides)), the suicide rate at Foxconn during that period was lower than the overall Chinese or US suicide rate.

<comment><USER24> > the suicide rate at Foxconn during that period was lower than the overall > Chinese or US suicide rate.

Please allow me to change your opinion on this. The comparison being made there is the ( number of suicides at Foxconn / number of Foxconn employees ) vs number of suicides in China / population of China. At first glance, this looks like a valid comparison. But it is not. It is actually comparing apples to oranges. The real comparison is against number of employees who choose to commit suicide at their employers premise / number of employees. A useful way to paraphrase this is:

Lets say Google has 100,000 employees. How many Google employees commit suicide at the Googleplex per year? Not how many google employees commit suicide overall.

When phrased this way, it becomes clear that other companies have much lower suicide rates than Foxconn.

That's what is critical to compare. It turns out Foxconn's suicide rate is massively higher than equivalent Chinese employers and the inference is the alleged egregious mistreatment of Foxconn laborers by Foxconn is the cause.

<comment><USER25> Why do you think the Foxconn suicide figures don't include all suicide attempts by employees?

Note that one of the attempts catalogued on Wikipedia states that one Mr. 刘 "threw himself from the sixth floor of a _dormitory building_ ". That would tend to imply that the statistics cover the workers while they're on or off the job -- the statistics are for suicide attempts on campus, but the employees live on campus.

And that would tend to imply that the appropriate comparison is indeed "how many people commit suicide anywhere?", not "how many people commit suicide in the office?".

<comment><USER26> Its much simpler actually.

If you have a bunch of companies trying to keep their shit together while barely able to make their product and then someone kills himself simple because the situation is no longer worth living - then it is a sad thing.

If the product is one of the most successful things in human history the suicide is a design goal.

If we don't stand up to it and at least voice our objection we will all be treated like that eventually - regardless of corporate success or personal productivity.

The only other role is that of the psychopath pressuring those who do the work in order to meet the suicide quota. If you don't meet the suicide quota your workers are not working hard enough or you are paying them to much. It's simple business logic nothing personal.

<comment><USER27> This contains a common logical error in most of the poor-people-suffer-to- serve-us-rich-people arguments. That is to ignore anyone whose suffering has no causal link from us. For example, an isolated tribesman may die from an easily treatable disease because he has no medicine and we don't blame rich people for that. But if he moves to town to earn money for medicine and then dies in a construction site accident, we blame ourselves for causing the construction site to exist. We forget that he may have been in greater danger or suffering more before getting involved with us.

It applies to low wages for illegal immigrants too. Once they're in our country, we feel responsible for them. Before they got here, we don't care at all how little they earn. Some people even go so far as to want to kick them out to save them from earning low wages. Really it just saves us the guilt but makes it worse for the individual.

</comment></comment></comment></comment></comment></comment><comment><USER28> Anybody about Aaron Swartz and MIT? EDIT: [https://news.ycombinator.com/item?id=16769270](https://news.ycombinator.com/item?id=16769270)

</comment><comment><USER29> Mbs is not trying to make himself look like a positive transformative figure, he actually is one. The war in Yemen is equally the fault of Saudi Arabia and Iran but I don't hear anyone calling for sanctions on Iran. I am astounded that such ignorance could come from one of the worlds pillars of higher education. Consolidation of power such as that recently performed by mbs is _routine_ and it was done in a very humane way indeed compared to other instances. When you consider that not properly consolidating power could lead to the compromising of the state and perhaps set the groundwork for the destruction of the state, his actions seem quite reasonable

<comment><USER30> > I don't hear anyone calling for sanctions on Iran

You're not listening very hard then.

<comment><USER31> Among liberal circles like hn and MIT,Jesus Christ dude. But appealing to you people is useless because my polite and correct comment gets flagged, flagged for nothing more than offending someone. Iran's influence is overblown? Are you serious? Where are rebels getting their supplies? If Iranian support ceased completely the resistance would dry up and the whole thing would grind to a total and complete stop. Same more or less for saudi Arabia. Iran has committed directly and indirectly heinous terrorist crimes that match or exceed the acts commuted by Saudi/us. This is basically a war between two countries and as has always been true, trying to reduce the thing into a framework of good and evil or right and wrong is a fools errand and an intellectual molestation of the truth.

In actual fact mbs is a force for reform. He is perusing reform both because it is plainly in the best interest of his empire and because this is a trend that goes all the way to the beginning with for example the introduction of television to the masses despite huge resistance from religious bodies. Anyone who claims to favor reform and simultaneously condemns mbs knows nothing about the history or international politics of Saudi Arabia. I have been watching mobs and his behaviour indicates very positive direction indeed. Do your homework. Astoundingly the people at MIT seem to have not done theirs.

</comment></comment></comment><comment><USER32> They should have stuck to attacking MBS, and brought up the fact that the 9/11 hijackers had direct support from Saudi diplomatic personnel.

Attacking Apple for providing well above market pay for jobs that rescue chinese laborers from brutal and dangerous rural farm jobs just makes the writer sound entitled.

<comment><USER33> Can you please provide more context from the "brutal and dangerous rural farm jobs"? I am aware agriculture production in China is very different then here but even at its most labor intensive times it is not something that I would have considered to be "dangerous".

<comment><USER34> Farming in general is a dangerous occupation, even in the USA where machinery tends to be reasonably modern and well guarded:

[https://www.bls.gov/news.release/pdf/cfoi.pdf](https://www.bls.gov/news.release/pdf/cfoi.pdf)

I wasn't able to find a source but my understanding is that being a farmer is many times more dangerous on a percentage basis than being a police officer, and that's only counting fatal accidents. I would bet good money that the rate of disfiguring/crippling injury is way higher.

<comment><USER35> I seem to recall reading that farming is comparable statistically to mining, or even more dangerous. It's pretty much among the top most dangerous occupations, at any rate. Which is consistent with how historically people have given up farming to work in the seemingly brutal sweatshops in cities, whether in the US and Europe, or in the Third World.

Anecdotally, my grandfather died some time after being burned in a conflagration related to cleaning something with gasoline, and none of his children became farmers. One daughter went to college and became a computer programmer, another started a delivery business, his son went to work for a VA hospital, and his wife sold the farm and became a nurse after her husband died.

It's hard to imagine conditions that predate your parents' time, and most people at this point are probably more than one generation away from their farming ancestors.

</comment></comment></comment></comment><comment><USER31> I must re-iterate my opinion here because of flagging abuse. In the article, mbs's consolidation of power is criticised. This is naive and incorrect. Mbs is in fact a positive force for progress and reform. Detracting him only serves to aid the people of sa and the religious bodies of sa all of whom wish to remain cemented within the traditional and brutal interpretations of the Koran that MIT seems to dislike so much. The rebels and Iran are just as responsible for the innocent deaths as sa and us are. This is difficult to explain in such short form but it is true and if you disagree then you can tell me why instead of flagging my comment. This way I can promptly respond to you and our disagreement can be settled. It's very important for non- mainstream narratives to be heard, especially when they are correct as in this case.</comment>


The Philosophy of Computer Science - <AUTHOR> http://plato.stanford.edu/entries/computer-science/

<comment><AUTHOR> I was looking for articles to reference around the nature of logic in philosophy and programming, but this is far more interesting I think..

This contains various different ways of thinking about computer science, such as the nature of computation or abstraction.

</comment><comment><USER2> Stanford Encyclopedia of Philosophy (SEP) is an immensely useful resource with a great deal of authority behind it. I used it all the time in college and grad school to get a quick, general understanding of any new philosophical topic that I came across.

Just like Wikipedia, everything is properly cited and you will find all the primary sources in the Bibliography. Unlike Wikipedia, SEP is carefully curated by professionals, but I think it's an excellent example of professional curation done right. Despite the fact that most articles are written by people who are known to have strong opinions on the topics they write about, the articles themselves are generally neutral and contain pro and con arguments for various points of view. Because philosophical theories are often highly controversial and there aren't many concrete facts that everyone can agree on, Wikipedia's model is probably not appropriate here.

"Philosophy of Computer Science", however, is a relatively new addition to SEP, and the low maturity of the field is easily noticeable. Too many topics are squeezed into the same article (instead of being separated into their own articles), and despite the author's effort to include diverse sources, it's clear that not many people are making direct contributions to this field. But I expect this to get better over time. SEP articles are frequently updated, although not as often as Wikipedia. After a couple of major revisions, the article will probably look much better than it already is.

Since computer science is very closely related to various other topics in the logic and epistemology sections of SEP, I would also like to see more cross- references... But it seems that SEP editors are less enthusiastic about linking between articles than Wikipedia editors are. Most links are lumped together in the "Related Entries" section at the end. After all, these people are used to writing textbooks, not online encyclopedias.</comment>


Ask HN : Question about Google Voice - <AUTHOR>

I was thinking how Google Voice service works. When we sign up with GV, the user gets a dedicated phone No. for free. So, does Google reserve one phone No. for each user? How is Google able to procure so many phone No.s? Some more thought process gave me more hints like : they might have partnered with mobile service providers. Is that how it works?
Also, I know little bit of IP networking. So I can make out how users requests from Web browsers reach over to webserver(Browsers>DNS server>Webserver(or respective servers) etc). Similarly, in VoIP networking space, can anyone explain how this really works? When a user calls a phone No., that is assigned by GV, where does the call go first and how it gets routed?
After little bit of digging out, found that GV is based on Grandcentral. Searched a bit on the net as to if there is any documentation about the Grandcentral. I could not find any. <comment><USER2> My (maybe wrong) understanding is that they are using unused rural phone number allocations.

Edit: It looks like this was the case during the GC and beta days but now they negotiate for number blocks, according to Wikipedia and the sources it cites.

[http://en.wikipedia.org/wiki/Google_Voice#Partners_and_infra...](http://en.wikipedia.org/wiki/Google_Voice#Partners_and_infrastructure)

[http://www.pcworld.com/businesscenter/article/166978/google_...](http://www.pcworld.com/businesscenter/article/166978/google_grabs_1_million_phone_numbers_for_google_voice.html)</comment>


Where are the iPod touch knockoffs? - <AUTHOR> http://www.asymco.com/2010/09/03/where-are-the-ipod-touch-clones/ <comment><USER2> It's called the "Samsung Galaxy Player", and it just got demoed in public today after being rumored for a while. It even has 16gb of onboard flash instead of continuing with the SD-card-only farce that the other Android manufacturers have been going along with.

The reason nobody else has been attacking this market is because the iPod touch has been priced much cheaper than any of the Taiwanese OEM shops can compete with — it only costs a little less to make than an iPhone, but costs $400 less! Apple is purposefully cutting their margins on it far below their other products.

Samsung can actually compete since they're vertically integrated. They don't need to be producing millions to get the volume to meet that price point — as the manufacturer of CPUs, LCDs, and Flash, they _are_ volume.

This will be the first real attempt at competition in this space since the Zune HD (which was originally more expensive, but later discounted). No, none of the Archos PMP products count, they're stupidly expensive, sucked balls, and the Android ones shipped ancient broken versions with no Google apps or Marketplace.

EDIT: Looks like it might not be sold in the US, and it'll be significantly more expensive than the iPod touch at €229 for 8GB and €299 for 16GB.</comment>


The Plot Against Birmingham - <AUTHOR> https://unherd.com/2020/09/the-plot-against-mercia/ <comment><USER2> Politicians often attempt to smear an economy evenly across a polity. This may have worked in agricultural times, but in technological seems counterproductive. The mechanisms in this article would argue that transfer payments would be superior: allowing further growth in the growing areas, and subsidising the shrinking areas out of the resulting larger pie. However, that approach has its own detractors.</comment>


The future of fabrication is here: Shapeways announces stainless steel printing - <AUTHOR> http://www.crunchgear.com/2009/08/04/the-future-of-fabrication-is-here-shapeways-announces-stainless-steel-printing/

<comment><USER3> Soon, "printcrime" will be prosecuted:

<http://craphound.com/?p=573>

<comment><USER4> In the long run, every industry is going to be "napstered." We're going to have to rethink our economic structure to find incentives that work.

If you think the RIAA an MPAA were a problem, wait until it's Walmart and Costco.

On the other hand, I don't think that tyranny (prosecute everyone) or anarchy (copy anything for free, designers get $0 for their effort) is going to be the optimal solution.

<comment><USER5> We'll have to rethink things long before that.

Once we achieve workable computer vision, automation is going to rapidly replace all non-creative human labor. And that's a lot closer than the technology required to make even an at-home lab* capable of turning out a copy of, say, an mp3 player. (* Allowing for separate machines that print circuits, build cases, etc)

Less complex/capable 'replicators' that turn out spare parts won't be that disruptive. The first world doesn't fix modern goods much as-is. When we do, we're tend to pay disproportionately more for the _knowledge_ than the parts.

</comment></comment></comment><comment><USER6> I wonder if in the long run it would be more robust to print the mold, and cast the metal material in it. Molds generally created out of some sort of clay/sand with an activated resin bonding the material. It seems as if that would be easier build using a 3d printer than building the metal part directly.

<comment><USER7> One difference is that you can 'print' things that you can't make a mold for. see

<http://www.bathsheba.com/sculpt/>

and

<http://www.bulatov.org/metal/index.html>

<comment><USER8> I met Mr Bulatov at the Maker Faire (why do you Americans think it's cute to employ faux-medieval spellings?). His pieces are even more impressive in reality.

</comment></comment></comment><comment><USER9> I doubt the physical characteristics of "layered steel powder" are close to the real steel.

<comment><USER10> The press release isn't even right, powdered metal rapid prototyping has been around for a while. This specific method or material may be new but it certainly isn't the first non-polymer 3D printer.

Anyone who thinks car parts will be made this doesn't understand the process. Thinking of it as a computer, rapid prototyping have a cost that is basically O(n). Molding/stamping have a cost that is O(1) + O(n), where the O(1) cost is HUGE and the O(n) part is tiny. At some point the mold/stamp makes a lot more sense. Cars are one application where this will NEVER EVER make sense - <USER2> for non functional prototypes.

<comment><USER6> Or single-run custom parts. Great if you need something that is no longer being made or isn't readily available. Just as you say, there are advantages of molding/stamping, but it all depends on the situation.

<comment><USER10> Thats true, but think of the typical situation where you need a custom part - to replace a broken one. I have a car from 1961 and one of the pieces I've had trouble replacing is the king pin (i.e. the pin that the front tires rotate around on a rear wheel drive car). It wasn't designed strong enough so it breaks commonly. They are not made anymore and it is difficult to replace. This technique wouldn't help me one bit because if cast steel didn't do it, then powdered steel sure isn't.

On the other hand the jewelery idea is probably a good one, strength properties don't matter too much.

You are right that it is all about the situation, but I see too many people that think 3D printing is somehow going to revolutionize the manufacture of physical things, its not. It may work in really specific instances, but thats about it, and if I had to buy 1 manufacturing machine for my home/business it would be a CNC controlled mill not a 3D printer.

<comment><USER11> Jay Leno is already a fan of CNC'ing otherwise unobtainable car parts: [http://www.popularmechanics.com/automotive/jay_leno_garage/4...](http://www.popularmechanics.com/automotive/jay_leno_garage/4320759.html?page=1)

</comment></comment></comment></comment></comment><comment><USER12> I wonder if this could print some remaining parts in the RepRap (<http://reprap.org/>).

</comment><comment><USER13> Might be worth noting that a model of this material costs $10 per cubic centimeter versus $1.68 for the nylon-like material.

<comment><USER8> True, but if you're using it to show off your prototype or for making artistic _objets_ , the extra heft and perceived durability will likely be well worth it.

</comment></comment><comment><USER14> This is just mind blowing!

</comment><comment><USER15> could pair well with the 3D scanner that was featured on here a few days ago: <https://www.nextengine.com/indexSecure.htm></comment>


Feature Friday: Videoconferencing Services - <AUTHOR> http://avc.com/2016/08/feature-friday-videoconferencing-services/ <comment><AUTHOR> Would be interesting to read the HN community's answers and thoughts on this.</comment>


German Gov't Thinks TPM May Be NSA Backdoor, Declines Windows 8 Upgrade - <AUTHOR> http://www.cso.com.au/article/524559/windows_8_trojan_horse_nsa_german_government_thinks/

<comment><USER2> From the article:

"Is the story overblown Teutonic paranoia or a valid concern about the growing power of state surveillance? Until recently, the presumption might have been to the former but the Snowden affair changed the dimensions of the debate."</comment>


Flipboard's Mike McCue: Web format has 'contaminated' online journalism - <AUTHOR> http://latimesblogs.latimes.com/technology/2010/12/flipboards-mike-mccue-online-journalism-is-being-contaminated-by-www.html <comment><USER2> I'm sorry but journalism should be about content, compelling content.</comment>


Show HN: Forum as a service, for GitHub projects - <AUTHOR> https://gitq.com <comment><USER2> This is awesome! I don't understand why this hasn't got more upvotes. I've just created a forum for my project:

[https://gitq.com/etewiah/property_web_builder](https://gitq.com/etewiah/property_web_builder)

Now time to get people talking about it ;)

</comment><comment><USER3> This is nice. I want something like this, and I've seem a lot of project maintainers ask for it also, so it's strange it hasn't got more upvotes.

In a lot of cases people want "Gitter for forums", but they end up creating mailing lists. This thing solves that problem.

There's also [https://spectrum.chat/](https://spectrum.chat/), a forum-as-a- service tool which I find great, although it is totally unrelated to GitHub.

</comment><comment><USER4> Interesting! I built Gitcussion for the exact same reason few years ago. [https://gitcussion.com/](https://gitcussion.com/)

</comment><comment><AUTHOR> Don't know how to change the url in HN, but the following url is a community for gitq.com itself: [https://gitq.com/GitQLab/gitq.com](https://gitq.com/GitQLab/gitq.com)

</comment><comment><USER5> I often end up asking questions in GitHub issues, not a good place for discussions though. Finally someone offered this service. Nice!

<comment><AUTHOR> That's why we build this service and hope that we can provide the best discussion service for the open source communities.

</comment></comment><comment><USER6> What relation does it have to Git? Have you read their mailing list about the Git Trademark? [https://public- inbox.org/git/20170202022655.2jwvudhvo4hmueaw...](https://public- firstname.lastname@example.com/)

<comment><USER3> Say that to Gitter.

<comment><USER6> No need to do that. Gitter started the same year (2014) but before the Git trademark were granted, so this does not apply.

Edit: also Mr and Mrs Git don't need to change their name - [https://www.youtube.com/watch?v=HtyO4tmpPdk](https://www.youtube.com/watch?v=HtyO4tmpPdk)

<comment><AUTHOR> Sigh, GitQ means Mr. GitHub's Questions site :)

I started to think about this project before 2014 and bought the domain in early 2014 maybe and started then, so can I say this also does not apply?

Actually, it's too early to think about this. Now, I'm just wondering why I got so little points and how can I get the post to be on the HN home page so it can get enough focus? Is there anyway to attract more people to the GitQ? Is this project useful enough for the open source community?

To use or not to use a name is not as important as the idea itself, actually.</comment></comment></comment></comment>


WhatsApp "Bigger than Twitter" with 20 billion messages a day - <AUTHOR> http://www.digitaltrends.com/mobile/whatsapp-reaches-20-billion-messages-a-day/ <comment><USER2> how do they make money? what is their business model?

apparently they don't charge for messages and don't charge for ad space.

1\. Build messaging app 2\. !?!? 3\. Profit!!</comment>


So Much to Read, So Little Time - <AUTHOR> http://psi.sagepub.com/content/17/1/4.full?ijkey=0GSjhNaccRKTY&keytype=ref&siteid=sppsi <comment><AUTHOR> There was also an article in the Guardian on the submitted paper.

[http://www.theguardian.com/books/2016/jan/29/speed- reading-c...](http://www.theguardian.com/books/2016/jan/29/speed-reading- claims-discredited-by-new-report)

<comment><USER2> See also [https://news.ycombinator.com/item?id=10921411](https://news.ycombinator.com/item?id=10921411).</comment></comment>


Announcing TypeScript 1.6 Beta: React/JSX, better error checking, and more - <AUTHOR> http://blogs.msdn.com/b/typescript/archive/2015/09/02/announcing-typescript-1-6-beta-react-jsx-better-error-checking-and-more.aspx <comment><USER2> Happy to see such uptake in TS, and it's great that big frameworks such as Dojo 2.0 and Angular 2.0 are adopting it, but I can't help but feel a bit weird and slightly disappointed that JSX found its way in.

Anyways, great work by the TypeScript team as always! Looking forward to putting 1.6 to work.

<comment><USER3> It's not as if it's found it's way in to .ts files, only to .tsx files.

As someone who's organisation has spent a lot of time making our front end in ReactJS this is going to be very useful for us, and the 'corruption' that is the cast operator becoming 'as' will be manageable as it's only in .tsx files.</comment></comment>


State of Clojure 2019 Survey Results - <AUTHOR> https://clojure.org/news/2019/02/04/state-of-clojure-2019 <comment><USER2> Paper on purely functional data structures (persistence): [https://www.cs.cmu.edu/~rwh/theses/okasaki.pdf](https://www.cs.cmu.edu/~rwh/theses/okasaki.pdf)

Clojure's fantastic contribution to mainstream programming is making these types widely available.

</comment><comment><USER3> High number of "Rich needs to get his act together" comments this year. There's always a few in the comments, but its a much higher percentage this time around. More than a few who said they left after Rich's "clarification" of how he views open source last year.

<comment><USER4> I think that clarification is reasonable. What rubbed people the wrong way is, imho, that people expect the "usual" approach to open source contributions. Instead it is very much optimized for Rich's time and vision. People who spent lots of time writing something have been met with either silence or a "thanks but no thanks".

I am not saying that Rich is doing anything wrong. What I am saying is that there has been a clash of expectations. I agree completely with Rich's clarification on OSS, but I think it failed to actually meet the ones that have been hurt (for the lack of a better word) by the process so far.

But that is just my view as an outsider. I have never actually used clojure more than just for fun.

<comment><USER5> Your last line applies to me too.

Isn't one of the touted strengths of Clojure that if you want to do something your way, you can make a library, and you don't have to wait for or rely on the core language maintainers to accept it as canon?

So whether or not your proposal makes it into core, you can still put it out there and people can still make use of it if they find it useful. Specter looks like a good example of this.

<comment><USER4> Well, there was some kind of ruckus about a pretty big change to the compiler that was met with a thanks but no thanks. I completely understand becoming frustrated by that.

<comment><USER6> Hard to say without context. Was the change discussed with the core team? Did they say yes and then suddenly backed out? Otherwise I don't see much reason for being frustrated.</comment></comment></comment></comment></comment>


Anxiety Almost Killed Me. It Also Gave Me My Career - <AUTHOR> https://theriveter.co/voice/anxiety-in-the-workplace/ <comment><USER2> We develop a new way to deal with anxiety, you want to try it? Download it our app In Iphone: [http://bit.ly/Mind_plus](http://bit.ly/Mind_plus) and in google play: [http://bit.ly/app_MindPlus](http://bit.ly/app_MindPlus)</comment>


Find A Small Problem And Build A Simple Solution. - <AUTHOR> http://jcamarena.com/toughts/find-a-small-problem-and-build-a-simple-solution/

<comment><USER2> This may sound naive but has anyone got any advice or links to advice on the best way to find real problems to solve, big or small. Preferably small, though because with the big ones its often harder to tell whether they are something that people really want. I'm looking for a way of finding the kinds of things where its relatively easy to tell whether they have a good chance of making some money right now. Its a tall order,I know but you never know what people know until you ask.

<comment><USER3> "The Best of edw519", <http://edweissman.com/53640595>

"How do I find business problems to solve" is answered a few times over, from different angles, in Ed's comments collected there. I'm not going to tell you which answers exactly, because you should probably read the whole thing.

</comment></comment><comment><USER4> Find a big problem, identify a basis for its vector space, and build that basis.

My opinion is that all "small problems with simple solutions" that have become successful were actually cases of big problems masquerading as small ones.

<comment><AUTHOR> So true.

The problem i see is that people limit them selves saying "to do X first i need W and i don't have W".

You need to start with anything, NOW. No excuses. NOW... then you will find a bunch of new "problems" to solve.

You are in a "blind spot" until the ball starts rolling.

<comment><USER5> > _You need to start with anything, NOW. No excuses._ //

So I've got a problem and an outline solution. I just need R&D capital and a few months in a workshop to create a prototype, get a patent and then take that looking for investments ...

How do I start "NOW" with what I have, no money, no time, no workshop.

Enthusiasm doesn't solve every problem.

<comment><AUTHOR> Well; those are excuses from my point of view.

You can save money and sure you can invest less time on hackernews and more in your ptoject.

If you can't do anything of that for what you have in mind try to go for something smaller but always thinking in the long-pitch.

I'm just saying ..

<comment><USER5> I can't save money, really I can't.

Time I can probably manage a little of, but then I use HN for relaxation when I'm tired so it's not really productive time that I'm using up. The project is nothing without capital and a workshop; just dead.

Sure there's other things to do but then I'm giving up on the project and that would be falling to the point you attacked that to do X [this project] I need Y and Z.

</comment></comment></comment></comment></comment><comment><USER6> I guess,finding a problem to solve is in itself sort of a talent.

<comment><USER2> That could be true but I think that very few people really have that talent. Most people have only one or two good ideas and those come from observing something in a domain that they are in. That's why pg gives the advice to work on something you know about because no doubt he has observed the relative success rate of people who work on things inside and outside of their domains. I think there may be a few people who do have the talent to find problems outside of their immediate domain but I also think that like any 'talent' its probably something you could learn and develop by observing those people, how they think, what they do etc.

</comment></comment><comment><USER7> This might be a great article and I wouldn't even know it. I can't get past the first few sentences because it is thoroughly riddled with typos, missing capitalizations, and other careless errors that would've been fixed if this post wasn't written free-thought and was re-read before publishing.

Try presenting yourself professionally online. Often times what you say is just as important as how you say it.

<comment><AUTHOR> Thanks for the feedback :)!... I'm still reading and fixing typos .. but i was finishing the Spanish version of my article first.

Also, my English is not pretty good because is not my primary language.

<comment><USER7> I apologize that that came off as rude. Your English is a lot better than my Spanish.

<comment><AUTHOR> no problem, i already fixed some of the typos :).

<comment><USER8> _I'ts true?. Do i need to diversify my startup? Or its a better idea to put all the eggs in one basket?._

Should be (or at least a better version, not promising it's perfect):

Is it true? Do I need to diversify my startup? Or is it a better idea to put all my eggs in one basket?

(Feel free to copy and paste if you can't tell what I did different.)

best of luck

<comment><AUTHOR> thanks

<comment><USER8> No problem. But you missed a detail: You still have a period after a question mark at the end of that paragraph. The period should be removed.

Take care.

</comment></comment></comment></comment></comment></comment></comment><comment><AUTHOR> La versión en español del articulo esta aqui // The Spanish version of the article is here:

[http://jcamarena.com/espanol/encuentra-un-pequeno- problema-y...](http://jcamarena.com/espanol/encuentra-un-pequeno-problema-y- construye-una-solucion-simple/)

</comment><comment><USER9> This hit home for me. Previously we had identified a problem, but instead of just getting out there and getting started with the quickest working solution, we spent ages building a fully comprehensive service that did it all and more. The outcome: we wasted resources building things we didnt need and werent used, while our competitors sailed off into the sunset.

<comment><USER10> +1

This happens so often with early start-ups, including my own.

I wish someone had told me; Build something that provides an basic minimum quantum of utility. Release it immediately. Iterate.

Or maybe they did tell me, but I wasn't listening.</comment></comment>