What resources would you recommend for learning about OS security? [closed] - windows

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
I'm interested to discuss security and want to work in this field.
I need a difference of useful resources!
I first want to study the security of operating systems,
both Windows and a version of Linux.
Which Linux version is better for security work, and what is the best resource for learning?
What is the best resource for learning Windows Security?
What are the resources for learning programming under these operating systems?

I do not mean to be rude, but Google will really fetch you some updated articles on what you want. Trust me, I've been there. Also try YouTube.
There's no Linux "version". What you want is a distribution, or a distro! Try BackTrack Linux. It is hot among the sec guys, as it comes pre-loaded with all the security auditing tools you may need.
Get the book called "The Art of Exploitation" and get your hands dirty, even if that means running a deliberately vulnerable Linux kernel (old, unpatched). That'll get you to learn the concepts of overflows, format-string attacks, injections etc.
The book mentioned discusses about Windows security(?) as well.
As far as programming is concerned, learn C/C++ first. Understand the low level UNIX system calls. Then, move on to learning WIN API (go to msdn and search) for Windows and strengthen your programming skills on Linux using a library related to what you like : study OpenGL/GLUT if you're into graphics, learn QT if you wish to build X-platform GUIs.
and, GET YOUR DATA STRUCTURES RIGHT.
"Programming" is an art that no one, nor any "resource" can teach you. You have to survive those segfaults, hair-pulling moments and evening-to-early-morning code marathons to actually bring out the "programmer" in you :)
EDIT: subscribe to security mailing lists :)
Happy (never-ending) journey,
keep learning,
regards,
Yati

Related

Convert from a high-level OOP to Linux Kernel programmer [closed]

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 need to convert myself from a high-level OOP programmer to a kernel device driver programmer.
So i must somehow learn low level stuff ( e.g. advanced bit manipulation and stuff ), Linux kernel plus device driver programming.
This is my new job, so my only option is to comply.
A list of books or tutorials will be much appreciated.
Thanks.
For an introduction http://www.tldp.org/LDP/lkmpg/2.6/lkmpg.pdf . Others may be
Linux Device Drivers, 3rd Edition - Jonathan Corbet,
Linux System Programming: Talking Directly to the Kernel and C Library - Robert Love,
Understanding the Linux Kernel - Daniel P. Bovet.
Learn C. I mean really learn, not just how to make something work, but understand pointers inside out, be able to know what complex expressions do, type promotions etc.
And in parallel just start working on it. Learning by experiencing usually works very well. Maybe try a simple driver that just exports something through sysfs, and then the same with procfs, debugfs, device file. Issues with multiple readers/writers ... there's always some scenario you can make up and then try to solve it.
Get hold of a target machine
Reading books alone is not enough, the best way would be to get a target board (I prefer Raspberry Pi) to load and test the kernel that you will be compiling, the driver that you will be writing.
Among other things, following are the best resources on the internet:
LWN - Has articles on linux kernel features, some of them wriiten by the original authors of those features
Linux Journal - A magazine of linux kernel tools and features
LXR - Online indexed Linux source code
Mailing lists - Subscribe to one of the linux kernel mailing lists that relates to what you would be working on to stay updated
And these are very valuable resources for linux kernel information:

Practical guide on machine learning for developers? [closed]

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
Machine learning seems to be a buzzword on startups, but as a traditional developer dealing mainly on MySQL, Python/PHP, Javascript, etc, I cannot find any really helpful tutorial online that can get me started on using machine learning techniques to enhance existing web projects.
So what I have in mind is like
- categorizing/tagging user submitted post automatically
- provide personalized recommendation
At the risk of being close as non constructive, might I ask here: would there be a "Hello World" kind of projects, or basic use-cases that help introducing machine learning techniques to practical programmers? Or at least some guides as to how to get started on this track?
Although many would recommend Elements of Statistical Learning, by Hastie, Tibshirani and Friedman, I feel the following resources more suited for people with a programming background rather than a mathematical background:
Machine Learning for Hackers, Drew Conway and John Myles White, O'Reilly, 2012
Algorithms for the Intelligent Web Haralambos Marmanis and Dmitry Babenko, Manning, 2009
To really get hands on, choose a language and find a machine learning library in that language, along with an accompanying tutorial. For instance Apache Mahout, or Weka for Java, Scikit-learn for Python, etc.
Also, PyGotham2011 features a video tutorial on developing machine learning-based features for web development.
There's quiet a nice, practical hands-on book which might give you some basic insights on what is going on:
Collective Intelligence - Building smart Web2.0 applications
ISBN-10: 0596529325
ISBN-13: 978-0596529321
It is using Python as example language, but I think it should give you some ideas.
Regarding Recommendations, there is also a good Introduction to Mahout Recommenders:
https://cwiki.apache.org/confluence/display/MAHOUT/Recommender+Documentation
Mahout also has the capabilities of doing clustering / categorizing texts, so it's worth to have a look into this machine learning library.

What is a tool to build simple team task management? [closed]

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 8 years ago.
Improve this question
I have a specific goal in mind: I want to make a to-do-list-type app for my group at work to use. My key requirements are to have very easy entry and removal of items, as well as work in an OS X environment. The first requirement is because anything that is easy to use is more likely to be used, and the second is because that's what we're on. The application will need to be live-updating among multiple users, but authentication is not a requirement. Distribution of the same app to other remote teams is a plus, but not required. Just a shared to-do list, with task-specific things to be added. It doesn't have to be a web app; native is great but the world at large seems to be more and more web-related these days.
I've been looking at a number of technologies such as Ruby (and Rails), PHP, MAMP, Cappuccino, FileMaker, Trac, and a few other options - but the paradox of choice means that I don't really know what is "best" to use. Looking at that list it is obvious that I don't really know what I should be looking at, let alone how to decide on things. I'm drowning in a sea of opportunities and a surplus if "good enough."
I am a somewhat-experienced with Objective-C and Cocoa, but excluding Cappuccino, those skills don't directly relate. I'm rather excited to learn new things, so my existing skill set is not especially important.
What sounds natural for this? I'm fully prepared for the fact there is no "right" option. Who here has a favorite methodology? What's a good application stack that has proven itself in rapid development time and future flexibility?
TL;DR: I want to make a concurrently-updated todo app for a small work team. It specifically does not need to be feature-filled, but should be "simple" to build and maintain. What is the right tool for the job?
EDIT: My team does nothing related to software dev, but my own personal mindset is that of a software dev. Part of the reason I am not afraid to roll up my sleeves and learn something new is a matter of personal development.
I would highly recommend that you use an existing solution rather than build your own. Teams building their own management software has a long history of sucking up lots of time, energy and talent for little benefit.
As for which solution you should use, it depends on the kind of work your team does. If they do software development, as I suspect they might based on your question, Trac is an excellent option.
Based on your requirements, IMHO, the GoogleTask is the best one for you. If want desktop (not web) app, check Things (commercial).

What do you use as a system to manage your clients/support/development? [closed]

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 am normally developing either alone or with 2-3 other people. i handle almost all aspects of the business and development but as of current i am becoming overwhelmed with my client base. I need some system to help me out
What i am looking for is something that i can:
Use to manage my client contacts
Per client, manage the goals of the project im working/building on
Per client, per project, manage the bugs
Per client, per project manage support/helpdesk stuff... and then
turn those into bugs
Automate the communication of tickets and monitor email for support
stuff.
I am down to hear ANY ideas/options you have no matter how radical. :)
thank you!
We have bought the Source Code licence to JitBit Helpdesk, my colleague is in the process of adding some extra fields to support our work-flow, I have been working Visual Studio and AnkhSVN integration so that we can see bugs from VS2008/VS2010.
The user interface is functional, it can be styled to our likings, the code is a bit haphazard but the database is simple enough.
I've been using Assembla -- No complaints, and it covers just about everything -- and it's free to try.
We use HEAT from FrontRange solutions for most of the things you've mentioned. They also offer other solutions, such as CRM, etc. Nicely customizable, easy to interface to, nice self-service modules, excellent monitoring tools and auto-escalations... (and no I don't work for them. I've just been very happy with them over the last 10 years.)
Have a look at Gemini & SimplyFi
Take a look at Checkvist - it may work for you for clients/goals/plans/priorities. It is general purpose outliner and task manager.
For tickets/bugs you probably need a real issue tracker, like YouTrack.
Disclaimer: I'm affiliated with both of them.

Learning Audio Manipulation [closed]

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 4 years ago.
Improve this question
I want to learn how applications like CakeWalk, Cubase, and ProTools are built. Are there any good resources out there to learn this type of development?
Resources
Digital Signal Processing Basics
If you want to learn about how the capabilities of these programs are implemented (I'm talking about filtering, synthesis, mixing, etc.), read as much as you can about digital signal processing (DSP). If you happen to be in a position to take a DSP class at a college or university, you'd probably get a lot of good information out of that. (I've taken a couple such classes myself and they were fantastic) Beyond that, there are dozens of books and research papers out there concerning various aspects of DSP; just try to find a good one (or several) and dive in. A Google search can definitely get you started.
If you want to know more about audio programming in general, i.e. how to access the operating system's audio resources (microphone/speakers/etc.), I guess I could echo Dan's suggestion of looking at Audacity...
The Audacity folks might be able to help. Getting involved with an open source project is a great way to help the community and get mentored on a new technology.
Anyone interested in this topic and learning more about Digital Music Technology could also look into https://ardour.org/ - an open source Digital Audio Workstation in ongoing development and with an active developer community. http://community.ardour.org/community.
"Ardour is an open source, collaborative effort of a worldwide team including musicians, programmers, and professional recording engineers. Development is transparent — anyone can watch our work as it happens. Like a good piece of vintage hardware, you can open the box and look inside. "

Resources