HNHacker News
TopNewBestAskShowJobs

jaawn

299 karma · joined July 8, 2015

submissionscomments
jaawn··on On Building Coding Confidence
This generally rings true for me, it is almost required for developers to be continuously learning and honing skills as new patterns, technologies, and tools emerge. It is also generally helpful for developers to pursue side projects.

However, I disagree with the author on the specific point of how CS curricula are preparing students for "real life" development. The issue is not necessarily that there are specific tools students aren't being exposed to, it is that they often are not exposed to certain classes of tools at all (such as source control, deployment/build tools, etc...)

There is an excellent post on Coding Horror that covers this: http://blog.codinghorror.com/how-should-we-teach-computer-sc...

jaawn··on Your Startup's Pitch Needs Only These 10 Slides
And here is a link straight to the image (which is the only important content in this case): http://thumbnails-visually.netdna-ssl.com/the-only-10-slides...
jaawn··on Netflix and the Napoleon Dynamite Problem (2008)
FWIW, I thought The Interview was way better than I expected it to be. It is very, very silly, and it does not take itself seriously, but it wasn't particularly predictable either. Maybe you'd be pleasantly surprised?
jaawn··on Netflix and the Napoleon Dynamite Problem (2008)
I agree about your "real hype" statement. There is always the potential for a provider to build business value by nailing recommendation, especially when it comes to lesser known content. Most viewers have heard of big-budget films they plan to watch, or they'll watch any movie with <insert actor>. However, if someone created a system that did this well enough for users to trust it with unknown content, it would go a long way toward meaningful differentiation.

Right now, I don't know of anyone who has limited spare time who would risk trying something unknown just because it shows up in their Netflix recommendations. If Netflix got those right frequently, people would rely on it more and probably enjoy it more. A 10% increase in accuracy has a decent chance to push beyond the invisible "good enough to trust" threshold and create an experience other streaming services just don't have.

jaawn··on What happens when you talk about salaries at Google
If that is the case, is that the fault of hiring and pay transparency, or the justice system?
jaawn··on What happens when you talk about salaries at Google
Even political agendas and sensationalist trials need some leg to stand on to be successful. If you hire honestly and set pay honestly and fairly, with recorded justifications, it is unlikely that your company would suffer any negative repercussions of pay transparency. However, this doesn't mean "absolutely no company anywhere will run into legal trouble due to this"

There are always exceptions, but they are just that: exceptions. The existence of an exception or outlier does not disprove what generally holds true for everyone else.

jaawn··on What happens when you talk about salaries at Google
I think most managers would see that as an unreliable prediction to make, and not very valuable when making hiring decisions. When hiring someone, you are solving an immediate problem, and not often thinking of the future raises the person is going to negotiate or not negotiate.

What you are saying might be true if most hiring was done by CEOs and not department managers.

jaawn··on What happens when you talk about salaries at Google
If a manager and company have any justification for pay differences that are not due to protected classes, then they have nothing to fear. If they do pay people differently because of protected classes, they may run into trouble, but I think that's okay.

If most companies were transparent, employees would be a lot more knowledgeable about what leads to more pay. I think we would see more negotiation and engagement and healthier conversations about money. People would be upset at first, but once we start collectively understanding the legitimate reasons for pay discrepancies, and we eliminate the illegitimate ones, I think most people would be happier.

jaawn··on What happens when you talk about salaries at Google
It is unfortunate that a large amount of the discussion is being distracted by the stringing-together-tweets thing. Yes, it was lame to do that, but isn't it more worthwhile to talk about the content?

I think most of us probably work at a company that discourages salary transparency (most people do in general). I think we could have a more valuable discussion about how our experiences compare/contrast to the content of the tweets, and save the "omg a bunch of tweets are not an article!" comments for when someone writes a blog post about that and shares it on HN.

jaawn··on What happens when you talk about salaries at Google
This is a good point, especially regarding what would happen at a company immediately after going from opaque to transparent on salaries.

However, the resolution is pretty simple. Employees can either accept the justification given by management or not. If they are disgruntled about it, they can try their luck at a different employer, or use the information to learn how they can get a raise. This last point is one of the benefits for employees—they learn what would get them more money at their current employer.

Example: person 1 makes 15% more than person 2, and now both are aware of it. Person 2 is upset and talks to their manager. They find out the reason is because person 1 has additional education/certification and a couple years more experience. Now person 2 knows they can pursue the extra education/certification and use it as leverage to get a raise, when prior to the transparency they would have had no idea and possibly gone awhile longer making less money.

jaawn··on What happens when you talk about salaries at Google
Even if this is true, this doesn't magically make it not a gender issue. What if women are generally given less leverage by default in negotiations? What if implicit gender biases have a chilling effect on women's expectations when they go to negotiate? What if women are discouraged from negotiating at all?

I think, given what I've seen so far, women are given less leverage to start with, they are subject to the chilling effects of gender biases, and they are discouraged from negotiating more often than not.

Sure, a woman can overcome these obstacles, but she shouldn't have these extra obstacles in the first place. The "pay gap" is almost certainly not due to managers thinking "oo I'll pay her less because she's a woman," but it is still indicative of some (more complex) gender inequality.

jaawn··on What happens when you talk about salaries at Google
Another factor to consider is that, at huge companies, not all management has a unified vision. It is entirely likely that the article source's manager and the next manager above him/her disliked the spreadsheet while the "official HR position" on the matter was given at some kind of large meeting.

I work at an enterprise with ~5,000 employees, and attitudes toward topics like transparency vary wildly, even in cases where there is an official company stance. This is because it is common to give managers a lot of freedom to manage their departments without interference. So, for example, our company has a pretty good work-from-home policy, but your manager is completely allowed to ban it in your department if he or she feels like it.

Basically, it is possible that both sources are mostly accurate, and they represent the perspectives from different parts/levels of the company at Google.

jaawn··on Online Cheating Site AshleyMadison Hacked
As I've been trying to explain, the issue is with the secrecy and broken promise/contract because it puts one person's interests ahead of the other. If you disagree with that kind of relationship, that is fine...don't agree to enter into one. If you are in one and you find it is no longer what you want, that is fine too...tell your partner and proceed how you wish.

I am not applying any overly austere morals here. I think you would be hard-pressed to successfully argue that an affair in the traditional sense is not an immoral act. If you promise to be "faithful" to someone, and you break that promise and try to hide it, it is immoral based on most people's morals and understanding.

Sure, you might disagree with popular morals, that's fine. However, a relationship involves two people, and both should be valued equally. If one person thinks it is fine to break their promise and cheat in secret, so they do it despite knowing how the other person feels...they are putting themselves first. They are not treating both they and their partner as equals. That is the issue. It has nothing to do with some sort of ideological anti-affair "beliefs." It is simple respect.

I guess it is even technically "fine" to think you deserve more liberty than others, or that you think others' feelings don't matter as much as your desires (I'm not saying you do, I'm speaking generally). If that is the case, just own up to it and people can choose how to react accordingly. If you find partners that align with your views, great, everyone is on the same page, but if not, people deserve the truth. Everything else is up in the air, but they deserve to know. Keeping it from them is like robbing them of the choice to deal with it or leave.

jaawn··on Online Cheating Site AshleyMadison Hacked
It is, quite simply, that they feel intense negative emotions and betrayal. It does not really need any more explanation than that. You can tell a distraught "victim" of cheating that they weren't technically harmed, but I don't think that would make many of them feel better.

Basically, it is irrelevant if they "should" or "shouldn't" be harmed, most of them will feel harm once the affair inevitably comes to light. I don't really agree with it, but even if it is irrational to feel harmed over an affair, and even if it is based on self-referential beliefs, people still feel the feelings, and those feelings hurt.

If the cheater knew those feelings would probably happen, and they already promised they would not engage in the behavior, and then they do it anyway...in secret...that is obviously wrong by most people's standards. There are a lot of important "if"s in there. Notice that I did not say that having multiple partners is harmful, or that leaving a partner is wrong, or that it is "always wrong" for someone in a relationship to go off with someone else for awhile. I did not say any of that.

However, when the relationship is a committed relationship, in the most common, Western, traditional sense, it is wrong to have an affair, especially a secret one. If you disagree with that kind of relationship and commitment, that is totally fine, but don't promise that to someone, and if you change your mind be up front about it.

jaawn··on Online Cheating Site AshleyMadison Hacked
Its intent is to do something which harms. I don't think the infinitesimal collection of people who want their partners to "cheat" on them justify the flexibility you're implying. Basically, what you are saying, is that some people are not harmed by being cheated on, and therefore it isn't fair for us to judge the actions of the sites users, because maybe all or most of them are in a situation where there is no harm.

I think the simpler explanation (and likely more accurate one) is that in most cases, each AM user has at least one partner which is being harmed by the user's actions and use of the site.

Being accepting and tolerant of different types of relationships and desires is a separate issue. The site was created for, and is marketed towards, people who want to cheat (in the traditional, harmful sense) on their current partners.

jaawn··on Online Cheating Site AshleyMadison Hacked
I think we've learned over the years that perfection is an unrealistic goal when it comes to data security. We should still strive for better and better methods of securing data, but I think we should also try to change our expectations. When putting any information on the internet, it should be assumed that there is a decent risk of that information being discovered (regardless of security measures involved). We need to plan accordingly.

In this case, if discovery and release of the data would be something you don't think you could recover from, I think that is a good indication that maybe the data is associated with something that isn't worth doing.

jaawn··on Online Cheating Site AshleyMadison Hacked
I would completely agree if the site were geared toward open relationships, but it is built on assisting people harm their partners in secrecy. It has nothing to do with the monogamy issue.

Basically, there are a few truths we know about users of the site: 1. They are in a committed relationship (or seeking someone who is) 2. They are unfulfilled. 3. Those in a committed relationship do not want their partner to know about their activities (because it would hurt them)

It is the 3rd item that changes things a bit with this specific site. The unaware partners should be valued as much as the users of the site, but the site enables its users to put themselves above their partners in a way.

It is perfectly valid to criticize monogamy or to support equal treatment for people in different types of relationships, but Ashley Madison is built to help people indulge at the expense of another "innocent" person, and I think that makes it not okay. I don't necessarily think the hackers are "justified," but I do think it is understandable to feel less sympathy for the victims in this case.

jaawn··on Online Cheating Site AshleyMadison Hacked
I don't think this argument really applies. It would be one thing if the site was devoted to assisting "open relationships," but it isn't. It is specifically a service to assist people in "cheating" on their partners (with the assumption being that the partners don't know and wouldn't approve). So, because of this specific detail, I don't think the "people not like me should be treated equally!" argument applies. The betrayal is intrinsic, not a matter of opinion.
jaawn··on Banner “Fraud” Doesn’t Matter
I hadn't considered this article's perspective before, but I think it is very compelling. A lot of commenters (and likely readers) are probably focusing heavily on the perceived impact of the "fraud" of reporting X amount of impressions and/or clicks, when only Y amount of them were "real." They feel like they are paying for X but only getting Y. I think the simple point this article effectively made is that ad companies have continuously reduced prices so that their clients are actually only paying for Y, or at least they are benefiting from a discount which observes the uncertainty.

I think the basic assumption has been that, even though we know the total number of "impressions" is exaggerated, the number is correlated with the "real" number. So long as that assumption is usually true, this is no more a case of fraud than Airlines' reward "miles".

To be fair though, larger clients who blanket the web with ads for a campaign have the advantage of spreading the risk over a large number of websites and times. The people most impacted by impression-based ad runs are those who can only afford the smallest campaigns.

jaawn··on Banner “Fraud” Doesn’t Matter
...and you also don't get thousands/millions of billboards put up for $500. This part of the comparison should probably be ignored as it is more to do with the intrinsic differences between the physical world and the digital "world" than it is with banner ads vs. billboards.
jaawn··on Banner “Fraud” Doesn’t Matter
I don't think this is necessarily true. Attractive, non-animated banner ads are my "favorite" type of online advertising to encounter. Standard AdSense text ads are ugly and add so much clutter to the page because of the added text.

If ads were usually like this, instead of resource-heavy Flash ads or ugly AdSense ads, I probably wouldn't use any ad blocking software. Static image banner ads are probably the only online advertising I have ever clicked or taken notice of.

jaawn··on Things to Know When Making a Web Application in 2015
Most (all?) encryption functions are also hash functions, they're just special hash functions with the extra property of making it extremely difficult to discover the source. (edit: I realized after posting this, that this item is incorrect in regards to the cipher text, which obviously changes in length in relation to the length of the source, unlike the output of a hash function which is a fixed length)

If OAuth is not for authentication, someone better tell Google: "Google APIs use the OAuth 2.0 protocol for authentication and authorization." [1]

TLS is basically just the newest version of SSL. The name was changed for legal reasons. So it is an understandable oversight [2]

The others aren't security related, so I didn't address them.

[1] https://developers.google.com/identity/protocols/OAuth2

[2] http://security.stackexchange.com/questions/5126/whats-the-d...

jaawn··on Java 7 changed the structure of String
Because, most of the time, performance doesn't matter enough to justify it. Custom solutions are only necessary if you know performance is critical to your application's purpose, and that you need to squeeze as much out as possible. If that isn't the case, then you don't need to worry about the implementation details, because, in general, any performance changes won't matter.
jaawn··on Things to Know When Making a Web Application in 2015
https://news.ycombinator.com/item?id=5072224

(edit: this is an explanation of what "middle-brow dismissal" is)

jaawn··on Things to Know When Making a Web Application in 2015
In general, you may be right, but the security suggestions in this particular post are the same I hear from people "who have experience in security." Also, they often encourage readers to basically go out and find the thing everyone says is the best thing (i.e. "When storing passwords, salt and hash them first, using an existing, widely used crypto library.")

I challenge you to point out specific suggestions in this article which are wrong or misleading, or to point out glaring omissions.

jaawn··on Java 7 changed the structure of String
or 3 - stop trusting the internal String implementation to be as efficient as possible, write a wrapper you can update with the best method for the current version, never look back :-)
jaawn··on Java 7 changed the structure of String
I think you're alluding to a generic, implicit promise of reasonable performance. I definitely think this is a valid assumption to make, so you are right to point it out. Any API function needs to have reasonable performance, or else there is no point in using it and it is not serving its purpose. It is very true that people write APIs to be used, and if their performance is unreasonably slow, they won't be used. This makes complete sense.

If your argument is that the String implementation change constitutes "unreasonably poor performance," as in...for most normal use cases, then that makes sense. I disagree with it, but it makes sense to argue that if you think that is what's happening. That goes beyond the implementation vs. contract discussion, and maybe that is the real issue many people have. Maybe some feel like the performance hit will affect so many use cases that are common for String, that it is an unreasonable performance change.

jaawn··on Java 7 changed the structure of String
I would usually choose option 2 or 3, but that is because usually small performance discrepancies are unimportant. If performance is paramount at the point in the code where the library is used, I would opt for (1) or a fourth option you omitted: find a library which has already implemented a performance-driven solution.

It is similar to sorting implementations. If you have a small list of items in a collection, you might not care about how fast they can be sorted as long as it is "reasonably fast," so you can just use a built-in sort() function. If you know your collection will likely be larger than most, or you need them sorted as fast as possible, you might choose to implement your own sorting function, or use a different library which specifies a given performance level.

You could just use this hypothetical, built-in sort() for now, and deal with it later if any issues arise, or you could plan ahead if it is important and future proof the code now. The former would be "proceeding with caution" while the latter would be the more maintainable, "best practices" approach when you know performance is higher priority than normal.

If you "proceed with caution" you might run into a situation where the maintainers switch from insertion sort to heap sort, because in many (most?) use cases, heap sort is faster. However, your collection is often already sorted or mostly sorted, which is a case where heap sort performs much worse than insertion sort. Now your specific application has worse performance, but other applications have improved performance. If your collection needs to be sorted at a specific performance level, it is better (but not required) for you to implement a custom sort function, or use a library that is designed for your use case. This way you can have appropriate control over the performance.

jaawn··on Java 7 changed the structure of String
One method would be to have an informal heuristic you use when you're about to call a library: are the performance characteristics I need guaranteed by this library? If yes: proceed, if no: use a different solution or proceed with caution.

So, if you are implementing something that deals with a large input string, and creates a large number of substrings, you know there could potentially be a performance impact depending on the way the implementation works with substrings. The API makes no performance or memory guarantees about substrings. If your application has strict performance requirements, you know you either need to find another solution, or "proceed with caution."

jaawn··on Java 7 changed the structure of String
I would say: definitely yes. I definitely think it is more common for a programmer to expect that if they make a substring, and never reference the original string again, only the substring would remain in memory after GC. It is more intuitive. Without prior knowledge of the implementation, why would you expect a reference to a substring to hold the entire original string in memory? I don't think it is necessarily sloppy code to interpret the method this way when you do not know the underlying implementation.

The description in the Java 7 API for substring is "Returns a new string that is a substring of this string." That does not suggest any sharing with the parent string; it says "new string".

← PreviousPage 4 of 5Next →