Hacker News new | past | comments | ask | show | jobs | submit | Malus's comments login

This doesn't work well for those who are wheelchair-bound or in crutches.


IceWeasel was created to work around trademark restrictions; Mozilla Corporation would not allow to Debian to use the trademarked names as long as Debian was distributing the software with unapproved patches. So, Debian created their own branding in order to comply. See http://en.wikipedia.org/wiki/Mozilla_Corporation_software_re... for more details.


If you live in the city and use the subway often, it is easier to get a 30-day unlimited ride pass. Lots of employers will even provide monthly unlimited ride passes as a pre-tax benefit via TransitChek.


When I was in high school and college, they typically only banned calculators that had full keyboards (e.g. TI-92). I believe I was allowed to use a TI-89 on both the SATs and the GREs.


Garbage Collection: Algorithms for Automatic Dynamic Memory Management is the original book, whereas The Garbage Collection Handbook: The Art of Automatic Memory Management is the new and updated version. I have the original, but it would be nice to know everything the new book adds.


Maven can generate one for you:

  mvn archetype:generate -DgroupId=com.mycompany.app -DartifactId=my-app -DarchetypeArtifactId=maven-archetype-quickstart -DinteractiveMode=false
Which is not trivial I suppose, but it is pretty easy to do.


Looks like it is fixed now:

  $ expr \( -2147483648 \) \* -1

  2147483648

  $ expr \( -2147483648 \) / -1 

  2147483648

  $ uname -srm

  FreeBSD 10.0-RELEASE amd64
Or maybe it doesn't work on i386?


It's likely an i386 thing:

  $ echo | awk '{ print 2 ** 31 }'
  2147483648
Make sure you are using /bin/expr and maybe give -9223372036854775808 a whirl too.


It now reports overflow instead of crashing, but the first case is still incorrect:

  $ which expr

  /bin/expr

  $ expr \( -9223372036854775808 \) \* -1

  -9223372036854775808

  $ expr \( -9223372036854775808 \) / -1 

  expr: overflow
Looking at the source code:

  void

  assert_times(intmax_t a, intmax_t b, intmax_t r)

  {

          /*

           * if first operand is 0, no overflow is possible,

           * else result of division test must match second operand

           */

          if (a != 0 && r / a != b)

                  errx(ERR_EXIT, "overflow");

    }


  struct val *

  op_times(struct val *a, struct val *b)

  {

          struct val *r;


          assert_to_integer(a);

          assert_to_integer(b);

          r = make_integer(a->u.i * b->u.i);

          assert_times(a->u.i, b->u.i, r->u.i);


          free_value(a);

          free_value(b);

          return (r);

  }


  void

  assert_div(intmax_t a, intmax_t b)

  {

          if (b == 0)

                  errx(ERR_EXIT, "division by zero");

          /* only INTMAX_MIN / -1 causes overflow */

          if (a == INTMAX_MIN && b == -1)

                  errx(ERR_EXIT, "overflow");

  }


  struct val *

  op_div(struct val *a, struct val *b)

  {

          struct val *r;

          assert_to_integer(a);

          assert_to_integer(b);

          /* assert based on operands only, not on result */

          assert_div(a->u.i, b->u.i);

          r = make_integer(a->u.i / b->u.i);

          free_value(a);

          free_value(b);

          return (r);

  }
Looks like the check for overflow in the multiplication case is broken since the check itself does not account for overflow. I'll try to remember to submit a patch when I get home.


thanks!


Look at the date of the RFC; I am pretty sure that this document was not meant to be taken seriously whatsoever.


Ah... I somehow missed that bit. Thanks.


That is because the tab on line 4 was converted to 4 spaces. A simple find + replace fixes the problem.


Sure, if you can interpret "Makefile:4: * * * missing separator. Stop."


To be fair, if you have hand-created many Makefiles, you'd already be quite familiar with that error.


Lars may be an asshole, but it is unfair to say that he made less of a contribution to the writing that Cliff did. Lars has writing credits on 8 tracks of Kill'Em All [0], 8 tracks of Ride the Lightning [1], 8 tracks of Master of Puppets [2], and 9 tracks of ...And Justice for All [3], whereas Cliff only has 1, 6, 3, and 1 tracks on said albums respectively. Furthermore, James wrote nearly all of the lyrics himself, so I really don't see how Cliff can be considered the driving force behind the writing of Metallica's early music.

[0] http://en.wikipedia.org/wiki/Kill_%27Em_All#Track_listing

[1] http://en.wikipedia.org/wiki/Ride_the_Lightning#Track_listin...

[2] http://en.wikipedia.org/wiki/Master_of_Puppets#Track_listing

[3] http://en.wikipedia.org/wiki/...And_Justice_for_All_%28album...


Wow. I was wrong. this changes everything.

And now, the only answer I have for "why does everything post-Justice suck so much?" is "Bob Rock" and "Rick Rubin".


On the other hand, wasn't Lars the driving force between the terrible mastering of their more recent albums? I remember reading something where he said basically that because he didn't personally hear any clipping and it sounded good in his car that it was good.


From what I understand, Rick Rubin wanted it mastered that way so it sounded "louder" (yet another casualty of the loudness wars) and the band just went with it. Unfortunately, the average consumer (or band member apparently) couldn't care less about audio quality, so it is no surprise that Lars has no qualms about it.

I cannot find a working link for the original interview, but BlabberMouth has the quote you are referring to: http://www.blabbermouth.net/news/metallica-s-lars-ulrich-bre...


Join us for AI Startup School this June 16-17 in San Francisco!

Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: