lundi 5 novembre 2012

netbeans and c++


Netbeans IDE can be used to create C/C++ Applications. Netbeans running on Linux Platforms dont require any additional configuration if the compilers are already available in the Linux distribution. But to get it working in Windows, a Linux-like environment will be required. 
Cygwin is a Linux-like environment for Windows.
Here is a step by step guide to configure Cygwin with Netbeans in Windows.
Step 1: Installing Netbeans
  • Install JDK. The latest version can be downloaded here
  • Download and install Netbeans. The latest version is Netbeans IDE 6.5. The latest version can be downloaded from http://www.netbeans.org. Make sure you download the bundle that has all technologies.
  • Select C/C++ option while installing. ( It is better to select all the options )
Step 2: Installing Cygwin
  • Cygwin can be downloaded from http://www.cygwin.com
  • Run the setup file.
  • Install from internet. Specify C:\cygwin as the root directory.
  • In the Select Packages dialog box, select the packages required. gcc-coregcc-g++gdb, and makepackages are most important. These are the C core, C++ core, the GNU Debugger and the GNU version of ‘make’ utility. These packages will be under the ‘Devel’ category.
  • Complete the installation.
Step 3: Testing Cygwin
  • To test whether Cygwin was installed properly, try the following by opening the bash shell:
  • cygcheck -c cygwin
    gcc --version
    g++ --version
    make --version
    gdb --version
  • If the version details are displayed for all these commands, the installation of Cygwin has been successful.
Step 4: Setting PATH
  • Right click on My Computer and select Properties. Goto Advanced System Settings.
  • Click on Environment Variables.
  • In system variables’ frame choose “Path” and click “edit” button.
  • Now in the variable value textbox give the path of your cygwin/bin directory. (i.e., probably c:\cygwin\bin)
  • Click OK
The setup is done.
Now new C/C++ Projects can be started:
  • Open Netbeans IDE
  • CLick New Project –> C/C++ –> C/C++ Application
  • Choose a Project Name and Location. Then select ‘Finish’.
  • Right click on Source Files under the current Project in the Projects pane on the left side.
  • Select New –> Empty C++ File
  • Type in the C++ Program.
  • Now go to Run –> Run Main Project or press F6 to run the program.

samedi 20 octobre 2012

Reverse vs. Forward Proxy

Now that I've been more in  to the infrastructure side I would like to go deep into concepts like Proxys.

here is clear good note on Forward Proxies.

But to put it simple:
Reverse Proxiesbroker connections coming from the internet, to your app servers.
Forward Proxies:  filter connections going out to the internet, from clients sitting behind the firewall

key: A key component of Reverse Proxies is the ability to perform TCP Multiplexing. What this means is the incoming connections are terminated, pooled and new connections are established on the back-end using fewer number of server connections resulting in a TCP Multiplexing Ratio. A typical TCP Mux ratio is 10:1 – ten incoming connections to 1 back-end connection.




mercredi 13 juin 2012

Store Procedures Questions

The interviewer wants to be confident that you understand SPs  the final and only answer for code.
Some answer could include something like:
  • Data such as constants or client-specific logic never belong in SPs.
  • Passwords or other security tokens never belong in SPs or any code.
  • Complex processing may not be suited for today's rather primitive SP languages.
  • Business logic may be better suited for the middle-tier rather than in SPs, due to differences in the expressive nature of the languages, maintainability, OO design, or other factors.
  • Presentation layer code is probably best suited for the UI, not SPs.

mercredi 6 juin 2012

DataBase Versioning Control

Today I was chatting with my friend Christian Carlessi, about Database Version Control.  He said that there at his job are using a tool for this that actually synchronizes with Entity framework in order to create automated builds at midnight without getting worried about  their Code being different from his database. I on the other hand working with this project who does not have control version tool for the Database I might say things can get some how tricky if someone decides that my objects are not worth keep or just make a small mistake by deleting them by error.  I do make my own versioning of the scripts just in case anyway but I am not able to install a tool on the equipment I am currently using for the purpose.

Here is a interesting article about Database and Source Control. from mister Atwood.

lundi 4 juin 2012

About being Present and the Presence

Being Present, represents that your community recognizes how you are  in the medium of society. When you decide either close yourself in your house and not being so socially present or either take a trip for a while(let's say a month or more), you are not present, you cannot be part of an event or a movement happening because you physical presence will no longer be there. Nowadays we have internet, vpn, remote desktops and more technology who allows us to have contact. But still presence is required for one to be taken more actively.

some definitions of Presence

1. the state or fact of being present,  as with others or in a place.
2. attendance or company: Your presence is requested.
3.immediate vicinity; proximity: in the presence of witnesses.
Taking a long journey could result in you becoming more valuable if you were activily in the community or simply ignored if you were just ordinary.

lundi 7 mai 2012

The Quality of Everything we Do

The quality of everything we do: our physical actions, our verbal actions, and even our mental actions, depends on our motivation. That's why it's important for us to examine our motivation in our day to day life. If we cultivate respect for others and our motivation is sincere, if we develop a genuine concern for others’ well-being, then all our actions will be positive.
-- Dalai Lama ---

Pattern Recognition

In machine learning, pattern recognition is the assignment of a label to a given input value. An example of pattern recognition is classification, which attempts to assign each input value to one of a given set of classes (for example, determine whether a given email is "spam" or "non-spam"). However, pattern recognition is a more general problem that encompasses other types of output as well. Other examples are regression, which assigns a real-valued output to each input; sequence labeling, which assigns a class to each member of a sequence of values (for example, part of speech tagging, which assigns a part of speech to each word in an input sentence); and parsing, which assigns a parse tree to an input sentence, describing the syntactic structure of the sentence.