Tuesday, June 14, 2011

Abstract for CyberCrime Course Paper

This semester I'm taking a graduate course in cybercrime, "CyberCrime and Criminal Justice". For my course paper I chose the topic of firewalls in the enterprise. Below is my paper's title and abstract:



Defending Against Cybercrime with Firewalls




From mission critical web applications to customer databases, businesses must ensure their information technology services are secure from potential hackers. Battling cybercrime is an ongoing war for all organizations these days. One approach to combating unauthorized network access is the use of firewalls.




This paper discusses the basics of firewalls, hardening of servers, and software specific firewalls such as iptables. In addition, I will discuss different network architectures scenarios involving public network services or DeMilitarized Zone (DMZ), private network services, and honeypots. Finally, I will cover tools for detecting possible intrusions and system log monitoring.



--Corey

Sunday, April 10, 2011

Graduate Research Presentation

A couple of weeks ago, I submitted my continuing research for the Multiple Listing Service Network (MLSN) Protocol to the University of Central Florida's Graduate Research Forum.



Below is an image of a conceptual drawing of my poster board presentation I sketched on the back of a napkin.



From UCF Graduate Research Forum 2011


And below is the finished product:



From UCF Graduate Research Forum 2011


As a side note, I added QR Codes for others to scan with their mobile phones and visit the presentation and specification online.



Related Links





--Corey

Saturday, February 5, 2011

MLSN Research Abstract

Next week, I will submit the following research abstract to the Graduate Research Forum at UCF. I am currently working on my Master's in Nonprofit Management in the College Public Administration. In addition to the abstract below, I will also follow up with a white paper explaining the Multiple Listing Service Network (MLSN) Protocol and system in detail.



Abstract



Sellers list their properties with real estate professionals who enter property information into private databases called Multiple Listing Services (MLS). These MLSs attempt to index listings with serialized numbers that only members of the local real estate association have access to query, insert, and update. In the United States alone, there are over 900 MLSs which unfortunately create redundant, localized MLS numbers causing confusion over specific properties and their respective listing information on the Internet. These duplicated MLS numbers can be anywhere from eight digits or more relaying no meaningful or geographical information to real estate professionals and real estate buyers alike.




In this paper I introduce a public, standardized numbering system and protocol called Multiple Listing Service Network (MLSN). Similar to the Web, MLSN is an application publicly available on the Internet, but instead of port 80, MLSN is accessible from port 32801. The numbering scheme is comprised of two parts separated by an '@' symbol: (1) a triple-dotted notation of three decimal integers ranging from 1 to 65,535 and (2) a double-dotted notation number composed of a postal code and country code defined by ISO 3166-1. Taking in consideration for expired listings, MLSN numbers have a reusable feature which allows assigning a new, double-dotted notation number to a preexisting triple-dotted number thereby creating a new MLSN number. Together with a standard protocol and unique numbering schema, a Uniform Resource Locator (URL) is available to users for searching for property listings on the Internet.



--Corey

Tuesday, September 21, 2010

Repatterns Book in Development

Repatterns: Applying Computer Science and Design Patterns to Real Estate


After some research, I've decided to include my previous book projects, "The Web is the MLS", and "Real Estate Is Global", into one single book with the tentative title and subtitle, "Repatterns: Applying Computer Science and Design Patterns to Real Estate." The reason for the two-in-one inclusions was because I felt the two previous book efforts were similar enough patterns extending the same pattern, Network Pattern, to be included into one full patterns book covering real estate and computer science together.



Here's a working abstract for the book:



Patterns are everywhere. We live in a world of visible and invisible patterns. From our birth, patterns exist to help us learn, to save time, and to be productive. This book will apply principles from computer science and well known design patterns to the business processes and procedures within the Real Estate industry. From these patterns, you will discover inefficient patterns, anti-patterns, along with learning how to think differently by replacing such anti-patterns with more efficient design patterns.



For the new book cover, I reused the "The Web Is The MLS" cover since the design was already very "patternistic" in nature. In addition, the textual change in inkscape was very easy to do.



Tentative Book Contents:



Table of Contents
Preface
Ch1 Introduction
Ch2 Factory Pattern
Ch3 Observer Pattern
Ch4 Mediator Pattern
Ch5 Request-Response Pattern
Ch6 Point-to-Point Pattern
Ch7 Facade Pattern
Ch8 Network Pattern
Ch9 Proxy Pattern
Ch10 Compound Patterns
Appendix
Glossary
Index


I look forward to working on this project while at the same time using these patterns on my current projects. Lastly, I hope others will also learn to recognize anti-patterns and design patterns within real estate or their respective industry because of this work.



--Corey

Friday, July 16, 2010

Listing Object Model (LOM) Core

LOM Core 25 Elements

Intro



Lately my interests have gravitated toward web services and marking up listing information to xml. However, another inefficiency within the Real Estate Industry is how listing information is distributed to web endpoints. Within HTML, Word, or an Excel spreadsheet, I cringe at the ways listing information is being sent from an end user to service provider or service provider to service provider. Remember I'm talking old school here, average age is in the 50's and climbing.




So with that stomach churning thought in 3d motion, I thought to myself wouldn't it be great to have a minimalistic shortlist of elements to markup a listing for Grandma, a tween, or anyone else in need of a simple service like this. In the past, I've used Dublin Core, a specification of 15 meta tags for semantically describing documents. Thinking to myself, "LOM Core must be very simple like Dublin Core because simple always wins on the net."




Without hesitation, I proceeded to diagram (see above) a list of essential words or elements which would describe a lowest common denominator real estate listing. I came up with the following at first, in no particular order (well alphabetical):



LOM Core 25 Elements




  • address

  • agent

  • beds

  • baths

  • city

  • contact

  • country

  • description

  • email

  • firstname

  • lastname

  • listing

  • location

  • organization

  • owner

  • phonenumber

  • postalcode

  • price

  • size

  • state

  • status

  • style

  • squarefeet

  • squaremeters

  • type



I stopped at 25 to keep it as simple as possible. Obviously, I could have kept going but simple would have easily morphed into complex.



Use Cases



Since we now have our shortlist of elements, we need a business purpose or use case. I came up with five, initially, but of course we are not limited to only these.



1. For Sale By Owner Lisiting


[sourcecode language="css"]
<?xml version="1.0" encoding="UTF-8"?>
<listing>
<type>residential</type>
<style>Single Family</style>
<beds>3</beds>
<baths>2</baths>
<size>
<squarefeet>2000</squarefeet>
</size>
<location>
<address>1234 My Street</address>
<city>Orlando</city>
<state>FL</state>
<postalcode>32801</postalcode>
<country>US</country>
</location>
<description>Modern and functional.</description>
<status>active</status>
<price>$150,000</price>
<contact>
<owner>
<firstname>John</firstname>
<lastname>Smith</lastname>
<phonenumber>555-3333</phonenumber>
<email>jsmith@john.smith.name</email>
</owner>
</contact>
</listing>
[/sourcecode]

2. Residential Agent Listing


[sourcecode language="css"]
<?xml version="1.0" encoding="UTF-8">
<listing>
<type>residential</type>
<style>Single Family</style>
<beds>4</beds>
<baths>2</baths>
<size>
<squarefeet>3000</squarefeet>
</size>
<location>
<address>5678 Your Street</address>
<city>Orlando</city>
<state>FL</state>
<postalcode>32801</postalcode>
<country>US</country>
</location>
<description>Family size.</description>
<status>active</status>
<price>190,500</price>
<contact>
<agent>
<firstname>Jane</firstname>
<lastname>Doe</lastname>
<phonenumber>555-5555</phonenumber>
<email>jdoe@jane.doe.name</email>
<organization>Jane Doe Realty</organization>
</agent>
</contact>
</listing>
[/sourcecode]

3. Commercial Owner Listing


[sourcecode language="css"]
<?xml version="1.0" encoding="UTF-8"?>
<listing>
<type&gt;commercial</type>
<style>office</style>
<size>
<squarefeet>3000</squarefeet>
</size>
<location>
<address>1010 Biz Way Suite 200</address>
<city>Orlando</city>
<state>FL</state>
<postalcode>32801</postalcode>
<country>US</country>
</location>
<description>Build to suit office space.</description>
<status>active</status>
<price>$100/sqft</price>
<contact>
<owner>
<firstname>Bob</firstname>
<lastname>Johnson</lastname>
<phonenumber>555-9999</phonenumber>
<email>bjohnson@bob.johnson.name</email>
</owner>
</contact>
</listing>
[/sourcecode]

4. Commercial Agent Listing


[sourcecode language="css"]
<?xml version="1.0" encoding="UTF-8"?>
<listing>
<type>commercial</type>
<style>office</style>
<size>
<squarefeet>4000</squarefeet>
</size>
<location>
<address>2020 Easy Street Suite 300</address>
<city>Orlando</city>
<state>FL</state>
<postalcode>32801</postalcode>
<country>US</country>
</location>
<description>Plenty of space for cubicles. Build to suit.</description>
<status>active</status>
<price>$200/sqft</price>
<contact>
<agent>
<firstname>Jen</firstname>
<lastname>Wright</lastname>
<phonenumber>555-7777</phonenumber>
<email>jwright@jen.wright.name</email>
<organization>Wright Realty</organization>
</agent>
</contact>
</listing>
[/sourcecode]

5. International Listing


[sourcecode language="css"]
<?xml version="1.0" encoding="UTF-8"?>
<listing>
<type>commercial</type>
<style>bank</style>
<size>
<squaremeters>1000</squaremeters>
</size>
<location>
<address>7 Picardy Place</address>
<city>Edinburgh</city>
<postalcode>EH1 3JT</postalcode>
<country>Scotland</country>
</location>
<description>Former bank branch, build to suit</description>
<status>active</status>
<price>300EUR/sqmt</price>
<contact>
<agent>
<firstname>Will</firstname>
<lastname>Jones</lastname>
<phonenumber>0131 5554343</phonenumber>
<email>wjones@will.jones.name</email>
<organization>Jones Realty</organization>
</agent>
</contact>
</listing>
[/sourcecode]

Summary



In sum, LOM Core is a simplified shortlist of 25 core real estate elements allowing anyone to markup a residential or commercial listing. The examples above are soley for exercise purposes, but as you can see LOM can adapt to different types of listings quite effortlessly. The next step is to solidify schemas (DTD, XML Schema, RelaxNG) for validating followed by creating a web-based tool using a form for users to enter in their listing elements to create a LOM Core listing on the fly. Users could then send or copy and paste the LOM Core listing and distribute and transform as needed.



--Corey

Sunday, May 23, 2010

My Lost Predictions

Lost Senet Game



So tonite is the series finale of Lost. I've been a fan of the show since last year, thanks to Netflix.



It took me a few episodes to actually get into the show, but once I saw "The Hatch" episode I was hooked.



Let's cut to the chase and predict what's going to happen:



Jacob: as he said in "What They Died For", once the fire extinguishes then Jacob will cease to exist. I believe this because Jacob cannot lie according to Mother. Jacob will join the afterlife and will finally rest in peace.



Sawyer: I think Sawyer needs to somehow get MIB's knife to Jack. The knife is a very important piece in the game because it helped killed Mother, Dogan, and Jacob. After getting the knife, I think Sawyer will then died for this was his purpose.



Kate: I have a strange feeling Kate will take a Mother's role just like Mother from the "Across the Sea". Kate mothered Aaron when she was told not to and she was not his natural mother. If the pattern continues, ,my gut feeling is she will become the protector of the island in search and in waiting for a "good" child or children to take her position on the island.



Hurley: I know Hurley is a fan favorite, but I believe he has served his purpose. His purpose was to see dead Jacob and do as Jacob had told him. Since Jack has now taken Jacob's position as the protector of the Island, Hurley has served his purpose and will die tonite.



Claire: I believe Claire dies either during an epic fight between MIB and Jack or Ben just shoots her as he does to others so well.



Myles: I think Myles will die by sacrificing himself for his purpose. Myles is helping Ben so MIB may have a hand in terminated Myles.



Ben: I think Ben will have an epiphany and finally leave the island, a la the donkey wheel, and return to live in the real world. My feeling is Ben is tired of killing and manipulating people and just wants to rest and live a normal life.



UnLocke (MIB): After being killed by Jack, MIB's soul is released from the smoke monster and leaves to join Jacob in the afterlife to rest in peace for eternity.



Desmond: For Desmond, his purpose is go down into the cave of light. He is able to resist electromagnetic energy so Desmond must go down into the heart of the island to help Jack. It could be a simple switch or some type of secret password down there, but that's Desmond's purpose this evening.



Jack: My instincts tell me Jack must sacrifice himself for everyone. If he is like Neo from "The Matrix", Jack will sacrifice his life by killing the Man In Black with MIB's knife in the back to save everyone else.



Everyone Else: I'm predicting after Jack sacrifices himself that everybody else will come back to life and return to the real world as if nothing ever happened. I'm borrowing from Neo in Matrix Revolutions when Neo destroyed the Smith Virus and everything returned back to normal operations within the Matrix.

The Island: And finally, the island will continue to be protected by Kate with new players coming to the Island a la reloading the Matrix.



There are my predictions, I may be right or I may be wrong. Anyway I look at it, it's going to be a fun mental rollercoaster ride! Namaste.



--Corey

Saturday, May 15, 2010

PubSubListing Protocol v0.1

PubSubListing Protocol v0.1



One of the challenges for buyers in real estate is knowing the most current listing information. The MLSN Protocol resolves this issue for public access to listing information, but it is based upon a request/response protocol. A user must manually query an mlsn server to find out the latest increase or decrease price for a listing. Whereas, the publish/subscribe could be used to receive listing information automatically over the Internet.



In the diagram above, users subscribe to topic message queues using the PubSubListing Protocol. When a listing's price changes, this update is sent to the messaging server which updates the subscribed topic queues, respectively. The pricing update is broadcasted over the PubSubListing Protocol to the users who then view the new price on their laptop, desktop machine, or mobile device. This broadcast pattern continues whenever the listing's price changes. Users have the ability to continue to receive future broadcasted messages by remaining subscribed or unsubscribing to the topic queues.



In summary, the obvious benefits of the PubSubListing protocol are the automated messages of changes and the ability to subscribe or unsubscribe to topic queues. The next step for the protocol is to apply for a reserved port with IANA.