HNHacker News
TopNewBestAskShowJobs

monkeyfacebag

1,068 karma · joined January 6, 2012

submissionscomments
monkeyfacebag··on Citing revenue declines, Airbnb cuts 25% of workforce
14 weeks of pay + 1 week / year seems like a silver lining in an otherwise bad circumstance.
monkeyfacebag··on Deepfake version of Travis Scott
I'm not clear what you mean. How does auto-tune make it easier for the computer to generate?
monkeyfacebag··on YouTube’s annoying Premium spam
I mean, I get how Youtube works. I understand there is a distinction to be made, if I cared to make it, between Google's ads and creators' ads. My point is that Youtube premium is not ad-free and explaining how Youtube works doesn't refute that point. You may think it's fine that Youtube premium has ads because that's how Youtube works. I respect that. I still watch Youtube all the time myself.
monkeyfacebag··on YouTube’s annoying Premium spam
I doubt there's a definition of "ad" that would be feasible target on a platform like Youtube. A trailer, for example, is an ad for a movie, but I think Youtube would be harmed if all of the upcoming movie trailers were removed.

As a consumer, I find it pretty easy to distinguish between a "wanted" ad and an "annoying" ad, but I don't think there's a way to enforce rules based on user value systems if for no other reason than every user's value system is going to be distinct.

monkeyfacebag··on YouTube’s annoying Premium spam
I don't dispute any of that. I'm saying that, as a YouTube premium subscriber, I'm not clear exactly what I'm paying for. I mean, I guess fewer ads is better than more ads but I think a paid service should be able to provide me with stronger guarantees.
monkeyfacebag··on YouTube’s annoying Premium spam
I pay for YouTube premium but I'm still subjected to ads in the majority of videos I watch: the kind that are embedded by the creator directly in the video, eg, a one minute sponsored by Squarespace segment. I don't know how Google is framing YouTube premium (I get it through my Google play music subscription) but it is most assuredly not an ad-free experience.
monkeyfacebag··on WeWork’s Adam Neumann Steps Down as CEO
Netflix assuredly does not play this game. Their compensation almost 100% cash. It used to be exactly 100%
monkeyfacebag··on Why Generics?
As far as I can tell, the latest proposal draft forbids type parameterized methods. One must admit the type parameter to the receiver or define a type parameterized function. I am making no claims about your broader point, only clarifying that your example is not permitted by the proposal draft. See https://go.googlesource.com/proposal/+/4a54a00950b56dd009648...
monkeyfacebag··on Go Contracts – Draft Design
I think you're correct and I misread that part of the spec. That does seem to be an important limitation.
monkeyfacebag··on Go Contracts – Draft Design
it looks like contracts are composable the same way interfaces are so I don't know how much of a limitation this will be in practice.
monkeyfacebag··on How to pass a programming interview (2016)
These are interesting ideas. It seems like a hurdle would be getting candidates to agree to the conditions. What incentive do I have to pick a company that requires a 3 month probationary period when I can just get very good at dynamic programming and topological sorting and ace a one day interview at another company?

Also, I find that take home projects in particular are biased against people without free time, eg, parents.

monkeyfacebag··on Open Letter to the Airbnb Community About Building a 21st Century Company
> I was thinking about the next ten years of Airbnb when I received a phone call I’ll never forget. A close advisor told me that now was the time to “institutionalize your intentions so that even as you grow, you can minimize what conflicts with your vision.”

"I'll never forget that time my advisor told me to institutionalize my intentions to minimize conflicts," he said, wiping a single tear from his eye.

monkeyfacebag··on Why you might want to choose Ceylon
What's broken about extension methods? I have zero experience Scala and about a week's worth of experience with Kotlin, but so far I'm finding extension methods to be pretty straightforward and useful. What am I missing?
monkeyfacebag··on Netflix Likes React
We did and still do use Ember and Angular for various internal projects. The Netflix UI has never been Ember-based.
monkeyfacebag··on T-Mobile backs Ubuntu smartphone
I have the same plan. Tethering is an additional $15/month, for a total of $45. Still a far cry from $90. I use it in Portland and the service is great. (Total after taxes is $48.50)
monkeyfacebag··on Flat Design and Color Trends
I don't necessarily disagree, but (unfortunately?) there is a well-known result that aesthetics affect perceived usability [1]. Clearly, making your site look better does nothing for the underlying usability, but the perception of usability is arguably just as important. I believe Apple has demonstrated this with each iteration of OS X: aesthetic concerns always seem to trump usability concerns (example include the Dock and the behavior of green window button) but the OS is more popular than ever.

Of course, you're still left with the question of whether choosing a flat design improves or detracts from the aesthetics of site. Here we're venturing into the realm of the subjective, but I'd venture to say that, given the current trends, it hardly seems like the worst thing you could do.

[1] http://www.sigchi.org/chi97/proceedings/paper/nt.htm

monkeyfacebag··on Flat Design and Color Trends
> What we are seeing more of with flat design and color though is the matching of tone and saturation.

As someone with practically no design skills, how would I accomplish this? For example, let's say I had two or three colors in mind or already picked out. What are the steps I could take to line up their tones and saturation? Is there a formula or algorithm that applies?

I realize design skills are developed through practice, but I very often find myself with something I've put together that looks just OK and just sort of aimlessly tinkering around with it until I've inevitably made it look washed out. So obviously my feel isn't working yet--where else can I turn?

monkeyfacebag··on A taste of Rust
The article doesn't specify what exactly, is permitted by an unsafe vs. safe function. The Rust reference indicates the additional operations permitted by unsafe functions are:

    1. Dereferencing a raw pointer.
    2. Casting a raw pointer to a safe pointer type.
    3. Calling an unsafe function.
I was expecting something more along the lines of Safe Haskell (http://www.haskell.org/ghc/docs/7.4.1/html/users_guide/safe-...) which is more about trust than memory safety and, as such, explicitly restricts IO.

This isn't a value judgment. I just find it an interesting distinction.

monkeyfacebag··on Everything you need to understand to start with AngularJS
I don't know if it's possible but, in general, it's not a good idea to mix server-side and client-side templating. The Angular guys discuss this in one of the videos on the Angular channel (I found it for you here: http://www.youtube.com/watch?feature=player_detailpage&v...). The two reasons seem to be first, it's not clean and second, it's easy to introduce security issues.

If I want to have a page that has both server-side templating and client-side templating, I push the ng-app directive down into the DOM and assert that Angular has "ownership" of that portion of the page. I can't remember what Django's templating engine supports, but in Jinja2, you can create a {% raw %} {% endraw %} block that tells Jinja2 not to parse any delimiters in the block (I'm sure Django has something like this, I just can't recall what it is). This makes it pretty easy to separate out Angular's purview from the server's purview even on a single page.

monkeyfacebag··on Everything you need to understand to start with AngularJS
> In those expressions, you have access to Javascript code

Just to clarify, double curly expressions in Angular, {{ }}, are "JS-like", basically a subset of JS + filter syntax. One goal of the expression syntax is to prevent a lot of app logic being stuck into the template itself, so the subset of JS is fairly minimal, but this is by design. This also means that the expressions are not eval()'d. Instead, they are parsed with Angular's $parse service.

See: http://docs.angularjs.org/guide/expression

monkeyfacebag··on PG chooses healthcare non-profit Watsi as his first board seat
Non-profit organizations are still companies. They are required to retain their revenues rather than distribute them as profits. From Wikipedia: "Designation as a nonprofit and an intent to make money are not related in the United States." (http://en.wikipedia.org/wiki/Nonprofit_organization)
monkeyfacebag··on Why Maybe Is Better Than Null
Guava is definitely cool and I recommend it whenever I can. It's worth noting, however, that, as a Java library, it cannot provide the compile-time guarantees mentioned in the post. That is, your Option type could still be null and so you're still forced to perform run-time null checking. If you want the full benefit of Option types on the JVM, you might be better off with Scala.
monkeyfacebag··on Using AngularJS at Localytics
For those commenting on the poor quality of Angular's documentation (a complaint I share), check out John Lindquist's videos at http://egghead.io/ . They're not comprehensive, but John spends a great deal of time explaining the nuances of directives, especially isolate scopes and transclusion and his explanations are clear and intuitive. Prior to finding John's videos, I watched all of the "official" Angular videos which I found more often frustrating than illuminating, but John set me straight. Can't recommend enough.

And if you're struggling to ramp up on Angular, I would recommend sticking it out. The learning curve is steep (or is that gradual?--I never understood this analogy), but once it clicks, your productivity will go through the roof. Angular has redefined what I mean when I say "rapid prototyping."

monkeyfacebag··on Choosing a Programming Language
There is no single best language. Instead, what you get from any sufficiently good programming language is a series of tradeoffs. Haskell, for example, provides the benefits of pure functions (lazy evaluation, composable memory transactions, ability to reason about code) but in so doing it takes away your ability to arbitrarily mutate state and perform IO. That's a tradeoff. Python provides a clean, easily readable syntax that leverages whitespace. But you can't define multi-line lambdas. That's a tradeoff. Most of the languages on the author's list use garbage collection, yet another trade off.

Importantly, it is nigh on impossible to understand the pros and cons of these tradeoffs unless you learn the language first. So get a dart board out and pick a language at random. Learn it well enough to find things you don't like about it. Then learn another language that fixes the problems you had with the first and figure out what you don't like about that language. And so on.

Also, be aware that this process will never, ever end. Because there is no single best language.

Except Haskell ;)

monkeyfacebag··on Blocked Sites is discontinued
I guess I need to go back to manually appending "mdn" to all my html/css/js-related queries. How much longer is w3schools going to stay at the top of those results?

EDIT: Actually, it turns out I've been using the linked Chrome extension (went to install, discovered it was already installed). I just conflated the two services and forgot about the extension. So to make this productive, I recommend this extension. I haven't seen w3schools in months.

monkeyfacebag··on Checkboxes that kill your product
The author is "now doing Product Design Strategy at Mozilla ". What you're saying is true, and likely the author has realized it as well, but "fairness" is probably less of a priority to him than fixing the product he's responsible for.
monkeyfacebag··on Clojure: All grown up
Although another responder floated Template Haskell as Haskell's alternative to macros, Haskell loses out in that comparison. TH is both harder to work with than Lisp macros and sacrifices type safety[1], so it is avoided where possible. TH is used to generate boilerplate, but for other purposes (especially creating DSLs), Haskell favors abuse of do-notation through something like Free Monads[2].

Of course, this is nothing at all like macros, but in practice we can achieve many of the same goals while maintaining type safety. So, win win win (the third win is for monads).

[1] http://stackoverflow.com/a/10857227/1579612 [2] http://www.haskellforall.com/2012/06/you-could-have-invented...

EDIT: As dons points out, I was imprecise in my wording. I don't mean to say that TH leads to Haskell programs which are not type safe. The compiler will, of course, type check generated code. In general, given that dons has been programming Haskell for 14 years compared to myself who has been doing it for 1 year, prefer what he has to say on this subject.

monkeyfacebag··on Sick of SEO Scumbags
This isn't "Evil". Google is doing what they can to provide "a more secure and private search experience" [1]. Sure, it may be unfortunate for web sites relying on organic keywords, but this is hardly a malicious act.

[1] http://support.google.com/websearch/bin/answer.py?hl=en&...

monkeyfacebag··on Why Study History?
It's not clear to me why the value of sociology would need to be defended. A good deal of the social graph analysis that's so popular now is built directly on the methods and works of sociologists and social psychologists (Stanley Milgram's small world, Zachary's karate club, etc.) with the big difference between then and now being availability of computational power and data sets.

It seems like a field that has a lot of relevance today, even if perhaps people practice it under different guises.

monkeyfacebag··on Mark Shuttleworth: Canonical leads Ubuntu, not 'your whims'
I found myself agreeing with a lot of the sentiment expressed in Mark's post but ultimately, I lack faith that Shuttleworth and Canonical have what it takes to pull off the stated goal of creating "an experience that could challenge the existing proprietary leaders." For example, I don't find Unity to be better in any meaningful sense than the "community-driven" GNOME 3. Canonical has come up with some interesting ideas, especially with the HUD menu system, but I just haven't seen real progress towards building the kind of consistent user experience I can find on Android, Windows and OS X.

I'd love for them to succeed, but every passing day I'm looking more to Android as the future of quasi-open Linuxes.

← PreviousPage 3 of 7Next →