The reason that I still like my curly-braces is that I don't want the meaning of my code to change just because somebody (me?) changed the whitespace.
The reason that I now like my whitespace is that I don't want the meaning of my code to change just because somebody (me?) changed the curly-braces. In other words, it's nothing but personal preference.
I imagined as much, but figured that was guaranteed to start an argument about whether ObscureSQL 0.5.7 that some Slashdotter wrote as a class project qualified as a popular database, which would somehow evolve to include racism, Glenn Beck, Microsoft, and the Bilderbergers. I figured it'd be easier to underestimate and save us all the pain.
It surprises me how often people submit arguments to something (even here on Slashdot) and fail to anticipate the opposing view's points. I have read a few of the responses and have found virtually no alternative suggestions to combating piracy than DRM.
When someone offers an inherently ludicrous opinion like "DRM combats piracy" or "2 + cat = rutabaga", it is perfectly acceptable to say "no, that's dumb" without presenting an alternative.
I make a lot of money doing exactly that stuff with "adult" databases. I just think it's fan-freakin'-tastic that some people are experimenting with different ways of doing the same things. Best case: it catches on and everyone's life gets a little easier. Worst case: it goes nowhere and we're no worse off than we are today.
Re:Vendor Hype Orange Alert (Re:hmm)
on
The NoSQL Ecosystem
·
· Score: 4, Informative
A lot of times people who don't know about joins do the basic join of select x.a y.b from x, y where x.c = y.c Not realizing that Most SQL engines will take all the records of x and cross them with y so you will have x.records*y.records Loaded in your system, the it goes and removes the matches. So O(n^2) in performance, Vs. If you do a Select x.a, y.b from x left join y on x.c
Dude. That is so unbelievably wrong. First, implicit (comma) joins are inner, not left: your results will differ from the original query. Second, please name one popular database released in the last 3 years that implements inner joins with predicates in the way you describe. I can't speak for the others, but PostgreSQL sure as hell doesn't:
=> select count(1) from invoice; select c count --------- 1241342
=> select count(1) from ship; count -------- 664708
=> select invoice.invid from invoice, ship where invoice.shipid = ship.shipid and ship.name_delpt = 'redacted'; invid --------- 12345 12346
Each of those queries against our live production database ran in under a second (and I only edited the input and output of the final query). PostgreSQL may be quick, but I promise you it didn't have time or RAM to create 825,129,958,136 tuples and then winnow out the non-matches. Maybe you're stuck on an ancient version of a DB that was crappy to start with, but the rest of us don't put up with the same insanities you describe.
I did it by every time I did an INSERT, DELETE, or UPDATE query, taking an exact copy of the query and dumping it into a special table in the database (along with a stack trace of where it was called from). To reconstruct I could just run those commands straight from the database, to whatever point was desired. It was simple, straightforward and efficient, although I'm sure someone else has a better idea.
Here's the same thing in Python and CouchDB:
#!/usr/bin/env python
from couchdb.client import Server
# Connect to the server server = Server('http://db1:5984/')
print 'databases:', list(server)
# Connect to a database on the server db = server['example']
print 'documents in the example database:', list(db)
# Create a new record, store it, then make a few modifications and # store them too. record = {'foo': 1} db['foo'] = record record['bar'] = 2 db['foo'] = record record['baz'] = 3 db['foo'] = record record['foo'] = 4 db['foo'] = record
# Get a list of all the revisions of our new object revinfo = db.get('foo', revs=True)['_revisions']
# Turn the revision information into a list of keys used by CouchDB revs = ['%d-%s' % pair for pair in zip(range(revinfo['start'], 0, -1), revinfo['ids'])]
# Print each revision so we can see the changes over time for rev in revs: print db.get('foo', rev=rev)
# Clean up after ourselves db.delete(record)
I'm sure this could be made easier (such as the Python client library implementing the revision-generating code as a method on the record - I'm off to submit patches now), but not by a whole lot.
If you know a simpler way to do this with, say, PostgreSQL, then please share.
I'm a huge PostgreSQL fan and took classes in formal database theory in college. I'm saying this as someone who understands and thoroughly appreciates relational databases: I'm starting to love schema-less systems. I've only been playing with CouchDB for a few weeks but can certainly see what such stores bring to the table. Specifically, a lot of the data I've stored over the years doesn't neatly map to a predefined tuple, and while one-to-one tables can go a long way toward addressing that, they're certainly not the most elegant or efficient or convenient representation of arbitrary data.
I'm certainly not going to stop using an RDBMS for most purposes, but neither am I going to waste a lot of time trying to shoehorn an everchanging blob into one. Each tool has its place and I'm excited to see what niche this ecosystem evolves to fill.
When I was a kid 20-mumble years ago, I knew someone who got Hodgkin's lymphoma (or "disease" at the time). His family prepared for the inevitable death that was to come a few months later. Today, the cure rate is 90% - it's the cancer you want to get if you're going to have one. I'm personally pretty happy with the cure rates we're seeing in some previously fatal diseases.
I lost 19 pounds in a week, just to prove a point.
No, you didn't. 19 lbs * 3500 cals/pound / 7 days = a deficit of 9,500 calories per day. Assuming you were pretty big before with a base metabolism of 3,500 calories per day, if you ate nothing whatsoever, you'd have to burn off an extra 6,000 through exercise. The fact that you're posting here and not busy with your hyperathlete training program would lead me to believe that there's no way in hell you could do that.
First, exercise is boring as hell. We all know that. So, find a way to make it actually fun and you've overcome a huge hurdle. What worked for me was EA Active for Wii, with the female trainer. Yeah, I know it's silly, but hearing a fit woman saying things like "you're really working hard! You're body will thank you for this!" was a motivator. Maybe others would prefer the guy trainer for other silly-but-effective reasons, or maybe a different workout regimen altogether. That's OK! The whole point is finding something that you, personally can actually get excited about doing several times a week.
Next, and even more importantly, I've started keeping track of what I eat. I installed the (free) "Lose It!" app for my iTouch, entered my height and weight, how much I wanted to weigh, and how fast I wanted to get there. It creates a personalized calorie goal for each day which decreases over time as you lose weight. The single biggest thing it did for me, though, was making me aware of the nutrition of everything I eat. I was hungry one day and bought an Angry Whopper. I was halfway through it when I discovered that it had 880 calories and 55g of fat. WTF? I don't want that in my body! So I cut it in half and ate the rest for lunch the next day. Notice something important though: I still got to eat it. I'm not subsisting on rice cakes and lemon water. I had a nice meal at Red Lobster a couple of nights ago, then made up for it by eating lightly the next day. I'm not going to spend the rest of my life denying myself everything I'd actually enjoy eating, but I'm perfectly fine with keeping track of intake and adjusting appropriately until the day I die. Again, I found the tool that worked best for me. Maybe you'd prefer a paper notebook, or an Excel spreadsheet? Whatever. Just be aware of what you're actually taking in, not what you think you might be eating.
So, what's this got me? I've lost 29 pounds in three months without doing anything other than playing a fun (to me) video game and coming to understand the nutrition of the food I'm eating. No fads, no energy-burning drinks, no starvation, no feeling intimidated at the gym, nothing. I've taken in three holes in my belt and started wearing my jeans up around my waist, not under my gut. I admit that I got discouraged a week or so ago because my weight had plateaued, but one day I was hopping in the shower after a workout and saw my arms. What. The. Hell? For the first time, perhaps in my entire life, I could see all the major muscle groups in my arms and shoulders. I've always been decently strong, but instead of just having large, amorphous arms, I can actually see the (amazingly large, to me!) individual muscles in them. Screw my weight - I'm getting ripped! Slowly, sure, because Wii Active isn't the same as pumping iron at a gym, but it's still happening! That was just about the best feeling: looking into a mirror and grinning like an idiot because I actually liked what I saw.
I've been having fun and eating decently for the last three months, lost nearly thirty pounds, dropped about 6% body fat, and have a totally different self image. If I can do it, barring any exceptional physical conditions, you can too. Don't torture yourself or regard diet and exercise as something awful and difficult, but as something that can be fun and educational. I listed the tools that worked for me, but find your own and go with them. Geek out on it. We're as able to do this as anyone else!
Yes, to all of the above. You really need to read up on anti-Irish discrimination, with similar stories for other white ethnic groups.
It's an odd world you inhabit where being any kind of white has always been a free pass. Things are different today where discrimination is based much more on class than race or ethnicity.
And of course none of this has anything to do with Firefox or IE, so I'm done on the subject.
As a white person, your parents, and their grandparents, and so on, haven't been subject to the legacy of US slavery and ongoing racism.
I'm part Irish. I'd like you to tell my grandparents that they - and their neighbors, the Italians - are part of a white, privileged, un-discriminated-against upper class.
Of course, you'd have to go to the Irish and Italian ghettos to find them.
It is unfortunate that SORBS has gotten a bad rap. Although it has been plagued on the administrative side of things, its list was still helpful in detecting and removing spam.
So is unplugging your mailserver. It'd get roughly the same number of false positives, except without the malice.
Do you have a reason why the birthday attack wouldn't apply here? Not criticizing - I'm genuinely interested.
I screwed up the math anyway. Assuming I'm right about a birthday attack yielding space=2^128 effective bits, and blocks=8M, the likelihood of not finding a collision should be: (space!/(space-blocks)!)/bits!, correct? After all, the probability for a collision with 1 block is 0. 2 blocks = 1/space. 3 blocks = (1/space)*(2/space), etc.
I don't have R or GmPy installed on my new desktop yet to actually figure out a numeric value for that.
Still, many people will not accept heuristic or probabilistic solutions to deterministic problems, because they don't trust the heuristic and/or don't want to increase their chances of failure.
I understand their point, but when the odds against such are error are so astronomically slim, I can live with it.
I quit reading here. What is it with you and your ilk? Can't you disagree politely.
If I were hanging out with my friends, shooting pool and drinking beer, and someone made an outlandish claim like the post I was replying to, the rest of us would promptly make fun of them.
This isn't a courtroom or a debate club. It's an informal hangout where it's OK to tell people who are full of crap that they're full of crap, and I'd expect anyone here to tell me the same if I said something dumb.
Yep. We have a very lightweight Python server process that accepts SQL over XMLRPC, runs the query, then returns the results. That way our Unix servers can query the same databases as the Windows machines. Imagine how happy I was to realize that the multi-threaded XMLRPC server was still processing queries in series instead of in parallel, and then finding the MSDN article explaining the limitation of the client libraries. It did give me bargaining power to upgrade to a PostgreSQL backend, so all ended well.
A copy of OS X and Mac is profitable for Apple. A copy of OS X and an netbook probably isn't.
That's RIAA logic: you're actually claiming that Apple lost money by selling me that copy of Leopard for $130, because it's less than the $1,000 or so I would have paid if I'd bought their hardware at the same time. While I'm certain they'd rather have the $1,000, I'm just as certain that they ended up with $130 that they wouldn't have had otherwise.
The reason that I still like my curly-braces is that I don't want the meaning of my code to change just because somebody (me?) changed the whitespace.
The reason that I now like my whitespace is that I don't want the meaning of my code to change just because somebody (me?) changed the curly-braces. In other words, it's nothing but personal preference.
You can amend that to "last 20 years".
I imagined as much, but figured that was guaranteed to start an argument about whether ObscureSQL 0.5.7 that some Slashdotter wrote as a class project qualified as a popular database, which would somehow evolve to include racism, Glenn Beck, Microsoft, and the Bilderbergers. I figured it'd be easier to underestimate and save us all the pain.
It surprises me how often people submit arguments to something (even here on Slashdot) and fail to anticipate the opposing view's points. I have read a few of the responses and have found virtually no alternative suggestions to combating piracy than DRM.
When someone offers an inherently ludicrous opinion like "DRM combats piracy" or "2 + cat = rutabaga", it is perfectly acceptable to say "no, that's dumb" without presenting an alternative.
I make a lot of money doing exactly that stuff with "adult" databases. I just think it's fan-freakin'-tastic that some people are experimenting with different ways of doing the same things. Best case: it catches on and everyone's life gets a little easier. Worst case: it goes nowhere and we're no worse off than we are today.
A lot of times people who don't know about joins do the basic join of select x.a y.b from x, y where x.c = y.c Not realizing that Most SQL engines will take all the records of x and cross them with y so you will have x.records*y.records Loaded in your system, the it goes and removes the matches. So O(n^2) in performance, Vs. If you do a Select x.a, y.b from x left join y on x.c
Dude. That is so unbelievably wrong. First, implicit (comma) joins are inner, not left: your results will differ from the original query. Second, please name one popular database released in the last 3 years that implements inner joins with predicates in the way you describe. I can't speak for the others, but PostgreSQL sure as hell doesn't:
Each of those queries against our live production database ran in under a second (and I only edited the input and output of the final query). PostgreSQL may be quick, but I promise you it didn't have time or RAM to create 825,129,958,136 tuples and then winnow out the non-matches. Maybe you're stuck on an ancient version of a DB that was crappy to start with, but the rest of us don't put up with the same insanities you describe.
I did it by every time I did an INSERT, DELETE, or UPDATE query, taking an exact copy of the query and dumping it into a special table in the database (along with a stack trace of where it was called from). To reconstruct I could just run those commands straight from the database, to whatever point was desired. It was simple, straightforward and efficient, although I'm sure someone else has a better idea.
Here's the same thing in Python and CouchDB:
I'm sure this could be made easier (such as the Python client library implementing the revision-generating code as a method on the record - I'm off to submit patches now), but not by a whole lot.
If you know a simpler way to do this with, say, PostgreSQL, then please share.
I'm a huge PostgreSQL fan and took classes in formal database theory in college. I'm saying this as someone who understands and thoroughly appreciates relational databases: I'm starting to love schema-less systems. I've only been playing with CouchDB for a few weeks but can certainly see what such stores bring to the table. Specifically, a lot of the data I've stored over the years doesn't neatly map to a predefined tuple, and while one-to-one tables can go a long way toward addressing that, they're certainly not the most elegant or efficient or convenient representation of arbitrary data.
I'm certainly not going to stop using an RDBMS for most purposes, but neither am I going to waste a lot of time trying to shoehorn an everchanging blob into one. Each tool has its place and I'm excited to see what niche this ecosystem evolves to fill.
When I was a kid 20-mumble years ago, I knew someone who got Hodgkin's lymphoma (or "disease" at the time). His family prepared for the inevitable death that was to come a few months later. Today, the cure rate is 90% - it's the cancer you want to get if you're going to have one. I'm personally pretty happy with the cure rates we're seeing in some previously fatal diseases.
I lost 19 pounds in a week, just to prove a point.
No, you didn't. 19 lbs * 3500 cals/pound / 7 days = a deficit of 9,500 calories per day. Assuming you were pretty big before with a base metabolism of 3,500 calories per day, if you ate nothing whatsoever, you'd have to burn off an extra 6,000 through exercise. The fact that you're posting here and not busy with your hyperathlete training program would lead me to believe that there's no way in hell you could do that.
Ask yourself, if you were flying at 30,000' over your operation, "What would I see?"
At times in my past, I would have wanted that to be "cross hairs and a payload release button".
Do not be tricked into answering this question truthfully.
First, exercise is boring as hell. We all know that. So, find a way to make it actually fun and you've overcome a huge hurdle. What worked for me was EA Active for Wii, with the female trainer. Yeah, I know it's silly, but hearing a fit woman saying things like "you're really working hard! You're body will thank you for this!" was a motivator. Maybe others would prefer the guy trainer for other silly-but-effective reasons, or maybe a different workout regimen altogether. That's OK! The whole point is finding something that you, personally can actually get excited about doing several times a week.
Next, and even more importantly, I've started keeping track of what I eat. I installed the (free) "Lose It!" app for my iTouch, entered my height and weight, how much I wanted to weigh, and how fast I wanted to get there. It creates a personalized calorie goal for each day which decreases over time as you lose weight. The single biggest thing it did for me, though, was making me aware of the nutrition of everything I eat. I was hungry one day and bought an Angry Whopper. I was halfway through it when I discovered that it had 880 calories and 55g of fat. WTF? I don't want that in my body! So I cut it in half and ate the rest for lunch the next day. Notice something important though: I still got to eat it. I'm not subsisting on rice cakes and lemon water. I had a nice meal at Red Lobster a couple of nights ago, then made up for it by eating lightly the next day. I'm not going to spend the rest of my life denying myself everything I'd actually enjoy eating, but I'm perfectly fine with keeping track of intake and adjusting appropriately until the day I die. Again, I found the tool that worked best for me. Maybe you'd prefer a paper notebook, or an Excel spreadsheet? Whatever. Just be aware of what you're actually taking in, not what you think you might be eating.
So, what's this got me? I've lost 29 pounds in three months without doing anything other than playing a fun (to me) video game and coming to understand the nutrition of the food I'm eating. No fads, no energy-burning drinks, no starvation, no feeling intimidated at the gym, nothing. I've taken in three holes in my belt and started wearing my jeans up around my waist, not under my gut. I admit that I got discouraged a week or so ago because my weight had plateaued, but one day I was hopping in the shower after a workout and saw my arms. What. The. Hell? For the first time, perhaps in my entire life, I could see all the major muscle groups in my arms and shoulders. I've always been decently strong, but instead of just having large, amorphous arms, I can actually see the (amazingly large, to me!) individual muscles in them. Screw my weight - I'm getting ripped! Slowly, sure, because Wii Active isn't the same as pumping iron at a gym, but it's still happening! That was just about the best feeling: looking into a mirror and grinning like an idiot because I actually liked what I saw.
I've been having fun and eating decently for the last three months, lost nearly thirty pounds, dropped about 6% body fat, and have a totally different self image. If I can do it, barring any exceptional physical conditions, you can too. Don't torture yourself or regard diet and exercise as something awful and difficult, but as something that can be fun and educational. I listed the tools that worked for me, but find your own and go with them. Geek out on it. We're as able to do this as anyone else!
You're quite the pistol, aren't you?
Stealing is stealing. Period.
Yes, and copyright infringement ain't it, no matter how much your employer wishes otherwise.
Fwiw, my gf and my work boxes run 3.5.10
Dude. You just referred to your computer as your girlfriend. In public. That's too geeky, even by my standards.
If falls in the PD, then no one should be allowed to profit
That's possibly the dumbest interpretation of "public domain" I've seen here, and that's saying a lot. Here's a biscuit!
Yes, to all of the above. You really need to read up on anti-Irish discrimination, with similar stories for other white ethnic groups.
It's an odd world you inhabit where being any kind of white has always been a free pass. Things are different today where discrimination is based much more on class than race or ethnicity.
And of course none of this has anything to do with Firefox or IE, so I'm done on the subject.
Don't question it. Nothing involving SORBS made a whole lot of sense.
"Oh, no. Not again."
Thanks. I'll consider that later tonight when I have some free time.
As a white person, your parents, and their grandparents, and so on, haven't been subject to the legacy of US slavery and ongoing racism.
I'm part Irish. I'd like you to tell my grandparents that they - and their neighbors, the Italians - are part of a white, privileged, un-discriminated-against upper class.
Of course, you'd have to go to the Irish and Italian ghettos to find them.
It is unfortunate that SORBS has gotten a bad rap. Although it has been plagued on the administrative side of things, its list was still helpful in detecting and removing spam.
So is unplugging your mailserver. It'd get roughly the same number of false positives, except without the malice.
Our typical customer is *not* technically minded in the least:
Chrome 9, 8.4%
Uh-huh. A twelfth of your users have managed to install the geekiest (in a good way) browser around, but they're not very technical.
Wow, we're sidetracked. :-D
Do you have a reason why the birthday attack wouldn't apply here? Not criticizing - I'm genuinely interested.
I screwed up the math anyway. Assuming I'm right about a birthday attack yielding space=2^128 effective bits, and blocks=8M, the likelihood of not finding a collision should be: (space!/(space-blocks)!)/bits!, correct? After all, the probability for a collision with 1 block is 0. 2 blocks = 1/space. 3 blocks = (1/space)*(2/space), etc.
I don't have R or GmPy installed on my new desktop yet to actually figure out a numeric value for that.
Still, many people will not accept heuristic or probabilistic solutions to deterministic problems, because they don't trust the heuristic and/or don't want to increase their chances of failure.
I understand their point, but when the odds against such are error are so astronomically slim, I can live with it.
I quit reading here. What is it with you and your ilk? Can't you disagree politely.
If I were hanging out with my friends, shooting pool and drinking beer, and someone made an outlandish claim like the post I was replying to, the rest of us would promptly make fun of them.
This isn't a courtroom or a debate club. It's an informal hangout where it's OK to tell people who are full of crap that they're full of crap, and I'd expect anyone here to tell me the same if I said something dumb.
Yep. We have a very lightweight Python server process that accepts SQL over XMLRPC, runs the query, then returns the results. That way our Unix servers can query the same databases as the Windows machines. Imagine how happy I was to realize that the multi-threaded XMLRPC server was still processing queries in series instead of in parallel, and then finding the MSDN article explaining the limitation of the client libraries. It did give me bargaining power to upgrade to a PostgreSQL backend, so all ended well.
How many people making Hackintoshes are actually paying for the software
I did.
A copy of OS X and Mac is profitable for Apple. A copy of OS X and an netbook probably isn't.
That's RIAA logic: you're actually claiming that Apple lost money by selling me that copy of Leopard for $130, because it's less than the $1,000 or so I would have paid if I'd bought their hardware at the same time. While I'm certain they'd rather have the $1,000, I'm just as certain that they ended up with $130 that they wouldn't have had otherwise.