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

There are an increasing number of breathless Gemini fans posting

How can we know this is a fact and not a pop science observation

Very easy. Try it,

What does Ynab do that I would get for free with gnu cash? Just downloading bank statements which I’m not ok with and against my banks t&c.

Other wise all non envelope budget systems are horrible for me because I want the budget to be self adjusting so if I spend more on household items 1 month it needs to ensure I have less to spend over the next set of periods till I’ve gone back into positive . Rollover basically


That’s a bad analogy because the qualification is being born in a region not acquiring knowledge thru working. an equivalent would be only electrician can write a book on wiring.

Do you mean wire and tool manufacturers? Electrician is mostly a user. Or to avoid flawed analogies - should books on Windows, Office, ... be only limited to a small subset of Microsoft employees? I'd assume the book is for users, what does it matter if the author contributed to the project?

And that's still ignoring that evangelism is also a valuable contribution.


That was exactly why I picked it as an extreme example to show the absurdity of this rule - there aren't any Legionnaires to write the books, so who's allowed to? Assuming we do want the books.

> because of what Uber pioneered — trust

I really dislike the retro fitting of history. I’ve read more occurrences of serious SA by uber drivers and zero for normal taxi in the last few years


It’s common since year dot fir new businesses to compete on price to attract customers and gain market share. It wasn’t invented by uber

How much did it cost in $, how many LOC was the original

Do you know of anyone declining to work on a project For ethical in their view ( non military non killing) ?

I’ve led a sheltered life and never met one, people have told me they wouldn’t apply for a role with a company for ethical reasons maybe they even believed they would get the job


I know a lot of people who won't work for some companies for ethical reasons.

Though, sometimes the exact reason is muddied, since companies that are perceived as unethical in how they behave externally are often also perceived as unethical in how they behave towards employees. So you might object on pragmatic grounds of how you'd be treated, before you ever get to, say, altruistic grounds.

Also, sometimes fashion is involved. For example, many people wouldn't work for company X, because of popular ethical objections to what they do being in the news, but some of those people would probably work for an unknown company doing the same things, without thinking much about it.

But often it's just "I don't like what company Y is doing to people, and I wouldn't work on that, even if they treated employees really well, and it was really fashionable to work there".

(See, for example, the people who refused to work for Google after the end of Don't Be Evil honeymoon phase, even though they generally treated employees pretty well, and it was still fashionable to work there.)


Sure: A couple of years ago I joined a company doing outsourced system administration. Then it was suggested I should take care of a new client: a manufacturer of weapons with a quite shady reputation. There were already other issues I had noticed. But this was the red flag for me and I left after four weeks. My then team lead was pissed and complained I should have told beforehand that I don’t want to go down that route. But it never occured to me before that to compile a blacklist of things I won’t do. And I had been in business for more than 20 years when that happened.

Yes! I once met a highly paid contract tech lead who had walked out of a lucrative contract with a supermarket after he became aware the new credit card product he was working on was to be exclusively targeted at customers in poor areas.

The moral fortitude on that man!

I applaud his actions, but genuinely do not know if I would have the stones to leave my job if I was in a similar position!


Half of it is stones; the other half is cash.

I worked at LivingSocial back in 2012. I was 21 and didn’t know anything about marketing. The pitch was that daily deals helped small businesses get new customers who would then become recurring, which was good. I liked helping small businesses.

Over time I realized that the company knew this wasn’t really true. Daily deal customers weren’t likely to return. They went where the deals were. The influx of cash from daily deals was a marketing expense, almost always at a loss (most deals were 50%+ off and half of the remaining revenue went to LivingSocial), and buyers rarely returned so SMBs would never recoup their loses.

Once I figured this out, I decided to leave even though I would miss my equity cliff by a month. I ended up joining ZenPayroll (now Gusto) early on because they were helping SMBs with a real problem (payroll was a fking nightmare back then.)


Even if you had got the LivingSocial equity, it probably would have ended up worthless anyway, right?

Hello. I have. The first time, I was offered a job working on missile guidance systems. I told them I would not work on weapons, so they offered me a job working on something else instead. Then they asked me to move to another project that would require getting government security clearance. I said I wouldn't do that either because I was not willing to make the required promises to my government, so they gave me other projects that didn't require it. It's really not that hard to have a penny's worth of a moral compass if your skill has any kind of value. I think maybe the problem is people who only have value to companies that only hire people without any morals.

Beyond that, I now accept that many employers screen candidates with questions like, "Have you ever been fired?". Answering the why with, "I refuse to do things I consider to be unethical" is typically enough to screen you out.

While this can be irritating, I have come to see it as a good thing. It helps me screen out candidate employers. It is taxing to work in an environment that constantly challenges your ethics. Imagine having access to all your customers' supposedly private emails and being tasked with mining them without your customers' knowledge. Imagine being tasked with adding an obscurely worded line item to the monthly bill of all customers that your logging indicates haven't accessed their billing statement in the last 12 months.

Now imagine working at a job where you are tasked to find all customers who haven't used an optional paid feature in the last 12 months and notifying them that there might be an opportunity to reduce the amount you bill them. Imagine working for an insurance coop that actively scours for ways to charge members less money without compromising their protection and without taking advantage of somebody else.

Imagine that your personal life choices automatically disqualify you from exploitative employers and lead you to more fulfilling employment. This is a real thing that many people don't have to imagine. They live it.


The issue of course is what if your personal life choices automatically disqualify you from (defacto) all employers and you end up not even being able to afford a van down by the River?

That is what anxiety based thinking produces.


>Do you know of anyone declining to work on a project For ethical in their view ( non military non killing) ?

o/

i was offered a high paying job, with relocation to a 1st world country (at the time, i was living in a 3rd world country with high murder rates), to a industry that i consider quite shady (and it's not military and not around killing -- i have no issues with both of those). i politely refused.

most of my friends, at the time, told me that they would've have accepted without even thinking, but for me, it's just not worth it.


I know lots of people who had the offer to work in gambling but chose not to take it for moral reasons

I had an offer to work in gambling as a young inexperienced student, fortunately they didn't hire me because I was too inexperienced. I can imagine how my career would move if my first working experience was in such company. Some people might be like that.

Well kinda trivially, asides from secular ethics, you'll find that typical Muslims decline a number of jobs/projects for ethical reasons.

As do Christians. Jews. Hindus.

I was asked to help with creating what seemed like a human trafficking app to Christian me, but that to the Muslim founder was 'just an app to get the best payment for an arranged marriage' and just improving something that he said already happened all the time in his culture (he was from Pakistan I don't know if that is actually a thing there or he was just trying to justify his messed up app).


> As do Christians. Jews. Hindus.

Yes, absolutely. To elaborate a bit though, if you live in the West, Muslim ethics are more likely to stick out when applied to our regular practices. e.g. I know a Muslim programmer who declined to participate in a project involving billing interest to customers. (Which is decidedly non military and non killing, as posed by the post I was replying to.)


I quit a job on contract with a major insurance provider because they asked me to perform a truncate instead of a rounding operation in a formula without any mathematically sound reason for choosing the truncate over the rounding. I figured out they wanted truncating because it would lead to more people being denied flood coverage than rounding would.

This is a real long look in the mirror moment.

I think most people avoid this situation one step earlier by choosing the company they work for. I.e. do you accept a job in adtech, military, adult industry, etc.

I think pretty much everyone has an internal red line, of course they will vary a lot and may even move over time.


I've often been contacted by recruiters for companies in the gambling (in India it's called "skill-based web gaming") or the crypto/web3 space, and I've always denied those for ethical reasons.

I've dodged multiple work opportunities on ethical grounds, although I can only think of one time where it was a big deal (I think we had to turn down a client because I declined to work on it).

Sure, it happens all the time. Speaking personally, for example, I walked out of an interview when I realised it was for The Sun's betting site (Sun Bet)

Crap I always thought individual is a singular.

So many options why oh why. let run with also apply


Each does different things, and Rust also has plenty of them. and_then(), or(), or_else(), then(), the list goes on. Kotlin just implements them more widely.

Actually, Kotlin's with() and apply() are more powerful than what Rust can provide. Then again, Rust isn't designed with OO in mind, so you probably shouldn't use those patterns in Rust anyway.


Surely you have to appreciate or else are a different from then examples I gave, the 6 or so kotlin are effectively call a closure with a captured object, with some variation on the return value

I think you've misunderstood the point they were making by addressing the number as if it was the only concern and then only mentioning the actual point they were trying to make as if it were an incidental afterthought. I don't think it's likely they're criticizing five functions in the standard library is too many, but that having five special functions with certain semantics that only apply to them is too many. The methods you mention in Rust are all in the first category; you could easily write them yourself for any type you define without needing to resort to wrapping any of them. It's not clear to me that someone could write a function in Kotlin with special scoping semantics around an object without resorting to wrapping one of those functions.


The Kotlin functions are actually quite easy to write, they're all written in standard Kotlin.

also: https://github.com/JetBrains/kotlin/blob/2.3.0/libraries/std...

apply: https://github.com/JetBrains/kotlin/blob/2.3.0/libraries/std...

let: https://github.com/JetBrains/kotlin/blob/2.3.0/libraries/std...

with: https://github.com/JetBrains/kotlin/blob/2.3.0/libraries/std...

run (two overloads): https://github.com/JetBrains/kotlin/blob/2.3.0/libraries/std... and https://github.com/JetBrains/kotlin/blob/2.3.0/libraries/std...

These all heavily rely on Kotlin's ability to write an extension function for any class. When you write `with(x) { something() }` you're extending the type of `x` (be that int, List<String>, or SomeObject) with an anonymous method, and passing that as a second parameter.

Consider the signature here:

    public inline fun <T, R> with(receiver: T, block: T.() -> R): R
The first object is a generic object T, which can be anything. The second is a member function of T that returns R, which again can be just about anything, as long as it operates on T and returns R.

Let does it kind of diferently:

    public inline fun <T, R> T.let(block: (T) -> R): R
This is an extension method that applies to every single class as T isn't restricted, so as long as this function is in scope (it's in the standard library so it will be), every single object will have a let() method. The only parameter, block, is a lambda that takes T and returns R.

So for instance:

   val x = makeFoo()
   with (x) {
      bar = 4
   }
is syntactic sugar for something like:

   fun Foo.anonymous() {
      this.bar = 4
   }

   val x = makeFoo()
   with(x, Foo::anonymous)

You could absolutely write any of these yourself. For instance, consider this quick example I threw together: https://pl.kotl.in/S-pHgvxlX

The type inference is doing a lot of heavy lifting, i.e. taking a lambda and automatically turning it into an anonymous extension function, but it's nothing that you cannot do yourself. In fact, a wide range of libraries write what might look like macros in Kotlin by leveraging this and the fact you can define your own inline operators (i.e. https://pl.kotl.in/TZB0zA1Jr).

This isn't possible in many other languages because taking a generic type definition and letting it possibly apply to every single existing type is not exactly popular. Combined with Kotlin's ability to extend nullable types (i.e. this = null) as well makes for a language system that wouldn't work in many other flexible languages.


Fair enough, I retract my previous comment. Unfortunately there seem to a lot of pieces that are unfamiliar here so I'm not really able to understand parts of this but I trust that you understood what I was saying well enough to know that it was wrong.


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

Search: