The Big Programming Thread - Page 550
| Forum Index > General Forum |
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. | ||
|
Pirfiktshon
United States1072 Posts
| ||
|
Alzadar
Canada5009 Posts
Try to understand the chasm of difference betwen "sorry you had a bad partner, that sucks" and "haha of course she was a bad partner, she's a woman." | ||
|
xtorn
4060 Posts
On November 25 2014 21:41 Morfildur wrote: Soon you are ready to join the club of the legacy code programmers ![]() i can literally see a Legacy-Code-Maintainers anonymous meeting "Hi. Im Aaron, I maintain cluttered code on a daily basis" [group applauds] Aaron continues: "Its been 4 months since my last unit test" [group sighs] | ||
|
Zocat
Germany2229 Posts
Be prepared to do everything on your own if you want a good grade. You can delegate some tasks to a bad teammate (i.e. boring GUI shit) where they won't break any of your other code. Never trust a lazy person. Deadline for them is the time when you alone can still finish the assignment. | ||
|
RoyGBiv_13
United States1275 Posts
On November 26 2014 05:07 Ben... wrote: + Show Spoiler + Can I vent at it too? The crying has already passed. I just did about ~45 hours of operating system programming over a 4 day period because my partner for my OS class decided that working on our assignment was no longer in her best interest. She had told me that she would start working on it mid last week after finishing another assignment. After that it was radio silence. Not a single response to my emails or texts, no commits. She did one small commit on Saturday that mostly involved undoing all my work, which I then promptly overwrote (and she sent me a passive aggressive email about). Then yesterday, around 6 hours before it was due, she starts working on it. I'd rather she hadn't. She did maybe 5% of the assignment, and everything she contributed was broken because she didn't understand how to do things (all the stuff we were doing had to be passed through a different function which then deals with userland stuff) or do anything remotely right (keep in mind this person is a full time software developer who is being paid to go to school). Things she didn't do: - testing. As in see if her code even compiles. She did a huge commit around 30 minutes prior to the assignment being due that had around 2 screens worth of errors (most because of the point below this one but others because she used -> when she shouldn't have or because of points 4 and 5 below this one). I ended up commenting all of it out. Our prof stated he would rather our code compile and run but be incomplete over being complete and not compiling/running. I was about to just revert back and remove her changes but I got everything working again so I didn't. I told her quite clearly that no major changes were allowed to the OS any time 4 hours before the thing was due so we would be guaranteed to have a compiling and running OS. She obviously didn't listen. She tried swapping out the default scheduler for her own, which didn't compile or wasn't even known to work. I undid that too. - include headers. She literally didn't include a single header in any of her stuff. I had to do that all myself. - finish include guards. Every header she made was missing #endif in the include guard - include said headers in the files that need them. Again, not a single include. - declare variables. This one baffled me. I would guess she didn't declare maybe half of the variables she used. - declare function signatures. I can see forgetting to do the void part for declaring a function with no inputs( say something like int foo(void); ) in a header, but forgetting to add in the input parameters in a function that needs them. I mean what? - understand how extern works. The few times she did declare variables she almost always used extern. In 2 different files she called extern on things that either didn't exist or were structures(?). Every time she would use "struct foo" she would add extern in front, even though she was declaring a local variable of that struct. - follow the course style guide. Ever. At all. Not even once. We already lost marks on two assignments because of it and she still won't adapt. Things she did do: - use what appear to be macros without declaring them (really, I'm not exactly sure what they were supposed to be. grepping the source code came up with nothing other than her stuff. They weren't in any other files or documentation) - attempt to use built in macros but use them all wrong - signed and unsigned comparison in vital system code (as in our process scheduler and a few other things). Most of them by default failed. - overwrite function signatures for stuff I was working on "because it doesn't match the man pages" despite the fact that we aren't going by the man pages, and are instead going by the spec outlined in a file within the OS that I sent her an email about - COMMITS WITHOUT EVER DOING UPDATES FIRST TO CHECK FOR CHANGES (this is partly because we had to use svn but still, it's common sense. In git, from what I remember, it runs an update when doing commits) I did a whole bunch of fault/error fixes to a commit she did in that 6 hour period prior to submission, I would guess she did that commit around 5 hours before the thing was due. When she did her second commit a half hour before submission, none of those fixes were there anymore. No svn updates were run in 5 hours with the knowledge that another person was working on the file to. Apologies for the long ranty post, but seriously if you do any of the stuff outlined above, please think about the other people working with you and maybe change your ways. I just needed to get this off my chest. I hope you guys understand. You and her had drastically different goals going into the project. A thirty minute meeting the day the assignment was given out might have alleviated a lot of the problems with the communication between you two. I've had my fair share of crappy partners for projects, but by senior year, if they made it that far, they have to have at least some brains and motivation. These issues are a great lesson that version control is no substitute to face-to-face meeting and pair programming for group projects. Try to analyze how the project failed so you can fix it for the next one. 1) Have a backup plan and set it up early. "If either one of us drops the ball on a module, try to let the other one know asap" 2) clear requirements from both parties, "I need at least a B on this project to keep my A in the class. What is your goal for the project?" 3) scheduling multiple people to be in the same room at the same time is a nightmare (herding cats). Instead, talk about availability of your upcoming schedule so that everyone knows how and when to get a hold of you, "I have classes all day tuesday and thursday, but I like to catch up on homework Sundays. I'm usually on campus from 2pm onwards. Is there a good time for you to meet up?" | ||
|
FFGenerations
7088 Posts
+ give me experience in java/something new that is in industry + tutor knows java + seems to have benefits of php like faster development/iteration - finding hosting for java application is supposed to be harder than for php ? could host on google app engine but not sure what the limitations of that would entail - ??? when you use a framework like this... your database is part of the model of the model view controller? so you dont use an external database like phpmyadmin or sqlserver? you use use model in the framework and the data is stored in some directory there? sure ive asked this before -_- | ||
|
berated-
United States1134 Posts
On November 26 2014 13:13 FFGenerations wrote: you guys used the java Play Framework for web app dev? i think it might be a good choice for me instead of php laveral or something... + give me experience in java/something new that is in industry + tutor knows java + seems to have benefits of php like faster development/iteration - finding hosting for java application is supposed to be harder than for php ? could host on google app engine but not sure what the limitations of that would entail - ??? when you use a framework like this... your database is part of the model of the model view controller? so you dont use an external database like phpmyadmin or sqlserver? you use use model in the framework and the data is stored in some directory there? sure ive asked this before -_- I'm a big fan of java webapps, but that's kind of what I do for a living so it makes sense for me to like. I'm a little biased when I say I think its a good idea to learn. Do keep in mind that while Play is built on java (I actually think the core is written in scala), its a bit different than full blown enterprise java. When you use a framework like this, the details are just hidden from you. In java, there is a main way to interact with the database...and that's through jdbc. At the base level you cannot get around that. The frameworks take the standard java apis and then build on top of them to make things easier. Underneath the hood, there is a still a database that is used for persistence, i.e. SQL Server, PostgreSQL, Oracle.. The ORM just takes care of a lot of the nitty gritty for you like creating tables, writing basic selects, and abstracting the details of interacting with the database from you. | ||
|
Manit0u
Poland17496 Posts
On November 26 2014 06:37 Pirfiktshon wrote: I apologize it was rather unkind but so was what that young girl did to him which actually perpetuates the stereotype in of itself if you don't mind me saying...... I have a female coworker who's actually a damn good programmer. How does that fit into your stereotype? | ||
|
Pirfiktshon
United States1072 Posts
I have a female coworker who's actually a damn good programmer. How does that fit into your stereotype? There is a lot of amazing female programmers most that are serious programmers are better than men because of their ability to control in their mind multiple fronts which helps drastically in debugging and recognizing that which will cause a bug in the first place...... Though there are fewer of them lol I was being more sarcastic about the comment more than anything else LOL I forgot we live in a world of pin cushions and baloons and very little in between.... | ||
|
ZenithM
France15952 Posts
On November 26 2014 23:14 Pirfiktshon wrote: There is a lot of amazing female programmers most that are serious programmers are better than men because of their ability to control in their mind multiple fronts which helps drastically in debugging and recognizing that which will cause a bug in the first place...... Though there are fewer of them lol I was being more sarcastic about the comment more than anything else LOL I forgot we live in a world of pin cushions and baloons and very little in between.... That first paragraph is as sexist as the rest btw ;D. I doubt good female programmers are much different from good male programmers. They're just good programmers, no need to invent specialized traits. | ||
|
Khalum
Austria831 Posts
| ||
|
Pirfiktshon
United States1072 Posts
| ||
|
Ben...
Canada3485 Posts
On November 26 2014 06:29 Isualin wrote: Did you choose your partner randomly in this project? I think you should try talking to her straigth up before your next project about all these things. We were assigned partners. I had no say in the matter. There was someone in the class I knew from high school I was going to work with but alas, we were told that partners would be assigned. There was no switching partners either. On November 26 2014 09:06 RoyGBiv_13 wrote: You and her had drastically different goals going into the project. A thirty minute meeting the day the assignment was given out might have alleviated a lot of the problems with the communication between you two. I've had my fair share of crappy partners for projects, but by senior year, if they made it that far, they have to have at least some brains and motivation. These issues are a great lesson that version control is no substitute to face-to-face meeting and pair programming for group projects. Try to analyze how the project failed so you can fix it for the next one. 1) Have a backup plan and set it up early. "If either one of us drops the ball on a module, try to let the other one know asap" 2) clear requirements from both parties, "I need at least a B on this project to keep my A in the class. What is your goal for the project?" 3) scheduling multiple people to be in the same room at the same time is a nightmare (herding cats). Instead, talk about availability of your upcoming schedule so that everyone knows how and when to get a hold of you, "I have classes all day tuesday and thursday, but I like to catch up on homework Sundays. I'm usually on campus from 2pm onwards. Is there a good time for you to meet up?" Believe me I've tried. She used to communicate well, we would plan things out, discuss the assignments and everything. The issue with her not doing svn updates was something we discussed in person as we ran into issues with it quite early and it needed to be addressed (but sadly, she did start running updates for a bit but then stopped again). Likewise with many of the programming issues, she would fix them for one assignment then go back to her old ways. We had it so if we couldn't talk in person, at the very least there were daily emails discussing progress, where we were going next, design ideas, tips for implementation, and so on. Our first two assignments went relatively smooth (the programming issues were present but at least some sort of effort was put forth on her behalf and any issues could be solved quickly. Her designs were usually quite good, she just couldn't implement things. Which I'm starting to think is more of a lack of familiarity with C programming, or more specifically systems programming in C) But then suddenly like a month ago, it all stopped. She would take up to a week to respond to emails or texts, was never at class so I couldn't try and figure out what was going on, didn't do commits, and so on. Just a complete breakdown in communication. Had I known she was not going to start working until quite close to the due date I would have started working on it earlier, as I had time to but instead chose to polish up other assignments with that extra time. I think what probably happened is that she took on too much at once and was simply overwhelmed with homework. She was showing signs of burning the candle at both ends earlier on in the term, and it finally caught up to her (by this I mean she was working on assignments way late into the night and then getting up early for lecture, since we have lecture in the early morning). She said she was taking 4 CS classes while still working part time at her job so I could easily see this being the case. And to the people saying it's because she's a girl. No, just no. There's good programmers and bad programmers. People who follow good practices and people who don't. Whether a programmer is a guy or a girl simply doesn't matter. Luckily, we only have one significantly easier and smaller assignment left, so I don't have to worry about this for much longer. I know at least two other people who ran into similar situations to me in my class so at least I'm not alone. There were also groups where both partners left it way too late and only got maybe 20% of the assignment done, so at least I'm not in the worst shape compared to most groups. | ||
|
nunez
Norway4003 Posts
found a stupid bug in my code. using storage_t= storage_t is supposed to be the result of a metafunction call that computes a type that can hold all the elements in a set of types. because i forgot to call the metafunction, storage_t is just the type of the metafunction, ie 1 byte. when i called placement new at that location, i overrwrote stuff and corrupted my datastructure. LOL. now it's cool: using storage_t= another sidebar, i was under the misconception that static visitors were slower than virtual dispatch. that is not the case! boost::variant, and my own jeh::abstract are both (marginally) faster than a virtual call. that is pretty god damned sweet. | ||
|
RoyGBiv_13
United States1275 Posts
When I write any C++ code it turns into 95% C after fighting with bugs in my templates and classes for a while. As long as it works, I guess... | ||
|
nunez
Norway4003 Posts
however, if you are not a lazy noob like me, you can inject compile time tests into your template machinery. so debugging would be easy in theory. the seemingly insane compiler diagnostics on template errors, and apparent complexity of rules complicates matters however... the _t convention is a pet-pieve of mine actually. the functionality of the metafunctions are contrived, but the metastructure is what is important here: + Show Spoiler [demonstration] + //n-nary type metafunction i think the metafunction itself is the one that should suffer the naming or namespace convention, and not the metafunction call (in orthodoxy postfixed with: _t and _v). i can't think of many contexts where it would be useful to disambiguate between a type metafunction call and a value metafunction call at the callsite (with _v and _t). it seems to be almost always inherently unambiguous because of how few places you are allowed to interchange a type with a value. for the few places i can think of, disambiguation is not really useful (sizeof, alignof, decltype). and i can't think of a context where you actually need the metafunction instead of the alias. i'm sure they exist though. maybe that's even important. and in these situations it would be a bit more awkward since you'd have to follow the naming convention imposed on the metafunction. however usually you will be interested in calling some metafunction. but as is i don't see why this is useful, and it's an unneccessary complication. i also like postfixing (intended) value types with _t, and this sullies the convention! tldr: metafunction calls are used more than metafunctions themselves. since i can't see any use for disambiguating between type metafunction and value metafunction calls at the callsite i think the metafunction should suffer the naming or namespace convention and not the metafunction call. | ||
|
Blisse
Canada3710 Posts
| ||
|
nunez
Norway4003 Posts
curse the lonely life of the template metaprogrammer... | ||
|
Xyik
Canada728 Posts
On November 26 2014 13:13 FFGenerations wrote: you guys used the java Play Framework for web app dev? i think it might be a good choice for me instead of php laveral or something... + give me experience in java/something new that is in industry + tutor knows java + seems to have benefits of php like faster development/iteration - finding hosting for java application is supposed to be harder than for php ? could host on google app engine but not sure what the limitations of that would entail - ??? when you use a framework like this... your database is part of the model of the model view controller? so you dont use an external database like phpmyadmin or sqlserver? you use use model in the framework and the data is stored in some directory there? sure ive asked this before -_- I've tried Play! before and the documentation not only sucked back when I used it, it's impossible to google for help because Play! is not SEO friendly. Most of the tutorials you'll find will be for development in Scala. | ||
|
Rotodyne
United States2263 Posts
On November 27 2014 00:23 Pirfiktshon wrote: Anyone here do front end development with angular at all? Yep, angular is pretty cool! | ||
| ||
