An Open Letter To Mozilla Corporation - wh-uws http://www.iab.net/mozilla_petition/ <comment><AUTHOR> It doesn't speak well that the first item of their FAQ is patently false.

> Q. What is Mozilla doing that is causing concern?

> A. On February 25, 2013, Mozilla announced intentions to block all third- > party cookies by default in upcoming releases of its Firefox browser. Only > first-party cookies would be allowed.

No, they are not blocking all third-party cookies by default. They are blocking all third-party cookies from non-visited sites. google.com can track, doubleclick.net likely can't.

There is an interesting discussion to be had about tracking, cookie policy, defaults, etc., but making false representations about what is actually being proposed is not a good way to have that discussion.

<comment><USER2> That FAQ is full of misinformation and poor writing. The second point ("What is a cookie?") includes:

"To personalize your web browsing experience and to make the Internet work operationally,"

Make it work 'operationally' as opposed to ...? Anyway, as we all know, cookies aren't a requirement for the Web to work, let alone the Internet.

"websites you visit"

Correction: _some_ websites ...

"place (or allow their approved partners to place)"

No mention that 'approved partner' is utterly meaningless

"a small harmless file, called a "cookie", in your browser."

Congratulations - apart from the slightly strange use of the word 'in', this is correct

"Cookies contain numbers and letters that identify your web browser, but not you personally."

Just utterly wrong

It does not contain your name, address phone, email or other information that can personally identify you."

Well, 'it' could, of course, so another meaningless statement

"Companies use cookies to learn more about user interests through users' web browsing activities and to remember the preferences you set on their sites, such as the language you like to read, the last items you purchased, and the resolution at which you likes (sic) to watch videos."

"you likes" - seriously? Is this organisation just a kid in his bedroom?

"For example, a cookie can tell a website that you're a repeat visitor, and then can let the site fill in your username for you."

As, of course, can your browser.

The fact that these people obviously have very little understanding of the issues they're talking about just convinces me we need responsible organisations like Mozilla to help prevent them from exposing us to privacy and security risks.

<comment><USER3> "The fact that these people obviously have very little understanding of the issues they're talking about just convinces me we need responsible organisations like Mozilla to help prevent them from exposing us to privacy and security risks."

Amen.

</comment></comment></comment><comment><USER4> It seems to me that this letter seems to care about everyone ("ad-supported small businesses", "advertisers", "website owners", "Ad networks", "small publishers") except for the one who matters the most: The User.

I'm not going to say what Mozilla should or shouldn't do in this case. They know better, and more importantly, they are free to do what they want. I just want to point out to IAB, whoever they are, that if they want to make an appealing argument, maybe put the user forward?

<comment><USER5> They _did_ include you:

> and the millions of consumers who enjoy the diversity of content and > services the internet provides

(Ignore the small-i internet typo).

Do they mean to suggest that millions of consumers enjoy advertising? Thank you for thinking of me IAB!

<comment><USER6> I don't think they mean to suggest that all users "enjoy" advertising, but it IS a reality of the current state of Internet monetization economics that advertising plays a large role in allowing, in IAB's words, the "long tail" of the web to operate in the near-term and grow in the long-term.

<comment><USER5> > I don't think they mean to suggest that all users "enjoy" advertising,

I don't think so either :-) I was merely poking fun at the way they co-opted the entire Internet in an attempt to make Mozilla seem like they are on the wrong side of the issue.

They would be more genuine if they wrote an open letter to the Internet instructing how to re-enable third-party cookies in Mozilla and why they are good (according to the IAB).

</comment></comment></comment></comment><comment><USER7> Even a 1% success rate is considered phenomenal in the advertising world, and as annoying as the ads became, it is true that tracking and targeting increased the value of ad impressions significantly when they were first introduced. The same is true of annoyances: popups, audio, and such: they simply worked.

But the people are speaking out. They don't want to be tracked by marketers, and they have been putting considerable effort into blocking the tracking efforts. Some estimates claim that as many as half the browsers on the Web now have some form of ad-blocking installed, and while the actual numbers probably aren't THAT high, it's not unreasonable to think that maybe one-quarter, or even one-third, of people may be blocking ads because of the annoying and tracking behaviors that advertisers have come to rely on.

When one takes this into consideration, surely it must be the case that annoying and tracking are now hurting advertising revenue far more than they help. It is, perhaps, time for advertisers to buck that trend: a return to the mass-marketing model that built media empires as recently as fifteen years ago. Or perhaps it is time to turn to a new kind of targeting: rather than going after individual users, target the sites themselves, directing advertisements to users based on the common interests that drive them to the places they go.

Imagine an advertiser that used such a model or something like it, and in return, pledged not to track or annoy the people who see its ads: a sort of "DuckDuckGo of advertising." Would you whitelist that advertiser in your ad- blocker? I would, and I doubt that I'm alone. I don't block ads just to stick it to the advertising agencies; I block them to make the Web usable and safe. Many people do. I wonder if a business model could be built on those people. Maybe even one that, on account of its wider viewer base, could eclipse the current tracking/annoyance models.

<comment><USER8> The unfortunate truth is that tracking and individual targeting improves CTR. Advertisers pay for clicks. Until someone comes up with a more profitable metric, they're not going to stop tracking.

<comment><USER7> Certainly those behaviors improve CTR, but they do so at the cost of a shrinking viewer base: drastically shrinking, in fact, and it's about to shrink even more. Is the current point in the market still at a point where the improvement in CTR outweighs the decrease in audience?

<comment><USER8> If you can put numbers to that argument, then advertisers will stop tracking tomorrow. There's nothing malicious going on, just business.

</comment></comment></comment></comment><comment><USER9> We need an open letter to mozilla in which we support their decision to block all third party cookies.

<comment><USER10> You should do this and post it to Hacker News.

<comment><USER9> I feel I'm not that familiar with the matter so I would be able to make a real case.

</comment></comment></comment><comment><USER11> If your business model is built on a widely disliked revenue stream (read: online ads), perhaps it would be wiser to revisit your business model than to write open letters asking the disliked behavior to be continued.

</comment><comment><USER12> Out of curiosity, the company that I work for uses a cookie inside an iframe as part of an embedded version of our web application that users can drop into their website. Our Safari users is less than half of one percent and we had not received any feedback about this until just recently.

In our searching we came across this change to third party cookies from Mozilla. We have a much higher 15% of our user base that uses Mozilla and this is now a bit of a concern.

We use php for our backend code and need to come up with an alternate solution to this since blocking the cookie effectively breaks our user seasons.

Would anyone have any suggestions as to what our best course of action would be to mitigate this problem prior to Mozilla pushing this change live?

<comment><USER13> <https://en.wikipedia.org/wiki/HTTP_ETag#Tracking_using_ETags>

</comment></comment><comment><USER14> "Mozilla, if you act on your plan to block third-party cookies in your Firefox browser, thousands of ad-supported small businesses like us may be forced to close."

Yes, small businesses. Like the ones the people on your board of directors work for: <https://www.iab.net/about_the_iab/iab_board> like IDG, NBC Universal, Ziff Davis, Microsoft, New York Times, Weather Channel, Facebook, Forbes, Conde Nast, AOL, and pretty much all the most popular sites in the english-speaking part of the internet...

</comment><comment><USER15> Safari already does this in desktop and mobile browsers - what's the big deal?

<comment><USER16> The big deal is that Safari desktop has no users, and people are still struggling to monetize ads on mobile where Safari has users.

<comment><USER13> Are advertisers struggling to monetize mobile ads because they don't realize iOS is blocking their third-party cookies?

</comment></comment></comment><comment><USER17> I browsed for years before ads were practical, and most of my traffic today goes to Wikipedia, HN, or Netflix. When did we take it as a given that NOTHING GOOD happens online without advertising?

Sure, people want to build a business using advertising, I don't want to stop them. But packets are fickle. Some people will ignore, block, or just never get your ad. You have to accept that as a cost of your model, not a flaw in the network. We shouldn't drop everything to support your model, because some of us are actually using this network for other things.

There's another assumption at play, that advertising networks simply can't operate without third party cookies (from previously unvisited domains). I'm sure we'll find, rather than simply leaving all those dollars and eyeballs on the table, someone will come up with _something._

</comment><comment><USER18> I predict that this will just encourage advertisers use other means to persist user data. E-tags should be an almost drop in replacement. <http://en.wikipedia.org/wiki/HTTP_ETag#Tracking_using_ETags>

<comment><USER19> Not to mention evercookies: <http://samy.pl/evercookie/>

(I'm still surprised that those don't show up often in the wild as it is...)

</comment></comment><comment><USER20> Here is the IAB's leadership. Note company affiliations.

<http://www.iab.net/about_the_iab/iab_board>

</comment><comment><USER21> Dear small online ad businesses,

Forward your thanks to the intrusive ad networks, spammers and other cretin who've been treating users badly for the last few decades, attracting hostile attention to the advertising practices.

People woke up to the fact that they are in control of the content coming through their wires thanks to the versatility of the contemporary computers. There is no return.

You should embrace current realities of the market you so love to invoke for every other subject and start innovating and distrupting. Failing that, stick with the proven ad channels such as iDevices, other locked down devices, social stalking services, local tv and radio channels and papers.

You won't be missed.

Sincerely, Internet users

</comment><comment><USER22> I fail to understand how blocking cookies on websites you have never visited before is harmful to "innovation", "education", "entertainment", "entrepreneurship", and "millions of consumers". Cookies exist as a mechanism for websites to store data. They're used to keep you logged into your Facebook, Google, Twitter accounts. They've have gotten bad reputation over the years due to the ability for arbitrary websites to set them as tracking information. Mozilla's decision here helps retain the original purpose of cookies. Sites you have never visited before have no business leaving session data on your computer. It is just illogical.

Additionally, blocking arbitrary cookies doesn't hinder advertising at all. Nothing in iab's entire letter even made the slightest bit of sense. The entire thing is filled with awkward phrases and confusing reasons that don't tie together. It wouldn't be a stretch to say the entire thing is written to confuse the reader. I'm disappointing this is on the front page. :(

</comment><comment><USER23> The most interesting part of this article is how entirely openly it's indicating that a default setting that can easily be changed in a web browser will be left by virtually all users permanently. Of course it's true, it's just so odd to see written down so explicitly. To an extent I kind of feel that if people seriously won't investigate the option themselves then upon their own head be it. But at the same time it ahouldn't be opt out, this kind of thing should never be opt out.

</comment><comment><USER24> So advertisers get upset and want Mozilla to support user spying for better targeted ads?! That doesn't sound cool, only advertisers are signing this. Can't they have ads targeted by clientele of the site? No need to track people for that.

</comment><comment><USER25> some of the faqs are ridiculous; apparently blocking some 3rd party cookies by default goes against users freedom of choice yet enabling them by default is great for user choice!

</comment><comment><USER26> "Oh, would somebody PLEASE think of the advertisers!"

Hmm... building the internet _not_ particularly thinking about the ads on a website sounds good to me.

</comment><comment><USER27> I disabled third party cookies in Chrome on my own and I don't see nothing wrong with my experience of web browsing.

</comment><comment><USER28> Less advertisers ? Good riddance.

</comment><comment><USER29> This is the most orwellian thing i have read in a long time.

</comment><comment><USER30> Obligatory obvious question: What is a 3rd party cookie?

<comment><USER2> A cookie that is sent from a domain via a page hosted on a different domain.</comment></comment>


Hyper Social is Dying - <AUTHOR> https://medium.com/i-m-h-o/e09e789d297 <comment><USER2> Quick story that I promise is actually relevant.

When I was watching Kevin Systrom speak about Instagram at the Castro Theater with Kevin Rose back in May, I distinctly remember one particular question. KR was reading a question from the audience to the two cofounders of Insta:

Kevin Rose (Reading a question from the audience): "Hollerback is being called the New Instagram, have either of you used Hollerback?"

KR looks around and says, "Hey guys, maybe I'm getting too old for this, but I've never heard of this. Have either of you heard of Hollerback?"

Kevin Systrom pipes up, totally confused, "No, I honestly can't say that I have."

KR turns to the audience and says "Does anyone use Hollerback?" Complete silence from the audience, crickets even; not one hand goes up.

KR looks out on the audience and says "Is that the CEO of Hollerback up there asking this question?"

"Yes..." A timid voice is heard to say from the audience.

And that my friends is modern guerrilla marketing and how I've heard of Hollerback when they haven't launched yet. Frankly, I thought it was deplorable at the time but in retrospect it did leave an impact on me (whether it was positive or absurdly negative though, I can't tell). I do find it interesting that reading this article made me recall that anecdote so clearly. Branding in action I suppose...

<comment><USER3> Hehe, classic. That took some guts to owe up to it and sharp of them to call the guy on it. I don't think I would have caught on that quickly, maybe later at night in bed reviewing the day or so.

<comment><USER2> Kevin Rose is a smart guy.

As an aside, I had the pleasure to meet him at Disrupt in 2010 right after the launch of Digg v4. It struck me as an incredibly interesting moment in time (to set the stage, Digg had just flattened their site, removed granular categorization and was now pulling in content automatically while Reddit was, antithetically, doing the complete opposite).

I talked with Kevin and it was clear to me that he knew what was at stake and that he was doing his best to deliver what he thought was the right answer. It's sort of like 1984 versus Brave New World. The leader in '84 is sort of a tyrant and we almost universally reject his dictum because of this. In BNW, Huxley's leader genuinely believes that what he's doing is right, and he's not sure, but what he is sure is that he thinks what he's doing is the best way to lead.

This was a profound lesson, for me, about management. Even though Kevin Rose was ultimately mistaken about his hypothesis, he executed with conviction and leadership. On some level, you still have to admire the captain of the Titanic, and that's a sort of backhanded way of explaining why I admire Kevin Rose so much.

To fail, and rise from the ashes, is one of the most difficult things in the world, but I think Kevin has certainly done it.

</comment></comment></comment><comment><USER4> This whole write-up is based on the assumption that everyone has hundreds of "friends" on Facebook, but let me tell you something: if you have hundreds of "friends" on Facebook then you're using it wrong. I have 54 friends on Facebook, I know all of them, if someone asks me to add him and I don't know him/barely know him, I don't fucking add him, it's that simple really.

Besides, even if you're so dumb that you can't stop adding strangers as friends, rest assured that on your feed you'll only see activity from the people with whom you interact the most. So, basically, the whole thing is pointless.

<comment><USER5> I keep hearing this argument but I think it's impractical.

Because every person has a different idea about when and who it is appropriate to friend on Facebook and no one is really right or wrong, it's just a preference.

However this makes for awkward social situations.

For example your college classmate that you don't really know, adds you on Facebook because hey you are his classmate (or teammate). To him, that relationship is sufficient to justify connecting with someone on Facebook. To you, that may be far from it because you choose to keep ~60 friends but he likes to have a broader network.

This happens in all sorts of different contexts. For example you meet someone at a local community meetup, or you speak at a conference and people that you see there will ask to add you on Facebook.

At that point, how do you gracefully handle the situation? Do you really turn around and say "Uh...yeah thanks...but I only keep 'real' friends on Facebook". Or "Uh...sorry I can't commit to a Facebook friendship right now...you are not good enough of a friend just yet to qualify".

No matter how you put it, you come off as rude and weird and that person will likely not even come close to you any more. But your relationship would otherwise be valuable.

That's one of the many reasons I don't have a Facebook account.

<comment><USER4> What we're dealing with in this setting is the social pressure fueled by the faulty expectations of people regarding what's rude and what's not. As I see it, that's not something Facebook can address. Not now, not ever.

<comment><USER6> Wrong. What we're dealing with is a serious market-failure in a truly good system to keep in touch with the guy you just met at the meetup who you truly want to connect with. He just goes and uses Facebook, and you use nothing. Neither is good. And that's the problem, not the rudeness issue.

</comment></comment></comment></comment><comment><USER7> One day, a dialog popped up on Facebook suggesting people to put on my Acquaintances list, which hides most of their posts from my news feed. It improved my life.

[https://www.facebook.com/help/209850012449913](https://www.facebook.com/help/209850012449913)

<comment><USER4> Second that. Lists were introduced as a response to G+ circles just as the subscribe function was added as a response to the follower model of Twitter. Everyone expected a response from Facebook and they delivered. Then the features were left languishing and were never updated/enhanced. I don't know what's the rationale behind this, lists are actually a wonderful way to catalogue your "friends" and most people would find them very useful, if they knew they're available. Facebook should really consider to make them a more prominent feature and simplify the whole adding process.

<comment><USER8> Are you sure that lists were added in response to G+? I remember having lists long before G+ was even a thing. I could be mistaken but I'm pretty sure lists and the ability to share things among certain groups of friends had existed for quite some time but was rarely used.

<comment><USER4> It might very well be, I'm not an expert, I know for sure that they became a thing around the time that Google introduced G+ and its circles.

</comment></comment></comment></comment><comment><USER9> "In fact, I'd contend that the friend and follower models can be elegantly replaced by a frequency and engagement model."

Quite honestly, I think FB (as an example) tries to do this already. When I "Like" friend A's feeds more often than friend B's feeds, I see more of friend A's feeds. As far as "engagement" goes, I assume the author means "quality of engagement". How do you begin to come up with a way of quantifying the quality of an engagement for one person versus another? Time of engagement? Number of words spoken/written?

"Based on current smartphone technology, social networks can and should leverage location, time, frequency of interaction, and behavioral similarities."

Smartphone, laptop, whatever, they're just data collection vehicles. The difficulty is developing a model that maps values to people. Someone optimizing a social network for behavioral similarities, for example, fails if the individuals in the network thrive on behavioral differences.

There is plenty of room for improvement with social networks. I don't think the way forward is for social networks to improve on network building optimizations.

<comment><AUTHOR> I could have expanded on the frequency and engagement point. Currently, the most representative social interactions happen off of services like FB (such as texting, phone calls, going to the movies, grabbing coffee, meeting someone, etc).

FB then relies on the user to input this data with the promise that the data will be spit back out in a relevant, useful, and entertaining way.

Phones, contrastingly, can pick up all this external engagement passively and produce a more representative of a true life social network. Because its data collection is passive, it can dynamically adapt a network without explicit user input.

</comment></comment><comment><USER10> > _The central mechanic and experience of these networks, the feed, becomes > worse as the network connections increase. This is a huge problem. As more > friends enter your new feed the strength and relevance of relationships > decreases. The experience should be getting better the more you use it._

Thus why lists were created. Google "got this right" with Circles.

> _The next great social network will provide its users with an experience > that values friendships and relationships dynamically._

Basically an "Auto-Signal-Noise" generator. I get it, but I don't see it happening anytime soon.

The problem is most _people_ can't even assign true value to their own friendships. Why is a piece of technology going to do that any better?

I wrote about my thoughts more in depth about this awhile ago: [http://www.techdisruptive.com/2012/09/18/we-are-far-from- sol...](http://www.techdisruptive.com/2012/09/18/we-are-far-from-solving- signal-to-noise-problems-with-technology/)

</comment><comment><USER11> _" Based on current smartphone technology, social networks can and should leverage location, time, frequency of interaction, and behavioral similarities."_

And this sort of approach encourages a power-law distribution in who ends up in my feed and that's misguided.

The thing is, actually, I want to see the _important_ updates from _all_ of my friends on FB and the fluffy stuff from only my closest friends and family.

It's not just who, but what -- and yes, that's harder to algorithmically assess, for now, but that doesn't change that anything short of it isn't the big-win solution as the author proposes, IMHO.

<comment><AUTHOR> I definitely see the value in receiving these kinds of wide-reach-yet- important social updates.

However, I think the opportunity (from both a business and user experience perspective) is for a true digital representation of your current real life social network.

<comment><USER11> Except, I reject that there's a difference between my online life and my "real" life. You're thinking 20th century/pre-mostly always connected world.

I care deeply about friends and family that I cannot see on a daily basis because of distance and time. That doesn't make those bonds any less real or important and it doesn't mean that online socialization (jokes aside) is any less meaningful than "real life" (there are, in fact, scholarly research publications that support this and I could find them, but honestly, it's been a long day).

Moreover, frequency of interaction doesn't always reflect strength of social bond. I have friends I would kill for who I talk to once a month or less, simply due to schedule, new parenthood, etc. I think that's certainly the case for many adults.

</comment></comment></comment><comment><USER5> Keep in mind that the dynamic argument also applies to the information that you give out and the content that you create which I think is even more important.

For example, in traditional relationships, the closer you are to someone the more they know about you.

Your parents probably know many things about you that your wife/husband and your best friends don't know.

Your wife/husband knows things about you that your best friends don't know.

Your best friend knows things about you that your friends don't.

Your friends know things about you that I don't know.

And it goes on and on...

This feature of traditional relationships is extremely important and valuable to me.

If you get out of touch with someone, their knowledge of you gets outdated. As you become more intimate with someone, they learn more and more about you.

So there's a natural self-adjusting and dynamic layer and hierarchy to traditional relationships that keeps everyone sane and allows for longevity of relationships.

Social networks throw everyone in the same bucket. Granted they provide you with tools to try and manage the mess like the circles and lists. But that is not really dynamic and to me is very unattractive, imperfect and time consuming. I'm not willing to spend hours managing my social network.

Traditional relationships take care of themselves.

</comment><comment><USER12> As an Australian living in the US I've come to rely on facebook far more than I ever did when I was living back home. It really is the main way I keep in touch with my friends and family back home. I have a small circle of friends who I chat with on IRC every couple of days, but the time difference generally results in this being a "ships passing in the night" type catch up. My nuclear family I have probably monthly google video chats with. I swap emails with my Dad once a week or so.

I check facebook daily and really feel like it has made it possible to still be part of my friends' lives.

I have run into a bit of a niche use case issue recently though. My hobby is skydiving and facebook has become the way that I get access to photos and videos taken by my new "skydiving friends". So it is quite a regular scene that after jumping with a group of people for a day we'll all trade facebook details, add each other as friends and tag everyone in photos and videos.

This is excellent.... except that these new found friends have access to all my facebook history unless I work out some way to manage the privacy features.

I looked into this today and the "acquaintances" idea kind of fits... except this lowers the weight of these people's updates making it into my news feed, which isn't what I want. I'm really keen to see skydiving related posts from this group of people. I want to know the next time they're planning on a trip to the dropzone. I want to see their other skydiving photos.

So I make a skydivers group and I can limit my old posts to not show up for these people. When I make new posts I can include them if it is skydiving related. But I'm relying on them doing the same. I can't see anyway that facebook makes it easy for me to filter their content. It seems all or nothing. Either I get all their updates or none.

</comment><comment><USER13> So, basically, the solution to "hyper social" is _even more_ social data, automatically gathered and funneled to company X, so it can be more context- sensitive in what it shows you.

Forgive me for not leaping for joy at the prospect of this future. Imagine if FourSquare were always (literally) on, and tracking literally everyone you meet. And then they started selling your data for advertising, as they're doing now. Or they get hacked, and someone dumps the data / performs enough queries to make an _extremely_ detailed ID-theft of a handful of random people.

I'd rather not have all my past, present, and future eggs in the hands of one _anything_ , much less a for-profit company.

<comment><AUTHOR> The value and utility of such a service will be so significant that it will trump most individual's concerns about privacy. Facebook has lead a successful charge in this direction for the last 9 years.

</comment></comment><comment><USER14> I'm not sure that dynamic segregation of social connections is the ultimate solution to the mediocrity of social network applications. Or rather, most social network sites come to serve a specific purpose or narrow purpose rather than actually facilitate _social_ interaction.

Facebook, LinkedIn, and Twitter are just as the author describes, "a digital filing cabinet that you fill with your relationships." They have peripheral uses like being a channel for recruiters and being quoted on mass media, but fundamentally they store contact information.

A "digital filing cabinet" for storing slightly different sets of relationships seems like a tool with limited use, rather than a true virtualization or revolution of social interaction.

I would say that social networks or "social spaces/contexts" (maybe someone can coin a better term than me) that actually facilitate meaningfully novel kinds of social interaction, start relationships, and generate content are more along the lines of HN, reddit, IRC, and forums (online spaces where ideas are exchanged, discussions and learning occurs, and people connect to new people).

Others include Meetup.com, which focuses on connecting people with similar interests so they can interact in real life.

Surprisingly I am more social on Steam than any of the conventional social networking sites, Steam is a surprisingly effective social network for gamers. Additionally, social games like MMOs or other multiplayer games change the way people interact socially through guilds, alliances, clans, trading, competition, and cooperation.

Generalized social "filing cabinets" like FB, LI, and Twitter serve their purposes and being generalized, they have use for a large population of people, but they don't actually generate or enhance interesting new social dynamics or content (twitter sort of does). Friendships and relationships are difficult to cultivate without specified context. A "filing cabinet" has little context for interaction, but a "social space" can provide context for new interaction and that's where more interesting stuff happens.

</comment><comment><USER15> I don't really like Facebook, but those are non-problems really. I have about 250 connections, which I guess is pretty average or to the lower end. In the past, I would actively go through the list and purge people who I only met a few times or fell out of contact with, but at this point if I see something on my feed that is not interesting to me (either a person I'm not interested in anymore or someone who posts a lot of annoying stuff) then I just hide all their posts. That made my news feed very clean. It also safeguards against the possibility that I might run into one of those people again, it would be very awkward if I deleted them completely.

</comment><comment><USER16> The social networks of the future will have the potential to access all of your daily interactions via your smartphone. They have the potential to know who you call, who you meet with, and where you hang out.

This enables your social network app to keep up with your relationships, without you needing to tell it that X is now just an acquaintance and Y is suddenly an important person in your life. In fact, your app might figure those changes out before you do.

Even under the threat of panopticon, these advancements are attractive.

</comment><comment><USER17> Why couldn't facebook adopt this dynamism? I expect they do some of this already, in putting more items in our feed from people we're engaged with. Why not incorporate geographic proximity too? It's feasible (if scary) to bump posts of people we've called. The data is on the phone, no?

I don't see why a new service has to be created for this, when Facebook already has a tweakable algorithm.

<comment><AUTHOR> Part of the main problem I see if the "friending" model. There's too much friction there to maintain a truly current social network.

</comment></comment><comment><USER18> I don't even think of Twitter as a social network anymore (probably never did actually). To me it's a hodgepodge of really nichey news, occasional customer service interactions, random personal asides that I don't care about but are mostly harmless, with the occasional personal interaction sprinkled through out.

<comment><USER19> Some of the younger people I know use it as a chatroom -- they tag messages with usernames to draw people into discussion, and the frequency of messages is usually high.

I do not understand how they are comfortable with having what often amounts to quite private conversations out in public. I found I had to unfollow most of them, the constant and mostly irrelevant noise ends up polluting my feed.

</comment></comment><comment><USER20> Facebook already does this by showing you only a part of your friend's information on the newsfeed, based in part at least on interaction type and regularity. Google does this via circles. I believe twitter is not curated in that fashion but twitter has a slightly different model due to it's type of asymmetry.

</comment><comment><USER21> The frequency and engagement model seems to have merit. I might add to the other concept described -- Core vs Circumstantial Relationships -- a notion of Aspirational -- under which following a celebrity might fall.

</comment><comment><USER22> These arguments are about the same category as stating that email is broken - If you have 600+ friends or emails that overwhelm you, blame your process and not solely the tool.

</comment><comment><USER23> Facebook does make this dynamic and based on engagement. If you look at photos of someone or send them a message their relative frequency in you feed goes up...

</comment><comment><USER24> "The Next Social Framework Will Be Dynamic" \- I think this is what Google is trying to do with "circles".

<comment><USER25> Maybe - but at the moment they just make the problem worse, because you have to manually curate who's in which circle and make sure you keep it up to date.

</comment></comment><comment><USER26> One giant argument from anecdote.

<comment><USER27> lol, exactly.</comment></comment>


The Technology That Could Free America from Quarantine - <AUTHOR> https://www.theatlantic.com/ideas/archive/2020/04/contact-tracing-could-free-america-from-its-quarantine-nightmare/609577/ <comment><USER2> Does anyone seriously believe that the various 3-letter agencies will keep their nasty little fingers off this? And that once the vaccine arrives, we may as well keep it in place "for the sake of the children"?</comment>


Gojot – git- and Go-based distributed encrypted journal - <AUTHOR> https://gojot.schollz.com/index.html <comment><AUTHOR> Useful, convenient, fairly fast (most of the delay I'm experiencing is probably in having to connect to and sync with GitHub). Good built-in organization system.</comment>


Ask HN: Please make your SASS' invoices filenames human-friendly - <AUTHOR> I have a favor to ask.
Please make your SASS' invoices filenames human-friendly and save your clients hours of frustrating, menial, error-prone work.
Every month I and countless other paying customers of yours have to download your invoice and have it processed with my company's accounting.
I need to do this for 5-10 SAAS services every month.
Most of these files are named completely randomly, often like this (ex. - 'Browserstack: Invoice-8a28fd166d2cace7016d34cbe6f06e11-20190915.pdf') or just the word "invoice", or just a hash, or sometimes, the invoice date but no company name. Some don't even allow a downlnoad so I have to save the screen as PDF myself.
Here's what would make mine and many, many others' lives easier and happier:
Use a filename like this:
saas_name--date_of_invoice--amount_of_invoice.pdf
This is what my accounting dept is asking for and is a major PIA.
It is trivial to automate and would make me and countless other paying customers delighted by the thoughtfulness and care of your company much much more than any PR initiative you can think of.
Please, please bring this up to the decision-makers in your company. <comment><USER2> There's no way to pull the data out of the image, even if it is a raw scan, wouldn't there be some OCR function that exists? Honestly I'm a bit surprised there's nothing that has solved this problem.

You would need a template for each customer on where in the file the data exists. Error checking would be an issue but you could bypass that a bit by using the same information and generating a receipt to the user. You could also have filters in place that would require a human to intervene if the amounts are too high case something goes wrong.

I get that you're not asking for an app idea or anything but I'm surprised there's not some solution you can use that already exists.</comment>


How to Fake Being a Good Programmer - <AUTHOR> https://towardsdatascience.com/how-to-fake-being-a-good-programmer-cbef2c39764c <comment><USER2> Yeah, well, the code will prove otherwise.</comment>


It's Python, Not Python 2, Not Python 3 - <AUTHOR> https://medium.com/@Alir3z4/its-python-not-python-2-not-python-3-7caeef5adb29#.kecbwl1co <comment><USER3> I fully agree with this sentiment. If you read the discussions, it sounds like Python 3 is an entirely different language which is definitely not the case. Porting code to Python 3 is really easy and involves no changes to the program flow or the APIs you use. Hardest to port is usually the Bytes/Unicode transition. In my projects, it fixed a few nasty Unicode bugs which was a nice bonus.

> Python 3 came out 2008, at the moment of writing this, it's almost a decade > and if your third party package has not been updated, then it's really > messed up.

Exactly. A library which has no Python 3 port in 2016 is going to be an maintenance burden either way, since it's not going to get support or security updates either. Many of those abandoned projects have been forked for Python 3 support, and active development continues there.

A number of new projects are Python 3-only.

Two years ago, I recommended new developers to stick with Python 2 for anything except toy projects (and use __future__ imports to make it easier to port later) because library support just wasn't there. Now it is, so it's an easy decision.

Porting to Python 3 means future-proofing the project - not only Python 2 will be EOL, but many libraries will drop Python 2 support.

[http://www.python3statement.org/](http://www.python3statement.org/)

<comment><USER4> 1) most porting requires little to no change in _logic flow_ regardless of the languages as long as they are the same paradigm (functional, oo, declarative, imperative, etc).

2) That's just not true. Python 2 is and will be better supported in general than Python 3. Does aws lambda or google even support Python 3 yet?

If anything it's Python 2.

<comment><USER5> Any time you alter code you must spend time to understand what you're doing. There are all sorts of overheads associated with simply touching a code file.

</comment></comment></comment><comment><USER6> So, the problem is that the Python developers - in my opinion unneccessarily - broke backwards compatibility. There are two main problems - the print function, and str/unicode. They could just add two or three things, and I'd be completely satisfied. I hope they are self-descriptive:

        from __past__ import print_statement

        import unicode_string as str, bytestring as bytes
        import unicode_string as unicode, bytestring as str

        from python2 import legacy_module

... or equivalent comment options (a la "coding: utf8"), or iterpreter flags, or something like that. Perl 6 manages to load Perl 5, I don't see why this shouldn't be possible in Python.

Now you might say this is petty, why get worked up by something as minor as the print statement. But just because it is so minor, it feels so unneccessary and petty to remove it.

The str/unicode switch was also not handled optimally. There is a lot of code still broken. I just ported some code to Python 3 which uses Twisted, and found the FTP implementation does not work in Python3. It turns out this is really hard to fix, because FTP is not encoding aware, and bytestrings "I dont care right now what encoding this is"-strings are second class citizens in Python3.

It's a bit unfortunate that the Python developers get to decide what is defined as Python and what not. When something gets big, I believe you get certain responsibilites. You shouldn't just "break the world" and strand lots of developers in 2008. That they even published a PEP stating there will be no Python 2.8 is silly and mean.

To end on a hopeful note: Why won't someone make a Kickstarter... if you manage to get full support for loading Python 2 modules into the current, main CPython 3 codebase (upstream), I'd be willing to pay, say, 100€. I'm sure some companies with legacy codebases would like to chip in.

<comment><USER7> What is a major open source project that is Python 2 only?

<comment><USER6> Parts of Twisted. But open source projects are not the problem. We (a major scientific collaboration) have likely millions of lines of Python (2). Mostly used in one-off plotting scripts, or as configuration or steering files.

On the one hand, I bet >95% of these scripts translate perfectly with 2to3.py, have no unicode/str confusion issues, and would be trivial to port. It's often really just the "print". On the other hand, most of this is "legacy" code, and there is no benefit to port it - we'd rather not mess with code that is supposed to be "frozen" and e.g. able to reproduce past scientific results, and nobody will spend time porting it without tangible benefits.

Last I checked, it was considered "too hard" to move to Python3, but in the meantime we are switching VCS (from SVN(!) to git), we are rewriting our main framework to be multithread-capable, and tackling a bunch of other gargantuan tasks. So if going to Python3 is harder than all that, then I think something went wrong with the transition. (For the record, for personal projects I use Python3 now, as everything has catched up for me.)

</comment></comment></comment><comment><USER8> Spoken like someone who's never maintained a M+ line monolithic codebase.

Of course you _should_ upgrade, but an armchair admonishment that papers over the actual costs is just a lot of hot air.

<comment><USER9> ^This

</comment></comment><comment><USER10> > If you're on the older version ("Python 2" as you say), you're a decade > behind, you should have upgraded at 2008.

Ok, I've stopped reading there.

</comment><comment><USER11> Python Community Still Unwilling to Learn from Mistakes Made in Python 3 Transition

</comment><comment><USER12> > If you're on the older version ("Python 2" as you say), you're a decade > behind, you should have upgraded at 2008.

NumPy didn't support Python 3 until release 1.5.0, which came out 2010-08-01.

SciPy didn't support Python 3 until 0.9.0, which came out 2010-12-12.

PyCrypto got Python 3 support in late 2011.

Those three alone made switching to Python 3 in 2008 completely unfeasible for a heck of a lot of people.

<comment><USER13> That was one thing the PHP community got right with the upgrade to PHP7: they made sure the major frameworks and libraries worked well from the start - <USER2> worked "better" in the new version (in this case they got a free performance boost).

</comment></comment><comment><USER5> It's not the same language. This blog post is flaimbait with zero useful information. Thanks.

</comment><comment><USER14> It starts out saying that it's all the same language, then it veers wildly off course to talk about how different they are in saying that Python 3 is way better. Facts are only concrete if and when they are useful.

Wonderful.

</comment><comment><USER15> 2008\. Right. When there was NO library support and major performance issues. Get real. Garbage article.</comment>


Ask HN: How a non-tech can start a tech startup - <AUTHOR> I recently learned that Alibaba.com founder Jack Ma couldn't code a single line yet he managed to started a billion dollar web empire. I'm also quite sure there are many other highly successful tech entrepreneurs who knew nothing about technology. How did they do it?
I just finished my business degree and want to get into tech start-ups. Though I know some programming basics and can read codes, I don't have the technical skills to make my idea a reality. Yes I could spend the next 12-24 months to learn coding but we know in the start-up world it's all about speed to market. On the other hand finding a good technical co-founder requires a heck of a lot of luck!
So what are some of my options? I'm particularly interested to hear from people with similar background and broke into the tech startup world.
Cheers! <comment><USER4> Start thinking, "What can I bring to the party?" In entrepreneurship, people won't partner/hire for long term development potential, because there isn't the time. That means a lot of the value of a business degree is gone if you can't show that you can deliver some value upfront.

Ideally some proven track record of doing that that you can show people helps. Organize an event, work the phones, meet more people, do some marketing, do some media purchasing, learn finance, learn how to write contracts, learn how to interview/hire/manage... things like that. The more you can prove you've got something valuable to bring to the party, the easier it'll be. Deck is already stacked against you - there's more people with business credentials that want a technical partner than vice-versa, but if you've got legit proven skills it shouldn't be too hard. Build/prove those skills out.

<comment><AUTHOR> "In entrepreneurship, people won't partner/hire for long term development potential"

Agreed, a while ago I interviewed for a startup and got rejected even though I knew the stuff like book keeping were pretty easy to learn, but I haven't done before.

With the list of biz skills you mentioned, I've done more than half of them (I was a very active student). But you are right about "there's more people with business credentials that want a technical partner than vice-versa". The advantage I have I guess, is that not many people have as much passion to start a business as I do.

<comment><USER5> Hi friend, having more "passion" is unfortunately not a real advantage. Pretty much everyone will say they're harder working and more passionate when trying to hustle for a job, vc money, a partner, whatever.

What's more important is tangible evidence of that passion, something that can be measured; what you have started, how many users, how much revenue, etc.

While it may be true you that you have a ton of passion, at the end of the day its just fluff. Its much easier to persuade people with statistics than with ideals.

<comment><AUTHOR> "Tangible evidence of passion" - points taken! :)

</comment></comment></comment></comment><comment><USER6> The odds are stacked against you if you don't know the area you are in. This is because you can't control the competency of the people you hire or the work they do, so you have a random factor that has a direct and long lasting influence on your companies success.

After my first software startup I tried a hardware product and failed miserably because of my lack of knowledge. To remedy this for next time I am formally learning the areas where we failed (electronics + cad) and when I'm ready I will try again.

Theres so much that can go wrong with a startup that it's just not worth adding another element into the mix.

<comment><AUTHOR> Thanks for sharing your insights. How much do I really need to "know" the area? Do you mean actually knowing what's going in the technology or just an understanding of industry/process?

I assume the next time you see an opportunity in the hardware business and want to jump onto it, you wouldn't be taking a 4 year undergrad course to know the drill.

And what's your experience of "learning by doing"?

Thanks!

<comment><USER6> You need enough knowledge to know when someone is making the right decision or not for your business. I run a successful software company, have hired and managed many programmers and still got it wrong with hardware.

>I assume the next time you see an opportunity in the hardware business and want to jump onto it, you wouldn't be taking a 4 year undergrad course to know the drill.

That's actually exactly what I'm doing - although after you have a degree it only takes a year or so to go through the relevant programs, and if you know people in the university it's easy to get private tutoring for specific gaps. It's not like the courses are difficult once you learn how to learn. Plus, you get to see who would be a good fit in your next startup.

Learning by doing: Perhaps I'm just not smart enough, but I need to understand some theory before I can do it right in practice, and I learn best talking to knowledgeable people. I fumble and make too many costly mistakes when learning something completely new without guidance. We all have our weak points :)

<comment><AUTHOR> Thanks for you advice, especially about the reduced learning curve. Really appreciated!

</comment></comment></comment></comment><comment><USER7> I was in a similar situation as you and decided to leave my banking job of 5 years to study computer science full time. Now I am so glad I did. You might be able to hack something together in your spare time, but unless you really understand what's going on then you won't know what to do when it breaks. Taking the time to learn is as much a risk management strategy as it is a means to an end.

<comment><AUTHOR> Wow man that's some dedication and big risk taking! How long did it take you to learn CS full time for?

<comment><USER7> I actually saw staying in my current position as the riskier option. Sometimes staying put is the riskiest thing you can do. I am about 3 months into my studies. I started with the MIT Intro to Programming with Python course, Stanford's Intro to CS with Java course, and Harvard's CS75/CS50 Course. These are all online and free. I am also enrolled in a discrete math class and an advanced programming fundamentals course a local university. Additionally, I am learning Django and working on a web app. I find this makes me much more engaged along the way. To answer your question, I haven't 'learned CS', but I am much more comfortable than I was three months ago. I expect it to be like that forever.

<comment><AUTHOR> "Sometimes staying put is the riskiest thing you can do" - thumbs up!

</comment></comment></comment></comment><comment><USER8> The thing you need to do if you're paying for code is to find a way to minimize waste. Every change is costly, and your coding competitors won't have to eat those same costs.

Practically, one way to do that is to go sell a product that doesn't exist. And I mean sell it, not just get feedback. Get an actual contract from the customer and their buyin to help you build out the concept.

Build a high ticket item- this probably means a b to b product. You need as much skin in the game from your first customer as you can get and cheap products wont get it done.

Getting this contract is difficult, and the people i know who've taken this route admit that their first contract had hole a mile wide that allowed their customer to walk at any time. But, it sets the scene for collaboration and puts some psychological incentive out there to help keep everyone interested.

Only after you've sold your first customer do you then hire coders. Since your money will be somewhat fictitious at this point, you may have to look for a founderish type of coder, but thats ok. It will be bucket loads easier (and cheaper in terms of equity) to find one with a contract in hand.

I know someone who's done this twice, and both times, he achieved huge exits without outside substantial outside funding. The products were boring, but the businesses were outstanding.

<comment><AUTHOR> Argh, cost of iteration is definitely going to be a major factor to consider, thanks for pointing it out.

And the "Sell before build" approach definitely worths a try if I'm building something b2b, but for b2c it probably won't work. Most of the b2c startups nowadays don't make any money until 2 - 3 years down the track. But I guess this tactic can apply to selling my b2c idea to investors.

</comment></comment><comment><USER9> Heres what I did: I started out learning HTML/CSS, which I think is crucial. It'll take a few weeks to learn. I think it's pretty necessary to know if you're getting into the web; it's also simple enough.

Then you can figure out how to get a basic site up. This will keep you learning, if you want to be taken seriously, you need to understand how to do all this stuff. Use your new found skills to build up something basic, but something that can make you a bit of money. I built www.iPadCaseFinder.com, it got quite a bit of press, and made $3k~ in 3 months, and I sold it for the same amount. Use this money to hire a designer, get the mockups done, use your HTML/CSS skills to code them, and apply any necessary jQuery, etc. Then use that to find a programmer :-) (Or rinse and repeat, use the new money to hire a programmer).

I'm assuming your skills are business and marketing, so use those skills well.

Also, network.

<comment><AUTHOR> Hey dude, when iPadCaseFinder.com first came out my friend said to me "this guy is so smart, got into the game before everyone else"! Congrats on the success!

I do know some HTML/CSS codes though can't really build a site from scratch. I've been building websites using wordpress then change the stuff in the theme CSS file.

And agree about the importance of networking :)

<comment><USER9> Brilliant. I owe a lot to WordPress :-) and cheers on the compliments from your friend!

</comment></comment></comment><comment><USER10> While I wouldn't recommend this route, it might have worked in my case. I used to know nothing about tech/startups and I ended up outsourcing the initial development of my site while still a full-time student. I learned a lot during the process while fully immersing myself in the tech and startup scene (online, since I'm not in an ideal location yet). I then used the initial traction to get my foot in the door to talk to developers. Without the initial traction and product, I don't think I would have been able to start as many conversations about the future vision and ultimately find a good partnership. Nothing's 100% yet, but I'm on my way. I know time is crucial, but without something to show for yourself, it will be difficult to attract the talent you are looking for.

</comment><comment><USER11> I think it is all about resources you can bring on the table. Bigger resources means bigger leverage. I think you need to bring business skills AND some money, the more money you have, the better.

I heard that the historical CEO of Nintendo, Hiroshi Yamauchi, didn't know how to use Nintendo gaming machines. He almost never played any of his games. But he has the money and business acumen to hire guys like Gunpei Yokoi (engineer) and Shigeru Miyamoto(game designer).

I also heard that Intuit was started by Scott Cook, a marketing geek, who brought business skills and enough money to lure Tom Proulx. Scott Cook met Tom Proulx when he came to the Stanford campus, looking for a programmer.

So, if you have vision, business skills and are able to raise some money, it is possible.

<comment><AUTHOR> Vision, business skills & Money - Points taken! :)

<comment><USER12> If all else fails, try to be the sole heir of your grandfather's empire ;)

</comment></comment></comment><comment><USER13> Is Alibaba a tech start-up? Of course it depends on your definition, but I would argue no, it isn't. (Just pause for a second here: how many businesses can you think of that _don't_ rely on technology of some description?)

Alibaba is a business that leverages the web to make it easier and cheaper for suppliers to find buyers and vice versa. An older version of this is perhaps a physical market, or a convention, or some kind of club or association, or simply your rolodex of business contacts. The guy that started Alibaba recognised that the web could bring together and match buyers and sellers on an entirely new scale, and at a very low cost: good for users, and good for building a huge company.

He didn't need to be a tech guy to recognise this. His business is _not_ technology. His business is one of the oldest, and most important of all businesses: introductions.

Of course, had he been a tech guy he could have maybe built a website. I don't know his background, but if he had one or more of the following - <USER2> degree, cash or connections he probably didn't find it too hard to raise some money to hire some guys to code the site.

A tech business, I would argue, would be one developing or selling technology. I don't know - designing computer chips, or writing specialised compilers for example. For this kind of business, then yes you need to be a technologist - you won't be able to understand your product otherwise. But simply utilising technology maketh not a technology company.

So with this definition, absolutely - you do not need to be a techy guy to start one of these businesses (e.g a web-based business). In fact if anything, I reckon it's better if you aren't: technologists often spend way too much time stressing about and optimising the underlying technology, when actually what they need to be worried about is the business model that the technology is powering.

Edit: so an example of a "tech" business that isn't really a tech business: an e-commerce store. Let's say you just wanted to set up an online store to satisfy the increasing demand for ridiculous office/executive toys. Do you need to be a tech guy to do this? No: what you need is a sound understanding of your product lines, the market size, your route to market & sales channels and so on. In terms of setting up an online shop there's a million providers who'll set this up for you with custom designs, transaction processing and everything else you'll need to get started - just as there are all the other providers of services that you might need - legal advice, accounting, payroll, inventory management, CRM etc etc.

<comment><AUTHOR> That's a great way of differentiating between "tech startups" and "web-based startups", and they certainly require very different skill sets to get them off the ground.

To me the "web-based business" category is definitely the area I'm more interesting in, and have the right skills to execute the idea. Cheers!

On a random note, what's your take on a CEO with no tech background heading a company of, say, chemical engineering?

<comment><USER13> Fine I would have thought, assuming the person in question is suitably qualified in other areas. I think being a CEO is more about business strategy, business development and requires helicopter view of all a businesses operations - sales, marketing, IT, finance etc. Of course you need _some_ knowledge and understanding of the businesses products and services - but you probably don't need a degree in chem eng. A CEO's remit is a broad one - <USER3> generalist not necessarily a specialist. To check this, take a look at the CEOs of FTSE100/Fortune500 firms.

</comment></comment></comment><comment><USER14> If you have an idea and you are a great communicator who doesn't shy away from selling, cold calling, deal making, etc, you would be a very valuable co- founder for many techies. If you have some industry knowledge that would be even more valuable (but supposedly, as a recent graduate, you don't). Not all web startups are very technology centric.

<comment><AUTHOR> Thanks for your insights. I was quite successful selling sponsorship package for an not-for-profit organisation I cofounded a while back. Industry knowledge is probably a weakness, what's the best way to gain industry knowledge? (following HN is definitely one good way)

<comment><USER14> HN only covers a smallish section of the tech industry. What so many techies lack is knowledge of other industries or connections to other industries. So if you go work for a few years in finance, retail, oil exploration or whatever, you're going to be quite an interesting co-founder for technology focused startup founders.

<comment><AUTHOR> Totally agree! A cross-disciplinary approach is definitely the future of... well pretty much every industry, thanks for the advice :)

</comment></comment></comment></comment><comment><USER15> Simple, don't think of it as a tech startup. Find a way to make money without writing code. I started off using Google Docs before paying to get a Rails app built. Once the money is coming in, even just a few bucks, you can work on attracting people with time and/or money to help you scale.

</comment><comment><USER16> I'm in a similar situation. I've started businesses before and I LOVE doing it myself. I'll learn everything I can, put together a simple website and then run everything alone. I recently put a business plan together for an internet startup that I feel has amazing potential, but it's also a huge undertaking and involves a lot of web programming that I can't do. I want to find a dedicated tech co-founder but money and time are huge issues. If the person is a co-founder then you would be in the same boat where nobody is getting paid, but then why would someone even agree to be a co-founder if the only promise of money was the hope of outside funding. Can a great idea be enough to attract talent?

</comment><comment><USER17> A tech and a biz founder make a great team! There are many great tech people with little interest in the business side of things. The question is how to find a tech co-founder who is interested in your idea.

Depending where you are located, you should visit the local hackerspaces, meetups and everything else to get to know tech savvy people. Talk with some people about your ideas and see how they react. Don't offer them to be co- founders at the first date, but build a network of competent people you like. After a while you will get a feeling if somebody might be the right match.

Good luck!

<comment><AUTHOR> Thanks for the advice about networking! I totally think this is a good strategy. Can you share some of the insights about how to pick a great tech cofounder?

</comment></comment><comment><USER18> > _Yes I could spend the next 12-24 months to learn coding but we know in the > start-up world it's all about speed to market._

The more coding you know the better your income prospects, the more valuable your skill set will be in a tech startup, and the more potential co-founders you will meet.

12-24 months is nothing in the development of a business.

And sufficiently developing relationships with good potential technical co- founders could easily take longer.

</comment><comment><USER19> > I just finished my business degree and > want to get into tech start-ups.

Do you have a specific concept for a business? Most people actually have a clear concept of what they want to do before they start asking how to find a programmer. If you have such a concept please email me and tell me about it, my email address is in my profile.

</comment><comment><USER20> Sorry m8 but you should read more about Jack Ma and how he started Alibaba.com. As I remember prior to this he worked at governments official yellow pages site for quite some time. He obviously had a good contact network and was well known for many business owners in his country...

<comment><AUTHOR> I read his biography, in fact he collaborated with a friend based in the States to start the first version of that yellow pagesish site (it was during a time when nobody knew what internet was), which was later either acquired or started a new joint venture with the government.

<comment><USER20> The point I wanted to make - it's clear why you need a tech co-founder, but why would such a person need you in particular and not the other business guy?

</comment></comment></comment><comment><USER21> You need passion, potential and patience to succeed with a tech startup.

</comment><comment><USER22> well, I'm a nerd pretending to be a business guy, not the other way around, but I think some of the same lessons apply.

First nobody will take you seriously (as a business guy or a nerd) without some experience. so we need to get you some experience.

Do you have cash? if not, go get a regular job. get it the way regular business grads do it (what I mean, is you need cash for the first step. not a lot of cash, but some. a job, in my experience, is the easiest way to get cash. If the job sounds impressive, it can also count some towards experience. But, if you have enough cash already, you can move on to step two.)

Now, find someone to hire. You can hire inexperienced nerds for very little. depending on where you are, anywhere from min. wage to $15/hr will get you started. Note, you won't get anyone with experience for this rate... but sometimes you get really promising people without that attribute (and you can't afford experience right now, unless you have more money than I think.)

the thing to remember here is that you will probably end up firing the guy. I mean, I know nerds fairly well, and I end up making a lot of mistakes, so you will too. The trick here (and if you can learn this, you will have vastly improved your value as a business person) is to learn how to fire well.

By firing well, I mean you need to learn how to get rid of your mistake without making an enemy or making him or her feel to bad. It's a small community and if you have a rep. as an asshole, you are going to have a hard time picking up your second guy. (and when you find someone you don't need to fire? be /extra careful/ - that guy's friends will be the people you want to hire when he moves on to a higher paying job... or he might be the co-founder you want.)

I think the key is to start people off as contractors without the expectation of continued work. If they don't work out, you pay them for what they did, and the job is over. Nobody's expectations have been violated; nobody feels ripped off, etc... Only move someone into an expectation of longer term employment once they've proven themselves. As you get better you can move on to figuring out how to fire people who have been working for you for a while... but that's pretty rare if you work everyone as contractors first. People will leave, but usually they leave on their own for more money before needing to be pushed.

next, if you do manage to do something cool, always give the nerd who helped a bunch of the technical credit when you are talking to other people. It'll make the guy feel good, and if anything, it makes you look better. Nobody likes (or believes) a business guy who tries to takes all the credit, and really, as a business guy, if you pick the right nerd co-founder, that makes you look really good. by pointing out how good your nerd is, you are pointing out how good you are to have found and kept that nerd.

<comment><AUTHOR> Hey lsc, thank you so much for your advice about hiring techs on a contracter basis, it's such an eye-opener and I think this might be something I can pursue! (Only if I could upvote multiple times, I'd upvote you multiple times!)

Out of curiosity, does it work the same way for you as a hacker hiring a biz type? For example, if you hire a sales and later fires him, there's the chance that he/she will take your clients away. Thoughts?

<comment><USER22> >Out of curiosity, does it work the same way for you as a hacker hiring a biz type? For example, if you hire a sales and later fires him, there's the chance that he/she will take your clients away. Thoughts?

I wouldn't know. I'm in a business where face-to-face sales doesn't matter. the value is in the price and reliability. I mean, if someone else wants to build something better and cheaper, I might have a problem, but I don't think anyone would get very far just calling my customer list.

Also, when I do advertise, or "sell" I mostly focus on brand building rather than selling to individual customers, and I own the brand much more than I own the customer list.

If more of my perceived value was in individual customer sales, of course, this would be different.

You do bring up an interesting point, though. most of the people I do this with, I can train, to some extent. I mean, every now and again I'll find a webapp dev who is better than I am at that right off the bat, but most people I've hired required some training from me to get to that point, so it might be that you need to do this with people in your skill area? on the other hand it sounds like you've got some basic tech skills, so it's probably worth a shot.

The closest thing to biz types I've hired are accountants and bookkeepers. I've actually done okay, I think, hiring bookkeepers; as for my accountant, I pay full price just 'cause of the incredible badness of screwing up your taxes.

<comment><AUTHOR> Accountants and bookkeepers weren't really the "biz type" I was talking about (though they are important), I was talking about sales, marketing and finance guy. Granted, a smart techie willing to learn can learn those stuff too. But I think the type of business really determines whether you'll need to find a biz type cofounder early on, which in your case, a marketing/sales person is useless during the startup phase. Something like Groupon for instance, would probably need sales people early on.

Thanks for the discussion, I found it really stimulating. :)</comment></comment></comment></comment>


Wildfire.py - Self-modifying Python bytecode - <AUTHOR> https://github.com/0vercl0k/stuffz/blob/master/Python%27s%20internals/wildfire.py

<comment><USER2> Another interesting one, byteplay [1] makes bytecode-hacking childs play.

The most evil code I ever wrote [2] actually used this to modify the caller's bytecode in order to turn a log message into an exception with the correct stack trace from behind a C callback. I wouldn't recommend doing this, and I plan to excise this nasty hack at some point. Remarkably it works, even with a pretty intense multi-threaded unit test. I still don't like the idea of trusting this in production though.. You know the code in front of you must be evil if it contains a function named `re_execute_with_exception(frame, exception, traceback)`.

The problem is that the "correct" solution requires writing C/C++ code which we don't want to introduce to the project (distribution is a pain in the highly heterogeneous software environments that high energy physics has). The other correct solution is to fix upstream, which I hope will happen at some point. I look forward to the time when I can delete this code, anyway.

[1] <https://code.google.com/p/byteplay/> [2] [https://github.com/rootpy/rootpy/blob/master/rootpy/logger/m...](https://github.com/rootpy/rootpy/blob/master/rootpy/logger/magic.py#L194)

</comment><comment><USER3> I suggest readin "5 years of bad ideas" by Armin Ronacher - [https://ep2013.europython.eu/conference/talks/5-years-of- bad...](https://ep2013.europython.eu/conference/talks/5-years-of-bad-ideas) (video and slides on the page). It summarizes 5 years of similar hacks.

<comment><USER4> Don't be discouraged by the first couple of hacks presented, they get more interesting as the talk goes on.

</comment></comment><comment><USER5> "Wildfire" is a fabulous name for a self-modifying code library. Also, I see it's GPLed, I imagine that license presents some interesting questions in the context of a self modifying program.

<comment><USER6> Maybe, but I think there is also a reasonably straightforward interpretation of self-modifications as being mere processing output and not a derivative work (since computers cannot currently hold copyright anywhere that I know of). Now, if a _person_ ran the self-modifying code (for example, by emulating a Turing machine with a pen and paper) and distributed the output (for example, over a network, as a result of running the program), the _person_ might have the obligations of the GPL (or be in breach of them, if he or she distributed a derivative work in violation of them as a result of interpretation), if they licensed the code under the GPL, in the same way that processing/modifying and then distributing any GPL code would, whether the tools used were GPL or not. If that person were the original copyright holder, however, they could still do whatever they want (for example, releasing the modifications without the GPL) since they have the full rights, not merely the GPL-granted ones.

The big question this raises is: on a network of devices, what constitutes the operator's computer and what is the threshold past which execution would constitute distribution. It goes without saying that IANAL.

</comment></comment><comment><USER7> Cool! I don't really know what the heck it does, but I like seeing weird examples of Python's other side.

I don't know much about the underworld of Python, but is this kind of stuff similar to what PyPy does?

I started working on a visualizer for Python's AST (example [0]). I think it would be really cool to blend a lot of the functions of the underbelly of Python to see what's really happening. An AST side by side with a bytecode interpretation of it (or something). I haven't done too much looking, but there doesn't seem to be as much information about the inner workings of Python, just uses of it.

[0] <http://imgur.com/IKXcoAp> (I use Nodebox OpenGL for graphing)

</comment><comment><USER8> I'm always up for some crazy unsafe python tricks, but ... what is going on here? :)

</comment><comment><USER9> would be nice to have a more descriptive description for this project

<comment><USER10> There are tons of comments in the code, it's actually pretty readable. The title here is about as descriptive as it gets, but if I were to make it better I would add 'by making a .pyc file'.</comment></comment>


China's Tencent will seamlessly embed video ads directly into movies - <AUTHOR> https://thenextweb.com/apple/2019/10/16/chinas-tencent-will-seamlessly-embed-video-ads-directly-into-movies/ <comment><USER2> We have always been at war with Eastasia, and Taco Bell has always been the only restaurant in town.</comment>


Ask YC: Who's Your Role Model?  - A-Merchant

Who do you look up to as an start-up/entrepreneurial role model and/or mentor?
I was lucky enough to find both a role model and a mentor in a friend of mine. I looked up to him because I could relate to him. He is my age, started his own company from nothing, worked hard to run his business, and most importantly, inspired me to do the same. He was a big reason why I quit my BigCo. job to try the start-up life. He mentored me as well - consistently providing advice, feedback, and constructive criticism.
I have a lot to thank him for, but unfortunately now I find like I can't look up to him anymore. I feel like he's become too busy with other things in his life and is no longer pursuing his previous "passion" of expanding his small business and doing more start-ups.
So thats how I came to this question - I'm interested to see who other people look up to, whether its Steve Jobs or Steve next door. <comment><AUTHOR> A few people... most of whom I've met only threw their words on a book or audiobook:

* My mom & dad - Both didn't go to college, came to US in 1997 and have built a few businesses (smog shop, indian clothing, real estate, etc) and are doing much better financially than most educated, well-resourced people I've come across. They think in simple & practical ways.

* Rod Weckworth - Helped grow Rex Moore Electric from 2 people to 1000+ employees & $100M in sales before he exited the company. He also thinks in very simple concepts. Fundamental principles he calls them. He is also a very generous man with his time and his resources. It's funny how some people are so arrogant after a few accomplishments and some people are so humble even after many huge victories.

* 37 Signals - Their fundamental ideas & execution style work.

* Dan Millman - Author of The Way of the Peaceful Warrior. Even though it doesn't directly deal with entrepreneurship, the lessons it teaches about living life transfer well to the business world.

* Ron Sutton - Taught me about 50% of everything I know about marketing.

There are many more, but I need to get to my 5pm appointment so I'll leave you with a final thought, Recently, I haven't been looking to others to be my role model. I have been thinking about who I am and what I am capable to becoming... and making my future-self as my north-star.

Adios.

</comment><comment><USER2> Swami Sivananda</comment>


R2-D2 creator Grant McCune dies - <AUTHOR> http://www.cbc.ca/arts/film/story/2010/12/30/grant-mccune-obit.html <comment><USER2> RIP and thanks <http://i.imgur.com/I6lTy.jpg>

<comment><USER3> I bet I'm not the only one that hears that sad beep in my head when i read it.

</comment></comment><comment><USER4> Hiis spirit will live on through the works of many diy / homebuilders of R2 units:

<http://astromech.net/>

</comment><comment><USER5> _...he created R2-D2 and many of the creatures that populate the film._

Does that include the other R2 unit, the one with the bad motivator? That's one of the few Star Wars toys I had as a kid.

<comment><USER6> He was the chief model maker, and apart from the "head", this droid wasn't too different from Artoo, so I would guess so.

And to start the new year off in typical nerd fashion: That was actually an R5 unit, R5-D4 to be specific[1].

[1]: <http://starwars.wikia.com/wiki/R5-D4>

<comment><USER5> Ah, yes, R5. I should turn in my nerd creds, I should have remembered that.</comment></comment></comment>


Ask HN: What do you want in a DevOps Podcast? - <AUTHOR> Hello fellow HN readers. I'm starting a podcast on building, deploying, and running software. The intended audience is people like you all who read HN and care about improving the build-deploy-run lifecycle. Topics are mix of straight up software engineering, infrastructure automation, configuration management, continuous delivery/deployment, and product development.
I've started collecting ideas in the [issue tracker](https://gitlab.com/slashdeploy/podcast/issues). That should give you a feel for what ideas I have in mind initially. However I really want your opinion and perspective. I want to know what things interest you and what things what help build better systems. Here are some ways you can get involved:
1. Nominate people you'd like to hear from 1. Propose topics/conversations you'd like to hear 1. Propose books you'd like reviewed 1. Nominate people for some of the topics already in the issue tracker 1. Propose anything else you think of! :)
Don't hesitate to create new issues with your ideas. Thank you everyone :) <comment><USER2> I've listened to a a fair number of tech podcasts over the past few years. The gold standards for me are Hanselminutes and SE-radio. But they got that way through alchemy, the early episodes are rather leaden compared to the where each is today after a _decade_.

On the other hand, Hanselminutes is still true (most of the time) to its core idea of not wasting the listener's time. SE-Radio is still true to its core idea of introducing and then going deep into a technical topic.

So what do I want in a devops podcast? A vision that the presenter believes that is sustainable over a decade and a ruthless pursuit of not wasting my time.

My advice is to research those podcasts - Software Engineering Daily has episodes discussing both and how they work.

Good luck.</comment>


Ask HN: Keeping track of the business rules - <AUTHOR>

I am looking for the best way to keep track of the business rules for both developers and everybody else (support staff / management) in a startup enviroment. The challenge is that our business model requires quite a lot of different business rules, which are created pretty much on the fly and evolving organically after that.  After running this project for 3+ years, we have so many of such rules that often the only way to be sure about what the application is supposed to do in a certain situation is to go find the module responsible for that process and analyze its code and comments. That is all fine as long as you have one single developer who created the entire application from the scratch, but every new developer needs to go over pretty much entire codebase in order to understand how the application works. Even bigger problem is that non technical employees don't even have that option and therefore are forced to ask me pretty much every day how some certain case would be handled by the application.
Quick example - we only start charging for our customer campaigns once they have been active for at least 72 hours, but at the same time we stop creating invoices for campaigns that belong to insolvent accounts and close such accounts within a month of the first failed charge. That does not apply to accounts that are set to "non-chargeable" which most commonly belongs to us since we are using the service ourselves. The invoices are created on the 1st of each month and include charges from the previous month + any current balance that the account might have. However, some customers are charged only 4 days after their invoice has been generated due to issues with their billing department. In addition to that, invoices are also created when customer deactivates his campaign, but that can only be done once the campaign is not longer under mandatory 6 month contract, unless account manager approves early deactivation.
I know, that's quite a lot of rules that need to be taken into account when answering a question "when do we bill our customers", but actually I could still append an asterisk at the end of each sentence in order to disclose some rare exceptions. Of course, it would be easiest just to keep the business rules to the minimum, but we need to adapt to changing marketplace - i.e. less than a year ago we had no contracts whatsoever.
One idea that I had so far was a simplistic wiki with categories corresponding to areas such as "Account activation", "Invoicing", "Collection procedures" and so on. Another idea would be to have giant interactive flowchart showing the entire customer "life cycle" from prospecting to account deactivation.
What are your experiences / suggestions? <comment><USER2> Attempting to keep track of business rules in a system other than your code base will cause more problems than it will solve, and it will _always_ be out of date.

Every business of a certain age has more business rules than any one person can keep in their head at one time. These rules manifest themselves in your code. They are the business rules. Everyone has their own opinion on what the rules are, but the developers know the answers are in the code, not in our foggy memory.

Now that we know what business rules are and where we keep them, we need to think about how we organize them. Instead of a business problem, we have a technical problem. Organizing 'business rules' becomes organizing software. This is a well-worn field, so you'll find lots of good advice on domain-driven design and the organization of software (object-oriented or otherwise).

A related software principal here is 'tell, don't ask' (<http://pragprog.com/articles/tell-dont-ask>). This is especially important in environments with lots of conditional rules, which must be considered at various times.

<comment><AUTHOR> Thanks a lot for your comment. Is "attempting to keep track of business rules in a system other than your code base will cause more problems than it will solve" true even if you track business rules only on high level? I.e. let's say that such auxiliary system does not track how often certain check is performed, but it does inform that such checks exist? In my case that means that we periodically check your website to see that the webpage targeted by the campaign is still up and containing certain information - do you feel like capturing such data outside the codebase is hopeless?

<comment><USER2> What is likely very valuable is understanding at a high level, the intent of your rules. For example, you might say that you verify the relevance of your campaigns. How you verify that will change over time, but the business value is that you verify them somehow. Then, instead of thinking of them as documented business rules, you can see them as marketable values your service provides.

I've built several eCommerce back-ends, for example, and they each had a ton of very specific rules that were unique to the businesses, the products they sold, and the type of customers the services targeted. If you want to know precisely how the site validated address and credit card information, you'd really need to check the code. However, you could certainly say (and market) that you provide security measures to prevent fraud.

The snag to avoid is attempting to document the specifics of the rules anywhere but the code itself.

<comment><AUTHOR> One more question - so if we agree to keep the documentation within the code, are there any rules outside of using MVC / choosing good naming conventions that would help to undestand what's going on for somebody who is knew to the project?

I.e. right now the only way a new developer can find out that we create invoices upon campaign deactivation would be by doing search in project files for instances where invoicing module is called. Is it possible to have some auto documenting system which could list all files w/ line numbers where specific function is called?

<comment><USER2> The best way for a new developer to get to know the domain model and to understand the business rules is to read through the test suite first. From there the new developer may read through the implementation of the domain objects, controllers, etc.

This assumes, of course, that the application is well designed, continually refactored and well tested. Every app has skeletons in the closet, though, and this perfect world often leaves something to be desired.

If your code is relatively clean though, you'll have one and only one place where you instruct an account to be invoiced, and you can trace through that code anytime you have questions about how that scenario works.

Suggestion: Every time you go diving into the code to investigate some scenario and wish to discover the business rules, start by writing a test for it. Write tests that expect that behavior, then execute the scenario and ensure your tests pass. Better yet, write those test first and you're all the way there. :)</comment></comment></comment></comment></comment>


Nice flow-chart of Git file life-cycle - <AUTHOR> http://blog.tzolov.net/2014/07/file-lifecycle-under-git-control.html

<comment><USER2> Meta question: Why do people have this layout wherein there's a tabbing system that overlays the scroll bar on the right, crippling a standard part of page navigation? Do people just not care about established _de facto_ standards?</comment>


Net Neutrality Protesters Arrested At Google HQ - <AUTHOR> http://techcrunch.com/2014/06/25/occupygoogle-arrests/#

<comment> jack-r-abbit From the article: _Google has generally been a strong advocate of net neutrality but the OccupyGoogle protestors argue the company could be doing more to champion the cause at this critical moment – hence their occupation of Mountain View HQ._

I'm confused. Is it smart to find someone who is generally on your side and then set up camps on their campus and disrupt them... calling for them to do _more_? Isn't the _Occupy_ movement traditionally where you occupy the space of entities you oppose and try to make them suffer until they change? It doesn't makes sense to do that to someone you want on your side. I don't get it.

</comment><comment><USER2> Did this protest make it into the event? I did hear some yelling during one of the keynote talks.

<comment><USER3> The yelling during the keynote (at least the second one) was someone protecting killing robots and NSA integration.</comment></comment>


Ask HN: How do you stay on top of bills? - <AUTHOR>

What is your process for staying on top of invoices/bills to be paid? How do you manage this if you are in a team? <comment><USER2> Personally I don't create any to stay on top of. Business wise use an excel spreadsheet or similar.</comment>