HNHacker News
TopNewBestAskShowJobs

nemild

2,399 karma · joined August 28, 2009

Software engineer, product manager

email nemild -at/ google's free email service

[ my public key: https://keybase.io/nemild; my proof: https://keybase.io/nemild/sigs/W_3J30fsF4A6KQ4xOmDsCG3n7DHUtMGajWQKOI0wCeE ]

submissionscomments
nemild··on Facebook Security Chief Said to Leave After Clashes Over Disinformation
Thanks for sharing! I empathize with a lot of what you said. I wrote about my own challenges with ethics in software (and added your comment as a citation): https://www.nemil.com/musings/software-engineers-and-ethics....

While it may not affect current employees, I do think vivid stories like this make the allure of joining Facebook less compelling for the next generation of programmers. It also may influence just a few people in hot fields who have many opportunities to choose from (such as the top researchers in AI).

nemild··on Bus Lane Blocked, He Trained His Computer to Catch Scofflaws
From Abraham Lincoln in 1842, speaking about his preferred approach:

It is an old and a true maxim, that a "drop of honey catches more flies than a gallon of gall." So with men. If you would win a man to your cause, first convince him that you are his sincere friend. Therein is a drop of honey that catches his heart, which, say what he will, is the great highroad to his reason, and which, when once gained, you will find but little trouble in convincing his judgment of the justice of your cause, if indeed that cause really be a just one. On the contrary, assume to dictate to his judgment, or to command his action, or to mark him as one to be shunned and despised, and he will retreat within himself, close all the avenues to his head and his heart; and though your cause be naked truth itself, transformed to the heaviest lance, harder than steel, and sharper than steel can be made, and though you throw it with more than Herculean force and precision, you shall be no more be able to pierce him, than to penetrate the hard shell of a tortoise with a rye straw.

http://www.abrahamlincolnonline.org/lincoln/speeches/tempera...

nemild··on Ask HN: Benefits of front-end JavaScript frameworks?
Ha ha, I think we shared the same journey — and realizations.

I wrote some reflections during my last experience:

Chasing the Shiny and New https://www.nemil.com/musings/shinyandnew.html

nemild··on Ask HN: Benefits of front-end JavaScript frameworks?
But just to be clear, it's really a function of what you're building. The answer isn't simply Angular/React good, jQuery bad. (And I'm sorry if I'm being too reductionist)

For example, I'm shocked how many simple static sites are built with React. It makes sense for complex sites, especially with realtime, but it also adds complexity and maintenance issues. Like all engineering decisions, you have to be thoughtful about the tradeoffs.

nemild··on The spread of true and false news online
Absolutely, I know several journalists who think about how to pitch the "health food" of boring, but important articles with clickbait titles.

Another question to ask: In old print media, is it ok to have crazily sensationalistic headlines on the front page, with the hope that it gets people read the thoughtful journalism underneath?

Just to give you a sense, I took 1.5 years of death coverage in the NY Times and compared to actual deaths. My gut is that the reason for the coverage gap is primarily a function of reader interest, which presumably gets people to read more:

https://www.nemil.com/s/part3-horror-films.html

As the old aphorism goes, "if it bleed, it leads"

nemild··on MongoDB gets support for multi-document ACID transactions
I also quoted Rethink's post in "The Marketing Behind MongoDB" in part 3 of my series on MongoDB:

> I sympathize with RethinkDB's team — they did what thoughtful engineers are trained to do. Engineering purity and humility is a tiny part of building a sustainable, venture-backed company.

https://www.nemil.com/mongo/

nemild··on New ethics courses in computer science
I'm happy to discuss with you offline (see my profile). The point I'm trying to make is that increasing the ability for greater enforcement mechanisms, should — on average — reduce the cost of loans. As I point out, there are real debates about where to draw the line about what is appropriate lender enforcement that I've personally struggled with.

I apologize that my example isn't perfect, and you're absolutely right, there is selection bias, unless there is little recourse for other products.

nemild··on New ethics courses in computer science
But loans for these activities (such as a loanshark) have their own set of risks that have to be factored in and affect the interest rate:

- You may have no legal recourse and no collateral to seize

- The loan may be funding risky or illegal activity with a high likelihood of failure, which demands a higher interest rate

- There may be no competition that drives the price down

Ceteris paribus, increasing the cost of non-payment should reduce interest rates. If you relax the "ceteris paribus", then all bets are off.

Another way to see this is this question: if the lender had to forsake the threat of violence, would the loan price go up or down?

nemild··on New ethics courses in computer science
Absolutely, and I say that having worked in microfinance before receiving this request.

But to me, that doesn't mean we engineers can't still draw a line somewhere, especially if we are called on to participate. Just because peer pressure works in some context, it doesn't mean that it is always the right choice, and we need to debate the tradeoffs in different contexts (much like engineers debate tradeoffs in any technical decision).

For example, the easiest way to cut the price of loans down would be to kill anyone if they didn't pay; defaults — and loan costs — would fall dramatically. This would immediately provide loans to many people who are priced out. While that may be useful in some scenarios, it's not a system I personally believe in.

nemild··on New ethics courses in computer science
If useful, I wrote my own thoughts on ethics in software, after reflecting on certain experiences over the years:

> A serial tech entrepreneur in Silicon Valley once asked me to design a “social stockade” for his financial services customers. It would lock people out of their social media accounts and tweet out/FB share to their friends when they hadn’t paid a loan. He pitched it to prospective employees as meaningful work that would reduce the cost of loans for the needy.

> I was horrified that his product was being built and that many others would likely take the role I was turning down. And he was hardly the first to pitch his “innovation” as providing only good.

https://www.nemil.com/musings/software-engineers-and-ethics....

If anyone ever wants to discuss something, feel free to reach out (see HN profile).

nemild··on Uber Bike – A New Way to Commute or Explore
Isn't it a bit weird to have the waitlist form for such a large company be hosted by a third-party (Typeform)?
nemild··on Advice for Aspiring Writers
Other great writing books:

- Writing Down the Bones

- Bird by Bird

- On Writing Well (nonfiction writing only)

- The War of Art

I generally have tried to follow the feedback of writing consistently, even if you don't feel like it. Stephen King mentions how he would allow him to just sit at his desk without writing if he wanted, but that he always would set aside the time and not do anything else.

nemild··on Turning Down a Blockchain Job Offer
The danger in a space like this is throwing the baby out with the bath water.

- Yes, there are an insane amount of scams, and lots of dumb money flowing in

- Yes, many use cases of blockchains should really be databases

- Yes, many blockchain job posts are just PR initiatives for companies who want to differentiate themselves

That said, it's an early time to have a tremendous amount of impact.

Don't like "proof of work"? Go hack on various other implementations. Get angry at banks? Go figure out ways to remove custodial risk, so that we may not need as onerous financial regulations that stifle innovation. Angry about security in this space? Go find security holes and disclose them.

Even for fun side hacks, there's a huge app layer that could be built on your smart contract blockchain of choice.

I say this having worked at the World Bank, Gates Foundation, and a mobile payments startup in India: financial services could truly use innovation, and providing safe, secure, broad access can have huge impact, especially in countries with weak legal systems. Blockchains are a "shot on goal" of trying this, though they may also never live up to the hype.

I'm all for calling bullshit on hyped trends ( https://www.nemil.com/musings/shinyandnew.html ), but just because a space attracts snake oil salesmen, "get rich quick" schemers, and cargo culting programmers doesn't mean that there might not still be great opportunities to do good engineering and have huge impact.

nemild··on Ask HN: What benefits does the blockchain provide?
A more simple example is a crypto contract.

Imagine a bank on Ethereum that accepts deposits and allows withdrawals (first example here: https://learnxinyminutes.com/docs/solidity/ )

Anyone can deposit and withdraw, and no central party has the right to control the funds, if the contract is designed that way. As such, there is no custodial risk that the funds are stolen - and perhaps even no need to regulate the bank itself. (obviously, someone can steal if they get your private key, just not through the bank itself)

Lots of other examples. Bitcoin lets us set a credible limit of 21 MM, but in the real world you'd have to trust a central bank's word for the same.

Or the Lightning network allows peer to peer payments through counterparties. But none of these counterparties are able to steal the money midway through. This is akin to having 20 random people help you move a payment across the world, without any of them being able to steal the money.

Finance is full of these examples where we have to trust other parties, and crypto may have a huge impact there. Also, by reducing regulations and capital requirements, may make the space more ripe for startups to attack finance.

nemild··on Productivity in 2017: analyzing 225 million hours of work time
In that vein, you may really like The Power of Full Engagement.
nemild··on Effective Engineer – Notes
Lots of different ways:

- Find a function call you're making in a library and see how it works

- Look through the top python libraries (see https://github.com/vinta/awesome-python ) and pick a few of the simpler ones to flip through

For reading code, some things that can be useful:

- Flip through test suite and get tests running; then break some tests to see what's happening

- Diagram out code on a piece of paper (file structure, data structure, stack trace for a popular call)

- Discuss implementation with friends

- For certain files, it's often valuable to rewrite yourself

nemild··on My Internet Mea Culpa
While this is a start, we need a more rational debate about technological trends and their impact.

We (technologists) all get very excited about the possible future (Internet, Social Media, cryptocurrencies) without being honest with the problems with these new worlds at scale.

The way it works right now:

1. Get angry about state of current world (at different times: IBM, Microsoft, Facebook - or current trends like social media)

2. Evangelize how new trend will make everything better (today, decentralization and cryptocurrencies)

3. Realize that new world has its own set of issues as it grows larger, and external elements co-opt it for their own needs

I wish that we had more thoughtful debates about the tradeoffs, rather than seeing new technologies as a panacea.

Entrepreneurs who help grow new industries need the self awareness to realize the potential problems with the world they help create. As engineers, we're very attuned to potential ways our system can be technically hacked, but for some reason forget to think about the other ways these systems can be "hacked".

For anyone interested, you should read Tim Wu's The Master Switch. It's a unique window into the idealism of past eras (radio vs telephone, telephone vs telegraph) - and often disappointment that the early evangelists eventually feel.

nemild··on Intermediate Vim tips
I wish I could upvote your comment many times. I wish the parent comment pointed out what use case they have for Vim, as this really dictates the "right" approach.

I wrote about this previously in the context of Vim vs Emacs, though it's similar to customized vimrc/plugins vs vanilla vimrc:

"One can reduce part of the [editor] debate down to a single question: how fully featured do you want your text editor out of the box? If you’re a DevOps engineer who spins up new environments constantly you’ll have different ideas about the best choice compared to a full stack engineer working in a single development environment that can be painstakingly setup. For the DevOps engineer, a light text editor that is installed by default is likely ideal, while for a developer with a single computer, a full-featured IDE (auto-completion, plug-ins, custom keys) is worth the high setup cost."

https://www.nemil.com/musings/betterdebates.html

nemild··on Tax-Free Bitcoin-To-Ether Trading in US to End Under GOP Plan
There's lot here, but I'll make it short:

- The fed does not exercise control over Bitcoin directly, so Bitcoin is still fundamentally different than fiat currencies

- All fiat onramps into crypto are controlled by governments, which is one way to regulate it (KYC, AML)

- You still have to follow the rules for your country, and if the government finds out you haven't, it can censure you; with crypto, it can be harder to see if someone followed the rules, but it's not impossible with the pseudonymous approaches used by most cryptocurrencies today

nemild··on Funding Yourself as a Free Software Developer
Nadia Eghbal from Github also has a great guide:

Lemonade Stand: A handy guide to financial support for open source https://github.com/nayafia/lemonade-stand

nemild··on Abandoned rape kits identify over 800 serial rapists in one Michigan county
I agree that this is a worthy area of inquiry. If you're interested in data, I highly encourage this type of research - and the data is probably out there to do this.

I do data analysis on news coverage, and there's data to show that we have a predilection to hear about the West (even compared to other geographically close regions):

https://www.nemil.com/s/part2-terrorism.html

As you point out, hard to determine how much of this predilection is due to economic similarity or geography versus cultural/racial/religious.

Beyond that, my gut is that we can actually derive empathy scores across countries or races based on data like this.

nemild··on Using Cryptocurrency Smart Contracts to Sell Shares of My House
See: https://www.ethereum.org/token

Look up ERC 20 - it's the standard token contract spec. Should be easy to understand if you program other languages.

Also, I wrote a Solidity tutorial (pull requests welcome as the language has changed a bit since I wrote it):

https://learnxinyminutes.com/docs/solidity/

nemild··on A “Silicon Valley” actor is terrified by what’s happening in Silicon Valley
It felt like a modern day scarlet letter, instead of a innovative new way to deliver cheaper loans. There are other techniques to deliver cheaper loans, which don't lead to social ostracism (and which don't violate any social network terms of services).
nemild··on A “Silicon Valley” actor is terrified by what’s happening in Silicon Valley
In the vein of Kumail's critique, if it's useful to anyone, I wrote some thoughts about software engineering and ethics from my own experiences:

A serial tech entrepreneur in Silicon Valley once asked me to design a “social stockade” for his financial services customers. It would lock people out of their social media accounts and tweet out/FB share to their friends when they hadn’t paid a loan. He pitched it to prospective employees as meaningful work that would reduce the cost of loans for the needy.

I was horrified that his product was being built and that many others would likely take the role I was turning down. And he was hardly the first to pitch his “innovation” as providing only good.

Every software engineer I’ve worked with has had a strong sense of personal values and ethics, but the organizations we work for can take actions that are at odds with these. I’d like to highlight a few of the key challenges you’ll face and provide feedback for living your personal values. Most importantly, it’s critical that you think about the impact of your work and consciously set your personal values in advance of inevitable future challenges.

(Always available to discuss if valuable to anyone, feel free to email me encrypted messages, see my HN profile)

https://www.nemil.com/musings/software-engineers-and-ethics....

nemild··on Show HN: A simple, fast and user-friendly alternative to find, written in Rust
Your point expresses the classic innovator's dilemma; in this case, impossible to improve usability if you have to maintain existing SLA forever.
nemild··on Show HN: A simple, fast and user-friendly alternative to find, written in Rust
httpie: https://github.com/jakubroztocil/httpie (http client)

jq: https://stedolan.github.io/jq/ (lightweight JSON client)

nemild··on The Marketing Behind MongoDB
I was in the startup world in the early 2010s, and saw MongoDB used in a number of startups (over ~5 years).

These companies included everything from very early stage Y Combinator backed startups to one of the most famous unicorns (tech issues at growing companies are rarely discussed publicly, so I was lucky that my friends were willing to privately share; compare that to successful tech decisions, which are widely discussed and blogged).

In that time, I heard many stories about the issues companies had with it - and angry debates about whether it was the right choice. In the early years, you were ancient if you used something more conventional than Mongo; in later years, you were dumb if you used Mongo in many startups (both views have their issues).

I wanted to understand:

- Why was MongoDB so popular

- What issues did startup engineers have with it

- Given these issues, why was it chosen in the first place

And most importantly, what lessons does this case study have for future dev tool decisions.

nemild··on The Marketing Behind MongoDB
It ended at two, but these were later follow-ups that seemed inspired by the early experience. The first one below especially felt like a coda to the first two:

http://mcfunley.com/why-mongodb-never-worked-out-at-etsy

http://mcfunley.com/choose-boring-technology

nemild··on The Marketing Behind MongoDB
Both the stickers and three-part series were conscious choices.

Etsy did a three-part series on the benefits of MongoDB in the early 2010s.

MongoDB was also well known for its stickers, and their marketing team wrote online about how these stickers helped solicit emails:

"Give away swag: This is a low cost, easy way to build a lead database and get developers to decorate their laptops with your logo!"

nemild··on The Marketing Behind MongoDB
It took a little while (say 1.5ish year from when they realized it was causing issues). According to MongoDB's CTO, this was because they couldn't quickly move their early users from the behavior they were used to.
← PreviousPage 6 of 11Next →