News for hackers. Stuff that matters.

rleisti

It probably doesn't help when you insult the entire .Net community and imply that anyone unwilling to work ridiculous hours is lazy.
Re:Dynamic languages are static languages on Sunday March 20, 2011 @01:54PM (#2346837)
One of the things that a 'dynamic' type system (or as the author would see it, a restriction to a single type) imposes on its creators is the need to make that single type as useful as possible. This includes things like being able to easily lookup an object's class, documentation, methods, properties, uses (is it a sequence? is it a map?, etc.). As a result, I find the design of the core libraries of dynamic languages like Clojure more well thought-out than say something like .NET. It's simple things like being able to treat a string as a sequence (Haskell, a statically-typed language, does this), an 'object' as a map, a map as a sequence, etc. I wonder if it has to do with a sort of de-centralization of control; being dynamic seems to make a language more malleable and open to experimentation. Accomplishing the same things in a statically-typed language requires more planning (which means that after it ships, its too late).

I really appreciate a well-thought out static language like Haskell, but it still has some way to go for the common programmer. For now, I don't think that the practical outcome of this article is for programmers to abandon dynamic languages.

Re:Reading the Mind in the Eyes Test (Do You Have Asperger's?) on Monday November 08, 2010 @08:32PM (#1884888)
I got 21. I have a feeling that if I took this test a bunch of times (with different faces) that I'd probably get better at it.
Re:Ask HN: Free weights, do you use them? on Sunday June 20, 2010 @10:57AM (#1446539)
At the beginning of April, I picked up a book called "The New Rules of Lifting". I like it, because it explains how to do a variety of exercises of six kinds: squat, deadlift, lunge, push, pull, twist. Also, it describes a few programs, which I find very good for motivation as it gives you specific things to do on a regular basis.

When I started, I acquired a barbell, two dumbells, a swiss ball and about 80 pounds or so of plates. I quickly got a squat rack (just something simple; you can only lift so much up to your shoulders and drop it back down safely), but I only recently got a bench. I now have over 200 pounds of plates, which I got at a used-equipment store. I've found that you need a lot of weight for a) squats and b) so you can move from one exercise to another quickly without having to move plates from the bar to the dumbells.

I also got a "power gym": the pull-up device that hangs in a door frame. With slight modification to one of my door frames in the basement, I found it works pretty well.

Step 2: Don't follow random advice that doesn't take into account the particulars of your situation.
Re:We will be able to live to 1,000 on Friday May 21, 2010 @03:49PM (#1368548)
I wonder if this would change the popular morality of suicide? What if you're 800 years old, and you truly feel that you've had enough? Should you be forced to keep on going, potentially indefinitely?

Or even just knowing when to step aside and let the next (evolved) generation take over? (or will that still naturally just happen, via accidental death or death by lack of resources to live)

Problem: board members want to pretend the problem doesn't exist.

Solution: install token software and pretend that the problem is solved.

Re:Nathan Myhrvold: Funding Eureka on Thursday February 18, 2010 @02:12PM (#1134966)
An invention market for software is complete BS. All the effort involved in producing a software patent can be summarized as a small amount for the idea, and most for wordsmithing. The real value comes from the implementation, which is only loosely connected to the patent; just as the relationship of any software to its initial specification.
Re:Why the Windows Registry sucks … technically on Thursday February 18, 2010 @01:05PM (#1134795)
It would mean that if you port windows to a large endian machine, then you can't share registry files (ie. as in roaming profiles). It's not as much about the file format as it is about the implementation (simply dumping C structures to disk). I think what the author is saying is that it's just a crappy implementation.
Re:Why the Windows Registry sucks … technically on Thursday February 18, 2010 @01:03PM (#1134789)
It isn't really the same. Anyone that needs access to something in /etc can get what they're looking for without having the first pierce a difficult binary format. Deciphering what they get back is another issue, but typically it's just a text file, so you can generally figure out how to parse it if you need to.
Re:Why the Windows Registry sucks … technically on Thursday February 18, 2010 @12:59PM (#1134782)
You could create a library to read the setting, and everyone could just use the library.

I like the Unix way better myself, as it's more about building up functionality through composition, rather than setting out to create grand unified architecture. Speaking (possibly too) generally, I find large architectures tend to be harder to fix.

Re:The fallacy of fairness on Tuesday February 09, 2010 @01:07PM (#1112771)
'Fair' is tied to a moral context, as in "morally pure, unblemished" (from http://www.etymonline.com/index.php?term=fair). So an argument about what's 'fair' is an argument about what is morally "pure" (or good). Then that depends on your beliefs about morality.
Re:The Growing Underclass: Jobs Gone Forever on Friday January 29, 2010 @11:44AM (#1086838)
In a more general sense, increased productivity means more value is created per unit cost. This could mean the same value with less jobs; it could also mean the same amount of jobs with more value.

A growing pool of displaced labour is also a growing un-tapped resource (or a growing revolution, depending on how well society manages it).

Re:Geek behaviors present during conversations on Tuesday January 26, 2010 @03:37PM (#1078766)
Furthermore, I do it myself to prevent complications down the road. I've found that it's all to easy for one piece of misinformation slipped into a conversation to snowball into something much bigger, and based on a false premise.
Re:Why Are Homeowners Idiots? on Tuesday January 26, 2010 @03:01PM (#1078643)
While reading this article, I felt there was as strong connection to this one (recently posted on hacker news):

http://www.economist.com/sciencetechnology/displayStory.cfm?...

...which basically says that entitled people in positions of power tend to hold others to a higher moral standard than themselves.

You can hope that they encrypt your password; but never trust that they do. Use your own password database.
Re:Mathematical Notation Gets an Upgrade on Friday December 11, 2009 @08:53AM (#989664)
Are you saying Turing didn't invent the hourglass notation? j/k
Re:The Dark Side of Customer Development and Lean Startups on Saturday November 28, 2009 @10:00AM (#965185)
It seems to me that a central part of this argument is having "...suddenly had to allocate a bunch of resources to customer support and bug fixes...".

Building the smallest possible marketable product doesn't mean building a low quality product.

Re:Ask HN: How do you explain closures? on Friday November 06, 2009 @12:10PM (#926388)
Doh!

It would have made more sense if I had some other piece of information to inject in, like if you had a database reference that needed to be passed in to the Delete() method.

Then:

  AddButton("Delete " + obj.ToString(), () => obj.Delete(db));
Vs.

  var d = new DeleteHandler(obj, db);
  AddButton("Delete " + obj.ToString(), d.DoDelete);
EDIT: fixed
Re:Ask HN: How do you explain closures? on Friday November 06, 2009 @11:35AM (#926290)
You could try an example showing what a closure does 'under the hood' by showing an equivalent non-closure example, like:

With Closure:

  foreach (var obj in objects) {
    AddButton("Delete " + obj.ToString(), () => obj.Delete());
  }
Without closure:

  class DeleteHandler {
    public DeleteHandler(TYPE obj) {
      _obj = obj;
    }
    private TYPE obj;
    public void DoDelete() {
      obj.delete();
    }
  }
  ...
  foreach(var obj in objects) {
    var deleteHandler = new DeleteHandler(obj);
    AddButton("Delete " + obj.ToString(), deleteHandler.DoDelete);
  }
Agreed. But the amount of value you get out of the product vs network is subjective to the user and to the product. It depends on how independent you are as a product user, and how easy the product itself is to use.

Take Microsoft Windows for example. Regardless of its own intrinsic value, I think that a lot of people would chose it over, say, a Mac (or Linux) purely based on their own social network, due to the ease of which they might be able to get help and share experiences. The opposite is also probably true (if everyone you know uses a Mac, you'd be more inclined to use one yourself).

For those that like what some other OS has to offer, and they aren't afraid of figuring things out for themselves, then they would go with that regardless of any network effect, because they're more interested in the value of the product itself.

The network affect of a bug tracker is that having a larger user-base means:

(a) more people have run into the same problems as you, and have either posted their own solutions or pressured the company into fixing them (b) more people may have built extensions on the product (c) more people may have written helpful tutorials on the product (d) more people will know what you're talking about when you speak in the product's language.

I think there needs to be more 'marketing' around the idea of simple software that's easy to use and doesn't screw up. Not enough people really appreciate these things in the quest for more features.

Re:Insurance on Rails on Tuesday July 21, 2009 @02:37PM (#716628)
Ruby does have libraries for dealing with real numbers with an arbitrary precision.
Re:Set Based Filesystem idea on Friday July 17, 2009 @12:52PM (#710248)
Maybe some sort of namespacing on tags would fix that; ie. so that your 'conf' tag for a software project doesn't conflict with the system 'conf' tag, which may have a different set of permissions.
Re:SQL Databases Are An Overapplied Solution on Friday July 10, 2009 @08:21AM (#697539)
CouchDB is ACID compliant
Re:Ergoemacs Keybindings on Thursday July 09, 2009 @04:31PM (#696591)
I've seen some people suggest hitting the ctrl key with the 'side' of your hand instead of your pinky. I've found that using the bone directly below your pinky (towards your palm) also works (at least in my case), and is fairly comfortable.

I was inspired to do this by Aikido, where one of the techniques is a pressure-point application using the bones on the inside of your hand to apply specific pressure while holding someone's wrist in a grip.

What I'd really like, is a way to express xml in xml, so I can be super-productive all day long recursively writing a single xml document.
Re: on Wednesday June 03, 2009 @03:10PM (#640219)