Inside Telegram's ambitious $1.2B ICO to create the next Ethereum - <AUTHOR> https://techcrunch.com/2018/01/15/inside-telegrams-ambitious-1-2b-ico-to-create-the-next-ethereum/?ncid=rss <comment><USER3> If it looks like a scam, expressed like a scam, and promoted like a scam, then it probably is a scam.

Let me explain... achieving scale with public and private blockchains is a difficult computer science problem. Even if Dr. Nikolai Durov [1] is a genius, he is competing with other geniuses who are at least trying to probe their points in a more formal way [2]. It is not by chance that it is taking so long for Vitalik and other researchers to solve the scalability and security issues in Ethereum. So until other peers don't analyze Dr. Durov results via adversarial attacks we will not know how real are his claims.

A serious alternative to this ICO would be raising money for a PoC including hiring other researchers to break the original scheme. For example, before RSA was finished, Adleman worked on breaking the schemes devised by Rivest and Shamir until RSA was born [3].

This does not mean that you cannot make money, speculation works in a different dimension.

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

[2] [https://docs.google.com/document/d/1J8hehbnZWzcIUMQcxMiGbjz8...](https://docs.google.com/document/d/1J8hehbnZWzcIUMQcxMiGbjz86wDu3zDFF7UtkR0XjGE/)

[3] [http://teacher.scu.edu.cn/ftp_teacher0/chjtang/teach/adleman...](http://teacher.scu.edu.cn/ftp_teacher0/chjtang/teach/adleman.htm)

<comment><USER4> No kidding. Blockchain is the new hotness right now, shouldn't be difficult to raise a seed round for a crypto startup if your product is genuinely interesting.

<comment><USER5> It's not difficult to raise a seed round for crypto startup even if the product is stupidly boring and useless. It's called an ICO.

</comment></comment></comment><comment><USER6> > The "TON Blockchain" will consist of a master chain and 2-to-the-power-of-92 > accompanying blockchains

> "Infinite Sharding Paradigm" to achieve scalability

> "Instant Hypercube Routing"

> "it will also use 2-D Distributed Ledgers."

There's no doubt that if you want to make a quick buck, this buzzword-laden series of claims will attract many greater fools. But the ongoing crypto- hubris is unattractive to say the least.

<comment><USER7> I wonder whether the hypercube part is related to Vitalik's idea from 2014: [https://blog.ethereum.org/2014/10/21/scalability- part-2-hype...](https://blog.ethereum.org/2014/10/21/scalability- part-2-hypercubes/)

<comment><USER8> Probably. TON looks like it is trying to combine all the good-sounding ideas from Bitcoin, Ethereum, Blockstack, Sia/Filecoin, I2P/Tor, etc.

<comment><USER9> Hypercube routing seems Similar to hypercast: [http://www.comm.utoronto.ca/hypercast/overview.html](http://www.comm.utoronto.ca/hypercast/overview.html)

</comment></comment></comment></comment><comment><USER10> The next Ethereum? I'm still waiting for the current ethereum to show any kind of reason for its existence beyond an admittedly cool tech demo.

I'm not seeing anything in this offering which couldn't be done more easily and cheaply by a ton (sorry) of other payment options. Notably they say they want to be WeChat - and they've done it all without any need for blockchains.

<comment><USER11> I would have to agree about Ethereum being not much more than a tech demo at present.

A few months back I tried to learn building an Ethereum distributed app, or "dapp" as they call it. I installed my own Ethereum node to see how that works.

The Ethereum toolchain is a strange combination of actual JavaScript (command line tools + REPL to a live node) and a pseudo-JavaScript called Solidity: a custom language inspired by JavaScript but with abundant new syntax for developing smart contracts. That doesn't seem like a good idea from a robustness point of view -- did anyone ever say "I know, I'd like my money to be handled by immutable JavaScript functions"?!

Still, I can see the mindshare appeal of reaching the widest possible developer demographic by making everything look "web-like". I would be OK with that choice if the platform worked as advertised, but it doesn't, and it just keeps getting worse.

I spent about $100 on deploying my toy dapp's smart contracts, and then I gave up. Debugging on Ethereum is a nightmare. It seems very easy for a non-obvious bug that's not caught on the testnet to make a deployed program go into a loop and burn through all the money you allocated for it. With today's USD/ETH rate, my failed $100 experiment would have cost $300.

Even if I had got the app deployed, who's going to use it when fees are this high? Nobody wants to pay $10 to store a piece of data in my dinky little dapp. The whole concept of dapps is ridiculous with the current Ethereum implementation.

Ethereum is a victim of its success: the network is congested, fees are running sky-high, and my Ethereum node has stopped working because of the exploding demands of storing the blockchain. Realistically there doesn't seem to be anything the Ethereum founders can do to fix this on the short term, which means that there will be a painful implosion as the network goes useless until it's replaced by a new sharded Ethereum (which will naturally come with its own growing pains).

My conclusion is that Ethereum today is like MongoDB in its first year: breathless promises of "web scale" are in no way matched by the reality of what the platform can do... But like Mongo, it's in JavaScript and has a formidable hype machine, so people will flock in. Eventually things will get better, I'm sure.

<comment><USER12> I'm not sure why people latch to the javascript thing.

Javascript is to Solidity what C is to Java. It is similar on the very surface level, but other than some syntax similarity, it's very different.

There is plenty wrong with Javascript and there is way more wrong with Solidity. But the languages are not very similar

<comment><USER13> I'm not sure the analogy holds. C is a very specific programming language you can characterise as a byte-array manipulation language. That's a very specific building block for making software if that building block is what you need, hence its merit. Java "on the very surface level" has absolutely nothing that relates to C, modulo some syntax if you think that has a lot of weight.

<comment><USER14> This is exactly the point he was making

</comment></comment></comment></comment></comment><comment><USER15> According to the whitepaper (on page 18) it cost $70m to run Telegram just for 2017 and a total of $171m since 2014. Pavel Durov had a net worth of about $300m when he left VK in 2014 and as far as I know he's the only source of funding for Telegram. This seems like one way to change that and hopefully ensure financial stability, if it works out. I'm not sure it will though, which is unfortunate as I quite like Telegram.

There's always Wire, I suppose. As long as they stay afloat.

<comment><USER16> How did you obtain the white paper? AFAIK it's not available publicly yet.

<comment><USER17> [https://drive.google.com/file/d/1ucUeKg_NiR8RxNAonb8Q55jZha0...](https://drive.google.com/file/d/1ucUeKg_NiR8RxNAonb8Q55jZha03WC0O/view)

Hopefully I'm not violating any rules by sharing this thing that looks like it might be TON's leaked whitepaper

<comment><USER16> Thanks! It seems that this paper is already in hands of TechCrunch(the currently discussed article) and CoinDesk[1] and now it's available for HN users :-)

[1] [https://www.coindesk.com/big-money-murky-governance- kicking-...](https://www.coindesk.com/big-money-murky-governance-kicking- tires-telegrams-token-sale/)

</comment></comment></comment></comment><comment><USER18> Yes like any other ICO this is risky. However there is a big difference between this and other crytocoins: there is already a large base of pre- existing users of Telegram. With TON, Telegram has the potential to become WeChat outside of China.

<comment><USER19> > there is already a large base of pre-existing users of Telegram

The base is 180 million MAUs as of December 2017, and they're not growing as fast as other messaging services have in the past (in Feb 2016 they had 100 million MAUs, so in just under two years that's ~80% growth).

So yes, they have a large base of pre-existing users. But I don't think it is clear that this base of users is going to continue to grow exponentially, and they're not growing as fast as they arguably should be.

<comment><USER18> I feel that its actual potential utility as a crypto currency platform is more important than its current position as an IM platform. A better argument would be to point out what happened with Kik

</comment></comment></comment><comment><USER20> Why on the earth they don't just do a telegram based digital money without any block chain but just an N nodes database Geo distributed? So that you can pay real money to have telecoins (or whatever) and that's all. Oh wait... This prevents earning 1 billion of dollars to give back monopoly money.

<comment><USER21> That might work for the intended use-case, but it does not use the blockchain, therefore it can't benefit from hype and deflationary expectations, so the "invitation only early investors" can't have exponential profits - the real motivation for the whole scheme.

</comment></comment><comment><USER22> The article is rather out of date, stating

> $1.2 billion. That blows any other token sale out of the water, and it would > easily surpass the current record of $257 million raised by Filecoin

and showing EOS as having raised $200M. In fact, EOS claims to have already raised over $1.1B and its ICO is still continuing for another 5 months:

[https://steemit.com/eos/@simoncase/eos-announcement-what- jus...](https://steemit.com/eos/@simoncase/eos-announcement-what-just- happened)

</comment><comment><USER23> I think a serious conversation that needs to be had is that there a lot of tech companies that can produce a useful service. Twitter, Telegram, Snapchat etc come time to mind, but they will never generate a profit like a traditional business.

Does that mean that these services should not exist? Or does it mean there needs to be a non traditional way of financing to where creators can build the product and then have a reasonable way of "being done".

Something like Twitter reached a point where it didn't really need more features. How could it sustain itself without constantly growing and paying profits to shareholders?

I don't know the answer to this, but it's certainly something that needs to be discussed, because the unfortunate truth is that there are many good services that don't make money

<comment><USER24> My hope is that big businesses put a ton of money into creating new products, and when the space is understood, someone makes an open source version. Then the consumers of those products start to resent the people making money off of them and the private thing dies off. There are not really any models of this though, sadly.

<comment><USER25> First of all, open source versions often are just not as good. I was a fan of gitlab for personal projects, but after trying it for a couple of months on a company's project, we moved back to github because of all the bugs and low perfomance.

Second, who's going to pay for all the servers?

<comment><USER26> When did you try GitLab, and was it self-hosted or GitLab.com? We've been working on improving performance, especially on GitLab.com, for the last two years now. Having started around then I can definitely say it was pretty miserable back then, but it's infinitely better now.

You can see our infrastructure issue tracker for more info on what we've worked on over the last few months and what we're doing now: [https://gitlab.com/gitlab- com/infrastructure/issues](https://gitlab.com/gitlab- com/infrastructure/issues)

</comment></comment></comment></comment><comment><USER27> If Telegram did $1.2B, Slack must be on pace for a $50B ICO. What a great world we live in!

<comment><USER28> Yes, and Facebook a $bazillion. But at that point, "fiat" will already be a forgotten relic of the past, so, who cares?

</comment></comment><comment><USER29> Another next Ethereum ? $NEO is already operational.. $ADA is more promising..

<comment><USER30> NEO is centralized. But at least it has code.

Cardano has no published code for its smart contract platform, yes somehow it is the 5th most valuable cryptocurrency. Its hype is based on something that Ethereum already has under development: a formally verifiable programming language (and unlike Cardano, the work on formalizing the two programming languages is being done out in the open). Its website also praises regulations and implies pretty strongly that only regulated entities will be able to run consensus nodes for its smart contract platform.

I don't think either has any hope of being the next Ethereum.

</comment></comment><comment><USER31> > It could turn Telegram from a messaging app into a platform that hosts > internet-based content which could, in theory, operate micro-paywalls that > let users unlock news or subscriptions for small amounts of crypto payment, > while there's also the potential to become a major payment hub.

So... it does pretty much everything? So much for decentralization. Sure, it's theoretically decentralized, but it's disturbing that Telegram is trying to both take over so many blockchain applications and retain partial control over each one.

</comment><comment><USER32> _[citation needed]_

Looks like rumors and disinformation spreaded by Anton Rozenberg - <USER2> Telegram developer. Russian journalists refer to his Facebook post[1]. IIRC, Rosenberg and Durov had some serious conflict. I've seen article on Medium[2] (earlier with unblurred screenshots) and Rosenberg seemed to me not quite adequate person.

[1] [https://www.facebook.com/id77777/posts/10154846872521076](https://www.facebook.com/id77777/posts/10154846872521076) (Russian)

[2] [https://email@example.com/pavel-durov-sued- senior-...](https://firstname.lastname@example.com/pavel-durov-sued-senior-tech- lead-for-1-7-b24961dec503)

</comment><comment><USER33> Have I missed the link to the actual leaked 132-pages white paper?

</comment><comment><USER34> Would it be wise to invest in this?

<comment><USER35> On Reddit someone shared a Facebook ad they were getting about this. It's being hyped like TRON and will likely share a similar fate.

"Today price $0.8 after ICO $50"

[https://i.imgur.com/lxGE0dz.jpg](https://i.imgur.com/lxGE0dz.jpg)

<comment><USER8> Mmmm, securities fraud. Did Telegram just _officially_ say that their token will go up from $0.80 to $50? Or is Facebook allowing scammers to create fake official pages?

(On another note, ICO pricing around $1 seems like it will inevitably trigger the "I can't even afford one coin" effect. Pricing the ICO around one cent (with 100x more coins outstanding, of course) would give more breathing room.)

<comment><USER36> They're saying that if you pay them today, you get them for $0.80 as a "ico pre-sale". Then during the real ICO, coins will be available from them for $50. Nothing about market price

<comment><USER37> If they're available for $50 after it means the market price has gone up, if they can sell them at $50 why can't you? Securities/Tokens are a two way street not your typical discount aisle.

</comment></comment></comment></comment></comment><comment><USER38> I don't think it is good?Okay , I choose the Signal.</comment>


Neuralink Update [video] - <AUTHOR> https://m.youtube.com/watch?feature=youtu.be&v=DVvmgjBL74w <comment><USER2> What strikes me is an API for you brain. Such a crazy concept.

This company will hit US medical/insurance mafia a lot long term. If they succeed thats billions of dollars of regular income for clinics will go away to this company.

<comment><USER3> Or maybe this company has exaggerated their echievements. There are several things in this video that could be described as sci-fi by most neurosurgeons.

But let's be honest other stuff have been called science fiction before:

* Hyperloop Intercity mass-transit

* Fully autonomous cars in the city

* Mars colonization etc</comment></comment>


Curated list of iOS apps - <AUTHOR> https://github.com/learn-anything/ios-apps <comment><USER2> Please see the output of your website on Android device, it all unreadable.</comment>


Visual Studio Mobile Center Preview - <AUTHOR> https://www.visualstudio.com/vs/mobile-center/ <comment><USER2> Link goes right to the product, so here's the docs for what it actually is: [https://docs.mobile.azure.com/](https://docs.mobile.azure.com/)

also, from ZDNet:

"Visual Studio Mobile Center is a portal that is meant to help developers build, test, distribute and monitor apps built in Objective-C, Swift, Java, Xamarin and React Native for Android, iOS and Windows devices."

<comment><USER3> So like Firebase testing, but for iOS and Windows devices too?

<comment><USER4> Mobile Center includes CI, Testing, Beta Tester distribution, Crash reporting, Analytics, & back-end services.

The Testing service supports iOS and Android apps written in any language or platform.

<comment><USER3> Thanks for clarifying! I was unable to find it's pricing scheme, was it posted elsewhere?

<comment><USER4> We are currently in preview, so no pricing has been decided. The preview supports some pretty reasonable meters, though. If you want to reach out to me, I'd love to discuss what you are looking for in pricing and packaging. keballin@ msft for my email. Thanks!

</comment></comment></comment></comment></comment><comment><USER4> To learn more: [https://www.visualstudio.com/vs/mobile- center/](https://www.visualstudio.com/vs/mobile-center/)

<comment><USER5> Thanks, we've updated the link from [https://mobile.azure.com](https://mobile.azure.com).

</comment></comment><comment> UK-AL Seems to be some overlap with VSTS

<comment><USER6> Mobile Center offers an experience optimized for building mobile apps and the workflows are simplified for mobile developers. When running iOS builds, the developers do not need to provide their own Macs and Mobile Center offers a hosted environment for the builds.

VSTS provides a great range of possible configurations and 3rd integrations for the advanced user. It also provides first party integration with source control, task boards and works with projects that go beyond just mobile apps.

PS: You'll find that Mobile Center also offers Testing, Beta Tester distribution, Crash reporting, Analytics and further back-end service for building your mobile apps.

<comment> UK-AL "When running iOS builds, the developers do not need to provide their own Macs and Mobile Center offers a hosted environment for the builds."

Which is what vsts traditionally does. So know your going to have your builds in two places, one for mobile, the other for the rest.

</comment></comment></comment><comment><USER7> C++ is lacking in the list of supported languages. It's great to rebrand HockeyApp here, but this limits the usefulness for me.

<comment><USER8> Completely understand. When ever one is making a product there are trade offs and priorities. We are going to continually iterating on the product. So hopefully we can increase its usefulness to you over time.

What are you currently working on?</comment></comment>


Targeted Ads in Live TV - <AUTHOR> https://www.channel4.com/press/news/sky-and-channel-4-broaden-industry-leading-partnership <comment><USER2> In the old days, there was broad demographic targeting such as "daytime TV viewers are likely of demographic X, hence, marketing to them is offered at this fee and for these time slots".

This is different. This is about showing your household different personalized ads than my household, based on data that they don't tell us how they've collected somehow.

Essentially, TV has been watching you (albeit probably via third-party collaborating companies), and you're now being personally identified and marketed to.

Have fun explaining to your spouse why your household's TV is showing more dating site ads than that of their friends.

<comment><USER3> > Have fun explaining to your spouse why your household's TV is showing more > dating site ads than that of their friends.

The targeting is sometimes only _so_ good. While it works in aggregate well, sometimes there are laughable targetings, and it also depends on what audiences the advertiser wants to hit.

I get some pretty strange targeted ads through Facebook that don't seem at all relevant, and the "Why Am I Seeing This Ad" dropdown has very nebulous explanations ("Targeting Men between 25-35 in San Francisco"). I would imagine this problem to be similar with targeted ads on Live TV unless they keep the ads pretty generic or have vastly better targeting than FB or Google.

<comment><USER4> For some reason recently I've been seeing a lot of datings ads on YouTube. Not that I've been searching for anything like that. First it was Christian dating services (I'm not Christian), but clearly that didn't spark my interest so now they've starting showing me ads for Muslim dating services (I'm also not Muslim). I'm excited to see what's next :-)

<comment><USER5> Are you at least religious? Seems like a very specific subset of dating services.

</comment></comment></comment></comment><comment><USER6> Is this news to people?

A decade ago, as an intern at Google I was chatting with another intern about this. She described exactly this sort of system. Google had bought up the ad rights to an entire cable network across a few states in return for the data on what channel each TV was on, and if it was on or off.

Based on that, they built profiles of how many people lived in each house, what their likely age/demographics were, what times they watched TV, etc, and targeted ads so that you and your neighbor watching the same channel got different ads.

She wasn't speaking hypothetically. This was the team she worked on.

<comment> duncan-donuts This was my reaction, too. People have been talking about doing this for a while. The first time I heard someone talking about it seriously was in like 2012, and at that point it didn't seem experimental in any way.

</comment></comment><comment><USER7> For the US, the new ATSC 3.0 standard talks about a "return path" where it sounds like your non-cable, non-Internet broadcast TV will be somehow sending data back to TV stations.

<comment><USER8> [http://unisoft.com/atsc/atsc3.0.html](http://unisoft.com/atsc/atsc3.0.html)

> A return path via the internet enables a variety of interactive applications

Sounds like they're using the internet based on this page and others I searched, but yes still troubling.

I set my router to drop traffic coming and going to my smart tv recently. Seems like that's the new future.

<comment><USER7> [https://www.atsc.org/wp- content/uploads/2018/12/A323-2018-De...](https://www.atsc.org/wp- content/uploads/2018/12/A323-2018-Dedicated-Return-Channel.pdf)

The piece that talks to the broadcast towers is called the "Dedicated Return Channel" or DRC. It doesn't seem to have anything do with an existing consumer broadband connection.

> Dedicated Return Channel (DRC) supports interactive services in ATSC 3.0 > without dependence on other non-ATSC 3.0 network infrastructure. In ATSC > 3.0, downlink broadcast channel and Dedicated Return Channel for interactive > services use different RF frequencies (i.e. Frequency Division Duplexing). > The PHY layer and Media Access Control (MAC) layer for DRC are defined in > this specification.

It uses a modified OFDMA which I think is similar to 4G LTE

> The DRC uplink transmitter uses Single Carrier Frequency Division Multiple > Access (SCFDMA) as the multiple access scheme. SC-FDMA is similar to > Orthogonal Frequency Division Multiple Access (OFDMA) except for a Discrete > Fourier Transform (DFT) operation performed before the Inverse Fast Fourier > Transform (IFFT).

<comment><USER8> Interesting, thanks for the link

</comment></comment></comment></comment><comment><USER9> [https://www.adsmartfromsky.co.uk](https://www.adsmartfromsky.co.uk) is the technology.

I had a quick look around the site, but can't see where it says where the data that they use comes from - other than the FAQs which say you can supply your own data if you want.

I would assume they are using the open electrol role, postcode data etc to target specific premises for their "Location Based Targeting" and for the "Attribute Based Targeting" I guess data from various market research forms that Sky send out or buy?

<comment><USER10> Data aggregators and warehouses that will sell you practically anything the entire marketing industry knows about you, for pennies each ad bid.

Seriously, ever added a credit card to your Google account for android apps? Google knows all your MasterCard transactions. Probably the same for Visa, just unleaked.

[https://www.bloomberg.com/news/articles/2018-08-30/google- an...](https://www.bloomberg.com/news/articles/2018-08-30/google-and- mastercard-cut-a-secret-ad-deal-to-track-retail-sales)

<comment><USER11> Does anyone know if there's an easy way to buy such information? I'd like to buy my information just to see what this cancerous industry has on me and where I need to improve my privacy efforts.

<comment><USER12> Just go to those companies and ask for your data. GDPR is your friend.

</comment></comment></comment></comment><comment><USER13> Slightly off-topic, but what the fuck have the font designers been smoking? That looks absolutely terrible!

<comment><USER14> I think that's their corporate font. Works fine for big text on a telly I guess.

</comment></comment><comment><USER15> > Early this year, Sky and NBCUniversal announced that AdSmart would expand to > the US with both broadcasters taking the first step toward creating global > premium video offering.

It looks like this garbage is coming to the US as well.

<comment><USER16> It certainly is. Broadcast companies have been working toward it for years; I'm no longer in that business and haven't acquainted myself with recent developments, but you'd be kidding yourself to imagine it won't be here soon.

</comment></comment><comment><USER17> The "value" of a "bundle" service like Sky has been under scrutiny for some time - from the mandatory bundling of 300 crapware channels just so you pay for the one channel that shows anything worth seeing that people grew tired of, to the Netflix model, and now to the further Balkanisation of content that's ongoing with Prime, Disney, NowTV, etc.

It seems Sky has decided to invest in monetising those who remained above incentivising a return for those who cut the cable.

</comment><comment><USER11> > both Sky and _Virgin Media_ households

Glad I left those monkeys even if it means paying 6x more to a different (business-grade) ISP but at least none of my money is used to finance cancer like this.

> match their own custom audience segments across Channel 4 platforms in a > cookie-less, GDPR compliant way.

I don't understand how this can be GDPR compliant. It seems they are using the Facebook approach of "both sides have PII and only exchange hashes of such PII" but as far as I know whether it's the actual PII or the hash, as long as it can be used to uniquely identify the user it still falls under personal data as per the GDPR, and I don't think "targeting cancer on live TV" would fall under legitimate interest.

</comment><comment><USER18> The recent Emmy awards are evidence that old school broadcast/cable tv with commercials is dying quickly. Most of the popular categories were dominated by streaming, commercial free shows. Hopefully this nonsense is part of the final death throes.

I do remember, though, that US cable was originally mostly commercial free, and the streaming services are already starting down that path in a few areas. Sigh.

<comment><USER19> Streaming shows may be commercial free, but they're absolutely packed with product placement and other subtle shite that's akin to paid articles pretending to be content in newspapers. I actually prefer my ads nicely marked so I'm not having to second guess whether they're drinking pepsi for a reason or because $$$.

<comment><USER20> As long as I'm confident I won't be fooled by product placement (I don't buy consumer goods I see on celebrities or in shows), I'm happy to have whoever does fall for this continue to subsidize my uninterrupted viewing as long as the placement isn't too ridiculous.

<comment><USER21> > _I don 't buy consumer goods I see on celebrities or in shows_

Does this mean that you go out of your way to avoid them? Or that you don't believe you're influenced by them?

<comment><USER20> I go out of my way to avoid them generally. If they're spending their budget on advertising, I can usually find a similar but less advertised product priced cheaper

</comment></comment></comment></comment></comment><comment><USER22> This has been in place on other channels for some years in the UK (and other countries, though Sky is definitely a market leader in actual widespread implementation).

It is worth noting that the US and UK aren't really equivalent here, as the UK broadly broadcasts the same channels nationwide all day with already existing slight differences for geographically relevant advertising, not just during primetime. In some cases this is handled on a satellite platform like Sky by broadcasting 20+ regional variations of a channel, and that is literally nuts. A solution like this saves an awful lot of bandwidth.

<comment><USER23> Multicast via satellite is comparatively cheap really. Especially for lower bitrate channels. Add into the mix regional opt outs (e.g. local news, local tv programs) and it's not _that_ bad an option.

Lots of other channels on Sky already use AdSmart. It's a bit weird to have obviously targeted advertising on UK wide channels (e.g. local car dealerships).

As a disclaimer - I used to work for the company who created the software Sky are using for AdSmart.

</comment></comment><comment><USER24> I think I'll just go back to piracy...

</comment><comment><USER25> While this isn't great, any form of broadcast/cable that can be controlled with a DVR makes this a non-issue, as I'm skipping commercials anyway.

When ads on TV become unskippable, or continue to get more firmly embedded in content as with Stranger Things, that's when it gets unacceptable for me.

<comment><USER15> The problem isn't the ads, it's the tracking.

<comment><USER25> The tracking is happening anyway, everywhere. Maybe it sucks, but it's reality. Netflix and Amazon, not to mention the entire rest of the internet, are doing it. So if it comes to cable it doesn't differentiate streaming vs. regular TV. The ability to skip ads with a traditional DVR does differentiate them.

<comment><USER15> > The tracking is happening anyway, everywhere.

Absolutely true, but that not a reason to start accepting it. For me, the ability to skip ads isn't compelling.

</comment></comment></comment></comment><comment><USER26> If you're a Sky customer and want to opt out of AdSmart, toggle off the two preferences about 'tailored advertising' at the bottom of this page:

[https://www.sky.com/myaccount/my-details](https://www.sky.com/myaccount/my- details)

</comment><comment><USER27> TV has been doing this for ages, although with the capabilities that it has. So far, you could guess who was watching based on the time of the day, the time of the year, and some survey data here and there.

TVs are no different from computers nowadays, it seemed like untapped potential for targeted advertising.

<comment><USER28> > TVs are no different from computers nowadays, it seemed like untapped > potential for targeted advertising.

So are those of us who maybe don't want to be advertised to on every surface of every room at all times just supposed to go live in the woods, or what?

<comment><USER29> They cut down a few trees near where I live to put up billboards. Your woodland escape won't last.

</comment></comment></comment><comment><USER30> Disclaimer 1 : throwaway account Disclaimer 2 : Most of this is from memory, as I've worked on the subject of Smart TVs a couple of years ago.

Now, this comment is about TVs, not computer/streaming/whatever. It should give some pointers for people who want to understand how we got there.

First a bit of context (feel free to skip this step) :

First of all, there are several competing standards for digital television. Major ones are DVB (Europe, Africa, part of Asia), ATSC (North America) and ISDB (Japan, South America), China has its own thing (DTMB). Then, there are several ways to distribute it : by Cable (DVB-C, ATSC-C, ISDB-C), by air (ground antennas, named Terrestrial) (DVB-T, ATSC-T, ISDB-T), by Satellite (DVB-S, ATSC-S, ISDB-S) and lastly by IP. Not everything is supported, of course. Your US Smart TV won't be able to pick up EU channels, because the tuner is not the same. Now, historically TV was a one-way communication : broadcasters sent content, which was picked up one way or another by your TV. Then broadcasters tried to make the TV experience more interactive. I won't speculate about the reasons, but fact is that : early 2000-2010, lots of standards popped up to add interactive capabilities to a television. Things like DVB-MHP (also called DVB-J), ATSC packages, MHEG 5, DAE, ... Now (2019) things are more or less settled in the Western world: DVB regions use HbbTV, ATSC 3.0 regions use ATSC 3.0 apps (they have no names).

Interactive TV : But what is "interactive TV" anyway ? You can already interact with your TV, that's called a remote control. Well, with those interactive TV applications, you can interact with the channel. If you a little rectangle prompting you to press one of the color button (typically, the red button) of your remote to get more information on the current channel, or access to additional content, that's an interactive application being executed on the TV. In HbbTV and in ATSC 3.0 apps, those are Web apps (bunch of HTML/CSS/JS files + some resources) executing on your TV when you watch a channel. Now, as a broadcaster, how do you broadcast those application to the TV ? 1\. You pack everything into the stream and the television executes it ; there are ways to do that. It's like a pure client-side application. 2\. You tell the television to fetch it remotely. This way, the television asks to something else for the content. The TV no longer is a dumb receiver, it must also be able to contact to the world.

The back channel : This communication interface with the world is referenced as the "back channel" (or "return channel") in specifications. In DVB world, the back channel is an Internet connection : whether Ethernet or Wi-Fi. In ATSC 3.0 world, I can only speculate (I've only skimmed through the specs). From my understanding, you still can do it the IP way (Ethernet/Wi-Fi), but there is a specification for another way of communication (may be over cable/radio), credits to tenebrisalietum for pointing that out in the comments.

And what about advertising ? Again, I won't make any hypothesis about why broadcasters want targeted ads. Fact : In recent years the DVB group and HbbTV association has thought about targeted advertisement. The working group was named DVB-TA [1]. If you have a TV which is able to execute arbitrary applications from broadcasters for one, to fetch remote content over the Internet for two and if you happen to have a profile for the users of a specific TV set, then it is a not too hard for a broadcaster to create an interactive application that will replace every "generic advert" broadcasted by a more targeted one.

As stated, all Smart TVs today fulfill point one, they may fulfill point 2 if they're connected to the Internet or have an alternative back channel. For point 3, I only _suppose_ that broadcasters have ways to build profiles on their viewers.

Other interactions : There are other types of interactions which are part of the specifications. Things like Companion Screen, where the TV communicates with a smartphone/tablet. Usually it involves downloading the application from the TV manufacturer. There are also some specifications which detail some interactions between smartphone and TVs (though some of it is also vendor- specific). On the technical side, the two devices must share the same local network and everything is done in UPnP.

Generic applications : Smart TVs also have app stores, where you can download and execute applications for the TV's underlying operating system. Android TVs have Android apps, Samsung TVs have Tizen apps, LG TVs have webOS apps, ... Those are not the same as "interactive applications" mentioned above (interactive applications are transmitted/signaled over the digital television stream, you don't get them from an app store).

Security and Privacy state of the art by memory : Research on the subject focused on DVB and more specifically HbbTV. wrt security, the two founding presentations were by Herfurt in 2013 at 30C3, then by Oren et al. at Usenix Security 2014. On the privacy side, Ghiglieri et al. published multiple studies regarding the use of tracking technologies inside HbbTV applications. To the best of my knowledge, there has been no independant presentations that looked into ATSC 3.0 interactive applications security or privacy implications. (You can find related talks from the people who wrote the standards)

[1]: [https://www.hbbtv.org/wp- content/uploads/2018/11/11_Angelo-P...](https://www.hbbtv.org/wp- content/uploads/2018/11/11_Angelo-Pettazzi_How-DVB-and-HbbTV-are-working- together-on-Addressable-Advertisement_Berlin-2018.pdf)

</comment><comment><USER31> > AdSmart allows brands to show different ads to different households watching > the same programme, enabling advertisers to target campaigns based on > thousands of combinations of demographic, location, interest and lifestyle > attributes.

This essentially pushes GDPR to the edge in terms of taking your personal user data and selling it to advertisers. Yes, Channel 4 is kept alive on life support due to ads, but I can only imagine the tons of data I will hand over if I connected all my social media accounts to my smart tv, channel 4, sky, etc.

If that's what they think the future of TV is, then I'd have to call the library across the road my second home then.

* Also joins Apple TV+ waiting list.

</comment><comment><USER32> Sweet! I have waited so long for this. My friends may never truly understand me but at least my brands will.</comment>


There is no 'now':  Problems with simultaneity in distributed systems - <AUTHOR> https://queue.acm.org/detail.cfm?id=2745385

<comment><USER2> Past post with discussion:

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

(Other posts, but no other discussion)

</comment><comment><USER3> Just to be clear: the laws of physics _aren 't_ a barrier -- given a conventional reference frame, even in relativity, everyone will agree on a total order of events (e.g. when using GPS receivers, atomic clocks and doing the math correctly). The problem is reliability of components.

</comment><comment><USER4> Ordered Sequence of Events as seen by each collaborator. That's all that matters!</comment>


Beautiful showroom website from Honda Australia - <AUTHOR> http://crv.honda.com.au/

<comment><USER2> It's ok, I find their to be some strange half-images in the transitions, and in general it is quite dark and cluttered for my tastes.</comment>


Ask HN: Developers – would you ever consider becoming an SDET? - <AUTHOR> TL;DR: If you are currently working as a developer, would you ever consider changing tracks to become an SDET - a developer who doesn't work on front-facing code, but instead works on test code, internal tools, and does exploratory and computer-aided testing? -----
I'm in the unenviable position of trying to hire an SDET(http://jobs.jobvite.com/careers/animoto/job/oWhy2fwx). It's not easy.
Most of the applications you generally get for an SDET job (certainly in my experience in NYC, this may be different nearer to Redmond) are: * Test Automators - people with experience writing automated tests, often in a proprietary scripting language.
* New college grads who are just looking for anything with coding * Developers who don't really care about testing and want to get their foot in the door.
Now, any of those could work out great as an SDET if hired, but what I always hope for is someone with experience working as a Developer focused on Test, or even a Developer who genuinely wants to make the switch to SDET.
Of the SDETs that I've talked to, I've found that most wouldn't rule out the possibility of doing some other kind of front-facing dev work, but I can't remember ever meeting a developer who would go the other way. SDETs are rare and getting rarer!
If you search for "SDE to SDET" (just like that, with the quotes) all of the results you get back are STILL about switching from SDET to SDE! Apparently it's unheard-of to move in the other direction.
So I'm curious; if you wouldn't want to work as an SDET, why not? If you have switched to being an SDET, how and why did that happen? <comment><USER2> It's an interesting question. I've always viewed SDET's as the red-headed step-children within a dev organization...but I don't have a good reason for feeling this way. It's a legitimate role, and takes a lot of skill. But for some reason, when I'm on the job hunt, I never even come close to considering positions that were labeled as SDET.

I'm not sure why SDET roles leave such a bad taste in my mouth. Maybe it's because they're typically looking for junior devs, or maybe the role just feels too removed-from-the-action.

Ironically, I've worked in positions that would be considered by some to be an SDET role (I spent all day writing tests to raise the coverage on other people's untested code) ...but those roles were advertised as "Senior Software Engineer", and framed as "we need someone senior to come in and look after the code that the junior guys are writing" so I felt better about it. I guess it's all how you frame it. If you take the position that the role is less of a janitor, and more of a manager, then you might attract more senior folks.

I your particular case, I'd also add the advice to remove the coding challenge from step 1. As a senior/lead dev, I'm always up for a coding challenge during the interview process, but only after I've touched base with a real human. I'd never apply to a role that required a challenge up-front just to send in my resume. Just my 2 cents.

<comment><AUTHOR> A lot of this hits home. I like the idea of reframing the role as more of a straight engineer - probably the the SDET title has become loaded and/or widely misused. I think I probably also need to think some more about a solid career track to get SDETs into a place where they can play the role of senior engineers.

\- about the challenge in the job application - I actually did another Ask HN about whether that was a good idea. Almost universal agreement that it was not ensued, so I intended it to be very optional. I've not been penalizing anyone who doesn't do it, but I immediately take notice when anyone does. Sounds like I need to go back and work on making it more clear that it's optional.

</comment></comment><comment><USER3> Sounds like, "I'm looking for someone in the majors who is interested in switching to playing minor league ball." If you had a fantastic developer who you could use to build new product that drives revenue or use them to write tests for the current product, which task would you put them on? Which task would your CEO want them on? Which task is going to get the most visibility in the company and offer the best opportunity for promotion? If the org had a huge issue with quality, I may temporarily put them on QA to get things organized and structured, but after that I'd want them on new product or refactoring current product for faster velocity.

A business can exist without tests, but tests can't exist without a business. I love and appreciate great QA people, but I also believe there is a hierarchy and you can't ignore it. You can offer a path up, either to manage QA or a future switch to dev. You can offer to pay more for QA. You can integrate dev and QA. But I don't think you can realistically get the same caliber developer at the same level in pure QA as in pure Dev without it being detrimental to retention and the business. You can try to create parallel org charts for the two roles, but the hierarchy will still form.

<comment><AUTHOR> I think organizations make that kind of choice all the time. They take fantastic devs and make them leads and managers in the hope that it will have a multiplicative benefit on the business.

And they do devote resources to test - but by hiring testers. It might be great if a company could devote some of its devs to test, but I suspect the reason that they wouldn't is that the devs wouldn't want to.

I take the point about integrating Test and Dev, and probably it would need to lead by example from the Test side...

:) I do also take your point about what actually happens in the real world. This is the kind of response I was expecting - it's super helpful to see it articulated.

</comment></comment><comment><USER4> I was a software engineer at my previous job. I was mostly unhappy with the environment (lack of challenge). My friend was a recruiter at a company and was telling me about opportunities in said company. One of which was a SDET roll. At first I was hesitant, but it isn't 100% testing. Although, I enjoy the testing aspect.

Tbh, the biggest thing was 'getting my foot in the door' and they paid to move me to a location more appealing. But, I've always enjoyed automation (bots, scraping, fuzzing, etc) so it was a good fit for me.

The main concern with SDETs is the lack of mobility and lack of definition. Many places I've seen that have SDETs just have a "SDET" roll. Maybe, a lead roll as well. While they would also have SDE 1-5 + lead + management + etc. So people feel there is no growth, you get in, you do your time, you get out. Others are less dependent on the 'engineering' side. At my first job the SDET didn't use visual studio at all, they used automated testing tools, where they drag/dropped crap to make tests.

<comment><AUTHOR> Lack of agreed definition, for sure. The title 'SDET' in itself doesn't at all tell you enough about what a role is going to entail.

</comment></comment><comment><USER5> I don't think I would apply for a SDET job. The sense I get of such a job is that I

\- would need to write automated tests, often in a proprietary language (yes I am quoting you, but it hits the nail on the head)

\- wouldn't learn anything from the SDE perspective so it is a dead end if I don't want to do SDET forever

\- would be under tight deadlines and would be encouraged to write unmanageable code

\- would be working on rapidly changing APIs/UIs and so would want to write unmanageable code because there is not too much reason to invest in quality code that will be obsolete in a short time

Generally, it is a potential code monkey job, little skill and domain knowledge required, and easy to outsource.

</comment><comment><USER6> I could probably have been convinced at points but it's a hard bargain since SDET career path almost feels like it requires SDET -> SDE. It helps that I've done SDET in an environment where I was given the right mentoring/inputs that I have a fondness for it. Otherwise, again, for career choices it seems like SDET wouldn't last long.

Aside from career overall and given that I do enjoy automating things, playing against bounds of things, etc. but, again from my personal experience and as indicated, those skills are often in something that doesn't transfer (e.g. proprietary languages) and/or is very product-centric.

</comment><comment><USER7> I'd do it if you offer equal or better pay as your other positions, and you were in Sydney. I was the tech lead who introduced concepts such as code reviews, jenkins, unit testing, code coverage into the company, so I have some experience in that regard. I thought about asking if you'd hire remote but the time difference is too much. Your challenge looks like a fun afternoon otherwise.

</comment><comment><USER8> You should have a hybrid position of SDE && SDET. So that prospective candidates won't have that feeling - "I will be only testing other people's code. I won't be able to work on new features" etc...

Also, remember that we're in XXI century, make it REMOTE.</comment>


Show HN: Krisp – a practical noise canceling app for iPhone - <AUTHOR> https://krisp.ai/blog/krisp-for-ios-revolutionary-app/ <comment><AUTHOR> Noise cancellation on iPhones (and other phones) is outdated as it doesn't support the form factors people increasingly use. It only works when we hold the phone close to our mouth.

We have built Krisp iOS app to fix this. Krisp is powered by our infamous Deep-Learning based noise-canceling technology.

The app is very simple, yet quite practical. You can join Zoom, Meet, Webex, etc meetings with a single touch and also call any phone number you want, without worrying about background noise.

</comment><comment><USER2> Please don't have your friends upvote or post booster comments in the thread. Especially not the latter. It means we can't salvage the thread even if we want to.

[https://news.ycombinator.com/newsguidelines.html](https://news.ycombinator.com/newsguidelines.html)

</comment><comment><USER3> I saw this app previously featured on ProductHunt! If I call someone with this, will it show my own caller ID or no? I want people to recognize me when I call them using this.

<comment><AUTHOR> CallerID is not supported yet but it will come soon.

</comment></comment><comment><USER4> Great app! Any plans to release Krisp on Android as well?

<comment><AUTHOR> Yes, and hopefully very soon.

Apparently getting access to the microphone stream during calls, even from your own app, is really tough. There is only one provider that we know that implements the concept of "advanced audio filters" and that's Twilio's Voice SDK for iOS.</comment></comment>


On Monopolies, Apple, and Epic - <AUTHOR> https://ia.net/topics/monopolies-apple-and-epic <comment><USER3> This piece is terrible.

Full of straw men, dishonesty, ad hominems, and deeply one sided.

One way to make this piece better, the author needs to stop pretending that the only people who are supporting Apple against Epic have no experience shipping apps.

I have shipped many, and I vehemently disagree with the author.

It seems to me that there are just as many people on both sides of this debate with experience and just as many who don't have it. The author's claim is disingenuous.

Another claim that must be queried is the idea that Android users are by definition people who don't want to spend money.

This seems like it's a true observation, but unless we ask _why_ it's true, we can't reason about this topic.

Apple will of course say it's because of the effort they have put into building a safe platform, and the fact that they maintain a place where people are willing to spend money on software is exactly why they should continue to receive commission.

If we stop Apple from doing what they are doing, it's completely plausible that we'll end up with everyone having the willingness to pay that is demonstrated by Google Play, and software sales decimated by piracy.

It's worth noting that I would love an environment without a gatekeeper. I actually agree that it's bad for Apple to have this power.

I simply don't see any reason to believe that forcing Apple to allow other stores (which is technically problematic since it requires that the state force Apple to maintain software) would produce the desired outcome.

I also think it's completely disingenuous to dismiss benefits like security. That just makes it seem like the author doesn't have experience in the area. Malware is an obvious problem which clearly does exist.

Disclaimer: I love IA's products. I think they are some of the best on the App Store.

<comment><USER4> My interpretation of the piece is that it is advocating for the _reduction_ of the Apple cut and less reliance on the subscription model. Not alternate app stores, lesser security or lesser privacy.

I think the vast, vast majority of the app store developers would agree that the App store cut of 30% is not reasonable (or sustainable).

>a place where people are willing to spend money on software is exactly why they should continue to receive commission.

What part of the piece said "Apple should not receive _any_ commission"?

>I simply don't see any reason to believe that forcing Apple to allow other stores

What part of the article claimed "the solution is allowing other stores"?

It looks like you have no problem with strawmen when they're yours. The piece could have been better written, sure. But your reading of it seems very disingenuous.

<comment><USER3> Epic's demand is that they be allowed to run their own Store.

The article strongly supports Epic, and dismisses all counterarguments as 'bullshit' or uses ad-hominem.

The fact that they do this but then don't even mention what Epic is actually asking for, shows that it is not my reading, but the _article_ which is disingenuous.

Supporting Epic _is_ to make the argument for other stores to be allowed.

Epic's strategy simply doesn't allow for the remedy to be a reduction in percentage. They are all in on being allowed to run their own store.

If you support this is what you support.

In addition, the article clearly claims that the security argument is 'bullshit'.

That claim is simply incompatible with claiming you want to maintain the current level of security.

I didn't mention privacy.

It's also worth noting that nothing in the article does any work towards explaining how to reduce reliance on the subscription model, and it certainly makes no case for how Epic, or anyone else would achieve that.

It just says users 'hate' subscriptions, but then says they aren't needed in order to run a successful App business anyway, which is oddly conflicted.

It's a bad piece.

<comment><USER4> >The fact that they do this but then don't even mention what Epic is actually asking for, shows that it is not my reading, but the article which is disingenuous.

Are you kidding? He "mentions" it right here -

>Epic doesn't want a reduction to 5%, it wants to pay nothing and run its own store on iOS. Which, let's be real, has to be a negotiation tactic. On its own store, Epic charges 12% to developers.

The author doesn't think Epic _even wants its own store_ and that the ask is merely "a negotiation tactic".

I don't see how you can interpret that as wanting Epic to have their own store like you claimed. How can he want Epic to have their own store when he thinks _they_ don't even want one!?

Secondly, you said he advocates for Apple earning 0%. Here's the closest thing I could find:

>30% share is too much. 30% is what a run operation makes in profit. It's higher than the highest tier in corporate tax. every developer we talk to and Business analysts around the world say 30% revenue share comes from a dark fairytale. What would be a fair share? 5% would be a fair share. Is there hope?

From this you claimed the author wants Apple to earn 0%? Really? The author merely suggested 5% is closer to a fair share. He never said what you claimed he did.

I'm not interested in debating the App store or the article per se. I just wanted to point out the irony of harshly condemning him for using strawmen, and then shamelessly inventing several of your own.

1) He didn't advocate for Apple earning 0%, and 2) didn't advocate for Epic having their own iOS store, and (3) absolutely _did_ mention that Epic claims to want an app store.

Per the above, you've now mis-represeted the authors` words several times in the space of two comments. That's not cool, no matter how "bad" you think the piece is.

<comment><USER3> I believe you would be correct under only one circumstance.

That circumstance would be the one in which the authors is both sincere in their believe that Epic is not being honest about their goal and correct.

If you support Epic, and you believe they are being honest, then you do in fact support Apple getting 0%.

I don't misrepresent the Author at all - they claim that 30% is too much, and that they support Epic.

However, given the sarcasm, ad-hominem, and dismissiveness inherent in the piece it is completely reasonable to question their sincerity.

Your read of the piece is based on assuming Epic is being dishonest in their objective.

This is completely unexamined by the author and there is no reason at all to take it at face value, when the entire piece is arguing _not_ to take other people's positions at face value. (I.e. they call other position 'bullshit')

I am not being disingenuous.

If someone wants to make the argument that _Epic_ is being disingenuous, that is fine.

Your reading of the piece seems to rely on that, but yet it is not argued - <USER2> is just assumed. The piece also dismisses other people's views in the disingenuous ways I have already outlined.

The piece is terrible. It's not an argument at all - it's just ad hominem. The piece is basically saying everyone's position is 'bullshit' including Epic's but Epic is the hero.

Your reading just reinforces that.

<comment><USER4> >I don't misrepresent the Author at all

Wow. Lets recap:

You claimed the author never mentioned Epics' stated goal of running their own store: Provably false.

You claimed the author wanted Apple to get no percentage: Provably false. He never said that, you're inferring it (!?) from his support of Epic. Yet Epic earns 12% in its own store.

Presumably Epic thinks 12% is a reasonable take for an App store?

You claimed the author wants Epic to have their own store: Provably false. The author thinks Epic is bluffing (Epic may or may not want a store, but what we're debating is what the _author_ said, not what Epic said/wants/believes).

You've misrepresented the author at least three times (I've noticed others but don't have the time or inclination to point them out).

>Your read of the piece is based on assuming Epic is being dishonest in their objective.

My reading of the piece is based on the words actually written by the author. You're inferring a whole bunch of things based on the authors' "support" of Epic. Stop focussing on what you think Epic wants and read the words the author wrote.

Take a hint from the replies you've received here and try to do better.

<comment><USER3> I'm doing just fine, but you are misrepresenting me now.

If Epic runs their own Store alongside Apple's and takes 12%, then Apple will get nothing from those sales.

Oddly, your previous comment contains a quote which agrees with me:

>Epic doesn't want a reduction to 5%, it wants to pay nothing and run its own store on iOS.

Which you gave chosen to now disregard.

This is simply what it means for Epic to be allowed to run their own Store.

I am not focusing on what "I think" Epic wants.

I'm focusing on what _Epic says_ that they want, _and_ what the author says.

Why should I only base my view on the author's words?

Facts matter when putting those words in context, unless you are suggesting we critique the piece purely as a work of fiction.

The author's position is that Epic is lying about what they want for strategic reasons. As you say, a bluff.

But the author is dismissing opinions to the contrary of their own as "bullshit" or the opinions of people who don't know what they are talking about etc.

My reading is based on the words the author is saying.

You can do better by addressing my points as written and not misrepresenting them.

The piece is terrible, and contains all of be problems I attribute to it.

It also contains some valid opinions and interesting ideas to debate, but it claims them as fact, and uses innuendo to fend off criticism.

An obvious example is the dismissal of security concerns as 'bullshit'. The author asserts that people who don't have experience shouldn't comment or be taken seriously, but we have no reason to believe the author has any serious security experience, because their claim was to expertise is that they have been developing an excellent Markdown editor for the past decade.

See how the piece is bad?

If you start to acknowledge what's true about the faults of the article, we might be able to have a reasonable debate over the parts of the article which are worth exploring.

If you can't admit that the article contains problems, so be it.

<comment><USER4> Stop. Just stop. You may have missed it (surprise, surprise!) but I've already been quite clear:

>I'm not interested in debating the App store or the article per se. I just wanted to point out the irony of harshly condemning him for using strawmen, and then shamelessly inventing several of your own.

I don't know how to be any clearer to you. I really don't. I don't care about the article anymore. You've taken out any potential fun from debating the actual message by being blatantly and unabashedly dishonest about its content.

Please, please take a hint from the replies to your comments here. No one will engage you in civilized debate when you demonstrate such a careless disregard for trying to understand what is written in front of you.

Oh, and a stylistic tip that might help (assuming you're actually interested in having respectful, honest, civilized debate someday): Try using paragraphs in your writing. There's a reason paragraphs are a thing; disjointed random sentences come across as incoherent rambling.

Don't bother replying. I'm not interested. Best of luck.</comment></comment></comment></comment></comment></comment></comment></comment>


How to be a program manager - <AUTHOR> http://www.joelonsoftware.com/items/2009/03/09.html

<comment><USER2> I don't understand why Joel calls out Fried on functional specs and describes the exact same 2 step process:

\</comment><comment>-----

Joel Step 1:

 _You start at the highest level: a vision statement, no more than one page explaining the gist of the new feature._

Fried Step 1:

 _So what do we do in place of a functional spec? We write a one page story about what the app should do. If it takes more than a page to explain it, then it's too complex._

\</comment><comment>-----

Joel Step 2:

 _Once that's nailed down, you can develop storyboards… mockups of the screens showing the user's progression through the application, with detailed notes showing how they work._

Fried Step 2:

 _Then we begin building the interface — the interface is the functional spec. First with some quick and simple paper sketches, then directly into HTML. Unlike paragraphs of text that are open to alternate interpretations, interface designs are common ground._

\</comment><comment>-----

<comment><USER3> Because Fried makes a big deal out of "not doing functional specs' when he's, essentially, doing functional specs, just not calling them that.

He's opposed to BAD functional specs, which is fine, but too many people read his title and decide it's OK to skip to writing the code first.

<comment><USER4> One important distinction that a lot of agile people make is more around writing down the specs; as the PM you still do work up front to think about what to do, make mockups, do your homework, etc., but when it comes time to communicate to developers it's done as stories (much less detailed than specs) and with in-person communication for clarification (or, under less ideal circumstances, over the phone or e-mail or chat). The process of getting to the story in the first place ought to involve plenty of back-and-forth, design vetting, and mockups, but once you get there you don't build something based on a spec of any kind.

The theory there is that written documents will always be out of date, incomplete, stale, and open to multiple interpretations, so we might as well just accept that the face-to-face communication is infinitely higher bandwidth and will have to happen anyway and not waste the time trying to write it all down up front.

So if the PM needs to spec for their own edification, that's fine: do whatever works for you. But I, as the developer, will trust the PM themselves as the source of truth as to what the feature should do, and it's the PM's job to know what they want well enough to answer my questions real-time as I'm building.

<comment><USER5> As a developer on the receiving end of "stories" I find that a few sentences on an index card are, in most cases, woefully inadequate at describing the desired functionality. So what happens is you end up going back and forth to the PM with your questions, which is inefficient, OR you make assumptions to fill in the gaps, which sometimes works out well and sometimes does not.

On the other hand I've also had the unhappy experience of wading through dense, arcane specification documents written in stilted language ("the system shall...." ad nauseum) that are ultimately not much better.

In the end I think what this illustrates is that writing a good, concise, clear, complete functional specification is not easy. It requires a talented PM and no formulaic approach, whether it is agile or anything else, can get around that.

<comment><USER4> The solution to that in our case, at least, is that the stories aren't just handed down with no explanation from a product manager. Instead, there's a team-wide "estimation session" every week where everyone (dev, PM, and QA) attends and we take the higher-level feature ideas, including any initial supporting documents (market research, mockups, desired use cases) and break them out into smaller, estimated stories. At that point everyone has a chance to ask for more detail and clarify any concerns they have, point out potential difficulties, suggest alternatives, etc. So stories are only scheduled for work once they've passed that initial stage where everyone was involved; if things are too vague, or technically impossible, or otherwise unready for development, they don't make it out of the estimation session.

It definitely still requires good product managers, but again the idea is that no matter how good the spec or whatever is you'll still always have questions, and it's better to just build that fact into the process and get people used to asking questions rather than having people make assumptions. And the best way I've seen to make sure that the PM has the answer to those questions is the estimation session, since if the PM doesn't know what they want well enough to answer the questions quickly as you develop, you'll find that out in the estimation session before anyone is tasked with working on the feature. That at least largely avoids the situation where a developer starts working on something and finds out the PM really didn't have a great idea of what they wanted after all, or that it's technically infeasible, which (in my experience) is just a really bad situation to be in.

The story approach still presents endless ways to screw up, but it's far better than any other approach we've tried over the last 7 or so years.

</comment></comment></comment></comment></comment><comment><USER6> The distinction between _functional_ design and _technical_ design is very important and often overlooked. Some developers tend to miss it or mix it up.

I have worked with programmers who felt they lost all control because they were not driving the functional design. However, they did truly have control, as Joel points out, because at the end of the day they still own and decide the technical design which is generally better aligned with their unique skills.

Good functional design tends to be technology ignorant by being more focused on _what_ something is going to do from a user's perspective versus _how_ it is going to do that something behind the scenes in code (as defined by the technical design).

While a functional design can be written out as a spec, the technical design can be developed and evolve as you write actual code if you follow an agile, iterative style of development. I think writing a technical spec (not to be confused with the functional spec) and handing it off to junior developers is why people get turned off by the idea of creating documentation on how something is going to work by someone who is not going to be the one actually implementing it. (In Joel's article, it is what Charles Simonyi was trying to define as program manager.) Once again, this is not the same as someone who provides a functional design spec.

Alan Cooper's The Inmates Are Running the Asylum does a really good job drawing out and describing that distinction between the areas of functional vs technical design (although if I recall he uses different terminology to describe the two but the same concept nonetheless).

</comment><comment><USER7> Joel's definition of Programmer Manager is closer to what I know as a Product Manager (except for the co-ordinating teams bit).

The APM definition of Program Manager (which covers a lot more than the software field) is someone who manages a portfolio of projects, balancing resources to deliver results. This is also roughly the definition that Wikipedia agrees with.

I agree with a lot of the rest though, especially: "It helps, as a program manager, to be pretty good at coding yourself. This is unfair. Program managers aren't supposed to write code. But programmers tend to respect programmers a lot more than non-programmers, no matter how smart they are. It is possible to be an effective program manager without being a coder, but the burden of earning the respect of the programming team will be higher." That goes for Project/Program managers as well as Product managers.

</comment><comment><USER8> I found it incongruous how Joel seemed to be in charge of the whole operation, with all these long-established gurus reporting to him - a guy fresh out of college, who (modesty?) didn't know anything.

This setup drove home his point for me, that _The program manager and the developers have to be peers._

Joel _wasn't_ their boss. He was just the spec guy ("program manager"). Still, he must have some serious smarts to land such a job - possibly great coding chops _plus_ being able to communicate well. Rare.

<comment><USER9> From what I've seen, becoming a PM does indeed require serious breadth of smarts. I don't know about MSFT, but at Google being a PM requires technical skills, communication skills, design skills, and market insight. I interviewed for a associate product manager internship at Google, which is extremely selective (I was told they only take 10-15 APM interns a year). I had two on campus interviews with PMs, then an interview with a PM _at_ Google (most people have a technical interview at this point too, with a Google engineer, but I had interviewed for engineering in parallel so I had effectively had that one already), and then the final step was to write a three page essay to be reviewed by a hiring committee. I didn't get the internship, but they had told me that the essay was the final round either way. Four interviews and an essay might not sound like a lot, but keep in mind this was just for an internship.

The APM interviews and the essay were very nontechnical. They mostly focused on product design and consumer experience (not limited to web/tech stuff), as well as one or two about industry in general (which I was pretty crap at answering). The most technical APM interview question I had involved coming up with strategies for improving AdSense performance and helping suggest keywords to advertisers. However (if the technical interview that regular APM candidates get were like the ones I got as first-round engineering interviews), the technical interview is pretty tough. Not impossible, but harder than MSFT or Amazon first-round...probably on par with MSFT second- round. And as a CS student I found the APM interviews the hardest of all.

</comment></comment><comment><USER10> The rest of the world calls this role a Product Manager (happens to be what I do, too).

cf. Marissa Mayer, Ev Williams, Joe Kraus, Steve Jobs (on a high level), etc.

In Fortune 500 hell we call it 'Business Analyst' (because in bizarro enterprise software world, users and what they do with your software is called 'the business').

In Agile/Scrum they call it the 'Product Owner'.

Point is that someone needs to keep the big picture in mind and serve the interests of the end-user, all while sweating the details from their perspective as well.

<comment><USER11> I've been a part of Scrum teams and I can tell you from a personal experience that Product Owner cannot do this much in a , say, 4-week sprint. I doubt it. At least, during my stay, I never say Product Owners creating specs, talking to QA and etc.

</comment></comment><comment><USER12> ... and this explains, in detail, why Microsoft products are so much more difficult to use compared to Apple (designed by industrial designers) and less functional than FOSS (designed by programmers and domain experts). They are designed by committee and program managers who are smart, but fresh out of school with no real world experience.

<comment><USER13> I have enjoyed Microsoft bashing a lot over the years, but a lot of real people have managed to do a lot of real things over the years with Microsoft software.

Maybe it is just as legitimate to say "Microsoft products are more functional than Apple products (designed by industrial designers) and more usable than FOSS (designed by programmers and domain experts)," and that is a better sweet spot for software design? For example, what software is better overall than Excel and Word in their categories, when both functionality and user interface is considered?

<comment><USER12> Agreed. Microsoft has released best of breed products. But Microsoft's product decisions are largely driven by "PMs", whereas open source is driven by technical merit and Apple is driven by industrial design. Microsoft occupies this weird middle ground, call it "pragmatism" (or even MBA-driven design :-).

This middle ground results in weak consumer products like Vista and Microsoft Mobile. They aren't bad products, but lack the polish an industrial design- driven process could have produced. They also lack the technical depth that open source is producing. As a result Microsoft is getting squeezed from both ends.

Joel's products are similar: a good middle ground. Neither awe-inspiring (technical) or fun to use (design).

<comment><USER14> This post contains lots of oversimplifications that don't do justice to Microsoft, Apple, or FOSS.

First, why do you think pragmatism is weird? As jimbokun pointed out, you're framing it as if it's OK to focus on either design or technical merit, but that trying to do well on both (which is what users actually need) is somehow undesirable.

I think your comment about "MBA-driven design" gets to the heart of your misunderstanding about what a PM is. Neither MBAs nor industrial designers are a substitute for PMs (most of whom are software engineers by training). Tell an industrial designer or an MBA to design Exchange's system for handling the million special cases that come up when handling calendar synchronization. What do you do when two appointments are modified concurrently? What happens on the server when someone deletes their local Outlook data file by accident? When do you treat two similar calendar events as duplicates, when do you treat them as separate, and what's the most logical way to let users resolve duplicates/triplicates? How do you handle the many confusions that arise from people traveling across time zones? Which attributes of a person's calendar should be stored on the server, and which should be customizable on each specific device? I know industrial designers and MBAs who work in the software industry, and they would tell you that this isn't their job.

You also say that the middle ground results in weak consumer products like Vista and Windows Mobile. These two data points are cherry-picked. I could equally say that this middle ground results in _great_ products like Office 2007, SharePoint, Exchange, .NET, Visual Studio, SQL Server, and so on (not fair to limit this to consumer products, since Microsoft's biggest focus is on productivity applications. I could point out Apple's lack of success among business users, but I understand that this is not their strong suit and that's OK. Their ability to deliver for a growing set of high-end consumers makes them a huge success in my eyes.)

<comment><USER15> MBA is a degree, not a job title. There are tons of MBA product managers and tons of MBAs who can code.

<comment><USER14> Sure, that's true; I should have said "MBAs who are not software engineers". I think, however, that peterb was using "MBA-driven design" to imply "design by someone who knows business but not software engineering", and I replied by using it in the same colloquial sense.

</comment></comment></comment></comment></comment></comment><comment><USER16> So the conciser version is the program manager is someone who understands software design, usability issues and can communicate with every role in the company?

<comment><USER17> You must have been daydreaming about Sally in 11th grade. You forgot that _The program manager and the developers have to be peers._

I had this experience at KL Group with the marketing department, who owned the requirements and the UI. Marketing and development were peers, which reflected the company's structure: Greg Kiessling and Ed Lyclama (K & L) were co-owners. Greg ran the business while Ed ran the technology. Steve Rosenberg, the VP of Development, used to echo another of Joel's sentiments: Whenever we were depressed, he would remind us that _We own the compiler,_ meaning that nothing could happen with convincing, cajoling, or otherwise making Development a deal they couldn't refuse. Marketing and Development fought like wild dogs over the specs and shipping priorities, and we ended up taking over our market and making Ed and Greg wealthy men when they sold out.

A while later I worked for another company where marketing owned the requirements and UI, and the VP of Marketing executed a coup and got Development to report to him. The company failed shortly thereafter.

<comment><USER13> Yea, Sally. I wonder whatever happened to her.

</comment></comment></comment><comment><USER11> So isn't it really hard to interview Program Managers? This essay should have been more insightful had Joel included some information on how to hire Program Managers? I'm wondering how do Microsoft hire Program Managers?

</comment><comment><USER18> I never had much use for the PMs at Microsoft. On the other hand, every PM I knew there had a... let's say "large" sense of their own worth. Guess it was in the job description. Since leaving I have encountered PM-like roles doing everything from just documenting whatever crazy requests the users made, to ignoring the users and pushing for whatever they personally wanted. Occaisionally I have encountered someone who really added to the process, but it takes just the right person, and sadly that's been the exception rather than the rule.

</comment><comment><USER19> If you haven't taken the time yet you should read the Copilot spec. It caused me to rethink how specs should be written, and what is the right level of detail.

</comment><comment><USER20> Totally off-topic, that picture of the "Cemetery for soldiers' dogs" is from the Edinburgh castle right? It gave me a weird childhood flashback

<comment><USER3> Yes, good catch

</comment></comment><comment><USER21> Thoughts on how I can move towards becoming a program manager? I have the communication skills, I'm learning to program (ruby) and I'm learning to design webpages.

I'm not very interested in becoming a full on hacker but I want to help build programs and webapps because I feel I'm good at getting 'the big picture' and advocating for users/customers.

</comment><comment><USER22> Beware of hidden command structure. If you want to be "peers" with the developers, make sure they understand they don't have to do what you say. After all, most commands in corporate America are framed as questions, and many developers will assume that the burden of proof is on them, since you have "Manager" in your job title.

</comment><comment><USER23> _"Lacking a program manager, your garden-variety super-smart programmer is going to come up with a completely baffling user interface that makes perfect sense IF YOU'RE A VULCAN (cf. git)."_

Glad I'm not the only one who isn't a Vulcan.

</comment><comment><USER24> Joel, in case you are lurking around here, link for the book Don't Make Me Think is broken.</comment>


Ask HN: What happened to Breadcrumb POS? - <AUTHOR> <comment><USER2> Hi Erik,

Breadcrumb POS was acquired by Upserve in May 2016 ([https://upserve.com/news/upserve-acquires- breadcrumb/](https://upserve.com/news/upserve-acquires-breadcrumb/)), which then rebranded the product Breadcrumb POS by Upserve.

The company offers a Restaurant Management Platform, which brings together a restaurant POS, payments, analytics, a native mobile app for Android and iOS devices, and integrations with more than 24 other vendors (Grubhub, Dolce, 7Shifts, TapHunter, etc.) in the space. Upserve received a strategic investments from Vista Equity Partners in July ([https://upserve.com/news/upserve-partners-vista-equity- partn...](https://upserve.com/news/upserve-partners-vista-equity-partners/)).

Hope this helps. You can see the Breadcrumb POS website here ([https://upserve.com/platform/restaurant- pos/](https://upserve.com/platform/restaurant-pos/)).

Best,

Jesse Noyes, Senior Director of Marketing, Upserve</comment>


Ask HN: Why should (or shouldn't) I use Intersystem's Cache? - <AUTHOR> In a post I read from last week about ancient languages still in use I saw some HNers are using Cache. I know a lot of big enterprise systems, such as Epic and Cerner, use Cache, but I haven't been able to find a good reason as for why. So anyone who has had any experience with Cache, or Mumps, what are the use cases for it? <comment><USER2> One of my first summer jobs while studying was to help porting an application from MUMPS to Visual Basic. This was probably around the year 2000 and I was working on the UI mostly.

I still remember some of my colleagues scratching their heads to properly design the "backend" to make sure there was only one concurrent connection to Cache, as we only had license for one. This was supposed to be an app used by multiple users.

I don't remember much more details, apart from the fact that it was this job the one that made me decide I didn't want to be a software developer :)

As to why would anyone keep using that DB, I guess the other HNer got it right. Old, ancient code bases that "just work" and no one wants to touch with a barge pole.

</comment><comment><USER3> Those code bases were started in the mid to late 70s. MUMPS was hot shit at the time, at least for health care software. The language was created at Massachusetts General Hospital (affiliated with Dana Farber Cancer Institute and Harvard), put into the public domain, used be the VA (VistA), and others.

Advantages (at the time): freely available, everybody else is using it, easy to learn, interpreted, good performance on resource constrained hardware, multi-process/multi-user support, built in database/persistent storage.</comment>


[Python] aredis – an effcient and user-friendly async redis client - <AUTHOR> https://github.com/NoneGG/aredis <comment><USER2> If it meets the guidelines, this might make a good 'Show HN'. Show HN guidelines: [https://news.ycombinator.com/showhn.html](https://news.ycombinator.com/showhn.html)

<comment><AUTHOR> Thank you~ I am new here and don't know that guideline, thank you for reminding me of that. I will submmit again. ^-^</comment></comment>


A Hidden Flaw that Will Crash Apps on Android M - <AUTHOR> https://sourcedna.com/blog/20150806/predicting-app-crashes-on-android-m.html

<comment><USER2> Hi, I'm the founder of SourceDNA. We've built an index of the code in iOS and Android apps to quickly answer questions like this about how they were built.

TLDR; we created a tool that lets you just search for an app and see if it's affected.

[https://searchlight.sourcedna.com/search](https://searchlight.sourcedna.com/search)

In this case, the Android NDK does not include OpenSSL and considers it a private API, so developers have had to come up with their own approach. The correct one is to statically link your native extension with your own copy of OpenSSL or include a dynamic (.so) copy of it in your APK. But some developers were retrieving the library from a random Android device to link against, but then relying on the OS to provide exactly those same symbols.

Even more painful is that native libraries that were pulled into your project by some _other_ dependency can also cause the same issue. For example, Baidu's push messaging plugin depends on OpenSSL for crypto, so you wouldn't even know you were affected by this problem just by using it.

Affected apps will continue to work fine until run on the newest Android devices with Android M, such as the Galaxy S6, Note 4, and Nexus.

We scanned our index for apps that had native code, matched each app's binaries against libcrypto.so and libssl.so, and built a graph of each dependency linkage. Then we could trace the graph to find apps that had this flaw and exactly which of their libraries was at fault.</comment>


Show HN: SQL Back End for the Static Web and Mobile Apps - <AUTHOR> https://www.lite-engine.com/blog/hello_world.html <comment><USER2> Just wanted to note that clicking on "Pricing" ([https://www.lite- engine.com/blog/hello_world.html#pricing](https://www.lite- engine.com/blog/hello_world.html#pricing)) from the linked page ([https://www.lite-engine.com/blog/hello_world.html](https://www.lite- engine.com/blog/hello_world.html)), nothing happens.

<comment><USER3> Just found out that pricing has not been determined yet. Maybe that's why it's not linked.

<comment><AUTHOR> That's correct, pricing is to be determined, there will be a generous free tier. The link being incorrect was a bug, thanks!

</comment></comment></comment><comment><USER4> What's behind this? Postgres?

<comment><USER3> SQLite

<comment><AUTHOR> I wrote a bit on the rationale behind selecting Sqlite in the docs, I'll copy it here.

> Two reasons primarily, ease of use, and massive multi-tenancy. Sqlite > occupies a special niche among SQL database implementations, it's > everywhere, and no where. Because it's an embedded database, it's typical > not used for websites and mobile app backends. But it has been called the > most widely deployed database on the planet due to being included in just > about every mobile device. In our tests it has performed very well.

By 'multi-tenancy' I mean multiple databases per server, not multiple tenants per database. Each account gets it's own Sqlite db. We saw < 1ms requests for just about everything we tested (this is time to execute sql, the server adds some overhead). Of course our tables had indexes, and our sql was sane. To protect the service we will be rate limiting, and setting request timeouts. Details to be determined.

We've implemented application level caching with a 'X-Query-Cache' header, basically you'll only re-run a query if the data has change or the cache expires. More info in the docs.

[https://www.lite-engine.com/docs.html#why-sqlite](https://www.lite- engine.com/docs.html#why-sqlite)</comment></comment></comment>