80legs releases python API - <AUTHOR> http://blog.programmableweb.com/2010/04/08/want-to-search-the-web-in-python-try-search-spider-80legs/

<comment><USER2> I'm hoping this means we'll see a Ruby API soon ...

<comment><USER3> The Ruby API is still on the to-do list! Note that a Ruby _API_ is in the works, but Ruby _80apps_ are not.

<comment><USER2> Glad to hear it's in the pipeline. :)

Could you clarify the distinction between having a Ruby API and having Ruby 80apps?

<comment><USER3> The API lets you control job submission, result delivery, etc. 80apps control how you process the content on a per-page basis.

</comment></comment></comment></comment><comment><USER4> I can think of hundreds of evil uses for this service, but I cannot think of many good ones.

I'm sure there's lots. What are they?

<comment><USER3> Our customers do things like the following:

1\. Monitor online ad distribution

2\. Build directories of people on the web

3\. Check for IP violoations (digital watermarking, etc.)

4\. Build niche, localized search engines (picture searching, regional searching, etc.)

5\. Collect information on product pricing, retail data, etc.

Crawling gets a bad rap. It's useful for a bunch of stuff.

<comment><USER4> Yup, it certainly gets a bad rap... that's why I was curious what people use this for. Thanks for the info.</comment></comment></comment>


Huawei Technicians Helped African Governments Spy on Political Opponents - <AUTHOR> https://www.wsj.com/articles/huawei-technicians-helped-african-governments-spy-on-political-opponents-11565793017?mod=rsswn <comment><USER2> Comments moved to [https://news.ycombinator.com/item?id=20696032](https://news.ycombinator.com/item?id=20696032), which was posted earlier.</comment>


This Stripped-Down Blogging Tool Exemplifies Antisocial Media - <AUTHOR> https://www.wired.com/story/this-stripped-down-blogging-tool-exemplifies-antisocial-media <comment><USER2> Sounds like the very early days of web logging.</comment>


US PayPal users face marketing robot cold calls - <AUTHOR> http://www.bbc.co.uk/news/technology-33009774

<comment><USER2> User u/slowboarding on reddit gave a good explanation for why this policy is in place:

"Here is to Hoping this doesn't get buried because I know EXACTLY why they are doing this. TCPA legislation is ridiculous and it basically prevents the use of auto dialers for anything including texting or calling you when explicit consent is given. Look up some of the lawsuits on this stuff it's bull. For instance if you give PayPal your number and explicit consent to text it and lets say you fat fingered it and they text the wrong number. That's a $1500-$5000 fine for them for ONE mistake and that's not including legal costs when someone sues them for it. And there are a TON of scumbags suing for this right now. To;Dr- they're not evil they are protecting against people who make a living filing lawsuits on outdated TCPA legislation."[1]

[1] - [http://www.reddit.com/r/technology/comments/38hkhb/paypal_ac...](http://www.reddit.com/r/technology/comments/38hkhb/paypal_accept_robocalls_and_automated_texts_or/crv91q1)</comment>


Today, PlainBoards is one month old Maybe we can finally have a user now? :) - <AUTHOR> http://plainboards.com/why

<comment><USER5> If I'm your target market (and since you're posting here I'm guessing that you think that folk here are your target market) then my first thought is "Why would I use this instead of a stack of existing forum products that appear to be more polished and functional?"

Why would I use you over something like <http://vanillaforums.org/> for example?

Sorry to sound harsh - but at the moment the pitch is not convincing.

<comment><AUTHOR> Easy: they don't respect your privacy at all, whereas we do.

<comment><USER5> So "privacy" is your feature - cool.

You've got a long list of features on the home page - it's hard to tell that privacy is the USP of the product. Maybe you need to bring that forward a bit.

Maybe for most of your audience "privacy" is a feature - not a benefit - <USER2> you need to make clear what the advantages that your forum respecting privacy brings? What's my benefit? What things are easier for me? What dangers am I saved from? (as a user and as a business).

Finally - have you figured out whether privacy is enough of a benefit to sell the product by itself? Are there other features that sit in the bottom half of the Kano model (<http://en.wikipedia.org/wiki/Kano_model>) that need to be there before users will even consider the product? Maybe now everybody expects forums to have a minimum level of visual design? Maybe the initial UI appears to complex? Dunno.

<comment><AUTHOR> 1\. It's not the home page that was linked to. 2\. It's constantly repeated how much privacy matters all over the site. I frankly don't understand what you are talking about... 3\. The benefits should be obvious from reading the manifesto. 4\. The privacy is not the only feature, obviously. 5\. I don't understand whether you are saying that there is not even a "minimum level of visual design" or if it's "too complex", but a lot of work was put into it to be beautiful. 6\. I haven't heard of that model, but it seems very abstract. 7\. It's no wonder that nobody uses the service since nobody knows about it and it's impossible to get heard.

<comment><USER5> _1\. It's not the home page that was linked to._

You're right. My bad. Although that actually makes it worse :-)

The words "privacy" and "private" are not mentioned on your home page at all. If that's the boards USP then shouldn't it be a little bit more prominent there?

 _2\. It's constantly repeated how much privacy matters all over the site. I frankly don't understand what you are talking about..._

Normal people will not browse all over the site. The vast majority of people will just look at the home page. You need to convince and convert people there.

Take a look at the "why us" page you linked to. I've highlighted the areas you talk about privacy

<http://cl.ly/1P1c083v0r470y1m0k34>

If that's your _primary USP_ it's buried among the other stuff. And, as noted previously, not mentioned on your home page at all.

 _3\. The benefits should be obvious from reading the manifesto._

First, people are not going to go read the manifesto. At the very least they need to understand that reading a manifesto is necessary to understand your product.

Second, the benefits of your system are not obvious from the manifesto. To be honest It doesn't read like a manifesto. It's a rant ;-) Nothing wrong with that. Rants are fun. But it's not putting forward a position of "what things should be", and it doesn't seem to talk about how the product solves the problem at all.

You're familiar with the product - you understand how it fixes the problems. The casual reader will not.

 _4\. The privacy is not the only feature, obviously._

Obviously. But it seems to be the only one that you have that is a competition point with other forum operators. It's the reason folk will use your system rather than phpBB or Vanilla.

 _5\. I don't understand whether you are saying that there is not even a "minimum level of visual design" or if it's "too complex", but a lot of work was put into it to be beautiful._

As a new user this is what I'm seeing on OS X Chrome

        http://cl.ly/1R0d2P1e0W2B0a452T1P

which doesn't meet my idea of beautiful I'm afraid. Everything is presented at pretty much the same level of visual hierarchy. Uncommon functions like "Report" are put right next to common functions like "Reply". I could go on...

 _6\. I haven't heard of that model, but it seems very abstract._

It's a useful one to think about product features in if you're trying to disrupt an existing market.

Have a google around - there's a fair bit written on the topic. This might be a useful start <http://www.uie.com/articles/kano_model/> \- especially the section on "The Migration From Excitement Generator to Basic Expectations".

 _7\. It's no wonder that nobody uses the service since nobody knows about it and it's impossible to get heard._

All sites start with no users :-)

Getting heard is a problem. The best advice that I can give is to find a group of users who feel the pain points that you're trying to relieve a great deal - and pitch at them directly.

Two final random thoughts

1) I think one audience who might be attracted to your service, folk who are very sensitive to their personal privacy in all areas, will be concerned by the lack of information on how their data is treated by yourselves - <USER3> hosting organisation. You talk about the end-user. You talk about the businesses who might use it. You talk about the moderators. You don't talk about the hosting company, back-end security/standards, etc. There isn't a privacy statement for example.

2) The site functionality seems to mush privacy, anonymity, accountability of posting, etc. all together. There may be value in teasing them apart a bit.

For example: I've had dealings with a web forum for people suffering from chronic pain. These folk are very focussed on privacy (they're discussion very personal stuff they don't want the general public to see) and anonymity (they occasionally discuss the repurposing of recreational drugs that are illegal in some locations so they don't want their real identities becoming public) - <USER4> they're also _keenly_ focussed on accountability (they need to know that "alice" is the same "alice" across conversations/threads because it affects the level of trust in the information provided.)</comment></comment></comment></comment></comment>


Insect: High precision scientific calculator with support for physical units - <AUTHOR> https://github.com/sharkdp/insect <comment><USER2> [https://www.reddit.com/r/programming/comments/7v10po/insect_...](https://www.reddit.com/r/programming/comments/7v10po/insect_a_small_language_with_firstclass_support/)</comment>


Amazon interested in buying Boost from T-Mobile, Sprint: sources - <AUTHOR> https://www.reuters.com/article/us-sprint-corp-m-a-t-mobile-amazon-com-e/exclusive-amazon-interested-in-buying-boost-from-t-mobile-sprint-sources-idUSKCN1T02OV <comment><USER2> Sprint has been hemorrhaging money and customers for years. I have no idea why this merger is being fought. It's not like Sprint is a real competitor.

But back on topic: Boost is just an MVNO running on Sprint's CDMA network. What worse combination of technology can you have than being on Sprint's network and CDMA?

<comment><USER3> >"What worse combination of technology can you have than being on Sprint's network and CDMA?"

Please explain why CDMA is so bad. Your post is devoid of any technical details for such an assertion. CDMA has a number of advantages over GSM that informed Verizon decision to go with it in the first place. Advantages of CDMA include operating very well in noisy environments, soft hand offs, and better spectrum utilization(frequency hopping)which allowed unlimited subscribers per cell.

Verizon, who as much as I dislike them as a company has one the best networks in the US in terms of both call quality and coverage.

<comment><USER4> And Verizon is shutting down their CDMA network at the end of the year. It's an old technology that is being sunsetted. The problem with Sprint is that they are still relying on it for far too much (and they don't have broad enough spectrum holdings to make dual networks work well).

Additionally, a lot of Sprint's rural coverage relies on Verizon CDMA roaming -- which will be going away as Verizon sunsets their network.

<comment><USER3> >The problem with Sprint is that they are still relying on it for far too much (and they don't have broad enough spectrum holdings to make dual networks work well)."

Sprint has a crazy amount of 2.5GHZ spectrum holdings. They are already deploying that with Massive MIMO to move everything to LTE Advanced.

<comment><USER5> > Sprint has a crazy amount of 2.5GHZ spectrum holdings.

Which gets stopped by walls and wet leaves. It's great if you're in line of sight of a tower and own a device that supports HPUA (high-powered uplink).

If both aren't true your experience will be less than optimal as the phone will have to fall back to band 25 and band 26 LTE which still isn't being provisioned on 15mhz or 20mhz. This means the fallback frequencies will congest easier. In most markets because Sprint either lacks the spectrum to go wideband or needs to use it for legacy CDMA2k since they only support voLTE on like 4 high-end phone models.....

<comment><USER3> >"Which gets stopped by walls and wet leaves. It's great if you're in line of sight of a tower and own a device that supports HPUA (high-powered uplink)."

Which is why they are combining it with their 800MHZ spectrum from the old Nextel iDEN service. 800MHZ can pretty much punch through anything.

<comment><USER5> They do not use carrier aggregation between band 25/26 and 41.

There is not enough spectrum to run band 26 on more than 5mhz in most markets. This means it is slow and congests easily. The rest is used to support CDMA2k clients. As the parent post said, they don't have enough spectrum to run a proper dual network.

The stopgap solution at this time is to get a Magicbox[1] from sprint that will grab band 41 signals from outside and relay it as a new tower on band 25 or 26. Then the phone will just fall back onto 1X for calls.

[1][https://business.sprint.com/magic-box/](https://business.sprint.com/magic- box/)

<comment><USER3> I didn't say they used carrier aggregation. All of their macro cells are going to be converted to tri-band - 800MHz, 1.9GHz and 2.5GHz.

</comment></comment></comment></comment></comment></comment></comment></comment><comment><USER6> Boost is an MVNO that runs off of Sprint's networks today, but the sale of Boost is a commitment [1][2] T-Mobile made as part of their efforts to get the FCC to approve their merger with Sprint, with some very generous terms.

Remember that with LTE, there's no longer a divide between the GSM camp and the CDMA camp; it's the same LTE, although each carrier operates on various bands.

With the merger, and as phone firmwares are updated and incompatible handsets are cycled out, the combined LTE network is compelling. With Boost's current target market of urban youth, the fact most current Boost phones only support the Sprint's CDMA2000 3G and not T-Mobile's GSM-flavored 3G is less of an unfortunate fit than with a more general MVNO.

[1] [https://newtmobile.com/wp-content/uploads/2019/05/FCC- Filing...](https://newtmobile.com/wp-content/uploads/2019/05/FCC-Filing- May-20.pdf) [2] [https://web.archive.org/web/*/https://newtmobile.com/wp- cont...](https://web.archive.org/web/*/https://newtmobile.com/wp- content/uploads/2019/05/FCC-Filing-May-20.pdf)

<comment><USER7> > Remember that with LTE, there's no longer a divide between the GSM camp and > the CDMA camp; it's the same LTE, although each carrier operates on various > bands.

Don't they have antennas in different locations though? Like even if your phone doesn't have compatibility issues with SIMs or bands, calling it "the same LTE" makes it seem like you could just pay someone else and get reception in the same areas which I don't think is the case?

<comment><USER6> Your phone using a different-besides-your-home network is called 'roaming' and it's not uncommon. For this to happen, your phone needs to know which networks it should try to authenticate against.

A while back, Sprint and T-Mobile announced they'd launch a roaming agreement for LTE that would last for 4 years, and that would be honored even if their merger doesn't go through. According to some people [1] this went into effect in Summer 2018.

[1] [https://www.reddit.com/r/Sprint/comments/9548zg/tmobile_data...](https://www.reddit.com/r/Sprint/comments/9548zg/tmobile_data_roaming_has_begun/)

<comment><USER7> Yes in theory. But you can't roam the entire time or everywhere another provider has signal; in fact I've never managed to use it because I've only tried it in locations where my provider has awful coverage, and my phone's been unable to register. It's clearly only tailored to allowing you to get some semblance of service when you go out of the official range on occasion. It has various limits and T-Mobile terminates your contract if you roam more than half the time. So it's not like you can live somewhere out of their range and just change whom you pay your bills to and switch to roaming most of the time.

<comment><USER6> I don't understand what you're asking in your prior post when you say whether you could "pay someone else". Your carrier makes the agreements about with which others your phone could roam (and with who it can't), and your phone tries among the ones it can, but clearly not among the ones it can't. You continue to pay your bill to your home network. And yes, there are often restrictions with how much you can roam.

That being said, TMo and Sprint are making TMo sites advertise an old Sprint network identifier to Sprint phones, so that Sprint phones don't even think of it as roaming [1]. This is in effect for data only right now, not VoLTE.

[1] [https://www.reddit.com/r/Sprint/comments/96lai0/clearwire_b2...](https://www.reddit.com/r/Sprint/comments/96lai0/clearwire_b2_what_suddenly_seeing_full_bars_of/)

<comment><USER7> I'm saying their agreements are not equivalent to being on the other carrier because they might not help you in the particular time/place/type/amount of roaming you're interested in. Hence claiming it's all LTE because of the existence of roaming and non-existence of SIM/band compatibility issues with recent phones still paints the wrong picture that carrier doesn't affect where you get reception, whereas it very much does.

</comment></comment></comment></comment></comment></comment><comment><USER8> I wonder if Amazon or the T-Mobile/Sprint side leaked this? Perhaps T-Mobile/Sprint weren't eager enough to sell, so Amazon wants the regulator to know an offer was made.

</comment><comment><USER9> This would be a win-win. Tmobile and Sprint get their merger and a bucketload of cash to build out their 5G infrastructure. Amazon gets to piggyback off of their network and potentially claim some wireless spectrum.

</comment><comment><USER10> I'm sure Amazon has evaluated every company that's available for sale at some point, but I'm willing to bet that's as far as their interest in Boost goes. This deal makes very little sense for them.

</comment><comment><USER11> I didn't realize Boost mobile still existed. Would be interesting to see Amazon build a google FI competitor which also rides on t-mobile spectrum in the US.

</comment><comment><USER12> Another perk for Prime members.

<comment><USER13> It strengthens their monopoly.

<comment><USER14> Huh? Their monopoly in which market?

<comment><USER15> I guess the internet? Apparently diversifying is monopolistic.

<comment><USER16> Horizontal acquisition extends around the definition of monopoly. I'm not against Amazon. I don't think they should be stopped from expanding... yet.

If the other conglomerates copy amazon then the possibility of a corporate dystopian future looks brighter!

<comment><USER15> The EU regular pretty much sums it up[0]:

> "If a company is dominant, that's fine," Ms. Vestager told reporters. "But > if that dominance is abused, then we have an issue."

Having a monopoly and not abusing it is impossible when you're dealing with humans. Maybe in a hundred years where business decisions run through a DLNN and are cross-referenced with the law to make sure they're in compliance, a monopoly that doesn't abuse its dominance will become a reality.

0: [https://www.nytimes.com/2016/04/21/technology/google- europe-...](https://www.nytimes.com/2016/04/21/technology/google-europe- antitrust.html?_r=0)

<comment><USER16> As I inferred with sarcasm, this divergence from vertical to horizontal growth could effectively lead to oligopolies in the major markets(the few where they don't exist).

I believe in the competitive market model up until economies of scale and purpose driven occupation out weigh it's benefits. e.g. manufacturing jet engines requires huge amounts of equity and legacy knowledge for safety. e.g. automating warehousing may lead to more fulfilling or mentally stimulating occupations.

Amazon as a force in the larger economy versus a subset of markets in the economy could spur innovation in stagnant markets. On the other side of the coin, leveraging their massive infrastructure gives them an unfair advantage as they enter new sectors which can lead to an increased market barrier and prevent firms with new ideas from competing.

As they stand, they aren't that much bigger than normal conglomerates[1]. But, they have strategically placed themselves in critical service areas like cloud computing. I think if they can force markets to evolve then we should allow them to grow with a discerning eye.

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

</comment></comment></comment></comment></comment></comment></comment><comment><USER17> I doubt they want to start a cell company, more likely it is to have favorable terms for embedding 4G into Echo devices, making car and portable echos possible. They have done this for years w/Kindle, which would also benefit.

<comment><USER18> I doubt that would be the intention. At least not only that.

Amazon has some incredible network effects that would create a compelling cellphone service offering. They could bundle cellphone plans as an extra in Prime an undercut competition while giving unlimited access to Amazon.com, Alexa, Twitch etc.

Having a cellphone company makes a lot of sense for any of the big tech companies. It allows them to create end-to-end experiences that are compelling just because they can vertically integrate different moments of their customers journey.

</comment></comment><comment><USER19> I'm honestly curious why. Boost is the worst major MVNO of the worst major carrier. I feel it would be less expensive to build an MVNO from scratch than it would be to try and improve that image..

<comment><USER20> Sprint and T-Mobile are trying to sell Boost in order to get the merger approved. Amazon would most likely secure a promise the the MVNO agreement would carry over to T-Mobile after the merger.

Additionally, the brand image doesn't matter. They'd likely just rename it to something like 'Amazon Wireless'

<comment><USER19> Gotcha. That makes some sense, thank you.

</comment></comment></comment><comment><USER21> Maybe cause they don't have any sustainable Revenue to justify their UNGODLY stock price? And, now need to compensate.

Let's not forget Microsoft was at $65 the majority lf their life.

<comment><USER22> Amazon's stock is expensive, however markets - investors - do not price stocks based on past results typically. Stocks are priced largely on future expectations. This has been particularly true in the case of Amazon for a long time.

They'll have near ~$30 billion in profit within the next four to five years, which will bring their PE down to a high, but not ungodly, 30x.

AWS is worth $300-$350 billion now. Very soon it will soon be larger than Oracle and it's growing extremely fast for a large business (a high multiple would be granted). Their ad business is worth $100-$150 billion. In the next four to five years, those two businesses together will be worth as much as the entire company is today. That's a big part of what investors are betting on, along with the expectation that Amazon is going to continue to find new profit centers.

Sure, you might say, why is Amazon priced for earnings four or five years out? Well, that's the standard practice of pulling future returns forward. Almost always happens with growth companies, inevitably leads to a stagnation period. Amazon will continue to grow into their market cap and their annual returns will drift downward.

</comment></comment><comment><USER23> I wonder how much they would save running all the Kindles over their own network (MVNO or not) instead of paying AT&T millions of dollars per month.

</comment><comment><USER24> Its not just AMZN, other media giants are also interested in buying assets from the merged company to start another provider. If thats the case I would be OK with merger going ahead.

</comment><comment><USER25> Oh. Sure. Just what Amazon needs: to also be a telecom. Sure would be a shame if there was a single industry they couldn't strongarm.

</comment><comment><USER26> A sort of Google Fi for Amazon?

</comment><comment><USER27> "It was not immediately clear why the largest U.S. online retailer would want the wireless network and spectrum."

I think we can wager a few guesses.</comment>


4 Reasons On Why Google Buys Companies - <AUTHOR> http://blogoscoped.com/archive/2008-02-25-n19.html

<comment><USER2> I'd add one more and split "product" out from "technology." For example, youtube was simply a better product for the market than google video -- even though the back-end technology was supposedly worse.

Perhaps there is the assumption that the product can easily change once google, with its massive resources, acquires the company. Evidence though, shows that buyouts and success tend more to feature-freeze products.

Oh, one more: legal protection. Again refer to youtube and the liability of some court ruling against the legal protections that online video sites currently use.

<comment><USER3> "For example, youtube was simply a better product for the market than google video -- even though the back-end technology was supposedly worse."

I know I'm going to get hammered for saying this - but I don't think back-end code is as important as a good user interface, a well designed site, and a clear vision. Your users don't get to see the back-end code, and they don't really care how it works. And servers and bandwidth are cheap, so it doesn't matter much that your code isn't well optimised.

What does matter though is that you have a clear value proposition to you users, and that they will understand this within 5 seconds of arriving to your site. This is much more important than nice and clean back-end code.

I have a bit of experience with this - I started thinking about doing a web based project management tool around a year ago, and since I didn't know any good hackers that weren't already occupied with something else I thought I would learn how to code and just do it myself. And interestingly I found that the hard part was not the coding, but the usability and flow of the site. The coding part is basically just getting stuff in and out of a database. But the flow is really hard to get just right.

</comment></comment><comment><USER4> The 4th reason es muy importante. So instead of working at Google, get Larry and Sergey to respect you in the morning when they buy you.

"Buying startups also solves another problem afflicting big companies: they can't do product development. Big companies are good at extracting the value from existing products, but bad at creating new ones."

<http://www.paulgraham.com/hiring.html></comment>


Ask HN: How does Tinder track me across app installs? - <AUTHOR> I used Tinder many months ago in another country and had deleted the app.
When I reinstalled it in an entirely different country, I was shocked to see it open straight into my previous user account.
I was on a different phone and wifi network, had cleared my Safari cache, and I don't use Facebook or anything that could be leaking a shared login.
How did Tinder know it was me? Where does it store data that persists after deleting the app? What do they use to identify the device? <comment><USER2> Same app store account?

</comment><comment><USER3> On iOS, apps can store values in the device's keychain and I am not sure whether those are deleted when an app is deleted or whether disabling "iCloud Keychain" changes anything.</comment>


Apple launches new iPad Air and iPad mini - <AUTHOR> https://techcrunch.com/2019/03/18/apple-launches-new-ipad-air-and-ipad-mini/ <comment><USER2> Kinda sad apple doesn't offer more storage for ipads when they want to replace light computing with them...</comment>


Ask HN: Technically interesting vs. a good business - <AUTHOR>

If something is technically interesting is it likely to make a good business? How do you balance between doing what is technically interesting, and what is profitable?
If you have some tool to make programming 10x more efficient, do you have business, or just an open source project? Meanwhile, if you have a new way to do e-commerce, you may have the Groupon?
In the current environment, is pure tech devalued while everyone needs good, simple technology? As a hacker do you focus on building tech or a consumer business? <comment><USER2> The model du jour has been to build dev tools that are open source and then sell consulting. But you should keep in mind that it wasn't always that way: Once upon a time there was a company called Borland and they made their money through dev tools. Also if you really think about it things like databases are really sold to geeks, so even big shots like Oracle are selling dev tools. And on the low end even tools like Flash are dev tools too.

So yes if you figure out a new way reinvent programming you can build a business on that...</comment>


Ironies of Automation (1983) [pdf] - <AUTHOR> https://www.ise.ncsu.edu/nsf_itr/794B/papers/Bainbridge_1983_Automatica.pdf

<comment><USER2> previously submitted with a link to html version (different domain) [https://news.ycombinator.com/item?id=7726496](https://news.ycombinator.com/item?id=7726496)

</comment><comment><AUTHOR> This is even more relevant today now that we have "VDUs" everywhere.</comment>


All Carrots and No Sticks:A Case Study on Social Credit Scores in Xiamen,Fuzhou - <AUTHOR> https://medium.com/berkman-klein-center/social-credit-case-study-city-citizen-scores-in-xiamen-and-fuzhou-2a65feb2bbb3 <comment><AUTHOR> A detailed look into China's famed social credit system by Berkman Klein Center for Internet & Society at Harvard.

1\. scores are computed using models like FICO (credit worthiness)

2\. scores b/n 0–1000

3\. scores computed based on "Big data" - basic data, +ve credit, notices, bad credit.

4\. Scoring models are akin to standard "FICO"

5\. Activities that boost score: \- on time contribution to social security, insurance \- volunteering \- donating blood \- using public transport \- separating waste \- work as teachers/doctors/public interest areas

6\. Quantifying social behavior is at the core of the system. Algos used are far from mature or proven

7\. No ML/AI models used

8\. App-based/WeChat interfaces

9\. Score benefits: \- deposit free access \- discounted access \- priority access to services. 0\. You lose points by breaking law \- Minor (5-10) \- Moderate (15-20) \- Serious (30-50) \- Extreme (100-150)

11\. Who can levy deductions? \- Traffic Police \- Common Reserve Fund \- Urban Mgmt Committee

12\. No direct penalty for low score

<comment><USER2> > 12\. No direct penalty for low score

This is false. The direct penalties are listed in the very "benefits" section. Let's rephrase some of these:

9\. Score penalties - deposit restrictions - higher charges - delays when accessing service.

</comment></comment><comment> dawg- >The scores are voluntary

For now.

>people's scores are not impacted at all by data from the private sector.

Totalitarian governments operate on the ideology that the state is _total_ \- there is no such thing as life outside the state. Of course they don't care about the private sector, because the notion of private life (both in China and elsewhere) is on its way to extermination.

>What makes up 'positive credit' is the most subjective

This is the fatal flaw. The government has no choice but to be the arbiter of truth - they must turn arbitrary categories into measurements of individuals' values to society. It will never be otherwise and that's why social credit is doomed.</comment>


Tweet by Snail Mail - <AUTHOR> http://tweetbysnailmail.com/ <comment><AUTHOR> Abby and I made this last night in a few minutes. You know, as a backup to <http://tipjoy.com>

<comment><USER2> Not a single mention of "tipjoy.com"?! That strikes me as a missed opportunity; the main place this is going to get shared is on twitter…which is obviously your market, full stop, for Tipjoy. If only a single person learnt about Tipjoy from visiting the page, it'd be worth a single small link in my opinion!

<comment><AUTHOR> That was a good point, and we updated the site to point back to tipjoy in the footer.

</comment></comment></comment><comment><USER3> For some reason, this reminds me of the Fedex commercial or movie where they basically deliver a package internationally and all it has inside is a countdown timer.

<comment><USER4> The movie / fedex commercial was Cast Away.

<comment><USER3> Thanks (to both of you) - My Google foo was unfocused today. I wonder what would have happened to him in the movie had he not been marooned with an ice skate.

</comment></comment></comment><comment><USER5> i find this more fun - <http://dawdlr.tumblr.com/>

<comment><AUTHOR> This is also a fun site: <http://postsecret.blogspot.com/>

<comment><USER6> [http://4.bp.blogspot.com/_a7jkcMVp5Vg/SWglolDXivI/AAAAAAAAHt...](http://4.bp.blogspot.com/_a7jkcMVp5Vg/SWglolDXivI/AAAAAAAAHtc/XRgj6MuZS5s/s1600-h/trust.jpg)

I wish there was a way to follow this person, because I think she is going to really turn out to be something special.

<comment><USER3> The thing which amazes me about the PostSecret site is how artistic/visually impressive some of the PostSecrets are. Maybe passion breeds expression

<comment><USER6> Maybe? No It definitely does. That's why music is always better when times are tough for the artist.

</comment></comment></comment></comment></comment><comment><USER7> RFE: Since snail mail is unpredictable, would be nice to be able to schedule a time and/or date for the tweet to be posted, instead of just the FIFO system it seems to employ.

Also, can you add an auto-GPS location (on request, checkbox?) based on the postmark?

<comment><AUTHOR> I think we'll just scan the note and post it as a twitpic or on flickr. We have a few days to decide :)

If you follow <http://twitter.com/SnailMailTweet> you'll see it in your <http://twitter.com/replies>

<comment><USER7> I'm not worried about knowing when to see the replies... My thought was having something posted that was not accurate.

Like, if I know I'm going to go grocery shopping next Sunday afternoon, I could mail you a postcard with the tweet "At the grocery store. The produce looks icky". Well, you might get that on Friday and post it then, and it wouldn't be accurate, and that just seems wrong.

<comment><USER8> Cute idea, but I don't want to over-engineer... just add a date/time note somewhere on the letter and I can accommodate.

</comment></comment></comment></comment><comment><USER9> I'm sorry, but I didn't get it. I mean... WHY Snail Mail to Tweet? Can someone please explain me?

<comment><USER10> Its a peculiar kind of "just because we can" irony. I call them YPBWWWT's" (Yes, Pinky, _but who would want to_?!) after a particularly applicable episode of an old WB cartoon.

<comment><USER11> "...same thing we do every night. Try to take over the world!" Loved that show.

</comment></comment></comment><comment><USER12> Are you serious ? : -)

<comment><USER13> I tried to downmod you, but accidentally clicked upmod :(

We need a way to undo votes.

</comment></comment><comment><USER14> I was expecting this to work the other way 'round, receiving a little fortune- cookie sized piece of paper in my mailbox every time someone @-ed me.

</comment><comment><USER15> Heh... ok, riffing off this clearly silly idea, what about something that converts your tweets to smoke signals (using morse code?)

</comment><comment><USER16> quick, mail them advertisements for your startup!

</comment><comment><USER17> this will work in places like Afghanistan, Iraq etc. when they get into "white city" mode and/or it's "blackout" - you can ask your local courier to send a tweetbymail so that people will have a record that you "were" still alive ...</comment>


SOUL: A New Efficient, Portable, Low-Latency Audio Programming Language - <AUTHOR> https://soul-lang.org/ <comment><AUTHOR> SOUL Announcement – keynote at ADC 2018

[https://www.youtube.com/watch?v=-GhleKNaPdk](https://www.youtube.com/watch?v=-GhleKNaPdk)

Sorry. No release yet. But in development by Roli. Makers of cool beat making machines. Seeks to be "OpenGL API for audio"

Found via the wonderful "This Is LINES" HN-style forum for sound technology ;)

[https://llllllll.co/t/soul-sound-language-juce- roli/17752](https://llllllll.co/t/soul-sound-language-juce-roli/17752)

<comment><USER2> I thought code-defined synths have existed for some time now. At some point he sort of makes it sound like he's inventing that idea.

Am I understanding right that the language _per se_ is not that special, but the integrations with hardware and other languages are what's special?

<comment><USER3> That's my takeaway from the keynote. I've done a bit of audio coding and couldn't believe that all the processing is done on the CPU. Afaik, existing audio languages don't care much about latency (as in trying to improve it) or don't aim to become a portable standard. The ones I tried (Collider and Faust) are also not supposed to be used to implement your audio code (for media apps/games), whereas SOUL aims to fulfil these roles as well.

<comment><USER4> Audio apps have been the red-headed stepchildren of consumer operating systems since forever: the APIs aren't tuned towards latency, and they often stop providing functionality once "decode an MP3" works.

And audio programming languages themselves have lingered in a research/prototyping/hobbyist zone for decades. CSound, one of the oldest examples, dates back to the 70's, but production hardware and software tends to ends up with funky embedded-code style toolchains because the higher level provisions aren't good enough for professional apps. That said I have seen a few games(indie scale projects) do something like run an instance of Pure Data rather than code up their own custom audio system. It's all a bit related to the difficulty of doing low-level, time-sensitive I/O in a computing world that has towers of abstraction. Graphics have been ushered up that abstraction path while audio is still living in the 90's, so you can see cool modern shader effects in your phone browser, but the same browser can't play Amiga tracker music without stuttering and popping.

The attractive part of the SOUL pitch is in making the base tooling experience better, and then down the line using that to boost performance.

<comment><USER5> > That said I have seen a few games(indie scale projects) do something like > run an instance of Pure Data rather than code up their own custom audio > system.

Spore used Pure Data to do algorithmic music. IIRC somebody there went through Fux's Gradus Ad Parnassum and reduced it to a set of branches to automatically generate common practice harmonic treatment of pseudo-randomly generated melodies. :)

> but the same browser can't play Amiga tracker music without stuttering and > popping.

You're on a much tighter schedule for the Amiga audio emulator, and the failures are more glaring.

A video stream that moshes for awhile is kind of beautiful as long as the audio remains pristine IMO. On the other hand, pristine video with stuttering audio starts a countdown for canceling the streaming service.

But even given that, yes-- the webaudio interface has been quite lacking.

</comment></comment></comment></comment></comment><comment><USER6> How can a language itself be low latency? "Less CPU" than what? The whole page is full of nothing but nonsensical hype, I was half expecting it to say "blockchain" shortly after "paradigm shift".

Also, if it's GPU based (shaders?), that's going to _increase_ latency not decrease it, as anyone who understands bus transfers and that GPUs are optimised for throughput not latency will know.

<comment><USER7> I think he mentioned GPU just as an example of acceleration via dedicated hardware. In the keynote, one of his example use-cases was sending SOUL code to execute on a set of digital studio monitors (ie: speakers with their own sound card).

<comment><USER6> I like how you deleted your "did you even watch the video" comment before replacing it with this one, effectively turning the question back on yourself :)

With that in mind, did you read my comment? I explicitly mentioned how GPU "acceleration" is going to increase latency, which contradicts one of the very few definite statements they make.

<comment><USER7> I was hoping you wouldn't read that. I hit delete as soon as I realized I was being rude. Sorry about that.

<comment><USER6> It was much more ironic than it was rude, because yes I was referring to the video, as you would surely know because you also watched it... right?

Anyway, I can understand the supposition that GPUs are good for audio processing because they have oodles of processing power and memory bandwidth, _however_ this will hurt latency because there's at least one extra bus hop (assuming the GPU can DMA to the sound card, which I doubt, and if not it's _two_ extra hops!) and it's not like modern multicore CPUs lack throughput for audio purposes.

tl;dr They claim some latency advantage and then use GPU acceleration as an example; as someone doing lots of GPU coding I find that contradictory because of the extra bus transfers.

</comment></comment></comment></comment></comment><comment><USER8> I really like what the Juce people have done but I still question most approaches to problems take the path of creating a new language. It seems to me something that could just as easily be a library is now constrained into sandbox where it can't be used nearly as easily or flexibly.

<comment><USER9> This is not something that can be replaced with a library, anymore than a library can replace OpenGL itself.

Keep in mind that this is more analagous to a GL shader. It is not a general purpose language.

<comment><USER8> There are already shading languages and DSLs that work on buffers like Halide. Halide especially seems very good at transformations on buffers.

</comment></comment></comment><comment><USER10> He does say a lot about how C++ as hard and you can write these "audio shaders" in the nice easy SOUL language instead, but that beep generation function looks exactly like C++ to me! It even uses operator<< to output samples...

Apart from that, this seems like a fantastic idea. My only concern would be about memory - what if you're writing a sample-based synthesizer for example? DSPs don't have enough memory for that sort of thing.

<comment><USER11> (Author here) Yeah - the design requirements of the language were for it to be instantly understandable by anyone who's done a bit of coding before, whilst enforcing the graph/node/safety architecture that's needed for it to be portable to heterogenous CPUs/DSPs. Looking exactly like C++/Java/Javascript/C# isn't an accident!

And yep, some existing DSPs can be tight on memory, but it's a chicken-and-egg situation - unless people want to run complex synths on them, there's no incentive for the manufacturers to put more memory on there! If we're successful with this, we'd hope that it'll start to create a market for DSPs which DO have the oompf you need for that kind of thing.

</comment></comment><comment><USER12> I'm not too sure I really understand what this is and how it's different than say the Jack2 api?

[http://jackaudio.org/api/](http://jackaudio.org/api/)

>SOUL unlocks native-level speed, even when used within slower, safer languages. The SOUL language makes audio coding more accessible and less error-prone, improving productivity for beginners and expert professionals.

This part confuses me. Is it a language or a library or both?

I'm sorry if they explain this in the keynote i'm at work and can't watch it and their site seems to be lacking in information.

From the comments here I understand it's trying to be the glsl of audio...but that doesn't really make sense to me. Audio doesn't really work like video shaders.

<comment><USER7>
        Audio doesn't really work like video shaders.

I get the impression it will include a grab bag of common DSP functions, transcoding, etc. So if you have hardware that supports a function, it runs accelerated. The project looks fantastic to me. I don't know why there is so much negativity in the comments here.

<comment><USER12> I wasn't trying to be negative. I was genuinely curious. As I said the website has very little information. It sounds like something i'd be interested in. I just don't entirely understand the purpose of it and what features it will have over existing solutions.

Or even whether it's a language or a library. It says it's a language but that it can speed up higher level languages. I don't understand that statement. Will they provide bindings for other languages to link to or use? Will you have to write your own for your language of choice? Do you compile your SOUL binary first and link to it like a .so or .dll? Do you write standalone programs with it? It's fairly unclear.

<comment><USER13> +1 for this.

It sounds more like a library than a language. And yet it's called "SOUL Language"....Docs would be nice.

</comment></comment></comment></comment><comment><USER5> > Its architecture improves latency and performance in ways that are > impossible using current techniques, and it opens up the use of new > computing platforms for audio acceleration.

"Latency" may actually be the only term more subject to confusion than the term "blockchain."

Is the page claiming that this language can achieve a _lower_ latency under a realtime kernel than can be achieved by iterating over an array of function/arg pointers and delivering at regular intervals the output to ALSA at the lowest delay supported by the machine/chipset/audio hardware combination?

Or is it claiming that the architecture of the language allows the programmer to more easily do complex DSP computation reliably and safely at that same round-trip latency achievable using the design I just described above?

I'd imagine the answer is obviously the latter.

But I'd bet most developers who read the advert would would think this mystical language allows the users to access some kind of new "el dorado latency" with commodity hardware that is not currently achievable using Supercollider or Pd.

I bet that because I know users who have implied that running their single audio-generating app in conjunction with Jack-using-ALSA-backend delivers audio with lower round-trip latency than ALSA alone. They think this because the Jack page says that Jack adds zero latency to the system, and they then confuse the concept of Jack's "system latency" with the "round-trip latency" of their use-case.

<comment><USER11> It doesn't sound like you watched the talk because I do justify the latency claim in quite a lot of detail, and no, it's not just about the language being safe or fast.

For example, even on commodity existing hardware, doing your audio processing inside the audio driver itself with kernel-level privileged control over its threading, affinity, and ability to write directly to the hardware buffers is going to be faster than than passing buffers and task-switching between multiple user-space threads, and dealing with all the scheduling jitter issues.

</comment></comment><comment><USER14> Wasn't this just posted here a couple weeks ago? Same issue then as now: I ain't slogging through some keynote or giving these people my email address just to _maybe_ learn about the actual language. No code examples, no VCS repositories, no documentation, nothing.

<comment><USER15> It's trash. Dump spammy emails into the form. They have nothing to show and clearly are building a mailing list for sale to the highest bidders.

</comment></comment><comment><USER16> Unable to play the video on my current sketchy internet connection, but I am assuming that this language is something similar to Pure Data? [0]

[0] - [https://puredata.info/](https://puredata.info/)

<comment><USER11> No, not really. It looks a bit like C++/Java syntax but is very different in structure

</comment></comment><comment><USER17> Is SOUL intentionally made to sound like SAOL? I haven't watched the video and will do. But the dominant problem with audio programming languages has been expressivity. Things like code up single sample feedback loops (they normally are at frame level due to compute costs and other factors) -- I.e. the a-rate / k-rate divide. This is changing with wasm as a target though and we have stuff like Gibber popping up.

<comment><USER11> No - none of us had heard of SAOL, but it looks like it's so long defunct that I couldn't even find a very clear description of what it did. The website for it seems to have been bit-rotting since 2002.

Obviously there's a ton of technical detail that we've not released yet, but yes, allowing streams running at arbitrary samples rates (not just "a" or "k") to be invisibly handled by the API and runtime is a concept that's deeply baked into the design.

<comment><USER17> Sounds interesting.

Btw SAOL (structured audio orchestration language) was proposed as part of the mpeg7 initiative, which is itself quite long dead.

SAOL was based on csound concepts. Back then, we had "csound cards" that ran csound units directly on them in real time with a near-zero (read sub ms) control-to-sound latency. Btw iirc even a control signal sent to a Bluetooth device can suffer a 3ms delay, which is low, but not "essentially zero". I get about that much from trigger to sound on the ios. BT Streams have 100x more delay than that (also noted in the keynote).

PS: finally watched the video.

</comment></comment></comment><comment><USER18> Everything that calls itself "paradigm shift" in the first paragraph isn't.

<comment><USER10> Well this seems to be an exception then - having watched the video it really is a new way of doing things.

</comment></comment><comment><USER19> TLDR: audio "shaders".

</comment><comment><USER20> I'd never heard of audio programming as such so what I expected this to be was a kind of talk-to-text keyboard-less programming.</comment>


Ask HN: Unshortening links - <AUTHOR>

I've seen a ton of articles in recent months about URL shorten services (and the dangers associated with using them). I'm curious to know why HN'ers aren't simply "un-shortening" URL's on any sites they control. If you are parsing URL's in your site's code and you maintain a reasonably definitive list of shortening services, why not write a little script that follows the shortened link to see where it really points and replace the shortened URL with the real link?<p>Including such a feature in your website would also go a small way towards preventing users from posting shortened links (assumed innocent) to known malware-infested sites, if you run something like a blog that allows comments. <comment><USER2> I saw this post and decided to throw something together

<http://slice.20oz.net/>

It will lengthen your URL and create a short url at tinyurl, bit.ly, and is.gd for you.

So if you have some tr.im links to convert over you can just plug them into here.

</comment><comment><USER3> One of the guys I know wrote this service, which has a firefox extension and a JSON API for un-shortening URL's: <http://www.longurlplease.com/></comment>


Ask HN: What is 1 thing that can take a Junior's career to the next level? - <AUTHOR> <comment><USER2> Take the time to understand the whole system you work within, not just your little stovepipe.

That system may not be technical, but procedural. It will include other business functions. It may include your customers. In any system, there is a clear "start" and "end" that encompasses a complete process and reason for being.

You'll find that in most organizations, people stay in their little corner, do their little thing, not caring much about what happens to the left and right of them. That leads to inefficiencies and missed opportunities.

If you understand the larger system, you'll be able to see opportunities others are blind to. Point a couple out and -if you're both respectful and right - it won't take folks long to think "man, this guy really gets it!"

<comment><USER3> A great way to do this: join a small startup. I did, and I learned more in the first week than I could have ever hoped to at my old job.

Also related: [https://schloss.quora.com/Design-doesnt-deserve-a-seat-at- th...](https://schloss.quora.com/Design-doesnt-deserve-a-seat-at-the-table)

<comment><USER4> assuming both the startup and the "big company" you compare it to are great in their respective categories, I find it to be a wash. My career was split pretty 50/50 between startups and big companies (about half dozen of each as my sample size), I found them to be similar in term of learning. You just learn different things.

At a startup you're more likely to do everything and wear all the hats, see things from the beginning and build stuff from scratch. That also means you don't get to see as much of how tech debt can be efficiently paid off, how to maintain large systems, or can't have the hindsight 20/20 of all the solutions to problems startups face.

My early careers was mostly startups, and I felt I had learnt a ton. Then joined bigger highly successful tech companies, and realized there were much better ways to do everything I had seen (solutions that would have worked at the startup scale in many cases)

</comment></comment></comment><comment><USER5> As a frequent mentor of junior developers, having been one myself and managed dozens in my career, the answer is COMMUNICATION.

Technical skills will come naturally over time. But to improve your technical career, you will be working with people who are not technical. Learn how to describe technical changes and aspects in layperson terms. Practice presentation and documentation skills (perhaps even join a group like Toastmasters to improve). Learn to triage issues and set expectations through email and discussion in a rational and calm manner.

<comment><USER6> Also, learn to write clear and correct sentences in your primary language. You will communicate better and you will be perceived as more intelligent.

</comment></comment><comment><USER7> Not spending all day on HN.

</comment><comment><USER8> I think the most important factor for my own professional growth has been working with people who know more 'stuff' than me. Every job I've had I've learned _tons_ from my coworkers. I wouldn't know frontend if I hadn't partered with a guy who was a CSS pro, I wouldn't be good with Azure if I didn't work with a guy who was already really good with Azure.

Obviously it takes a lot of legwork on your own part, but having the guidance helps a whole lot.

</comment><comment><USER9> I would say that getting the right internship will make a huge difference.

In 2009 before I went to university I was still living at home, splitting firewood in the middle of nowhere in New Brunswick, Canada to make a bit of extra money. This turned out to be an activity with an effective wage of about $10/hour.

In 2012 I was interning at NVIDIA in Santa Clara. Interns get lots of special treatment to indoctrinate you into the company, so I got to meet the CEO and he invited all the interns over to his house. Of course, he would probably never remember me, but I can't think of many other ways to move so quickly into a place where you could actually have some influence.

</comment><comment><USER10> There is no single thing. There's a grocery list. It starts with:

1\. Finish shit on time.

Has a bunch of things that mean: 2...99...: Understand to the best of your ability what you finished, how it fits into your business, and what could be done better.

And ends with the most important rule:

100: Don't be an asshole

edit: 101: proofread what you write

<comment><USER11> Note that "Finish shit on time" is almost a subset of "being able to estimate well". Having mentored and hired more than a few junior devs, if I could stress ONE thing to make them better developers, it would be to focus on figuring out how to estimate accurately.

Estimating accurately has a variety of criteria, like knowing the system you're developing against well enough to understand pitfalls and hurdles, knowing how much time will be spent discussing the task at hand, etc. It's not just "this is how long it will take me to write <x> function"... but it is absolutely critical to getting shit done on time, as it literally helps you define what on time is.

<comment><USER12> On a related note, the concept of "underpromise and overdeliver" is useful to internalize here. Delivering a product early / below budget after a high estimate is usually a lot better than delivering a product late / above budget after a low estimate.

</comment></comment></comment><comment><USER13> In my experience, a familiarity with the command line along with the associated general systems/server exposure will elevate your career faster than anything. For those with such exposure already I'd recommend diving deeper and become an expert in the tools your existing team uses for systems, release, and deployment. These skills also open up new career paths you may opt for in the future.

While most of us are probably comfortable enough running make/grunt/gulp/etc, that comfort typically stops there. Knowing how to set up and manage your own systems will both make you more useful on your team and visible in the org. This is especially true for junior front-end folks.

</comment><comment><USER4> It's just time really.

The amount of time will vary depending on your background, degree, existing experience, and sure enough, luck. But it's just time.

In the current state of the industry, a senior is just "someone who's been around and did/saw some stuff".

It gets a lot trickier after that step. But for a junior, just keep doing what you do and try to do it better while learning/seeing as many things possible. Basically, just give it time.

</comment><comment><USER14> To master a lot of the most "hard core" programming concepts, dive into parsers and compilers. It will give you a perspective and generality that will permeate the rest of your career. It gives you arguably the most high-level perspective on all things related to programming and the paradigms therein.

</comment><comment><USER15> 1) Be helpful. Colleague beating her forehead against her desk debugging something? Go help. Account manager running into a bug? Go help. Sales team encountering pushback from a potential customer? Go help. You'll learn a ton.

2) Learn why you're building something. Not just the technical 'why', but also the business 'why'. Yes, you should understand why you're using RabbitMQ over Redis. You should also try to understand the business case that you're solving – in as much depth as you can get. The stronger you align with what your business needs, the more valuable you become, and the harder problems you will be solving, an the more you'll have the opportunity to learn.

</comment><comment><USER16> Find someone more senior; ask questions; listen.

</comment><comment><USER17> Why there should be just _one_ thing?

Anyway, assuming programming: [https://github.com/braydie/HowToBeAProgrammer](https://github.com/braydie/HowToBeAProgrammer)

</comment><comment><USER18> Ship a product. By doing that, you'll have to figure out SO much stuff from front to back. Doesn't even have to be your product, it could be moonlighting project. Just ship something from start to finish.

<comment><USER19> Being able to ship something is definitely important as there are a lot of junior (and even more experienced devs) that just can't seem to finish a project.

Also, stick around for a while after it's been shipped or deployed and see what kind of difficulties the ops guys have with it if it's a SaaS product or the customer support team has if it's a locally-installed product. There is a huge difference between shipping a working product that is simple to operate and support vs. one that requires constant care from an expensive ops or support team.

</comment></comment><comment><USER20> Probably the upside down t-shaped graph of expertise, where you know a lot about one topic and a little about everything else. I believe this happens sort of naturally if you just work where you're needed because you'll get pigeonholed as the person who can do X whenever it needs to be done, then you can branch out when X is finished. I'm not sure because I'm still pretty junior myself.

You get a similar effect from repeatedly reading hn, because you'll read articles on topics you know about and then branch out when you're bored of it.

<comment><USER21> I don't think it happens automatically. It requires some natural curiosity. Some people just work on the assignments as they are given to them (which is not a bad thing per-se, just different from the regularly-hyped rockstar or ninja programmer).

</comment></comment><comment><USER22> Work in a startup and try to do a little bit of everything (code, devops, marketing, selling). Be really good at 2 of those at least and just hit the ground running.

You might not know how to do something, but ask to do it anyways and learn it on the go. Big corporations will not give you that kind of opportunity so you have to find a startup or create one yourself.

Code and blog a lot and put everything on GitHub and try to get people to star your projects and follow you. Learn to design, architect and structure your code for large systems.

</comment><comment><USER23> Written communication. Writing concise, direct, accurate, and easy to read emails/jiras/etc.

If you're a dev or not this holds true. Your boss and your bosses boss are busy. Help them understand what you do by writing your thoughts clearly.

The other is finishing. Work on things you can finish. Don't aim to rebuild Rome in an afternoon. Doing the dirty work to take something from 90% to 100% is HARD. Finishing things adds so much value and for some reason people are bad at it.

</comment><comment><USER24> Think and talk about the functional problem instead of thinking and talking about a specific technical solution.

And the next level above that: think and talk about the business problem the proposed functionality is intended to address.

Making the distinction between requirements, functional design and technical design is very helpful, but in many places this has been obscured and rendered difficult by bureaucracy and process.

</comment><comment><USER25> Not calling themselves Junior.

<comment><USER26> When I read that, I laughed, then realized that is literally all it takes and is exactly how I made the transition.

</comment></comment><comment><USER27> The ability to work independently. E.g.:

* Being able to design a small project from scratch and execute it to completion.

* Knowing when to ask for help and related time management skills: ([https://codewithoutrules.com/2016/03/02/asking-for-help/](https://codewithoutrules.com/2016/03/02/asking-for-help/)).

</comment><comment><USER28> I think questions like this aren't really going to get you the answers you're looking for. There's no one-step fix to becoming a better employee, just like there's no one-step fix for anything. You've likely already heard the advice that will help you improve: be perseverant, work smart _and_ hard, stay organized, and be empathetic.

<comment><USER29> Fact is that you will get 30 different answers from 100 different people, and even with same answers from different people, you'll get different reasons for why they chose that answer.

No, you won't get some silver bullet that's going to propel you to the top in 5 years. I don't (possibly mistakenly) think that's the point. You're going to get a list of criteria specified on a person-by-person basis that speaks to their personal experience as a junior dev turned senior, a junior rising through the ranks, a senior mentoring lots of juniors, etc. Most of the information given will probably be valid. It is then up to OP to parse through the information, and they'll have to figure out what's most applicable to their situation.

</comment></comment><comment><USER30> Get a mentor. This takes a bit of luck to find a mentor (or great boss) but the rewards are massive. They'll teach you what's relevant to study/learn, they'll teach you what to focus on to get the most return, they'll be a back stop to technical questions, they'll be endless knowledge, they'll be a role model.

</comment><comment><USER31> Telling your manager that you want to be at the next level and what you want to bring to the table.

why?

If that manager is good, they will bend over backwards to give you a plan, hook you up with the right people and ensure that you get that promo quickly.

Why?

Because it makes them look good. Amazing, even.

Understanding the mechanics of the business you work under and talking to people on the profit-side won't hurt, though.

</comment><comment><USER32> Learn how the business works.

<comment><USER33> I think this should be higher in this stack of random things because that's just one of those things that makes someone seem naive. Ok, you are junior person in a company- can you explain how your paycheck is funded? Can you see why what you are working right now directly benefits your business? Why is this area of the system more critical than that area of the system? What is the customer perspective on whether this works or not and will it affect the money?

Much like the other mention of communication this is just one of those things you learn on the job and outside of school/solo work. This knowledge also helps guide your decision making/architecture work with dealing with a system over time as well as general decision making/prioritization.

</comment></comment><comment><USER34> Figuring out 'what makes you itch': [https://www.youtube.com/watch?v=khOaAHK7efc](https://www.youtube.com/watch?v=khOaAHK7efc)

</comment><comment><USER35> Having the buck stop with you. With nowhere else to turn, you have to step up pretty fast. It forces you to own your decisions and not run to more senior people to help with your problems.

</comment><comment><USER36> Interaction. It's what one does, and what the environment does and how the interaction goes. What ever you do in the wrong environment, will not help, and vice versa.

</comment><comment><USER37> The "next level" is for you to define. For me, it was communication and design. For you it might be a new language or simply better test coverage.

</comment><comment><USER38> Switch jobs.

</comment><comment><USER39> Stop looking for 'one thing', or One True Way.

</comment><comment><USER40> The things I have seen work:

* Solve the problems other developers are unwilling or incapable of solving.

* Create helpful (and portable) tools

* Learn analytics and increase your communication skills

* Be helpful

</comment><comment><USER41> Software is the manifestation of a solution to a problem. Define the problem which needs to be solved.

</comment><comment><USER42> Read a shitton of open source related to your area and try to apply it to your project.

</comment><comment><USER43> talk to your manager or find a mentor. what's needed to move up can vary based on where you work. for more general advice, or if you are self employed, there's a lot of other good comments here.

</comment><comment><USER44> Humility

</comment><comment><USER45> Understand what the ego is and how is trying to hold you down.

</comment><comment><USER46> 100,000 hours of practice. The easiest way is to ship products. When you feel like you've somewhat mastered whatever you are currently doing look for opportunities to learn a new framework, language, platform, etc.

<comment><USER47> 10,000 maybe? 100k hours is 11 years @ 24 hours a day / 7 days week.

<comment><USER48> Sleep, eating, bathroom breaks, and exercise are for the weak.

</comment></comment></comment><comment><USER49> lots of work (classic craftmanship learning cycle (build 1000 potteries as fast a possible, get better each time))

</comment><comment><USER39> Stop looking for the 'one thing'

</comment><comment> grey-area Work with people better than you.

</comment><comment><USER50> There's no one thing that's going to be the line which, after crossing, you can safely stop calling yourself junior. Indeed, I've worked with many "senior" developers who I would have considered junior outside their area(s) of expertise (and I myself fall into this category as well!)

When I'm conducting interviews and looking for hints that someone might be on the verge of "levelling up", I look for qualities that indicate someone has stopped following a preset path and is instead able to do their own pathfinding. That is, given a direction and a general set of guidelines, how deep are they able to go in order to solve this problem? If I tell you, "Hey, we want to add file uploads to this UI" in a Ruby project, do you:

A) immediately go searching for a gem to handle this?

B) Look for an AWS interface gem?

C) Look at S3's HTTP docs and write their own class for handling?

D) Stop and ask if we want to host the files ourselves or using a storage API of some sort?

Each of those may be the right answer. A is what I would expect a junior (and likely most others) to do, and its a defensible choice in that file uploads are likely not interesting enough to spend much time on. B) is what I would expect from someone who knows that storage to S3 is pretty easy in most libraries, and therefore it may not be worth the dependency of something like Carrierwave, electing instead to write a thin wrapper around the interface (and whether they use it directly in application code, or write the wrapper, is an excellent way to discern whether they're just below or just above the line between junior and mid-level). If they're coming from a different platform background though, they might just be unaware of something like Carrierwave/Dragonfly/etc. Option C indicates that they're probably pretty comfortable getting deep into a problem, though perhaps not always making the best choices about where to spend time (but you get a pass if this is an interview setting, its really hard to know as a candidate what the other side of the table is looking for.) Going with option D often indicates the confidence to push back on requirements and make sure you're writing the right code, not just what the ticket or client asks for.

The thing is, none of those in isolation is going to definitely indicate that someone is a junior or more advanced. They're all just pieces of evidence and have to be taken with other points of evidence to determine the answer to that question.

Other things I'd probably try to focus on if I were trying to level up:

* Know your tools. I don't care whether you use vi/vim, emacs, spacemacs, Sublime, atom, intellij or one of its brethren, or even textmate—know how to use it effectively to navigate your project and handle your top ten tasks like finding the implementation of a class or running your tests.

* Know your CLI. I don't care that you know every flag to every possible command in the terminal. but realize that an IDE is usually just a layer over a lot of CLI tools that you should be able to handle in their native environment.

* know how to read a stack trace effectively to find the root cause of an error quickly.

* get good with taking constructive criticism. Humility is an important attribute in any team member.

* Don't fall into the trap of thinking you know one tenth of what you believe you do. Don't think in absolutes, and don't argue with every potentially incorrect statement someone makes.

* ask questions more than make statements. Whether its "Can you help me understand why you do that this way?" or "Why is the customer asking for this feature?" it will serve you well throughout your career.

</comment><comment><USER51> Hard Work and Discipline

</comment><comment><USER52> Find a mentor.

</comment><comment><USER53> Experience.

</comment><comment><USER54> Proactivity

</comment><comment><USER55> There are many things you can do, and not really "one" silver bullet, but I feel the most important are "soft-skills" and a hyper-focus on learning. You asked for one, but the two of them are so deeply connected, I feel they warrant being included together.

Communication/soft-skills has already been mentioned so I'll leave it with the simple "At the end of the day, regardless of how smart you are, if you cannot work well with others and you're not the sole employee/owner, your value is very limited".

The biggest problem I've found being a software developer is exposed by this phenomenon referred to as Imposter Syndrom[0]. In a lot of fields, there are good ways to measure yourself and your skills against others. In software development, it's a difficult thing to measure. You can become an "expert" in the core language you write in -- understanding the common patterns, standard libraries, and common features -- and no matter how much your abilities increase, what you know is far less than what you don't know.

Even today, with resources like StackOverflow, open-source material and source repositories with endless amounts of code available, learning corners of your specialty is hard. Your resource may be "out-of-date" (which happens within weeks, rather than months/years) or might be so specialized that there's just nothing out there[1]. Because of Imposter Syndrom, your developers are not quick to point out their weaknesses, but knowing the strengths/weaknesses of your coworkers helps you to be effective and to know who to tap when you get stuck. Unlike "that person in the forum", they have a vested interest in making you better -- you'll reduce their workload the more effective you become. Provided you're good at establishing relationships/friendships with others, they'll actively _help_ you to become better and there's no better way to learn than one-on-one with someone who has the skills you lack. Knowing their weaknesses allows you to better focus your study on areas that the team has gaps (tip: offer up your own deficiencies and others will open up about theirs).

A lot also depends on what corner of software development you're focused on. If you're focused on web front-end development, you have a much easier time learning what you need to learn, and more jobs available to shine in, but you also have a huge amount of competition and a greater distance between Junior and Senior. In a highly specialized area -- mine was Skype for Business development -- you have fewer job options, almost no resources but a much smaller distance between Junior and Senior since simply having experience in _one_ of the APIs already puts you near the middle. At first, I was tempted to say that being in the latter category is helpful, but having done it and reflecting on how painful it is when you run into a problem and have, literally, nobody to turn to for help[2], I can't say that I recommend it. Picking an area of focus that is somewhere in the middle might be a good idea. :o)

On learning, figure out what techniques are most effective for you. I don't do well in lectures, and I don't have the patience for video tutorials. I took a class about 20 years ago on effective book study (it was called "speed reading" at the time, but has nothing to do with these gimmicky techniques taught by apps, today). I learned how to skim/scan material and take effective notes while doing so, allowing me to consume huge books in hours, and "read" those books for information several times over a period of a week/month. I felt like I had a "super power" and exercised this ability to the tune of about 6-10 large volumes per year. When I need to learn something, I look for a good, thick, book on the subject, set a goal for completion and relentlessly pour myself into it. For programming, I know this requires me finding a personal, useful, project to build, an "instructional book" and a "reference book". Give me those three things and the language, framework or pattern in question will be cemented in a way that allows me to use it at a practical level.

[0] [https://www.hanselman.com/blog/ImAPhonyAreYou.aspx](https://www.hanselman.com/blog/ImAPhonyAreYou.aspx)

[1] My area of focus until very recently was developing software for Skype for Business using some of the (very excellent) APIs provided by Microsoft. Unfortunately, the number of people who are doing professional development in this software is small due to its target audience being enterprises. You just don't have a large number of hobbyists writing libraries on the weekends. The primary API I used to develop in, UCMA, had one half-chapter in one large book written in 2007, none of which is helpful to new developers due to it being _wildly_ out of date. The documentation for this API is mostly "Undocumentation", and I've encountered very few APIs that have as many sharp edges, parts that don't work as you'd intuitively expect or simply don't work in any way resembling the documentation.

[2] I can't tell you how many times I've googled a problem and ran into solutions where the answer was provided by a person I worked with that I could have tapped on the shoulder. Or the two times I googled something, saw the answer (in one case, slightly _disagreeing_ with the approach) only to discover that the person who wrote it ... was me. Just goes to show that anything in software that you've written six months ago might as well have been written by someone else.

</comment><comment><USER56> Time.

</comment><comment><USER57> Less thinking about yourself.</comment>


Show HN: Interactive video player in Javascript/HTML5 - <AUTHOR>

Finally got a pet project of mine online:
http://www.cacophonyjs.com/ http://github.com/jbroadway/cacophony
And a basic demo video:
http://www.cacophonyjs.com/examples/demo.html
It's an interactive video player in Javascript using overlapping HTML5 video and canvas elements, a timeline, and a series of plugins to render visual effects or handle various forms of interactivity.
Interactive elements can be mouse-based or text input, pulling data in from external sources, and saving input from viewers to change aspects of the video over time.
I'm working on a video with this as an art project with a friend, but hoped that in releasing the player other artists can use it to make even better effects and things I never would have thought of.
(Note: Obviously inspired by http://thewildernessdowntown.com/ although I've been playing with some of the underlying elements for a while before that. They did show me what's possible and get me motivated to follow through! :) <comment><AUTHOR> Clickable links:

<http://www.cacophonyjs.com/> <http://github.com/jbroadway/cacophony>

Basic demo video:

<http://www.cacophonyjs.com/examples/demo.html>

</comment><comment><USER2> It's not loading.

edit: Nevermind, it just took about 5 minutes or so to load.

System Specs are 4gb ram, AMD Atholon 2 x4 2.8ghz, and this is running on a 160gb SATA hardrive, with about 2.2gb of ram usage and fairly minimal CPU usage.

It looks really cool, it just needs a performance boost.

<comment><AUTHOR> What browser are you using? It plays for me in all browsers on iMac and MacBook Pro, but I've also tested on a bunch of other machines including a pretty old Windows desktop at work. It is pretty CPU hungry at points to be sure.

That said, some things definitely need optimization before it could go 1.0. Thanks for checking it out btw :)</comment></comment>


Real-time wind map - <AUTHOR> http://sightwind.com/

<comment><USER2> Firefox 30 (Windows 7) does not seem to show the world map.

The project seems to be similar to [http://earth.nullschool.net/](http://earth.nullschool.net/) , which does offer a lot more functionality.

</comment><comment><USER3> Where is this located? I'm not seeing any geographical boundaries to give me a sense of where I'm looking.

<comment><USER4> In Chrome on Linux, I see a map of Europe. In Firefox, I just see the wind vectors and no underlying map.

</comment></comment><comment><USER5> 80% off topic, but wind related question I've been wondering about for a while.

Why don't power companies attach wind turbines to high voltage powerline towers? They already own the land and already have the structure built, plus the wiring. Would that make any sense?

Even if reinforcements (or adding height) to the tower are required it seems like a good idea.

<comment><USER6> The blades on turbines are massive and would require adding a lot of height to the existing towers. Also working around live transmission lines is extremely dangerous much less trying to add to the tower. It's just too dangerous.

<comment><USER7> Plus there's the established hazard to wildlife getting chopped in half. A couple months back I read about some kind of passive system involving ionizing water (memory fails; I may be wrong about the method) instead of using turbines. I wonder if building that kind of structure onto a power tower would work.

<comment><USER7> Ah, found it finally: [http://www.ewi.tudelft.nl/en/current/ewicon/](http://www.ewi.tudelft.nl/en/current/ewicon/)

</comment></comment></comment></comment><comment><USER8> Here's another one, for the US: [http://hint.fm/wind/](http://hint.fm/wind/)

</comment><comment><USER9> Here is a global version that also shows intensity: [http://earth.nullschool.net/](http://earth.nullschool.net/)

</comment><comment><USER10> Beautiful, but I can't really understand where this is. Does it take into account my location?

<comment><USER11> It took me awhile too, it's Europe.

</comment></comment><comment><USER12> Here's something similar for the US with a gallery of wind activities during the past (like Hurricane Sandy)

[http://hint.fm/wind/gallery/](http://hint.fm/wind/gallery/)

</comment><comment><USER13> seems borked on Safari 8. Thousands of NaN errors.

<comment><USER14> Safari 7 as well.

</comment></comment><comment><USER15> It would be awesome if they added a fullscreen button.

Edit: I mean, it's awesome anyway, it would just be more awesome.</comment>


Ask HN: Encryption Books? - <AUTHOR> Hi HN,
Can you recommend a book about encryption? More specifically, I want to learn more about implementing end to end encryption over the network with private / public keys.
Thanks! <comment><USER2> You can't go wrong with [http://cryptopals.com](http://cryptopals.com) which isn't a book but rather a set of practical exercises.

<comment><USER3> Are the "code" links on the left panel supposed to be a starter code base or the solution for each language? [http://cryptopals.com/sets/1/challenges/1/](http://cryptopals.com/sets/1/challenges/1/)

They links don't work

<comment><USER4> I understood the idea was that solutions were going to be posted on those links - but that hadn't been done yet.

It doesn't matter - you can easily search Github for complete solution sets.

</comment></comment></comment><comment><USER5> 1\. Applied Cryptography: Protocols, Algorithms, and Source Code in C 2nd Edition, by Bruce Schneier Wiley Publishing 1996 ISBN 0-471-11709-9 2\. The Computer Privacy Handbook: A Practical Guide to E-Mail Encryption, Data Protection, and PGP Privacy Software by Andre Bacard Peachpit Press 1995 ISBN 1-56609-171-3 $24.95 Reference: [http://american- writers.org/](http://american-writers.org/)

<comment><AUTHOR> wow the authors company is right by my home town.

</comment></comment><comment><USER6> I think you might want to have a look at "Implementing SSL / TLS Using Cryptography and PKI" by Joshua Davies. A bit outdated, but very interesting.</comment>


Wozniak praising Android over iPhone limitations - <AUTHOR> http://www.reghardware.com/2012/01/17/woz_praises_android_highlights_iphone_limitations/ Likes Android for its openness to dev, better software.  iPhone is still better UX. <comment><USER2> I don't see why anyone expects Woz to be a die-hard rabid fanboy of all of Apple's products ... he hasn't been involved in Apple's product development for almost 30 years, and he's obviously not someone to blindly evangelize based on marketing hype. Now if s/Woz/JonyIve/g then this article would be more noteworthy.

<comment><USER3> I came in here to post this. after reading Woz's biography and now Jobs', its clearer than ever that this type of article is totally pointless.

<comment><USER4> Absolutely. Apparently, Wozniak was not one you wanted to get advice from.

<comment><USER4> Heh. Obviously some of us read the books and at least four have not.

</comment></comment></comment></comment><comment><USER5> Woz is a hacker at heart. He is always going to find Apple's limitations on iOS apps annoying. People read too much into his statements. He is a very straightforward guy. If he really believed that an Android phone was superior, he would say that without dissembling.

He complains about being misquoted all the time. I wouldn't be surprised if that happens again.

</comment><comment><USER6> The way this article is written and the way they use the word "fanboy" highlights their bias much more than anyone else's. They have the makings of an interesting article, but instead of writing an interesting story or adding any insight they decided to make it a versus thing. Yay, just what the web needs. :/

<comment><USER7> That's The Register; the National Enquirer of IT news reporting, which is not fair on the Enquirer.

</comment></comment><comment><USER8> This seems to be an even shittier re-hashing of the Dan Lyons article (which is itself pretty trollish): [http://www.thedailybeast.com/articles/2012/01/14/even-woz- th...](http://www.thedailybeast.com/articles/2012/01/14/even-woz-thinks-the- android-bests-the-iphone.html)

I tend to agree with Woz, but his comments are painted with a very childish brush in these articles.

</comment><comment><USER9> You should be a non native English speaker with a strong accent as I'm to see the big difference in speech recognition between the two. Android voice recognition works 99% of times, Siri 50% or less. Maybe with native speakers the difference is less radical.

</comment><comment><USER10> If your job is "doing" technology, there's something to be said for things that let you just "use" it without having to "do" it.

The iPhone or iPad let you just be a user with very little cognitive load.

If you want to tinker with your handset even while you're spending your day or maybe even weekend tinkering with servers, that's a different story. Android's definitely the tinker's tartare.

<comment><USER11> The tinker's tartare would at least come with root access. That "thing" I have running on my Samsung is anything but hacker-friendly. Instead it does a perfect job of feeding Google's advertisements as well as the crap both the manufacturer and my data provider independently installed.

If that "thing" wants to be the hacker's tartare, maybe it would give me access to its bootloader, show open drivers and not call me a "pirate" for circumventing their laughable restrictions.

It would also allow me to manipulate the Linux it claims to deliver the way I want it, the way 40 years of Unix culture taught me.

Apple's gadgets may be a hacker's nightmare, but Androids are far from being the answer.

<comment><USER12> I disagree. Samsung is being very sympathetic with hackers tinkering with their devices. They never locked the bootloader like HTC and Motorola did, and they are always in touch with relevant members of the android community, like cyanogen and supercurio. If you are not even willing to root a samsung device, that is a dead simple thing to do, you are not really into tinkering for the device. Is unrealistic to expect that anyone will give rooted devices to every single user, a "regular" non-geek user can destroy the device in minutes granting root access to the wrong apps or deleting system resources.

<comment><USER11> Let's define what root access means. It's not a fancy "feature" that only "advanced" users will know how to use. You don't really "own" a device unless you have root access. The way I see it, "non-root" users are the feature preventing harm, not the other way around.

How would you feel if Toshiba didn't grant you root access on your laptop/mac/machine? It is as destructive, isn't it?

<comment><USER13> I see your point, but I think the post that you are responding to is clear that the Samsung bootloader is unlocked. If the bootloader is unlocked, you can do anything that you want with the device (including installing the tools to use root access).

</comment></comment></comment></comment></comment><comment><USER14> The title is a bit misleading. It ends with him saying that he thinks the Iphone is best for most people. He really just praised Android for a few features but maintained that the Iphone is a better product in his mind.

<comment><USER15> for those "scared of complexity" or "scared of computers altogether."

<comment><USER16> I'm no scared of complexity, I'm scared of yak-shaving. That's why I personally use OS X and iOS. YMMV...

<comment><USER17> I think implying that Linux leads to "yak-shaving" is disingenuous. I've found the standard Ubunutu and KDE distros are completely usable as is; there is no _need_ to change anything. Just because you _can_ fiddle all you want does not mean you have to.

Moreover, my relatively tech-unsophisticated roommate recently switched to Ubunutu; he has had no problems running the _completely_ standard setup (I think he hasn't even changed the background).

On the other hand, on OS X, if something genuinely annoys you (like the menu- bar at the top) you would find it very difficult to fix.

</comment></comment></comment></comment><comment><USER18> In this Lifehacker interview, Woz says he's not a Linux user: [http://lifehacker.com/5222989/how-apple-co+founder-steve- woz...](http://lifehacker.com/5222989/how-apple-co+founder-steve-wozniak-gets- things-done)

> _I never got into Linux. I swear to God, it's only lack of time. I'm past > the years of my life where I can really dig into something like running a > Linux system. I'm very sympathetic to the whole idea; Linux people always > think the way I want to think._

In another article, I read that he was dismissive of the whole specs race...this is not necessarily at odds with people who build their own computers, but a recognizance that simplicity has its own advantages for a hacker who wants to operate on a different level.

</comment><comment><USER19> It's hard to say much when Woz is so vague.

I think it's fair to say that his opinion of Android Voice Commands vs Siri is far from universal. Nuance's voice recognition is widely regarded as state-of- the-art, but of course this can vary depending on one's accent. There's a pretty fair shootout on the "commands" features here, and Siri generally comes ahead - [http://searchengineland.com/head-to-head-siri-vs-google- voic...](http://searchengineland.com/head-to-head-siri-vs-google-voice- actions-96998)

<comment><USER20> The article you cite is from October, which I assume means it compares the 4S to Android 3.x. Judging by the screenshots, its also on a non-Nexus phone, for what its worth.

The voice command functions and interface were completely overhauled in Ice Cream Sandwich.

<comment><USER19> Where do you see that? I saw that Google's speech-to-text now updates the text inline, definitely a nice feature, but no changes to the voice actions (it still operates on static, specific commands) or anything in the ballpark of Siri's interface.

</comment></comment></comment><comment><USER21> A non-rooted android is pretty useless. I was trying to find a way to disable the volume buttons on my GF's Nexus S, only to find that _I_ with my rooted phone, could just edit a configuration file, but was completely unable to do it on her non-rooted phone. This is just one example, but I've run into many other hurdles trying to do simple tasks due to the 'security' design they've put into Android. Not having a root account by default on a device is handcuffs, whether it's Android or IOS.

<comment><USER22> Riiight, but disabling the volume buttons on a phone is an extreme edge case in the functionality one might expect from their phone. Non-rooted Android still has 99.9% of the functionality the average user expects.

 _but I've run into many other hurdles trying to do simple tasks due to the 'security' design they've put into Android_

Maybe I'm cynical, but I think that the average user absolutely needs this security design. They'd probably turn off the volume buttons by mistake then think their phone is broken.

<comment><USER21> If you keep treating average users as average users they will always be...average users.

<comment><USER23> If you start treating them as system administrators and software engineers they will be frustrated users.

After that they will be users of a competing product.

<comment><USER21> Giving the ability to do system administration tasks on a device you own is not treating people like system administrators. It's giving someone the ability to work on, modify and learn about (and break (and fix)) their device if they so choose.

<comment><USER21> Yikes, one would think that a site called Hacker News would be a bit nicer to someone talking about enabling people through learning about technology. No wonder I started my own version: <http://kruhft.dyndns.org>

<comment><USER21> Reply to untog: yes it's a plug for my site, deal with it. With all the meta- discussion lately about _this_ site and how it's gone downhill, maybe I feel it's time to try and create a new one that lives a bit more up to the name Hacker.

No, the average user won't be a sysadmin, but what about their kids? (Oh god, did I just do a think of the children?)

<comment><USER21> Watching my karma on this conversation has been interesting. It's gone from +10 above to -2 below what it was before. Must be a touchy subject.

<comment><USER24> It's got nothing to do with your thoughts as much as the fact that you're blatantly spamming.

<comment><USER21> Funny that the one post I made that pointed to my site has only gotten 1 down vote.

<comment><USER21> So far...</comment></comment></comment></comment></comment></comment></comment></comment></comment></comment></comment>