Several times in my life, I've thought that I might be able to fix a broken object by using the process of melting. No matter how right I thought I was when I started, I've always, ALWAYS, regretted the idea.
If you program in C++, you should take a look at "Modern C++ Design" by Andrei Alexandrescu. To quote Herb Sutter's blurb off the back cover, "Fundamentally, it demonstrates 'generic patterns' or 'pattern templates' as a powerful new way of creating extensible designs in C++ -- a new way to combine templates and patterns that you may never have dreamt was possible, but is." Ultimately, he gives the reader pre-packaged generic implementations of several of the more common design patterns.
Alexandrescu's pretty far out there on the bleeding of template usage, and many of the tricks he pulls are more complex than I'm willing to embrace, but it's a fascinating book nonetheless.
The process of brewing beer is easy, but not quite THAT easy.
A good introduction to brewing is How To Brew by John Palmer. The entire 1st edition of the book is available on the web for free at the URL above. (Perhaps predictably, it's free as in beer, not as in speech:)
Wow. You mean to tell me that they (spreadfirefox.com) were storing passwords locally and in non-hashed (+salt) form?
I assume that every website I have ever registered for is storing their passwords in plaintext. After all, it's slightly easier to manage, nobody expects to get broken into, and people are lazy.
Sure, some sites you visit will be secure against this kind of problem, but as a external customer, how could you ever know?
Check out Jeffrey's index for MRE (it's in PDF format). Give it a glance. Notice the richness, the usefulness. Notice the multiple levels of headings, rather than just two. Notice the careful treatment of fonts and of the ordering of analphabetic symbols. Many another gem is hidden within that index, which you'll notice if you skim it a bit.
This sort of quality you will never, ever get from some freelance, paid-by-the-hour indexer who doesn't know the problem space, who won't have their name on that book's cover. It does make a difference.
For an offtopic, fictional, and non-serious counter-argument, find a copy of Cat's Cradle by Kurt Vonnegut and read Chapter 55, "Never Index Your Own Book." (you'll have to scroll down with the link I provided, sorry.)
I'm giving the link because it's so weirdly applicable; how often do I get to reference a passage about authors who self-index? Back in reality, I agree with Tom: Friedl's book and index are perfect.
Principal Skinner: Whoever did this is in very deep trouble. Martin: And a sloppy speller, too. The preferred spelling of `weiner' is W-I-E-N-E-R, although E-I is an acceptable ethnic variant. Principal Skinner: Good point.
Now we've begun adding "social" in front of all kinds of new web applications. Anything that lets other users see your profile and the items you post and comment on them is seen as a valid replacement for real human contact.
Del.icio.us has none of these features, and the words "social filtering" are not used to imply any sort of substitution of human contact. It is a system where you can file bookmarks and can find the most popular bookmarks as tagged by other users. "Social filtering" is the phrase that has stuck to describe this informal voting system. Feel free to suggest an alternative.
Your complaint about modern technology making a poor substitute for actual human contact may be valid, but really has nothing to do with this story or with del.icio.us.
I suspect you were also as disappointed as I was in school when I found out that "Social Studies" wasn't a place to talk to other students.
You're a behemoth corporation with more money than I can imagine. Why don't you throw some of that weight and money around and take a stand against these bullshit laws? Fight the lawsuits in court to establsh a set of sane legal precidents, and promote a new "common-carrier printer status" law.
Not only because it's the right thing to do, but because by being sissies, you're undercutting your future sales.
I never knew that the simpsons also asked NASA for the the 40,000th digit of Pi. But I've known for a while that they asked David Bailey for it as well
That didn't sound right to me, and indeed I was misled by a too-quick reading of this page (Which seems like it must be talking about Mosaic on Windows?).
"So why was it ignored? Graphic designer Greg Storey thinks part of the reason is poor design."
The implication that the gov't ignored a dangerous warning because the formatting of the doc wasn't pretty doesn't sound like a Dilbertian caricature of the US gov't?
It's criticizing the format used for a single document, not making a caricature of the entire government! How would you have summarized the article? Do you think the original memo shows good design? Think to how much information and email you get thrown at you. Now imagine how many orders of magnitude more the president must get. Do you think you're both served well by the same format?
Maybe you should spend some time meta-moderating. It'll give you a clearer view of what I'm talking about, here. Lots of mod-points are spent every day supporting popular opinion, and typically that opinion involves criticizing the US.
I hate Bush, mod me up.
Maybe, maybe not, but this post really wasn't an example deep anti-US sentiment.
What I also see a lot of during meta-modertion are people who get cricitized for not being patriotically correct. If I can't suggest a new document format without being accused of being anti-US, well, that's just scary.
"I fail to see how this has anything to do with Slashdot."
It's fashionable on Slashdot these days to criticize the US.
I don't understand this response at all. The original article examined a process, saw something that was suboptimal, and suggested an improvement. And that's considered criticizing the US?
If we've reached the point where we are unable to improve our internal processes because doing so would admit an imperfection, then we are truly fucked.
Re:Is anyone else curious what SSA trees are?
on
GCC 4.0.0 Released
·
· Score: 5, Informative
There have been several good answers to your question, but if you're really new to compilers, you might want a little more context. Want a quick lesson in how compilers work? If you're willing to accept some gross oversimplifications, here's how most modern compilers work:
1) Tokenize the input. For example, if you were compiling perl, you might choose to turn "print $foo" into three tokens; KEYWORD_PRINT, TYPE_SCALAR, and IDENTIFIER('foo'). The output is typically a stream of tokens. This step might be done by lex or flex.
2) Parse the sequence of tokens using a set of rules called a grammar. For example, "TYPE_SCALAR" followed by "IDENTIFIER()" is might match a rule to generate a variable called "$foo", and "KEYWORD_PRINT" followed by a variable means call the function print on the contents of the variable. The output is typically an abstract syntax tree (AST); a high-level data structure representing the program. This step might be done by yacc or bison.
3) Match the AST against a series of rules to output the final code. This might actually be two steps; you might generate something into a low-level register transfer language (RTL) that looks very much like assembly, and then turn THAT into actual machine instructions.
At each stage, you might choose to optimize the output. You might also insert optimizations passes between steps. (For example, you might insert a pass between 2 and 3 to optimize the AST into a simpler AST.)
Before SSA, GCC sort of skipped making any high-level AST; it used to go from parsing almost immediately into a RTL. You can still optimize RTL, but since it's pretty low-level, it misses out on higher-level context and made some optimizations really difficult.
SSA is simply a form used for the high-level AST. Why SSA? It is a very nice form to optimize. Read the wikipedia article for more details on why SSA is particularly useful for some optimizations.
Page 181 of this PDF file from the 2003 GCC Summit explains the flow of the GCC compiler.
Of course, it does have problems, too. 1: When the social bookmarking goes down, you've effectively got no bookmarks. (Foxylicious helps, but it can still be annoying when the site goes down.) 2: You can leak information about yourself, and if the URL contains any secret information, you're really screwed. 3: There's no way easy way save a hierarchy and have it integrate into the browser in a slick way. 4: It gets spammed every so often (people trying to get their links onto the popular page, for example)
Several comments above say, "I don't get why it's cool." Here's my take on it: 1: You can access your bookmarks from many computers 2: You can check out the "popular links" on the site to see what's probably going to show up on slashdot tomorrow. 3: You can tag bookmarks with multiple tags, so they can be accessed from multiple folders. 4: Great way to share cool links with a group of friends. 5: Firefox RSS feed of your own bookmarks = totally slick
The purpose of bit torrent is to distribute illegal copies of movies. If you don't care about whether the movie is somebody else's property, why should you care about whether the software is?
First, let me say: Hi-Larious.
But your comment is still completely irrelevant to the question of the specifics of why bitorrent has a custom open-source license.
This version of bittorrent is licensed under the BitTorrent Open Source License. Could you please compare and contrast this with other open source licenses for me?
This is funny, but I'm also totally serious:
Several times in my life, I've thought that I might be able to fix a broken object by using the process of melting. No matter how right I thought I was when I started, I've always, ALWAYS, regretted the idea.
Even knowing this, I'll probably try it again.
Let's hear your stories!
If you haven't heard of it before, CoolWebSearch has reigned as one of the nastier pieces of spyware for quite a while now. It's hardly surprising they would sink this low.
If you program in C++, you should take a look at "Modern C++ Design" by Andrei Alexandrescu. To quote Herb Sutter's blurb off the back cover, "Fundamentally, it demonstrates 'generic patterns' or 'pattern templates' as a powerful new way of creating extensible designs in C++ -- a new way to combine templates and patterns that you may never have dreamt was possible, but is." Ultimately, he gives the reader pre-packaged generic implementations of several of the more common design patterns.
Alexandrescu's pretty far out there on the bleeding of template usage, and many of the tricks he pulls are more complex than I'm willing to embrace, but it's a fascinating book nonetheless.
The process of brewing beer is easy, but not quite THAT easy.
:)
A good introduction to brewing is How To Brew by John Palmer. The entire 1st edition of the book is available on the web for free at the URL above. (Perhaps predictably, it's free as in beer, not as in speech
Wow. You mean to tell me that they (spreadfirefox.com) were storing passwords locally and in non-hashed (+salt) form?
I assume that every website I have ever registered for is storing their passwords in plaintext. After all, it's slightly easier to manage, nobody expects to get broken into, and people are lazy.
Sure, some sites you visit will be secure against this kind of problem, but as a external customer, how could you ever know?
Check out Jeffrey's index for MRE (it's in PDF format). Give it a glance. Notice the richness, the usefulness. Notice the multiple levels of headings, rather than just two. Notice the careful treatment of fonts and of the ordering of analphabetic symbols. Many another gem is hidden within that index, which you'll notice if you skim it a bit.
This sort of quality you will never, ever get from some freelance, paid-by-the-hour indexer who doesn't know the problem space, who won't have their name on that book's cover. It does make a difference.
For an offtopic, fictional, and non-serious counter-argument, find a copy of Cat's Cradle by Kurt Vonnegut and read Chapter 55, "Never Index Your Own Book." (you'll have to scroll down with the link I provided, sorry.)
I'm giving the link because it's so weirdly applicable; how often do I get to reference a passage about authors who self-index? Back in reality, I agree with Tom: Friedl's book and index are perfect.
Principal Skinner: Whoever did this is in very deep trouble.
Martin: And a sloppy speller, too. The preferred spelling of `weiner' is W-I-E-N-E-R, although E-I is an acceptable ethnic variant.
Principal Skinner: Good point.
Now we've begun adding "social" in front of all kinds of new web applications. Anything that lets other users see your profile and the items you post and comment on them is seen as a valid replacement for real human contact.
Del.icio.us has none of these features, and the words "social filtering" are not used to imply any sort of substitution of human contact. It is a system where you can file bookmarks and can find the most popular bookmarks as tagged by other users. "Social filtering" is the phrase that has stuck to describe this informal voting system. Feel free to suggest an alternative.
Your complaint about modern technology making a poor substitute for actual human contact may be valid, but really has nothing to do with this story or with del.icio.us.
I suspect you were also as disappointed as I was in school when I found out that "Social Studies" wasn't a place to talk to other students.
You're a behemoth corporation with more money than I can imagine. Why don't you throw some of that weight and money around and take a stand against these bullshit laws? Fight the lawsuits in court to establsh a set of sane legal precidents, and promote a new "common-carrier printer status" law.
Not only because it's the right thing to do, but because by being sissies, you're undercutting your future sales.
Signed,
Everybody
I never knew that the simpsons also asked NASA for the the 40,000th digit of Pi. But I've known for a while that they asked David Bailey for it as well
Looks like David Bailey worked for NASA in 1993.
Christ, now I was misled by this article's link to the March article.
I'm giving up on pretending I can give a definitive answer, but this looks like the original announcement of Mosaic, in February, 1993.
NCSA Mosaic wasn't even around until June.
That didn't sound right to me, and indeed I was misled by a too-quick reading of this page (Which seems like it must be talking about Mosaic on Windows?).
The actual original Mosaic release notice, on March 15th, 1993: NCSA Mosaic for X 0.10 available.
I don't know why they needed NASA for that. Pifast will spit out the first 40,000th digits in a very short time on modern computers.
That was in episode 9F20, which aired 5/6/93. No Pifast, no google; heck, NCSA Mosaic wasn't even around until June.
"So why was it ignored? Graphic designer Greg Storey thinks part of the reason is poor design."
The implication that the gov't ignored a dangerous warning because the formatting of the doc wasn't pretty doesn't sound like a Dilbertian caricature of the US gov't?
It's criticizing the format used for a single document, not making a caricature of the entire government! How would you have summarized the article? Do you think the original memo shows good design? Think to how much information and email you get thrown at you. Now imagine how many orders of magnitude more the president must get. Do you think you're both served well by the same format?
Maybe you should spend some time meta-moderating. It'll give you a clearer view of what I'm talking about, here. Lots of mod-points are spent every day supporting popular opinion, and typically that opinion involves criticizing the US.
I hate Bush, mod me up.
Maybe, maybe not, but this post really wasn't an example deep anti-US sentiment.
What I also see a lot of during meta-modertion are people who get cricitized for not being patriotically correct. If I can't suggest a new document format without being accused of being anti-US, well, that's just scary.
"I fail to see how this has anything to do with Slashdot."
It's fashionable on Slashdot these days to criticize the US.
I don't understand this response at all. The original article examined a process, saw something that was suboptimal, and suggested an improvement. And that's considered criticizing the US?
If we've reached the point where we are unable to improve our internal processes because doing so would admit an imperfection, then we are truly fucked.
There have been several good answers to your question, but if you're really new to compilers, you might want a little more context. Want a quick lesson in how compilers work? If you're willing to accept some gross oversimplifications, here's how most modern compilers work:
1) Tokenize the input. For example, if you were compiling perl, you might choose to turn "print $foo" into three tokens; KEYWORD_PRINT, TYPE_SCALAR, and IDENTIFIER('foo'). The output is typically a stream of tokens. This step might be done by lex or flex.
2) Parse the sequence of tokens using a set of rules called a grammar. For example, "TYPE_SCALAR" followed by "IDENTIFIER()" is might match a rule to generate a variable called "$foo", and "KEYWORD_PRINT" followed by a variable means call the function print on the contents of the variable. The output is typically an abstract syntax tree (AST); a high-level data structure representing the program. This step might be done by yacc or bison.
3) Match the AST against a series of rules to output the final code. This might actually be two steps; you might generate something into a low-level register transfer language (RTL) that looks very much like assembly, and then turn THAT into actual machine instructions.
At each stage, you might choose to optimize the output. You might also insert optimizations passes between steps. (For example, you might insert a pass between 2 and 3 to optimize the AST into a simpler AST.)
Before SSA, GCC sort of skipped making any high-level AST; it used to go from parsing almost immediately into a RTL. You can still optimize RTL, but since it's pretty low-level, it misses out on higher-level context and made some optimizations really difficult.
SSA is simply a form used for the high-level AST. Why SSA? It is a very nice form to optimize. Read the wikipedia article for more details on why SSA is particularly useful for some optimizations.
Page 181 of this PDF file from the 2003 GCC Summit explains the flow of the GCC compiler.
Please, can't we just let it die with dignity?
Of course, it does have problems, too.
1: When the social bookmarking goes down, you've effectively got no bookmarks. (Foxylicious helps, but it can still be annoying when the site goes down.)
2: You can leak information about yourself, and if the URL contains any secret information, you're really screwed.
3: There's no way easy way save a hierarchy and have it integrate into the browser in a slick way.
4: It gets spammed every so often (people trying to get their links onto the popular page, for example)
Several comments above say, "I don't get why it's cool." Here's my take on it:
1: You can access your bookmarks from many computers
2: You can check out the "popular links" on the site to see what's probably going to show up on slashdot tomorrow.
3: You can tag bookmarks with multiple tags, so they can be accessed from multiple folders.
4: Great way to share cool links with a group of friends.
5: Firefox RSS feed of your own bookmarks = totally slick
It's just an extension of the childhood game where you write a word on a piece of paper, fold it over, and pass it along, purple monkey dishwasher.
The Russians, who are quite clever, have figured out how to use non-embryonic stem cells to cure spinal cord injuries.
This would be great news. But you're going to have to provide a link to something a little more reliable than Pravda before I start celebrating. Results 1 - 10 of about 1,250 from english.pravda.ru for alien.
The purpose of bit torrent is to distribute illegal copies of movies. If you don't care about whether the movie is somebody else's property, why should you care about whether the software is?
First, let me say: Hi-Larious.
But your comment is still completely irrelevant to the question of the specifics of why bitorrent has a custom open-source license.
Dear Lazyweb:
This version of bittorrent is licensed under the BitTorrent Open Source License. Could you please compare and contrast this with other open source licenses for me?
Thank you, Lazyweb.
Bug 133925: Primary source code archives at Bangalore outsourcing site destroyed by Lashkar-e-Toiba militants.
Priority: Critical/Stopper