|
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. |
As a general rule, conversations like that are better held in person than over email. It's a much higher bandwidth, leaves less room for misinterpretation (though still some room, so be clear), doesn't leave a paper trail (probably not a concern for this specific topic, but definitely a cause for concern for other topics), can't be accidentally forwarded/cc'd around, and is just overall more genuine.
Shit that sucks even more than I previously thought. 2 devs, 12 person company. So you have literally nobody to learn from development-wise?
Yea, get out.
Depending on where you live, there may be many places you can apply to. If you're unsure if you can get into any specific place, shotgun approach and just apply to a LOT of places. If you end up interviewing at larger places that have more formal tech interview processes, you can find resources to prepare (I dunno what your 12 person shop is like, but the ~12 person shops I've worked at have seriously lax interviews, if any).
|
On September 23 2014 13:37 phar wrote:Show nested quote +On September 23 2014 10:47 Blisse wrote: If you're friends with her and not just coworkers then I would ask to talk to her and go over some of the problems you see she's having and ask what's up because you're worried this is having a negative effect at work, and see if she wants some more help doing stuff (friends right). Otherwise yeah you need to tell your boss and tell them you can't continue working there in these conditions. I dunno, maybe I'm paranoid. I would not recommend talking to her, mostly because the last couple paragraphs read like an HR minefield. If you have a co-worker who is straight up lying about things, you start treading in very dangerous waters. I get that you probably don't have HR at a 12 person company, but if you think the problems are as bad as you describe, talk to your boss. Stuff like this is your boss's job to deal with. If you don't feel comfortable, you don't have to directly talk about deceitful behavior, but bring up changes that would have to happen to make accountability like this not be possible in the first place: * instate code reviews, so you can't just check random-ass code into head without having another dev sign off on it. Also this provides a good way to give direct feedback on code quality and help others improve. * you could probably stand to have better test infrastructure, if it is true that your tests fail to catch stuff that happens in production (this is not always possible, but you'd be surprised how close you can get tests to catch real problems). Are your tests run automatically when stuff is checked in (maybe even before)? Whatever you do, I would recommend having the discussion with your boss in person and not over email, because again, HR minefield.Also, ask your friend for a recommendation to whatever place they went to. While your work environment might improve, I personally would not bet on it. I'd be scared of the boss talking to her and then her lying about me. Dealing with people is hard and if your boss doesn't trust you or prefers her to you then the worst that can happen is that you'll be out of a job or she'll learn about your feelings towards her, and feel like you went over her head.
Has anyone taken a look at exercism.io? It was on reddit's front page yesterday and seems to be about social coding to improve one's code quality.
Also I'm looking for angular js tutorials.
|
Hyrule19173 Posts
Her lying isn't a big deal if there's, for instance, a long history of her commits to the repository.
|
You would feel comfortable working with someone who will lie about where they are in a project and the problems they have run into? Not a big deal? It's a pretty big deal to me. It's okay if you overlooked something or something you didn't expect popped up or just a dumb error - but take some damn accountability and say "Yeah, I screwed up, my bad, I'll work on fixing it" or "No, I haven't figured out what's causing the problem yet, but I'm narrowing it down". That's the type of person I am much more comfortable working with.
|
Hyrule19173 Posts
On September 25 2014 07:14 EscPlan9 wrote: You would feel comfortable working with someone who will lie about where they are in a project and the problems they have run into? Not a big deal? It's a pretty big deal to me. It's okay if you overlooked something or something you didn't expect popped up or just a dumb error - but take some damn accountability and say "Yeah, I screwed up, my bad, I'll work on fixing it" or "No, I haven't figured out what's causing the problem yet, but I'm narrowing it down". That's the type of person I am much more comfortable working with. I meant her lying to the boss in the event of a confrontation, not her general suckiness-at-programming.
|
Yeah, the whole "being a garbage programmer" thing aside, lying to her boss's face will not end well, and putting off dealing with the issue will not do anyone favours (her included). And in this case, it isn't just little fibs, but blatant lies.
|
Does anyone or can anyone link me to how you can control the global audio playback in C# or C++ Windows 8? I can't actually find any sources which is weird.
|
|
|
Now, to share some of my woes with you...
So, I'm tasked with bug hunting in one of the old projects my company commited. What I'm facing now are functions like:
$this->s('something', 'somewhere'); $this->g('something', 'somewhere');
From the code alone I can see they're some setters and getters, but how do they work? Searching the project for "function s(" yields 17 function definitions in various classes. The classes I'm debugging, that are invoking those functions, are up to 9th generation with multiple of their ancestors overriding those functions. To make things worse, even classes that seem similar in nature and function take different inheritance routes from the base class, even including empty "bridge" classes to bypass some functionality. Of course, nothing of it is documented or even commented in code...
And I have to deal with bloated classes and methods because someone who wrote them has never heard of SRP. This wouldn't be such a big deal if not for stuff like that being everywhere:
function SomeFunc($args) { $var = new SomeObj(); // do some stuff with $var
// halfway down the function
$var = DatabaseData; // do stuff with $var }
and
if (isset($somevar)) { switch ($somevar) { case 'something': return 'something'; break; case 'somethingelse': return 'somethingelse'; break; } }
To say this is all confusing would be a great understatement...
|
Best case, install XDebug and go through it step by step. Worst case, var_dump/print_r/error_log everywhere (aka shotgun debugging) and hope for the best.
I found that XDebug with step by step debugging and breakpoints increased my productivity a lot, but sadly a lot of corporate development environments don't allow for it.
Hey, at least the code is object oriented (or at least what I call "object based").
|
On September 25 2014 18:20 Morfildur wrote: Hey, at least the code is object oriented (or at least what I call "object based").
Small parts of it are. Most of it is written procedurally on top of an OO framework...
|
Hyrule19173 Posts
On September 25 2014 16:48 Manit0u wrote:Now, to share some of my woes with you... So, I'm tasked with bug hunting in one of the old projects my company commited. What I'm facing now are functions like: $this->s('something', 'somewhere'); $this->g('something', 'somewhere');
From the code alone I can see they're some setters and getters, but how do they work? Searching the project for "function s(" yields 17 function definitions in various classes. The classes I'm debugging, that are invoking those functions, are up to 9th generation with multiple of their ancestors overriding those functions. To make things worse, even classes that seem similar in nature and function take different inheritance routes from the base class, even including empty "bridge" classes to bypass some functionality. Of course, nothing of it is documented or even commented in code... And I have to deal with bloated classes and methods because someone who wrote them has never heard of SRP. This wouldn't be such a big deal if not for stuff like that being everywhere: function SomeFunc($args) { $var = new SomeObj(); // do some stuff with $var
// halfway down the function
$var = DatabaseData; // do stuff with $var }
and if (isset($somevar)) { switch ($somevar) { case 'something': return 'something'; break; case 'somethingelse': return 'somethingelse'; break; } }
To say this is all confusing would be a great understatement...
Are they magic? Or wrappers for magic?
|
They're fucked up, that's what they are (they call get and set methods in one of the ancestors, which override some other get and set methods which in turn wrap magic methods in their ancestors)
And got a new request from the client, asking us to remove all password confirmation fields from the register forms because "no one is using that in the civilized world any more". I was more than happy to oblige, just to make them suffer.
|
Not really going anywhere with this, just wanting to write about this task snowballing I've encountered.
So I was assigned to get our product's test suite working (I'm a co-op student). Our tests have a mechanism where you can reference env variables using a special syntax, and you could define those env variables in a .conf file.
I noticed that when I changed the .conf file, sometimes the values seemed to be the same as before I changed it. Eventually I figured out that the env variables were being assigned values all over the place by various setup functions, so you couldn't rely on the .conf file having any effect.
What made this hard to detect is that the script that switches in the env values prints out the variable it's using, but not its value, so you can't tell what command is being given. So I decided it would be very useful for debugging to print both the variable name and its value.
Problem is the code that parses the commands and replaces the special syntax variables was copy and pasted in seven different locations (all exactly identical). I figured if I was going to change the functionality I might as well unify all this code into a single function.
But then in doing that I discovered that changing source files sometimes seemed to have no effect, and it was because I have a duplication of the test suite, and a lot of the source commands (this is Tcl by the way) use hard coded paths to refer to the production test suite. There is a baseDir variable but it isn't always used and it seems to get changed by a few scripts which seems insane to me.
I feel like I'm pulling at a loose thread in a sweater until eventually there'll be nothing left. o_O
|
On September 26 2014 06:25 Alzadar wrote: Not really going anywhere with this, just wanting to write about this task snowballing I've encountered.
So I was assigned to get our product's test suite working (I'm a co-op student). Our tests have a mechanism where you can reference env variables using a special syntax, and you could define those env variables in a .conf file.
I noticed that when I changed the .conf file, sometimes the values seemed to be the same as before I changed it. Eventually I figured out that the env variables were being assigned values all over the place by various setup functions, so you couldn't rely on the .conf file having any effect.
What made this hard to detect is that the script that switches in the env values prints out the variable it's using, but not its value, so you can't tell what command is being given. So I decided it would be very useful for debugging to print both the variable name and its value.
Problem is the code that parses the commands and replaces the special syntax variables was copy and pasted in seven different locations (all exactly identical). I figured if I was going to change the functionality I might as well unify all this code into a single function.
But then in doing that I discovered that changing source files sometimes seemed to have no effect, and it was because I have a duplication of the test suite, and a lot of the source commands (this is Tcl by the way) use hard coded paths to refer to the production test suite. There is a baseDir variable but it isn't always used and it seems to get changed by a few scripts which seems insane to me.
I feel like I'm pulling at a loose thread in a sweater until eventually there'll be nothing left. o_O
|
Thanks, but those were for Windows Store apps, I was looking for a WPF solution.
Can't believe this but I don't think it's possible on WPF... o_o
What is the keyboard input that generates the "Play next song" input? A lot of keyboards have it but Googling has failed me on how they work.
edit: found something that hopefully works here (this is so much trouble and why i wish ms would move to android style docs)
http://msdn.microsoft.com/en-us/library/dd375731(v=VS.85).aspx
Sick, that method totally works (y) i got my kinect to detect my voice now so i can control my media with my voice :D
|
I have a question. Are there any Windows 8 users here who develop in python? I'm about to get a new laptop but my biggest fear is that certain programs such as PyCharm 3.0 won't translate 100% perfectly in Windows 8. Am I just being paranoid here or are the slight speed boosts over Windows 7 not worth the uncertainty factor?
|
Hey guys! I'm really new to node.js and having a bit of a problem with objects. Lets say I have two files, one called printer.js and another called database.js. printer.js prints the results database returns. printer.js looks like this:
var db = require("./database")
db.getStations(dbReturn);
function dbReturn(stations) { for(var i = 0; i < stations.length; i++) { console.log('id: ' + stations.id); } }
and my database.js looks like this:
function getStations(callback){ var listOfStations = []; for(var index = 0; index < 10; index++) { var station = new Station(index); listOfStations[index] = station; } callback(listOfStations); }
function Station(id){ this.id = id; }
exports.getStations = getStations;
I would just like to mention that Station class has a lot more members than that. But the problem here is that I cannot access the members from the Station objects I created in database.js from printer.js. I am having quite a bit of trouble figuring out how to do this. I have learned how to create a new object of Station in printer.js by exporting Station, but I still can't access the members of an object I created somewhere else! It just spits out 10 x "id: undefined" Can any of you guys help me?
|
I just came across generators in python. Generators are the fucking bomb. I'm still wrapping my mind around this new concept and the more I think about it the more stuff I come up with to use them for. I mean... it's a function that can return a value.. but keep its stack data! So you can enter the function again, and it keeps running from where it left off until it returns again. Short example if you don't know what it is:
def mygen(): yield 1 yeild 2 yield 3
gen = mygen() for n in gen: print(n)
>>> 1 >>> 2 >>> 3
At first glance this might not seem so awesome, it's just iterating right? WRONG! The cool thing is that the generator can maintain its own state! And you can connect many generators together to form a massive processing pipeline.
If you're intrigued, check out http://www.dabeaz.com/generators/
I just heard generators are coming to Javascript, which made me really excited!
|
If you like generators and iterators you should read about coroutines
On September 26 2014 20:49 lannisport wrote: I have a question. Are there any Windows 8 users here who develop in python? I'm about to get a new laptop but my biggest fear is that certain programs such as PyCharm 3.0 won't translate 100% perfectly in Windows 8. Am I just being paranoid here or are the slight speed boosts over Windows 7 not worth the uncertainty factor?
There's no difference between Python files on different platforms except for line endings.
|
|
|
|
|
|