HNHacker News
TopNewBestAskShowJobs

snprbob86

7,460 karma · joined March 13, 2008

New account: https://news.ycombinator.com/user?id=brandonbloom
submissionscomments
snprbob86··on Elm at Prezi
This is not a statement about the skills of other developers. This is a statement about the applicability of JavaScript to the sorts of problems people are trying to solve with it. There are a lot of nice things about JavaScript that people didn't quite understand or appreciate in the early days, but that doesn't change the fact that the HTML5 stack is deeply flawed in many ways for the needs of application developers. That shouldn't be surprising or controversial: All of these technologies were developed in a simpler time for a simpler set of problems.... and in a rush.
snprbob86··on Judge orders child porn suspect to decrypt hard drives
I took an easy-A class on computer crime at school. I discovered that applying the fundamental principals of law unilaterally, even when it applies to child porn, is a quick way to get people to label you a pedophile.. but here goes anyway:

> Does criminalizing the possesion of child porn reduce the chance of those original crimes from happening? I think it does, and I think that's a good reason to ban it.

"I think it does" is not a sufficient motivation for a federal law. Generally, evidence should be required to drive policy, but I'd settle for successful deployment to a small number of jurisdictions before scaled deployments.

> It's also a good way to discourage people who like child porn, to tell them that there is something wrong with them, and that they should not do it.

Oh yeah, because a good scolding works so well for addicts.

snprbob86··on U.S. is the only developed country with no guaranteed paid vacation or holidays
Are you refuting what I'm saying? Or are you making an additional point in my favor? I'm not sure...

Because if high supply of labor means low paying jobs, then you're suggesting that if everybody suddenly became skilled enough to get a high paying job, then those jobs would become low paying jobs due to labor surplus.

Either side of the hypothetical makes it clear that it is absurd to think that everybody can magically be more mobile via shear force of will.

snprbob86··on U.S. is the only developed country with no guaranteed paid vacation or holidays
We're now way off topic into the details of a particular industry, but I'll entertain your comment anyway. I just want to stress again: These problems generalize to many many many other industries.

> Why can't the schedule be arranged so that the same crew and leader stay together (as much as possible)

Because...

1) Flights get delayed or canceled

2) Crew member get sick or stuck elsewhere around the world

3) Planes are of varying size with varying size crews

4) Destinations change seasonally

5) Holidays and events alter flight schedules

6) People quit

7) People move and transfer bases

Never mind that flexibility to travel is the #1 job perk that they have to offer as career bait. Flight attendants trade flights, full trips, and destinations all the time. They are in that line of work so that they can go to interesting locations, if only for a short while. You could half their pay and they would still complain much more loudly if you halved their destination flexibility.

snprbob86··on U.S. is the only developed country with no guaranteed paid vacation or holidays
Not every profession has high mobility and low competition. In fact, the overwhelming majority of professions, even highly skilled ones, have medium-low mobility and high competition. Even doctors and lawyers have pretty low mobility these days, thanks to crushing debt.

What do you think would happen if the > 90% of workers in low mobility jobs just magically got high mobility jobs? There would be no one left doing the sorts of critical jobs that make civilized life possible for us pampered engineers.

snprbob86··on U.S. is the only developed country with no guaranteed paid vacation or holidays
You're missing the point. She was treated very well at Northwest pre-merger and at Delta until the union vote failed. She's have to take a major pay cut to reboot her career. I'm not saying that due to a sense of entitlement. That's a fact. But other than the recent changes, she likes her job, so she's started volunteering for the union and otherwise actively working to improve the situation for her and her coworkers.

Your willingness to parrot the party line (specifically the word "entitlement") is disturbing, but pretty common.

snprbob86··on U.S. is the only developed country with no guaranteed paid vacation or holidays
> If it was up to the airline, they'd probably promote based on how well people did their jobs rather than seniority.

How does an airline know how well people do their jobs?

There are thousands of flight attendants based in NYC alone. It's not uncommon for the flight leader to never lead a particular team member a second time. How are you going to have peer reviews?

The best they can do is find bad people via complaints and the best people via complement cards. Finding the best people by process of elimination isn't really a good strategy. And complement cards are only really provided by frequent flyers and in first class, which is predominantly staffed by more senior crew members.

But this generalizes too: What does it mean to be the best factory workers? For some employers, the definition would be "doesn't get sick and/or complain".

The best flight attendants are only twice as helpful and friendly as the pretty good flight attendants. Should they get paid double for something so subjective as "friendly and helpful?" Meanwhile, the best engineers are (some say) 10X (or even 100X) more productive. Yet they only make what 3X to 6X the pay on average, but only if they know how to negotiate... oh and by the way, they work in the field with the lowest supply and highest demand. Unlike effectively unskilled labor that most of the world has no choice but to do.

snprbob86··on U.S. is the only developed country with no guaranteed paid vacation or holidays
Delta ran a substantial anti-union campaign during the union vote. The popular opinion of the majority was "Why should I pay for a union? I like my working conditions and benefits. How could a union help?" Management worked very hard to bolster that message.

Now, there is another union establishment effort occurring. There is significant evidence that the popular opinion has swayed dramatically in favor of a union. I'm not saying that the majority is stupid, I'm saying that they decided they didn't want to pay union dues and assumed that things would stay the way they are. They didn't understand that the threat of a union was one of the few things eliminating their need for a union. That's ignorance of business realities, not stupidity in general.

My mindset isn't "the majority must be stupid". My mindset is "post-election events have proven the majority to be shortsighted."

snprbob86··on U.S. is the only developed country with no guaranteed paid vacation or holidays
Where?

She could go to a totally different industry, but she'd be starting her career over again at the bottom.

She loves flying & traveling, so she'd probably want to go to another airline. However, Delta (one of the largest airlines) accepts a only few thousand new flight attendants per year out of many tens of thousands of applicants. Smaller airlines would be even more difficult to get a job at. All the airlines are also seniority based, so she's have to start her career over again at the bottom. Experience at other airlines wouldn't contribute one iota to her standing in a new airline.

College put her (and everybody else) in substantial debt, so she can't start a business or do anything really risky like that.

This is a story you have all heard over and over again...

If you're a well paid engineer, it might be hard for you to understand: Educated, hard working people, are constantly screwed by the system and consistently ignored by people who don't understand their plight.

snprbob86··on U.S. is the only developed country with no guaranteed paid vacation or holidays
You are being completely ignorant.

My girlfriend, who has a college degree, works for Delta as a flight attendant. After the North West merger, her colleagues collectively voted against a union because of perceived corruption and expectedly high union dues. In the year since the failed vote, there have been substantial adverse changes to vacation and sick leave rules, increased abuse of duty days by crew scheduling, and decreased medical benefits.

That's 20,000 people who thought they had guarantees on paid vacation who suddenly need to spend more of their own money to get a doctors note on holiday weekends. By the way, if you need a doctors note at 4am before going to work: You need to go to the ER... which is expensive. Meanwhile, they are being forced to work longer and longer hours for depreciating pay.

The ~9,000 people who knew to vote for collective bargaining power should not be punished by the ~11,000 short sighted ones. Furthermore, government exists to provide for the common welfare. That's its role. Those 20,000 people already pay their taxes, why should they also have to pay union dues to get basic protections for their working conditions and compensation?

This story happens over and over again in many industries.

These people aren't incompetent, yet you're suggesting that they'd have to be in order for someone to believe that they need government to protect them. In the common case, they are hardworking, educated, friendly people who are being screwed by people like you. Wether you and our elected officials are ignorant or malicious, I don't know. But what you are saying is bullshit.

snprbob86··on Should String Be An Abstract Class?
Making string abstract or creating new string subtypes does not solve the underlying problem: Your type system isn't good enough.

Now what I say this, let be clear: I'm talking about everybody's type systems. That goes for you Haskell-ers too. And the post-Haskell rocket surgeons doing crazy advanced typing insanity.

Type systems are abstractions. The ones you are used to, like the Java-ish OOP ones or the ML/Haskell functional ones, are designed to detect and prevent a wide variety of programming errors, while also enabling analysis that will improve execution performance. However, there are many sorts of "type systems" that solve different problems.

- There are tree schemas for validation and data generation.

- There are database schemas for indexing and query planning.

- There are grammars for parsing and validating languages.

- There are contracts for ensuring preconditions, postconditions, and invariants.

- The list goes on for quite a while.

The idea that you can assign a single named type in a single kind of type system to a value and 100% verify the correctness of your software is just bogus. You need optional and pluggable type systems, so that you can bring a particular type system to meet a particular problem.

snprbob86··on Wisp: a homoiconic JS dialect with Clojure syntax, s-expressions and macros
As somebody who contributes to ClojureScript, I genuinely do not understand the purpose of this project.

If you want a JavaScript with Lispy syntax, there are a few things like http://lispyscript.com/ -- Spiritually similar to CoffeeScript. But if you want Clojure semantics, there is ClojureScript: Very different than a simple transpiler like CoffeeScript. ClojureScript includes a standard library of rich data structures and utility functions.

But why would you want Clojure syntax without Clojure semantics? Especially since Clojure syntax implies several data types that JavaScript can't provide natively. It just doesn't make sense...

snprbob86··on Lying Microsoft Advertising
Apple ran the "I'm a Mac; I'm a PC" ads. Those started off as great advertising because they only pointed out bad things about Windows that everyone already accepted as bad things. Once those ads started becoming unnecessarily adversarial, they became bad advertising. Apple probably ran that campaign a bit too long.

Depending on your point of view, Apple's products are either A) Clearly superior or B) Not obviously inferior. For a not insignificant number of people, their choice of smartphone is a personal statement. Attacking products that people love is not a good way to create converts.

Attacking products that clearly suck works until a point. Then it starts to feel like a bully beating a defenseless kid. Microsoft's advertising feels more like a nerdy kid who spent all night thinking up clever and witty retorts, only to fail miserably in delivering them when face to face with the bully. The crowd of cool kids don't laugh with the nerdy kid, they laugh at them.

snprbob86··on How to tell a young(ish) person their behavior is inappropriate at work.
I'm pretty young and would consider myself on the "full use smartphones" side of the generation gap. However, I still think it's extremely rude to use a phone, tablet, and yes, even laptop, during a meeting.

There is a very noticeable difference in attention capacity between those who take notes with paper and those who use electronic devices of any kind. Devices with a screen tend to draw your attention even when you are not typing. More importantly, almost everybody can write while looking up and making eye contact, but very few people can type while making eye contact. Almost nobody can use a touch screen no-tactile-feedback keyboard without gazing off into the great glowing yonder. Even if you can type on a laptop while maintaining eye contact, your shoulders are postured towards your keyboard and not towards the speaker. Writing with a pen or pencil gives you much more upper body range.

snprbob86··on Why The "Star Trek Computer" Will Be Open Source and ALv2 Licensed
Google has, internally, a lot of super secret services that are absolutely critical to this sort of functionality. "Simple" things like the language model necessary for their understanding of "Apple" vs "Apples" are actually astonishingly complex, and expensive to both build and maintain. Currently, there is virtually zero chance of a merry band of open source hackers being the ones to create these numerous services and stitch them together in a meaningful way.
snprbob86··on Tesla Repays Department of Energy Loan Nine Years Early
The subtitle says: "ONLY AMERICAN CAR COMPANY TO HAVE PAID BACK GOVERNMENT"

Assuming that's true, I'm not sure whether I should be proud of Tesla, ashamed of our Government, or angered at other car companies. Probably all three...

snprbob86··on Unheralded Mathematician Bridges the Prime Gap
> if there is some ambiguity or possible error in a paper of theirs they pretty much always will respond

I just want to chime in and also mention that while proper scientists should always enjoy an opportunity for improvement, any proper human always enjoys some acknowledgement of success. I've implemented some cool algorithms I've seen in papers and emailed the authors to 1) Thank them for their research, 2) Show them my implementation , 3) Ask them for their feedback. Their email addresses are generally at the top of the papers, so I figured "what the heck" and the response I've gotten the few times I've done this has been amazing.

I'll further extend this to say that you should never be afraid to talk to somebody because of your perception of their status. You'd be amazed at how accessible top tier folks are. Often a key factor in their greatness is their ability to collaborate! But please, be extremely respectful of their time: Keep your messages brief, to the point, and pleasant. Don't fawn or apologize. Don't ask to ask. Don't justify or elaborate. Treat them as a colleague and they will generally treat you as such.

snprbob86··on Poll: Do you use your real identity on HN?
I too thought it was a dummy account & now really wish I could change my user name to be my real name. I don't really care about the Karma, but every time I've tried to create a new account & start over, I get an error about too many new users.
snprbob86··on How often do iOS users update? - The Pareto Distribution
> applications that use the camera dramatically drop battery power even if the app isn't "active"

Do you have any evidence of this? Have you run a controlled experiment? Because that makes zero sense. I'm 99% sure that you've been conditioned to press a placebo button.

snprbob86··on How often do iOS users update? - The Pareto Distribution
More surprising to me is that ANYONE closes out their apps.

I've never ever ever pressed that little red (-) icon. On pretty rare occasion, I need to hold power and then hold home to kill an unresponsive app. But I've never "quit" an app when I was done with it. I've had an iPhone since the beginning and my battery life and performance has always been stellar. Only apps that passively use GPS have been a problem , so I uninstall those.

This is also (mostly) true on my Mac as well. I leave DOZENS of apps running and only kill them if they start sucking down CPU cycles. Generally, most apps sit there, do nothing, and get paged out to the flash disk.

I'm also a little annoyed each time I meet a non-techie who had some techie tell them "Oh, here's how you close apps. It will make your phone faster." Try as I might, I can't convince my girlfriend that it has absolutely no effect. She religiously closes every single app in that little tray once or twice a day.

It's 2013 people. We don't (shouldn't?) need to manually manage memory for our computers.

snprbob86··on Exits and Assholes
1) You're (incorrectly) assuming that everybody who sells their company set out with "a view to exit". That is, quite honestly, bullshit.

2) Not everyone who is given the choice of a small exit is also given the choice of a follow on round of funding. If you're not making enough revenue and unable to strike a deal with a financier, you are going to have to shut down your product whether or not you strike a deal with an acquirer.

3) Your post has eliminated a "soft landing" from your startups' possible exits. If you wind up in the situation described by #2, you'll look like quite the hypocrite if you do anything other than die.

4) "I'm sure your investor's wallets think of your exit as a success" -- You'd likely be wrong about that. Your investors probably would rather you fail swinging for the fences.

snprbob86··on Executable Archaeology: The Case Of The Stupid Thing Eating All My RAM
What you already know, but need to be reminded, is that there is not one, uniform "Microsoft", who has the power to allow or disallow something. Even in the highest levels of the corporate hierarchy, it takes a great deal of effort to influence the direction of the ship (never mind intentional steering). In the case of OEM shovelware, there were quite a few people who worked very hard to get rid of it. However, Dell alone has substantial influence over this decision through their sheer volume of sales of Windows. When you consider existing contracts, OEM motivations, and internal politics, it's no longer that incredible that this preloaded nonsense persists. What's incredible is that the concerted effort to regain control of the ship doesn't seem to be having much effect.
snprbob86··on I Don't Want Your Fucking App
I'm also male, but I know better than to make sweeping generalizations about women, if I ever hope to work with one.

This is the internet. There are Americans here. In fact, most of the sites with these annoying mobile experiences are American companies. Let's assume for a moment that the generalization is accurate... Consider: Successful persuasive writing must be written with a particular audience in mind.

snprbob86··on I Don't Want Your Fucking App
There is a difference between corporate and mature. Your article sounds like a kid who just discovered swearing. It lowers the information density of your post and distracts from your message. Furthermore, it reduces your credibility and hurts your persuasive writing goal. Lastly, it makes you sound like a fucking idiot.
snprbob86··on Writing Effective Welcome Emails
Except that a trivial s/\+.+@gmail\.com// processing rule will defeat that elaborate security scheme. You really need revokable addresses that don't reveal the unrevokable address.
snprbob86··on I Am a Bad Developer
Without any exposure to your code or you personally, my guess is that you're far from a bad software developer and unlikely to be inherently bad at interviews. However, only planning 2 months for a job search means you're bad at managing your career. It can take that long to get the paperwork pushed through even once you have found a job!
snprbob86··on Performance Improvements Using Judy Arrays
Can you recommend or link to introductory material on data structures optimized for flash and disk?
snprbob86··on Light Table 0.4 released
I disagree that Numbers are relatively uninteresting. In fact, I think any language designer would tell you that numerics are one of the hardest areas to get right. It's also the area where Clojure is weakest in terms of interop, I'd say. ClojureScript, for example, only has host Numbers (ie double-precision floating-point)

The main thing that Clojure does in terms of being designed for interop is to require the use of host values/objects. There are no wrapper/proxy/delegate/whatever objects. This has big implications. It (unfortunately) means that there is behavior you simply can't have in core, such as reflection or continuations. That's a big part of being interop friendly: Intentionally specifying fewer things. If you have very strict rules for how something like strings behave, then you might wind up in a situation where you need to create a ClojureString class or something like that.

Additionally, the '. (dot) special form is like a giant "INTEROP HERE" sign, which is extremely useful when porting code from CLJ to CLJS. You can literally grep your source for /\./ and find platform specific code.

snprbob86··on Light Table 0.4 released
I'm not sure how your cond example is related to vector syntax. The decision to use (partition 2 ...) style pairs, rather than extra brackets is orthogonal.

The more important point of literal syntax for composites other than lists is the fact that they are resolved at read time. This means you don't need a macro to have grouping. With (some-macro ((f x) (g y))), you need to force expansion inside the parens. Quoting (some-function '((f x) (g x))) requires forcing evaluation in your function. You could use (vector (f x) (g x)), but now that means some-function gets a vector argument and some-macro would get a list argument with first element 'vector. In Clojure, (some-function-or-macro [(f x) (g y)]) both have a vector as an argument because of the read-time behavior of data structure literals. Huge win in my book.

snprbob86··on Light Table 0.4 released
You're dangerously close to trolling, but I'll comment anyway.

> a "I hate parens" Lisp-1

Clojure's minimal syntax is, in my opinion, a gigantic improvement over Common Lisp. And I say this as a person who quite likes parens. I feel similarly about Lisp-1s, but that is well trotted territory: Lisp-1s have won.

Parens are overloaded in traditional Lisps for both invocation and grouping. The introduction of vectors with square brackets makes a lot of code a great deal more readable at virtually zero cost: It's still homoiconic. Similarly, the inclusion of curly braces for maps is wonderful, as it makes maps a lot more common in Clojure than they would otherwise be in CL, which is a good thing for most business logic.

> replicatable in CL as a library

Defaults matter. A lot. Presence in a library is insufficient. The fact that seqs et al are in core means that 100% of Clojure libraries use those abstractions. That's a big deal.

> I don't understand why the libraries and macros to create similarly compelling interop over ABCL weren't developed instead

Rich discussed this on the CL mailing lists long before Clojure or even his first attempt, dotLisp, ever existed. See [1] and [2]. In short, interop needs to be planned for at the lowest levels to make it pleasant to use and efficient to execute. And it's not just JVM interop: Clojure was designed for $SOME_HOST interop, so ClojureScript interops as nicely with JavaScript as Clojure does with the JVM. CL would have two different libraries with two different ideas of interop for two different host platforms.

> I don't know why Clojure was created as a new language

I think you have a different definition of the word "language" than I do. Look at PG's Arc. It's built on a scheme implementation. It's not so much a new language by your definition as it is a set of scheme libraries. But that's what a language is: A common base vocabulary encoded with a well known set of syntax and semantics rules. Clojure could be implemented (quite trivially, thanks to the aforementioned careful hosting design) as a set of libraries to CL, but it would still be a new language.

[1] https://groups.google.com/d/msg/comp.lang.lisp/3-X76dTw8dI/I... [2] https://groups.google.com/d/msg/comp.lang.lisp/3-X76dTw8dI/s...

Snippet from [2]:

    If one were starting from scratch,
    and supplied a platform like .NET, would one define Lisp the way CL is
    defined?

    I would hope the answer is 'most definitely not'. For instance, .NET
    provides for numbers, characters, strings, arrays, hashtables, exceptions,
    namespaces, files, streams, user-defined types, a type hierarchy and
    inheritance, I/O, object creation and initialization, reflection etc. Should
    a language define its own incompatible versions of these things in such an
    environment?
← PreviousPage 2 of 34Next →