|
Thread Rules 1. This is not a "do my homework for me" thread. If you have specific questions, ask, but don't post an assignment or homework problem and expect an exact solution. 2. No recruiting for your cockamamie projects (you won't replace facebook with 3 dudes you found on the internet and $20) 3. If you can't articulate why a language is bad, don't start slinging shit about it. Just remember that nothing is worse than making CSS IE6 compatible. 4. Use [code] tags to format code blocks. |
Do I have to re-download express then, when my trial ends? :X
|
|
I would assume so, as the "Obtain a new key online" button sends me directly to their BUY BUY BUY page.
Edit: Actually just forget it, I'll worry about it when the trial expires, if I have to re-download, no biggie. Also 800 posts! And no bans, need to fix that ratio.
|
That's bizarre, I know friends who are using Visual C# Express and I know that they have not had any problems. My guess is that if nothing else, redownloading it should be OK.
|
I'm guessing I downloaded the wrong version (Professional), and so the only option to register it is by buying it. I was pretty sure I chose express though. Oh wells.
|
Hey all,
Could someone recommend a good OOP book, it doesn't have to be in Python (which is the language I'm currently learning) but if it was that would be great.
I've been studying Comp Sci on/off for a couple months now and I love it. I went through a little more than half of Structures and Interpretations of Computer Programs, which is Scheme based. As far as academic texts go I would have say that is the best I've ever read, its a classic.
I've also been practicing my coding/thinking skills with http://projecteuler.net/ and http://www.spoj.pl/ If anyone else has been using those sights post here I would love to talk about them as the problems are getting extremely difficult. It's the actual solution to the problems not the code that is hard, so if you aren't that experienced a coder like me still post.
|
On July 22 2010 00:47 MadVillain wrote:Hey all, Could someone recommend a good OOP book, it doesn't have to be in Python (which is the language I'm currently learning) but if it was that would be great. I've been studying Comp Sci on/off for a couple months now and I love it. I went through a little more than half of Structures and Interpretations of Computer Programs, which is Scheme based. As far as academic texts go I would have say that is the best I've ever read, its a classic. I've also been practicing my coding/thinking skills with http://projecteuler.net/ and http://www.spoj.pl/If anyone else has been using those sights post here I would love to talk about them as the problems are getting extremely difficult. It's the actual solution to the problems not the code that is hard, so if you aren't that experienced a coder like me still post.
SICP is a true classic. I came into it with a strong existing background in Scheme and still learned a ton of interesting things from the exercises and digressions.
If you really enjoyed SICP, I strongly suggest you read CTM, which is in the same style, but covers many more interesting ideas from all walks of programming, using several languages (Haskell, Prolog, Erlang, Java, and a language called Oz designed in the book) as scapegoats for different techniques. Unfortunately, it's not free, although you can probably manage to steal a copy. Although it's not focused on OOP, It does spend a fair amount of time discussing OOP, and the time is very well-spent.
|
On July 22 2010 00:30 Adeny wrote: I'm guessing I downloaded the wrong version (Professional), and so the only option to register it is by buying it. I was pretty sure I chose express though. Oh wells.
Sounds like the culprit. Shouldn't be too hard to just uninstall Professional and install Express, though.
|
I need help with a PHP/mysql problem. From what I have found it seems to be that POST has default transfer limits? It's effectively nullifying the output to nothing. If it's a small bit of text (in the textarea form field) it works just fine. I doubt its a mysql problem. I hope this is common and can be fixed promptly Also, If I were to fix this on an external host (eg. godaddy) would it be simple?
|
Alexpnd: it's hard to know what the problem is based on such a small description.
But if you create a phpinfo.php file in your webroot and just put a <?php phpinfo(); call in it, you can see what your webserver's php.ini settings are.
The key one is 'post_max_size'. It defaults to 8M on my system, which is enough space to store 8388608 characters. I.e. a lot
|
On July 22 2010 23:15 kar1181 wrote:Alexpnd: it's hard to know what the problem is based on such a small description. But if you create a phpinfo.php file in your webroot and just put a <?php phpinfo(); call in it, you can see what your webserver's php.ini settings are. The key one is 'post_max_size'. It defaults to 8M on my system, which is enough space to store 8388608 characters. I.e. a lot 
Thanks I'll take a look.
|
On July 21 2010 23:36 Adeny wrote:Wait what, MSVS 2010 only has a 90 day trial? Then I'm going to have to purchase it for $800? Yeah I don't think so, why's it not free like 2008?  Edit: By the way, someone on another forum made me think about how to optimize a problem similar to Project Euler 1, Find the sum of all the multiples of 3 or 5 below 1000. This is what I came up with, which gives the right answer (so spoiler alert, i guess), however there's a different problem. It states that it executes in 0 milliseconds, so is there any way to get more precision when measuring execution time? Not that it's something I'll need often, but still. + Show Spoiler + static void Main(string[] args) { DateTime startTime = DateTime.Now; uint[] numbers = { 3, 2, 1, 3, 1, 2, 3 }; uint counter = 3; uint counter2 = 1; uint sum = 0; while (counter < 1000) { sum += counter; counter += numbers[counter2++]; if (counter2 > 6) counter2 = 0; } TimeSpan elapsed = DateTime.Now - startTime; Console.Out.WriteLine(); Console.Out.WriteLine(sum); Console.Out.WriteLine("IN: {0}", elapsed.TotalMilliseconds); Console.In.ReadLine(); }
Just execute the whole thing 1000 times, then divide the time by 1000. The few additional instructions for the loop will be counted too, but they will only make up like 0.1% of the time.
You might also try replacing
counter += numbers[counter2++]; if (counter2 > 6) counter2 = 0; with
counter += numbers[counter2++ % 7]; Modulus is usually damn slow, especially with a prime, but it might be faster in this case. As a special bonus it looks cryptic.
With some small changes (in initialization etc.) you could even write something like
sum += counter += numbers[...]
Oneliners on TL can get you banned, in programming they are just cute (and confusing).
|
1000x'd it, still 0 MS. I ran it like a million times, and from what I could gather, % 7 was slower, but no results were consistent, oh wells.
|
- Modulus is pretty fast. If the divisor is a power of two, it reduces to bitwise AND. Otherwise, at worst, it's going to be implemented as something like a % b = a - b * floor(a / b). But you're right that your method should be quite faster than modulus.
- With .NET, the best way to measure runtime is using the System.Diagnostics.Stopwatch class. Example:
var sw = Stopwatch.StartNew(); /* ... */ sw.Stop();
// precision depends on OS and hardware; on my box one tick is // roughly 0.3 microseconds (corrected) long ticks = sw.ElapsedTicks; double ticksPerSecond = 1d / Stopwatch.Frequency;
Spinesheath is right on that you should still run a lot of iterations before measuring any small operation like this, because it's possible that running the code for the first time might not be as fast (JIT overhead, and who knows what else.)
- Finally, although I guarantee it will be measurably slower, the most pleasant way to write this in C# would probably be as a set operation, e.g.:
var nums = Enumerable.Range(1, 1000); int sum = Enumerable.Union(nums.Where(n => n % 3 == 0), nums.Where(n => n % 5 == 0)).Sum();
|
On July 23 2010 02:50 Adeny wrote: 1000x'd it, still 0 MS. I ran it like a million times, and from what I could gather, % 7 was slower, but no results were consistent, oh wells.
I'm not surprised, mine completes one answer in 00:00:00.0000427 (42.7 nanoseconds if I calculated right).
You'd need like 100,000 loops to do it that way.
|
On July 23 2010 05:52 Cratonz wrote:Show nested quote +On July 23 2010 02:50 Adeny wrote: 1000x'd it, still 0 MS. I ran it like a million times, and from what I could gather, % 7 was slower, but no results were consistent, oh wells. I'm not surprised, mine completes one answer in 00:00:00.0000427 (42.7 nanoseconds if I calculated right). You'd need like 100,000 loops to do it that way.
That's not nanoseconds, your computer isn't that accurate. .0000427 = 42.7 microseconds, HUGE difference.
|
On July 23 2010 03:21 catamorphist wrote: - Modulus is pretty fast. If the divisor is a power of two, it reduces to bitwise AND. Otherwise, at worst, it's going to be implemented as something like a % b = a - b * floor(a / b). But you're right that your method should be quite faster than modulus. And there you are dividing with a prime (comparatively slow), multiplying (quite fast), and subtracting (fast). I was just hoping that the compiler had some clever opcodes for low prime modulus. Otherwise modulus is pretty much the slowest basic operator there is. I wasn't surprised that it was slower, but it was easy to test. The if should take 1 comparision with a constant (fast), 1 short jump for the "else" (fast), and one assignment for the other case (fast). Something like that.
Of course if it's a power of two then modulus is fast. Same for division and multiplication by such a number.
|
Hyrule18967 Posts
The issue is that his code is .Net, so it's not being run directly on the CPU, it's getting realtime compiled to MSIL, which is then interpreted by the VM, so there's significantly more overhead than there would be if you wrote it in C or something. On NIX machines you can just use time . Not to sure about Windows though.
|
On July 22 2010 00:47 MadVillain wrote:Hey all, Could someone recommend a good OOP book, it doesn't have to be in Python (which is the language I'm currently learning) but if it was that would be great. I've been studying Comp Sci on/off for a couple months now and I love it. I went through a little more than half of Structures and Interpretations of Computer Programs, which is Scheme based. As far as academic texts go I would have say that is the best I've ever read, its a classic. I've also been practicing my coding/thinking skills with http://projecteuler.net/ and http://www.spoj.pl/If anyone else has been using those sights post here I would love to talk about them as the problems are getting extremely difficult. It's the actual solution to the problems not the code that is hard, so if you aren't that experienced a coder like me still post.
I always recommend this book.
|
On July 22 2010 10:03 alexpnd wrote:I need help with a PHP/mysql problem. From what I have found it seems to be that POST has default transfer limits? It's effectively nullifying the output to nothing. If it's a small bit of text (in the textarea form field) it works just fine. I doubt its a mysql problem. I hope this is common and can be fixed promptly  Also, If I were to fix this on an external host (eg. godaddy) would it be simple?
Hey alex, I've encountered a problem like this before. What happens is that for a normal form the data transferred has a limit like 500 kb or something like that. What you want to do is add enctype="multipart/form-data" to your form. This will allow you to upload large amounts of data. Be careful though, the data transferred will in a different form than your normal post data, I don't know how you get the data in php, but I know in Java you can't just use the traditional way of getting the post parameters.
|
|
|
|