Thursday, September 25, 2008

You could Rent me for coding..

Well, hmmmm... I have finally thrown the towel in for the freelance coder sites. The sites I guess are great for some coders but for me I have found committing yourself to a set flat rate is a disaster waiting to happen. On one site, I committed myself to a very small project but then found myself working for peanuts and creating an application that could possibly produce over thousands of dollars for my client. I mean don't get me wrong I love coding for my clients but there comes a time when you have to factor in your time spent, the time lost with your family, the money they might possibly make off your project. Then in the end you finally start to realize wow this is a complete waste of time.

Second, competing with people from third world countries becomes very hard since their cost of living is way lower. For them it might possibly be profitable but for me it was a loss both in the pocketbook and the time spent. What really made me decide it was not a good choice even though I enjoyed helping other build an application.. The time I lost with family.. That is something that can not be replaced.. So I just pulled the plug and threw in the towel.. I felt horrible afterward but sooner or later something grand might come along!

The only thing I am bummed out about professionally is the project was enjoyable: A serial logger that logged the data to a MySQL database. I enjoyed creating it and as always learned something new while programming it in Microsoft Visual Studio utilizing the Windows C API.

Libraries I could recommend after programming this:
Regular Expressions: PCRE Library is great!
Boost Library: Pretty decent Serial Routines!
SQLite: Just an awesome embedded SQL application!

Friday, January 25, 2008

Tools of the trade..

Listed below are tools you can use to look at what is going on underneath your operating system. I realize many people probably are unaware of what many of these tools do. However, again when I get a chance I will give a brief tutorial how you can use each tool in a basic way. There are a couple of tools I listed toward the end: debugger and decompiler.. Those two tools require a little more understanding.. If you have some understanding of assembly that may help a bit. The disassembler and debugger I may leave out of the basics. However, after I cover the basics of the other utilities I will go cover the disassembler and debugger later. If you are curious how those utilities work I recommend reading up on assembly language if you want a true understanding.

Here are the tools so you can snoop on whats going on your machine:

Process Explorer:
http://technet.microsoft.com/en-us/sysinternals/bb896653.aspx

Process Monitor (like above program but logs information):
http://technet.microsoft.com/en-us/sysinternals/bb896653.aspx

Network Analyzer (Protocol Analyzer - lets you view high level or detail level of all packets going in/out of your machine)
http://www.wireshark.org/

There are other network tools available that are not as detailed as the protocol analyzer. However, I recommend using the above it gives you more details on what is going on. I think even the netstat utility on Windows gives you similar results as the other utilities I am referring to that give you brief view of what ports are open/established/listening/closed per process by command line switch.. (Again.. will go in more detail later about this).

Debuggers:
http://www.ollydbg.de/
Good debugger .. You can attach it to running process and trace/watch what calls are going on etc.. Also, look at the stack.. variables in ram.. etc

Disassemblers:
convert binary executables into readable assembly language with:
http://www.hex-rays.com/idapro/

Tuesday, January 8, 2008

Evil processes of Malware/Virus/etc.. Spotting them in the background.

I can understand a large amount of people are annoyed by evil ware. Yes, the all evil and dangerous world of Malware/Viruses.. etc. Actually, I think most of it is related to ignorance of what is really going on underneath all those bits and bytes.

You might ask yourself? Well then.. How can I know whats going on underneath? How can I know directly what is attacking my computer and stealing my personal information.

Well.. to find out what evil is attacking you.. You could do what many people do and pick up some type of anti virus utility like Norton Antivirus, AVG, on and on. However, not all those utilities can find the latest evil that is going on. This is where its better to know how to track down these little pesky annoying pieces of software yourself. However, do not get me wrong because sometimes these evil things can wrap themselves into your installed O/S and software so bad that you'll have no idea if something is infected. However, again.. if you are insightful enough you'll know the tricks of the trade to figure things out.

Over the course of the next few days.. I will write a series of blog posts that give you a heads up on how to track these tricky little annoying code that may be lying somewhere on your system doing something bad. So.. definitely.. visit my blog in the upcoming days to get all the tricks I picked up online and by myself..

I love sharing my information and rather help someone learn instead of sending them off somewhere to pay a computer store to fix their problems.

(My next post will be on what utilities to use to peek at what is going on with your system)