Closed. This question does not meet Stack Overflow guidelines. It is not currently accepting answers.
Questions asking us to recommend or find a book, tool, software library, tutorial or other off-site resource are off-topic for Stack Overflow as they tend to attract opinionated answers and spam. Instead, describe the problem and what has been done so far to solve it.
Closed 8 years ago.
Improve this question
I'm looking for a basic software for statistical analysis. Most important is simple and intuitive use, getting started "right out of the box". At least basic operations should be interactive. Free would be a bonus :)
The purpose is analysis of data dumps and logs of various processes.
Importing a comma/tab separated file
sorting and filtering rows on conditions
basic aggregates: count, average, deviation, regression, trend
visualization - plotting the data,bin distribution etc.
Excel fails (at least for me) for the filtering and re-combining data, I guess something like "Excel with SQL" would be nice. I've been using MS Access + Excel and copying around data before, but that's a pain.
Do you have any recommendation?
Clarification I am not looking for a specific tool for IIS/web server logs, but various data end event logs (mostly from custom applications) with tab-separated values.
Specifically for Log file analysis I would recommend Microsoft's Log Parser(free), which will allow you to run queries with basic aggregation against all types of text based files (and across sets of files), XML, CSV, Event Log, the Registry, file system, Active Directory, etc..
There is also a free GUI build on top of it called Log Parser Lizard GUI which makes it more user friendly and can do basic graphing etc.
I would consider looking at R, it is:
Free
Widely used by statisticians
Fairly easy to use.
Can easily do everything you mention in your post
I used Tableau Software at a previous gig, and it's pretty amazing - extremely intuitive and easy to use.
Unfortunately it's also pricey.
Related
Closed. This question does not meet Stack Overflow guidelines. It is not currently accepting answers.
Questions asking us to recommend or find a tool, library or favorite off-site resource are off-topic for Stack Overflow as they tend to attract opinionated answers and spam. Instead, describe the problem and what has been done so far to solve it.
Closed 8 years ago.
Improve this question
I am looking for a high level language which will still allow me to work directly with graphics. I want to be able to modify screen pixels, for instance. But I do not want to write huge amounts of code for each operation. I want simple one line commands for graphics somewhat like those listed below. What are some programming languages which would have these features?
Possible pseudocode:
Screen.clear
Graphics.line(4,5,20,25).color=green
Circle(centerx,centery,radius)
Depending on what you want to do (ie, how complex do you need to get?) Processing is a very high-level, graphics-focused environment. Note, however, that it seems to be focused on the fixed function OpenGL pipeline, which is deprecated (though arguably the easiest and most intuitive way to get started).
Processing is built in Java, runs in web browser (or from your desktop), and abstracts most of the initialization and cleanup code required to use OpenGL.
Edit
I've just noticed your comment that says you're not an experienced programmer. In that case, I'd recommend starting with Processing. Once you get the hang of it, move on to Python.
Another, slightly more complex, option is Python. Python is very powerful, fairly easy to pick up (depending upon your prior development experience), and widely supported. It'll also allow you to use shaders and other features from the 21st century, and is cross-platform See this link for PyOpenGL, the first Python OpenGL site that popped up in google.
Then, there's C# + OpenTK. This can get pretty complex pretty quickly, but is very powerful, and since it's compiled (under .NET or Mono), can potentially give you better performance than Python.
Finally, for close-to-bare-metal performance, C++ is unbeatable, though arguably the most complex of these options, with a significant learning curve. However, most of the example code you'll find online is in C++, which can be an issue if you're not using C++ and aren't comfortable reading it.
Using Qt you can create QImage objects and draw on them usign QPainter.
You've of course pixel control using that abstraction level, but you can also access the underlying memory directly using bits() and bytesPerLine() methods thus accessing the image memory directly.
The format that is easiest to use to do fast special computations is in my opinion QImage::Format_ARGB32 with 32 bits per pixel.
Qt is a C++ library portable on may OSs and platforms, and bindings are available for many very high level languages (e.g. Python).
Closed. This question does not meet Stack Overflow guidelines. It is not currently accepting answers.
We don’t allow questions seeking recommendations for books, tools, software libraries, and more. You can edit the question so it can be answered with facts and citations.
Closed 3 months ago.
Improve this question
I have a large number of data that needs to be compared,
We are using Microsoft EXCEL, it costs, and it is slow, besides the graph that it generates is also not up to the mark.
Now, is their any other tool, that is free, and has good graph's facility.
Thank you.
If you need good data analysis toolkit, you can spend some time and try R --- free software statistics/data analysis toolkit. It has pretty good graphic capabilities, especially via ggplot2 package for static graphics and ggobi for dynamic data exploration.
Data import/export pretty easy too --- R can import csv/tsv, or Excel data via ODBC and so on.
Pretty good introduction in exploration data analysis with R and ggplot
Introduction to R
Data Import/Export
It takes some time to learn, but after that you are not limited with tool capabilities: R can handle plenty of analysis tasks: from simple data crunching, pivoting. aggregation tasks to advanced statistics/machine learning methods: clustering/classification/ regression etc.
If you more more interested in data transformation with simple calculations, you can use some kind of Extract-Transform-Load toolkit, such as Talend Open Studio.
If you already have MS Office Suite, you probably have MS Access already installed. It does a better job of processing heaps of data, and is a bit more versatile in graphing/charting/displaying data. There may be a bit of a learning curve if you've never used it before.
As for free: I like working with Resolver One, which is free-ish under certain circumstances. At very least its charts are marginally nicer to look at than Excel 2003.
It's going to be difficult to find a free, fast, powerful alternative that generates classy charts though, unless you're willing to code something yourself in, say a web interface.
Closed. This question does not meet Stack Overflow guidelines. It is not currently accepting answers.
Questions asking us to recommend or find a tool, library or favorite off-site resource are off-topic for Stack Overflow as they tend to attract opinionated answers and spam. Instead, describe the problem and what has been done so far to solve it.
Closed 8 years ago.
Improve this question
I'm looking at porting an old driver that generates a large, complex set of tables of data into user space - because the tables have become large enough that memory consumption is serious a problem.
Since performance is critical and because there will be 16-32 simultaneous readers of the data, we thought we'd replace the old /dev based interface to the code with a shared-memory model that would allow clients to directly search the tables rather than querying the daemon directly.
The question is - what's the best way to do that? I could use shm_open() directly, but that would probably require me to devise my own record locking and even, possibly, an ISAM data structure for the shared memory.
Rather than writing my own code to re-visit the 1970s, is there a high-performance shared memory API that provides a hash based lookup mechanism? The data is completely numeric, the search keys are fixed-length bit fields that may be 8, 16, or 32 bytes long.
This is something i've wanted to write for some time, but there's always some more pressing thing to do...
still, for most of the usecases of a shared key-data RAM store, memcached would be the simplest answer.
In your case, it looks like it's lower-level, so it memcached, fast as it is, might not be the best answer. I'd try Judy Arrays on a shmem block. They're really fast, so even if you wrap the access with a simplistic lock, you'd still get high performance access.
For more complex tasks, I'd search about lock-free structures (some links: 1, 2, 3,4). I even wrote one some time ago, with hopes of integrating it in a Lua kernel, but it proved really hard to keep with the existing implementation. Still, it might interest you.
Closed. This question does not meet Stack Overflow guidelines. It is not currently accepting answers.
Questions asking us to recommend or find a tool, library or favorite off-site resource are off-topic for Stack Overflow as they tend to attract opinionated answers and spam. Instead, describe the problem and what has been done so far to solve it.
Closed 9 years ago.
Improve this question
I spent a lot of time recently reading about debugging. One of the aspects that was continually referenced was not just a bug-tracking system, but a bug-solving process. I read about people writing down takes on the problem(that did or didn't work), tests that would determine if a given take on the fix would work or not, etc.
So I am thinking, "hey, this is a good idea"
I use Mantis right now, and it doesn't seem to have that capability(without abusing its fields). Mantis works great as a bug logger. But I'm looking for something more sophisticated in interface, I think.
Example
Suppose my bug was "Pants fall off". Then I want to log this information as...
"Pants fall off; Feb 32, 2009, 25:61; when I walked into a room, my pants fell off!"
Developer 1...
Hypothesis 1: Pants too big.
Test 1:Put on a belt.
Possible Solution 1: Buy a belt.
Result = ?? Result ???
Test 2: Put on your kid sister's pants.
Possible Solution 2: Steal into her room and take all her pants while she's at school!
Result = ??, date/time = ???
Developer 2...
Hypothesis 2: Your pants have holes in them.
Test 1: Shine a light on them.
Possibile Solution: Buy new pants.
Result = ???, date/time = ???
Now, this is a silly example. But I think it would be great to have as a software tool.
Does such exist, and if so, what's it called?
Trust me: you really don't want to maintain your bugs, that's why you don't find "Bug Maintenance Systems" :-)
Sorry... couldn't resist. Regarding the actual content of your question: I personally just keep track of all that information in the comment history of the ticket. Mostly I use trac for its simplicity, but also the capability to link into sources if required (at least on the file level, I wish it would grok code so you can point into the AST).
You could use Testopia, which is an extension of Bugzilla. This, of course, would also mean you would need to use Bugzilla.
Taken from the Testopia website:
Testopia is a test case management extension for Bugzilla. It is designed to be a generic tool for tracking test cases, allowing for testing organizations to integrate bug reporting with their test case run results. Though it is designed with software testing in mind, it can be used to track testing on virtually anything in the engineering process.
We also use Mantis, and like Peter Becker describes, we use the comments to describe the work on a bug. This usually works, because most bugs don't have such a long history.
If work on a bug becomes so complex it needs its own meetings and meeting notes, we usually create a task in our main work planning system and do the discussion there (linking from Mantis). That at least works for us.
At any rate, I'd be wary of a system that tries to explicitly support a certain workflow, as these also tend to lock you into the workflow they expect. An in bughunting, the workflow can vary a lot from bug to bug...
Finally, note that Mantis also lets you edit your comments. So you can change old comments to avoid cluttering the bug report.
Closed. This question is off-topic. It is not currently accepting answers.
Want to improve this question? Update the question so it's on-topic for Stack Overflow.
Closed 11 years ago.
Improve this question
What's the best way to describe your level of skill in particular technologies (languages, platforms, OS, ...) when polishing your CV ?
Assume we are talking about the short CV of the kind where you don't spell out every project and system you have worked on in the past, but still want the reader to get a general appreciation of how well you master each topic.
Can you suggest a set of labels which is unambiguous but sufficiently general to be understood across the industry?
As a hiring manager, I like it when people state how many years they used a language and when they last used it. Also, when describing projects you worked on, be sure to list what languages you used on each. It's frustrating to see someone with C++ (or any language) on their resume but not listed next to any projects.
Number of years of experience is usually what HR people look for since it is more verifiable and ostensibly objective than words like "expert" et. al.
Labels are so ambiguous as to be meaningless. Instead, describe working projects you have actually done in each language. E.g. "Wrote 30 T/SQL stored procedures for SQL Server 2005 for updating an ORM, and 10 triggers for integrity validation". "Wrote back-end LINQ to SQL ORM in C# for an ASP.Net 3.5 web service".
In past years, I have added qualitative terms to my resume but only in a structured way. So, for example, I've used things like "Expertise in C#, SQL and Delphi" and then "Familiar with Lisp, PHP,..." etc. The idea isn't necessarily to rank yourself against others - the years of experience and the types of projects worked on will do that - it is to show where you are deepest in a relative sense among all of the technologies that you have learned.
The other benefit, of course, is that you are showing a sense of proportion and perspective about your own talents. If you said you were "expert" in more than three technologies, I'd be pretty skeptical. If you indicated expertise in 2-3 and familiarity with many more, it would raise much less of a red flag.
You could use a scale system, e.g. 1-5 with 1 being the least and 5 being the most. Be quantitative not qualitative as that can bring in various definitions that aren't likely to be what you'd prefer.