|
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. |
On August 02 2011 20:51 Rhyze wrote: I guess it was a stupid question :D and i didn't write the script, a real employee did :D and i work for the government ^^
Well, in my experience, 99% of the programmers shouldn't ever touch any code again because they just don't have any clue, so it's not suprising for me to see horrible code, even in government code from full time programmers :p
|
Hey everyone, I've been trying to do a simple imageslider in jquery but I can't get it to work. I'm not sure how to make to write the .attr-part. The .jpg gives me an error and I'm not sure how to write it. Any clues? + Show Spoiler +<script type="text/javascript"> var PicNumber = 1; $(window).load(function () { $("imageActive").attr("src",PicNumber".jpg"); }); $(nextPic).click(function () { PicNumber+=1; });
$(prevPic).click(function () { PicNumber-=1; }); </script>
|
This should work: + Show Spoiler + <script type="text/javascript"> var PicNumber = 1; $(window).load(function () { $("imageActive").attr("src",PicNumber+".jpg"); });
$(nextPic).click(function () { PicNumber+=1; });
$(prevPic).click(function () { PicNumber-=1; }); </script>
|
On August 03 2011 06:01 disco wrote:This should work: + Show Spoiler + <script type="text/javascript"> var PicNumber = 1; $(window).load(function () { $("imageActive").attr("src",PicNumber+".jpg"); });
$(nextPic).click(function () { PicNumber+=1; });
$(prevPic).click(function () { PicNumber-=1; }); </script>
thanks, had to change some other smalls things too, but now it's working
|
On August 03 2011 08:56 Kahzaar wrote:Show nested quote +On August 03 2011 06:01 disco wrote:This should work: + Show Spoiler + <script type="text/javascript"> var PicNumber = 1; $(window).load(function () { $("imageActive").attr("src",PicNumber+".jpg"); });
$(nextPic).click(function () { PicNumber+=1; });
$(prevPic).click(function () { PicNumber-=1; }); </script>
thanks, had to change some other smalls things too, but now it's working
No problem, I didn't really pay attention to anything other than the missing "+" for the filename.
|
|
On August 01 2011 11:12 EvanED wrote:Show nested quote +On July 31 2011 19:29 Frigo wrote: I seriously recommend against touching any kind of scripting, functional, procedural or esoteric language without having a proper knowledge of Java or C++. You will learn nothing useful. I vehemently disagree with this, for reasons I've stated above. (Just the negative part -- that you won't learn anything useful. Depending on your interest, Java or C++ might be a reasonable starting language.) I've got a substantial portion of the "best" CS schools on my side too. US News gives the top 10 as MIT (#1), CMU (#2), Stanford and UIUC (#3-tie), Cal Berkeley (#5), Georgia Tech (#6), UT Austin (#7), Michigan (#8), Cal Tech (#9) and Cornell (#10). Of those: MIT used to use Scheme and now uses Python in their intro class, CMU uses SML, Stanford uses Java, UIUC uses Java for what seems to be the primary first in-major class (there's another intro class that uses Python, but I'm not sure how it fits in), Cal Berkeley seems to emphasize Scheme though it's not at the complete exclusion of everything else, Georgia Tech uses Python, UT Austin uses Java, Michigan uses ??? (I actually can't find a course webpage, and the description doesn't say; there's a chance it uses C++. If you have better luck than me, the course is EECS 280), Caltech uses Python, Cornell uses Java. Discounting Michigan, counting UIUC as Java, and counting Berkeley as Scheme, the counts are 4 schools for Java, 3 schools for Python, 1 school for Scheme, and one school for SML. Even if Michigan came into the picture with Java, that's still half of the US News top 10 schools which teach a language you accuse of teaching "nothing useful." Now, the pressures are very different for a university deciding how to set its curriculum and an individual deciding what to learn, but I think that "you won't learn anything from a high-level language" is complete bogus. Show nested quote +On July 31 2011 19:50 KaiserJohan wrote: I would do either that or C. C is also less complex than C++, there is less chance of getting lost early. Its easier to find C++ resources though, and you can just reuse C code in C++...
Well, that's sort of true, but at the same time IMO a good C programmer does not necessarily make a good C++ programmer (though it is likely). You'll have to unlearn a fair bit of stuff for that.
Python is a great first language in my opinion. It's easy to pick up, gets shit done fast, and can take you very far. A real Swiss-Army-Knife language.
MIT's intro EECS class used to be an adventure in Scheme programming and everyone loved it because the assignments were flexible and allowed for a lot of creativity; now it's a well-rounded EE+CS mediocre bore (no CS bias from me: nobody likes it!). The AI class also moved from Scheme to Python, but I think this was a good decision (some of that Scheme code was pretty gross).
|
If you're interested in starting doing some programming for Android/iPhone is the best way to go about it to first learn basic java and then learn how to implement it into Android/iPhone apps, or start out with app programming right away?
|
For Android: Since you need basic java to program for Android I would recomend getting the java skills before you start with your app. If you know basic java and use Eclipse with the Android dev kit you are well equiped på produce and test android apps.
Dont know much about iPhnoe programming, as far as I know you need to know about objective-C++ witch is a harder language to learn than java. Furthermore if you want you iPhone app on the market you have to jump allot of hoops and even pay for a lisence, so if you are just starting out I would recoment programming for Android.
Can PM me if you have further questions
|
On August 09 2011 20:58 Soier wrote: For Android: Since you need basic java to program for Android I would recomend getting the java skills before you start with your app. If you know basic java and use Eclipse with the Android dev kit you are well equiped på produce and test android apps.
Dont know much about iPhnoe programming, as far as I know you need to know about objective-C++ witch is a harder language to learn than java. Furthermore if you want you iPhone app on the market you have to jump allot of hoops and even pay for a lisence, so if you are just starting out I would recoment programming for Android.
Can PM me if you have further questions
Thanks a bunch! More or less as I suspected then, time to look up some java guides.
Not a big Apple guy so iPhone programming was never the main idea. Still it might be worth the trouble in the future, in which case I'll pick you up on your offer to help. Actually I might do that anyway if I remember if, or rather when, i run into trouble :p
Thanks again!
|
I'm starting a really big site. If anyone is interested in contributing to something meaningful and to be proud of, send me a pm. You may be able to help.
If I had to guess right now, PHP, MySql, jQuery, CSS2/3, standard LAMP setup basically.
Debating on: PostgreSQL vs MySQL Ruby (probably on Rails) vs Java vs PHP
|
On August 02 2011 20:55 Morfildur wrote:Show nested quote +On August 02 2011 20:51 Rhyze wrote: I guess it was a stupid question :D and i didn't write the script, a real employee did :D and i work for the government ^^ Well, in my experience, 99% of the programmers shouldn't ever touch any code again because they just don't have any clue, so it's not suprising for me to see horrible code, even in government code from full time programmers :p
I believe the problem with this sentiment among programmers is that everyone else's code is always going to be crap compared to the ideal solution. When you work in industry it's more than likely the programmer wanted extra time to complete X, but management said no we have a deadline, do the bare minimum. So when you look at someone else's horrible code perhaps keep in mind that you don't know the full circumstances of how it came about. (That said I agree, it probably was just bad code from someone with no clue. haha)
I've seen this happen time and time again. It takes a complete culture shift to actually work quality into software projects.
|
Anyone know a simple way to safely use the gets() function in stdio.h?
|
On August 14 2011 12:00 Abductedonut wrote: Anyone know a simple way to safely use the gets() function in stdio.h?
What do you mean? o.O
|
Sorry man, gets is inherently unsafe and vulnerable to buffer overflow attacks. Use something else, especially if it is C++.
|
On August 14 2011 12:04 fabiano wrote:Show nested quote +On August 14 2011 12:00 Abductedonut wrote: Anyone know a simple way to safely use the gets() function in stdio.h? What do you mean? o.O
Yeah, the gets() function in the C standard library is completely vulnerable to buffer overflows, which is basically what a hacker can use to take control of the computer.
On August 14 2011 13:23 Frigo wrote: Sorry man, gets is inherently unsafe and vulnerable to buffer overflow attacks. Use something else, especially if it is C++.
Well, getline is C++ so I can't use it in C. I've found a solution using fgets() but that's sortof cheating since it's not gets(). There's also the issue that the rest of the string is still in stdin, which is kindaof a hassle to deal with, but whatever. Here's what i mean: ( and fabiano, i compiled using gets() the first time, the warning is there for you as well )
+ Show Spoiler +
If anyone can think of another solution using actual gets(), please let me know! I'm actually curious.
|
No sorry, the compiler is quite right about warning you, it simply can't be made safe. You need to know in advance whether the line fits in your buffer, and that is simply not possible with the standard input, only with files.
Why is it so important anyway, isn't fgets enough? It's not that difficult to write a function that behaves like std::vector in the sense that it automatically grows the buffer when you need to insert more data.
|
On August 14 2011 14:06 Abductedonut wrote:If anyone can think of another solution using actual gets(), please let me know! I'm actually curious. Really the only way that I can think of that has a chance of working is something like the following:
// global or file static: jmp_buf from_fgets;
void return_to_past_gets(int ign) { (void) ign; longjmp(from_fgets, 1); }
// Where you want to call fgets struct sigaction old_handler; char * buf; int ret; if (setjmp(&from_fgets) == 0) { // Set up memory. 'buf' will point to 4096 bytes, then a guard page buf = mmap(NULL, 4096*2, PROT_READ | PROT_WRITE, MAP_PRIVATE | MAP_ANONYMOUS, -1, 0); if (buf == NULL) goto err_mmap; ret = mprotect(buf + 4096, 1, PROT_NONE); if (ret != 0) goto err_mprotect;
// set up a handler for SIGSEGV, which will be struct sigaction new_handler; new_handler.sa_handler = return_to_past_gets; ret = sigemptyset (&new_action.sa_mask); if (ret != 0) goto err_sigemptyset; new_action.sa_flags = 0; ret = sigaction(SIGSEGV, &new_action, &old_action); if (ret != 0) goto err_sigaction_new
// call fgets fgets(buf); } else { // fgets overflowed. ret = ungetc(buf[4095], stdin); if (ret != 0) goto err_ungetc buf[4095] = 0; } ret = sigaction(SIGSEGV, &old_action, NULL); if (ret != 0) goto err_sigaction_restore
// YOU implement err_mmap, err_mprotect, err_ungetc, err_sigemptyset, // err_sigaction_new, and err_sigaction_restore
// Oh, and don't forget to unmmap(buf, 4096*2); // instead of free(buf)
There. A (*)safe way of calling fgets. Except that I'm not sure that mmap is guaranteed to return something on a page boundary, pages aren't guaranteed to be 4096 bytes, MAP_ANONYMOUS isn't POSIX, I didn't take into account wanting anything other than an entire page, fgets is probably not guaranteed to write into its buffer sequentially... and if that's not enough, you risk leaving the internals of libc in an inconsistent state because fgets didn't get a chance to return cleanly.
Doesn't that sound worth not saying
fgets(buf, size, stdin); ? :-)
Edit:
On August 14 2011 14:49 Frigo wrote: No sorry, the compiler is quite right about warning you, it simply can't be made safe. You need to know in advance whether the line fits in your buffer, and that is simply not possible with the standard input, only with files. This is a bit of a red herring, which can be demonstrated two ways. First, calling fgets(buf, size, stdin) works fine, and is just like calling gets(buf) except that if it reads more than size bytes, it will stop early. (There's a difference in how it handles the trailing newline if it doesn't stop early, as well.) It's not like fgets is imbued with psychic powers to see what's coming up in the stream, it just makes a "best-effort" attempt to fit it in the given buffer. The second way you can see this is calling fgets on an actual file -- it doesn't figure out that the current line is too long to fit into the buffer and does nothing, it again makes that best-effort attempt.
(And as a third way: just because the runtime thinks something is a file doesn't mean it is -- it could be a device node, a fifo, etc. -- and doesn't mean it can seek randomly.)
|
I have an interview coming up. What would be some good areas to brush up on beforehand? The job is primarily C#.NET and VB.NET in both client-side applications and ASP.NET.
Finished B.S. in May.
|
On August 18 2011 08:14 Craton wrote: I have an interview coming up. What would be some good areas to brush up on beforehand? The job is primarily C#.NET and VB.NET in both client-side applications and ASP.NET.
Finished B.S. in May.
Know the syntax and basic semantics of all those languages (derp) and be able to write out programs on a whiteboard in them. Also review all your algorithms (sorting, DFS, BFS, etc.) and data structures with their inherent strengths and weaknesses (for example, hash tables have O(1) lookup time but are rather large in memory).
|
|
|
|