Monday, January 29, 2007

WA: Logging without lumberjacks


Logfile analysis - mainly used in-house where you have access to the server and the logfiles, doesn't take into account caching of browsers


Page tagging- used mainly by people with out access to server, third party hosters, checks an image on a page, takes care of account caching, counts number of times page is loaded


I've been looking at the documentation for installing AWStats and it looks pretty intuitive, not too difficult. I don't have a website of my own to try it out on, I'm not sure what the purpose of having your own website is. I've been poking around the web a little bit to see what most people do for their personal web page. Some people think its a vanity thing, others do it because they feel like they have to grab a piece of "web real estate" while they can. It makes total sense for a company to do, it's great for marketing products, but why would you want to expose your personal life to the entire world? I guess one thing to do would be to provide some sort of unique service to the world through your home page, but I don't have time right now to dedicate any time towards doing that.

How does your brain not explode?

WSDL (pronounced: Wiz-dull)? SOAP? Tomcat? Lucene? Apache? Combating people hi-jacking a session? Query string? Axis frame work? Parse message from outside requestor? The intuitive level of the SOAP monitor...(I had to laugh out loud at that one!) What is going on here? My brain is really starting to hurt. There are, however, some people actually paying attention, who actually seem like they're getting something out of this nonsensical data. Everyone else is either playing games, sleeping, or racking their brain like me trying to put everything together.

Things started to tie in together toward the end, and with my own research on web services I'm starting to understand more of what is going on in class. This is definitely a class that requires a lot of self discipline to do your own research outside of class, to actually put into practice (or attempt) what we go over in class. I figured I should get a head start and record some of my findings here.

Web services (as explained by http://en.wikipedia.org) are "frequently application programming interfaces (API) that can be accessed over a network, such as the Internet, and executed on a remote system hosting the requested services." One example that keeps being brought up in class is the Google homepage. It offers the capability of customizing the webpage with any number of services you choose. To give a more specific definition it is important that the following specifications of web services are understood:

SOAP: a messaging framework that different layers can build on, the foundation of the web services stack. It is a protocol for exchanging XML-based messages over a computer network.

WSDL: Web Services Description Language: A client program connecting to a web service can read the WSDL to determine what functions are available on the server. Any special datatypes used are embedded in the WSDL file in the form of XML schema. The client can then use SOAP to actually call one of the functions listed in the WSDL.

Here's an example:
http://en.wikipedia.org/wiki/SOAP

i tried copying the example, but blogger doesn't like xml tags :(

guess is that the client knew it could call the "getProductDetails" function because of the WSDL that contained the information on this function.

Remote Procedure Calls:
-Basic unit is the WSDL operation
-Allows a program to cause a subroutine or a procedure to execute in another address space w/o the programmer explicitly coding the details for this remote interaction.
-Criticized for not being loosely coupled.

Service-Oriented Architecture: ○ Basic unit is a message, rather than an operation
○ Loose coupling is more likely than RPC, because the focus is on the "contract" that WSDL provides, rather than the underlying implementation details.
§ WSDL contract: ???
○ Representational State Transfer: attempt to emulate HTTP and similar protocols by constraining the interface to a set of well-known, standard operations (e.g., GET, PUT, DELETE). The focus is on interacting with stateful resources, rather than messages or operations.

Most information found at: http://en.wikipedia.org/wiki/SOAP

Bleeding lights and monkeys on the road


I was routinely late this morning leaving to catch the bus down to school, missing which would cause me to have to drive a good 45 minutes on my own fuel one-way. As usual I didn't defrost my windows as my front windshield had been anti-frosted from the "no-snow" cover I received for Christmas from my in-laws. I also didn't realize that my lights were frosted over, also limiting my vision. Usually by the time I'm out of the parking lot I can begin to see. I could see the lines in front of my car, and the colors of the stop lights ahead, so I figured I was good to go.


I got up early this morning to get some reading done (what I'm supposed to be finishing up right now, but if I read much longer I'll end up asleep anyways) and pushed myself to the limit.


Back to my drive to the bus station. I'm driving down the road and some color-blind monkey decides that his bleeding red light is really a green one and that it is OK to turn right in front of me as I'm going 45 mph! I didn't have to brake, luckily his depth perception wasn't off and he could tell I wasn't there yet. He then (probably feeling guilty for his stupidity) decides to stop at the next light.


I pass him up, wanting to keep the distance between him and me as great as possible. The road began to narrow, there were flat orange candy-cane striped cones lining the road on the right side, forcing us to move closer to the on-coming traffic. My windshield wasn't defrosting as good as it normally does, and as I'm approaching the light, there's a truck stopped at the light directly in front of me (I was not turning left). As I'm approaching the red light a big fat monkey is turning right on the street coming head-on directly into my lane! I start honking and it takes him a good ten seconds to realize he's not on the right side of the road! Once the light is green I have to go into the wrong side of the street to get out of the way of the monkey who thought the turning lane was the far right lane for opposite traffic.


I made it to the station safely and have decided to make sure I get out of the house earlier to be better prepared to face the moronic monkeys that plague the streets.

Wednesday, January 24, 2007

IA: Service Oriented Architecture

I thought the comparison of an SOA to a grocery store was a very useful example. It gave me a better understanding of what it actually is. Services are provided to a targeted audience (like food in a grocery store). The information is presented in an organized and reliable way so that customers are able to hopefully maximize their utility.

The topic still seems a little fluffy to me, not a whole lot of solidarity. Maybe it was just the paper we read. I'm glad it wasn't any more technical, otherwise I don't know if I would have gotten anything out of it. I guess I understand the general concept of providing services to others in an organized format, in as few locations as possible (ideally one), and getting it to integrate smoothly with the potentially large number of backend applications that are hidden from view. All this helps in the long run with reduced training costs. If all the applications of a company are located in one spot and have a similar look and feel, it will be easier to train new users to use it.

Monday, January 22, 2007

WA: Malicious Code


Hey everyone! I've made my first contribution ever to a wiki. This one happens to be on BYU's eBusiness wiki. The article talks about different types of malicious code and different ways to prevent it. Check it out- eBusiness Wiki: Malicious Code.

One of the resources was a lecture given at BYU by Reind van de Riet on the topic of "Guaranteed Technological Security." Unless you're very familiar with MOKUM (
Manipulating objects with knowledge and understanding in MOKUM) it is very technical, and there is no view of the lecturer's projection slides. It basically deals with this idea of allowing for the manipulation of objects to be secure, or having the right controls on the given object. For instance, you have object C and object O. C wants to access an attribute of O. Somewhere in the MOKUM system there's a procedure which has to determine the appropriate access to grant C.

IA: Coupling and Cohesion

Low Coupling
  • Interdependency between methods and their environment
  • Goal:
    • Minimize attribute visibility
    • Keep it low for maintainability

High Cohesion

  • Coupling is a "system wide" phenomenon
    • Objective is NOT to have class "linked" unnecessarily
  • Cohesion is a "single class" phenomenon
    • Objective is to have each class "limited and focused"
    • Internally cohesive, contains everything that is relevant to itself, and doesn't have things that are irrelevant.

Friday, January 19, 2007

"They took your eyeball out...?!"

I'm sitting here doing my homework for class next week in the "No Shhh! Zone" in the library and some guy, 20ft away from me gets a call from his mother. They're chit-chatting, and then out of the blue he yells, "They took your eyeball out to operate on it?!" It was all I could do to not bust up laughing my head off! He's then talking about how he's getting some good grades on the quizzes in his economics class and concludes, "I must have a really good mind for economics." He just had a very loud voice, no shame in revealing his poor mother's personal life the world or the facts of his life. The world is full of very odd people.

Information Architecture: Master Data Management

(I apologize in advance for the "boringness" of this blog, I'm working on making it more visually pleasing :) )


Information architecture is a vital part of any company. In my web analytics course we were talking about the importance of focusing on your intended audience and to not think that one solution directly translated to different languages will be able to serve people anywhere in the world. The web portal or company's web site needs to be flexible enough to cater to the different cultures it serves and at the same time be able to access the same data and present it at the user's end in the appropriate, cultural friendly way. I believe we discussed this concept as data federation--the ability to treat all your data in its various forms as one source and be able to use that data anywhere. The website becomes somewhat of a decorator to the data you have stored to hide its complex architecture from the end user (whether he be a potential customer or even an employee).


Master data management seems to be a way to eliminate or at least minimize any possibility of an update anomaly.

Data is necessary to making good decisions. The better the data is organized, the better decisions can be made, and the more informed they will be. (with regards to business processes, gives them an edge over the competition)


It's like watching a movie, you don't see everything that went into the making of it, just a well put together conglomeration of all the research, rehearsing, time spent in making the film.

ETL- Extract, transform, and load


The server that does this data federation is middleware.


The last article dealt heavily with IBM's methodology dealing with Master data Management.


Master data management: the business process, applications and technical integration

architecture used to create and maintain accurate and consistent views of core

business entities across disparate applications in the enterprise.

Wednesday, January 17, 2007

ISys 532: Enterprise Information Architecture

I did take a look at the Google Web Toolkit before class today, I just didn't make time to write anything about it. I did find it a little intimidating, though it did bring back "fond" memories of the java boot camp we went through our first year in the Information Systems program. I really would like to find a good way to integrate it into my time I have on the side, or some time in the future. The wall I tend to run into often with programming is that I have no idea what use I could put it to. I think I've tried looking around the web for some good programming ideas but have never found anything intriguing.

Today's class was very interesting, somewhat of a blur. I'm finding that I probably should have brushed up on my programming and other skills (mainly Java and the design patterns-e.g., MVC, decorator, etc.) from the Core before the start of this semester. The overall concept was quite clear though. Dr. Liddle did a good job of introducing the topic of enterprise information architecture and helping understand what it is. That it is the organization of the vast amount of data of a given organization.

Web Analytics: Blendtec

Online videos are a genius way to get in touch with the people. The key is obviously making them creative enough, wacky enough, enticing enough to get people to go there voluntarily. The whole reason people skip over commercials on TV is because they're interested in the show they're watching and get upset with the interruption, or just the fact that they can now Tivo the commercials out. By creating advertisements that people want to see it is more likely that they will consider the product you are marketing, or at least spread the word about the commercial to their friends. I thought that AE's and Office Max's approach was very good. As I was reading before I got to that section I was thinking that these companies that have such successful videos online should try to integrate them with other TV commercials and hopefully people would recognize them before skipping over them. Granted, that is a costly risk, but if it's anything like Blendtec or Tango who knows how far the success will go. With the online advertising, I think a lot of the success comes from product placement within the advertisement. Who cares if the commercial has the product as the focus of its content, as long as the advertisement is entertaining and has the product somewhere in it, it should be good.

Tuesday, January 16, 2007

Web Analytics: Marketing

Today's lecture was very informative. I didn't actively participate in the lecture, but I rarely do. We discussed what the differences were between e-business and regular business. I sensed a little confusion in the class with regards to the question due to a hesitancy in answering the question. In my mind there really is no difference between e-business and regular business, at least now there isn't. Sure when e-business first appeared decades ago (it doesn't necessarily refer to an online presence) there may have been differences. Presently those differences are becoming so small, the two once separate disciplines are continuing to converge, and in my opinion they are one and the same.

Dr. Rogers provided us with a much needed review of marketing and online marketing in particular. One thing I thought particularly interesting was when somebody brought up YouTube and advertising. I didn't realize that most of the videos on there are there to try to get people lured to the creator's website. Most of the time there are some pretty sleazy videos at the top spots, but those are the one's that draw attention, and therefore are "best" for advertising.

Bowling Scores (Updated Weekly)

I thought I'd start posting my bowling scores to keep track of my progress.
  1. 147
  2. 129
  3. 110 - Average 128.67
  4. 127 (01/16/07)
  5. 115
  6. 122
  7. 134 (01/18/07)
  8. 135 - Average 127.4
  9. 91 (01/25/07)
  10. 144
  11. 115
  12. 133 (01/30/07) - Avg. 125.2
  13. 93
  14. 108
  15. 131
  16. 186* (02/22/07) - Avg. 126.25
*Lifetime High

Friday, January 12, 2007

Irony, Sweet Irony

Today has been a very good day so far. I was able to sleep in for an extra hour because I don't have any classes today. I left a little later than I should and ended up getting to the bus station a minute or two after the bus was scheduled to leave. Much to my surprise there was a long queue of people still waiting for the bus that still hadn't arrived. I joined the line and about 15 minutes later the bus showed up. So even though the bus was late, it was all to my benefit.

I arrived at school and picked up a few things, including batteries for my new Mp3 player I got for Christmas. I found a table and settled down to do a little homework for my classes next week. I was slightly annoyed that I had brought my Mp3 player, just bought new batteries, but had forgotten that I didn't have any ear phones. I even more wished for some sort of ear plug when the guy next to me decided to listen to some sort of Asian dialog fairly loud on his computer.

I was able to finish my assignment just in time to catch the bus that would take me to work. As I got on the bus I was reveling in the warmth of the bus that my bus pass allotted me and kept me from an otherwise cold ten minute walk in the falling snow, mud/slushy roads, icy sidewalks, 18 degree weather to work. I decided to put the batteries in my Mp3 player (a set of ear phones would be awaiting me at my desk at work.) I became a little distracted and when I looked up, I didn't recognize where I was. Much to my chagrin I missed my stop by about 15 seconds, and the next one wasn't for another 300 yards. I was let off on the next stop and had to walk ten minutes in the snow to work and arrived five minutes later than I had desired.

All in all it was a good morning and I had a hearty chuckle. :)

Wednesday, January 10, 2007

Web Analytics: Expectations and Resources

I've accepted a job with Hewlett Packard after I graduate this April, and I start off working with their main website. From what I understand I'll be helping to reduce their help desk calls by deciding the types of tools that users can use to better resolve their questions and concerns by going just to the website. This will save them the time of having to call in, and save HP the cost of each phone call. They suggested that I take this web analytics course as a way of preparing me for my job starting in July.

So, this wasn't a class that I was anxious to take myself, but I thought I'd give it a try. Just from the introduction day, I'm very excited for the potential learning experience this class will be. I've done a little bit with web developing, but not terribly much, and I'm excited to learn more about what we can do to make better websites and better evaluate the ones we currently manage. I'm also excited to get to play around with Omniture's SiteCatalyst, that's what HP is using for their web analytics. All in all, I feel that this class will be a big part in preparing me for my job after graduation.

After poking around a little bit, here are some sites I feel might be good resources for web analysis:

Omniture
Google Analytics
Web Analytics Association
OneStat.com
Wikipedia
Web Analytics Demystified

Tuesday, January 09, 2007

ISys 532: Expectations and Knowledge so far

This is another class I'm beginning to become more excited about. I wasn't sure what to expect at first, but it sounds like it'll be one of those classes where you're drinking from a fire hose! There are a lot of technologies that I have only ever heard of, and in the last two days of class it seems like there are a whole lot more (e.g., SOAP, AJAX, RSS, Web 2.0, .Net Framework, etc.), and I'm looking forward to getting my feet wet and broadening my understanding of these topics over the next semester. I'm also realizing that due to the limited time in class, if I expect to get anything out of the class, I'll have to spend a fair amount of time outside of class studying these topics.

Here's a brief rundown of my current understanding dealing with different technologies:

Operating Systems:
  • Linux
  • Windows
  • Mac OS
Programming/Scripting Languages
  • Java
  • Php
  • Perl
  • VBScript
Database schemas
  • MySQL
  • Postgresql
  • Microsoft SQL Server
Protocols
  • HTTP
  • SNMP
  • POP/SMTP/IMAP; Microsoft Exchange Server
Other
  • Nagios Monitoring System