Google Checkout Nightmare and the $126,000 phone call - <AUTHOR> I have been using Google Checkout as an option for making payments on my website. For the past two months I have jumped through every hoop they have asked me to, provide tracking numbers, banking details, vendor contacts, emailed back and forth with their customer support all with the understanding that my account was in process and my funds would be released soon. Well my account has grown to $126,000 and Google still won't pay out any of my funds!
I came to the end of my string after the 20ith something email when I got the message below. They have over $126,000 of my money and they won't even pick up phone to call me!
Hello P----,
Thank you for your reply. I understand you've shipped over 700 orders to your buyers. However, you've not sent us tracking numbers for those orders. Please send us proof of delivery (tracking numbers) so our specialists can initiate your payouts.
To clarify, we have contacted some of your buyer(s) and expect email confirmations once the goods are received.
In addition, at this time, we don't offer phone support for Google Checkout. We look forward to providing additional support options in the future. If you have specific questions, please reply to this email and we'll be happy to address them.
If you need immediate assistance, you can also visit the Merchant Help Center at https://checkout.google.com/support/sell or the Merchants Forum at http://www.google.com/support/forum/p/checkout-merchants?hl=en for frequently asked questions about Google Checkout.
Sincerely,
A<comment> The Google Checkout Team </comment><comment><USER2> I see from prbuckley's profile that this is probably related to the DODOcase, a fashion accessory for tech folks which has six week delivery time. Ahh, pieces are falling into place: 700 orders shipped out of a few thousand, some customers complained (love that tech induced ADHD), Google froze the money.

While it isn't immediately helpful to you, a little bit of craftiness here will kill two birds with one stone. First, _don't let orders queue_. Customers, particularly ADHD tech types, are _very_ sensitive to shipping delays. Instead, if you don't have the inventory and you're at your (low) maximum queue size, turn off orders on the website.

The key, though, is how you do that. I'd highlight the scarcity/exclusivity angle and _play it to the hilt_. Come on, you're selling I-can't-believe-its- not-moleskin handmade in San Fransisco straight to Mac owners. This is a luxury status item. Tell folks that if they didn't buy in time, they're simply not worthy of your magical goodness. Then three weeks later, you produce some more, and open orders again. You will be stampeded, and have to close again within a day. Folks who didn't hear about it in time, well, not everybody can be cool enough to own this. (Every time you open up orders, expect a burst of Twitter/links/etc, as folks try to get in and then lament that they missed it again or primp to their friends that their faith has been rewarded.)

(I'd suggest making the batches distinguishable in some way -- any way, heck, you could just say "Our artists whispered the words 'Made in the second batch' over these" and that would have the desired effect on your target customer. Also, charge more.)

<comment><USER3> > Customers, particularly ADHD tech types, are very sensitive to shipping > delays.

Just to expand on this: very /very/ sensitive. However providing them an accurate date upfront is a great way to combat this, even if it is a week away. Adjust it accordingly and don't break your first promise to a new customer.

The moment the clock ticks over the 7th day (and I mean, they will wait /exactly/ 1 minute past 7 days for this). They will open up every support channel and complain loudly and demand a lot from you. It's just not worth the hassle!

<comment><USER4> Unfortunately these same ADHD types can't seem to read the webpage they're ordering from. It's said "shipping in 4-6 weeks" forever.

<comment><USER5> OK but...4-6 weeks is a very long time. Customers are used to Amazon-style shipping. If you aren't going to ship in < a week, you should auth and not capture or have a mailing/waiting list. (We don't capture till the moment they get a tracking number.) Taking customer money to finance the current manufacture is a fools' game - all it ends with is pissed customers

Note that Authorize/paypal (and google?) have a limit on how long you can wait to refund (~90 days), and LIKEWISE, paypal (and google?) have a limit on how long you can wait before filing a claim (45 days iirc). Guess when you should ship packages after capturing? -Well- before 45 days.

AND WHILE IM AT IT...While customer literacy is always a bit questionable, if you're finding a lot of confusion about your shipping policies - you should probably change them! YES even if you think you are right. For example, we used to (like everyone else) say that USPS packages were not insured. Guess what? They'll chargeback anyways. So now all packages are insured at a very reasonable rate. We get no complaints about the extra $ - but we DID get complaints when packages were lost.

<comment><USER4> A small group of people are making an item by hand. If 4-6 weeks is too long for you, you shouldn't order the item. Sorry, not everything is sitting in a storehouse waiting for your order.

That's your decision as a customer, just like it's the sellers decision as a merchant. Complaining to google checkout because the terms of the deal that were explicitly stated are going according to plan is asinine. I don't care who has ADHD, grow the fuck up.

<comment><USER6> If it's the customer's responsibility to pay attention to the 4-6 week ship date, it's probably worthwhile for the seller to actually read the Google Checkout order management policies <http://checkout.google.com/seller/policies.html> which require you to capture funds within 7 days of authorization, and ship within 24 hours of capturing.

His "4-6 weeks to ship" appears to be in direct violation of the Google Checkout policy; you can't do fulfillment on that sort of timeframe if you want to bill with Google Checkout.

<comment><USER4> I'm surprised to learn Google is so anti-etsy. I guess he should get his money and then switch payment services.

<comment><USER7> Yep, Google Checkout is definitely the wrong choice for this business model. It is extremely unfriendly if you are not shipping within a week of an order being placed.

</comment></comment></comment></comment></comment></comment></comment></comment><comment><USER8> I love Google as much as the next guy, but how could a legitimate business that handles money not have a phone number to call to speak to a human to resolve this? It's absolutely ridiculous that they can threaten your livelihood and not have a human to talk to.

As bad as Paypal is, at least they offer live phone support. With the products I sell, Google Checkout and Paypal aren't options, so even with all the red tape you must go through to get a merchants account, I'd still rather do that than use Google Checkout/Paypal.

<comment><USER9> I would suggest it's not so much the availability of the phone call which is the problem, but the policy which requires that all of this information be submitted after some arbitrary dollar limit after all of these sales.

I am not sure waiting on hold, voice mail hell, and talking to a support person is really a superior customer experience. I generally prefer email support, if it is fast and you get a case that can be tracked. This is not to say that it's not bad customer support, because it is bad customer support, but I don't think having Google add a massive bank of phone support people somewhere is going to help.

<comment><USER8> Oh, you're totally right, but you know Google could implement a competent phone support system.

And I love correspondence by email as well, but it appears Google even goes to great lengths to avoid that (this case exempting).

</comment></comment></comment><comment><USER10> Billing prior to shipping is rapidly becoming an unacceptable practice. If you are billing prior to shipping and then taking 6 weeks to fill the order then you need to take a serious look at how you are doing business.

If your orders always take a lengthy amount of time to fill I would suggest immediately sending a "your item is on back order and you will not be billed until it ships" email with a link to an order cancellation page. This should drastically cut down on the complaints and ease the mind of those consumers who think you have billed them and are scamming them into waiting until the billing complaint period has expired.

<comment><USER11> Well, small craftspeople will need to bill before shipping so they can buy material. Sure, for generic crap that is massed produced in some factory, no billing before shipping. Wanting small run cool stuff and not wanting to be pre-billed are mutually exclusive.

<comment><USER12> > Wanting small run cool stuff and not wanting to be pre-billed are mutually > exclusive.

Why should customers have to provide financing? If it's so small run it can be financed post-hoc by a few customer orders, then it's small enough that it can be financed by a few friends, too.

<comment><USER13> When something is being custom-made for you, it's entirely normal to pay at least part of the total up front. I could just as well ask you, why should friends have to provide financing, as you seem to suggest should be the norm?

</comment></comment></comment></comment><comment><USER14> Looks like your only course of action is to send them the tracking numbers (again?). For $126,000 it's worth taking the time to do it. You may find all the money in your bank account tomorrow.

<comment><USER15> Or litigate.

</comment></comment><comment><USER16> frankly I'm shocked that Google still does such shitty customer support.

Sure Gmail, Search etc, I can understand that you can't supply customer service for a free service used by millions(many of whom will call you for the most trivial stuff).

But when you are dealing with people's money....surely you can afford $8-10 bucks an hour to give people proper customer support. It's not like google is some tiny startup which can be excused due to size, they are bigger than most corporations.

If you hold 6 figures of someone else's money, you better have a way for that person to talk to you.

<comment><USER17> you do /not/ want to deal with an $8-$10/hr phone support person. Phone support is an extremely stressful job with a high burn out rate. For that money, you are going to get someone who is completely unable to get a job elsewhere, and they will probably be new.

</comment></comment><comment><USER18> When I was leaving from Paypal for an issue like yours (they still have 300$ of my money) I investigated on Google Checkout and read a lot of horror stories like yours.

I wish you to solve this and after that I suggest you to switch to Fastspring. They have really excellent customer support, that becomes very valuable when a lot of money are involved.

<comment> ryan-allen What were the circumstances of your PayPal problems? The company I work for take a very large volume of payments for 'digital goods' through PayPal, and we haven't had any serious trouble (except for fraud through what we think phished PayPal accounts).

So, I'd recommend PayPal, given their services have been helping pay my salary for a number of years.

<comment><USER18> I changed my internet provider because I relocated. For some reason my IP appeared to be from another country (I had a mobile internet key). When I logged into my Paypal account, the system thought I was someone else and blocked my account to prevent stealing.

No problem with that for me, it's a security measure I can understand. I had to unlock the account and here is where the pain began.

Logging into my account to provide my information (ID, proof of residence, etc) I was always brought to a page asking me to verify the IBAN of my bank account. After entering it, an error was displayed, giving me a useless error code (something like error 1005) and with a short explanation "there was an internal problem, please try later". But trying later never worked, the error was always there, preventing me to unlock my account.

I started writing the support. They answered that I had to fill in my information to unlock my account. I told them that I could not do it because there was an internal error. They kept answering that I had to fill in my information to unlock it. This went on for a couple of weeks. What really pissed me off was that every time they answered (the support guy was always different), they always told me the same things, like they were not reading my emails at all.

I tried to call the support phone number for my country. There was an automatic voice with some steps to follow, including getting some authentication code for my account from the website. After all that, the automatic voice reminded me that my account was locked, as if I did not know that already. I never managed to speak with someone in person. That was the last drop, since loosing those 300$ would not have ruined my life, I switched to Fastspring never to come back. I've been really happy with them.

After I while I realized that I could have tried to call the US phone number. But I already switched, so I didn't care.

<comment> ryan-allen Ah that sounds unfortunate. I certainly have given up for similar sums in the past (not on payment gateways, but on things like tickets to cancelled gigs and junk).

The honest truth is that we stick with PayPal because we're an Australian company who, as a business decision, take US dollars for our products. Setting up a merchant account in Australia that can take US dollars seems to be unheard of and practically impossible.

Though I'm sure you've heard of the Internet Filter and more recently the full recording of internet history at ISP levels for all customers. Australia has some catching up to do in general in regards to the internet and internet business.

</comment></comment></comment></comment><comment><USER19> Get a letter sent from an established Mountain View-based law firm, i.e. one that would be known to Google's legal department. It'll cost you some bucks but it beats going out of business.

</comment><comment><USER20> Wonder why Google needs to contact your buyers for confirmation? I thought they are the middle man should be transparent in the purchase process.

<comment><USER21> Rather wondering why google is allowed to do that ... As you said, they're just the payment processor, you shouldn't be obligated to show them proof that the goods you were paid for were actually delivered

<comment><USER22> Well, the hard part about paypal and probably google checkout isn't processing payments, it's managing fraud - see Max Levchin's interview in the (very good, imho) "Founders at Work" book.

So I'm not surprised google has to do potentally damaging things to somehow make it all work.

The strange part to me is that they don't require and automate this buyer contact info & tracking number gathering from the start.

</comment></comment></comment><comment><USER23> For the record, it states in their Seller Policy ( <https://checkout.google.com/seller/policies.html> ) that you have to capture within 7 days and ship within 24 hours of capture.

I learned this the hard way when I presold books through Google Checkout. I mistakenly read the UK ToS which, unlike the US ToS, allowed preorders. Once we'd amassed more than $40k, they contacted us via email to let us know we had run afoul of their policy.

I pleaded with them to give me time to fulfill the orders, and to their credit, they did. They kept 100% of the funds until I sent them notification that I had shipped every package.

Nowadays, even though I only use them to process a couple thousand dollars per month, they are perpetually sitting on $1,000 of my funds as a protection against chargebacks/fraud. I was told that if I wanted that money, I had to close my account and wait 3 months for the funds to "clear". I've asked for the cap to be lowered, but they never bothered to respond.

</comment><comment><USER24> Not sure if you saw the post on hacker news entitled: "Need to process payments?" -- <http://ycombinator.posterous.com/need-to-process-payments>, but you might wanna contact them once you get everything else sorted out. Good luck!

</comment><comment><AUTHOR> What would you do if you were me?

<comment><USER2> Make this a PR issue for Google. It is the most effective way to get effective, timely customer support from them.

A blog post with judicious images of their boilerplate emails, incredulity about how they seem to repeat the same thing over and over, a timeline, a punchy title (I kind of like "Grand Theft Google" but you could dial down the tabloidism several notches and still be effective), and seeding with a tech audience will work pretty well.

<comment><USER25> Agreed. You need to prove that you have responded and are beyond reproach. Otherwise, it didn't happen. That's a lot of money, so ... what the hell are you doing posting your complaint here?!?

<comment><USER26> This is a pretty good testbed for making it a Google PR problem; several Google employees are HN members; and the crowd here is Google Checkout's prime demographic. I'd say he's doing a lot of good posting his complaint here, both for himself and for future Google Checkout victims.

</comment></comment></comment></comment><comment><USER27> At your volume of sales, you really need to setup a merchant account for your business to process payments. Using middlemen like Google Checkout and Paypal and you are going to fall into problems.

I can help you get setup with your own MID with a liberal acquiring bank, send me an email ofcmanagement at gmail if you're interested.

</comment><comment><USER28> $126,000 in two months...good work!

<comment><USER29> Given that he's shipping physical goods, it's difficult to imagine that it's all profit. He could well be counting on those funds to finance his supply chain, which could leave his business dead in the water if he can't get access to the money he's earned.

<comment><AUTHOR> You are dead on. This is really hurting my business cash flow. I am shipping product that I am not getting compensated for. Google is making me the monkey in the middle.

<comment><USER30> To be fair it does look like you're breaching Google Checkout's terms:

<https://checkout.google.com/seller/policies.html>

'You may not capture funds more than 24 hours before you fulfill the order. Fulfill means you have shipped the physical product, delivered the digital content, or performed the service.'

</comment></comment></comment></comment><comment><USER31> This reminds me of some paypal horror stories... not good. The approach patio11 suggests is the best one i guess.

<comment><AUTHOR> We had problems with PayPal as well but at least they called us on the phone and after some hair pulling we were able to come to a reasonable resolution. Google Checkout just stone walls you.

<comment><USER32> Man, when people are comparing your customer service unfavorably to _PayPal_ , you're _really_ in trouble.

<comment><USER2> Paypal is to customer service as Microsoft is to security: they appear to have gotten religion after their feet were held to the fire, for all the good that that does them in the tech community's eyes.

For what its worth, I've sold something like $50,000 on Paypal and the handful of issues I've had were resolved with quiet professionalism and reasonable timeliness, in much the same manner that I'd expect from e.g. a bank.

<comment><USER33> Paypal might be OK from a seller's perspective, but it's pretty abysmal from a customer's perspective.

A couple months ago I was in a financial pinch and one of my bank accounts was overdrawn, while another one had funds in it. I printed a shipping label using Paypal, making sure to use the correct account. When I printed a second shipping label, I assumed it would use the most-recently-used account (the last 4 digits differed by only one number), but it instead defaulted to the overdrawn account.

Only a few minutes later, I noticed this and immediately called Paypal. They said that it was too late to cancel or assign a new source for the payment, even though I told them the payment would be rejected by my bank. I deposited from my other bank account to my Paypal account enough money to cover the charge, and they still couldn't cancel the debit to my overdrawn account. A few days later, I received an email message:

 _Your bank has declined the funds transfer because your account did not have sufficient funds available. We will automatically re-attempt this transfer in 3 business days. Please fund your bank account immediately to ensure this transaction can be completed._

What?! I already had enough money in my Paypal account to cover the charge, but they instead chose to _recharge_ the same account in 3 days? I called them again as soon as I received this email, but they said they could not change this transaction, that it was their policy and that the process could not be altered. Three days later, lo and behold, it was declined again, and they finally took the money from my Paypal account. Meanwhile, my bank charged me $70 for the two declined charges, all for an under-$4 shipping label.

I will be avoiding Paypal in the future. That kind of inflexibility, poor service, and bad policy combines for an awful customer experience.

</comment></comment></comment></comment></comment><comment><USER32> So you say you've sent them tracking numbers, and they say you haven't? Are they lying, mistaken, or what?

<comment><AUTHOR> I think it is a misinformed customer support person.

</comment></comment><comment><USER34> Google checkout sounds worse than Paypal. I have both and right now have my own nightmare with them Customer claimed empty box sent for heavy item said wanted exchange, sent back replacement now claims wrong size. I used to call Paypal automotons but at least they people that you can talk to, it's so obvious what is going on. They say resolved then say customer not happy. Con artist is not happy. I am sure all the conartists know that it's a sure way to rip off people. !2 years in business no problems online with empty box, google checkout 6 months and first of a few problems with con artists, this by far the worst.

I am sure in your case , the ones that are con artists that have the request of receipt will say they did not receive. I guess what you should do is update all the tracking in the google checkout system to avoid any problems. Gee and I thought they were great at ebay live 2007 in Boston but they seem to be slipping down on the job. Ebay is now the payment king, bonanzle the best site for selling and google should stay with search. Creativity in business solutions is not their forte, neither are phones i guess. Losing steam and unhappy customers virally transmitted info people spreads fast..Paypal has lawsuits due to their way, I think there is no due process on google checkout either. They had better be careful and they definitely need a customer service line. I don't know how they think that they can operate without one!.

</comment><comment><USER7> Google Checkout is terrible for pre-orders and things that do not ship within 5-7 days of authorization of card. I would definitely recommend NOT using Google Checkout for this type of business model, some research might have saved you the frustration.

I believe there might also be an issue with the legality of charging actually charging for the purchase prior to shipment. Most merchants will typically authorize the card, and then issue the capture transaction once a tracking number is availability.

This then will lead you to to the next issue that will be especially painful to deal with using Google Checkout: bad authorizations.

We have had scenarios where we authorized a card on a Tuesday, found out the item was backordered for a week and thus did not ship the item and attemp to issue the capture transaction until 8 days later.

With Google Checkout, a re-auth is needed after 7 days. Unfortunately you do not find out the re-auth failed until AFTER you have shipped the items (and then attempted to capture funds on the order). You are then out of luck on capturing any funds if you cannot contact the customer and get another form of payment.

Happy to discuss this further if you would like some advice.

</comment><comment><USER35> Not related directly to the issue; but I have seen another issue that I wouldn't imagine being there in any payment processor. The ability to see all subscriptions in one place. The only way to stop google apps from charging my checkout account is to disable auto renew in the dashboard (won't help if I helped a friend buy a domain because he didn't have a credit card) or to remove the payment methods associated.

</comment><comment><USER36> Aren't there any legal means to fight this battle? Consumer laws and other ways of enforcement. Perhaps __grellas __has a low-down on this?

The whole Aaron Greenspan mess ([http://www.huffingtonpost.com/aaron- greenspan/why-i-sued-goo...](http://www.huffingtonpost.com/aaron- greenspan/why-i-sued-google-and-won_b_172403.html)) does not put me at ease.

</comment><comment><USER20> One more thing, you might want to check if there is any "beta" label on Google Checkout sites.

</comment><comment><USER37> I recognize this e-mail drafting scheme well. I also had very mixed experiences with Google Checkout. I finally found a workaround, but will try to avoid them in the future. Their 'support' is atrocious.

</comment><comment><USER38> Try suing them in a small claims court - it's worked at least once before:

 _In the end, printed on a baby blue sheet of paper by the clerk's aging dot matrix printer, the judgment was actually entered for $761.00 total, due to the $40.00 court costs. I couldn't help but to smile in front of the judge.

"But it's not fair!" Google's paralegal protested. "What if everyone whose account was canceled sued Google?"_

[http://www.huffingtonpost.com/aaron-greenspan/why-i-sued- goo...](http://www.huffingtonpost.com/aaron-greenspan/why-i-sued-google-and- won_b_172403.html)

(IANAL, etc)

<comment><USER39> Worked temporarily. Google appealed that case and won: [http://www.huffingtonpost.com/aaron-greenspan/why-google- bot...](http://www.huffingtonpost.com/aaron-greenspan/why-google-bothered-to- ap_b_213176.html)

</comment></comment><comment><USER40> Why not take one or two of the oldest payments Google is withholding and file a small claims lawsuit against Google as a test? If the courts allow the case to proceed and you win, then just batch up your claims and over time you can get all your money.

You will just have to be careful not to exceed the small claims lawsuit money award limits. Name Larry, Sergey, and Eric as the defendants if you really want to get Google's attention. Also, after you hit Google once or twice with a suit, they will probably get you all of your money quickly.

</comment><comment><USER41> sorry I didn't read ALL the posts (so sorry for redundant information) but we have dealt with some of these woes before. Although PayPal does have some crazy requirements for PCI compliance and so fourth using PayPal would solve two of your problems;

1 - requiring tracking numbers for the release of funds 2- Being able to reach someone by phone. We have a direct number for a real human at PayPal, he is always the same human and knows who we are.

PayPal will require some reserves for charge-backs (depending on your volume & historical charge back rates)

We run millions of dollars with PayPal and aside from reserves it has been a pretty great experience. To answer an earlier question of why not a traditional merchant account, no one has been able to beat the MPF to date.

We have also ran pre-orders for items that did not ship for 2-3 months, clearly stated the ship date and had a extraordinary amount of complaints to our support staff, BBB, and even charge backs before the ship date. People do not read. When ordering my DODOcase even being one of the ADHD apple fanboys in question I clearly understood when I could expect the item to arrive (still not at the finish line yet). I feel your pain though, nothing is worse then doing everything right and having a successful product only to have all your funds tied up with the bank, good luck.... Can i have my DODOcase now?

</comment><comment><USER42> Is google the worst company with support system? this is not the only product that google has no phone or live person that you can speak to.

Even their Google apps for businesses only has a support form <http://www.google.com/apps/intl/en/business/support.html> that is really bad.

</comment><comment><USER43> Yeah, no phone support is a fail. Use amazon or paypal. Mind you, I've heard similar stories from both of those.

</comment><comment><USER44> With that volume of money, why not use a credit card merchant account? I use one, and I've always found the CC company to be easy to get on the phone and eager to help me with any issues.

</comment><comment><USER45> Does anyone know "moneybookers" horror stories? I think this service is unencumbered with overprotective US consumer rights.

<comment><USER46> Moneybookers has $950 of my money (not a lot, I know, but it is to me) and is holding it hostage. I'm thoroughly displeased with them, in comparison to some others I know who have had no problems with them, even when dealing in much larger amounts of money than I am.

</comment></comment><comment><USER47> Google may always be a textbox and button company. If you read their message board for adwords you'll find seriously disgruntled people who've SPENT hundreds of thousands of dollars on advertising and still can't get anyone on the phone. That's SPENT...as in less than one year, spend 100K+...no phone support.

You can't even BUY support from Google. Basically, go ahead and use their free stuff, but don't do business with Google if you can help it.

Obviously, their advertising scales so well, it's hard not to...

<comment><USER48> On the other hand, my AdSense account was blocked for reasons only known to them without much recourse beyond asking (once and only once) "are you sure?" to what they replied "positive".

In the end it was good. I spread my banners across more partners and net a good deal more through them than I ever got through Google.

Still, I wish I had that cleared up. It's certainly annoying to be banned from a market for unknown reasons.

</comment></comment><comment><USER49> So you made $126,000 and your still using Google Checkout. I call bull shit! Most people get a merchant account from their bank and then they don't get screwed.

If this is true then I think you should probably send out a nice letter to your customers and tell them that your refunding their money because Google is causing you grief, link to a blog post explaining the situation in details, and ask them to pay again via your new merchant provider. I think that if people saw the refund on their statement, then they'd pay again. Then you'd get something.

I think the lesson here is that you should never rely on a service / company who won't put any effort into customer support. I thought this was common sense?

<comment><USER50> He didn't actually get the money _to_ refund them.

</comment></comment><comment><USER51> One word, lawsuit.

<comment><USER51> Yes, let's not consider suing somebody who owes us over a $100k. Anybody have reasonable alternatives other than downvotes?

</comment></comment><comment><USER52> so, sorry, sir, but we cannot find any proof the packages were delivered using Google Maps Street View. Therefore, they could not have been delivered.

we do offer information to help you through your situation. just search on the terms "bankrupt screwed over"

</comment><comment><USER53> As frustrating as this is for the author, we only have one side of the story, this is not hacker news, it's simple bitching. Perhaps it has a place on reddit, but not here. And the headline is deceptive.</comment>


The Little Javascripter - <AUTHOR> http://www.crockford.com/javascript/little.html

<comment><USER2> PLT Scheme is so easy to download and get started with. I really recommend you use that instead of JavaScript when working through The Little Schemer. <http://www.plt-scheme.org/>

I'm working out a problem right now for JavaScript (client-side dictionary/grammar thingy) and it's easier for me to explore the problem in Scheme.

I don't really know why anyone would voluntarily choose to use JavaScript when Scheme is available.

edit: I'm not hating on this idea. JavaScript DOES have first-class functions and lexical scoping, so you can indeed do The Little Schemer in it. I'm pointing out PLT Scheme for anyone who hasn't already done The Little Schemer and has had their interest piqued.

<comment><USER3> There are some people who prefer JavaScript to scheme. More importantly, many more people have been exposed to JavaScript than have been exposed to scheme.

<comment><USER4> Those who know anything about JavaScript know that JavaScript WAS Scheme (plus Self). And then Brendan Eich was forced to adopt C style syntax because of the impending popularity of Java.

<comment><USER5> Yeah, but JavaScript IS not, by any stretch of the imagination anything like scheme today, aside from first class functions. It really pains me when people say JavaScript is scheme + self. That just isn't true.

</comment></comment></comment></comment><comment><USER6> Now I know where the term Y Combinator came from. Am I the only ignorant one here who had never heard of "The Applicative Order Y Combinator"?

JavaScript:

function Y(le) { return (function (f) { return f(f); } (function (f) { return le(function (x) { return f(f)(x); }); })); }

Trippy recursive function, but I don't think I quite understand what you would use it for. ;)

<comment><USER5> The lambda calculus doesn't really have assignment, so you can't call a function recursively in the way we're used to in modern programming languages. However, Y allows us to give a recursive function a temporary name which we can then use to apply it recursively. It's trippy, for sure, but pretty much theoretical use only for most people.

</comment></comment><comment><USER7> Heh that takes me back to my "Programming Languages" class, taught by Friedman, and using _The Little LISPer_ as a textbook.</comment>


Lessons from the Past: The Rapid Clearance of Denmark's Minefields in 1945 - <AUTHOR> https://commons.lib.jmu.edu/cgi/viewcontent.cgi?article=2817&context=cisr-journal <comment><USER2> (PDF)</comment>


Stanford study finds walking improves creativity - <AUTHOR> http://news.stanford.edu/news/2014/april/walking-vs-sitting-042414.html? <comment><USER2> Link to the actual study:

[https://www.apa.org/pubs/journals/releases/xlm-a0036577.pdf](https://www.apa.org/pubs/journals/releases/xlm-a0036577.pdf)

Substantial HN discussion:

[https://news.ycombinator.com/item?id=7669818](https://news.ycombinator.com/item?id=7669818)

Also submitted:

[https://news.ycombinator.com/item?id=7666068](https://news.ycombinator.com/item?id=7666068)

[https://news.ycombinator.com/item?id=7669082](https://news.ycombinator.com/item?id=7669082)</comment>


The Students Who Discovered Dieselgate - <AUTHOR> http://www.spiegel.de/international/business/the-three-students-who-discovered-dieselgate-a-1173686.html <comment><USER2> I had a different reaction to this article than the other commenters so far. I think it did a very respectful job of describing the incredible effort these guys put in. I had no idea it wasn't just some guys in a lab turning on a switch.

I also come from a different perspective on this article because I actually grew up in Morgantown, WV, where my dad was a professor. Looking at WVU as the middle of nowhere, along with some of the other mentioned comments, is pretty reasonable. And the article seemed to have no bias about the quality of work done be these students and their lab in general. If the right people read these articles it would probably give these guys' career a big boost.

<comment> gm-conspiracy I live in WV and work for a startup in Morgantown, and I disagree with you, and agree with the other comments.

 _In the U.S., West Virginia is associated mainly with forests, the heroin epidemic in its cities and its backwoods population, who refer to themselves as hillbillies. West Virginia is definitely not associated with environmental protection. "Rolling coal" is a popular hobby in these parts - it involves removing the particulate filters from a diesel pickup truck, driving to the nearest city, waiting until a Prius or a cyclist goes by, gunning the engine and roaring off, leaving a cloud of foul-smelling exhaust in its wake. That's what passes for humor in West Virginia._

Plenty offensive.

<comment><USER3> As an outsider, those are exactly the things I associate with WV (I'm from Texas). Additionally, there are plenty of similar things I associate with Texas. While I dislike those qualities, that doesn't make them less true or offensive. I suppose, those observations made about where I live could be seen as the first definition of offensive, "causing someone to feel deeply hurt, upset, or angry". However, that doesn't automatically qualify them as fitting the second definition of offensive, "actively aggressive; attacking".

<comment> gm-conspiracy Associating, agreeing, and promoting things that are simply not true, are offensive. I am sure there are worse terms to describe your stereotypes.

I have yet to meet anyone refer to themselves as a "hillbilly" in WV.

Most people outside of WV I have met associate it with coal, or white-water rafting, not forests.

"Rolling coal" \- I have never heard of that term, nor have I seen this behavior. Nor would I agree that this "passes for humor".

Heroin is a problem, yes. However, that is not limited to WV.

<comment><USER4> I wonder what prompts the differences in my experiences versus yours. I live in a rural area near WV, and not only have I heard the term "rolling coal" from multiple sources, I've seen it done a number of times (not necessarily in cities). In fact, I tend to close my car's vents as a matter of course when I see a truck that looks outfitted for it, as it can be a bit noxious no matter what, and even when they aren't trying for the black cloud the exhaust is worse than usual.

A few links referencing rolling coal and its origins: [https://www.vice.com/en_us/article/jmb4d8/nothing-wrong- with...](https://www.vice.com/en_us/article/jmb4d8/nothing-wrong-with-rolling- coal-711) [http://www.slate.com/articles/news_and_politics/politics/201...](http://www.slate.com/articles/news_and_politics/politics/2014/07/rolling_coal_conservatives_who_show_their_annoyance_with_liberals_obama.html) [https://en.wikipedia.org/wiki/Rolling_coal](https://en.wikipedia.org/wiki/Rolling_coal)

I've met self-identified rednecks many times, but only one self-identified hillbilly (lives in VA). I think the former term has more memetic potency at the moment; hillbilly seems more outmoded (probably why they used it), and even seems to conjure a more hippie aesthetic, somehow.

I'd agree on coal or white-water rafting as stereotypes over forests. WV does have some nice parks and forests, though.

<comment> gm-conspiracy So, I had read through the wikipedia references listed in the footnotes (prior to your comment), and came across the Vice article, which if you read (not you, specifically), says it is a minority of diesel vehicle owners (all over the US).

Reviewing the other linked articles from Wikipedia (the majority of which were from 2007), I could not find one referencing WV, but multiple other states.

Not to get into a Virginia versus West Virginia debate (Virginia != West Virginia), are the "rolling coal" experiences of yours because you are driving a Prius or bicycle?

I agree about the "redneck" term, but that is associated with any area, and often embraced, "hillbilly" is considered derogatory to many folks I know.

</comment></comment></comment></comment></comment></comment><comment><USER5> The tone of this article seems to particularly demean the students in the beginning; I understand it's supposed to bring them to light but holy shit:

>They all ended up in West Virginia, not exactly the America you dream of when you come from Chennai or Bangalore. Probably not even when you come from Biel.

>Since then, their careers haven't really advanced in any significant way

>he looks less like an emissions specialist and more like a South Asian IT expert

<comment><USER6> > They all ended up in West Virginia, not exactly the America you dream of > when you come from Chennai or Bangalore. Probably not even when you come > from Biel.

I find these type of statements pretty racist. I mean what does it have to do with the reporting? I'm not sure it adds to the dramatic narrative/buildup. Having said that, I suppose for most people who move to the US, there is a certain picture in mind of New York and LA among other things, so there's that. But it sounds racist in the back of my head, not to mention the IT part.

<comment><USER7> There is nothing strictly racist in those statements, nothing strictly racist as in "humans of ancestry X are inherently inferior to humans of ancestry Y". But as the reaction here clearly shows, the writing touches some trigger patterns: the article seems to say things that in America, only a racist would say. But these triggers are completely cultural and since this is a text from Germany you should be very careful to make assumption based on cultural "don'ts" from a different background. There is nothing in the article that would qualify as racist according to german standards. Many statements that scream "racist" to an American would seem perfectly all right even to a German who hands teddy-bears to refugee children by day and hunts nazi hooligans by night.

As a German, it is one of the most interesting things that I have ever learned from reading hacker news: according to American standards, _all of Germany_ would be considered racist, even Baader/Meinhoff-worshipping leftists. The same insight helps me immensely in accepting that all those things in America that trigger German "this is terribly, terribly nationalist!" sensibilities probably do not actually mean that the USA are gearing up to annex some neighboring countries by force. Because that is what we think of when we see flags over factory floors, hear the "USA! USA!" chant or someone raising from their seat upon hearing their national anthem and maybe even -gasp!- put their right hand higher than the waist line. Here in Germany, only a racist would do that (because nationalism and racism are inseparable in countries that do not share America's long tradition of immigration).

In short: our cultures are full of shortcut heuristics for the kind of dangerous group-chauvinism we want to avoid. It's usually not a problem to have them (I'm not here to rally against "PC crap"), but they absolutely don't translate across borders.

<comment><USER6> I certainly concede the cutural context, and wouldn't care much if the article we're written in German and I were reading a translation, but I assume this article is written for consumption by an English population, which means barring regional difference in English there shouldn't be much ambiguity in interpretation for that population.

Your anology doesn't quite line up. What you point out are specific actions of people. You are now easily empowered to go ask that person why they stood up to the national anthem or ask someone else. The line quoted here is an impression of a German author of what an other culture percieves. This just doesn't sound like good reporting. Is the author projecting third world impressions or projecting what _anyone_ reaching America would feel about non costal cities? The tone of the rest of the article suggests the latter, but what really stood out was the added impression of someone from Switzerland. Growing up in a culture with with tons of colonial baggage, I don't see why I shouldn't feel offended.

<comment><USER8> The article was originally published in German in their print magazine about a week before the linked translation. [http://www.spiegel.de/spiegel/dieselskandal-drei-us- studente...](http://www.spiegel.de/spiegel/dieselskandal-drei-us-studenten- kamen-dem-vw-betrug-auf-die-spur-a-1172839.html) (paywalled)

</comment></comment></comment></comment></comment><comment><USER9> >25 billion euros

Pretty much to buy anyone, any 25, any 250. It is interesting if Volkswagen was ready to pay for the silence, or was it just unnoticed low-level decision that allowed misbehaving vechicles to the market?

</comment><comment><USER10> The book 'Faster, Higher, Farther: The Inside Story of the Volkswagen Scandal' is a good account into the cheating that went on at Volkswagen.

</comment><comment><USER11> This article is written badly. Especially the ending with regards to how real world testing and lab testing revealed the dupe there is hardly any revealing connection.

<comment><USER12> Could you elaborate? The author says it was a software defeat based on detecting simulation conditions. The students rigged up a portable tester which did not trigger these conditions. An official saw a presentation on the paper results and got involved in investigations, which demonstrated that the results were accurate. Where's the missing connection?

<comment> gm-conspiracy The last paragraph is not a conclusion.

It reads like there is additional content missing at the end.

It is nice for WVU and those students to receive recognition via the article, but the article leaves much to be desired.

<comment><USER12> Ah, yes I agree the writing style is a bit awkward especially at the end. I think the story itself is pretty compelling. The style does (somewhat awkwardly) parallel the story itself: these guys weren't looking to get VW into trouble, they were fascinated by what they thought was a technical solution to a hard problem.</comment></comment></comment></comment>


Google Pixel Launch [LIVE] - <AUTHOR> https://www.youtube.com/watch?v=__DrcWO92VI?hn <comment><USER2> Actual stream from Google: [https://www.youtube.com/watch?v=q4y0KOeXViI](https://www.youtube.com/watch?v=q4y0KOeXViI)

</comment><comment><USER3> compare this launch to a SpaceX launch, or an Apple event.

it looks like a required university course at 8am. the background is not of the greatest resolution. the presenters are deadpan. the crowd is, less than enthusiastic.

last thought, google just went all in on the business model of "eroding personal privacy" to "capture value to increase shareholder value". the presenters are continuously driving home the point that the "google assistant is at the center of it all". there is zero pretension of your data remaining your data. HN is constantly having spirited conversations around Snowden and related revelations, but then seems to give a pass or benignly ignoring google's steady erosion of user privacy.

<comment><USER4> I love that you used a throwaway for this. I think it's perfectly reasonable to have this reaction, but it's also perfectly reasonable to allow the kind of data sharing Google (and others) require in order to provide "intelligent" assistance. I don't think it's reasonable to bring out the pitchforks every time a company requires user data in order to provide an arbitrary service that would be otherwise impossible.

<comment><USER3> fair enough assumption :) but i actually plan on using this one going forward. i lost the password for my normal handle, which is "JustUhThought". finally decided it was time to get an account for which i had the password. thought a "throw away" handle was nifty, because others might assume i was being more "honest" due to to the cloak of a throw-away, and so more likely to take my comment at face value.

i agree that it is perfectly reasonable as a product. however, this is there _entire_ business model. it is why they provide free storage for photos. it is why they want to get hardware into user's hands. it is why they do not provide end-to-end encryption for their communication apps. to me that is a distinction with a difference. it is a philosophy, not a product. and as i see our society marching into the future with a technological infrastructure at it's core built on the philosophy that it is ok to erode personal privacy for the benefit of the private corporation, i worry.

i think we should all get out an protest. but _not_ with pitchforks. i'm a strong believer in public discourse, public disobedience, peaceful protect, constructive criticism, and constructively building alternatives.

<comment><USER4> I get you, but I philosophically disagree and personally place significant value on the benefits I, as a consumer, receive from "intelligent" services. I also completely understand your POV re: erosion of privacy, and that's a-ok, too. Speaking as a googler, though, I think you attribute far too much to malice when what from their POV are stepwise improvements to consumer services.

But yes, unless things change at the macro level, we're pretty quickly moving into a future ruled by corporations: health, energy, technology, etc, and that is scary.

<comment><USER3> I don't attribute malice actually. Sorry if I came across like that. I believe this whole shift is occurring because of systemic structures and incentives rather than individuals motivations. A rational employee is going to do the best they can at their job within the framework of their company, the economy, and the regulatory environment. The same can be said of those in the C-suites. And the same can be said of the investors. I don't believe there is any conspiracy or individual malice. I believe it is a very boring, rational outcome of the overall operating environment we've created.

In that context, I believe that it's important to prioritize "citizen" issues over "consumer" issue, and security over convenience. Google has done some awe inspiring work, much of which I believe Google could have accomplished without requiring a user to agree to a single ToS governing all Google products, without demanding access to _all_ user data. Statistical methods have come a long way, and much smaller data sets coupled with more explicit interaction with its stakeholders/customers (out in the open, explicit conversations vs deep dives into data without notifying the sources of the data) can still enable almost everything Google is doing. The stuff that would not be enabled within that framework could still be accomplished by Google explicitly paying folks to provide data sets (paying people to read scrips or have conversations explicitly recorded for instance) for the express purpose of building up data sets to work against for deep learning related to NLP for Google's "assistant". Lord knows Google has the cash to afford such an approach. But, since Google's current corporate structure requires it to highly prioritize profits, it just takes the data from _private_ conversations.

The argument then is, well, that's what happens when you utilize a free or subsidized service. Yes, that is what you get. But it is _not_ the only way we could be going on about this business. We just have our priorities all mixed up, because of the systemic incentives.

</comment></comment></comment></comment></comment><comment><AUTHOR> I'm hoping some updates on the VR work they're doing

<comment><USER5> Those updates happening now.

</comment></comment><comment><USER3> pushing "smart devices, dumb users" into the future</comment>


Ask HN: Convertible debt terms? - <AUTHOR>

I've got a small non-tech company that's raising a small amount of money (<$100K) for immediate expansion into a new market.  One of the potential investors has expressed interest in doing it as convertible debt.   I understand the concepts of convertible pretty well, but don't have a sense of where the market is.  Assuming a medium-risk existing business, what are typical terms as far as interest paid and degree of discount should it be converted?<p>Also, I've seen mention that YCombinator would eventually be releasing some standardized term sheets for convertible.  Are these available somewhere?  Are there others that could be used as a template in the meantime?   Right now my goal isn't to come up with the best possible terms, only to figure out where the center of 'fair' is to evaluate whether this is something we should consider. <comment><USER2> Brad Feld says the typical discount is 20% - 40%. I think a lot of investors ask for caps as well, which is essentially pricing the round (so don't let them pick one that you would regret).

[http://www.feld.com/wp/archives/2006/02/whats-the-best- struc...](http://www.feld.com/wp/archives/2006/02/whats-the-best-structure- for-a-pre-vc-investment.html)

PG said YC would release their convertible debt agreement, but I don't think they've gotten around to it yet.

<http://news.ycombinator.com/item?id=1655585>

</comment><comment><USER3> Mark Suster has several articles and videos on the subject. This might be a good starting point.

[http://www.bothsidesofthetable.com/2010/08/30/is- convertible...](http://www.bothsidesofthetable.com/2010/08/30/is-convertible- debt-preferable-to-equity/)</comment>


Jason Calacanis on TopTal's treatment of early employee [video] - <AUTHOR> https://www.youtube.com/watch?v=YR_S3glaKhs <comment><AUTHOR> Jason Calcanis has never been one to shy away from conflict, but it's hard to disagree with him here. Apparently, the employees and cofounders thought they were getting equity but likely never will.

More from his blog: [https://calacanis.com/2019/09/09/the-pegasus-startup- flying-...](https://calacanis.com/2019/09/09/the-pegasus-startup-flying-over- vcs-on-the-wings-of-profits/)

> _The founder, Taso Du Val, also allegedly screwed his employees and co- > founder out of their equity by never converting his LLC into a C corp and > creating stock._

> _This is a huge violation of the explicit covenant of startups: "we all lose > a decade of our lives trying, or we get fabulously rich together."_

<comment><USER2> >> This is a huge violation of the explicit covenant of startups: "we all lose a decade of our lives trying, or we get fabulously rich together."

There is no such covenant and it's great that the Toptal CEO is there to remind everyone. If you work for a startup and are not getting real shares (options and other complex instruments don't count) then you will be screwed. The Toptal case is not special; it's the norm in most places.

The Toptal CEO may have screwed over a handful of his employees, but in doing so, he sent a clear message which may save a million other engineers from a similar fate.

If the employees are really upset about this, they can work together to bring down his company from underneath him. If they're too weak to do this, then they deserve nothing.

</comment></comment><comment><USER3> Looks like Taso went on a podcast to talk about it [https://mixergy.com/interviews/toptal-with-taso-du- val/](https://mixergy.com/interviews/toptal-with-taso-du-val/)

<comment><AUTHOR> Thanks for sharing this!

I remember hearing Andrew read ads for TopTal on Mixergy for years, but I had no idea he had the founder on to talk about the issue.</comment></comment>


I changed my app's pricing from recurring to once off and I'm relieved - <AUTHOR> https://www.thoughttrain.cc/introducing-new-features-and-new-pricing/ <comment><AUTHOR> Pricing is hard.

I thought I'd bring this to Hacker News because I know that many users on this platform build apps or market apps for a living.

My journey in the world of apps came after a career selling WordPress themes. I was tentative to launch my app, but when I finally did, the response blew my mind, the reason? The pricing. It was a pay what you want app!

So many users enjoyed the app, so I thought I'd release a new version, and this time I'd add cloud syncing, better features, a new interface, and... a recurring pricing model.

I was happy with this decision, so in May I launched the app to my 15,000 strong email database and to Product Hunt. It went relatively well, but as the months went on the over-arching feedback was... users are growing tired of the subscription model.

Dang!

I knew I had to make a switch, but changing your pricing is difficult, I was already working on some cool new features. So I thought I'd just take the dive, and update my pricing at the same time.

I settled on a once-off $19.

Well, a few days into it and I'm pretty happy with the result. I sucked it up and mailed my users, many of them happy with the change, and some have even converted.

The moral of the story is: it's never too soon to change pricing and go in a new direction.

I my post another update here on the long-tail affect, but for now, pretty keen to chat about pricing in general.</comment>


A simple static HTML+JS guitar sight-reading trainer - <AUTHOR> https://dpapavas.github.io/fretboard-trainer/ <comment><USER2> The note doesn't appear, just an empty box with a thick black border :( Impossible to use!</comment>


First Data Buys Spree Commerce to Move into Open Source Payments Technology - <AUTHOR> http://techcrunch.com/2015/09/18/first-data-buys-spree-commerce-to-move-into-open-source-payments-technology/ <comment><AUTHOR> sad to see Wombat shutdown.</comment>


Greg KH: Linux stable kernel release procedure changes - <AUTHOR> https://lkml.org/lkml/2010/12/2/388

<comment><AUTHOR> It's probably a good idea to concentrate maintenance efforts on fewer kernel trees. There should probably be some kind of synchronization going on, i.e. declaring a new "stable" kernel when there are enough major Linux distros currently basing on it.

</comment><comment><USER2> This is a good idea. I have been on 2.6.32 forever in Debian _un_ stable, and it's starting to get old. Yes, I could compile my own newer kernel, but then udev breaks, and then I've wasted 5 hours :)

</comment><comment><USER3> This is very good. Sometimes it was some kind of guessing game to choose a kernel release to use in our environment.</comment>


Ask HN: Working with a monolithic codebase - <AUTHOR> Junior dev, about 6 months out of college at a smallish (~20 engineers) software company.  Monolithic java codebase that all runs on a single cluster of app servers.  I've been feeling frustrated lately and wanted some advice.
The most common comment in my code reviews: "You're reinventing the wheel - we already wrote something similar. Take a look at [X], extend it a bit to fit this use case, and toss what you have." Since X is always undocumented this involves sleuthing + picking senior dev's brains.  The process slowly repeats until my feature eventually converges onto a configuration of existing components, with as little new code as possible.
That's great for the business but not much fun for me.  It means that to do a task that could be completed from scratch in X hours, I must spend X^(size of our codebase) hours grappling with other people's ideas, solutions, and mistakes.  It means my thoughts must be bent to fit some pre-existing shape, which eliminates the need for my thoughts, and suggests they should be permanently replaced with those of my predecessors.
Is this actually the sign of a good codebase?  Should I be deriving pleasure from this?  Is this what software development is? <comment><USER2> If your co-workers are telling you that you are reinventing the wheel then you are likely not taking the time to understand the framework that has been developed over time.

You are a junior dev. They hired you to invest in you and grow you. They pay you in dollars, not pleasure. Your day 1 contributions are likely meaningless in the grand scheme. What they want to see is that you can read and understand existing code and that you are a team player. Any code monkey can go in and write functions for validation or logging, but if I am paying you to understand HOW you should do it, taking advantage of the (hundreds of) thousands of dollars of my investment, then I would be pretty frustrated with you if you rolled your own. I would be further frustrated if you disregarded my attempts to point you in the right direction.

You are more likely going to have a positive impact by suggesting changes within the framework they are providing you than creating your own. Learn and understand what the code does and WHY it exists and then you will be able to see what can be improved. Coming in and saying that everything is wrong and persisting in doing your own thing, at your employers expense, will probably leave you without a job.

To satisfy your need to learn and be creative, work on a side project of your choosing. You shouldn't expect your day job to give you 100% of your career development. A large part of it is on you and whether you are passionate enough to invest in your own development on your own time.

</comment><comment> a-priori One of the important lessons you need to learn is that code is a liability not an asset! All else being equal, from a balance sheet perspective having more code puts the company in a worse situation.

Your job as a software developer is, roughly, to deliver maximum business value with minimum cost, and that includes writing minimum code to accomplish the task. That is what the senior developers are talking about when they're saying you've written too much code.

It does sound to me like they've got a well designed system if you can add new features simply by making a small modification and some configuration to the existing code. As long as it's also well tested and well documented (that may be lacking...), you've got the ideal codebase: one in which you can add large amounts of business value with only incremental changes.

You mention that this is "great for the business but not much fun for me". I think this is a sign of inexperience. Part of what makes something fun is how difficult it is. If something is too easy it's boring; if something is too hard it's frustrating. In the middle we find things fun. The reason writing lots of greenfield code is fun for you is because it's easy. Understanding and modifying existing code is harder, and that's currently too hard so you find it frustrating. You need to push past this stage to improve as a developer. As you get better, it will become easier to work in existing code and will stop being so frustrating.

<comment><USER3> > One of the important lessons you need to learn is that code is a liability > not an asset

I cannot upvote this enough.

<comment><USER4> This is simply not true. If code was an liability, it would be profitable to transwer owenership of it to other people. I haven't noticed any software company doing that.

<comment> a-priori In software, there's a whole industry around this: we call it SaaS and/or cloud services. And in fact, it's basically what it means to be a 'services' company. Your customers are paying you to move that liability I mentioned onto your balance sheet instead of theirs.

</comment></comment></comment></comment><comment><USER5> My suggestion is:

1\. Let go of your frustration for now, a company is an incredibly complex machine and you need to invest more than 6 months learning how it works before people take your criticism seriously (I know this can be hard). Also, some people like to 'grill' the newbie as a right of passage, you may be experiencing this.

2\. Acknowledge that code-reuse is awesome. It's great that there's reusable functionality, part of your job is memorizing the handy tools at a company and if they're good enough, rebuilding those tools later at your next job.

3\. It sounds like you're frustrated that you don't find out about existing libraries/functions/classes/tools until your code review. That seems like a reasonable concern. Maybe next time you have a project come up with a rough plan and ask a senior developer for architecture-level feedback before you start coding.

4\. Don't feel bad. You don't need to be a hero or change the world. If you mimic the senior engineers and try to fit in that'll go further than studying engineering theory, writing perfect code, or documenting the codebase. Once you're accepted into the group they'll be much more receptive to your ideas on how fix things.

<comment><USER6> > _It sounds like you 're frustrated that you don't find out about existing > libraries/functions/classes/tools until your code review. That seems like a > reasonable concern. Maybe next time you have a project come up with a rough > plan and ask a senior developer for architecture-level feedback before you > start coding._

I couldn't agree with this point more. When I first started, my team lead gave me a rough plan to add new features so that I wouldn't go in blind. Until I could stand without the support of others, I drafted a quick plan of action to get the task accomplish. This let my team lead know how I was planning on accomplishing the task while allowing them to point out existing code that would take care something I would have written.

It seems like unnecessary overhead, but the 5 minute conversation up front saves more time down the road.

</comment></comment><comment><USER7> You just need to chat about the solution before you start coding - which is the normal way to do it.

You: I have the task of X and I'm thinking of doing Y to do it

Other dev: Oh, we have W for that, it might help

You: Cool, I'll check W out

</comment><comment><USER8> Are you talking to senior devs _before_ writing code? "Hey, I'm going to implement such-and-such feature, I think this involves building such-and-such classes/services/etc., is that a reasonable way to go about it?"

Even with the best documentation, there aren't very many functional projects (either companies or open-source projects) where the expected way of contributing is not to talk to anyone until you open a PR.

<comment><USER9> I like this. I've been developing for a while and still spitball ideas with my coworkers to see if it already hasn't been done before. Or if my ideas are just plain crazy.

</comment></comment><comment><USER10> 6 months is not very long, so it's not surprising that you don't know what's already available in your company's codebase. That's true whether it's monolithic or not, in Java or another language, on a single server or a fleet of raspberry pis flying around on drones. In fact, assigning you tasks that involve tweaking existing components is _exactly_ what most companies will do in order to get you familiar with the codebase (and style, process, etc) while they they get familiar with you.

* Don't worry if you have to replace parts of your code. That's just part of the process, especially if the existing code is undocumented and everyone knows that. The code reviews are working.

* However, if at all possible, get feedback early in order to skip straight to implementing the feature with existing code. You'll finish features faster, get familiar with the codebase sooner, and hopefully move on to more interesting tasks sooner.

* Document existing code as you discover and use it. This is technical debt that your company needs fixed, and you're in a great position to help with that.

In school you get to write a lot of our own code from scratch with our own ideas, and it's fun. Some developers pump out code by the minute, even implementing the same thing over and over again in their own code; it's fun, and there often aren't repercussions for that in school. But code re-use _is_ good practice. I love days when I produce net negative lines of code in an existing codebase, while adding a feature.

Not every company offers the opportunity to implement your own ideas from "scratch". In fact that's somewhat rare. If this is the only coding you enjoy, you may need a new company, but you may just need to wait a bit longer at your current company. A good advisor/boss will be able to have a conversation with you about expectations (going both ways) for the first and second year. You'll want to find out if your company can eventually provide the kind of projects you want, especially as you get a better idea of what those are.

</comment><comment><USER11> The problem isn't that you have to use/extend existing code, the problem is that it isn't documented. I'm guessing there is a lack of knowledge sharing between the developers.

Like others have said; instead of writing the functionality from scratch, try to understand the existing code and document it.

> The process slowly repeats until my feature eventually converges onto a > configuration of existing components, with as little new code as possible.

In other words: "The process slowly repeats until you know the codebase". Also, less code brings less bugs.

> I must spend X^(size of our codebase) hours grappling with other people's > ideas, solutions, and mistakes.

Learning to understanding how other people think is crucial, and its better to learn from the mistakes of others than your own.

> Should I be deriving pleasure from this?

Hopefully, with time. But you are more supposed to derive a salary from it.

</comment><comment><USER12> > The process slowly repeats until my feature eventually converges onto a > configuration of existing components, with as little new code as possible.

Adding less code as possible is good. It means that things are well structured. The speed that you want seems like you want to hack your way through and just increase maintenance time. That is what software development is.

If you feel some piece of code should be refactored and re-written / extracted, then that is another completely different case. Check what is the value and impact on doing it, both short and long term, and expose your rational to your team.

For me the biggest signs of a good codebase is having a clean build system and proper testing.

</comment><comment><USER13> Other people have put it very well here. Welcome to the job. Beautiful code from scratch is for your own time. You'll see that you'll learn this "monolithic" code base over time and that eventually you will play it like a violin and it will be somewhat enjoyable.

If you want to write code from scratch and just blaze forward all the time join a startup. Less guaranteed job security but more fun for sure.

</comment><comment><USER14> This is all codebases ever, including all open source codebases. You have to learn the codebase before you can contribute effectively to it.

</comment><comment><USER15> If the software is undocumented, then document it as you read it. At the very least make sure that you are documenting your own modifications. In any code base, you are going to need to dedicate the time to learning what that code base is.

Before you do X, you should always ask someone if they are aware whether or not X already exists in the code base.

This is true outside of the work setting. If you are making websites for fun in your spare time, you are likely to spend time learning a framework such as node or django. If you are making games you are going to learn some tool like Unity or an engine like unreal or source.

Imagine if you had a project where you defined 20 different functions for requesting the html of a webpage, each doing something slightly different. Think about what kind of a maintenance nightmare that would be. You are suddenly required to implement a proxy on all requests, but doing so breaks half of your functions. You can't just scrap them, because each has a nuanced use (since you were too lazy to update your existing function(s) to fit your needs).

You would never do that in your own project, but that's exactly what you're doing with this company's code base.

"It means my thoughts must be bent to fit some pre-existing shape, which eliminates the need for my thoughts, and suggests they should be permanently replaced with those of my predecessors."

No, it means your thoughts must bend the pre-existing shape, which eliminates the need to create the shape yourself, since that was already handled by your predecessors.

Your point of view is a lie. Do you program on an OS you wrote yourself from assembly code, in your own programming language, on your own custom built hardware, with no libraries or tooling?

Musicians do not reinvent thousands of years of musical discovery, yet they manage to find immense pleasure and creativity in their work.

If you have done very little programming outside of college, you should see other people's code as a treasure trove of information. Just as musicians find inspiration in other people's songs. My last tip is to revert to pencil and paper when you are having difficulty understanding someone else's code.

<comment><USER16> I also believe this is primarily a communication issue. It is bound to happen a few times when working in an unknown codebase, but if you feel this is systematic, before writing a single line of code, just discuss with the code reviewer what you plan to implement. It should be a matter of seconds for him to tell you if it makes sense or not.

</comment></comment><comment><USER17> Sometimes it can be helpful to try and fast-forward through time. Imagine you are writing your own new code. You've got it working well. You've spent some time thinking about it, so you've left room for growth and made it extensible so that next time a new feature comes along you don't have to rewrite the whole thing. Then a new dev onboards and starts redoing things you've already done.

Right now you're the new dev. Yes, you are going to have a lot to learn about code that's already in place. Totally greenfield development is fairly rare. You don't have to learn the whole codebase (almost no-one does in large projects), but it would be wise to solicit input about where you should start looking before writing brand new code for a new feature.

> That's great for the business but not much fun for me.

That's why we call it "work" and not "play." :)

</comment><comment><USER18> To tell you the truth it has nothing to do with monolith. You think if you write it in microservices because that's what's "hip" now you're very wrong.

<comment><USER19> Besides, the microservices architecture doesn't mean you should re-implement features (like the framework / library type of functions). Microservices have the same amount of code, if not more, than the monoliths they're supposed to replace, and likewise should employ code re-use / not re-invent the wheel as much as possible.

<comment><USER18> Yea, exactly. Company I'm working with now made the mistake of following the hip. Basically management were crazy about node and microservices.

Went from PHP "monolith" with couple of services to Node.js using microservices. Jesus what a mess, our previous stack was 10x cleaner. Not to mention company now spends thousands of dollars every month for all the new/cool AWS stuff.

But hey, they pay me so I'm not complaining. :)

</comment></comment></comment><comment><USER20> In addition to what everyone has already said about asking before coding and learning the codebase before writing from scratch, you could step up and document these things as you learn them. Not only might it help in the learning process, it will make it easier on the next guy who gets hired.

<comment><USER21> This is what I was thinking. When I started on my first project, there was already some documentation of the core classes in our codebase, what they do, how they interact, etc, and it was incredibly useful to me as a new college grad. It gave me a direction to look in and provided structure to the questions that I still inevitably had to take to the more senior developers.

</comment></comment><comment><USER22> Greenfielding when there's already existing code to do what you want adds bloat and allows for regressions. Using previously-developed frameworks for e.g. validation, can help reduce bloat, and can help ensure the codebase is maintainable for the long run.

Think about it: do you want to have 5 separately-implemented code paths that all accomplish essentially the same thing, or one generic codepath that handles all the reasonable cases?

</comment><comment><USER23> Can you start an internal wiki and document the functions?

But remember to follow the 6th step of [http://www.joelonsoftware.com/articles/fog0000000332.html](http://www.joelonsoftware.com/articles/fog0000000332.html)

</comment><comment><USER24> NO it isn't a good codebase (can't understand it without talking to senior devs) and NO that doesn't HAVE to be what software development is; but unfortunately, it often IS... try to find work at a startup, or start your own, if you're that unhappy with things; if not, try to learn what you can from the senior devs, and their massive poorly documented codebase. Working with senior devs can be a drag, for sure -- I should know, I am one ;-)

</comment><comment><USER25> I'm surprised that nobody has mentioned pair programming. You may also try to propose Lunch and Learn sessions where an expert on a particular portion of your project teaches the rest of the team about their area of expertise (how to work in it, architecture, where code is located, etc...). Don't be afraid to ask someone to teach you or a group. Chances are good that multiple other engineers could benefit from the same information.

<comment><USER26> Pairing helps me figure out large code bases quite a bit.

</comment></comment><comment><USER27> When I was first learning the ropes as a developer, I found myself in similar situations, and it was equally frustrating (for both myself and my coworkers). What changed was I learned how to separate myself from the code. Programming is a team sport. You're all building a codebase together. And good code should be objectively good so it doesn't matter who writes it. You'll impart maximum value to your team once you learn how to cooperate. That's step 1.

Step 2 is learning how to adopt an engineering mindset. Spend time in analysis and ask your coworkers for feedback on your approach. Critical thought should not change from person to person. If the engineer before you applied critical thought to her/his code, then s/he encountered the same problems and made the same decisions you would, if you also applied critical thought. So spending time reading code and understanding it is a huge time saver.

The critique of re-inventing the wheel isn't "hey you just made a wheel... we already have one of those". It's "hey you spent all your time thinking about wheels and working out all the details... we've _already done that thinking and here it is written down_. Save yourself some time and catch up to us. We did the heavy lifting for you."

</comment><comment><USER28> Yes If the current abstractions in the code are flexible enough to be extended, I certainly think so. I've worked on so many projects that were so brittle extension/reuse wasn't really an option, with out major refractors

No.

Yes, you're lucky the current code is flexible enough to be extended, if there is good unit test coverage that's one better. For me, it is crucial to study outside of work and have side projects

</comment><comment><USER29> I'm in the middle of reading "Punished by Rewards" and it's interesting to cast this particular predicament in light of the proposition of that book.

 _If you 're writing code to get the reward of a salary, you're not going to enjoy it nearly as much as if you do it for its own sake!_ Rather, you'll enjoy less the more you're doing it due to extrinsic motivation.

I'm not sure of the solution, but I suspect you need to cast any of these challenges, whether they are really _coding_ challenges, or rather team communication challenges, as something you're excited (rather than anxious) to overcome and improve your skills at doing. Forget (in those moments) that you're doing it for a salary, but decide that, in order to later improve strictly coding skills, you are wise to currently work on improving your communication skills, your ability to discovering the capabilities of existing code and frameworks, and perhaps your ability to document anything you learn for future reference (for yourself and others.)

</comment><comment><USER30> I recommend taking an active interest in becoming a documentarian. Document things as you go, create wiki pages. While unrewarding, this task usually never goes unnoticed. IMO, understanding why things are the way they are makes one a better programmer.

Not sure about you but when I had history classes in school I was totally bored and could not appreciate it. But these days, I wish I had paid more attention. It really is a lot of fun to know historical facts and why things came to be and why they are the way they are.

</comment><comment><USER31> > Junior dev

> Monolithic java codebase

> "we already wrote something similar"

Sometimes it's not even them who wrote something. I was working on a Java codebase where decimal numbers always had the separator be a period (e.g. 1.2).

In (most of) continental Europe, the character they use to separate the numbers in a decimal is a comma (e.g. 1,2). So I coded something up to do a location-specific separator.

Woops! Actually java.text.DecimalFormatSymbols().getDecimalSeparator() will do that, and has been a Java core API since Java 1.1.

</comment><comment><USER32> Well, probably the codebase doesnt have a lot of documentation, and thats why the 'top' engineers always tell you after-the-fact howto do it.

Next time when they point you to it.. Tell them: where was this documented. How can i prevent reinventing the wheel later?

Also ensure that the code that they wrote, is located in a logic location. Often it is not, and thats why its difficult to write in that codebase.

So it can mean two things: bad structured code, bad documentation, or you lack knowledge in the codebase.

</comment><comment><USER33> Everyone can write code after 6 months of bootcamp. Not everyone can read code. You're complaining about reading code, which is 90% of what developers do on a daily basis. 10% of what developers do is write code. With of course the rare exception that you're architecting something from the ground up.

If you can write code but you can't read, than I'm sorry to say that you are not a good developer.

</comment><comment><USER34> I think we haven't completely figured out software development yet, and its a bit of a mess :)

Yes, this is typical of today's software development process. The codebase may be good in terms of code quality, but it sounds like it doesn't have the best architecture.

Unfortunately, good architecture is extremely hard. The architect has to really think about the problem and come up with abstractions that are simple, intuitive, orthogonal, self-consistent, universal, not overwhelming, programmable (not configurable) and stand the test of time

Simple -> means that abstractions should only represent one thing. A rule-of- thumb test is: if you ask yourself what does this abstraction do or define, it should be a single item (not a list)

Intuitive -> abstractions that resemble existing abstractions that are in common use, as well as things in the real world. (or in the problem domain) For example, its possible to reuse a File abstraction for many things. Another example, UI classes should mirror things that are shown on the screen; in simulations classes should mirror the things being simulated, and so on.

Orthogonal -> abstractions should either introduce new functionality, or combine multiple functionalities into one - never both at the same time. For example, a function that reads settings from environment variables then calls another function with those settings is often likely to benefit from split into 2 functions: one to read the variables and another to glue together readVariables and callOtherFunction.

Consistent -> an abstraction should have laws that are never contradicted (they're factual, never changing), and users should only rely on those laws and no other properties. The best examples of this can be found in Haskell's standard type class tree.

Universal -> an abstraction should apply to all cases where possible. E.g. all mappable things should be mappable in the same way (Arrays, Tasks, Observables, etc) and all parts of the program should be able to take advantage of that

Not overwhelming -> The human brain can keep track of up to 10 concepts at the same time. The architect should keep this in mind and properly compartmentalise abstractions in a way that doesn't overwhelm. The fewer things you need to keep track of at the same time, the better.

Programmable, not configurable -> Whenever possible, good code is programmable, not configurable. For example, a chart plotting function could take a detailed configuration object that contains a description on how to format the labels, e.g. { decimals: 1, units: {1: 'm', 1000: 'km'}}, could allow the user to pass a formatting function that takes the number and generates the label text. The second one is always more flexible and extendable.

Some of these properties may sometimes be at odds at eachother.

A note about microservices: they're popular because they enforce some of these properties somewhat: most small services are _simple_ , the API (interface) is given some thought to make it _intuitive_ and _consistent_ , they nudge towards _orthogonality_ as inter-service dependencies have a much higher cost and are therefore avoided... However they have some downsides (e.g. they favour _configurable_ instead of programmable, as its somewhat hard to pass code to be called by the microservice)

</comment><comment><USER35> In order of your questions: no, no, typically.</comment>


Dropping RC4 - <AUTHOR> https://twitter.com/agl__/status/638757860696940544 <comment><AUTHOR> And about the same time, Adam Langley retweeted: [https://twitter.com/MSEdgeDev/status/638762308089438208](https://twitter.com/MSEdgeDev/status/638762308089438208)

(Ending support for the RC4 cipher in Microsoft Edge and Internet Explorer 11)</comment>


90% of IBM Cloud Now Running on Kubernetes - <AUTHOR> https://www.tigera.io/blog/ibms-journey-to-tens-of-thousands-of-production-kubernetes-clusters/ <comment><AUTHOR> Linked blog tells the story of how they got to tens of thousands of production clusters, now running almost all of IBM Cloud

</comment><comment><USER2> Great work, congrats IBM!</comment>


Sea snakes have been adapting to see underwater for 15M years - <AUTHOR> https://www.plymouth.ac.uk/news/sea-snakes-have-been-adapting-to-see-underwater-for-15-million-years <comment><AUTHOR> Link to paper [pdf]: [https://linkinghub.elsevier.com/retrieve/pii/s09609822203057...](https://linkinghub.elsevier.com/retrieve/pii/s0960982220305777)</comment>


Apple twitters - <AUTHOR> http://devcentral.f5.com/weblogs/macvittie/archive/2008/07/11/3445.aspx

<comment><USER2> hmmm... i like some of the f5 posts, but it's beginning to feel like Hacker News is an RSS feed reader and i'm somehow automatically subscribed to the f5 blog.</comment>


Trump Issues Action Blocking Venezuelan Government Cryptocurrencies - <AUTHOR> https://www.bloomberg.com/news/articles/2018-03-19/trump-issues-action-blocking-venezuelan-government-cryptocurrencies <comment><USER2> As a Venezuelan I welcome these measures. Petro coin would not have helped the people and it was meant to launder money.

Also it is a lie that is backed by PDVSA's oil [1].

[1] [https://www.caracaschronicles.com/2018/02/27/petro-truly- bac...](https://www.caracaschronicles.com/2018/02/27/petro-truly-backed-oil- reserves/)

</comment><comment><USER3> A country in an economic disaster attempting to adopt a cryptocurrency to salvage it's destroyed fiat currency is very Mr Robot-esque.

There's probably some other analogies here as well, with Venezula's famous small group of elites pulling the strings in the background, with self- preservation valued over the publics interests.

<comment><USER4> It's barely an attempt to salvage their economy. It's a capital influx for the state. It won't have any impact on the day-to-day for the people _except_ that the state might not crackdown on them as much for hoarding TP and other things.

The majority (vast majority?) of Venezuelans won't be able to participate in this ICO.

</comment></comment><comment><USER5> > "It's a pretty big blow,"

I disagree. Very few people in the cryptocurrency space took it seriously.

They claim to have raised $735 million by doing a token sale on NEM. I can't find a single source that identifies where on this public blockchain that $735M would be. The 24h volumn is ~100M so they'd have real problems liquidating that supply.

$735 million would be 2.6B XEM. The largest account has 9M [http://explorer.ournem.com/#/accountlist](http://explorer.ournem.com/#/accountlist)

If I had more time on my hand's I'd pull the recent NEM tx and see if there even was that volume of tx during that time.

</comment><comment><USER6> > Maduro created the currency to try to salvage his country's failing economy, > where inflation is estimated to spiral to 13,000 percent this year.

That is a shocking statement. 1) I did not know Venezuela is in such a bad state. 2) I cannot believe that a freaking government is trying to "create" money through an ICO.

<comment><USER7> Venezuela has more proven oil reserves than Saudi Arabia. That latter country's leadership saw the writing on the wall and began diversifying their wealth holdings before the big price downturn in 2014. Hugo Chavez did no such thing by the time he died a year earlier, unfortunately for his people.

<comment><USER8> It would have failed eventually, it just would have taken longer. Venezuela is incredibly corrupt and more money would not have fixed that.

One could argue that sanctions only serve to increase corruption by eliminating non regime sources of income for the local populace.

<comment><USER9> Same could be said about Saudi Arabia, but that one has been working, in a fashion, for quite a while.

</comment></comment></comment></comment><comment><USER8> What about an ICO to fund a hostile takeover (coup)?

As in the coins would be for oil but you'd have to invade first. The ICO money would go towards funding a private army like Acadamy (Blackwater).

It may be possible to do it in such a way that there are fewer deaths than not doing it, and much of the local populace could be coopted by promising them stability and a portion of the treasure. The better the deal offered the cheaper and easier the takeover.

Just a thought.

</comment><comment><USER10> Predictions I make HN hates:

\- Crypto is going to be worth billions

\- A country is going to issue it's own digital currency

\- The future of crypto is commodity backed assets, for example \- petro coin!

Things that are going to happen that HN refuses to consider:

\- Blockchain based government

\- Decentralized voting mechanisms

\- P2P based political party

The irony is this place being called Hacker News.

<comment><USER11> I'm going to take the other side on that prediction of a country issuing it's own digital currency. I think it is conceivable that governments find some use for the technology, no doubt, but I do not under any circumstance see any government that uses a fiat based monetary system ever using crypto to issue the country's main currency (i.e. the one they demand taxes be paid in). This will not happen because to do so goes against the fundamental concept of fiat and being able to print whatever you want as credit and creating money from thin air. With crypto, the rules are set hard and fast in terms of monetary creation, so if they hit a jam and want to inflate, they will be unable to do so. For this reason alone (and there are many), they will never do it as they hate having their hands tied with hard and fast rules. It acts as handcuffs on their power and therefore it will never happen.

<comment><USER10> The rules of the chain are arbitrary. Variables can be controlled by government officials. The state could could cut out payment processors and collect taxes on every transaction. This tech could also become a tool for mass surveillance and oppression which I'm sure Venezuela is much more interested in. But I think the blockchain experiment has shown we overvalue the role of currency in facilitating trade.

Here's what changed. Trade is a function of information bandwidth. Traditionally you needed a medium of exchange because you can't trade crude oil for a sandwich quickly enough to be useful. But if the merchant _could_ accept oil certificates and convert it to an alternative certificate at checkout, any in-demand certificate could be money.

<comment><USER11> _" But if the merchant could accept oil certificates and convert it to an alternative certificate at checkout, any in-demand certificate could be money."_

This is true and, in fact, used to be the case in the US with how the banking system was originally set up. In the old days each individual bank would issue certificates ("notes") as claims against their own deposits. Currently all our notes are Federal Reserve Notes which are from the central banking authority. But back then, every bank issued their own notes.

<comment><USER10> What distressed countries like Venezuela lack is trust, making the prospect of a responsible central bank a pipe dream. I see asset backed certificates being more capable of facilitating trade than unsecured IOUs. Reduce the level of trust required to trade, trade goes up. In that aspect Petro coin will be very interesting. I'm smelling a regime change in Venezuela's near future.</comment></comment></comment></comment></comment>


Last month I created some facial recognition software in 24 hrs at a hackathon - <AUTHOR> http://isaacjordan.me/blog/2016/03/st-andrews-university-hackathon-stacshack-2016/ <comment><USER2> I think a fairer description would be "I used opencv in 24 hours", but good on that kid anyway.

<comment><AUTHOR> Perhaps - but thanks for reading!</comment></comment>


Lasers to enable fuel-efficient, supersonic space travel - <AUTHOR> http://www.factor-tech.com/space/9127-lasers-to-enable-fuel-efficient-supersonic-space-travel/

<comment><USER2> I'm obviously missing something, but what exactly is 'supersonic' in terms of space travel?

<comment><USER3> The press release is much clearer.

[http://www.osa.org/en- us/about_osa/newsroom/news_releases/20...](http://www.osa.org/en- us/about_osa/newsroom/news_releases/2014/supersonic_laser-propelled_rockets/)

I haven't read the paper, but it appears they're proposing to use the ablative lasers only to shape the flow of supersonic gas through a thruster nozzle.

</comment></comment><comment><USER4> so "could" means "to" now?</comment>


Upping the CAPTCHA ante - <AUTHOR> http://mashable.com/2010/08/06/nucaptcha/?utm_source=feedburner&utm_medium=feed&utm_campaign=Feed%3A+Mashable+%28Mashable%29

<comment><USER2> Who cares? Captcha-solving is a solved problem. If you have an illicit business model that has captchas as an obstacle, contracting out actual humans in third-world companies to bypass that obstacle adds pennies to your overhead. It's almost scammy to suggest that real companies should be investing in better captchas.

</comment><comment><USER3> It seems to me that this would actually be easier for software to bypass than a regular image based CAPTCHA, it just consumes a bit more bandwidth. Pulling individual frames out of a video is simple, so you just pull a few frames out of the video and run your regular image CAPTCHA breaking algorithm on them. Since you've got multiple frames, your software has multiple attempts to compare which makes it even more robust.

Meanwhile it doesn't solve any of the actual problems with CAPTCHAs that others mentioned.

</comment><comment> mike-cardwell Can't imagine why they used a flash video instead of an animated gif.

<comment><USER4> It's not flash video, it's h264. GIF's are far larger and lower resolution for the same videos.

If you turn off javascript or flash when visit the page, you will actually see a gif version.</comment></comment>


Unroll.me cofounder's rant reminds us to be wary of free services - <AUTHOR> http://www.theverge.com/2017/4/25/15423516/unrollme-privacy-policy-read-terms-of-service <comment><AUTHOR> I know Unroll.me has been recently discussed in the wake of the Uber story. But thought the co-founder's unsolicited defense of her "sweet, sweet friend Jojo" was a different and interesting angle in that I'm having a hard time thinking of such an unprofessional rant by a co-founder in defense of their company.

\- Extremely condescending towards users of Unroll.me ("You don't hate that Unroll.me sells your data. You hate that Unroll.me sells your data to Uber.")

\- Describes Uber's use of Unroll.me's data as "douchebaggery"

\- Implies that the CEO of the company that bought Unroll.me is involved in scandalous behavior -- "Unroll.me was bought by a company called Slice Intelligence (don't get me started on the founder of that company)"

FWIW, I got into a Twitter argument with her, in which she quickly descended into ad hominem:

[https://twitter.com/bethebutterfly/status/857050339907821568](https://twitter.com/bethebutterfly/status/857050339907821568)

The insults didn't bother me as much as her apparent ignorance about her former company's Privacy Policy, and her total unwillingness to accept basic facts, such as how there is no data retention policy. She had no comment at all about this claim from a HN user (not the one about insecure S3 buckets):

[https://twitter.com/bethebutterfly/status/857037346612535297](https://twitter.com/bethebutterfly/status/857037346612535297)

</comment><comment><USER2> Paid services also can and do sell your data and spy on you. Windows 10 and that Bose headphones app are just two recent examples. You need control over the software, or at least some proven legal guarantees, if you want some chance at privacy.</comment>