HNHacker News
TopNewBestAskShowJobs

beoba

607 karma · joined December 17, 2010

eqoaq
submissionscomments
beoba··on What's Wrong with Meritocracy
The article isn't really about university admissions at all, they're merely provided as one cause of an environment which also has its parallels in startup life.

Arbitrary illustrative excerpt:

Whether American or Chinese, individuals who focus too much on ‘achievement,’ and who believe the illusion that they’ve achieved everything simply through their own honest hard work, often think very little of everyone else as a result.

beoba··on What's Wrong with Meritocracy
A very good article, though I wish the author weren't so enamored with David Brooks clichés.
beoba··on Index Funds Considered Harmful (Possibly Evil)
You're just annoyed that you made a bad decision with your money, and feel that someone else should shoulder the blame. Yet somehow it isn't the fault of the active investors who take all that expense cash in return for consistently unperforming; no sir, blame the indexers! Is this what your "Financial Advisor" told you while he was skimming 1-5% off the top?

In other news, Buggy Whip Owner Considers Cars Harmful (Possibly Evil).

beoba··on Eth0 no more?
Looks like this could solve the problem of network interfaces renaming themselves after reboots. Hooray!
beoba··on The Boxee Box Experience Now: Netflix, Vudu HD and Lots More Refinement
I have a lot of local video files, and I've (briefly) tried the Boxee software a couple times. It has a feature where it tries to identify that media, but I've found it to be comedically awful at doing so, especially when it comes to TV series, where it tends to pick out maybe one or two episodes from a given series directory, then for some reason completely ignore the rest, even though they're all following the same format in their respective filenames.

Does anyone know of a way to just turn this off entirely? I already have things organized by directory/filename. From what I can tell, the current 'solution' is to manually go through each file and fix whatever stupid information was auto-detected. Which is backwards, because if someone's anal enough to deal with that, they've likely already got things meticulously organized how they want by directory/filename, so why not just go by that directly?

I get the strong impression that they didn't really make local media playback a priority.

beoba··on Windows Phone Marketplace bans the GPL, and the App Store should too
No, they've both chosen a distribution model which is incompatible with any software containing GPLv3 code. Sure, if the code is 100% yours, you can do whatever you want with it since you own the copyright. But if it has ever accepted contributions from anybody else under GPL terms, then it can't be done without breaking those terms.

They could work out a process for developers who want to contribute GPLed apps, but they've decided not to.

beoba··on Typical programming interview questions.
Here's a quick example of a case where knowledge of data structures and algorithmic complexity is useful, regardless of the language.

Let's say you've got two lists, named "A" and "B", which each have 1000 integers. You want to return a list of unique integers which are present in both lists (ie the intersection of two lists). These 'lists' could be arrays or linked lists.

The brute force method would be something like this:

  Out = []
  for a in A:
    for b in B:
      if a == b and !Out.contains(b)://O(n) list search
        Out.append(b)
  return Out
But this can be very slow, because you can end up in the territory of O(n^3) iterations across A, B, and Out (internally the language would generally be iterating across Out in order to complete that 'contains' call). In this specific example, that works out to be something along the lines of 1000x1000x1000 = 1000000000 iterations, vastly larger than the size of the original lists.

---

A better way is to sort one or both of the lists then do the comparisons along each of them (this syntax assumes the lists are specifically arrays, but it'd effectively be the same for linked lists):

  Out = []
  sort(A)
  sort(B)
  b = 0
  for a in xrange(len(A)):
    vala = A[a]
    valb = B[b]
    if vala == valb:
      Out.append(vala)
      ++a
      ++b
    elif vala < valb:
      ++a
    else://vala > valb
      ++b
  return Out
This is definitely better than the above example. Now we're performing two sorts, each O(n log n), then we're doing a linear iteration across both of those lists in parallel, each O(n). So now we end up with an overall complexity of O(n log n) as a result of those initial sorts. Let's estimate the total number of iterations to be around, I dunno, 10000(sort)+2000(iterate/compare) = 12000? The exact number of comparisons in a sort can vary by algorithm used and how things were ordered in the lists to begin with.

Not bad, definitely better than what we were doing before. But we might be able to go a little better...

---

Yet another way is to use some hash sets, which (generally) have O(1) insertions and retrievals, and only store unique values, such that if you insert the same value twice, the second insertion is effectively ignored. We can do something like this:

  Out_set = set([])
  A_set = set([a in A])
  for b in B:
    if A_set.contains(b)://O(1) set search
      Out_set.append(b)
  return list(Out_set)//optional, could return Out_set
Now we end up with an algorithm which is O(n), where we iterated over the items in A once to fill in A_set, then we iterated over the items in B once, and each "contains" call was an O(1) hash lookup inside of A_set. Then finally we iterated over Out_set once to create the output list. This final step is optional, we could also have just returned Out_set directly, but it doesn't effect algorithmic complexity in either case. Now we've got 2000-3000 iterations, depending on how whether we return a set or a list. And this additionally looks a bit simpler than the sort+iterate version I gave above.

---

So just by using our knowledge of data structures, we've turned ~1000000000 iterations into ~2000-3000 iterations. This is on the order of reducing the distance to the moon to around a kilometer. And that's just with two lists that are limited to 1000 items each.

And this sort of thing is a pretty common scenario in any language, no matter how 'abstracted' it is.

beoba··on Typical programming interview questions.
Woah, you may want to learn about those.

Understanding algorithmic complexity and knowing which data structure(s) to use to solve a given problem are universal skills.

beoba··on Why I don't care very much about tablets anymore
Where does the tablet go when you're not holding it?

This setup rapidly turns into a series of kludges to make the thing work.

beoba··on Why I don't care very much about tablets anymore
https://www.microsoft.com/surface/

All that's missing is a smug logo, and it'll be a hit!

(also mentioned in the article)

beoba··on Gonorrhea Acquires Piece of Human DNA
When reading the headline, the first thing that came to mind was Oracle's acquisition of Sun ;)
beoba··on "t-" : A less-than-minimal task list "manager"
Not at all. Those "bells and whistles" you decry have negligible impact its ease of use, as it's been designed such that the extras (due dates, priorities, projects, etc) are only there if/when you actually want to use them.

Otherwise it's just "task add something", "task list", "task done something".

And if you do find yourself wanting to use those "bells and whistles", they're just a man page away.

beoba··on Google is a surveillance company
Original link http://vimeo.com/11303353

"BlackHat Europe 2010 - Changing Threats To Privacy From TIA to Google"

beoba··on "t-" : A less-than-minimal task list "manager"
http://taskwarrior.org/
beoba··on Should Employers Be Allowed to Ask for Your Facebook Login?
Should that also be the case for age, sex, orientation, religion, etc? If not, what makes those so special?
beoba··on Should Employers Be Allowed to Ask for Your Facebook Login?
I don't think your analogy works. Sure, half a cig doesn't make sense, but you can have a facebook account without handing over trusted information.
beoba··on Should Employers Be Allowed to Ask for Your Facebook Login?
Of course it's our business, the difference between fringe cases and common procedure is whether we're willing to put up with the practice. And don't pretend that the prospective employer has no power over the applicant.

Additional nitpick: Employment statuses are generally determined at the state level.

beoba··on Should Employers Be Allowed to Ask for Your Facebook Login?
This reminds me a bit of Scientology's policy of collecting and archiving secret information from their members, so that threats of blackmail could be made later on if needed.

I think a good solution to this situation is to in turn request the screener/interviewer's credentials. After all, it's no big deal right?

beoba··on Why I do my resume in LaTeX
I think if anything frequent use of HN would reflect poorly on one's productivity.
beoba··on Why I do my resume in LaTeX
Another telltale sign are the default margins, though I spose someone would sooner change the margins than change the font.
beoba··on Why I do my resume in LaTeX
HN profile link? Do people take this seriously?
beoba··on Back to Paper Calendars
I've been using taskwarrior for organizing/scheduling most everything: http://taskwarrior.org
beoba··on Why Isn't Wall Street in Jail?
Rich people don't go to jail.

Example: http://www.thedenverchannel.com/news/26164101/detail.html

beoba··on Caltrain July Proposed Service Changes
Isn't Clipper a separate entity from Caltrain? Or is Caltrain somehow handling that transaction for you on Clipper's behalf?

Still smugly using my Translink-branded card.

beoba··on Caltrain July Proposed Service Changes
"Just work harder, then you can get a car!" - the peninsula
beoba··on Python 3 Wall of Shame
If you 'incrementally' include changes which are incompatible, you end up with many more compatibility barriers to keep track of.

"Oh wait, this machine has foo 1.5.2, not 1.5.6!!!"

Though a solution to this scenario is to avoid including too many libraries in the standard distribution in the first place, so that incompatible changes in those libraries don't affect the base.

This in turn means that big packages with lots of dependencies would need to say "you need fooliba-1.5.6, foolibb-4.3.2, etc" instead of just "you need foo-5.2", but other languages do this and they seem to manage it alright.

beoba··on A visual guide to tmux (gnu/screen on steroids)
I was looking at 'dvtm' yesterday, but this looks a bit nicer. Thanks!

Also, actual tutorial links are:

Part 1: http://blog.hawkhost.com/2010/06/28/tmux-the-terminal-multip...

Part 2: http://blog.hawkhost.com/2010/07/02/tmux-%E2%80%93-the-termi...

beoba··on Quora To Oddly-Named Users: Papers Please
Reminds me of these guys, except 15 years later: http://www.well.com/

Obligatory wikipedia background:

"WELL membership is available to almost anyone, but requires a paid subscription and use of one's real name."

"The WELL was frequently mentioned in the media in the 1980s and 1990s, probably disproportionately to the number of users it had relative to other online systems. [...] This early visibility was largely the result of the early policy of providing free — comped — accounts for interesting journalists and other select members of the media. As a result, for many journalists it was their first experience of online systems and, later, the Internet, even though other systems existed."

Not much happened with them, either.

beoba··on The Scariest Company in Tech
The linkbait title doesn't help their case.
beoba··on Former Sun CEO Worries About Silicon Valley
also, News Flash: Rich ex-CEO Blames Regulators and Worker Unions for All The World's Problems
Page 1 of 8Next →