Lithium-ion batteries from Amazon are exploding - <AUTHOR> https://www.theatlantic.com/technology/archive/2019/04/lithium-ion-batteries-amazon-are-exploding/587005/ <comment><USER2> >In a statement, an Amazon spokesperson said, "Safety is important to Amazon and we want customers to shop with confidence on our stores. Third-party sellers are required to comply with all relevant laws and regulations when listing items for sale in our stores. When sellers don't comply with our terms, we work quickly to take action on behalf of customers."

>Amazon often doesn't own or even touch the products bought and sold on its site—so in Amazon's view, it's not liable for defective products. In its response to David Jarrett's legal complaint, the company said in a court filing that his alleged injuries "were caused by acts or omissions of third- persons or entities over which Amazon has no control."

Is it just me or are those completely contradictory? Both of those statements can't be true. You can't both reassure customers of the quality and safety of items sold on your platform AND say you have "no control" of your platform.

<comment><USER3> They're not quite contradictory: notice that Amazon doesn't claim that they _actively look for offenders_ ; just that once they become aware of them, they'll take action. Though I'd argue that their "Safety is important" language is indeed bullshit.

I've been shifting my buying away from Amazon toward smaller niche retailers that actually manage their own inventory. When I do opt for a free-for-all marketplace, I've found eBay to have a much more trustworthy reputation system.

<comment><USER4> which retailers have you found?

<comment><USER5> For lithium-ion batteries specifically, the /r/electronic_cigarette subreddit has a great list of reputable vendors in their wiki.

        www.imrbatteries.com
        liionwholesale.com
        batterybro.com
        www.illumn.com
        www.orbtronic.com
        www.rtdvapor.com
        www.akkuteile.de
        ecoluxshopdirect.co.uk
        www.nkon.nl

For many other niches, finding an active subreddit is a good way to find reputable vendors in that space.

E-cig users are especially vulnerable to counterfeit lithium-ion cells. For one, we tend to draw way more current from them than most other consumer electronics devices. Two, the batteries are in our face or pocket all the time.

</comment></comment></comment></comment><comment><USER6> The very quick decline in quality of Amazon products has led me to start shopping elsewhere. I don't spend an insignificant amount at Amazon. I'm sure I'm not the only one who's done this. When I can buy higher quality goods from my local dollar store or cheaper Chinese stuff directly from AliExpress with better service and quality, what's Amazon's benefit? It doesn't matter how fast something arrives if it costs me my health, home, or breaks within a single use.

<comment><USER7> I'm starting to be on the same boat, though not necessarily for the same reasons. Amazon Basics is still pretty strong... it's when you get to third party stuff that it becomes a real minefield.

The amount of third party sellers re-using listings for multiple products to pad their reviews is honestly astonishing. Searching for a lightning to 3.5mm jack leads to this as the #2 result:

[https://www.amazon.com/Earphone-Charging-Headphone- Splitter-...](https://www.amazon.com/Earphone-Charging-Headphone-Splitter- Compatible/dp/B07QSQ2PFR)

Not only does this not work (as discovered by my SO), but all of the reviews for it are for phone cases, utility knives, etc. In the past month or two, this has been happening WAY too often. It's gotten to the point, like you've said, where AliExpress has become more reliable. That seems insane to me.

<comment><USER8> eBay has a similar issue where sellers list, in the same listing, a high price item (eg a 3D printer) along with a low price item (a roll of filament). So then when you search for a certain keyword and search by price you'll see those listings gaming the system first

<comment><USER9> I have started using minimum prices on my queries to filter this out. List an item for $1-499, you're no longer in my results.

(I would really just like a way to filter out multiple-product listings entirely. The only valid use-case is like, multiple colors or something. 99% of the time they're used to game search results and the prices are almost never good enough to be worth manually sorting through 200 identical listings vs just filtering them out entirely. But at least minimum price queries filter out one way they are abused.)

Also, filter to US sellers only. Usually if you buy from China then the savings aren't that huge, you'll be waiting a month to get your item, and if the item ends up not working then it's impossible to return it. On some items you are going to be getting the same junk anyway, but from a bulk importer shipping from the US, but other items with definite name-brands it does cut out a lot of the junk listings.

</comment></comment></comment></comment><comment><USER10> By stating they're just a platform, Amazon is decreasing the quality and trust of their brand. 3 to 5 years ago, Amazon was the place to find the best product in any category. Just put in a few keywords, make sure to restrict by 5-star reviews and eventually you will see the rare gem you were looking for. Now, if they present to themselves as a platform, it puts them on par with Facebook, where rankings and presence can be gamed by social engineering or hackers.

</comment><comment><USER11> Looks like there is hard ceiling in scalability of centralized internet platforms where things go nuts with enormous size of varied social (mis)behavour.

Just like with real authoritarian societes, they need expensive control and justice mechanism including strong censorship aparatus, otherwise the platform risks collapse or fragmentation.

Trust can't be scaled easily.

This gives me hope that the online world won't be eaten by few entities and will evolve back into more distributed federation, with local trust plus solid standards as lesson learned.

<comment><USER12> Or maybe just don't become a portal for dropship sellers from China.

Is there anything more to Amazon than a) fast shipping and b) you can buy anything there for relatively cheap* (probably because it's from China)

* I've found Amazon lately is a lot costlier than local department stores for random things.

<comment><USER13> > Is there anything more to Amazon than a) fast shipping and b) you can buy > anything there for relatively cheap

Service.

I had some headphones that broke after just over a year, but were still in warranty, and the manufacturer was being awkward about repairing them. Amazon refunded them the next day.

I also recently had some bulbs stop working after about six months, but as I'd ordered a two-pack and a single, and two had stopped working, I wasn't sure how to do a refund. Amazon just refunded all tree three.

</comment></comment></comment><comment><USER14> > Amazon would not put him in touch with the seller and never assumed blame > for the fire.

You can't have it both ways. Either you're just a platform, and have no liability, in which case you need to make it clear who the seller was, and how you can reach him, or you own up to selling people dangerous devices.

The culture that produces this sort of behaviour is rotten, and is everything but customer-focused.

</comment><comment><USER15> > Amazon declined to discuss any of these specific cases, but has denied the > allegations in court filings, saying it was not the seller of these > products.

So Pirate Bay is responsible for posting a link even if it's not serving the illegal content but Amazon is not responsible for doing the same and even shipping the offensive items?

</comment><comment><USER16> I dislike the wishy-washy passive construction in their summary graf:

> In the massive global network of manufacturers, distributors, sellers, and > resellers, it can be nearly impossible to tell who's actually responsible > for getting any given product into your living room.

...because it completely diffuses any sense of responsibility. It's not that "it can be impossible to tell who's actually responsible." It's that this global network was deliberately designed to make it impossible to hold anyone accountable; as far as Amazon's concerned, that's a feature, not a bug.

</comment><comment><USER17> > _Kerchner suggested that the real enemy is e-cigarette manufacturers, which > have designed devices around 18650 cells._

> _Korean company that makes LG-branded lithium-ion batteries, sent a letter > to sellers and distributors of e-cigarette devices and equipment, telling > them, "Individual consumer use and handling of 18650 cells is a dangerous > misuse of the cells that can lead to severe burns and disfigurement." It > asked companies to stop selling LG 18650 cells, and to tell customers who > had bought the cells in the past that they should dispose of them safely._

> _Many Amazon sellers reported receiving emails last August saying Amazon had > prohibited the sale of cylindrical-lithium-ion batteries, including the > 18650._

I know 18650 cells normally come in battery packs with charging and protection circuit, and that even in the DIY electronics community, it's not recommended to build the battery management circuitry by yourself, unless you know what's you are doing.

But even if purchasing raw, unprotected 18650 cells is not recommended. Still, if a device is using these raw 18650 cells, it means the proper circuitry must have been already included in the device. If properly designed, a device with 18650 cells replaced should be as safe as the original one. So there should be no reason to disallow an individual customer to remove a dead 18650 from a device, purchase a new cell and replace it. I've personally seen raw 18650 cells found in flashlights and RC toys, replacing them is a routine procedure.

One of the three possibilities:

* 1. Most individual customers have no idea about the safety when handling these raw cells, and are handling and charging them in a reckless and dangerous manner, for example, using a low-quality, generic charger, or exposing them to mechanical shocks, high temperature, etc.

* 2. 18650 cells are inherently unsafe to be used with e-cigarette due to the nature of this application, or they are not safe to replace (easy to break something in this process), or many e-cigarette units do not perform battery management properly.

* 3. It's difficult to distinguish between good and counterfeit 18650 cells, due to the potential hazards, it's better for Amazon to ban them altogether?

As a result, Amazon and some battery manufacturers banned their selling to individual customers to avoid accidents and incidents due to the above unfortunate reasons. Otherwise, I think purchasing a new 18650 cell and replace the dead ones in your electronics should be perfectly acceptable.

Any comment?

 _Edit: So far, the conclusion seems to be a mix of all three issues:_

1\. The biggest problem is #3. It's difficult to find legitimate, authentic 18650 cells. As _tristor_ pointed out ([https://news.ycombinator.com/item?id=19839673](https://news.ycombinator.com/item?id=19839673)), it's a notorious problem in the hobbyist community and e-cigarette community. If even people who know what they are doing are having trouble finding authentic cells, offering them to average customers is risky. _zrobotics_ added ([https://news.ycombinator.com/item?id=19839977](https://news.ycombinator.com/item?id=19839977)) that the counterfeit problem is a supply-chain level issue!

> _My normal port of call, Digikey, doesn 't appear to carry any actual name- > brand cells. I see adafruit & sparkfun, hopefully they source decent cells > but who knows. There's also Jauch Quartz, who I've never heard of._

 _teilo_ also agrees ([https://news.ycombinator.com/item?id=19839869](https://news.ycombinator.com/item?id=19839869)) that the proliferation of poorly-made budget 18650s as well as counterfeit re- wraps of junk 18650s sold as quality brands such as LG.

2\. Problem #2 is a secondary cause. _teilo_ said a lot of poorly designed devices that lack correct protection, _in the eCig world one can point to the mechanical mods which are basically a battery directly attached to a coil, with nothing but a switch in between. Dangerous and stupid. There are some very good eCig devices that have excellent current and reverse-bias protection, but they cost more_.

3\. The last cause is #1, the improper handling of these cells, such as shorting spare e-cigarette cells with metal objects in a pocket, or using bad chargers. Also, as _Tepix_ and _jhayward_ said, replacing a protected 18650 with a unprotected cell is very dangerous.

<comment><USER18> Definitely #3. Counterfeit 18650 cells is a serious problem and anyone who has delved deeply into the e-cig/vaping community is already aware of this and doesn't purchase batteries through Amazon or any other service where counterfeits are commonplace.

Counterfeiting of batteries generally, and counterfeiting on Amazon generally, have become critical path problems for a lot of hobbyist communities where having a quality supply chain is safety critical. This is not new. It's true as well in things, such as the car community, where many online supply chains are corrupted with counterfeit safety-critical items like wheels and brake calipers.

One of the realities of the world is that "you get what you pay for" is actually true. This has become clear specifically around the batteries issue and also in the car community where specialist online retailers who charge a premium are the go-to places to buy safety-critical components, specifically and exactly because anyone who cares does not want to accept the risk of a safety-critical item failing to save a few bucks. On the flip-side, many people in hobbyist communities are ignorant cheapskates and unfortunately their penny-pinching drive helps to proliferate counterfeiting.

<comment><USER19> "You don't get _more than_ you pay for" is typically true.

"You get what you pay for" is far from guaranteed.

<comment><USER18> Definitely true. There are also instances of companies charging premium prices for lower quality products in many hobbyist communities. I'd say the clear corollary to "you get what you pay for" is caveat emptor "buyer beware".

As an aside, I know it's typically discouraged from commenting about downvotes, but within minutes my comment in the thread was heavily downvoted and I don't understand why?

<comment><USER20> "You get what you pay for" is a slogan pushed by high markup resellers who want to look like they provide some value.

<comment><USER21> It is also a slogan I am personally hoping catches on in certain industries like the gaming industry - but with different emphasis. That if you pay for something, you're going to get it. So stop paying for it if you don't want to get it. Gamers pay for tremendous abuse to be done to them, and then walk around wide-eyed and mystified why they're being mistreated. Then they pay for more of it.

</comment></comment></comment></comment></comment></comment><comment><USER21> I've never understood why there isn't a fairly simple company out there manufacturing quality lithium ion cells for older tech. For instance, I have an original Sony PSP. There's nothing wrong with it. Except for the fact that it is impossible to find a battery for it and the original ones wore out long ago. I faced the same thing with my Neato Botvac when it's NiCad battery died, although I was lucky enough to be able to find an adapted LiIon battery to replace it (which also extended its operating time, enabled it to charge faster, etc. Nice upgrade!). My mom is having a very difficult time finding a new battery for her first-gen Dell XPS 13. Every time I go online to shop for a battery, it feels like a fight with 99% of the products on offer being dodgy. It's almost as bad as the bedding industry which is perplexingly corrupt and soaked neck-deep in black PR.

</comment><comment><USER22> Most of the problem is Amazon's third party sellers IMO. I just recently got sent a counterfeit PS4 controller from a third party seller, even though it had Prime. I would never buy bare lithium cells from Amazon, but I do buy SD cards as long as they're from Amazon directly (and then make sure to test them thoroughly for defects).

<comment><USER23> Yup. The problem is a bunch of cheap junk by third party sellers. That's where you have to tread with great care and when it comes to something potentially dangerous I wouldn't even touch it.

</comment></comment><comment><USER24> Amazon has seen an extraordinary increase in counterfeit and defective products. I'm beginning to think of them as eBay with a better return policy.

</comment><comment><USER25> 18650 are widely used in flashlights too. I bought one from Amazon that came with a battery that has a built-in USB powered charging circuit:

[https://www.amazon.com/Headlamp-Headlight-Rechargeable- Water...](https://www.amazon.com/Headlamp-Headlight-Rechargeable-Waterproof- Headlamps/dp/B07BZZFY3J)

Still for sale on Amazon. So it's just bare 18650's they won't sell anymore?

<comment><USER26> Isn't 18650 essentially a generic part number, with numerous providers? These batteries don't even have to have the same capacity (I've seen many 2700mAh, 3000mAh and 3300mAh), just same package. I'd wager that this is the most common form of a lithium battery available on the market.

<comment><AUTHOR> It's not even a part number, it's a form factor + approximate voltage expectation, like "AA" or "D" cells.

<comment><USER27> Technically it is only form factor. The common CR2032 coin cell uses the same number system.

The first 2 digits are the diameter in millimeters, the remaining digits are the height in tenths of milimeters. So a CR2032 is 20mm across and 3.2mm tall. The "CR" portion is what indicates the battery chemistry.

The correct IEC notation for would be ICR18/650 where the first two letters specify the specific anode and cathode material (I've picked the letters most commonly seen in examples). Those letters are absolutely critical in determining the nominal voltage, because without them, we could even be describing say an alkaline disposable cell of the same shape (LR18/650 would be such an non-rechargeable alkaline battery of the same shape).

</comment></comment></comment></comment><comment><USER28> It's not just batteries. I had an Amazon purchased USB wall charger start smoking and burning the enclosure. Fortunately we were home when it happened.

I won't buy any non NRTL certified (i.e. UL, TUV, etc) electronics that plug into AC power. Of course it could still be counterfeit, but these chargers were not NRTL certified.

<comment><USER8> What brand was the charger, for reference?

<comment><USER28> They exact ones (Vojo 12W USB charger) are no longer sold (huh, wonder why), but these are similar:

[https://www.amazon.com/VOJO-Charger-Adaptive-Charging- QUALCO...](https://www.amazon.com/VOJO-Charger-Adaptive-Charging- QUALCOMM/dp/B01LVY1FWI/ref=mp_s_a_1_fkmrnull_3?keywords=vojo+12W+usb+charger&qid=1557162881&s=gateway&sr=8-3-fkmrnull)

The Belkin ones are UL certified, and I bought several of those with no issues after 2 years. Problem is Amazon does not list NRTL certification, so it's a crap shoot.

The NRTL certification is a big deal at my employer. We can't buy anything over 48 VDC that isn't certified, or we will lose our insurance for the facility.

I'm surprised home insurers are not cracking down on this stuff. I'd like to know the statistics of house fires caused by cheap electronics.

These are a good example. CE, FCC, RoHS have nothing to do with safety (I'm I'll bet those are fake markings too too). You are plugging in the cheapest Chinesium into a 120V, 15A circuit

[https://www.amazon.com/Charger-Colorful-Adapter- Replacement-...](https://www.amazon.com/Charger-Colorful-Adapter-Replacement- Motorola/dp/B01N68AMCU/ref=pd_day0_hl_107_4/137-4629799-8996504?_encoding=UTF8&pd_rd_i=B01N68AMCU&pd_rd_r=c374b57a-7024-11e9-9381-ffdfe42e5ee6&pd_rd_w=4kbdo&pd_rd_wg=2s9U8&pf_rd_p=ad07871c-e646-4161-82c7-5ed0d4c85b07&pf_rd_r=YD1JH502ZK22JV0G2BST&psc=1&refRID=YD1JH502ZK22JV0G2BST).

This "Amazon Basics" one is pretty funny. "Note: product is certified according to a UL standard (not by UL)." Does this mean Amazon is liable when your house burns down?

[https://www.amazon.com/dp/B0773BHCVD/ref=psdc_2407761011_t1_...](https://www.amazon.com/dp/B0773BHCVD/ref=psdc_2407761011_t1_B071YMZ4LD)

The "safety info" for the above is worthless:

[https://images-na.ssl-images- amazon.com/images/I/91IWSM8gvRL...](https://images-na.ssl-images- amazon.com/images/I/91IWSM8gvRL.pdf)

FWIW, here are the actual NRTL makrings

[https://www.osha.gov/dts/otpca/nrtl/nrtllist.html](https://www.osha.gov/dts/otpca/nrtl/nrtllist.html)

<comment><USER29> IMHO brands like Belkin are past the sweet spot, heading into the territory where the brand itself is too long-term trusted, so they can start skimping on quality for what you're paying. Take apart a consumer APC power strip for a good WTF. (And sure, I get that stamped metal strips still meet UL. But UL is like the bare minimum)

I feel bad pumping specific brands, but I've become an Anker fan for chargers. I was a fan of Aukey, but that's since faded from having one physically break (obviously then taking it apart), and their lackluster USB C implementation that feels too close to rebadged Chineseum. Monoprice is still good for cables, but has unfortunately gone down the high-overhead free-shipping path.

<comment><USER28> Yeah, I bought an Anker one for work. I had to go to Microcenter, and start opening packages to find one that was UL listed.

</comment></comment></comment></comment></comment><comment><USER29> I've never gotten this overwhelming trust and reliance on Amazon. I'll check prices there, and buy if it makes sense. And I respect CCC for an item's price history, taking into account it's going to be generally a bit higher with a few deep discounts.

But I don't understand this idea that it's standard to just go to Amazon, type in the name of something, and click buy. That has _never_ been sensible! And the way it's talked about, I can't think it's solely out of laziness. Either people aren't comfortable visiting multiple web stores, can't fathom making a shopping list to hit shipping minimums, or the sunk cost of Prime is a hell of a drug?

And what really amazes me is that I always see these comparisons to eBay, that assume eBay is some place where you always receive counterfeit junk. In my experience, you know _exactly_ what type of seller you're dealing with on eBay - traditional merchant / professional refurbisher / private individual / China direct / etc. Because eBay puts this up and front, it's very plain to see. Most sellers _want_ to please, and for the ones that don't (mainly individual sellers who don't want to eat the shipping cost), you open a case and do a bit of rigmarole, but still eventually get your money back. (And if you're buying inexpensive sundries like toiletries where you don't want even the possibility of that hassle, just go to a B&M vendor's website directly)

Whereas it seems Amazon works to obscure the actual supplier. The article is about an "HP battery for about $15". That is not an "HP battery", but rather an unbranded third party battery made to fit in an HP laptop. For this type of product especially, you're lucky to find one that retains charge any longer than the return period. Co-mingling seems like practically begging unaccountable suppliers to slip the quality even further!

Buying this kind of thing you either seek out someone trying to make a new brand for replacements (who will have navigated the Chineseum), or for less popular stuff (I just replaced a Nexus 6 battery), you try to sniff out a decent seller who won't be selling the factory rejects.

It's all work, and if you aren't willing to do it yourself, you can pay for it by buying a replacement battery from the manufacturer from a legitimate distribution channel, eg no co-mingling! Obscuring that this work even exists seems to be Amazon's goal, and it's no wonder that as time goes on more sellers are exploiting this.

PS I'm actually in the market for 16850 cells sometime soon. Those seem counterfeit-worthy enough that I'll actually ask here if anyone has links to favorite trustworthy suppliers!

</comment><comment><USER30> Super. My whole family is using old thinkpads with third party batteries. The batteries all pass DRM, perform well, and cost something that seemed sane to me, like 35-50 USD.

Are there any warning signs for bad cells?

<comment><USER31> Warning signs include: Excessive heat, smoke, fire.

</comment></comment><comment><USER32> The cheapest option, in the end, is often the most expensive.

</comment><comment><AUTHOR> I put "Amazon" in the title, as it was in both the headline and URL of the linked article, and someone edited it out?

<comment><USER33> I agree it's strange. A lot of the article is about how Amazon can avoid liability, protect the actual seller from liability, and continue selling an unsafe product. I don't think the Amazon part itself is clickbait.

</comment></comment><comment><USER34> I ordered Redkin shampoo and got a knock off just last week. Bottle was the wrong color and my girlfriend could tell right away that it wasn't the genuine product.

At this point I'm not sure I'm going to be keeping my Amazon Prime. It no longer pays for itself when I can't be sure that what I'm ordering is going to be legit.

</comment><comment><USER35> "The lithium-ion battery in the laptop sitting next to him had ignited, setting his couch on fire. Battery cells were flying all over the living room, leaking acid."

Lithium-ion cells do not contain acid. The electrolyte is composed of salts, solvents, and additives.

<comment><USER36> You know that, I know that, probably most people reading this have enough chemistry to know that and understand. However the average person doesn't know that. I wouldn't expect the reporter to know that.

Calling the contents an acid which the average person knows is dangerous is arguably better than being precise but confusing people into not realizing the true danger.

<comment><USER37> I don't agree. I expect a reporter from a legitimate news organization (as opposed to some random blogger) to research it and find out. I'm sure 5 minutes of googling would have produced that knowledge.

The reporter could have substituted "chemicals" for "acid", which would have been less imprecise, but is still a scary enough word for average readers to interpret as dangerous.

Lowering expectations/standards for journalism is a slippery slope.

</comment></comment></comment><comment><USER38> They're 3rd party sellers. Putting the blame on Amazon is a bit like blaming the postal service for all the faulty products they send. Being the most popular service as a common denominator doesn't make it the root cause of a problem.

<comment><USER39> Given how difficult it is to distinguish an Amazon product from a "3rd party" product from Amazon, not sure what the difference is here. Postal services don't advertise and serve as brokers for transactions, masking the identity of the seller.

<comment><USER38> I rarely shop on Amazon. I just looked around and you are right it's not easy to see the seller information. But I wouldn't consider this the root cause of faulty products. I see it more as a global problem (can also happen on AliExpress for example). There have always been cheap white label products coming from China. They've just become more easily available than they used to be thanks to services like Amazon.

<comment><USER2> Problem is we are used to legitimate American-based retailers doing some vetting of cheap Chinese white label products for safety. We know it's probably not going to be the highest build quality, we know it might not last, but we expect it to be safe! When you buy a cheap Chinese-made UL rated charger from Walmart, you can be pretty sure it's actually UL rated. In Amazon's case its close to a free-for-all but has the outward appearance of a legitimate American-based retailer.</comment></comment></comment></comment>


The Hidden Workforce Expanding Tesla's Factory - <AUTHOR> http://extras.mercurynews.com/silicon-valley-imported-labor/ <comment><USER2> 5$ per hour is practically minimum wage here in Slovenia except that you also get compulsory health insurance and pension contribution on top of that. And it's not extremely hard to get a job.

I wonder why anyone would repeatedly fly to the US to work for that money. He was maybe getting or was promised something more.

Also funny how they call us an "impoverished country". In my eyes an average Joe has much better quality of life in Slovenia than in the US :). I would say the problems start if you want to me more than the average Joe.

<comment><USER3> They call you an impoverished country because Slavic language = Eastern Europe = poor hungry alcoholic Russians. Welcome to the US media :-P

</comment></comment><comment><USER4> It is a rather complex problem and it needs to be solved, but I do not see how it's Tesla's fault. . . First off Tesla chose Eisenmann for the expansion and in return they subcontracted another company which then brought in the the workers for the illegal work. Given those circumstances I believe Eisenmann knew what was going on if not they would have never made such a low bid, because they would have risked paying out of their pocket. Therefore, Eisenmann is responsible and Tesla should not be held accountable. . . Aside from that what would be a good way to counter this specific problem? The people applying for the visa obviously can lie so it would be pointless to start from the application process because anyone from any other country can lie; it would be harder to verify if they really are coming as supervisors. . .maybe the companies that are working on large projects should be audited by their local authorities to make sure they have qualified workers? What would be a good solution for this problem of H1-B workers being used for cheap labor which in term is stealing Americans jobs?

<comment><USER5> > _Therefore, Eisenmann is responsible and Tesla should not be held > accountable._

Why not? Otherwise, follow the logic: sub-contractor after sub-contractor until you reach the bottom and you've got some fly-by-night operation that you _can 't_ hold accountable.

Everyone involved shares the blame, including Tesla

<comment><USER6> Blame has to stop somewhere. By that logic, why stop at Tesla? Perhaps we should blame Tesla's individual investors? Or all the consumers who placed a deposit down for a Model 3? Or the City of Freemont? Or the Californian government? Or the US government?

</comment></comment></comment><comment><USER7> This isn't a Tesla thing, it's an automotive industry thing (as alluded to in the article). You often see this with foreign car companies, or more specifically, with foreign-based contractors.

Just a little background, first. The car manufacturers often times aren't the ones designing the machines that build their cars. They come up with general plans for the layout and process and then they hire various engineering companies who specialize in that particular manufacturing process. Obviously they work closely with those companies to ensure that the designs meet their requirements.

Those engineering firms will then design, build, and install the equipment. Some of that work is done by sub-contractors. If the engineering company is based outside of the US (in this case, German-based Eisenmann), they are likely to have local workers (nationally or continentally speaking) that they are used to hiring for their projects (because they're familiar with their work, already have contracts set up, have the language issues more or less worked out, etc.). When they get contracts for the US, they are going to want to use the same group of people instead of the more complicated and risky option of trying to build a local team. This is especially true for physical labor (e.g. installation, setup) because you need those people onsite.

So, often times when there's a big automotive construction project you have lots of foreigners happening to show up to the area with tourist visas. The engineering firm provides housing and vehicles so they don't have to worry about that. And they pay them in the country they're based out of.

The manufacturer probably knows it's going on, but they don't ask questions. And I don't think it should necessarily be their responsibility. Sure, if they were held liable they would pay more attention. But you could say the same thing about the contractor as well. From the article, "The company overseeing Tesla's expansion project — Eisenmann, a German-based manufacturer of industrial systems — also denied in court that it had legal responsibility for Lesnik." Unless someone (anyone in the chain, really) is fined or punished, no one is going bother worrying about it.

<comment><USER8> > This isn't a Tesla thing, it's an automotive industry thing

No, this is a complete failure of the government in upholding it's responsibility 'thing'.

This is entirely a result of greedy politicians taking corporate money to write laws enabling this, encouraging government agencies to look the other way, and they need to be held responsible.

</comment></comment><comment><USER9> This is why Americans cannot have nice things.

Why did jobs move overseas ? If I am a business owner it makes absolutely no sense for me to pay 10x wages just for the privilege of hiring american workers. And if Laws do not change to take into account this differential more and more businesses will leave america.

<comment><USER10> You've got that backwards.

There's all sorts of things that make absolutely no sense for business owners to do, so we have labor laws because business owners can't be trusted to not fuck everything up for society.

<comment><USER9> I do not think Slovenia has terrible labor laws - in fact they get more vacations days ( 33 ) then american workers !

I am tired of this meme "america has the best labor and environmental laws"

cost of things are higher in america due to inefficiencies - not because of better quality ( I know it might be hard for you to believe it ! )

</comment></comment></comment><comment><USER11> This is always a usual problem for tech companies. Truth be told they tell everyone "oh we are doing this", but in reality they are just sub-contracting it. I for a fact know that most popular games are sub-contracted.

<comment><USER12> That's true with "most" things. In American business culture, there is so much pressure on companies from investors that they have to take every short cut possible to make their numbers.

In addition, the pressure from other countries that are able to produce products at a lower cost because of different labor laws/market, it becomes impossible to "do the right thing".

</comment></comment><comment><USER13> Why did the title change? It originally matched the headlines title of "THE HIDDEN WORKFORCE EXPANDING TESLA'S FACTORY" and given that tesla is saying they didnt know about it, that seems more accurate

<comment><USER14> We took it out as linkbait a la "secret", but since you think it's legit we'll put it back.

</comment></comment><comment><USER15> Several years ago, Apple executives stepped up and took responsibility for monitoring and improving substandard labor practices in its Chinese manufacturing plants. Tesla could learn a few things from Apple about business ethics. Some of the Tesla shine has been tarnished by this story, and I hope they decide to conduct an impartial investigation and take action to make sure their subcontractors comply with US labor law.

</comment><comment><USER16> The most difficult to understand part of the whole Tesla story for me is that they can operate the NUMMI plant in California successfully. I guess the huge capital base which they got essentially for free, and the proximity to Palo Alto HQ, makes up for Bay Area expenses and California regulation.

Sure wouldn't be where I'd choose to put a factory otherwise. From what I've read the low-VOC paint requirements in California lead to the Tesla Model S having inferior paint to Ford/etc (but still better than Nissan Leaf); one minor issue but probably representative.

</comment><comment><USER17> Wow, I did not expect to see this. I imagined Tesla, a poster boy for American innovation, would do its best to stay away from shady labor practices. To their credit, they claim to know nothing about how their contractors employ people.

<comment><USER18> How is knowing nothing about how their contractors employ people to Tesla's credit? I'd be gratified to see Musk's attention to detail include focus on details like these.

</comment></comment><comment><USER19> A check for purpose of Visa and actual job would have avoided such situation. Countries with mature laws like US have these problems, its a shame.</comment>


Data diary - <AUTHOR> https://github.com/mmarkell/checkin <comment><AUTHOR> I have been trying to figure out how to track my quality of life and decided it would be cool to hack on a little app to do it for me. This is an EXTREMELY YOUNG idea so it's ugly, barely working, etc, but constructive feedback is welcome.</comment>


Using JSON Schema to Document, Test, and Debug APIs - <AUTHOR> https://blog.heroku.com/json-schema-document-debug-apis <comment><USER2> This is precisely the purpose of the OpenAPI Specification[0], an extended subset of the JSON Schema specification. Plus there a whole family of supporting tools, such as Swagger UI[1], and lots more[2].

[0] [https://swagger.io/docs/specification/about/](https://swagger.io/docs/specification/about/)

[1] [https://swagger.io/tools/swagger-ui/](https://swagger.io/tools/swagger- ui/)

[2] [https://openapi.tools/](https://openapi.tools/)

<comment> why-el We went with this exact approach in my previous job, using OpenAPI to do everything the blog post mentions, including code generation, diffs for API consumers (published to Slack, for instance), and more. I believe this has a very good shot at success, but it's not complete yet. For instance we had to do a lot of in house work to make code generation work.

<comment><USER3> Hi- I'm one of the main editors of the JSON Schema specification, and one thing we are doing with the next draft is making it easier to build extensions for things like code generation. We expect to work with the OpenAPI folks on this as it is very relevant to their interests :-)

Also, we and the OpenAPI Technical Steering Committee are actively working together to re-converge the specifications. OpenAPI 3 was developed while JSON Schema progress was stalled due to the prior editors leaving and a new group of us (eventually) picking it up.

OpenAPI 3.1 will most likely include a keyword to allow using standard JSON Schema as an alternative to their customized syntax, and hopefully we can achieve full integration on OpenAPI 4. There are also some other ideas being explored for improved compatibility in 3.x.

Standards work is hard, but the relationship between the OpenAPI TSC and the JSON Schema editors is quite healthy and we are making good progress.

</comment></comment></comment><comment><USER4> These days all my needs for "structured data" start with JSON Schema. I refuse to work with schemaless apps and databases anymore.

The workflow which I use for one app is:

* Define a JSON Schema for all the app's models

* Generate static Go types from these definitions

* Generate corresponding GraphQL types and inputs in the Go app for serving the API

* Generate TypeScript types in JavaScript front ends against the same schema

* Same model structs in Go are used to shuffle data in and out of data stores

Since GraphQL is more limited than JSON Schema (for example, very limited union ("oneof") support), there are some features I'm not able to fully make use of, but the common denominator covers most use cases.

I _love_ having end-to-end static typing, validation and consistency.

<comment><USER5> I tried to do exactly this (but using C# instead of Go on the back end). The tools basically fell apart when trying to do things that were well within JSON Schema's spec.

Can you link to the libraries you used??

</comment></comment><comment><USER6> I was building an app using JSON Schema last year (until Feb this year) and gave up. I had read JSON Schema specification like 10 times and there are some undefined behaviors. I had read a lot of JSON Schema issues on Github, there is basically one man show and the others come to review mostly.

After the point they added all logics to the spec, everything becomes a mess.

Example 1:

{ "oneOf": [ {"type": "number"}, {"type": "number"} ] }

1 or 2 or 3 is an invalid input based on above schema. It doesn't make sense to me at first glance. (hint: it's XOR)

\</comment><comment>---

Example 2:

{ "oneOf": [ {"minimum": 0, "maximum": 10}, {"minimum": 5, "maximum": 20} ] }

These ranges will pass: [0,4] and [11,20] But you would be surprise it doesn't reject string, bool, null. Basically it doesn't reject anything except [5,10] range.

\</comment><comment>---

Example 3:

{ "type": ["object", "array", "null"], "not": {} }

Easy but confusing. This rejects every thing because comma means AND, and `"not": {}` means false.

\</comment><comment>---

Example 4:

{ "allOf": [ { "type": "object", "properties": { "a": {"type": "string"}, "b": {"type": "integer"} } }], "additionalProperties": false }

A well-known problem. This rejects (all - {})

This is because the "allOf" is object AND outside it is an empty object. "properties" at level 0 is empty if not specified. So this schema only accept {}; an object AND is empty.

They add a new keyword called "unevaluatedProperties" to solve this and I won't explain it to you!

\-----

If you just use basic stuff like draft-04, you will be fine.

But I will NEVER touch this spec again!

\-----

EDIT: My app was sort of static analysis on schema, and this spec doesn't suppose to help doing thing like that.

<comment><USER7> It seems like there's two slight misunderstandings:

> "oneOf": [ {"type": "number"}, {"type": "number"} ]

> { "oneOf": [ {"minimum": 0, "maximum": 10}, {"minimum": 5, "maximum": 20} ] > }

"oneOf" requires exactly one match (hence the name), typically you want to use "anyOf" or "allOf". And there's no benefit in putting two identical values inside them.

> { "type": ["object", "array", "null"], "not": {} }

> { "allOf": [ { "type": "object", "properties": { "a": {"type": "string"}, > "b": {"type": "integer"} } }], "additionalProperties": false }

JSON Schema is merely a list of assertions. Some test the type of the value (that's the "type" keyword), others test the value ranges within a single type. This way, you can allow values to be one of multiple types, e.g.: {type:["string","object"], minLength:1} means "Value must be a string or object; and if it's a string, it must have at least one character."

Some of the assertions are spread across multiple keywords, "additionalProperties" depends on "properties", for example. So, {additionalProperties:false} means: if value is an object, then only an empty object is permitted.

Some implementations can tell you if you're trying to do nonsensical things (like test the maximum length of a value that's only allowed to be a boolean), but that's up to the implementation to test for.

<comment><USER6> Yes, it's my mistake using JSON Schema for something it does not suppose to. Analyzing schema from user input is very difficult if "type" keyword is not required (I actually had read the GH's issue about it). IMHO, JSON is already verbose, no need to make it concise, requiring "type" make it a lot simpler. I'd also prefer not to allow multiple type on "type" keyword.

The fact that the spec is too flexible that allow users to write all nonsensical things, and so sensible things that might have hole on assertions.

I understand all your explanation and thanks for creating a new account to do this, appreciated!

</comment></comment></comment><comment><USER8> And now the circle is complete, with the difference that XML Schema allows for proper comments.

<comment><USER9> I never saw XML schema as a bad idea, just overdesigned and verbose, same as all things XML.

<comment><USER8> I happen to think otherwise regarding XML, and rather enjoy using all high level tooling for XML processing.

</comment></comment></comment><comment><USER10> Im a fan of running these tests live in production. A type check is cheap so it doesnt affect performence that much. You should not force correctness on others, meaning their code will fail because of your strictness. But you can force correctness on yourself so that your code never causes someone else's to fail. So make the schema validation or typecheck on outgoing responses, not only in testing, but also in production.

<comment><USER11> Checking responses in production is also a good idea because it reveals all the edges that may not be exercised in an artificial test suite.

There is still _some_ performance cost for checking a response against a schema though, so a nice compromise is just to check a small % of outgoing responses — the vast majority of requests stay as fast as possible, but given a reasonable traffic load, it's still enough to eventually reveal any places the schema doesn't match reality. (This is an approach we use at Stripe for checking our OpenAPI specification.)

<comment><USER12> Side note @brandur, I always look forward to your blog posts, time for a new one!

<comment><USER11> Hah, thanks! :) I'll got a few queued up that I hope to get finished up pretty soon.

</comment></comment></comment></comment><comment><USER5> Open API Spec (formerly known as Swagger) is purpose-built on top of (or slightly forked from) JSON Schema and has much wider support among API-related tools and libraries.

I tried using JSON Schema for some internal (non-HTTP) APIs and found bugs/inconsistencies in tooling that made me abandon it.

</comment><comment><USER13> I'm really torn whether to adopt JSON schema validation for a Saas that I run.

pro: It validates API JSON responses based on an open spec.

cons: It's absolutely terrible to work with. XML all over again. Documentation is terrible. Finding examples is, well you get it...

<comment><USER3> Note that "Understanding JSON Schema" has been updated for draft-07 and is now under the aegis of the main JSON Schema project: [https://json- schema.org/understanding-json-schema/](https://json-schema.org/understanding- json-schema/)

</comment></comment><comment><USER14> Coming from protobuf land, this tool seems gross. It's XML schema all over again.

Why are we trying to shoehorn a schema design language into a format that isn't good for human authoring? It's annoying to write JSON, yet the language masquerades as being human-readable.

Frontend engineers should check out protobuf. It's an amazing data definition language that generates bindings in every language under the sun and has a compact binary serialization that is much more efficient than JSON both to encode/decode and transmit over the wire.

JSON should die the same death XML did. It's so bad.

<comment><USER15> Being able to see JSON responses in browser dev tools is extremely helpful for development and debugging. Is there something similar for protobuf?

<comment><USER16> I concur, JSON is easy enough to read/write for humans, easier to parse than XML, too, it kind of hits the sweet spot in between protobuf and XML.

</comment></comment></comment><comment><USER17> Why not just use something with a natively supported schema at this point like protobuf/grpc or graphql?

</comment><comment><USER18> The article describes some very good engineering practices. Nevertheless I'd suggest the json Schema itself is not the root of the documentation but a higher level integrated system like API Blueprints MSON. You still can produce Schema from it but it also can tie into a much better API design lifecycle.

<comment><USER3> Yes, JSON Schema describes documents/resources, not entire APIs on its own.

Even Hyper-Schema (to the extent that it's implemented at all yet) is a resource-by-resource system, not an API-scope system.

</comment></comment><comment><USER19> This is a very powerful approach because there are json schema libraries available in all major languages. TypeScript is a better source for truth because it can represent things json schema can't. It is possible to generate a json schema from a TypeScript definition (see [https://github.com/YousefED/typescript-json- schema](https://github.com/YousefED/typescript-json-schema)), which means TypeScript can be the single source of truth for API definitions, be used directly in the frontend and, in json schema form, used to test directly against API responses.

</comment><comment><USER20> This seems really verbose? Very XML-y.

What's wrong with simple [https://github.com/omniti- labs/jsend](https://github.com/omniti-labs/jsend)

``` { status : "success", data : { "post" : { "id" : 1, "title" : "A blog post", "body" : "Some useful content" } } } ```

<comment><USER7> How is that simple? What does "status" mean? I'm personally familiar with the word "status"—but whatever that property is, I'd have to re-implement it in my user agent, which seems like a waste because my user agent already understands HTTP status codes. How is it simple to have to look at and interpret two different "status" fields? (And that's just the first property!)

What part of the article is verbose? What's wrong with verbose?

</comment></comment><comment><USER21> For JavaScript, I highly recommend the ajv and tv4 npm packages.

</comment><comment><USER22> Not directly related but I like writing a json schema for my json configs. In a pinch I can get an interface for editing and validating it very cheaply with [https://github.com/json-editor/json-editor](https://github.com/json- editor/json-editor)

It's not perfect but a great time saver for me and users.

</comment><comment><USER23> Well written and informative. Thanks for posting/writing this!</comment>


Analyzing San Francisco Crime Data to Determine When Arrests Frequently Occur - <AUTHOR> http://minimaxir.com/2015/12/sf-arrests/ <comment><USER2> This is a great piece, partly because the author is willing to reach a conclusion they can't explain.

It seems like this might also be one of the best ways to learn R. This is a real-world scenario, and various libraries are brought to bear on the problem. It feels accessible to beginners like myself, and it poses a question that I'm sort of tempted to try chasing...

Anyone have any theories about why Wednesday 4-5pm appears to be the most common time for arrests?

A comment says "It's because that's the day and time when there are the most patrol officers out on the street." Is there a data source that might prove/disprove this?

<comment><USER3> Author here:

Comments on Reddit ([https://www.reddit.com/r/sanfrancisco/comments/3vfgg2/analyz...](https://www.reddit.com/r/sanfrancisco/comments/3vfgg2/analyzing_san_francisco_crime_data_to_determine/)) imply that Social Security is given out on Wednesdays. I might do another pass to see if that's a factor.</comment></comment>


amdcheck-loader for webpack released. Uses AST to optimizes AMD modules - <AUTHOR> https://github.com/mehdishojaei/amdcheck-loader <comment><AUTHOR> It depends on amdextract (core of grunt-amdcheck and gulp-amdcheck).</comment>


Status of legislation on self-driving vehicles across the 50 states - <AUTHOR> http://www.ncsl.org/research/transportation/autonomous-vehicles-legislation.aspx <comment><AUTHOR> I'll add that there are actually more states than I expected that's actually legislating on it or starting to.</comment>


Justin Trudeau blames privileged upbringing for wearing blackface - <AUTHOR> https://www.foxnews.com/world/justin-trudeau-blackface-video-third-racist-image <comment><USER2> Affluenza strikes again.

[https://en.wikipedia.org/wiki/Ethan_Couch](https://en.wikipedia.org/wiki/Ethan_Couch) \- "G. Dick Miller, a psychologist hired as an expert by the defense, testified in court that the teen was a product of "affluenza" and was unable to link his actions with consequences because of his parents teaching him that wealth buys privilege."

</comment><comment><USER3> Well, I guess "privileged upbringing" plays better than "broken home". A privileged upbringing can bring name recognition and its advantages, but I didn't know that it led to this.

<comment><USER4> I'm guessing part of that "privilege" was being insulated from the presence of minorities and their opinions.

</comment></comment><comment><AUTHOR> Damning video. He painted himself black from head to toe. How many times? He doesn't know.</comment>


Two ways to hire (and a wrong way) - <AUTHOR> http://sethgodin.typepad.com/seths_blog/2009/08/two-ways-to-hire-and-a-wrong-way.html <comment><USER2> The article could as well be called "three wrong ways to hire".

I don't understand why academia has long known the right way to hire, but the software industry keeps missing it. The right way is to let the candidates give a 30-60 minute talk about their previous projects, and then fry them with questions that came up in the talk.

Imagine a famous university wants to hire a top-quality math professor. How about asking him tricky high-school math questions for an hour, to see if he makes a mistake? Or how about cutting it down to 5 minutes, since that's enough to assess the "chemistry"? Or, what about choosing only from a pool of contractors that worked with the university before, rather than letting the best ones to apply? Sound stupid? Well, yes, it is stupid.

<comment><USER3> This still has the weakness of asserting the candidates rhetoric skills, as much as her technical skills. That said, almost any interviewing situation would.

</comment></comment><comment><USER4> Of course, if you have concrete questions to ask the candidate that gauge their problem solving ability, motivation and attitude 5 minutes is not enough. If you are only looking for a likable candidate for a technical position, you are doing it wrong to start with. But then if you're a marketing type, like Seth Godin, you probably can't tell good and bad developers apart without working with them. So maybe somebody else should be making these technical hiring decisions.

<comment><USER5> Once I was interviewing someone with a Ph.D in some vaguely IT-related field. She seemed kind of flaky but I assumed it was because she was a lot smarter than I was. I pressed on, and an hour later discovered that she didn't know what a typical size for a C pointer was. She was actually quite indignant when this occurred, saying in so many words that this was beneath her. Anyway I'm glad she was not hired, and didn't end up managing me. Our team worked on a project where data structures and storage were paramount concerns.

The moral of the story is, it takes a lot more than 5 minutes to figure out whether someone is hirable, and often a lot less than a month.

<comment><USER6> > She seemed kind of flaky but I assumed it was because she was a lot smarter > than I was. I pressed on, and an hour later I discovered that she didn't > know what a typical size for a C pointer was.

That doesn't mean she's actually flaky or not smart. There's tons of info that smart programmers won't know off the top of their heads, either because they haven't worked in a given domain before, or haven't worked in it for a while.

She may well not have been qualified depending on what level of domain familiarity was expected from the get-go, but this implies nothing about her intelligence or capacity for domain competence.

<comment><USER5> Your making the claim that the above implies _nothing_ about her capacity for domain competence is a bit much. I thought it was a near-perfect diagnostic of her incompetence, and I'd be curious if anyone can sketch the profile of a very competent programmer, alive today, that doesn't have an inkling of the above fact. I don't think you can.

<comment><USER6> The problem is that you're conflating incompetence with a lack of capacity for competence. In other words, the mere fact of not knowing something implies that one can never know it. If that were true, nobody would know anything.

What I'm saying is, you may well be correct in your assessment that she was incompetent for the job, but that assessment doesn't qualify you to make the further implication that's she's not smart, or inherently incapable of competence.

I've noticed you added the bit about her being indignant and suggesting that such knowledge was beneath her. That does suggest she would be resistant to acquiring domain competence, which certainly doesn't bode well even if your company was open to letting the hiree acquire it on the job. On the other hand, I can understand her getting pissed off about someone using such a question as a litmus test.

</comment></comment></comment></comment></comment><comment><USER7> I think Joel and Google are right on this one. Letting a bad one through is much worse than missing a good one. Having half a dozen interviews, rather than three, may seem tedious, but is probably worth it. Also, companies already do five-minute interviews. It's called a phone screen.

</comment><comment><USER8> Or you can do 4 one-hour interviews, but have each interviewer assess something different; personality fit, ability to code, domain knowledge, and... well, maybe you only need 3 interviews, if those are the three axes.

4 people asking the same kinds of questions is silly. But it's hard to override the "this candidate can't write bubble sort" veto.

</comment><comment><USER9> We don't even hire our marketing people this way. They still get technical interviews, just toned down a bit. LRC circuits are all but a given for the marketing interviews I do. I don't want to work with someone who has absolutely no idea how the things he's selling works.

As for technical positions, well, we all know this is absolute bullshit. In particular, regarding Seth's question whether a junior guy can veto an interviewee: yes! If the senior guys happen to ask things that the candidate does well on, but the junior guy exposes a serious hole, we don't hire. In fact, our argument is precisely the inverse of the one Seth makes here: if we didn't think it was important to listen to everone's opinion, they wouldn't be on the interview schedule.

In my mind, nothing is likely to replace 6-8 hours of difficult technical interviews, not because this is a perfect strategy, but because there seemingly isn't a better one. I'd love to be proved wrong, though.</comment>


Trello/Asana-Killer: Stop Killing TIME, Because TIME Will Kill You - <AUTHOR> Hello,
I have developed a simple tool for myself to manage all my time and all my projects ( while working, studying or anything else ). I have used it for more than 2 years and it helped me to boost my productivity, focus and motivation.
It basically tracks our TIME ( WASTED TIME and PRODUCTIVE TIME ) and how we spend it on your life/business/school/... projects
This is the MVP:
DASHBOARD: https://i.imgur.com/CKbFbLt.png
PROJECT PAGE: https://i.imgur.com/CqvRwcb.png
STATISTICS: https://i.imgur.com/loW2tZS.png
STATISTICS 2: https://i.imgur.com/DybdMrc.png
STATISTICS 3: https://i.imgur.com/0OCiW80.png
SETTINGS: https://i.imgur.com/WhCL6rO.png
VIDEO 1: https://youtu.be/Re7K__-GWDs
VIDEO 2: https://youtu.be/pwUqNbNLCFw
VIDEO 3: https://youtu.be/BlBiHjqj2N4
HOW IT WORKS:
* WASTED TIME: When you open the tool, then it will start to track the wasted time until you click START on a project page. You will be much more motivated to not procastinate by seeing your Wasted Time. * PRODUCTIVE TIME: As it say, it tracks the productive time * TODO: the to do list * DONE: the list of task completed * GOALS: the list of your goals for that project * Key Performance Indicators ( KPI ): In simple terms, KPIs provide a way to measure how well projects, companies, business units or individuals are performing in relation to their strategic goals and objectives. https://www.google.com/search?q=what+are+kpi * NOTE: Any note about the project. * LINK: Any useful link useful for that project
Just select a project and press START to start the timer or the pomodoro timer
if you are interested write "interested" below or send me a private message or promote this post. If at least 1000 people are interested, I will release if for FREE!
https://youtu.be/UX2tefQHNmk Thanks for your TIME :D <comment><USER2> You get a little more exposure if you add "Show HN" to the title. That's the category where users showcase what they've built and ask for feedback [https://news.ycombinator.com/show](https://news.ycombinator.com/show)

</comment><comment><USER3> sounds like a type of pomodoro?</comment>