@morbiuswilters said:
If you're going to be a pedantic dickweed, make sure you're right.
Are you trying to kill off the entire forum?
@morbiuswilters said:
If you're going to be a pedantic dickweed, make sure you're right.
Are you trying to kill off the entire forum?
@morbiuswilters said:
@Kittemon said:Filed under: I can spell "zucchini" correctly on the first attempt while drunkDude, drunk at 2:11 in the afternoon?
Wrong timezone. Also, unconventional working hours.
What kind of plant is that, anyway? A zucchini?
@morbiuswilters said:
@blakeyrat said:Full article is worth a read.Meh, [...] lots of silly bullshit.
@random self-important twit posting something on the nets said:
There are, in general, a whole lot of functions that blur the line between text and variables.compact
andextract
are just the tip of the iceberg.
@morbiuswilters said:
@serguey123 said:[quote user="People complaining about the "wrong" usage of cute and amazing"]
blah blah blah
Oh boy... wait until you find out what oxygen actually means
Wat?[/quote]
Something that produces acid?
@Soviut said:
Besides, the only part that's really crucial to read is the top and that contrasts very well.
@Weng said:
In other words, New Joisey is an even biggerautomotivebackwater hellhole than most people realize.
Sadly, it's probably so that the abject fucking morons pedantic dickweeds lawyers don't come after them.
@morbiuswilters said:
I wouldn't have to wear gay shorts
@morbiuswilters said:
so I wouldn't show up to work exhausted and sweaty
@blakeyrat said:
I wonder if "I wonder if we worked for the same company?" is a clever thing to post here, or if we see that stupid cliche in every goddamned thread.
I wonder if we read the same forum?
@blakeyrat said:
Ok; then how do you recommend I solve this problem? Remember, the only access to the site I have is a single <20k JavaScript file on each page.
@fterfi secure said:
analytics genuinely is a special case. In its way it's every bit as vital to the web as we know it as, say, HTTP. I think a lot of people don't realise that analytics are absolutely vital in persuading businesses to invest in creating content for the web. The more accurately you can quantise the return, the easier it is to persuade people to put money into something online.
Do you work in marketing?
@fterfi secure said:
If I send you money for a plane ticket, will you come here so I can punch you repeatedly until you shut up?
@blakeyrat said:
The point of closing connections during UNLOAD is so the browser can get on with loading the new page as quickly as possible without delaying the user. An async request delays the user, so it's the kind of thing the browser should be aborting. A synchronous request doesn't and so shouldn't. That it does now is only a side-effect of how a browser, technically, disposes of a page.
Loading a new page is completely beside the point. The key concept is that the WWW is (and has always been) stateless. A single page, along with any embedded or explicitly associated resources, form a context that is considered to be a single entity, which exists in a vacuum. Any open connections are also resources associated with the current context; as such, they should be disposed of along with everything else when the page is unloaded. Similarly, it makes no sense whatsoever to open a new connection during BeforeUnload, as that would load a completely new resource into the current context, just as the browser has begun the process of disposing of the context. Whether your request is synchronous or asynchronous is a red herring.
@blakeyrat said:
Hard to say, since I've never tried using an async request because that would be terrible code and make my product a terrible product. For all I know, though, that works 100% of the time. Or 0% of the time. The only hint I have that it works is that stupid fake-o JS debugger uses it, which implies it works in WebKit... but I haven't used that either, so I simply do not know.
So no, I haven't "found out." As you'd know if you bothered to read anything I've typed here.
I bothered to read this:
@blakeyrat said:The reason the request is cancelled is because of the way the browsers have implemented their unload... basically they dispose all the connections related to the last page before beginning the next, instead of letting the connections complete on their own. And as I pointed out in this thread, that is a reasonable and right design decision in most use-cases
I chose to take it at face value, and assume that you weren't simply over-generalizing, or talking out of your ass about something you neither know about, nor had even tried yet. If your claim is that I shouldn't have made that assumption, based on totally unrelated posts of yours that I've previously read, then I concede the point.
Moreover, as others have already pointed out by now, you got the sync/async distinction backwards, which firstly is confusing, and secondly doesn't give me much confidence that you actually understand the thing you're ranting about in the first place.
@morbiuswilters said:
The WTF is blakeyrants. Another WTF is that Mobile Safari does not have a Javascript debugger, not that the browser blocks questionable behavior, which I thought was abundantly clear. Blakey himself has repeatedly stated that what he is doing is messy and he would prefer the browsers to implement a proper feature to make web analytics easier. Also, because the web is such a shitty platform, we are frequently reduced to doing stupid things to get the software to work. Welcome to web development, kid.
Thanks, Mom. Also, FTFY.
@morbiuswilters said:
@Kittemon said:Actually, what he said was more along the lines of "ZOMG YOU ARE ALL IDIOTS WHY DIDN'T YOU THINK TO READ THIS THREAD FRIST". We're talking about blakeyrat after all.Which, as I pointed out, I don't think was very sensible of him. However, he wasn't responding to you, he was responding to someone else.
It's a forum. He was responding to everyone who gives enough of a crap to bother reading it.
@morbiuswilters said:
By the time you chimed in with your unworkable suggestion, his comment had already been up for 7 hours.
You just said that. I already responded to that.
@morbiuswilters said:
@Kittemon said:I was merely adding a bit of humor to something that was no longer relevant to anyone. Blakeyrat doesn't come here for answers anyway, he comes here for humor; so, I don't see the problem.So the humor is dogpiling on Blakey for doing something he already stated he can't do? Oh, ha ha. I get it.
No, the humor was in replacing the poor horse that had already been flogged to death with a neon pink elephant that was still very much alive and rather annoyed at being flogged.
@Kittemon said:
@morbiuswilters said:So my conclusion is either: 1) you did not read the thread; or 2) you are an idiot. I went for #1 because I'm a nice guy.
False dilemma. Also, you are a liar.
OTFY
@morbiuswilters said:
I guess a third option exists: you are trolling. But I find it annoying when people accuse others of trolling; it's real crybaby stuff.
Yet here you go...
@morbiuswilters said:
I'm not sure how not calling you a troll makes me a liar, though.
+1, subtlety
@blakeyrat said:
I am trying to send a synchronous HTTP request (actually an image request), not an async XmlHttpRequest. Do you not understand the difference?
You're trying to initiate a new connection during BeforeUnload. AFAICT the nature of the connection should be irrelevant.
@blakeyrat said:
There's no reason for those to be cancelled by the browser, because they do not (normally) slow the browsing experience for the user. The reason the request is cancelled is because of the way the browsers have implemented their unload... basically they dispose all the connections related to the last page before beginning the next, instead of letting the connections complete on their own. And as I pointed out in this thread, that is a reasonable and right design decision in most use-cases except mine-- in which case it would be nice to have another command or a XmlHttpRequest flag to be able to hint to the browser that I need the connection to remain open, despite page unload.
Sure, let's come up with a standard for a brand new XSS attack vector that all browsers must implement, so that we can have web analytics which are slightly more precise, but which are not significantly more meaningful.
@blakeyrat said:
You're either too stupid to know the difference between an async HTTP request and a synchronous HTTP request
hurrrrr... durr?
@blakeyrat said:
or you're the one lying here.
By removing my comment and its context, you've managed to fail spectacularly at comprehending what I wrote. Congratulations, you're up to par.
@blakeyrat said:
Still going to try and claim you read the thread completely?
Yes. I simply don't think the distinction between sync and async should hold any relevance to the actual issue, in theory. As you've found, it doesn't seem to hold any relevance to the actual issue, in practice.
@morbiuswilters said:
@Kittemon said:Apparently it has everything to do with that, but he didn't bother mentioning it until the fourth page of comments.
Who gives a shit? It's irrelevant to the WTF.
It's relevant because blakey himself said that the very thing he was attempting to do probably would not work (because it's a stupid thing to do, and any sensible person would expect a browser to disallow it). Yet he attempted to do it anyway, then posted a blakeyrant because he had no way to debug what he was doing when it did, as expected, fail to work. I pointed out his apparent cognitive disconnect earlier on in the thread, on the assumption that he wouldn't have posted this particular blakeyrant if he hadn't been so driven to try something that he figured would not work even before he tried it. Did you read that part of the thread?
@morbiuswilters said:
@Kittemon said:@morbiuswilters said:Blakey said "Hey, that sever-side redirect thing won't work and here's a link to a previous thread where I explain why."tl;dr: "No, I don't read other threads that may not be remotely related to the one I'm posting in before I post."FTFY
Actually, what he said was more along the lines of "ZOMG YOU ARE ALL IDIOTS WHY DIDN'T YOU THINK TO READ THIS THREAD FRIST". We're talking about blakeyrat after all.
@morbiuswilters said:
Seven hours later you quote the same incorrect suggestion and then add condescending text that implies this is exactly what Blakey should have been doing all along. So, yes, your reply was idiotic flamebait.
Edit: BTW, I'm not saying it made sense for Blakey to flame the guy who provided the initial suggestion. The point is, by the time you chimed in it had been well-established that server-side redirects will not work.
By the time I chimed in, I had already established in a previous comment that blakeyrat was well aware that what he was trying to accomplish was stupid. Did you read that part of the thread? I was merely adding a bit of humor to something that was no longer relevant to anyone. Blakeyrat doesn't come here for answers anyway, he comes here for humor; so, I don't see the problem.
@morbiuswilters said:
So my conclusion is either: 1) you did not read the thread; or 2) you are an idiot. I went for #1 because I'm a nice guy.
False dilemma. Also, you are a liar.
@El_Heffe said:
@Kittemon said:
Edit: I stand corrected! He did indeed say that it was for web analytics, from which I am to have inferred that it was for sites other than his own.WTF? Right in his original post he says that the problem is an app, written in Javascript, that needs to run on an iPad. But it doesn't work properly on the iPad and he can't debug it because IOS devices have no Javascript debugger. It has nothing to do with "web analytics" or "sites other than his own".
Apparently it has everything to do with that, but he didn't bother mentioning it until the fourth page of comments. Oh, and also in that other thread, which we all should have known to read for additional context prior to reading this one.
@morbiuswilters said:
tl;dr: "No, I don't read other threads that may not be remotely related to the one I'm posting in before I post."
FTFY
@fterfi secure said:
@fterfi secure said:Are you mad? Speak to the sales team at your local training centre and have them split each course intoEh, what the hell happened there. That was an end to that sentence before, honest. Something like 'into
I lol'd.
@morbiuswilters said:
@Kittemon said:@ASheridan said:You could do what
Google doesevery other site in the world has been doing since the end of the last millennium, and not actually link to the external sites at all. Look at their search pages, the results display the URL, but the link behind them is actually to another Google page which does whatever clearing up or final checking they need. Quite easy to add in your last visit entry and the link you've requested before sending the users browser to another site.This is probably least fraught with problems and most likely to work in all cases.
FTFY. To be fair, this can't catch the case where the site is so obviously sucky that the user immediately hits the back button when they realize where they've ended up at.
Seriously, do you people read before posting? This is for a Javascript web analytics program. He does not control the page. He has no server-side code.
Yes, I read before posting, yet I don't recall blakeyrat ever actually explaining why he needed to do this. It's possible that it got lost in the midst of a blakeyrant. It's also possible that he only explained that part in a different thread altogether (edit: yup).
Edit: I stand corrected! He did indeed say that it was for web analytics, from which I am to have inferred that it was for sites other than his own.
@blakeyrat said:
I'm trying to write a quality product here. I'm not going to feed rabbit shit to my clients and call it raisins.
@morbiuswilters said:
@Kittemon said:@ASheridan said:You could do what
Google doesevery other site in the world has been doing since the end of the last millennium, and not actually link to the external sites at all. Look at their search pages, the results display the URL, but the link behind them is actually to another Google page which does whatever clearing up or final checking they need. Quite easy to add in your last visit entry and the link you've requested before sending the users browser to another site.This is probably least fraught with problems and most likely to work in all cases.
FTFY. To be fair, this can't catch the case where the site is so obviously sucky that the user immediately hits the back button when they realize where they've ended up at.
Seriously, do you people read before posting? This is for a Javascript web analytics program. He does not control the page. He has no server-side code.
Yes, I read before posting, yet I don't recall blakeyrat ever actually explaining why he needed to do this. It's possible that it got lost in the midst of a blakeyrant. It's also possible that he only explained that part in a different thread altogether.
@ASheridan said:
You could do what
Google doesevery other site in the world has been doing since the end of the last millennium, and not actually link to the external sites at all. Look at their search pages, the results display the URL, but the link behind them is actually to another Google page which does whatever clearing up or final checking they need. Quite easy to add in your last visit entry and the link you've requested before sending the users browser to another site.This is probably least fraught with problems and most likely to work in all cases.
FTFY. To be fair, this can't catch the case where the site is so obviously sucky that the user immediately hits the back button when they realize where they've ended up at.
@boomzilla said:
@dhromed said:Also, what the hell happened to the tag entry field? Or is it just me?I noticed it, too. It looks like you have to post, then edit tags.
The tag entry field seems to be working normally for me. The tag box doesn't contain any tags, but it seems to be working normally.
@blakeyrat said:
criticize me based on things I've actually said
Challenge accepted.
@blakeyrat said:
@e4tmyl33t said:AardwolfThey "pause execution" by sending an asynch XmlHttpRequest, I don't see how that could possibly work in a BeforeUnload handler
You acknowledge that foo
is not likely to work...
@blakeyrat said:
@Kittemon said:@blakeyrat said:And yet I Must Do That, so.@dhromed said:Intuition suggests that, for reasons which should be obvious, You Shouldn't Do That, and that as a consequence, You Can't Do That.@blakeyrat said:99% of the time, the exact thing I'm debugging is why the browser won't let me send a http request during BeforeUnload.You still can't debug a BeforeUnload handler that wayShoot off a quick httprequest to some server-side code that gives you the error?
...yet you attempt foo
anyway, then complain that you have no way to debug why foo
doesn't work. RTFM perhaps?
(Yes, I realize that the complaint is valid and that it preceded the quoted example, but that makes neither the complaint nor the example any less WTFs.)
@dhromed said:
Put the copier on a wheeled platform.
Schedule several conferences concurrently. While the one in "next to the copier" is on its lunch break, move the copier one door down.
@blakeyrat said:
99% of the time, the exact thing I'm debugging is why the browser won't let me send a http request during BeforeUnload.
Intuition suggests that, for reasons which should be obvious, You Shouldn't Do That, and that as a consequence, You Can't Do That.
@Cassidy said:
@C-Octothorpe said:Seriously though, who the fuck ever thought using comma seperated values when you HAVE A FUCKING RELATIONAL DATABASE right in front of you is a good idea?Beat me to it. Seriously misunderstood denormalisation?
I recall having read an article a while back, wherein this was touted as a legitimate design alternative. In the context of optimization, and taking into account numbers of rows, maximum number of distinct values in the CSV, SQL capabilities of the DB, data access patterns, amount of server memory, understanding of legitimate reasons for denormalization, etc, etc... it's at least conceivable that such a structure might work better for the desired purpose than a proper intersection table would. Of course, such advice is easily misunderstood by the clueless who are in search of advice.
Also, taking into account when the article was written, which may have been in the previous millennium.
@da Doctah said:
crocodile udders
This makes me imagine some weird hybrid monster, that looks mostly like a Holstein cow, but with a crocodile's head and tail.
@Xyro said:
I wonder if all the links were intercepted into AJAX calls,
Obviously,
@Xyro said:but the GETs were failing with 403 or similar and the page had bad error handling.
but unfortunately I never got that far in the analysis.
@Xyro said:Did you try opening a link in a new tab? That would cause a normal fetch for which the browser could then properly alert the user.
Of course not. I was trying to surreptitiously view someone else's porn collection, and didn't want to leave any evidence.
A few nights ago, I had a dream. This in itself is noteworthy; I'm one of those people who rarely remembers dreaming at all, let alone what a dream might have been about. But this one was... particularly peculiar.
I was traveling somewhere, I think, and had arranged to stay with a distant acquaintance, or friend of a friend of a friend, or some such. I entered the spare room and tossed my duffel bag down on the floor. It was apparent that it wasn't meant as a spare bedroom. Indeed, while there was ample room for a bed, half the room had been converted into an office, with several file cabinets and a large desk stacked with binders and file folders taking up the far wall. Although I half wondered whether I had been shown to the wrong room, I didn't really think long about it. The carpet was a soft medium pile and quite clean, and I could use my duffel as a pillow, so it would do comfortably enough for one night. I glanced disinterestedly across the desk and noticed something that left me less disinterested.
The monitor had been left on, with a browser window left open, showing a porn site. Not only that, it was in a members only section. This was somewhat awkward, as the person whose room I was staying in was not someone whom I knew well. On the other hand, well, I had free porn in my room. Then I glanced over the desk, and noticed something else. All those binders and folders stacked everywhere? Portfolios of models, apparently prospective, um, contractors. The person whose room I was staying in was operating a porn site out of their house. This was potentially very awkward, so I took a moment to review my options. Perhaps the most obvious thing to do would be to point out that there was no bed in the room, and to inquire whether they'd meant for me to stay in a different room. In classic dream logic, however, I decided the best course of action was to pretend as though I'd never even noticed the desk or its contents; after all, that would do well enough for a single night. But it wasn't bedtime yet, and there was free porn... it was time for a closer look. I realized immediately that something was amiss.
It wasn't the mouse, that was moving around just fine. It wasn't the browser either, hovering the mouse over various things reacted as one would expect. Yet nothing worked at all: no Flash videos running, no popups popping up, no link activation, not even the link to the site's landing page worked. With the intuitive certainty that only a dream can provide, I diagnosed the problem. The page I was looking at was in a members only section of the site, and the session had expired. Somehow, this was interacting with the page's Javascript in such a way that prevented the page from reacting to mouse gestures. I sat back, annoyed. Not because I was missing out on free porn, mind you. No, I was annoyed that in 2012, we still have incompetent webmasters using such wtf-y site templates that this sort of thing can even still come into existence. On a porn site, no less, where their income depends on hooking potential customers with excessive popups and teaser videos. (Erm, so I've been told *ahem*.) I became so engrossed with trying to uncover the nature of the error that I completely forgot my earlier intent to pretend that I had never noticed the desk, and was quite startled when I heard someone keying the lock. It took me only seconds to realize that it was only my neighbor across the hall coming home, but by then I was of course wide awake.
Two hours of sleep is not enough to get me through I day. I think I need to stop reading TDWTF before bedtime.
@C-Octothorpe said:
I just attributed the nipple misalignment it to a limitation of the character set used...
Oh, I figured that was just the emoticon for "perky"
@rad131304 said:
Person Authenticates Violin through [reputable] dealer
Person sells Violin and accepts PayPal Payment ($2,500 [USD?])
Violin arrives at buyer
Buyer disputes authenticity
Buyer pursues stop payment through PayPal
PayPal orders "counterfit" item destroyed
Buyer complies and sends seller and PayPal picture of Antique WWII violin in many pieces.
Am I the only person wondering whether perhaps this buyer is actually a fence for stolen antiques? I should think that once it's in pieces, one violin can be made to look like pretty much any other. All you need to do is falsify a label for it, and that only has to look good enough to pass inspection via digital photo.
@AndyCanfield said:
I like Snouffles. His stories are always amusing and impressive. Snouffles, if you're listening,don't go away - karly is a sour-puss.
I like soufflés. Their stories are never as amusing or impressive as snoofle's, but they are delicious and I like them.
@galgorah said:
@Anonymouse said:
Wait a second. Does this mean that waterfall development has become so outdated, that is has become some kind of forgotten "ancient technology" and agile has become the "traditional" mode of development?!That's kind of like it falling off the end of the FIFO queue and just being pushed back in at the top. History's running in circles like a dog chasing it's own tail.
So are you saying that we're stuck in a time paradox? Does this mean someone will have to kill an earlier bversion of themselves? Causing the time loop itself to "break;"?
Obviously it's just a circular queue. So there's an off-by-one bug on the index that's gone unnoticed for years, that's hardly a worthy WTF around here.
@thosrtanner said:
Pedantic dickweedery. !! isn't actually a double negative. It's a double logical not, and
!!a
has the same effect as
a != 0
but is obviously far cooler, in that nobody who doesn't have arcane levels of C experience will understand it
!!foo seems like a reasonably obvious way to generate a normalized boolean value from foo. It could confuse beginners, who may think there is some sort of relationship between & and && versus ! and !!. On the other hand, I'm having trouble grammatically parsing your use of a double negative, and I have far more experience in English than in C.
Of course, the problem with the original code is that it's not using a double negation, it's using inverted truth values with misleading function names.
@PJH said:
@Pim said:^<@<.@*
}"# |
-@$&/%
!( @|=>
;`+$?^?
,#"~|)^G
Does it actually do anything in any language? (Like, say, Black Perl?)
Given the layout, I'd try Befunge as my first choice.
@Weng said:
And people who use the term "sexual intercourse" outside a medical or legal setting don't have enough of it. There is no reason you need six syllables to do what one or two can. Hell, you even included the one-syllable version IN your six.
Sexual fucking intercourse? That would be TWO extra syllables.
@bridget99 said:
The second-to-last frame reminds me of the IT Director at one of my previous employers. He used the phrase "doesn't have to be pretty" all of the time. In light of the fact that we had a full-time graphic designer on staff to "skin" our internal applications, I always wondered what the hell he meant. As far as I could tell, "it" absolutely did have to "be prettty" and that dude was just throwing out meaningless platitudes.
I don't see how there's any contradiction there that would render it a meaningless platitude. It just sounds like he was saying the code didn't have to be pretty. Maybe the app skin had to be, but the code didn't have to be.
This actually happened to me just the other day.
TL;DR Here is a task. Here is a computer which will do the task. Please do the task without using the computer.
@DaveK said:
@SilentRunner said:
Maybe they do know just how common verbing a noun is in the English language.I don't understand why a noun is being used as a verb. "Login" is the act of logging in. The verb is "log in" or "log into".
Oh, well, I shouldn't expect dimwitted HTML "programmers" to know the language.
Or do you reject such neologisms as mail, e-mail, strike, talk, salt, pepper, switch, bed, sleep, ship, train, stop, drink, cup, lure, mutter, dress, dizzy, divorce, fool and merge?
Besides, "login" isn't the act of logging in, it's the prompt at which you type when you want to log in.
Moreover, most of what one finds on the internet that looks like English is not actually English (as spoken on either side of the pond), but something else that just happens to share a lot of the same words.
@DaveK said:
Anyone who's curious about the whole thing might like to read Gamasutra's article "Postmortem: Naughty Dog's Jak and Daxter: the Precursor Legacy", by Naughty Dog's programming director Stephen White.
@TL;DR said:A single programmer (who could easily be one of the top ten Lisp programmers in the world) wrote GOAL. While he called his Lisp techniques and programming practices "revolutionary," others referred to them as "code encryption," since only he could understand them.
Clearly, it's always possible to create crap in any language, or with any tool. I always have difficulty understanding why this fails to be obvious.
TRWTF is people who don't understand that Fine Art, Graphic Art, Graphic Design, and Web Design are all completely unrelated disciplines.
In order to log on to my employer's website today to sign up for benefits, I had to use a PIN, which had supposedly been mailed to me at some point. (I may have round-filed it without realizing, as they like to mail out all sorts of useless crap. Yes, actual physical mail.) Lacking said PIN, I had to call in to the dedicated support line. (Yes, to talk to an actual live service rep.) It took me a couple days to actually get through. It probably could have been sooner, but I get bored and/or impatient with war-dialing.
Total time spent on the phone: 27 minutes, 55 seconds.
Total time spent actually speaking to a rep: about 45 seconds, non-consecutively, with three or four minutes on hold in between.
After providing some information to identify and authenticate myself to the rep, I retrieved my PIN, with which I was finally able to log on to the website. The website asks me to confirm various information, including all of what I had to provide to the rep to get my PIN. WhyTF was this not simply an automated web form in the first place?
Bonus: it's a one-time PIN; I will never need it again.
@DaveK said:
@bridget99 said:How many people do you know named David Korn?Precisely one, and he's not the Unix guy!
@bridget99 said:
@DaveK said:2) "Accusing"? That's a pretty biased way to describe just agreeing with someone who made the observation that it looked like it might not be Cygwin grep.
I don't know a nicer word to use for the situation where one person is making a claim ("I used Cygwin GREP") and a second person is calling it a falsehood.
@Xyro said:
Not even a powerful NIH cure can combat the unfortunate effects of DKIWIE Syndrome ("Didn't Know It Was Invented Elsewhere").
Surely far worse is not even bothering to perform some basic googling to determine whether someone might not have encountered the same problem before.
Perhaps we should call that...
Pedantic DKIWIE Syndrome.
@BC_Programmer said:
As for pikachu, there [b]are many things[/b] that makes no sense. Supposedly it's a "electric mouse"... It looks nothing like a mouse, though. Looks more like a rabbit. Behaves more like a rabbit too.
Surely, Pikachu is based on a chinchilla... because then it would all make so much more sense.
@blakeyrat said:
@jamesn said:I'll take Linux, thanks.
(And of course there's the continual whopper: if your product is free and still has less marketshare than the competition, maybe not so great, huh?)
I call bullcrap. I doubt you even believe that.