Monday, February 21, 2011

How Continental used Real Time Data Solutions to go from "First to Worst"

Check out the article here - its a GREAT example!

http://sprague.shidler.hawaii.edu/615cf2003/continentalcase.pdf

Thursday, February 17, 2011

Validating Input in Java

Hey All,

I received another question from one of my readers concerning basic Java. While I love to help, questions have been flooding in about Java and not much else! I have a good bit of experience with Database Management, All things Networking, Data Mining, and much more so feel free to ask pretty much anything IT related! I made a video for everyone so its easier to follow along!

Monday, February 14, 2011

Create a multiplication Table in Java (with user input)

I received a question from a reader that asked how to create a basic Multiplication table in Java with user defined limits. I made a video for this! Enjoy

How to optimize RapidMiner- My video how-to guide

Hey all, I made a video on how to optimize RapidMiner to handle larger Data Sets, how to process Data quicker and more powerfully. If RapidMiner keeps crashing or getting errors, follow these Instructions

Sunday, February 13, 2011

Stumbled across this, got a good laugh - Thought I'd share

In my last post, I stated that if you had a IT related question, feel free to email it to me at paulwelchonit@yahoo.com and I would do my best to answer your questions about Programming, Databases, etc.

 However, if you email me something that can be solved by a 2 second google search, I found this website for all those people who find it more convenient to bother you with their question rather than google it for themselves. Its called Let me google that for you, and simulates a google search for the recipient.

I recieved a question from a reader asking me how to setup e-mail for outlook express on his blackberry. So, I used the website a and sent him back this : 


(check it out, haha.)

The website, if you wanna give it a shot, is here : http://lmgtfy.com/

Taking your questions and Port Forwarding!

Hey All,


First thing - I have a domain name now! It is www.paulwelch.info for easier access! It should be activated in just a few hours.


Also, I have been having a good bit of questions in e-mails sent to me regarding my thoughts on certain subjects, questions, etc. I will gladly answer your questions, and even set up an email for this purpose : paulwelchonit@yahoo.com . If the question is good, I will answer it and post it up here for all:


Heres the first one :


Hey Paul,


My names Rick, Im a student at Penn State majoring in ISMN and I had a quick question for you. First off, I love your blog - for a class project we had to work with RapidMiner and your guide helped a ton.
My question is : I am trying to figure out how to manually forward ports on my home network to enable a few things, most specifically XBOX live. Can you tell me how to do so? If I can, I think my XBOX live would quit lagging so much.

Thanks man! Keep up the good work!

- Rick M.

Hey Rick,

Thanks for reading! Im glad the RapidMiner guide helped you. Port Forwarding can be tricky but luckily for you, I know exactly how to. There is software out there that can do it manually for you, but this usually runs between 20-40 bucks, but with a little time and know how you can do it easy! Because I am not sure of the router you are using, I cant give you the exact directions, but its pretty much the same thing every time, albeit a little variation, but once you get the grasp you can figure it out easy. In this guide, I will be using the instructions for a Linksys router and for XBOX live.


1) Make sure you are connected to your network.

2) Go to your web browser, and type in 192.168.0.1 or 192.168.1.1 in the address bar.
This should bring up a authentication screen where it asks for a user name and password. If neither of those IPS work, go to your command prompt (cmd.exe) and type "ipconfig /all" (without quotes). Look for your wireless connection (should be listed first) and write down the address listed for "Gateway." Then enter that in the browser


3) For linksys, the default username is blank and the password is "admin." For other routers, the username and password are similar to linksys - Netgear, for example is "admin" as username and "password" as the password. Just google your routers make and model and you should be able to find it.

4) After this, click on the "Security" Tab on the top of the page, and remove the checkmark from "Block Anonymous Internet Requests." Hit save settings.

5) Hit "Applications and Gaming" tab, and then the port range forward subtab.  Xbox Live 360 requires you to forward the following ports: 53,80,88,1863,3074

Fill out the forms like this :


For IP address, put in the gateway or your static IP once again. Do it for all the numbers, make sure it is enabled and then hit save. Then you are done!

I hope this helps - if you need to forward any more applications or want to read more, check out http://portforward.com/


One last thing - got a twitter? Follow me!http://twitter.com/#!/paulwelchonit

Hope everyone has a great week! 

Saturday, February 12, 2011

People being stupid on Facebook, pt. 1

 On the popular social networking website Facebook, I see these applications often that are blatantly malicious programs masquerading as a harmless application to gain access to your page and harvest all of your data. When I get the invites to them, I always behave like anyone with a little bit of common sense should - blocking the application - not because I don't want to see my secret crushes name, but because I know it is probably a data miner app which will take all my information, friends information, etc. etc. However, some people fall for these things EVERYTIME a new one comes around and it perplexes me what must go through the minds of these people.

Exhibit "A" What was your first Status? App.




My 1st St@tus was: ‘[random message]’. This was posted on [random date]
Find your 1st St@tus @ [LINK]”



This application tells users that they can see the first status they ever posted by allowing the APP to access your facebook page. A ton of people fell for this one, and the funniest part was the APP creators used the SAME message and SAME date for all of its users daily. You would think people would notice that all of their friends had the same exact "first status" on Facebook on the same date, but nope. I suppose once they found out their first status was " LOL FACEBOOK IS SO KEWL HOW DO I UPLOAD PIX" they could rest easy and sleep again.




Exhibit "B" How long have you spent on Facebook? App.



This one speaks for itself. I even saw one person comment something to the effect of " It said 400 or so hours yesterday I think its broken." No, you are just being a moron and getting your information stolen.


I will document these every now and again when they come along. My next post will be on how to remove these nasty little things from your computer for good. Until then, use your head!







Friday, February 11, 2011

The curious case of Terry Childs - Network kidnapper

In 2008, a network administrator named Terry Childs took total control of his network and refused to share access. So whats the big deal? He was employed by the City of San Francisco and his network contained thousands of public records and important city government data, and lack of access to this network could cost the city millions of dollars. He was arrested, charged with 4 counts of computer tampering, and was held on 5 MILLION dollar bail before he finally agreed to hand over access to the network. A source close to the situation, as relayed by InfoWorlds Paul Venezia , said that 
Terry's area of responsibility was purely network. As far as I know (which admittedly is not very far), he did not work on servers, except maybe VoIP servers, AAA servers, and similar things directly related to the administration of the network. My suspicion is that you are right about how he was 'monitoring e-mail'; it was probably via a sniffer, IPS, or possibly a spam-filtering/antivirus appliance. But that's just conjecture on my part.”The routing configuration of the FiberWAN is extremely complex. Probably more so than it ought to be; I sometimes got the feeling that, in order to maintain more centralized control over the routing structure, [Childs] bent some of the rules of MPLS networks and caused problems for himself in terms of maintaining the routing."Because the system was so complex (and also because he didn't involve any of the other network engineers in his unit), Terry was the only person who fully understood the FiberWAN configuration. Therefore, to prevent inadvertent disruption of this admittedly critical network, he locked everyone else out. I know most of the networking equipment … does use centralized AAA, but I get the impression he may have configured the FiberWAN equipment for local authentication only.”
Mr Childs:

He goes on to say that : 


"This is where it gets tricky for the prosecution, IMO, because the localized authentication, with Terry as sole administrator, has been in place for months, if not years. His coworkers knew it (my coworkers and I were told many times by Terry's coworkers, 'If your request has anything to do with the FiberWAN, it'll have to wait for Terry. He's the only one with access to those routers'). His managers knew it.
"Other network engineers for the other departments of the City knew it. And everyone more or less accepted it.
"No one wanted the thing to come crashing down because some other network admin put a static route in there and caused a black hole; on the other hand, some of us did ask ourselves, 'What if Terry gets hit by a truck?' If a configuration is known and accepted, is that 'tampering'?”
“He's very controlling of his networks -- especially the FiberWAN. In an MPLS setup, you have 'provider edge' (PE) routers and 'customer edge' (CE) routers. He controlled both PE and CE, even though our department was the customer; we were only allowed to connect our routers to his CE routers, so we had to extend our routing tables into his equipment and vice versa, rather than tunneling our routing through the MPLS system.” 


After reading this case, as strange as it sounds, I almost felt like I could relate with Mr. Childs. While by no means would I recommended taking it to the extremes he did, but when you build something such a network, or even building your own computer, it begins to take on almost a child-like relationship. I know it may sound odd, but when you work on something very hard, configure it perfectly, and know the inside and outs of it, it becomes more than just a Network or a computer. It is YOURS. I began building home LAN's and other networks when I was still in middle school, right when the technology was new. The setup, back then,  was much more complex than it is nowadays. The first one I attempted to setup took me 3 days of arduous configuration. I was editing GUI scripts,configuring every single setting, and setting up static IP's- then, assuming the setting were all correct ( which was rare, it was more trial by error then) setting up each individual computer to access the network properly. When something went wrong with my first network, I was always the one to come to. At first, the rest of my family members would try to fix it when it had a brief loss of connection, and this would frustrate me to no end, as silly as this sounds. It was my network, the culmination of a ton of hard work and time, and only I was able to do it right (according to me). 


After a while, I was the go-to guy around my neighborhood for LAN setup - and each one seemingly took on a life of its own for me. I knew the explicit details of each one, the right settings, etc etc. When something would go wrong, I could not focus on anything else until I got it fixed. I would get knocks on my door at 3am from a distraught sister trying to finish some homework, or my father up late submitting reports and such. I like to imagine this is how artists feel about their work.




Mr. Childs network was so complex, he took care of it like a baby and knew it like the back of his hand - thats why when people began tinkering around with it, he locked it up. There is a line, however, and no doubt he went way to far, but I think Networks Admins and Gurus all around the world will look at Mr. Childs case, and know the feeling.




Read more about the case here : http://www.infoworld.com/d/adventures-in-it/why-san-franciscos-network-admin-went-rogue-286?page=0,0





 

Thursday, February 10, 2011

RapidMiner question and Correction

Earlier, I posted a how-to guide for RapidMiner, the leading open-source data mining and analysis tool. I received a question for a reader regarding the optimization process, and it seems I did leave an important detail out. Here is the process : 

Speeding Rapid Miner up:


1) Close all process you DONT need with task manager. Use common sense with this. Keep core processes and programs running but end everything unnecessary. (Example: Close things like limewire.exe or itunes.exe, but keep things like windows.exe and rapid-i.exe open!)


2) Find out how much RAM your system has. You can accomplish this by right clicking "My Computer" and clicking properties.


3) Go into your C: drive and then the program files folder. After that, find Rapid-I folder and open it up.  For windows, open up the rapidminerGUI file Right click the file, and hit edit. It will bring up a script in notepad.


4) Go down to where you see the line about JAVA MEMORY Max. Change it to something compatible for the amount of RAM your system has (remember to leave 1.5 - 2gb of ram for your OS.) For example, if you have a 2gb laptop, changing the amount to 1024 should be fine, although not preferable. It is a very powerful program and needs adequate resources to run.


This should get your RapidMiner working at full power.


What I failed to mention is that once you edit the code, in the RapideMinerGUI, and you save it, you need to run RapidMiner by just double-clicking the same file you just edited. (rapidminerGUI)


Then you are done! Hope this helps!


Also, below is a video tutorial which shows how to use RapidMiner for data modeling. Enjoy!


100 Dollars for a XBOX 360 Network Adapter? No thanks, i'll connect to live for FREE!

Every once  in a while on this blog I'll take a break from the InfoTech cases, Programming and Database jargon to show y'all some cool ways to use basic InfoTech skills to save money, do some cool things, etc.


Heres the first one:


I have never been that big of a console gamer -I have a XBOX 360 elite that was collecting dust, as I primarily used it solely for a DVD player. Recently, my friends got me hooked on Call Of Duty Black Ops, an awesome first shooter multi player game by Activision and Treyarch. The game also has a campaign mode, but that is not nearly as fun as the online action. After a few days of playing at a buddy's house, I gave in - got my free month trial of XBOX live Gold, and bought the game. When I was looking at the Network Adapters ( so my XBOX can connect to the live service) I was shocked by the price. I just dropped 60$ on the game, I wasn't in the mood to spend an extra hundred. I knew there must be some way to bypass this, so I did a little research and found, low and behold, there is a VERY simple method to doing this - which I will share with you!




Things you need:


Ethernet Cable
A wireless network
A computer that is connected wirelessly to the internet


1) Plug one end of the Ethernet cable into the Ethernet port on the console, and the other into your computer

2) Go to your "Control Panel" and wait for a new window to appear. Double click the "Network And Sharing Center" icon.

3) Then click "Manage Network Connections"

4) You should see 2 Icons, one that says "Wireless Network Connection" and "Local Area Connection"

5) Turn on your XBOX. 

6)Right Click and drag to highlight both of the connections, and select "Bridge Connections." This will take a minute.

and BAM! You should now be able to connect to XBOX live!



It should look like this when you are done: 



If your xbox is giving you an error: Go to your start menu. Go to programs, accessories, and open up the command prompt. Make sure to right click it and hit "open as administrator." Once command prompt is up, type "ipconfig /all"   without the quotes. Go to the first connection, it should say "Wireless network" or something like that. Copy down your IP address, Gateway, and DNS servers. Go to the network settings on your XBOX, and enter all those settings in, except change the IP address slights, but within the same range as your network. (For example, if IPconfig shows your IP as 192.168.0.10, set the XBOX to 192.168.0.19.
Then save and connect!



An easy way to save 100$ - You can thank me by visiting this website often and visiting this pages advertisers. More tricks and other stuff coming soon!

RapidMiner : A how-to guide

In my business intelligence class we have been using a program called RapidMiner, which is an open-source system for data mining. In this class, we are analyzing almost 23 gigs of raw data, and it can seem very confusing at first. Unless you are running a very powerful computer, Rapid Miner can often freeze and crash due to the large amount of data and processing usage.


In this post, I will detail how to make RapidMiner work with your computer to its full potential, as well as detail how to use Rapid Miner.




Speeding Rapid Miner up:


1) Close all process you DONT need with task manager. Use common sense with this. Keep core processes and programs running but end everything unnecessary. (Example: Close things like limewire.exe or itunes.exe, but keep things like windows.exe and rapid-i.exe open!)


2) Find out how much RAM your system has. You can accomplish this by right clicking "My Computer" and clicking properties.


3) Go into your C: drive and then the program files folder. After that, find Rapid-I folder and open it up. Then,
a) for windows open up the rapidminerGUI
b) for Mac or linux, the other ones.


It should bring up a script in notepad.


Go down to where you see the line about JAVA MEMORY Max. Change it to something compatible for the amount of RAM your system has (remember to leave 1.5 - 2gb of ram for your OS.) For example, if you have a 2gb laptop, changing the amount to 1024 should be fine, although not preferable. It is a very powerful program and needs adequate resources to run.


This should get your RapidMiner working at full power.




Using RapidMiner:


Following are some video tutorials on how to use Rapid Miner. Good luck!







Wednesday, February 9, 2011

Java Programming - There are only 10 kinds of people in this world: those who know binary and those who don’t.

While I am sitting at home working on some Java Applets for my advanced programming class, I got to wondering how useful this language will be in the real world. I know it is used widely for creating basic standalone applications and internet applets, but some fellow MIS majors stress that it is one of the lesser used languages in the programming world - however that once you learn a language such as java that it becomes MUCH easier to learn other languages. I have heard that C++ is very versatile and not too bad to learn. Assembly seems to be the toughest, and I just began looking into languages such as Python and Ruby on Rails.

EncyclopediaDramatica, a satirical wiki that documents internet culture (and pretty much makes fun of everything) defines Java as
Java is an interpreted language which is unique in that it includes a pretend compiler so that Java programmers can feel like they're using a grownup programming language. It is object oriented and has automatic garbage collection to make it as easy as possible to allocate memory.
Java is like Alzheimers; it starts slow and eventually, it takes away all of your memory. Something Java fans like to talk about is the JIT compiler which eventually does turn Java into native code but only after it's been interpreted 10,000 times. By that time the program has probably already crashed with an out of memory error. Programming in Java drives most hackers permanently insane

One thing I have realized is how much work one can put into Java, and how confusing it must look to the untrained eye. For example, I built a program below that makes a multiplication table up to the number that the user inputs:
import javax.swing.*;
public class pw {


public static void main(String[] args) {
String matrixSize = JOptionPane.showInputDialog("Welcome to the Paul Welch multiplication table. What number would you like to multiply through?");
int userMatrixSize = Integer.parseInt(matrixSize);  
int column;


System.out.println("Multiplication Table through " +  userMatrixSize);

for (row=1; row<=userMatrixSize; row++)    {                             
for (column=1;column<=userMatrixSize; column++) {
System.out.print(" " + row*column + " ");
System.out.println(" "); 
}
System.out.println( " Thank you for using the Paul Welch Multiplcation Table " );

This is a program I built to build an employee payroll and report system. It took a great while, a lot of code memorization, patience, and correct syntax. It gathers the employees information, calculates taxes, and provides a monthly/yearly report.


public class pwEmployeePayroll
{
public static void main(String args[])
{ // declare vars
String hrWage;
String hoursWeek;
String dedPer;
String howManyYear;
String employeeName;
double hourlyWage=0.00;
double hoursPerWeek=0.00;
double deductionPaycheck=0.00;
double lessThanTwenty = .10;
double betTwenThir= .15;
double greatThir= .19;
double totalPaid=0.00;
double totalPaidPreTax=0.00;
double totalTaxesPaid = 0.00;
double paycheckAmount=0.00;
String monReport;
int monthsReport = 0;
double x = 20.00;
double y = 30.00;
String howManyMonths;
// intro
System.out.println("Welcome to the Paul Welch Tax Calculator." );
System.out.println(" This program will gather information from you and calculate relevant items, such as taxes.");
System.out.println("Lets gather some information about the employee on which you seek information!");
System.out.println(" Note : please enter all numbers in a whole number form, i.e. 30.00"); 
// get user info
employeeName= JOptionPane.showInputDialog( " What is the employees name?");
hoursWeek=JOptionPane.showInputDialog(" How many hours does the employee work a week ");
hoursPerWeek = Double.parseDouble(hoursWeek);
while ( hoursPerWeek <=0 )
{
System.out.println(" Invalid Entry. Try again");
hoursPerWeek = Double.parseDouble(JOptionPane.showInputDialog( " What is the employees hours per week?"));
} // Validate entry
hrWage=JOptionPane.showInputDialog( " What is the employees hourly wage");
hourlyWage= Double.parseDouble(hrWage); 
while (hourlyWage <=0)
{
System.out.println("Invalid Entry. Please enter again");
hourlyWage = Double.parseDouble(JOptionPane.showInputDialog(" What is the employees hourly wage"));
} // Validate entry
totalPaidPreTax = hoursPerWeek * hourlyWage;
//Calculations : figure out total taxes paid and what not
if (hourlyWage < x || hourlyWage != 0)
{
totalTaxesPaid = (totalPaidPreTax * lessThanTwenty);
}
 
if (hourlyWage >= x && hourlyWage <= y)
{
totalTaxesPaid = (totalPaidPreTax * betTwenThir);
}
 if (hourlyWage > y)
{
 totalTaxesPaid = (totalPaidPreTax * greatThir);
}
paycheckAmount = (totalPaidPreTax - totalTaxesPaid); System.out.println(" Per month, the employee's information is as follows:");
System.out.println("Employee Name   "    +    employeeName);
System.out.println("Paycheck amount   "   +     paycheckAmount);
System.out.println("Total taxes paid   "    +    totalTaxesPaid);
System.out.println( "Total paid pre-tax     "   +  totalPaidPreTax );
// Basic information is set and stored, now onto calculating over time periods
monReport =JOptionPane.showInputDialog( "Would you like to calculate that with additional months? Please enter Y or N");
while ((monReport.compareTo("Y") !=0) && (monReport.compareTo("N") !=0))
{
System.out.println("Invalid Response. Please enter Y or N");
}  // Validate entry

while(monReport.equals("Y"))
{
howManyMonths = JOptionPane.showInputDialog("How many months would you like to calculate");// Input, then calculate
monthsReport = Integer.parseInt(howManyMonths);
paycheckAmount = paycheckAmount * monthsReport;
totalPaidPreTax = totalPaidPreTax * monthsReport;
totalTaxesPaid = totalTaxesPaid * monthsReport;
System.out.println( "For that amount of months, the employee's pay and taxes is as follows");
System.out.println("Employee Name   " + employeeName);
System.out.println("Paycheck amount   " + paycheckAmount);
System.out.println("Total taxes paid   " + totalTaxesPaid);
System.out.println( "Total paid pre-tax   "  + totalPaidPreTax);
String yearlyReport=JOptionPane.showInputDialog("Would you like a yearly report on this employee? Enter Y for yes or N for no");
while(yearlyReport.equals("Y"))
  {
    howManyYear= JOptionPane.showInputDialog(" How many years would you like to calculate?");
int howManyYears = Integer.parseInt(howManyYear);
 
System.out.println("Yearly report is as follows:");
 paycheckAmount = paycheckAmount * howManyYears;
totalPaidPreTax = totalPaidPreTax * howManyYears;
totalTaxesPaid = totalTaxesPaid * howManyYears;
System.out.println("Employee Name    " + employeeName);
System.out.println("Paycheck amount    " + paycheckAmount);
System.out.println("Total taxes paid   " + totalTaxesPaid);
System.out.println( "Total paid pre-tax   "  + totalPaidPreTax);
while((yearlyReport.compareTo("Y") !=0) && (yearlyReport.compareTo("N") !=0))
 System.out.println("Invalid Response. Please enter Y or N");
yearlyReport =JOptionPane.showInputDialog(" Would you like another yearly report on this employee? Enter Y for yes or N to quit the program");
 }

I suppose it makes me appreciate that most code for basic functions are stored in an API and what not, and I also appreciate the programmers who spent tedious hours writing it.

What do y'all think about Java and other languages? Feel free to comment

Information Systems: No longer a cost center, but a essential tool for profit maximization.

After a thorough look through many different business IT cases over a two decade period, there is one thing I am sure of - The effective utilization of Information Technology can provide a HUGE competitive advantage.  Companies who neglect their IT resources/department , or treat it as a necessity rather than an asset will fall wayside to their competitors.

I recently got through reading about Harrah's, the nationwide chain of casinos, and how they utilized business intelligence and Information Tech to become a powerful force in their market and realize huge gains. I recommend my readers check this article out, here are a few excerpts:

"To compete on analytics, organizations also need to compete on technology, and that means constantly monitoring cutting-edge IT developments. The key prerequisite is a data-oriented strategy that allows a business to rapidly pull information from every plausible source. These technologies could include enterprise resource planning, CRM, point-of-sale and other transaction technologies. Competing on that information, then, necessitates using an enterprise data warehouse that can store, integrate and present the data in formats that can be easily accessed and analyzed."

"New technologies and data sources that were once just brainstorming ideas are now becoming a reality, much to the advantage of analytical competitors. For example, information content in data warehouses has long been dominated by structured data. But significant progress is being made toward incorporating equal amounts of unstructured data, which includes natural-language data sources such as word processing files, e-mails, text fields from databases and applications, and even voice recognition."

Check out the article here:

Hello All!

This is a blog I have decided to start to write about my progress in the field of MIS. I will post about my thoughts, Ideas, questions, etc. about all the areas of IT.




About me: My name is Paul Welch and I am pursing a BSBA degree from Auburn University with a major in Management Information Systems. I seek a career oriented, lucrative, and rewarding position in any of the MIS concentration areas. My major studies and preferred area of work include Data Management, Programming, Computer Applications, Consulting, Business Strategy, and Information/Network Security. I am currently working on becoming a MCP (Microsoft Certified Professional), as well as obtaining Network +, Security +, VMware, CISCO, and other CompTIA certifications. My previous work experience includes creating and managing the Network and the Internet Marketing for a local restaurant, working as an Account Executive with the Auburn Plainsman, as well as a nighttime supervisor at a Chick-Fil-A. I enjoy working with people immensely and possess exemplary leadership capabilities. I served as Class President in High School and the Student Government. I also enjoy sports, the outdoors, and all things computer related