HNHacker News
TopNewBestAskShowJobs

docker_up

3,237 karma · joined May 3, 2018

submissionscomments
docker_up··on Firefox zero-day was used in attack against Coinbase employees, not its users
You can strip the links and replace them with a man-in-the-middle link so that you couldn't just directly click on the link.
docker_up··on Ask HN: Stuck with an unpronounceable product name
Change the name. Any other solution is foolish and short-sighted.

A terrible name is something that is haunt you for the rest of your time at the company. Just have the page links properly managed so that they mention the new name and the old name. In 6 months, no one will care or remember the old name.

Internally, you can refer to it as the old name, and you can keep the filenames as is. It's a pain but that probably isn't worth the effort to migrate.

docker_up··on Firefox zero-day was used in attack against Coinbase employees, not its users
A good example of why HTML emails need to be downgraded to plain text in financial companies, and links stripped and checked before it's shown.
docker_up··on Why Google+ Failed
The reason why I never used it is because it tied my gmail address to the Google+ account, and it forced a Real Name policy. I didn't like how dictatorial it was, and with Facebook around, there was no need to have to bow to Google and follow those rules. So I refused to sign up.

There was zero sense of privacy and they tried to shove that down my throat, and I vomited it out of my system.

docker_up··on Beijing's US Treasury holdings dip
There's a common belief among conspiracists/Zerohedge believers that the amount of physical gold is basically fraudulent, and that the gold that is being traded doesn't exist. So when the coming financial crisis happens and gold becomes the currency of trade, when people actually open up their coffers, they'll see that it either doesn't exist or it's gold bars filled with tungsten.
docker_up··on Malaysia Airlines Flight MH370: Where Is It?
Maybe he was hoping to get intercepted, not be completely ignored. That would make his last flight even more epic.
docker_up··on I got asked LeetCode questions for a dev-ops systems engineering job today
I am preparing myself for a week of onsite interviews as we speak.

Of course I hate them, but what other choice do I have?

The biggest problem is that the questions are so random and span almost anything.

Will I get asked:

a pthread question?

implement mergesort or quicksort?

implement a Read/Write lock?

implement a smart pointer?

a bit manipulation question?

topological search?

dynamic programming?

graph question?

backtracking question?

What the default timeout for TCP/IP is?

a Java internals question?

best practices about Cassandra?

N-ary tree search?

linked list?

b-tree?

Paxos vs Raft?

What is the access time for an SSD vs spinning disk?

How does Hadoop work?

Design Netflix

various random programming questions, as evidenced by Leetcode's 1000+ questions

It's impossible to know everything and yet this what people expect and ask. I've been asked those questions above over the last 6 years. It's utterly insane the expectations that interviewers have.

I personally also interview candidates, I've done hundreds of interviews throughout my career. These days, I do about one interview a week, and often 2.

My coding question is a simple recursion question, with a for loop and some basic knowledge of data structures. It's not hard, but I look for perfect code. If you can't code a bug-free 15 line function in 45 mins, that's my red flag. I don't think that's unreasonable. As long as the person asks good questions, we work together well, and they can code in a sane way, to me that's a pass. Interestingly, 70% of the people fail the interview because they can't code properly, even after the phone screen. I think because people are expecting a hard leetcode algorithm question, they can't think properly when someone asks them a simple question.

docker_up··on Lego Struggles to Find a Plant-Based Plastic That Clicks
Lego has more value than you think. You can at least sell it by the pound for pretty good price.

https://www.vocativ.com/underworld/crime/lego-heists/index.h...

docker_up··on How to parent more predictably (2018)
There is a funny Simpsons scene where Marge and Homer don't fight in front of Lisa and Bart. Instead they go into the car and argue/fight, because they thought that fighting in front of the kids would be bad.

Instead of protecting them from it, the kids started to freak out whenever the parents went to the car.

The moral is: you can't protect your kids from anything, and overthinking it rarely works. There is no such thing as perfect parenting where you protect your kid from all problems. Just do your best and things will work out.

docker_up··on Hacking My Mother’s Phone to Save Her Memories
After going through my dad's computer while trying to fix it for him, I realized that there are a lot of things I really don't want to know about my parents. Everything I know about them is enough. Digging through their texts, their browsing history, their emails, etc is not fair in my opinion, and better left unread.
docker_up··on New Radiotracer Can Identify Nearly 30 Types of Cancer
This type of attitude is typical, where one likes to dismiss new ideas and keep status quo instead of coming up with new ideas or innovations.

The point is that there is an opportunity for the Steve Jobs of health care to come up with a way, a new innovative novel way, for classification of tumors to be improved without needing biopsy. Once we have that, then we can take tests to our heart's content. Right now, the attitude of "we shouldn't have people take tests and detect cancer early because our current method of determining if they are cancerous would make it too hard" isn't acceptable.

docker_up··on New Radiotracer Can Identify Nearly 30 Types of Cancer
Maybe figure out a better way to verify that doesn't require biopsy? Maybe use machine learning in conjunction with better data? I don't know enough but there must be other techniques we could devise that don't require major invasive surgery every single time.

Just sitting on our hands on this information and letting people die is the worst decision. We need to improve our technology to get better results, not throw our hands up in the air and say the problem is too hard.

docker_up··on New Radiotracer Can Identify Nearly 30 Types of Cancer
Why is this not available? It's ridiculous that we can't do this conveniently. All I read about is new tests and detections, etc and they are only available when it's too late. Things like pancreatic cancer and liver cancer are death sentences and on the rise. Why can't we test for this sooner rather than later?
docker_up··on New Evidence of Age Bias in Hiring, and a Push to Fight It
That's a term used on Reddit /r/cscareerquestions, it's basically FAANG
docker_up··on New Evidence of Age Bias in Hiring, and a Push to Fight It
I'm almost 50 myself. I've been coding for 25+ years, and am looking for a new job myself. I have one at a well-known company but I want to make more hay while the sun shines. I currently have a week of onsites booked with the Big N, and I'm in study mode. Because I'm still technical and hands-on and never became a manager, I haven't had any trouble getting contacted constantly for new jobs.
docker_up··on Absolute truths I unlearned as junior developer
We aren't in disagreement, and I don't take your comment as a challenge, it was exactly something we went through with this feature. The point is, who gets to decide what "good enough" is? The difference between my "good enough" is a lot different than my coworker's "good enough", and I think that's what separates levels of maturity as a developer.

In fact Cassandra wasn't my first choice, but a strongly consistent database wasn't available to us. As I mentioned in another comment, making the very best decision you can given the constraints of your system is what one should strive for. Not stopping at "good enough" because of (poor) intuition that error conditions "probably won't happen".

We decided to go with LWT and eat the latency costs as a trade off to "stronger" consistency, realizing that Cassandra doesn't offer the same strong consistency as an ACID database. Not perfect, but it fit within our SLA, decreased the probability of encountering duplicate values, and if there was an error, it was easier to detect and the user could be directed to try again, vs having a completely silent error condition that would cause a small percentage of our users tremendous amounts of trouble.

docker_up··on SoftBank could bring down the house?
Softbank is essentially a PE fund now. Their numbers don't represent the same things that they do for a regular company.

https://techcrunch.com/2018/11/06/softbanks-debt-obsession/

docker_up··on Absolute truths I unlearned as junior developer
Right, but who decides what "good enough" is? If I weren't code reviewing, then it would have passed as "good enough". And that's the point of why just saying good enough isn't good enough. There should be a threshold that no one fights over.
docker_up··on Absolute truths I unlearned as junior developer
When I code review, I differentiate between "code quality" and "opinion". First off, there needs to be a coding standard guideline so that 80% of all issues of "opinion" vs "coding standard" are well defined. This is one of the reasons why I like go, because things like go fmt are the great equalizer.

I probably won't like the variable names people chose but I won't comment on that because that's "my opinion". I will comment on even the smallest bug I see, because that's what we're paid to do. So line by line "perfection" is what I believe we need to strive for in terms of code quality. Maybe not so much "perfection" but "best practices" might be a better way of stating it. We always need to strive for best practices so that our code is predictably easy to maintain, read, etc.

docker_up··on Absolute truths I unlearned as junior developer
> Understood as senior: Legacy code that I wrote myself is hard to read.

For me, any code that I wrote more than 3 weeks, I forgot. That's why I comment the hell out of my code. The younger programmers have routinely told me "commented code means the code isn't very good." I chuckle and ignore them and wait for them to hit their mid-30s and older.

docker_up··on Absolute truths I unlearned as junior developer
Overall a good article, but I completely disagree with the notion that "good enough is good enough".

I've been in a lot of code reviews where developers push back because it's "good enough". You need to maintain a defined level of quality otherwise codebases go to shit very, very fast.

I was recently told in a code review that a Cassandra read before a write (to ensure there were no duplicates) was "good enough" because a duplicate "probably wouldn't happen very often". Meanwhile, the consequences of a dupe would lead to a pretty bad customer experience.

I pushed back hard and forced the developer to rewrite his entire code. Would "good enough" be okay in this situation? My bar is much higher than this developer and I stand by my decision. We have the luxury of being tasked with solving customer problems and if we only strive for "good enough" every time instead of "the best I can do within the constraints I'm given", then in my opinion your career won't be very successful. We always have to make the best tradeoffs when it comes to time and expense, but the best developers are the ones that come up with the best solution and the best code that fits in a particular constraint.

docker_up··on Why the “Digital Ocean killed my company” incident scares the hell out of me
The one thing that the author forgot or didn't realize to mention is:

Test moving your environment between service providers in production.

You should be able to failover from one provider to another, in a predictable way. You should actually do so every few months so that you're well versed in what needs to happen. If you practice this, you will be prepared in case the absolute worst happens.

docker_up··on Dad, Are We Rich?
This answer is nonsensical. Yes there are vast swaths of people who are living in areas that are much poorer than the US. But that doesn't mean we need to measure ourselves based on the poorest of the world.

Does that mean that we should ignore the demands of workers who want a liveable wage of $15/hr in the US? Should we tell them "you're rich compared to most of the people in the world"?

The fact is that we measure "richness" by our immediate surroundings. If we have $50k in savings and we could move to Madagascar and live like a king doesn't mean we're rich, not even in the slightest sense.

docker_up··on Dad, Are We Rich?
My kids asked me this and I said we are "comfortable". We are easily 1%-ers in terms of income level but we don't consider ourselves rich.

I consider someone rich who has the luxury of not working and still maintaining a very good lifestyle. In Silicon Valley you can't do that without substantial net worth.

The reason why we don't consider ourselves rich is because both my wife and I have to work very hard. We love our jobs and don't mind working hard, but we do have to work very hard. My work-life-balance is better than my wife's so I do more of the child-rearing, but I still jump online to finish some work after the kids are asleep.

docker_up··on Stripe Chargeback Protection
0.4% seems high when a sustained rate of 1% will get you kicked off VISA and Mastercard anyway.
docker_up··on Eating Jell-O with Chopsticks
It already exists, called Cloud Kitchens. There are a lot of take out restaurants that really don't need a storefront, so why not consolidsate their operations in a few locations around the city and deliver quickly instead?
docker_up··on "DigitalOcean Killed Our Company"
I thought Fortune 500 companies (at least the enterprise companies I dealt with) that had checklists for their SAAS vendors that had to check off things like Disaster Recovery Readiness, etc.

At the very least this company learned a hard lesson about Disaster Recovery best practices. Hopefully all the up and coming companies reading this story learns as well. Also please remember that a backup that isn't tested IS NOT A BACKUP! I've been in so many situations where backups were corrupted, so part of the disaster recovery is to test the backups and make sure you can really recover.

There are a million different scenarios where their data could be lost and it not be Digital Ocean's fault. It's the company's responsibility to have protected their customers from this.

I worked at a company with no real Disaster Recovery plan. I was told that "we can get the servers up and running within 18 hrs if we had an outage", which not only was absurdly slow but probably an underestimate. Only by the grace of God did we not suffer a real outage but if we did, it was totally the VP's fault for not addressing my concerns.

docker_up··on Is High Quality Software Worth the Cost?
It depends on what your definition of "successful" is. I meant in the monetary term. Sure, there are old Unix utilities that haven't changed much but they haven't made a lot of money. Those with paying customers generally require a lot of changes to make their customers happy.
docker_up··on Google – My Activity
You can't escape Google. I think there's been several articles talking about how deeply embedded they are.
docker_up··on Google – My Activity
The only real solution is to fill your history and your Gmail purchases with fake emails and fake clicks and fake purchases. If you add so much random data then there's no way Google can pick up anything useful.

I think the other tactic to defeat Google is to click on EVERY SINGLE AD you see. It will destroy their ad tracking capabilities and it will also destroy their business since they won't be able to tell what is a good click and what isn't. I've started doing this and I don't think there's anything else that can get them to stop actively violating our privacy.

Let me pay for my Gmail account. Let me pay for good support instead of automated decisions and getting kicked off the platform with no recourse. Otherwise I will render myself useless to your algorithms by changing my behavior so that algorithms won't be able to make sense of it.

← PreviousPage 4 of 15Next →