Tag Info

Hot answers tagged

37

I use both Python (for data analysis ofcourse including numpy and scipy) and R next to each other. However, I use R exclusively to perform data analysis, and Python for more generic programming tasks (e.g. workflow control of a computer model). In terms of basic operations, say operations on arrays and the sort, R and Python + numpy are very comparable. ...


34

Short Version By adopting Zed Shaw's Programming, Motherf*cker! methodology? Longer (Serious) Version While Shaw - despite being a bit overly enthusiatic and (way) over the edge - definitely has a point there, there's a bit more to it than that... You quite simply need to learn to embrace something similar to a personal productivity ritual or ...


34

Background: I'm a data scientist at a startup in Austin, and I come from grad school (Physics). I use Python day-to-day for data analysis, but use R a bit. I also use C#/.NET and Java (just about daily), I used C++ heavily in grad school. I think the main problem with using Python for numerics (over R) is the size of the user community. Since the language ...


25

Analysis: Define the problem. Answer this: "What do we need?" Design: Define the solution. Answer this: "How will we build it?"


22

People who aren't interested are creating their own obstacles. I can't worry about that. For those who don't know the path, I suggest: I find that every OO language I learn makes me a better OO developer. Much can be brought from each language into others, as long as you find the community. You do learn more from failure than from success, but try to do ...


19

First tip: use an IDE (or a very good editor :)) to spot syntax errors, misplaced parentheses and other trivial mistakes. Second step: Autoformat all code in a format you feel comfortable with. You'd think this doesn't matter much but amazingly, it does. Don't be afraid to rename local variables if they are poorly named. (If you have access to the full ...


18

There are certainly cases where it makes sense for a business analyst to understand the technology at least well enough to understand where it makes sense to question a business user about how important a particular feature would be. For example, if the business is accustomed to the behavior of a fat client application while the new application is going to ...


16

Unless you are estimating something very similar to that which you and your co-workers have done before, +/-10% is ridiculously optimistic. Your management either doesn't have a lot of experience with software, or they're not aware of Large Limits to Software Estimation. That paper has some accompanying supporting material, and a lot of punditry can be ...


15

May I say that I think you are taking the wrong approach with this. If folks are turning to you for help with their code, I think you have the responsibility to turn around and say to them to walk you through their code. You can fix their errors for them, and they may learn something (by rote), if they can spot their own errors (with your help) they are ...


13

This is all very hand-wavy, but there is a mathematical reason why we don't use Theta(c) and instead use Theta(1). I'll use Big O notation instead to show this. It has to do with a property of Big Theta (as well as Big O and Big Omega) notation. If you have a function with growth rate O(g(x)) and another with growth rate O(c * g(x)) where c is some ...


11

So, I have primarily done data analysis in Matlab, but have done some in Python (and more used Python for general purpose) and also I've started a bit of R. I am going to go against the grain here and suggest you use Python. The reason why is because you are doing data analysis from a Machine Learning perspective, not stats (where R is dominant) or digital ...


9

Absolutely. The whole point of scrum is to get the product owners feedback at the end of every sprint to make sure you are building the correct things. The sales manager should not be interrupting you in the middle of a sprint. But when you do the presentation at the end he should be there and you should be writing defects for each and every one of his ...


9

Classical inheritance inherits the behavior, without any state, from the parent class. It inherits the behavior at the moment the object is instantiated. Prototypal inheritance inherits behavior and state from the parent object. It inherits the behavior and state at the moment the object is called. When the parent object changes at run-time, the state and ...


9

What exactly is the Cyclomatic complexity saying to me? Cyclomatic complexity is not a measure of lines of code, but the number of independent paths through a module. Your cyclomatic complexity of 17,754 means that your application has 17,754 unique paths through it. This has a few implications, typically in terms of how difficult it is to understand ...


7

Based on my understanding of the English language and trying to be logical about what should be the difference: Requirements Elicitation = Requirements Gathering. This is asking what are the requirements, what if this, what if that, etc. This is about asking the questions and getting responses. How well are the answers is another matter entirely. This ...


7

Those notations are meant to denote the asymptotic growth. Constants do not grow and thus it's pretty equal which constant you choose. However, there's a convention that you choose 1 to indicate no growth. I assume that this is due to the fact that you want to simplify the mathematical terms in question. When you've got a constant factor just divide by it ...


7

Having worked both sides of this issue I have to agree with the Analyst. I have seen some spectacularly poor designs resulting from lack of understanding of the capabilities of the technology. In some cases, it has been a result of taking marketing hype as truth. In general, the problem has been generating specifications which don't match the technical ...


7

If you're under heavy time limitations then, first of all, build something that works. Draw anything you need to make a working system and ship something the client can use. Then, if needed, you can focus on improvements, optimization and polishing.


7

As an old school (over 50) scientist who has and continues to use a number of these tools I will add my two cents. I have worked with colleagues who still write every piece of code in Fortran, from trivial one-off data analysis jobs to code that dominates some of the worlds supercomputers. Recent Fortran dialects (F90, F95, F2003, F2008) are IMHO, some of ...


6

Usually, I analyse a simple part first, e.g. the module used to maintain a small table. This teaches me the style the other programmer is using. If I have problems understanding even that, it's either very badly written or my knowledge of the language, framework etc. is insufficient. Once I grasp the simple part, it's time to move to the more complex parts ...


6

There is research into this topic but it will give you a complex answer. You can increase how much a person can take in from a UI if you use different sensory modalities rather than just one. For example using sights and sounds you may be able to pump more information into a user than using just sight or just sound. There are also findings that suggest ...


6

For hard problems, I almost always fall back on TDD (Test Driven Development). That way, I can explicitly assert how I want my program to work and then test and validate that it's doing what I expect.


6

refactoring the code, thus making it clearer, and in standard that ah-hock established.


6

What you see as interference might simply be them trying to put over new and/or changed requirements. Your example of the colour issue is a prime example of this. However, your other examples could be seen as interference - especially the way you've phrased them. What you need to do is arrange regular meetings to discuss the direction and design of the ...


6

Ideally your requirements should be coming from the customer, but the sales staff is also a valuable source of feedback, and the fact that your sales staff is funnelling their requests through the sales manager (and not just inundating you with individual requests) suggests that they are trying to be helpful to the process, and not merely interfering. Does ...


6

Recent blog post about JS OO I believe what your comparing is classical OO emulation in JavaScript and classical OO and of course you can't see any difference. Disclaimer: replace all references to "prototypal OO" with "prototypal OO in JavaScript". I don't know the specifics of Self or any other implementation. However prototypal OO is different. With ...


6

First: Most of the time, you'll be using objects, not defining them, and using objects is the same under both paradigms. Second: Most prototypal environments use the same kind of division as class based environments -- mutable data on the instance, with methods inherited. So there's very little difference again. (See my answer to this stack overflow ...


6

If the technology that will be used is known it should be taken into consideration by analysts when creating the design. Different technologies do things differently and a design that doesn't take into account those differences is going to have problems. However, business analysts shouldn't care about what technology is used, their job is to gather business ...



Only top voted, non community-wiki answers of a minimum length are eligible