Ask HN: What Hacker News comments have you bookmarked? - <AUTHOR> Frequently while browsing this site I see a comment that is profoundly insightful about culture, mindset, career, relationships, coffee grinders, etc.<p>I realized today that I've always considered them in the moment and let them go. Perhaps I should have been bookmarking them and revisiting with a different perspective. <comment><USER2> A quote about salary, that I bookmarked as I could see myself making the same mistake:

"Salaries never stay secrets forever. Hiding them only delays the inevitable. Last year we were having a discussion at lunch. Coworker was building a new house, and when it came to the numbers it was let loose that it was going to cost about $700K. This didn't seem like much, except to a young guy that joined the previous year and had done nothing but kick ass and take names..." (edited for brevity).

"...The conversation ended up in numbers. Coworker building the house pulled about $140K base (median for a programmer was probably $125K), and his bonus nearly matched the new guy's salary, which was an insulting $60K -- and got cut out of the bonus and raise in January for not being there a full year, only 11 months.

Turns out he was a doormat in negotiating, though his salary history was cringeworthy. It pained everyone to hear it, considering how nice of a guy he was. In all honestly, $60K was a big step up for him. Worst of all, this wasn't a cheap market (Boston). The guy probably shortchanged himself well over a half-million dollars in the past decade. This was someone who voluntarily put in long hours and went out of his way to teach others, and did everything he could to help other departments like operations and other teams. On top, he was beyond frugal. Supposedly he saved something around 40% of his take home pay, despite living alone in Boston. He grew up in a trailer park.

He spent the next day in non-stop meetings with HR, his manager and the CTO. That Friday he simply handed in his badge without a word, walked out and never came back.

Until 3 months later. As a consultant. At $175/hour."

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

<comment><USER3> Salary-porn seems to be a category that generally gets a lot of attention on HN. Personally, I feel a bit ambivalent about it. Obviously it's useful to be able to compare & benchmark, because one should go into any decision-making process being well armed with information. But on the other hand: The information exchanged is never enough to truly contextualize the numbers appropriately, and it's a potential source of huge amounts of cognitive dissonance. You have to be pretty good at being a stoic to try to break the information down to something objective and not let it get to you.

For example: The $175/hour number you just mentioned, and the fact that you seemed to imply that you're taking it for granted that it represents a successful outcome would be clearly a source of cognitive dissonance for most people. -- If he manages to do 2000 hours at $175 every year, that would be $350k which would be impressive. But then it may be nothing: if it is a highly specialized thing where you don't manage to get a fulltime workload out of a year, where you might spend the majority of your time with non-billable hours for project acquision, where you maybe have to cover costs of travel or time & money for certifications, where you have to carry high risk, etc. etc. ...it is usually impossible to properly resolve such questions to the point where it's useful for benchmarking and for extracting conclusions that are actionable to yourself. But the cognitive dissonance remains.

<comment><USER4> I won't downvote, I want your opinion to be visible so other people can read this. I am one of those 'suckers' that left a job/career (call it what you will) in the Big4 to go solo.

Apart from boosting my annual income x4, I am no longer involved in backstabing, politics, shitstorms, and other permanent employment 'pleasantries'. The C-levels who sign my invoices keep me out and away from all that. I have gained their trust and they keep me around to get-the-job- done. I do get some surprises every now and then, but nothing I can't dance around those. The gig economy (up to a level) works for me.

>where you don't manage to get a fulltime workload out of a year

I only NEED to work 3 months in a year, and spend the other 9 sitting on my behind doing my hobbies. Of course I work as much as possible (8h/day - 5d/week) and I do take some time off (by European 'standard'). I found it that once I start monitoring the contracting market, getting weekly alerts, see the trends, etc. it is possible to build on your existing skillset to make sure you remain relevant. E.g. anyone in Europe with a good GRC knowledge had plenty of time to get in shape for GDPR.

<comment><USER5> > I found it that once I start monitoring the contracting market, getting > weekly alerts, see the trends, etc. it is possible to build on your existing > skillset to make sure you remain relevant

What data sources and techniques do you use to monitor trends?

<comment><USER4> I have registered to services like Reed, or JobServe. I have some wide-enough searches that send automated reports, and some very narrow (e.g. "GDPR", "SOx"). It looks like spam, but it gives me a good idea of how many contracts are available, for which areas/domains, and at what rates. This way I can see when the market increases or drops for the narrow searches. The wider terms searches help me identify new and upcoming trends.

It looks tedious and time consuming, but after the first month, just scrolling through 3-4 emails gives me a pretty good idea of where the market is going.

</comment></comment></comment></comment></comment><comment><USER6> Sometimes I feel that it can be a lucrative trap to become invested in a single person, and then accumulate expectations that far outweigh the responsible obligations of any friendship. As I have gotten older, a pattern that is working much better for me is the campfire model - I just try to keep a metaphorical campfire going, for people traveling through this life to stop and warm themselves upon while I tend it. I cannot know which direction people are traveling from, or to, or how long their journey has been or will be. But all people need to warm their calloused hands and feet, and I can keep this fire with a bed of rosy coals.

Sometimes someone will stop at my fire and warm themselves without my ever having paid attention, but to them it may have meant all the difference in the world. By keeping this obligation in mind, to simply expect people to need a place to sit a spell, I can at least believe I am helping.

The campfire is a nice way for me to remember we're all suffering, that not a one of us is unique to loneliness. Because sometimes that person who sits down at your fire is the person you have been waiting for, and only by making a seat for them were you able to ever meet.

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

<comment><USER7> Thank you, I really enjoyed the original discussion.

I've often been thinking of time distribution and personal CRMs lately. It's very easy to fall in the trap of spending all your time with a significant other - and find out years after that all your relationships are ghosts of their former selves. I see that in my parents: at 70 they might have 10 people between them that they care about and see more than twice a year. How sad is that in a marriage that hasn't gone well for two decades?

But the campfire analogy is so bleak, so distant from other people. I don't have a neat visual for it but what I would like is to spend quality time with a core group of 10-20 people per week, good times with another 20 every month, and see another 100-200 every year at least (mostly family). Is anyone managing a schedule like that?

<comment><USER8> Unless you are including large group gatherings like parties and reunions, meeting 100-200 other people you know is by no means an easy task. I'd say, for me, almost impossible at the moment.

<comment><USER9> I think they actually mean maintaining a relationship with 100-200 people (can be existing contacts) not necessarily create new relationships.

</comment></comment></comment></comment><comment><USER10> This is the only comment I have bookmarked in my years of lurking: [https://news.ycombinator.com/item?id=18964418](https://news.ycombinator.com/item?id=18964418)

> The Reverend Doctor Martin Luther King Junior (in whose honor I had a day > off of work today) never once called for 'tolerance', the boycotts and sit- > ins were not a demand for tolerance - they were a demand for integration. To > tolerate is to "otherise" \- you are _allowed_ to continue being as your > are, but on the outside. To integrate, you do not require permission, but > you do not continue as you are - both "sides" are transformed by the > process.

<comment><USER11> I heard Zizek say basically that exact same thing, it's a common point he makes in certain talks. [https://www.google.com/amp/s/bigthink.com/good- thinking-is-g...](https://www.google.com/amp/s/bigthink.com/good-thinking-is- good-questioning-2604428681.amp.html)

<comment><USER10> Thanks so much for the link! I think this is a powerful idea and look forward to studying it more.

</comment></comment></comment><comment><USER12> You can favourite comments on HN and the lists are public so you can browse others favourites. This is a little known feature but I like it. For an example here are my favourite comments:

[https://news.ycombinator.com/favorites?id=weinzierl&comments...](https://news.ycombinator.com/favorites?id=weinzierl&comments=t)

I didn't put a lot of thought in it, I just favourite stuff I might want to reconsider later. One example I still like is:

>You can hide from your your boss, your wife, or even your mother, but you can't hide from Facebook.

Browsing others pages can be quite insightful for what they find notable. Not everyone uses this feature, so not everyone has favourites and it takes a little digging to find good ones. For example here are Thomas Ptaceks:

[https://news.ycombinator.com/favorites?id=tptacek&comments=t](https://news.ycombinator.com/favorites?id=tptacek&comments=t)

<comment><USER13> I cannot find the comment favorite button for the life of me. Is it unlocked at x karma, or am I missing something?

<comment><USER14> You click on the comment's time stamp to go to the comment detail view. There will be among others a favorite button.

<comment><USER13> Thanks!

</comment></comment></comment></comment><comment><USER15> This impersonation of The Economist writing style is hilarious:

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

>Mocks Populi

There is a an apocryphal story in which your anonymous correspondent was on a small business jet somewhere between Davos and Dubai, when he asked a former Thatcher minister what shade of pink the Financial Times newspaper was. "Parlour," the minister replied. It is in the spirit of this self-referential anecdote that an auspicious news peg has provided an opportunity to sound off on a pet saw and perhaps let on that I went to Cambridge.

Broadly, this newspaper is neither here nor there on a given issue, other than to say that it is different from what you expect - and for reasons that may surprise you. The prediction will be driven by the available data, include a smirk at the newcomer, and give a sop to the status quo. All things equal, it will predict outcomes that are some function of the sum of elements by the number of elements, and provide a view that is "radically centerist," if perhaps a bit smug. A reversion to the mean, indeed.

\-- Every Economist Article Ever

<comment><USER16> Haha this is incredible. I love the Economist and have had a subscription for years, but this is spot on.

<comment><USER17> this toothless centrist smarminess is what led me to cancel.

</comment></comment></comment><comment><USER18> "The separation of design and construction into phases is a hangover from civil engineering. It has the baked in assumption that the design phase is relatively cheap, short and somewhat unpredictable the construction phase is expensive, long and predictable. The root problem is the assumption that specifications can be validated for correctness, like a blueprint for a bridge can. Nothing could be further from the truth. This is a persistent myth in software development." [https://news.ycombinator.com/item?id=12080968](https://news.ycombinator.com/item?id=12080968)

"OOP is just a mental model. Deep down everything is made of bits. The church of OOP has failed but if something looks like a duck, walks like a duck and talks like a duck it probably is useful to make a duck class. We're now down to fighting for nuances. You can do most things with OOP or without OOP but each path has some upsides and downsides and most of the time it's good to use some things it provides where it makes sense and not get too religious about it. The great architect has the foresight on how the code will be used in five years and design it accordingly." [https://news.ycombinator.com/item?id=18250466](https://news.ycombinator.com/item?id=18250466)

</comment><comment><USER19> On 'simple to recreate' Evernote making $800,000 per Month:

> _This is the biggest mistake most of the people make. If it worked that way, > every weekend app released here would be making tons of money...But this is > NOT app v /s app game. This is business v/s app. And you can't take down a > business with an app. You need to create a business. Sure you can build a > better 'app' than Evernote or make a better burger than McD's but you can't > make a better business, the day you do - you are in game._

On building one-person startups (both from jasonkester):

> _Your $10k MRR niche won 't be "app that lets people hail taxis, and network > of contract drivers." It'll be "reception table plan designer for wedding > coordinators". Google is not now, nor will they ever be, having a meeting > where they decide to allocate a few hundred engineers and marketers to crush > that space.

There are tens of thousands of niches like this that will pay for teams of 1-3 people to live on the beach after a few years of work._

and

> _Personally, I prefer to listen to the person who has tried a thing and > declared it possible, rather than the person who has never tried that thing > and declared it impossible._

On the risk of choosing Firebase (and similar PAAS providers):

> _Way to risky not to use for startups, IMO. What would you prefer, spending > half your time doing backend development to get a system that might be 80% > as reliable as Firebase on the off chance that your startup will survive > long enough for your custom engineered solution to bare fruit, or spending > all your time actually building your product and launching quickly so you > can determine whether or not your startup is even viable?_

</comment><comment><USER20> This is a very wise comment from jlcfly in what a senior developer should aspire to do, especially if they feel they are approaching or have reached their personal asymptotic limits for technical skill.

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

"Teach them to be better than you. That may seem counterproductive. I have a type A personality, and I have decent coding skills. I've been in your situation a number of times. I also know there's these mythical expert developers out there that I can't seem to find (or afford). So, what to do? A few years ago I realized that if I continue down this path, I'll end up with some serious health issues due to the stresses that come along with having a reputation for being a really good developer. So, I decided that instead of searching for developers better than me, I would teach developers I work with how to BE better. It's taken a lot of patience. And it's taken me quite a bit to LET GO of my way of doing things. I had to take my ego out of the picture. (VERY hard to do.) Nowadays, I realize that developers don't have to BE better than me. I simply have to ALLOW them to do what they do without being so obsessive about it. Turns out, even junior developers really CAN do good work. They just need a little guidance that only comes with experience, and then they need me to get out of their way."

</comment><comment><USER21> "I try to optimize my code around reducing state, coupling, complexity and code, in that order.": [https://news.ycombinator.com/item?id=11042400](https://news.ycombinator.com/item?id=11042400)

</comment><comment><USER22> [https://news.ycombinator.com/item?id=19294191](https://news.ycombinator.com/item?id=19294191) : A meta-circular evaluator in Prolog. (User triska's comment history is full of gems.)

[https://news.ycombinator.com/item?id=17020655](https://news.ycombinator.com/item?id=17020655) : A question I had asked about interfacing Excel, which provoked some useful responses. I now use this as my authoritative list of ways to extend Excel's functionality.

[https://news.ycombinator.com/item?id=18314265](https://news.ycombinator.com/item?id=18314265) : Fascinating comment about, well, all kinds of stuff, but mainly PostScript. (DonHopkins. Another user whose comment history is a seam of gold.)

[https://news.ycombinator.com/item?id=16014573](https://news.ycombinator.com/item?id=16014573) : Great post about the history of terminals and terminal emulators. (JdeBP)

[https://news.ycombinator.com/item?id=15027372](https://news.ycombinator.com/item?id=15027372) : Introduction to the market for produce by the produce buyer for a small grocery. (LightRailTycoon)

</comment><comment><USER23> "The Single Greatest Predictor of Future Stock Market Returns": [https://news.ycombinator.com/item?id=14948078](https://news.ycombinator.com/item?id=14948078)

And here's the live (well, lagging a few months, but this is a very slow signal anyhow) version: [https://news.ycombinator.com/item?id=14950203](https://news.ycombinator.com/item?id=14950203)

<comment><USER24> If I remember correctly, that was suggested half-jokingly by the author to demonstrate that any metric where the numerator is proportional to the stock market will tend to predict future returns (because of mean-reversion).

Edit - here you go: [http://www.philosophicaleconomics.com/2013/12/valuation- and-...](http://www.philosophicaleconomics.com/2013/12/valuation-and-returns- adventures-in-curve-fitting/)

<comment><USER23> Yup, I should have included the link you posted for a complete picture.

The value of the stock allocation metric is in that it seems to be the strongest mean that the stock reverts to, in the sense that it has strongest predictive power. It is not that surprising because it uses to the raw supply/demand dynamics.

<comment><USER25> But the author's point is it's only predictive in hindsight, due to reversion to _the mean of the past data_ (since investment allocation is basically just measuring price over the short run), not to some objective mean that also applies to the future.

<comment><USER23> Well that's the hypothesis - that since reversion to the mean stock allocation has always happened it will continue to happen. There's things that can invalidate the assumption, like the widespread common wisdom of HODLing index ETFs (till retirement, no matter what). If the hypothesis is false we could see stock market allocation go all the way up to 80%, or even beyond.

Am I wrong?

<comment><USER25> The author was not presenting it as a serious hypothesis. They were showing how compelling it looks at first glance, and how deceptive that naive analysis is, because of the unfair advantage the chart gets (in the sense that it inherently looks better than its predictive value). They did this to knock down many other valuation-based measures, not to advocate for this one.

Reversion to _what_ mean, is the author's point. The mean for the twenty years between 1900-1920 is different from the mean for 1900-1940, is different from the mean for 1900-1960, etc. The mean is continually shifting. _All_ data sets revert to their own mean, on average, by definition. The mere fact that a data set does so is tautological and thus provides no evidence — no confirmation of any scientific hypothesis.

Edit: see my other comment for the quote of what I consider the key passage in the article.

</comment></comment></comment></comment></comment></comment><comment><USER26> "Javascript Delenda Est", by zeveb, [https://news.ycombinator.com/item?id=11447851](https://news.ycombinator.com/item?id=11447851) :

 _> Can we please try to stop talking about this specific language ecosystem as an awful deplorable hell hole or whatever?

Back in the second century BC, Cato the Elder ended his speeches with the phrase 'Carthago delenda est,' which is to say, 'Carthage must be destroyed.' It didn't matter what the ostensible topic of the speech was: above all, Carthage must be destroyed.

My opinion towards JavaScript is much like Cato's towards Carthage: it must be rooted out, eliminated and destroyed entirely. I don't know if I'd go quite so far as to say that the fundamental challenge of mass computing is the final destruction of JavaScript — but I want to say it, even though it's false.

JavaScript is a pox, a disaster, a shame. It is the most embarrassingly bad thing to become popular in computing since Windows 3.1. Its one virtue (that it's on every client device) is outshone by its plethora of flaws in much the same way that a matchstick is outshone by the sun, the stars and the primordial energy of the Big Bang added together.

JavaScript is the XML, the Yugo, the Therac-25 of programming languages. The sheer amount of human effort which has been expended working around its fundamental flaws instead of advancing the development of mankind is astounding. The fact that people would take this paragon of wasted opportunity and use it on the server side, where there are so many better alternatives (to a first approximation, every other programming language ever used), is utterly appalling.

JavaScript delenda est._

<comment><USER27> How incredibly sad that this is the top comment at the time of writing.

<comment><USER28> I mean, using javascript for server code _is_ batshit insane.

<comment><USER29> I had a quick go at Node.js and was surprised to find some interesting things. In particular I found the event model and the stream API rather nice. I have no idea how it's like to maintain a real-world code base though. Libraries seem to have very narrow scopes which means managing a lot of dependencies and that might be painful in the long run.

</comment></comment></comment></comment><comment><USER30> Regarding dealing with difficult problems:

"Like almost all problems in life you have only 4 options: #1 Change you (accept what you are unable to change)

#2 Change the other (convince them to follow your vision)

#3 Fly (divorce, quit)

#4 Stay and suffer (include drinking, doing drugs, whining)

It is amazing how many people chose number 4."

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

<comment><USER31> I'd file "doing drugs" under #1, at least if you choose the right ones.

<comment><USER32> Experiencing enough of #1 or #4 eventually makes them indistinguishable.

</comment></comment></comment><comment><USER33>
        Very frequently, the right answer for a MVP is something
        like an e-mail newsletter, or a Salesforce extension,
        or a CSV file, or an IDE plug-in, or throwing a pizza
        party for your target market and performing the service
        for them yourself.

        I've seen startups charge $10K+/month to dump a CSV file
        on a client's FTP server. Go where the user can most
        conveniently make use of your product; for a lot of
        businesses, that is neither app nor website.

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

</comment><comment><USER34> "Napster is the future of the internet. It will come back. But the world has to evolve on a social level before this can happen.

We saw the same with the printing press: the Powers That Be first banned it, then tried to control it, and eventually had to relent. It will happen with data sharing too, eventually. It might take a century, but it will happen."

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

</comment><comment><USER35> I bookmarked a comment, making a point on the life cycle of platforms: [https://news.ycombinator.com/item?id=19612180](https://news.ycombinator.com/item?id=19612180)

"This is basically a repeat of SEO. At first, you have the early adopters. Things grow organically and it doesn't feel like a zero-sum game because there aren't many players.

Next comes the growth phase, where more people get involved, and start competing for attention/clicks/votes/whatever points system.

Next comes the exploiters, who discover weaknesses in the system and take advantage of them. They tend to make a lot of money because there's not much competition in this niche.

Next comes the crossover, where the exploit knowledge becomes public, and everyone now must do it because everyone else is.

Next comes the shutout, where the company running things starts actively punishing bad actors, but by this time, being a bad actor is essential to survival, so people do it anyway. It becomes a game of cat-and-mouse, new exploits, new mitigations.

Eventually, the company manages to fix their algorithms enough that the exploits don't offer decent marginal returns anymore, and it returns to what the company originally intended: 1% of people are successful, 99% of people make next to nothing, and the company makes shitloads.

And then the new big thing comes out. The old system goes into decline and the new system starts to take over. Rinse and repeat. "

 _I map comments I like into coherent arguments using this [0] (An example here [1] ). I would love to share maps with others even if it is not ready for public use ( you only live once ! )_

[0] [http://clean-ico.appspot.com/](http://clean-ico.appspot.com/)

[1] [http://clean- ico.appspot.com/static/site/Symbol/index_argume...](http://clean- ico.appspot.com/static/site/Symbol/index_arguments_block.html?symbol=crypto_is_for_unbanked)

</comment><comment><USER36> On asking for a raise[0]:

> _What if you went to your manager, or whoever you feel is the right person, > asked if you could speak one on one, and said... "I really love working at > this company. The work is interesting, I love the people, the culture, <one > more legitimate pro goes here>. But I also know I could be making X if I > went elsewhere. I love the work I'm doing, and I want to keep doing it here, > but I also don't want to be leaving money on the table. What can we do?"

This phrasing, pretty much verbatim, has worked really well for me in the past._

On multithreading in Redis [1]:

> _The problem with clustering still becomes lower queries per GB as instances > can't share data. Redis itself runs in RAM so storage is at a premium. One > of my main reasons for doing multithreading, and FLASH in the first place > was to make Redis work well for much larger value sizes.

I really think we have different use cases in mind._

A book recommendation [2]:

> _" Basic Economics" by Thomas Sowell. Not an easy read, but it deeply > changed the way I think about incentive structures and the law of unintended > consequences. It's a tough pill to swallow for people (like myself) who > cling to utopian ideas, but the older I get the more I realize we must live > in the world as it exists, with human nature as it really is. Dreaming of a > better world is counter-productive if one does not engage with reality. We > can build a better world, but only by being honest about the current state > of things._

Links to parent comments: [0] [https://news.ycombinator.com/item?id=19539485](https://news.ycombinator.com/item?id=19539485) [1] [https://news.ycombinator.com/item?id=19370712](https://news.ycombinator.com/item?id=19370712) [2] [https://news.ycombinator.com/item?id=19087418](https://news.ycombinator.com/item?id=19087418)

</comment><comment><USER37> This one from December: [https://news.ycombinator.com/item?id=18777949](https://news.ycombinator.com/item?id=18777949)

>> But he was tenacious; he would never give up on anything.

> To be fair, in my mind this is the one most common trait I find in > successful entrepreneurs and leaders. I've seen leaders who I didn't think > were particularly bright, or extroverted, or empathic, but man, did they not > get stressed out by obstacles that came in their way. They either > sidestepped them or overcame them, but they did not dwell on them and let > those obstacles lead to self doubt.

Also really appreciated this articulation [https://news.ycombinator.com/item?id=19350161](https://news.ycombinator.com/item?id=19350161)

> Leadership is basically just people-engineering and business-engineering. > Engineers use tools to build products, and so do leaders.

> The immediate assumption is that people are tools/resources to build the > product. That's talking like an engineer.

> Don't use your team to work on a project/product. Use the project to work on > your team. They're not there to build the product. They're there to gain > some personal fulfillment. Use the development of the product to grow them.

</comment><comment><USER38> I have quite a few. The most recent favorite is this one, which actually features verbatim quotes - and highlites the level of editorialisation in the (us) news:

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

" js2 37 days ago | parent | un-favorite | on: Beto O'Rourke's membership in America's oldest hac...

Fox News: "Young Beto O'Rourke wrote 'murder fantasy' about running over children, was part of famed hacking group: report"

CNET: "Beto O'Rourke has serious hacker credentials. The presidential candidate was a member of hacker group Cult of the Dead Cow"

WaPo: "'Psychedelic Warlord': Beto O'Rourke's past life as a teenage hacker" and "Beto O'Rourke's hacking universe, explained."

Sources: (... See original comment...)"

<comment><USER39> I would love a website that contrasted editorializing of the day's news and rated them. Is this something machine learning could accomplish? Sentiment analysis, perhaps?

<comment><USER40> This is a bit off, maybe, but close to what you're mentioning: [https://www.allsides.com/unbiased-balanced- news](https://www.allsides.com/unbiased-balanced-news)

</comment></comment></comment><comment><USER41> This comment from nightcracker about GDPR privacy consent:

 _You enter a coffee shop. Before you can do anything, the owner takes a photo of you, and grabs your hand to take your finger print. He quickly writes down the date, time and what clothes you are wearing.

He gives you a smile as he starts his speech. "Before we continue, we at Coffee City want you to know we deeply value your privacy. We need your permission to store your information, improve your coffee experience, personalize your coffee suggestions and share it with our partners. Do you consent?"

You don't fucking value my privacy. I get some serious doublespeak vibes. If you valued my privacy you'd leave me the fuck alone and stop saving information about me._

<comment><USER42> This is a very interesting take. The only problem in using this analogy for social media companies is that in a coffee shop you pay for the coffee. In case of social media you don't pay for anything. So there is no incentive to maintain your privacy:

<comment><USER43> That's beside the point. They are saying one thing, then act in another way. It is a good analogy.

<comment><USER44> It's a terrible analogy.

The fact you pay isn't besides the point… it's literally the entire point.

If a Starbucks did that and said "btw, the coffee is free", there'd be a line out the door and half way around the block.

In fact, Starbucks does that and they don't even give you free coffee. You use their wifi and next time you walk in they've got your fingerprint, if you have their app they have even more info, and people accept all this gladly for what? Free wifi and occasional rewards in the app?

You're underestimating how much people value _anonymity_ over privacy, and free stuff over both.

<comment><USER45> The coffee may be free, but every 30 seconds, there is a new salesman talking to you and making you look at their highly customized sales pitch. You can try and ignore them, but then your peers at the coffee shop try and shame you by saying "But the coffee's free! Think of the poor baristas!"

<comment><USER44> People literally would not care.

The Starbucks app will send you daily notifications and targeted ones, people do not care.

Has it ever occurred to people who are so anti-advertising that the reason we live in an ad driven world is because that's what consumers want over just paying fair value for things?

Otherwise why would a paid alternative to gmail not exist? In fact, if people actually wanted that, why would Google not sell it to them? Google's accounts do not care if 10 cents comes from ads or from your pocketbook.

</comment></comment></comment></comment></comment></comment><comment><USER46> These comments from "How to come up with monetizable side projects ideas" post.

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

1\. Find a popular SaaS product. Like Intercom, Algolia, Segment. Make sure it doesn't have a free plan. This guarantees there's a market for the tool. Check out GetLatka for ideas. [https://getlatka.com](https://getlatka.com)

2\. Build your own take on the product. Find the minimum set of features that make it valuable. 10% of the work for 80% of the value.

3\. Sell it at a 50-90% discount. There will be price sensitive customers that want the popular product, but don't want to or can't afford it.

4\. Target bottom of funnel marketing channels: Targeted quora questions. Paid/organic search queries. Set up retargeting ads on Facebook. Product hunt launch it. That should get you a steady stream of customers.

I don't think this is a great way to build a million dollar business, but is a very easy way to make a few hundred. Shoot me an email if I can be helpful.

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

Don't exactly copy another product. It's damn important to reinvent defensible products that either, and hopefully do all of:

a) solve a slightly different problem

b) target different users

c) solve the problem in a 10x better, compelling way

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

TIME. Time is the MOST precious commodity. Help users SAVE TIME. Save time finding something of value to the USER. You can't "presume" how much to charge. You have to "TEST" pricing then keep jacking it up until your customers don't pay. How can you pay for something what does not offer value. Stay small. Stay NICHE. Grab a slice from a BIG market. Forget millions. slap- yo-self with fury with delusions of becoming a millionaire, and make a goal of making enough to avoid being trapped in a 9-5 lifer situation. It take a LOT of luck + skill + market segment expertise. Like you have to KNOW the market you are going to be competing in. Assisted living , senior care , retirement calculator is VERY hot now. You'll be at it after your day gig 6pm-2am testing / building / iterating. Good LUCKY. launch a free beta version learn what customers value and how much they will pay ( ask them) THEN when you have enough people crack addict addicted to your service / app start charging. Be merciless. But offer excellent customer service. Always be honest.

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

While I agree with some of the tactics here (make a twist on similar ideas, contact businesses, buy a business, brush up an existing product you built)

I'm going to suggest an alternative method that has worked for me.

Start with the money.

If you want monetization to be guaranteed you need to prioritize that first.

Take this method and rinse/repeat for you and your skills.

1) How much do you really want to make from this a month, what would make you happy?

Let's say you decide $1k a month would make it worth it after time, expenses and payment processing fees.

2) You then decide how many customers you really want to have to find and how much support email you want to answer.

Usually developers pick prices like $6 and wonder why no-one buys. This low price screams a lack of confidence in the product. That you aren't taking it seriously. That you may not be around in 8 weeks.

Starting without monetization in mind or equally, pricing low is the death of a product because for someone who dislikes marketing you just set yourself a huge marketing mountain to climb.

At $6 each, finding and selling to 150+ customers - when you don't even have one yet is a huge trek to your $1k happy place.

Let's say you feel more confident about finding and serving 10 customers really well. That seems achievable, right?

So with just 10 customers we're looking at a $100 a month product, right?

Whoa, you're thinking you could never build something that's worth that much.

Maybe you're worried it's enterprise level costs now and that's not the type of product you want to build.

Don't worry, a $100 product can be really simple.

Often developers think that a big cost means solving a big problem and that a big problem needs a big solution. Not true at all.

A big problem can be solved with a small elegant solution.

3) Now we know how much we want to make and how many customers we need and how much we are going to sell it for.

We now need to find the problem we are going to solve.

So how big of a problem needs a $100 per month solution?

Not very big at all really.

Let's say a business owners time is super-conservatively worth $50-$100 an hour.

So to add value, we are looking at saving someone between 2-4 hours a month on a task they normally have to do manually. That's not too bad!

Or maybe you want to help them reduce their business costs by $200-$400. Also, very possible. Now we have the value proposition.

We know what kind of problem we are looking for, so value will be clear for the customer.

4) Now we decide _who_ this is going to be for.

Don't pick people the same as you. They have the same skills and can solve the same kinds of problems that you can.

Pick a group of people :-

\- That are easily identifiable by what they call themselves on social media (blogger, podcaster, videographer, designer, public speaker etc)

\- Make sure they are a group you like interacting with, that you have some experience of working with already in some way (please pick a group you like and care about)

\- Make sure they are the decision maker in their own business (don't pick employees of big corps)

\- What tech skills have you worked with that overlaps with this customer group?

Let's say you've worked on a few video platforms in the past so you know that space well, so you choose to help YouTubers.

5) What is the issue that we are solving?

Ok, so now we're helping YouTubers to either save 2-4+ hours a month or reduce costs by $200+ - for your $100 MRR product.

This is where we breakdown what it takes to run their business.

What stops them being more profitable?

What tasks do they do everyday?

What can be automated?

What do they hate doing in their business?

If you know this space even a little, you will have answers here.

Maybe video storage is a huge expense.

Perhaps running their community takes up too much time so they can't scale.

Is just publishing a video end to end super time consuming? Look at why.

If you don't know what matters to them, ask. Make a hypothesis and see if it's true.

In just a couple of DM's you might find that they spend a whole day a week on something repetitive. Or are spending money on something that you can optimize. Write a few possibilities down.

6) Make an offer

In just a day or two you can go from no idea, to identifying a significant pain point for a group of people that's easy to reach.

Now you consider a couple of small technical solutions for the problems you've found.

You go back to a couple of your ideal customers and make them a proposition.

Something like - "You said you spent X hours on this particular problem. If I built something to solve that, this week, would that be worth $100 to you?"

If it's a huge pain point they will bite your hand off. If you get weak responses - no worry, you've not built any code yet. You can use the conversation to get to a deal.

They might say it's worth less so you find out what features would be needed to make it worth the $100.

Maybe they suggest a different problem that is more urgent for them.

After a few conversations you should have at least a couple of paying customers and a clear solution.

8) Building

Now you know exactly what you need to build and have customers waiting. There is no excuse but to launch. This will help you focus on the truly essential code.

As you build, reach out to a few more potential customers. (we made sure they were easy to find earlier) Ask them if they have the same problem. Show them what you have.

Go through a few cycles of building and feedback. Make sure people are paying you what you set out in the beginning - or close to it.

Ask your starting customers for referrals. You'll reach your 10 customers with zero marketing spend.

You then have all of the elements needed to scale further if you wish!

Remember that code comes last in this method for a reason. Only build when you have paying customers.

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

</comment><comment><USER12> > sanj on July 18, 2007 [flagged] [-]

> Did you win the Putnam?

> If not, please don't be "bolder" than this guy: > [http://en.wikipedia.org/wiki/Ravi_Vakil](http://en.wikipedia.org/wiki/Ravi_Vakil)

> cperciva on July 18, 2007 [-]

> "Did you win the Putnam?"

> Yes, I did.

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

<comment><USER47> Reading those comments make me wish that I had known about this site back in 2007, back when graham responded to comments about his essays or when now- famous founders browsed as well [1].

[1] [https://news.ycombinator.com/item?id=35095](https://news.ycombinator.com/item?id=35095) (Same thread btw.)

<comment><USER48> Crazy to look back at that exchange between him and Drew Houston knowing what we know today about the success of Dropbox (which hadn't even launched at the time of that comment!).

It's easy to look back at the "good old days" with the benefit of hindsight, but I'm sure that even today many of the famous founders of tomorrow can be found commenting here on HN. We just don't know who they are yet.

<comment><USER49> There are a lot of redundancy in themes, but I didn't notice a decreasing in quality of the discussion. The good now days are perfect to me.

<comment><USER50> It really is amazing, I've been here nearly 12 years now and the quality of discussion hasn't devolved. If anything, it was a bit more cynical/negative ten years ago than it is now.

<comment><USER51> I feel like there are more brief and superfluous comments than there are used to be, but just as many or more lengthy and substantial comments.

<comment><USER52> Your comment gave me an interesting idea. What would happen if we imposed a minimum char-limit for say, hacker news comments? On one hand I'd expect more descriptive responses, fewer comments that are a short "Your wrong but I won't tell you why", etc. Comments just spamming letters would be fairly easy to detect.

On the other hand what would this minimum char/word length be? Even your comment is fairly short, but it's descriptive and fully communicates your point...

<comment> compiler-guy Then you end up with comments like you find on leasehackr.com, which has a twenty character minimum: "Agreed. 202020202020"

</comment></comment></comment></comment></comment></comment></comment></comment><comment><USER53> I loved this comment about the state of the shareware / try-before-you-buy industry:

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

</comment><comment><USER54> "Those ideas are also based in my anecdotal experience, and perhaps it comes from a willingness to question some "fundamental axioms from scratch", but at the same time maybe that's a) not always a bad thing to do from time to time, and b) if your fundamental axioms are good there is no reason that you won't come back to them." - [https://news.ycombinator.com/item?id=17296020](https://news.ycombinator.com/item?id=17296020)

"Augmenting human intelligence, while leaving the hearts as they are, is a loss, not a gain." - [https://news.ycombinator.com/item?id=17196155](https://news.ycombinator.com/item?id=17196155)

</comment><comment><USER55> I maintain my favorites list with a great deal of selectivity. You can check it out here: [https://news.ycombinator.com/favorites?id=Invictus0](https://news.ycombinator.com/favorites?id=Invictus0)

</comment><comment><USER56> @jasonm23's comment:

"Emacs is basically a text centric computing platform, built with a flavor of Lisp."

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

</comment><comment><USER57> I've bookmarked so much it doesn't mean anything anymore. I tried a few years ago to index it all, but with the rate limiting that went nowhere. I should probably revisit pulling it all out of the common crawl now that I think about it. Or perhaps someone knows of some mirrors?

<comment><USER58> Did you try the HackerNews API? [0].

I've never used it, but it states in the README that there is no rate limit currently (~8 months ago).

0\. [https://github.com/HackerNews/API](https://github.com/HackerNews/API)

<comment><USER59> Yes, It's nice. I've used it to create a Bitbar plugin for mac [https://github.com/amrrs/hn_headlines_bitbar](https://github.com/amrrs/hn_headlines_bitbar)

</comment></comment></comment><comment><USER60> not tech related at all but this response about Hitchens nearly made me cry.

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

<comment><USER61> Thanks for this. I still miss him regularly. With every passing political debacle.

</comment></comment><comment><USER62> I just checked, I had these two bookmarked: [http://piks.nl/upload/upload/Screenshot%202019-04-22%20at%20...](http://piks.nl/upload/upload/Screenshot%202019-04-22%20at%2008.26.06.png)

</comment><comment><USER63> 1\. "Just like a steel door, when somebody else has the keys, you are not secure - you are imprisoned."

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

2\. "Do not use the Internet. Do not use phones. Do not use bank accounts. Do not travel by plane. Do not enter public spaces. Do not show your face.

Otherwise you accept our Terms of Service.

Thank you for trusting us."

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

</comment><comment><USER64> Bookmarking this. Since it gave me pointers to so many good comments

<comment><USER65> I kind of thought this post would languish in the new queue. My heart and mind are warmed by the conscientious people here.

</comment></comment><comment><USER66> Ah! I don't bookmark but I usually copy a few of them to my "Notes" app. I quote them, share them, and sometimes tweet them based on context. Some of them are pretty good, I don't even have to refer to my notes and can blurb out the substance (if not verbatim).

Once there was a longish story about how to fix a furniture company (in context to Evernote). I have shared that with quite a lot of people, including quite a few CXOs.

<comment><USER67> This one? - [https://news.ycombinator.com/item?id=18022154](https://news.ycombinator.com/item?id=18022154)

<comment><USER68> That is fantastic. Really hits home. I've been at my current company for years. I've seen it grow from a small, scrappy, barely getting by but absolutely enjoyable company, to a large, top-heavy, meeting-centric, proper business. I've been in a position in which my manager knows nothing about my project or day-to-day, only that customers are happy.

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

Commentary on limitations of SQL - SQL is not composable.

This comment made me think of composability in other other contexts as well, such as requirements specification.

</comment><comment><USER70> I used to enjoy reading Larry McVoy's comments here,

[https://news.ycombinator.com/user?id=luckydude](https://news.ycombinator.com/user?id=luckydude)

Unfortunately, he hasn't written any comment here for more than a year.

</comment><comment><USER20> Not bookmarked but saved a copy. [https://news.ycombinator.com/item?id=121413](https://news.ycombinator.com/item?id=121413)

> APOLOGIES for making this post so annoyingly long, but I really hope you > find value in the words below. > \</comment><comment></comment><comment></comment><comment></comment><comment></comment><comment></comment><comment></comment><comment></comment><comment></comment><comment></comment><comment></comment><comment>-----

I'm going to first share a personal experience from my early trading days to illustrate where I'm coming from. I used to wake up at 4:30 am everyday in the Chicago suburbs to beat rush hour traffic and make it into downtown Chicago at 6:30 am. In order to wake up so early, I fell into a habit of sleeping at 9:00 pm and like a robot waking up at 4:30 am. This simple routine was indirectly helpful when things seemed darkest.

For the first six months, I lost money and was ridiculed constantly by other traders who were more successful than me (which was about 20 other guys CONSTANTLY using me as a punching/whipping bag). The only thing that kept me going was the fact that some of the very same traders that would be making wise cracks at me for losing money were some of the most successful people I knew at the time. For better or worse, if I needed a trader to model myself after, it was the same people that were telling me how bad a trader I was - and although I was not open to really hear what they were saying, they were right about my skills in every way (but their feedback was always packaged in some sort of insult).

After racking up some rather hefty losses, I was determined to quit at one point during month four, but because I had a habit of waking up at 4:30 am I simply "forgot" that the night before I told myself I would quit and spare myself further humiliation...by then I was warned that I was now on the red list of traders ready to be cut. Also, my personal savings were starting to approach zero (the base "draw" for house traders was enough to pay for food; you usually make your money on a percentage of your profits, and I was deep in the red at the time).

To say the least, there were many excellent reasons to be "reasonable", forget about my dreams, and quit.

After 4 consecutive "failures to quit", I realized that I didn't quit because somewhere deep down I was hanging on to a dream, however remote at that point: that I could somehow be as successful as the other traders that I knew. At the same time I realized that I had hit rock bottom in that I couldn't even succeed in failing! Very tough times indeed...

An interesting point to note here is that although my losses were starting to get very large, the people who were funding me as a trader kept me because I had one redeeming quality: EFFORT, and this helped build tenacity. Other traders who barely traded but had a fraction of my losses were cut much faster because they didn't put forth much effort. They were not willing to take losses and be bold/brave and fight it out; I was willing to take risks, and this saved me from getting cut faster than others.

Slowly I began to reinterpret the constant humiliation I was suffering: perhaps the other traders were right about their "jokes" and there might be something in what they are saying that will help me get out of the red. I also realized that since I had failed at quitting (which was now the ULTIMATE failure), there was no further failure for me and that if I took baby steps they were surely to succeed (this translated into taking smaller trades/profits).

Only after improving upon my abilities as a trader and channeling my energies appropriately did I succeed and earn everybody's respect as a trader (and you have no idea how this made me feel!). I quickly made enough in commissions to be trading my own account, and be successful as an independent trader onward. When I look back at those final months of 1999 (yeah that's right, I was losing huge cash at the end of 1999 when the entire market was going crazy UP!), there was more good than bad even when I was getting my ass handed to me. It's just that I was intentionally creating my own feedback (I'm right everybody else is wrong) instead of seeing the results I was getting (losses/insults) as feedback and information that would help me be successful.

I kind of snicker every time I see somebody ask for feedback on their startup on YC.News only to end up justifying themselves by telling everybody why they did what they did when they get negative feedback, which is the feedback of greatest value. If somebody tells you how crappy your idea is, thank them that they even spent a few brain cycles considering your idea.

The lessons I learned from this that are perhaps relevant to your questions:

\- Determine if you believe in yourself to succeed as an individual (I know this sounds odd, but for a moment just examine your thought patterns and your actions and see what message you are sending to yourself; do you listen to the voice that says you can't or are you paying attention to the feedback from your efforts and the results you are getting?)

\- Search deep down inside and see if the project you are working on is something you believe in or not. If you can't sell yourself, then you shouldn't bother trying any further...

\- ANY attention you get for your efforts is good attention. If you get LOTS of negative feedback, then be grateful - you've jumped the first hurdle of getting people to give a damn about what you are doing! :)

\- There is responsibility and accountability that goes with both success and failure. You need to be ready for both because they can be equally painful in equal ways. The amount of accountability that comes with success can be more unbearable than the accountability that accompanies failure. I personally know of some very talented people who enjoyed phenomenal initial success only to find just as fast that they were in over their heads.

\- The more you resist the possibility of failure then you are less likely to recognize possibilities that will help you succeed. If you are afraid to fail, then most certainly you are afraid to succeed. This sounds counterintuitive but it's based upon the fact that fear makes your mind less supple and less responsive to the changes that will push you out of the game - or conversely it will lessen the impulse to jump on the opportunities you need to succeed.

\- The results you get has everything to do with your users/market and less to do with you as an individual; it's sometimes hard to separate these two. See the other side of the equation and what side you are on before trying to solve it. Don't ever think you are above the feedback of your users...EVER!

\- Don't have expectations (this is just setting yourself up for failure). Because you are starting out you may not know what is best to help you succeed - ESPECIALLY if you're lacking motivation. Keep in mind that whatever results you get from your efforts will lead to more possibilities (in the form of additional information).

\- Have some behavioral "context" within which to exercise discipline and structure. Seek to grow your efforts within this context. My context was my sleep schedule. It was a routine that was so ingrained that my drive had a laser focus. This might not work for some, but it worked for me.

Finally, I will add that in my opinion failing hard and fast is MUCH better than failing slowly. The faster you know for certain something isn't going to work out, the sooner you can cut your losses and move on to your next idea. When you eventually succeed, you will look back at all the times you were quick to cut your losses and get to where you are...

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

Please do NOT contact me asking for advice in trading/investing. This is a VERY personal thing, and it has everything to do with who you are, NOT with how much information you have, or which tools you use, or who you know.

</comment><comment><USER71> I can't remember if it was a comment or a post that linked to a really interesting article? blog post? rant? on how difficult actually modelling neurons is. It went into a lot about the genetics and epigenetics of the neuron, but I can't seem to recall the author or find the article. I wish I'd bookmarked it. :/

</comment><comment><USER72> Just look at people's favorited comments (for example, mine is at [https://news.ycombinator.com/favorites?id=saagarjha&comments...](https://news.ycombinator.com/favorites?id=saagarjha&comments=t), though I don't actually use the feature very much).

</comment><comment><USER73> I don't usually bookmark comments. I'll favorite an entry that has a comment I want to save for later so that I can come back and see the comments on _that_ comment. For instance, if someone posts a relevant link. I'll favorite the entry so that I can see what other links people offer.

</comment><comment><USER74> "Does depend on number of donkeys vs number of coyotes though. They're ornery, not magic."

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

</comment><comment><USER49> This, for example:

[https://e360.yale.edu/features/extreme-botany-the- precarious...](https://e360.yale.edu/features/extreme-botany-the-precarious- science-of-saving-rare-endangered-plants)

</comment><comment><USER75> About the magic of good error messages (parent comment is good too): [https://news.ycombinator.com/item?id=17859210](https://news.ycombinator.com/item?id=17859210)

</comment><comment><USER76> Shameless plug: I save insightful paragraphs to [https://booxia.com](https://booxia.com) using a browser extension, and then I get reminded about them via email.

</comment><comment><USER77> I have all my bookmarked comments over here: [https://pinboard.in/u:shrayasr/t:HN/t:QA](https://pinboard.in/u:shrayasr/t:HN/t:QA)

</comment><comment><USER78> None actually. I have a high threshold for upvoting, so my upvote history tends to be it's own record of things I found insightful or useful (with some humorous things thrown in occasionally) :)

</comment><comment><USER79> This one on practicalities of open borders: [https://news.ycombinator.com/item?id=17437888](https://news.ycombinator.com/item?id=17437888)

</comment><comment> EventH- The middlebrow dismissal: [https://news.ycombinator.com/item?id=5072243](https://news.ycombinator.com/item?id=5072243)

</comment><comment><USER80> Is there an easy way to bookmark HN comments?

<comment><USER81> click the timestamp on a comment. You then can either click the "favorite" link, which stores it at [https://news.ycombinator.com/favorites?id=krm01&comments=t](https://news.ycombinator.com/favorites?id=krm01&comments=t) (but note that list is public), or have a direct link to the comment to bookmark elsewhere.

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

I always enjoy the satirical content about last weeks hackernews posts

<comment><USER83> I love how while these comments are from years ago, if they were posted today I wouldn't be able to tell.

</comment></comment><comment><USER84> [https://twitter.com/shit_hn_says](https://twitter.com/shit_hn_says)</comment>


Another theory on the "FBI" UDID leak - <AUTHOR> http://www.marco.org/2012/09/06/udid-theory <comment><USER2> How does he know that Glitter Draw Free was the culprit?

It's well known that APNS tokens are _not_ unique on a per-app basis, even though the documentation says they might be. [0]

The theory that the leak didn't originate with the FBI is totally plausible, but I don't understand the connection with Glitter Draw Free, and I suspect the email's author doesn't realize that APNS tokens are not unique.

0: [http://stackoverflow.com/questions/2338267/is-the-apn- device...](http://stackoverflow.com/questions/2338267/is-the-apn-device-token- unique-to-each-individual-app)

<comment><USER3> The fact that they had the details about the app pushing data through apns.spankapps.com means they probably sniffed the traffic when launching each of the apps on his phone, and saw that the device token that app was sending up was the same as the one from the leaked data. Pure conjecture, but definitely plausible.

<comment><USER2> Sure, but he _can't_ know that that particular app was the culprit with only that information because _every_ app which has ever been installed on his device (barring a complete re-installation without restoration from backup) will send the exact same token.

The only way to blame one particular app would be if that app were the only app ever installed on a device whose identifier appears in the leak.

<comment><USER3> Ahh, you're right! I was under the impression that push tokens were unique per app, but I guess it's per-device.

</comment></comment></comment></comment><comment><USER4> I get a kick out of the fact that pundits like Arment and Gruber will flip their lids any time Apple is faulted but they'll willfully call out other companies without solid evidence. But it makes sense, given Apple punditry is their source of income, I guess.

Not that I see anything wrong with this post. It's progress towards finding the cause. But it gave me a chuckle.

<comment><USER5> Arment was quite quick to call out Apple over the broken app signing problem a month or so ago, even when other people were wondering was it router-induced corruption. He's also been complaining about the sandboxed-app-only requirement for the Mac app store for ages.

<comment><USER6> I imagine this is more due to the fact that it effects his product and income

<comment><USER7> *affects not effects

</comment></comment></comment></comment><comment><USER8> Now all the baby hackers will know that there may be a hole at spankapps.com that allows to get 12 millions UDID. It is a follow up to stripe CTF.

</comment><comment><USER9> Interesting idea. Though the FBI's denial doesn't mean much, as it's exactly what they'd do in this situation whether they had obtained the data or not.

Supposedly the guy whose laptop the data was hacked from was a DefCon attendee, so I guess it is possible that he cracked some database and got the data himself, unrelated to any FBI operation. But, of course, that's precisely what the FBI might want us to think if this data was widely distributed and they probably shouldn't have had it in the first place. It also doesn't explain the connection to NCFTA.

And of course it's possible the AntiSec hackers obtained it completely on their own and tried to connect it to the FBI afterwards.

<comment><USER10> "We haxxed the FBI and look how naughty they were" sounds a lot better than "We haxxed an app company and found things they'd be expected to have"

</comment></comment><comment><USER11> The footnote theory that I quote below doesn't sound that far fetched to me, especially after knowing about Stuxnet. I don't know if the FBI is involved, but the theory is not that wacky for an FBI hack.

      For instance, I can't figure out how and why the FBI would
      have collected APNS tokens. What are they going to
      do, steal the SpankApps SSL certificates somehow
      and send a fake push notification from Glitter Draw
      Free to a terrorist's phone?

<comment><USER12> Agreed, but I think it would be a mistake to assume that this necessarily has anything to do with 'terrism'. Let's not forget, these are the same people who brought you Carnivore.

<comment><USER13> "From the organization that brought you court-ordered installation of a basic Ethernet sniffer comes APNS-enabled MITM'ing of individual IOS applications"?

That doesn't follow. I don't like the FBI installing sniffers at ISPs either, but "Carnivore" is just a dumb name for a technique you had to have assumed the FBI already had (what, they can tap phones but we thought email was off limits?).

</comment></comment></comment><comment><USER14> Yeah, FBI nice try

<comment><USER15> Seriously: Does anyone expect the FBI to say "Yeah, we're busted. That was our laptop, we've been working with company XXX on collecting UDIDs, and we would have gotten away with it if it hadn't been for those meddling kids."

</comment></comment><comment> at-fates-hands This whole thing smells from the top down. You have a hacker group whose primary modus operandi is all about "DOXING" people for the lulz.

So they hack into an FBI laptop and all the do is release 1 million apple UDID's?? Hmmmmmmmm, makes you wonder.

Out of all the theories out there, this seems to be the most plausible once you think the FBI has nothing to do with it.</comment>


Ask HN: UK Intellectual Property clauses in employment contracts - <AUTHOR>

I'm a software engineer in the UK and I have signed an employment contract with what I assume is standard IP section for the UK: everything I create while working for the company; every idea I have whether written down, exploited or not; every new IP I may invent during the period of my employment [inside and outside hours] - all rights belong to the company in so far as legally possible.
My understanding is that this is a 'normal' IP clause in UK employment contracts added to specify that on top of the statutory presumption that all copyright rights will vest in the company, all moral rights will also vest in the company as far as possible.
My concern here is that as the contract is not prescriptive about any restrictions to this land-grab, any work I do by myself on the side or for any other person or organisation will also be covered. For example, if I came up with and exploited an invention for some new application by myself, or released it as open-source, or was contracted to do by another company, all the IP rights will still vest in my main employer (even if the area of invention is totally unrelated).
What I want to know is what kind of IP clauses other UK software industry employees have, how they feel about how restrictive [or not] they are, and what my actual options are if I wanted to create something in my own free time. <comment><USER2> Not as far as I've seen, standard UK contract is typically has something along the lines of IP created "in the course of your employment" (i.e excluding unrelated work).

Although if you're working on particular open-source or startup projects on the side you should just get a specific clause inserted into your contract which excludes those projects.

<comment><AUTHOR> That's what I recalled from when I read through it before signing (evidently not in close enough detail...)

However, the phrasing is: "any invention wholly or partially made by the Employee at any time during the course of his employment with the Company (whether or not during working hours or using Company premises or resources, and whether or not recorded in material form)."

Which does seem pretty open-ended :(

<comment><USER2> "during the course of his employment" restricts it to works made as part of your work duties. Obviously this can fall into vague territories though if your day job is in anyway related to your side projects, so I'd still recommend you get a specific exclusion for any side projects.

<comment><AUTHOR> I'm looking into that suggestion. Thanks for the advice. :)

</comment></comment></comment></comment><comment><USER3> There is another approach which is equally as effective given you signed this some time ago.

You can ask the company to confirm that you are allowed to work on the outside project and that they do not consider it to be a conflict of interest.

My partner for example is working for a large corporation, and in her contract it expressly forbids being a director of another company. I wanter her to be the director of one of mine for family reasons, and she obtained a written confirmation that this was agreeable to her employer.

This effectively changed - or rather updated - the terms on which she signed her employment. There's no reason why you could not do this too.

As long as what you are doing is not within the general scope of activities of your employer then a release like this is not that difficult to obtain.

</comment><comment><USER4> I wouldn't so far as saying that it's "normal" - but I've seen contracts like that. I've never signed them :-)

If you want to know what you can actually do - you need to show your contract to a lawyer. The scope of the land grab may not be as bad as you think depending on the exact language used. Some of the land grab may not be legal, depending on the language used and your exact working arrangement.

And next time please, _please_ read, understand and possibly amend the contract before you sign :-) It's just about the strongest negotiation position you'll have. When they want you and you haven't signed.

<comment><AUTHOR> Yes, hindsight is a wonderful thing - I signed this 3.5 years ago fresh out of university and didn't pay enough attention to the small print, I realise that now - I'll contact someone in the legal profession that I know for a more qualified opinion.

As to it being normal, most of the friends of mine who went to work for medium to large enterprises say that they've got the same type of clause in their contracts. From what I've read it appears that employers are typically recommended to make their phrasing as wide-ranged as reasonable.</comment></comment>


Sydney now runs on 100% renewable energy - <AUTHOR> https://electrek.co/2020/07/06/egeb-the-city-of-sydney-100-renewable-energy-arc-marine-reef-cubes-offshore-wind/ <comment><USER2> Link text should match the article headline; City of Sydney is a much smaller municipality than Greater Sydney, as this title suggests.

</comment><comment><USER3> I see nothing about where power comes from when there is neither wind nor sun. Are they using storage or just using the national grid? If it is the latter, can we truly say they run on 100% renewable?</comment>


Allocation Styles (2005) - <AUTHOR> https://sites.google.com/site/steveyegge2/allocation-styles

<comment><USER2> Not a bad article but it misses a style that used to be (and still is, depending on where you look) common on game development: Arena based allocation.

Use lots of arenas. A per frame arena, a per level arena, each subsystem gets its own arena... etc. Shove anything that would be in a dynamic array into ring buffer, unless you can spare the holes in the arena (for per-frame stuff you usually can), of fill it as you allocate. Anything that has a more complicated lifetime than this either gets shoved into a free list or a pool.

And then thats it. Takes a little getting used to (mainly because dynamic arrays become a kind of bad idea) but once you're used to it you really never spend much time worrying about memory management. Caller vs callee free? Neither, it lives in the arena (etc).

It's also extremely fast, as arenas are more or less the cheapest memory allocation strategy, and you can very easily bound the memory usage of your program (needed in game dev a lot, for min requirements), since its patterns are so predictable.

Not sure how well it would translate to other areas... Lack of strings in game dev probably make this much more feasible that it might otherwise be.

<comment><USER3> Maybe I'm unfamiliar with the terminology, but isn't that a buffer?

<comment><USER2> It is a buffer (so is any array in C or C++), but it's usage is entirely different from the style described in the article.

</comment></comment></comment><comment><USER4> I think allocation is a discussion worth continuing. It's so intrinsic to the in-the-large error rates - overcomplicate the data allocation picture, and you end up writing more, slower, and buggier code, but only some time after you made the mistake. Any solution you can name only captures a fragment of the problem.

</comment><comment><AUTHOR> A thought provoking older article by Steve Yegge that many I talk to haven't seen. It discusses styles of programming from the perspective of memory allocation.

</comment><comment><USER5> (2005)</comment>


Ask HN: MacBook Pro alternative for running GNU/Linux - <AUTHOR>

Can anyone recommend a good macbook pro - like laptop for running Linux? I'm looking for something with comparable specs that won't give me too much hassle when installing Ubuntu or Mint.
I found this old post:
https://news.ycombinator.com/item?id=6714192
but I was hoping someone might have a more current recommendation (although the laptops from that post still look pretty good a year later). <comment><USER2> I am typing this on a 3 year old Dell E6520 running Arch Linux, paid $900 for i7-2720QM, 8GB RAM, and 240GB drive back in 2011, spent another $250 for two 128GB SSD's and 16GB RAM, total of $1150. It came with 3 year Dell business warranty + 1 year extra warranty for using Amex/Discover card. The battery life was about 7 hours initially with 9 cell battery, but I bet latest gen haswell can give 8 hours with much smaller battery.

I would suggest to check out E6540 in Dell outlet, they have 20% to 30% coupons frequently [http://outlet.us.dell.com/ARBOnlineSales/Online/InventorySea...](http://outlet.us.dell.com/ARBOnlineSales/Online/InventorySearch.aspx?c=us&cs=28&l=en&s=dfb&brandid=2801&fid=9333).

This is coming from somebody who also has a 2014 Retina Macbook Pro, absolutely don't care for it, I keep it closed in the corner of the room and do remote desktop when I need something Mac specific.

<comment><AUTHOR> Thanks for the recommendation! I'm curious about your choice of Arch. Why did you decide to go with it? Did it require a lot of customization to get up and running or maintenance to keep running?

<comment><USER2> Initially had XUbuntu (Ubuntu with XFCE), forgot what exactly happened, but one of the major upgrades (12.10 to 13.10) broke my system, didn't trust those major upgrades anymore, since then I read more about how Arch works and got used to rolling updates. It does require more tweaking to get it running, it forces to learn the "Arch way".

If you are just getting started with Linux then I would suggest to start off with Ubuntu or read up on different distro's. (If you are coming from Windows or Mac, all linux distro's will require some level of tinkering, they just vary on degree.)

</comment></comment></comment><comment><USER3> I used a Sager (rebranded Clevo) during undergrad and shortly thereafter. They're great machines, but the battery life is underwhelming. My brother still games on it and it's >4 years old at this point.

I actually plan on buying another this year for both development and gaming, but I'm rarely somewhere without a plug for more than a couple of hours at a time.

<comment><AUTHOR> Thanks for the recommendation. I'm taking a look at them now. What distribution of linux were you running? Did you have any problems with installing / hardware compatibility?

<comment><USER3> I was using stock Ubuntu...I think it was around V10 back then? I also ran BackTrack on it for my security class. It was dual booted to win 7. The nVidia graphics drivers were proprietary and had to be installed separately, but otherwise everything seemed to work fine.

</comment></comment></comment><comment><USER4> I was in similar shoes a couple weeks ago. After a few T??? lenovos crapping out (It was always the dang video cards) I just could not buy another. My first replacement was a behemoth of a dell xps 15. Unfortunately the quad core could not make up for the size and poor build quality. The 2gb nvidia optimus video incompatability with linux sealed the deal. It had to go! DO NOT buy a laptop with optimus if you are planning on using linux. To make a long story short i am running an elitebook 840 i7 which came with a 256gb samsung 840 pro. Archlinux installed without too much fuss. I could not be happier! Its fantastic-well built, small, and powerful. You will love it even more if you are acustomed to using a trackpoint. Im so glad i did not listen to those marginal reviews re: this unit.

Re: Arch maintenance, a daily 'pacman -Syu' will usually keep your system running healthy. Arch does not like to be ignored for too long. ^_^

</comment><comment><USER5> Oh, the perks of browsing usesthis.com!

Checkout zareason and system76.

[http://zareason.com/shop/Laptops/](http://zareason.com/shop/Laptops/)

[https://system76.com/laptops/](https://system76.com/laptops/)

<comment><AUTHOR> Wow usesthis.com is fantastic! One of the issues I have with regular review sites is that most of the time the context of the review is missing, so a three star review on a laptop is meaningless because I have no idea what the reviewers expectations are, and what the machine is being used for. usesthis seems to solve that problem pretty well. Thanks for sharing.

</comment></comment><comment><USER6> The Dell XPS 13 developer edition is an excellent little machine that ships with Ubuntu: [http://www.dell.com/us/business/p/xps-13-linux/pd](http://www.dell.com/us/business/p/xps-13-linux/pd)

</comment><comment><USER7> I run Ubuntu on the Toshiba Satelite P96X and man do I love this thing. Tore out the DVD drive and stuck another SSD inside which lightened the load and obviously added more storage. Also swapped the primary HDD with an SSD.

The rig is now 4-5 years old has 12GB RAM and a 2nd gen i5 in it and this thing FLIES. Photoshop, Dreamweaver, Skype, and tons of browser tabs it does not miss a beat. You can prob pick this version up for $3-400 or a new one for $7-800 I beleive they all come installed with Windows but this model very *nix friendly.

</comment><comment><USER8> This is the best laptop I have used for Linux (ubuntu) - Lenovo ThinkPad X1 Carbon 14 : [http://ebay.com/itm/361120686241](http://ebay.com/itm/361120686241)

Has a good deal on eBay right now for $799

</comment><comment><USER9> I run Fedora 20 on a Thinkpad W530 at work and have few complaints. It's a high speed machine, is well built and, aside from a few hassles running the proprietary driver for the nvidia graphics card, it just worked from day 1.

<comment><USER10> I'm running Arch Linux on the same machine (quad-core, 32 GB RAM, 480 GB SSD + 500 GB SATA) and it flies. It does have the Optimus graphics stuff but I haven't bothered with it.

(I'd been using MBPs exclusively for several years when I bought the W530 (in May 2013), hadn't touched my MBP in over a year and finally got rid of it a few months ago.)

</comment></comment><comment><USER11> Care to define "too much hassle"? I'm running Fedora on 5 different Macbooks (ranging from 2010 through 2013 models) without any serious issues.</comment>


Advertising on Snapchat - <AUTHOR> http://blog.snapchat.com/post/100255857340/advertising-on-snapchat

<comment> k-mcgrady Nice approach. The way Snapchat works I could see myself opening a lot of these - even if just for a couple of seconds - to see what it is. If advertisers get value from it I don't see why it would annoy consumers at all (it's not disruptive, it's not creepy/targeted, it doesn't change your experience).</comment>


Kube-ldap: LDAP Authentication for kubernetes - <AUTHOR> https://github.com/gyselroth/kube-ldap <comment><USER2> Also see dex[1] and pair it with something like kuberos[2] to do a similar thing. I have used these both happily for our kubernetes cluster.

[1] [https://github.com/coreos/dex](https://github.com/coreos/dex)

[2] [https://github.com/negz/kuberos](https://github.com/negz/kuberos)

<comment><AUTHOR> thanks for this input. During my research I encountered several existing solutions but most of them seemed a bit overkill for my purposes (testing kubernetes in our company). So I developed a really lightweight solution. E.g. with dex and kuberos one has to set up two additional services just for something simple like ldap auth (ok, with kube-ldap one has to setup one additional service too^^). On the other hand I really like the advantages of an oidc-based login (automatic token refresh, natively built-in to kubernetes...), so this will probably be a way to go when our kubernetes setup is going to reach maturity.

<comment><USER2> Yup, this is what CoreOS production tectonic clusters (and many open source clusters) use for authentication.

That said, kube-ldap is still really cool. Thanks for releasing it!

</comment></comment></comment><comment><AUTHOR> kube-ldap is a Webhook Token Authentication plugin for kubernetes to use LDAP as authentication source. It let's authenticated users generate tokens by http request and validates the token when requested by the kubernetes apiserver.</comment>


Apple Google Samsung on the Smart Watch Race - <AUTHOR> http://kokonautlabs.wordpress.com/2013/03/23/apples-vs-google-samsung-orange-on-the-smart-watch-race/

<comment><USER2> I have the feeling I am going to pass on so called smart watches.

I had a digital watch back in the 70s when they were way cool but in time learned the value of a watch with hands - read with the shortest glance and just think, the display is on all the time and battery life is counted in years.

I have heard suggestions that a smart watch would tell you when you have messages on your phone - but my phone manages that just fine with sound or vibration (as set and circumstance).

Data entry is not a practical proposition - without hooking up via yet another cable to a PC.

I just cant see it.

<comment><USER3> I think we'll see a totally different way of using watches. It'll start with services suitable for a small device. For e.g. automatic transfer of body signals such as bp, heart rate; calendar notifications, location based information, calling services with a bluetooth earphone, etc. Building 'smartness' is the key here - provide a powerful platform and let developers think about ways of making it useful - you don't really need to be able to see all the possibilities.

</comment></comment><comment><USER4> Smart Watch, the new 3D TV.

<comment><AUTHOR> loool. You might be right!</comment></comment>


IFund & iFriend iPhone apps - Matt Murphy & $100M investments.  - <AUTHOR> http://www.nytimes.com/2008/08/22/technology/22ifund.html

<comment><AUTHOR> Isn't that a lot of focus and traction just around iPhone applications? Android never took off. Rest of the platforms elsewhere on the web - facebook, opensocial have now become stagnant.

At least in India jobs just killed the iPhone market signing agreement with Airtel and VodaPhone. These carriers here work on greedy algorithm and play no strategies. AirTel prices iPhone 3G 8GB at INR 32K == $800 USD. Insane that too to get locked out with airtel.</comment>


Codevember: Walking simulation - <AUTHOR> http://makiopolis.com/codevember/03 <comment><USER2> Very neat, but I wish there was a bit of a backstory.

Also, note that X01 has a fair amount of flashing, so don't click that if you're epileptic, I guess.

<comment><USER3> Just wanted to add that the flashing is surprisingly intense. Didn't expect that at all.

</comment></comment><comment><USER4> Here's another bit from the same person...

[http://makiopolis.com/dots/](http://makiopolis.com/dots/)

A shame they don't link to all their works on the site (unless I'm just missing it).

</comment><comment><USER5> Crashes every time in several unique ways using desktop Chrome Version 55.0.2883.87 m

Although the main site has a cool webgl interface that rotates with mouse motion left and right and zooms in and out with mouse motion up and down.

<comment><USER2> Kind of disappointed that "works" just links to their LinkedIn account, instead of actually displaying their work.</comment></comment>


Solving the JavaScript problem - <AUTHOR> http://benlynn.blogspot.com/2017/06/solving-javascript-problem.html <comment><USER2> It's an article about wasm</comment>


Pprint: Pretty Printer for Modern C++ - <AUTHOR> https://github.com/p-ranav/pprint <comment><USER2> The library {fmt} ([http://fmtlib.net/latest/index.html](http://fmtlib.net/latest/index.html)) is on track to be included in the standard.

<comment><USER3> Wow, this is so much better. I hope they deprecate cout and its inane operator overloads. Call me old-fashioned but I like an operator to do something at least logically consistent with its intended use. Shifting shouldn't print or read from a stream, what on earth made them think that's a good idea?

One thing that drives me crazy about C++ is that if you incorporate a few different third-party libraries you often end up writing a few different DSLs. Everyone has their own subset of operator overloads that do different things in different contexts and you just have to remember which one does what based on your receiver type -- which is often 'auto' these days anyways. It's maddening. Worse still, the STL plays this game. Time to move on.

<comment><USER4> Why? I think there's a reason behind it. I always imagined it to to be shifting bits along the stream.

<comment><USER3> It's about violating the principle of least surprise. If you create a culture of redefining any and all operators all the time to effectively create DSLs, you can't infer what _anything_ does. You can even override operator, for some reason. Just looking at a piece of code you have no idea what it's actually intending to do.

<comment><USER4> I agree with you that there are some DSLs which are very difficult to understand at first look. However, to me shifting, and pushing/pulling over streams are not so dissimilar.

There are lots of cases where overriding operators makes sense and is intuitive to the reader, for instance when you are dealing with monoids, groups or rings.

<comment><USER3> The issue is not that each one in isolation is particularly problematic, the issue IMO is when they get assembled by an end-user into a pile of mixed metaphors.

      fmt::memory_buffer out1;
      std::ostream out2 = std::cout;
      auto out3 = printer(stream);
      auto out4 = my_printer();

      format_to(out1, ...)
      out2 << "Hi..."
      out3.print(5);
      out3 += 6;

These all do the same but it's a total mess.

<comment><USER4> Anyone who writes like that needs to have a chat with Uncle Bob.

<comment><USER3> Haha, that's fair :) I'm trying to convey that sometimes as an end developer, you pick a number of third party libraries based on what they do -- not what their API definition looks like. Then you end up in an awkward mix-n-match of DSLs that are hard to reason about without a deep knowledge of each because the operators you normally key off of are redefined. Maybe thats why I'm not a C++ developer haha.

</comment></comment></comment></comment></comment></comment></comment></comment><comment><USER5> I also recently created a pretty printer library ([https://github.com/calebzulawski/hippo](https://github.com/calebzulawski/hippo)).

In some ways they are similar, though I felt it was valuable to avoid using ostreams at all, and store indentation levels separately from the printed string. Additionally, I think reflection macros are especially helpful for creating printers for user-defined types.

<comment><USER6> I like your idea to support separately tracked indentation levels.

<comment><USER5> Thanks! It really makes writing printers very easy.

</comment></comment></comment><comment><USER7> I find it interesting that this library requires the creation of a "printer" object instead of the (IMO more standard) definition of operator<<. Is there any specific reason why the author chose to go this way?

<comment><USER8> Does anyone know why C++ uses the shift operator for streams? It's always rubbed me the wrong way

<comment><USER6> Originally C++ lacked templates, and even once it got templates it was 20 (?) years before it got variadic templates. Operator overloads were added early, however, so using an operator for this was a "hack" to make a type safe print function. (It probably also served as a demo application for operator overloading.)

If you squint enough, it looks like a fluent interface, just fluent interfaces wouldn't become mainstream until later. That is, "cout << a << b << c;" is pretty close to "cout.print(a).print(b).print(c);"

Another reason to use an operator is that if you use free functions (without variadic parameters) then your parens and nesting stacks up: "print(print(print(cout, a), b), c);"

An infix operator doesn't have that problem.

In modern C++, there is at least the possibility to replace "<<" with something better for printing.

<comment><USER9> I mean, it's also looks intuitive. if you imagine the arrows as the data fllowing.

</comment></comment></comment></comment><comment><USER10> This is a bit like '%r' or repr() in Python, the Debug trait in Rust, or the Show class in Haskell, but it doesn't really address what most pretty printers need: highly customized formatting, as used in Wadler/Leijen pretty printers.

<comment><USER11> Indeed. I wrote a Python pretty printer that uses a Wadler/Leijen algorithm, and it's a great fit. It doesn't take too long to learn how to use the layout primitives, and it allows for easy creation of higher level abstractions while still maintaining plenty of control.

[https://github.com/tommikaikkonen/prettyprinter](https://github.com/tommikaikkonen/prettyprinter)

</comment></comment><comment><USER12> There's also [https://github.com/tfc/pprintpp](https://github.com/tfc/pprintpp) which is quite nice.

</comment><comment><USER10>
        pprint::PrettyPrinter printer;
        printer.print("x'x\"x");

And the output is

        "x'x"x"

So it doesn't actually escape any characters in the string. Same with newlines inside the string.</comment>


Ask HN: Help me find a good databases textbook - <AUTHOR>

I'm looking for an excellent academic textbook on databases. The following two seem to well thought of (by some, at least):

  Database Management Systems by Raghu Ramakrishnan  and Johannes Gehrke

  An Introduction to Data Base Systems by C.J. Date

 Are either of these any good? (== accurate, clear, comprehensive, concise, rigourous) Are there any good alternatives? <comment><USER2> Are you more interested in relational theory, or in implementation techniques for database systems? If the latter, the Ramakrishnan and Gehrke book (the "cow book") is really good: fairly broad coverage, but very well-written and precise. I haven't read the Date book.

</comment><comment><USER3> Some hardcore / research-level books are:

The "red book": Readings in Database Systems, which is a collection of basic papers from the field. This is used by DB programs in top schools (eg. Berkeley).

The "Jim Gray book": Transaction Processing. Look up Jim Gray to see why this may be worth looking into.

<comment><USER4> Transaction Processing: Concepts and Techniques (Jim Gray & Andreas Reuter) isn't just one of the best database textbooks, it is one of the best computer science textbooks. It is an Important Work.

On the other books, it depends on what you want. Alternatives to Date include Jeffrey Ullman, "Principles of Database and knowledge-base Systems" and "Foundations of Databases" by Abiteboul, Hull and Vianu.

As an introductory book, I like Database: Principles, Programming, Performance by Patrick O'Neil.

For more on transaction processing, as well as Jim Gray there is Philip Bernstein, eg "Principles of Transaction Processing".

Following the references is a lot of fun; see where you end up.

</comment></comment><comment><USER5> In addition to whatever textbook you decide on you should read Bill Kent's "Data and Reality" to widen your awareness of the profound difficulties involved in stuffing messy reality into a collection of bits. See [http://www.authorhouse.com/BookStore/ItemDetail.aspx?bookid=...](http://www.authorhouse.com/BookStore/ItemDetail.aspx?bookid=2713) and <http://www.bkent.net/Doc/darxrp.htm>.

</comment><comment><USER6> Here is a vote for "Database Management Systems" by Ramakrishnan and Gehrke

I learned from this book. I also know a few graduate students who studied databases (or some varient) and they continued to use this book throughout their studies.

(I know nothing of the other book though, so this is a one-sided view)

</comment><comment><AUTHOR> Thanks very much to everyone for their input.</comment>


Five labs – See the personality behind your posts - <AUTHOR> http://labs.five.com/ <comment><USER2> This is the sort of thing that makes me glad I stopped using Facebook a long time ago. Of course, you could equally easily apply the technique to people's writings on HN, but there's a much lower probability of that being leveraged into a standard social media app.

<comment><USER3> I actually just did that with your HN account, fairly easy:

100% Openness. 58% Extraversion. 63% Agreeableness. 30% Neuroticism. 31% Conscientiousness.

<comment><USER2> Sorry about the late reply, I was gone for a few days. I know this would work on any batch of content such as my HN postings, but it's an extra step you take as an individual. In the context of Facebook there seems to be a much greater possibility of it becoming infrastructure - 'rate your friends!'

</comment></comment></comment><comment><USER4> damn, apparently I'm fucking negative and I keep telling everyone I'm fucking negative

</comment><comment><USER5> The correlation with other people is pretty interesting. I was impressed that my family members showed up there, I suppose it makes sense.

I went through the celebrity list, and the person I was most similar to... "Paul Graham and you are 89% similar"

</comment><comment><USER6> Personality is great... but could it detect mental illness, instead, so that (a) people don't waste time in hopeless clashes with, and/or taunt, the suffering; and (b) the ill might get help?

</comment><comment><USER7> This doesn't measure your personality, but the content that you choose to share on Facebook. I work out regularly and am very hard working, but I choose not to post about those things. Does this mean that I am less conscientious?

The list of words used for the Extraversion trait is all slang and poor grammar. Is it not possible for someone to be extroverted while typing status updates in complete sentences?

</comment><comment><USER8> I don't understand how using "fuck" a lot can be directly correlated to neuroticism. There are so many situations where it can be used that assigning the whole word to a signal for neuroticism seems like a misstep to me.

<comment><USER9> From the original article (as linked in a sibling comment), you can see the following result which is really interesting [1]. I do use the word 'fuck' when speaking and I've never been bothered by it but I can say that I don't think I've ever used in a facebook post. Which aligns with the study as I've previously done the Five Factor Inventory and have a low neuroticism score.

[1] [http://www.ncbi.nlm.nih.gov/pmc/articles/PMC3783449/figure/p...](http://www.ncbi.nlm.nih.gov/pmc/articles/PMC3783449/figure/pone-0073791-g006/)

<comment><USER8> From the same study, Fuck is also highly correlated with age and gender. They also found a 25% less strong correlation between swear words and neuroticism, compared to a previous, given study. I'd imagine correlating swear words is especially hard because of their varied use. (For extreme happiness vs anger, for example)

</comment></comment></comment><comment><USER10> This is what the app says Paul Graham's predicted personality is: [http://labs.five.com/pg](http://labs.five.com/pg)

INVENTIVE • SOLITARY • SENSITIVE • EFFICIENT • ANALYTICAL

</comment><comment><USER11> This actually worked pretty well. I havent been posting to FB in recent years so I wonder if this has changed.

Someone should do this for my HN comments. I am usually less sarcastic/funny on HN than FB.

</comment><comment><USER12> Yawn! How useless and contrived is the statement, "You're x% Inventive"?

This trivializes introspection. People are really deriving insight from this?

</comment><comment><USER13> I must admit, I'm curious as to which facebook posts they got Mahatma Gandhi's 2,284 words from.

</comment><comment><USER14> it would be great if you could apply this to tweets or something more generic like a personal blog. (i feel like tweets would be easy... blog would be harder to parse reliably).

As someone who uses twitter a fair amount, and barely uses facebook at all - this won't really work for me.

</comment><comment><USER15> My Facebook persona is stern, reserved, and curious. I'm not that easy to describe, though ;-)

</comment><comment><USER16> Aha! This is for English speaking people.</comment>