Hacker Newsnew | past | comments | ask | show | jobs | submit | afriend4lyfe's commentslogin

It makes me sad that I can't read these books for the first time again. I reread them often. Surprisingly enough, my favorite book of the series was The Redemption of Time, a fourth book written by a fan with the blessing of Liu Cixin. If you haven't read it yet and you enjoyed TBP then you're one lucky sumbitch.


Thanks for the recommendation, I just bought it on Audible. I really enjoyed the Three Body Problem trilogy, haven't listened to them a second time yet, but I plan on it.

I really like to travel, really the only material thing I care about is being able to travel. Sometimes reading great literature from other countries gives me the same feeling that the earth is a small place and we are all in this together.


Cool. The ending to Cixin's trilogy was a little disappointing, compared to the rest of the story. (I thought the best book was the second one.)


The big takeaway from this article for me was this line:

"Create a solution to somebody else’s problem, where that problem sits at the intersection of being genuinely interesting / meaningful to you and being something that you are reasonably capable of addressing."

I also want to second his book recommendation [The Mom Test](https://www.amazon.com/Mom-Test-customers-business-everyone/...). It's really short and will save you a lot of time building things nobody will pay for.


This is a blatant violation and misuse of voter files. In Illinois, for instance, "Voter data is available to registered political committees for bonafide political purposes. Use for commercial solicitation or other business purposes is prohibited."[1]

I've been noticing a trend where more and more average Joes are just downloading these files and doing whatever they want with them (specifically, ad targeting). So it's not hard to imagine what malicious state actors have been doing with them. And on a social level, it feels as tho these apps are in violation of the spirit of the voter files purpose.

With these specific apps it appears to be a classic case of "it's easier to ask forgiveness than it is to get permission".

1. https://www.elections.il.gov/votinginformation/computerizedv...


So in hindsight what is being suggested? That Tivo should have established its own content network and then add the dvr to it? That TrialPay should have created Stripe and then added the trial pay feature?

I think I'm misinterpreting this advice because it sounds to me like the chicken and the egg problem.


It's being suggested that Tivo did things correctly (Collected $1.6 billion in patent court) by creating a "boring" product.

If you could go back to 2006, it would be better to create a Stripe then a TrialPay, even if Stripe is boring.

The final takeaway * Boring products can be very disruptive. Innovated products have a hard time finding their market. Find a boring product you can create that adds value directly to consumers. Build your company on that product. Innovation is easier to do after you have customers and cashflow. *

The author admits this is opposite of how investment funds usually work.

These opinions are not necessarily my own, but my own summary of my understanding of the article's point of view.


"In the later years of his life, Mr Kamprad had faced questions over his past links to the Nazis."

It's crazy how he ran Ikea for over 70 years but a quarter of the article deals with his ties to Nazis. Granted, he admits it was the "greatest mistake" of his life, so I suppose the attention to it may not be unwarranted. But I think it would have been prudent to touch on what caused him to shift his perspective. "Youthful stupidity" doesn't convey much.

Still, I can't help but feel like the information age is ushering in a modern-day version of the Akashic records. A double-edged sword anyone with an internet connection can consult. We laud past failures as learning experiences when it comes to startups, almost as if it's a badge of honor. But it's a very different story when someone violates a social contract, even in retrospect. (Albeit there are plenty of cases where people are embraced because of the drastic changes they made in their life, e.g. gang members that become speakers for at-risk youth.)

I think there's both a wisdom, and ignorance, of crowds/culture. And these crowds are constantly redrawing the line of who deserves redemption. Lately, the line seems to be inching in the wrong direction in my opinion.

With the advent of the internet it's scary to think about how efficiently the arbiters of information control the narrative. "We do not judge men by what they are in themselves, but by what they are relatively to us." -Madame Swetchine.


When the war ended he was 19 years old. He was 17 when he was first labeled a "nazi" by the security services. 17 years old is pretty young.

At 17 I was, politically speaking, a dumbass. Like most children that age. Not that I even had any identifiable political view that was in any way expressed, but I didn't know shit about politics.

Today it is even worse since every kid is supposed to have opinions on everything, grows up having a semi-public persona while still being afflicted by the stupidity and naivety of a mind that has been barely usable for a handful of years.

I think "youthful stupidity" covers it plenty much.


Objectively, what IBM did, in helping the nazis, and was collaborating with them, for many years into the war - even when the US was getting involved —, was much worse then what this guy was doing.

There’s also Porsche, Volkswagen (basically, Hitler’s own brand) and any other brands that were involved, and basically the catholic church was preaching in many EU countries for their sons to join the German army...


The important part is that these ideologies don't propagate within these organizations - an important part of this however is - within the leadership of each organization - publicly acknowledging and owning the organization's past.


In which countries were the Catholic Church preaching that? All I've read claims the opposite, that the church was against Nazism: https://www.ushmm.org/wlc/en/article.php?ModuleId=10005206 http://www.catholicherald.co.uk/issues/march-10th-2017/the-e... At the time the Catholic Church was the largest organization in the world, so some clergy is bound to have supported the Nazis, but the majority did not.


In Belgium it is widely known that families where promised more food stamps if they would sign up their sons. This was done by priests, at the local sunday church mass.

This is also one of the reasons there were so many 'collaborators' in belgium - a very Catholic country at the time - , while in fact the main goal was to get rid of the French dominance.

But if you're interested in the topic, Google what the Vatican did those days.


https://en.m.wikipedia.org/wiki/Ratlines_(World_War_II_after...

I for one am not about to forgive or forget. Mind you, the Church wasn’t the only group helping the rats escape a noose.


BASF, Thyssen (without the Krupp at that time...) plenty of blame to go around...


Right, so it’s not really relevant anymore, since everyone involved is probably dead by now...


Hugo Boss, Kodak, Volkswagen, Siemens, Ford, IBM, IG Farben/Bayer

All of these are still around and were much more involved than Ingvar Kamprad was at the time.


But you got to wear Hugo Boss!


Don't forget Henry Ford.


>But I think it would have been prudent to touch on what caused him to shift his perspective.

Going with the tide? I doubt if the Nazis had won there would have been any shifts in perspective.


Wouldn’t that be true of most people? Being a rebel, even against an overtly oppressive regime, is not a light undertaking.


It would. That's why genuine cases of people who did resist should be celebrated over mock "turnarounds" after the fact.

(That said, after some time, things should be forgiven anyway. No much reason to punish a 90 year old today for when he did when he was a Nazi as 18-20 years old -- as sometimes happens).


It is indeed true; the winners always earn the privilege of defining morality and rewriting history to their liking.


I think it's important to realize mistakes 10+ million people make are far from character defining.

All governments do good and bad things and it's important to judge them in that context. What separated the Italian fascists from the German fascists was not necessarily obvious at the time. Further, while history reasonably judges German connections harsher, that's filtered through both bias and information people simply did not have.


No. I’m sorry, but the Nazis were, objectively, „the baddies“ in every moral system but their own. And Germans of the time knew enough to come to that conclusions.

It’s possibly right that there is not much use in blaming the opportunists of the time, mostly because there were to many to punish them all. But there also were a significant number who risked or lost their lives in opposition, and this “history is written by the winners” cynicism does more to besmirch the latter, than it absolves the former.

(Am german, have asked grandparents the tough questions)


I am not making that argument. It's not about who won, it's a question of who had what information when.

So, yes the Nazi party line had some frightening implications, but at the time you could easily assume some basic human decency would prevent what actually happened.

To use a recent example many people assume Trump is saying things he does not actually mean. A friend said "Wait he actually wants to build a wall, but that's stupid."

So, my argument is people are willing to overlook implications when they agree with other things you are saying. We often look for the worst of our enemies and ignore what our allies are doing.

Further, this has real word implications and we need to be more careful than simply assume we will know if we are placed in a similar situation.


"Despite Mr. Fink’s insistence that companies benefit society, it’s worth noting he’s not playing down the importance of profits and, while it’s a subtle point, he believes that having social purpose is inextricably linked to a company’s ability to maintain its profits."

Perhaps capitalism is realizing what thinking long term actually means then? The future for humanity is bleak if we continue down the path of unsustainable business practices. At this point we really do know better. We can't allow our only natural habitat to be exhausted for the sake a few luxurious generations.

At the current rate our businesses are exploiting the environment and people, it's honestly hard to say what's bound to happen first, the planet reaching its limit or the poor eating the rich. Either way, change gon' come. Hopefully we avoid all of that and start thinking about more than just our own immediate futures.

In this way, I think the real long term strategy is to inject some compassion and empathy into business.


That's an optimistic view, but think (late) capitalism is realising that it's putting it's own short term profits in jeopardy, and it's just good business to recognise that.

It's pretty obvious there's a growing wave of consumers that are realising that capitalism may be out of control in regards to social issues like the environment and workforce exploitation, and this can have a real and immediate impact on the companies profits and stock price if uncovered - Volkswagen lost 64% of it's value in a few months after the emissions scandal and profits were down 20%. The likelihood that corporate misdeeds are uncovered is only increasing as whistleblowing and hacking become more common.

People seem to think protecting shareholder value only involves growing the company by any means necessary - this was always a ridiculous idea, some growth choices put the whole company at risk, this seems like a nudge to remind companies of that.


    > Perhaps capitalism is realizing...
While it superficially looks good for corporations to "contribute to society" and they will fall over themselves to give lip-service for this idea, such goodwill will VAPORIZE in the instant they're no longer deeply in the black.

Sorry, but capitalism won't "realize" anything by itself. We should not leave any aspect of our social safety net up to the whims of hedge-fund a-holes, financiers and large corporations who have demonstrated over and over and over what they _really_ care about.


There's also self preservation as a motivation in case of sudden abundance of pitchforks.


>It's actually these anti-government, anti-establishment people usually spreading completely irrational fear.

Those groups don't have access to the mainstream channels and platforms to spread their influence like the establishment does. More often than not, that same establishment will paint those groups as the perpetrators of everything that is wrong.


Can you elaborate in your comment? What do you mean local coffee shop? And why is an echo chamber insinuated in that statement?


Sounds interesting! Any links you can provide to the project?


"don't use technology to solve a social problem"

Where does this axiom stem from? A quick google search shows many instances of proclaiming the opposite.

Body cameras on police address a social problem.. If you're talking in absolute terms, such as something being the perfect solution that vanquishes an issue (i.e. a silver bullet) then I think it's a disingenuous stance to take. Social problems aren't solved overnight, and the greatest ones have always required incremental approaches.

This feels akin to saying, "I need code that's 100% bug-free", but in reality, writing bugless code isn't the goal.


You misunderstood: the phrase would be more accurately stated as "don't use code to solve internal process problems that are driven by corporate politics".

For example: when a bank's retail locations are using different lending criteria than the corporate call center, there's no amount of code that will solve the turf war between corporate and retail.


Ah, forgive me. I totally took it out of context.


Like many aphorisms, it's 95% true or so. Almost always when facing a social problem within a company you should be solving it socially. If you don't understand why that's true 95% of the time (i.e., trying to argue that it's completely untrue), you're not going to be able to identify the 5% of the time that it's false, and following the aphorism will likely serve you well. Understand the aphorisms before breaking them

However, there is that 5% that matters. In my opinion, one of the things that separates a good "architect" from "a really senior engineer with lots of responsibilities" is the ability to engage with the social and political implications of code design, and convert social concerns into lines of code. (This further reinforces the idea that architects must code, on the grounds that in general, this degree of understanding of a situation is not transferable. Especially to people who don't even believe these issues exist or are relevant to a design, which is quite a lot of even quite senior engineers.) The 5% is not equally distributed and a lot of it will concentrate on to the architects, so for instance I find myself thinking about this stuff a lot because of my position. But it's still the exception, it just happens that I get a lot of that exception.

Of that 5%, the vast majority of it relates to Conway's Law: "Organizations which design systems are constrained to produce designs which are copies of the communication structures of these organizations." I first encountered this in a list of funny jokes and such that had been knocking about since the old UNIX days, and at first I figured it was a joke too. Then as I grew more experienced, I thought it was a lament, in the style of "The first 90% takes 90% of the time. The remaining 10% takes 90% of the time." Now I understand it simply to be a law of software design. Like gravity, if you intend to defy it you'd better have a really solid story as to how you intend to avoid it. It is often much better to reorganize teams rather than fix this with code, but even optimal organizations of teams will still have a certain amount of Conway's Law issues, because the real world is messier than team structures should be. Plus engineers suggesting team reorganizations doesn't always go well; if nothing else you will confuse the heck out of your management even proposing it, like, "what are you doing thinking about that?". You may be forced as an architect to deal with suboptimal organizations anyhow.

And thus we wrap back around to microservices... once an organization hits a certain size, you are almost inevitably constrained to use microservices, because organizationally it is simply impossible to have 500 people working on "the same thing". You'll either use microservices, or a monolith that contains an ad-hoc, informally-specified, bug-ridden, slow implementation of microservices, even strictly de facto in the form of "this code belongs to this team, that code belongs to that team".

(The generic form of Greenspun's 10th rule is "Any sufficiently complicated program in a certain domain will inevitably be pushed towards certain solutions based on the domain, and if the designers attempt to resist that solution, that will simply result in an ad-hoc, informally-specified, bug-ridden, and slow implementation of those solutions." Or, in short, "use the right tool for the right job, even if you thing you don't like that tool.")


> You'll either use microservices, or a monolith that contains an ad-hoc, informally-specified, bug-ridden, slow implementation of microservices, even strictly de facto in the form of "this code belongs to this team, that code belongs to that team".

That metaphor isn't good here. You gain nothing by including network communication between those different pieces of code. The ad-hoc solution is often more formally specified, less bug-ridden, and faster than the microservices solution.

Microservices solve some technical problems, not social ones.


"You gain nothing by including network communication between those different pieces of code."

I consider the network aspect of the communication a bit of a side show here. What's important is the information flow. Even if you've got a monolith, you've got some components, and if you are taking such good "advantage" of your monolith that the communication flow between modules is not something that is clearly specifiable and understandable because of the global variables and shared state and shared everything else, what you've got there is a mess, not a beautiful shining example of architecture that obviates the need for microservices.

Or possibly, you've just got something too small for the microservices to be relevant. Which is totally a thing, and I totally agree with the various things that say "Don't write your startup as microservices".

But eventually as your size grows large enough, you will either end up with components so nicely separated that putting a network between them doesn't affect them all that much, or you will have a big ball of mud that nobody can move around anymore. If you don't have one of those, you just aren't large enough yet. Humans can not code the way biology tends to work; we need bite-sized chunks of a larger system to get our heads around.


Services interfaces are among the least maintainable kind of interface we have on IT, and REST services are at the less maintainable end of that.

When you add that network communication, you remove coherent type enforcement, timing restrictions, availability guarantees, causality guarantees, unicity guarantees, and likely more stuff that are just not on my mind right now. Those are all characteristics of the information flow.


Conway's law has been popping up a lot lately for me. Can you share some typical examples of "communication structures of these organizations" and the systems they inevitably result in?


It's hard because in a small example you can always say "well why not just restructure the team some other way?", because there's no collection of real forces to balance against. But a simple example would be, let's say you're offering several services to the public. You want all of them to have a single sign on. Then you'd better create an "authentication" team, because if you leave authentication up to each of your 5 services, you'll end up with 5 authentication schemes. (Usually to make the "authentication" task large enough that team will also be responsible for the central record about billing info, contact info, etc.)

It's tempting if you don't believe in Conway's Law to say "What's so hard about having everyone share authentication services? We'll just mandate that they have to use one service without having to create a separate structural team to do it." But it will not generally work.

One element that contributes to this is that the teams are not just technical, they are embedded in a company in a larger context. If you create product teams A, B, and C, the larger company will be grading the management of A, B, and C on the revenue they generate, or other appropriate metric. Thus, the management for those projects will tend to be very focused on that metric. If you tell each of them that they are responsible for authentication, they will each want to spend as little as possible on it because it is not a revenue generator. (Who has ever signed up for a service because its authentication was just so awesome?) They will each correctly come to the conclusion that the cheapest thing is just to bash something that vaguely resembles authentication into their own system, because the costs of coordinating between the three teams will be too large. So you really have to carve out this interest into a team that will be measured on the goals relevant to authentication, such as scalability and security rather than revenue.

Engineers are also constitutionally inclined to say "Well, the solution is just to stop measuring teams A, B, and C by revenue and instead measure them by..." but then it's somewhat hard to figure out what the next words are. "Code quality" is something engineers would love to say, but even engineers on some level tend to recognize that does not actually put food on the table, so to speak. (It is an important element of considerations of how to spend resources, and I would agree that it is often underestimated. But it makes no sense for it to be the prime measurement of a team's output, even before we get into the issues involved in objective measurement of code quality.) It's really hard to avoid having at least some of your development teams being measured directly in dollars in one form or another, and from there the rest of these forces tend to flow.


Would you agree that a project with less than twenty engineers that "has to" use micro services has issues completely unrelated to Conway's law?


Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: