Open Side Menu Go to the Top
Register
** UnhandledExceptionEventHandler :: OFFICIAL LC / CHATTER THREAD ** ** UnhandledExceptionEventHandler :: OFFICIAL LC / CHATTER THREAD **

02-07-2012 , 10:04 PM
Yes it's GPL:

Quote:
But if you release the modified version to the public in some way, the GPL requires you to make the modified source code available to the program's users, under the GPL.
http://www.gnu.org/licenses/gpl-faq....cePostedPublic
** UnhandledExceptionEventHandler :: OFFICIAL LC / CHATTER THREAD ** Quote
02-07-2012 , 10:11 PM
yeah he could well be breaking GPL terms and you can snag him on that too, probably is after having read more of the linked sites lol - especially if he's bundling it with a virus and failing to give the source code to those who request it. at least he gives you the family tree to aid in tracking him down.

my response was mainly to the "trying to sell our open source software".
** UnhandledExceptionEventHandler :: OFFICIAL LC / CHATTER THREAD ** Quote
02-07-2012 , 10:15 PM
Yeah I presented that a bit misleadingly sorry

When my brother originally GPL'd it he wasn't too hot on which open source license was best suited for him and he now considers GPL to be a mistake I think. I don't know too much about open source licenses really, but realising that people can sell it when we started seeing people selling CD's for it was something no one on his team anticipated.
** UnhandledExceptionEventHandler :: OFFICIAL LC / CHATTER THREAD ** Quote
02-07-2012 , 10:18 PM
there aren't a lot of open source licenses that prohibit or restrict selling because open source is about making code less restricted, not more.
** UnhandledExceptionEventHandler :: OFFICIAL LC / CHATTER THREAD ** Quote
02-07-2012 , 10:21 PM
Yep I get that now, but there definitely exists an arguably unethical market that sell this software at a very high price on the grounds that the customer is ignorant that it is available for free elsewhere. I've seen open source software being sold online for hundreds of pounds, all they do is send you a disc. Technically allowed but wholly unethical.
** UnhandledExceptionEventHandler :: OFFICIAL LC / CHATTER THREAD ** Quote
02-07-2012 , 10:48 PM
Maybe so in these days of cheap high speed internet for all, but back in the day getting a DVD's worth of decent Free software in a day or two through the post for £30 could be seen as a bargain. It may take months and cost many hundreds of pounds in phone calls to fit that through a 56k modem. The same may still be true in some parts of the world.

I mean I don't doubt some vendors are unethical, but to think it's any different from a car dealer is wrong. he is massively overcharging people day in day out for vehicles he may have picked up much cheaper at auction.

I get the feeling you think selling a debian CD for £1000 shouldn't be allowed? why not? I can buy a Win7 CD and sell it for whatever I wish, imo it makes no difference if the original source of product is free or low cost. a free market is desirable.


On the other topic, I doubt your brother should consider licensing v.1 under GPL a mistake. maybe, depends what happened. But I'd imagine in that time he got a fair few users, who provided motivation to keep developing, maybe also gave valuable feedback and ideas that made construct v.2 what it is today. Maybe giving others the right to distribute earlier versions was critical in gaining a user base, maybe not. Maybe it would have been the same if it was just a freeware / shareware, or maybe the development would have been ceased six months after the last download, once everyone moved on to some other more attractive competitor that appeared. who knows. All you do know is you have a product you consider valuable today, and it came from that heritage. So I wouldn't consider the heritage a mistake
** UnhandledExceptionEventHandler :: OFFICIAL LC / CHATTER THREAD ** Quote
02-07-2012 , 10:54 PM
True that's a good way of looking at it!

Quote:
I get the feeling you think selling a debian CD for £1000 shouldn't be allowed? why not?
I'm not saying it shouldn't be allowed, just that it's a shame that the people profiting off it aren't the ones who contributed the most to the project (unless they are contributors, but I get the impression it's not).

Good point about 56k modems hadn't considered that, I would consider today though that selling open source software for an inflated profiteering price is a shame because it comes off sometimes as quite exploitative. Selling it for a reasonable cost is fine, but targeting ignorant people and exploiting that ignorance seems unethical to me.
** UnhandledExceptionEventHandler :: OFFICIAL LC / CHATTER THREAD ** Quote
02-07-2012 , 11:05 PM
Quote:
Originally Posted by goofyballer
I'm going to be having an awkward conversation tomorrow. One of our other engineers basically reformatted half of a file that I own in his own coding style - we don't have super stringent standards about stuff like spacing/which line braces go on/etc., the general rule is just "stay consistent within a file." So I have to kind of WTF when he makes a functional change to one line in a function and yet reformats the whole thing in his preferred spacing/brace format and renames all the variables. Really?
You did punch him in the face right?
** UnhandledExceptionEventHandler :: OFFICIAL LC / CHATTER THREAD ** Quote
02-08-2012 , 03:22 AM
Quote:
Originally Posted by MrWooster
This is a very bad practice as it can also result in unnecessary merge conflicts. If a file is formatted a certain way, there needs to be a damn good reason to change it.
Actually this reminds me of a practice we used. Commit code change first. Check out, reformat, commit again.

Pita I know but if the developer really wanted to reformat, this process is the most considerate.
** UnhandledExceptionEventHandler :: OFFICIAL LC / CHATTER THREAD ** Quote
02-08-2012 , 04:51 AM
Quote:
Originally Posted by sorrow
You did punch him in the face right?
Wound up not being awkward, was just like "hey why'd you reformat half of this file" and he was like "oh my bad, just habit."
** UnhandledExceptionEventHandler :: OFFICIAL LC / CHATTER THREAD ** Quote
02-08-2012 , 12:28 PM
and then you socked him in the face, and he said, "why'd you punch me?" and you said "oh my bad, just habit"

amirite?
** UnhandledExceptionEventHandler :: OFFICIAL LC / CHATTER THREAD ** Quote
02-08-2012 , 12:39 PM
lol
** UnhandledExceptionEventHandler :: OFFICIAL LC / CHATTER THREAD ** Quote
02-08-2012 , 03:59 PM
So in C++, I have a string that comes into a function as "1000000.00".

Is there a windows function that will format the commas based on settings from the OS? Like the locale settings?
** UnhandledExceptionEventHandler :: OFFICIAL LC / CHATTER THREAD ** Quote
02-08-2012 , 05:06 PM
Quote:
Originally Posted by Jeff_B
So in C++, I have a string that comes into a function as "1000000.00".

Is there a windows function that will format the commas based on settings from the OS? Like the locale settings?
might help http://stackoverflow.com/questions/7...er-with-commas
** UnhandledExceptionEventHandler :: OFFICIAL LC / CHATTER THREAD ** Quote
02-08-2012 , 06:57 PM
So I'm looking at this JavaScript tutorial and one section uses this:

Code:
var totalTime = 0;
for ( i = 0; i < raceTimes.length; i++){
    totalTime += raceTimes[i];
}
While the next section changed it to this:

Code:
for ( i = 0; i < raceTimes.length; i++ ) {
    var totalTime = (totalTime || 0) + raceTimes[i];
}
And had this to say about it:

Quote:
Take note of the declaration of the totalTime variable in the for loop. We refactored this code from the last exercise. In programming, refactoring code just means editing your code to make it cleaner and more efficient while still performing the same function.
It's bolded because it's a beginner's tutorial and this is the first time they use the term. Am I crazy for thinking this is not only a bad example to introduce the concept of refactoring, but also just bad period? It looks more like pointless obfuscation to me. I also don't see how that could possibly be more efficient.
** UnhandledExceptionEventHandler :: OFFICIAL LC / CHATTER THREAD ** Quote
02-08-2012 , 07:11 PM
Quote:
Originally Posted by Gullanian
JFC lol we're being trolled pretty hard by an individual who keeps setting websites up and trying to sell our open source software.

If anyone wants to read about this guy it's a pretty hilarious story:
http://youfailit.net/?p=71

His incompetence is also breathtakingly stupid. View the source to this website of his:
http://www.thebestgamestudio.com/index.html

And look at the top HTML comment. At least it makes it easy to prove he's stealing off us. I've never come across someone so annoying and so utterly stupid, it makes me laugh. It's comforting to know it's not just us suffering him either.

It's a good learning experience going through various payment providers/hosts he uses seeing which ones are honest and are willing to remove a user from their service.

My experience so far is WePay don't give a hoot (only took it off after ignoring me repeatedly and me persisting), I consider their customer service to be appallingly bad.

1&1 interestingly are hosting that site of his and have ignored my emails so far. Perhaps we wont go with them after all if they decide to do nothing!

Paypal were actually quite good but you have to fill in some forms, and various small tiny webhosts are generally quite ****ty to deal with as they don't want to lose any customers at all.
Quickly browsed over the site and loljustlol (sidenote: he'd probably be a rich man if he was any good at app development and would have ported some of his steals to apps and sold them)

I take it you work in OS game development? If so that's pretty cool would be interested in chatting about "business models" with you/your brother some day (I used to work for an open source ERP developer). Doing some veeeery slow PyGame development of some stuff I'm interested in
** UnhandledExceptionEventHandler :: OFFICIAL LC / CHATTER THREAD ** Quote
02-08-2012 , 07:13 PM
That is bad period (and isn't refactoring).

IMO, this would be better

Code:
var totalTime = 0,
      len = totalTime.length;
for ( i = 0; i < len; i++){
    totalTime += raceTimes[i];
}
as it reduces the number of times raceTimes.length is calculated.
** UnhandledExceptionEventHandler :: OFFICIAL LC / CHATTER THREAD ** Quote
02-08-2012 , 07:16 PM
You could also just do
Code:
for( i = 0; i < raceTimes.length; i++){
     totalTime += raceTimes[i];
}
right?
** UnhandledExceptionEventHandler :: OFFICIAL LC / CHATTER THREAD ** Quote
02-08-2012 , 07:20 PM
Never calculate something n times when 1 times is enough. I can't believe I see that example in for loops in tutorials.
** UnhandledExceptionEventHandler :: OFFICIAL LC / CHATTER THREAD ** Quote
02-08-2012 , 07:21 PM
So I was recently hacking around with Ruby again and stumbled upon this...
http://rhomobile.com/products/rhodes/

If that works anywhere close to the way I hope it does ... that's sicker than sick and I'm back on the Ruby bandwagon.
** UnhandledExceptionEventHandler :: OFFICIAL LC / CHATTER THREAD ** Quote
02-08-2012 , 07:23 PM
First example is definitely preferable to me as its immediately evident what the code is doing. Second snipped requires some conscious thought. A better example of refactoring probably would have been going from the first snippet to

Code:
function sum(numbers){
    var total = 0.;
    for (int i=0; i < numbers.length; i++){
        total += numbers[i];
    }
    return total;
}  

...

totalTime = sum(raceTimes);

...
** UnhandledExceptionEventHandler :: OFFICIAL LC / CHATTER THREAD ** Quote
02-08-2012 , 07:25 PM
Quote:
Originally Posted by kyleb
Never calculate something n times when 1 times is enough. I can't believe I see that example in for loops in tutorials.
is .length actually calculated every time it's accessed?
** UnhandledExceptionEventHandler :: OFFICIAL LC / CHATTER THREAD ** Quote
02-08-2012 , 07:27 PM
Maybe not in some languages (opcode caching or something) but it definitely is in some. Plus it's just bad practice.
** UnhandledExceptionEventHandler :: OFFICIAL LC / CHATTER THREAD ** Quote
02-08-2012 , 07:34 PM
Quote:
Originally Posted by Neko
is .length actually calculated every time it's accessed?
This didn't occur to me, but it probably is given that the length could hypothetically change during the loop (assigning to indices outside the existing bounds extends the array)

And the "make it a function" response is amusing to me because I've actually had that same reaction to some other stuff. For instance, some of the exercises have you typing stuff like this a billion times:

Code:
Math.floor(Math.random()*10) + 1;
When this would be a perfectly good opportunity to say, "Hey, we're typing this a lot, and that's exactly what functions are for!" The following is not actually in the tutorial, even though it probably should be:

Code:
var randInt = function(a, b){
    return Math.floor(Math.random()*(b-a+1)) + a;
};
I was willing to overlook that because I just felt like using the excuse to mess around with JS and this stuff is clearly targeted at people even less experienced than me, but if it's going to start actively teaching bad habits I think I'm done with it. FWIW this is from http://codeyear.com

Last edited by Xhad; 02-08-2012 at 07:42 PM. Reason: bugfix
** UnhandledExceptionEventHandler :: OFFICIAL LC / CHATTER THREAD ** Quote
02-08-2012 , 07:36 PM
Quote:
Originally Posted by Xhad
Am I crazy for thinking this is not only a bad example to introduce the concept of refactoring, but also just bad period?
I think it's a great example, it's one line less code, which means it's much more readable. Just like the C#-loop I wrote for adding up all numbers within an array where I don't use another wasteful second variable to add everything up but do everything within the loop counter itself:
Spoiler:

Code:
      // Adding up all numbers stored in an array in the loop-variable itself
      int[] sumArray = { 1, 2, 3, 4, 5, 6, 7, 8, 9 };
      int i;
      for (i = 0; (i & ((1 << 12) - 1)) < sumArray.Length; i = ((i & ~((1 << 12) - 1)) | ((i & ((1 << 12) - 1)) + 1)))
        i = ((((i & ~((1 << 12) - 1)) >> 13) + sumArray[i & ((1 << 12) - 1)]) << 13) | (i & ((1 << 12) - 1));
      Console.WriteLine(i >> 13);
I call this code fragment my little abomination...
** UnhandledExceptionEventHandler :: OFFICIAL LC / CHATTER THREAD ** Quote

      
m