HNHacker News
TopNewBestAskShowJobs

jcsalterego

4,272 karma · joined April 27, 2009

submissionscomments
jcsalterego··on WordPress names their 3.1 release: Reinhardt
Hooray for World Peace!
jcsalterego··on Solving The Hacker News Problem
It seems there's always been reluctance to add features, for the sake of simplicity. Personal messages, for example, would have been useful in many, many instances, but instead we find ourselves checking out the plain-text profile and finding alternate methods of communication.

This limitation has also sprouted ancillary sites attached to the HN Tree of Life, such as searchyc.com, hackermonthly.com, and hnrecap.com as mentioned in the post.

In a similar vein, carving out a sub-HN seems to be: a) downloading the source code, b) bringing it online at another domain and c) announcing via "Tell HN".

All in all, unless someone with >10^5 karma decides to take the time and add some community features to HN (for various values of "community" and "features"), we're all going to continue and see more noise and many different signals.

As an aside, I wholeheartedly appreciate the name, "Bloomfilter."

jcsalterego··on A Pythonic way to do MapReduce using hadoop
Great overview, from top to bottom.

Just wondering, is it better performance-wise to explicitly check for key membership than to rely on exceptions?

Existing:

  for line in sys.stdin:
      name, marks = line.rstrip().split('\t')
      try:
          if agregatedmarks.get(name):
              agregatedmarks.get(name).append(marks)
          else:
              agregatedmarks[name] = [marks]
      except ValueError:
          pass
Or

  for line in sys.stdin:
      name, marks = line.rstrip().split('\t')
      if name in aggregatedmarks:
          aggregatedmarks.append(marks)
      else:
          aggregatedmarks[name] = [marks]
This is a common idiom I find myself using (append to an existing list or creating a new one in a larger dict).
jcsalterego··on Jeopardy Champion Ken Jennings Q&A about IBM Watson
As in the Duran Duran song
jcsalterego··on Ask HN: Do you know Photoshop?
The Photoshop basics get me around for casual UI mocking -- layers, blending options, gradients, free transforms -- but I haven't mastered the shapes or pen tool in PS.

Illustrator is where I head for scalable vector stuff (duh). Despite having seen some crazy, crazy awesome wizardry with the Photoshop pen tool, in AI the pen tool is much more manageable and powerful IMHO, especially in conjunction with the all-powerful Pathfinder.

jcsalterego··on Ask HN: Hackers falling in love
"...and my database goes to meet the great truncate in the sky" -- I'm stealing that.
jcsalterego··on Mubarak to step down tonight
Cheers for the clarification.
jcsalterego··on Mubarak to step down tonight
I concede to your first point. Not sure where the second part is coming from.
jcsalterego··on Mubarak to step down tonight
I'm seeing this everywhere else on my internets, but I will have to play the "OT for HN" card.
jcsalterego··on Getting Comfortable With SSH
Yeah, the example is more for hyperbolic illustration than anything else. My actual use case is that I've got a lot of IP addresses, different usernames and non-standard ports across various servers, so it's incredibly convenient to have my .ssh/config all set up.

With aliases (and zsh completion support for aliases), I can do "ann<tab>" which saves me even more time.

It won't be long before all I have to type is tab :)

jcsalterego··on Getting Comfortable With SSH
I use this all the time. It's amazing.
jcsalterego··on Getting Comfortable With SSH
That sounds about right.

Good tip about TRAMP, although I tend to exit out of my emacs sessions frequently. For my long running ssh tunnels, I just screen them.

jcsalterego··on Getting Comfortable With SSH
The only issue I had with ControlMaster, IIRC, was that when I killed the original connection, it would take everything else down with it.

There's a good chance I was just doing it wrong™ though.

jcsalterego··on Getting Comfortable With SSH
Cheers for pointing that out.

I haven't taken the time to figure out key agent -- for shame! -- although I would be interested in a write-up.

jcsalterego··on Shortchanging Your Business with User-Hostile Platforms
There's a lot to be said about the potential of the WebKit HTML/JS portion of AIR that's far less used than the Flash or Flex counterparts.

In my experience, the lack of a sane garbage collector burned me in the end. I believe the reasoning was that Flash apps were ephemeral, from page load to page load, and definitely not meant for a desktop application with a long life.

It was very hard to ever really free memory, and I remember writing a fairly straight-forward AIR app which would start at 70MB RSS, and balloon to 1GB the next morning.

jcsalterego··on A Note About Git Commit Messages
Clearly there is an ordering between commits -- parents and children -- but I don't see commits as having much temporal value.

Branches and commits can be merged and rebased left and right, and it only seems to follow that commits have an intrinsic state that's (not to be cliché) timeless. Patches and commits, regardless of when they're written, provide changes and accomplish X Y and Z -- it's only when one runs the code that time comes into play.

Semantics, I suppose, or I have had too much coffee this morning.

jcsalterego··on Civil War message opened, decoded: No help coming
Not saying it would take me less time but damn, it took the retired CIA code breaker "several weeks" to solve?
jcsalterego··on The algorithmic virtual machine
And here I was expecting some sort of NFA simulation by a DFA :)
jcsalterego··on Ways to get screwed by C
1. Non-terminated comment

Use a sane editor with syntax highlighting.

2. Accidental assignment/Accidental Booleans

I always wrap my assignment-conditionals with double parentheses. It sucks when you miss these but I usually type out the right sequence of equal signs when I mean equality.

3. Unhygienic macros

Treat macros like a search-and-replace with a little more intelligence, but respect how literally the pre-processor might take you for. So, add parentheses.

4. Mismatched header files

I've not encountered this before, so I can't comment on it. Be careful with namespaces.

5. Phantom Returned Values

Luckily, gcc -Wall returns: warning: control reaches end of non-void function

6. Unpredictable struct construction

Can't comment on this one either, although I avoid literal assignments given in the example like the plague.

7. Indefinite order of evaluation

The example code just looks messy.

8. Easily changed block scope

Always use curly braces, that's what I say.

9. Permissive compilation

Not sure in the example why one would just remove the CALLIT macro and assume things to work. Of course, the comma in C means something. Not sure why one would put an assignment before a case in a switch either.

10. Unsafe returned values

This is certainly expected!

jcsalterego··on Great Reading in Computer Science
Man, I had his "Good Quotations" page [1] bookmarked for the longest time, like seven years ago.

[1] http://www.cs.virginia.edu/~robins/quotes.html

jcsalterego··on Google Chrome Notebook Pilot Program (Cr-48)
It's a poor man's CAPTCHA.
jcsalterego··on Develop iOS apps using an iPhone/iPad (with code)
This reminds me of Briefs: https://github.com/capttaco/Briefs
jcsalterego··on NASA 'alien life' announcement leaked
Jokes!
jcsalterego··on Thanks HN: Goodbye, Golden Handcuffs
You should hit up http://cafebedouins.com and http://opencoffeeaustin.org.
jcsalterego··on EC2 Micro Instance as a Remote Bittorrent Client
That's cool.

I did the same thing for Minecraft SMP (passing 512M instead of 1024M for memory usage).

jcsalterego··on Some powerful commands for Linux
Excellent resources on Twitter:

- http://twitter.com/bashtips

- http://twitter.com/climagic

- http://twitter.com/zshtips

And an oldie but a goodie:

- http://cb.vu/unixtoolbox.xhtml

jcsalterego··on [dead]
http://news.ycombinator.com/item?id=1920287
jcsalterego··on Incubator Incubator - Making All Your Incubation Dreams Come True
Someone get this site running on PyPy.
jcsalterego··on Ymacs -- An Emacs-like editor for the Web
Maybe it depends on which browser you're using, but in Safari 5, when the main textbox/input box has focus, C-n works for me, as well as ESC for Meta. You may want to try giving it focus first?
jcsalterego··on How A Half-Broken Halloween Promotion Smashed Revenue Records
TBH, I was hoping to hear about Minecraft's release yesterday. Someone get Notch on HN...
← PreviousPage 3 of 7Next →