Archive for October, 2006

Posted on Oct 31st, 2006

Most of Firefox’s advantages are MSIE’s disadvantages, and vice-versa. This article will look at some of the advantages and disadvantages of Firefox in relation to MSIE.

Advantages

Security

Security is often cited as the primary reason for users switching from MSIE to Firefox. Security is of utmost importance for software that interacts with remote computers, in an era of high security risk activities such as online banking.

Firefox has fewer security holes and a tighter schedule of disclosing them. The enhanced security in Firefox is due to a multitude of factors the system’s inclusion of more source code reviewers and a better bug reporting system and exclusion of VBScript/ActiveX, often the source of vulnerabilities.

Meanwhile, Microsoft has been clamoring for years to try to clamp down on the MSIE security holes. It acquired an anti-spyware product, which it released under the banner of Microsoft AntiSpyware. It also promises its new Windows Vista platform will be more secure. However, Microsoft’s track record to date has done little to boost the confidence of today’s user. Standards compliance

Firefox has vaulted ahead of MSIE with improved support for standard web protocols, such as its superior stylesheet compatibility.

Since MSIE had a leading marketshare, the company had less interest in conforming to web standards, and instead focused on proprietary protocols, with the goal of maintaining their market position. That is, the focus of Microsoft was to try to convert as much of its userbase to writing webpages and web applications that required a proprietary MSIE-approach, so that down the road, users would be less able to move off a Microsoft platform. As a result, Microsoft neglected for years to improve support for basic open standards. For example, transparent PNG graphics did not work all the way through to MSIE version 6.

Multiple operating system platforms

Firefox is available for users who runs Windows (Windows 98 through to Windows XP), Mac OS X, all the leading versions of Linux, as well as some lesser-used operating systems. In comparison, Microsoft has dropped development for Mac, and other non-Windows systems. Furthermore, Microsoft has ceased new development even on their own versions of Windows, making the new MSIE only available to users who have a license for Windows XP. Firefox also has a similar user interface among the different operating platforms. For deployments that have a mix of operating platforms (such as Linux for the techs, Macs for the graphic designers, and Windows for the accounts department), moving to Firefox for everyone thus brings technical support costs down.

Time-saving browser innovations

Internet communication and interaction is a core component for most modern businesses. Efficient use of web browser time translates to increased profits, so innovations to help workers do their tasks faster are welcomed. Firefox leads MSIE in this regard, with out-of-the-box features such as integrated Google search in the toolbar, placing the find-within-page box at the bottom of the browser window so as not to obscure the text, and so on.

Disadvantages

Retraining

Any switch of software incurs a retraining cost. However, a switch from MSIE to Firefox requires only a mild amount of retraining.

The switch from MSIE to Firefox is designed to be easy, with proper import of bookmarks and other settings.

Browser interfaces are becoming standard, so understanding how to get up and running is not usually a problem. There are some only minor adjustments. For example, "Internet Files" in MSIE is called "Cache" in Firefox. One can use a downloaded MSIE theme so that the Firefox user interface even more closely resembles that of MSIE.

Incomplete migration

In a business with Windows computers, if the switch from MSIE to Firefox is incomplete, it can cost more to offer technical support for both browsers. This argument would only apply to shops whose Windows computers are all Windows XP. Since the new MSIE is only available for Windows XP, if there are different Windows versions (such as Windows NT or 2000), then the technical support team already needs to support different types of MSIE browsers.

Another consideration, however, is that even an incomplete switch from MSIE to Firefox could result in less technical support, since the Firefox users would be less likely to need help with fixing their computer after an MSIE-related security breach.

Matt Bacak became "#1 Best Selling Author" in just a few short hours. Recent Entrepreneur Magazine’s e-Biz radio show host is turning Authors, Speakers, and Experts into Overnight Success Stories. Discover The Secrets To Unleash The Powerful Promoter In You! Sign up for Matt Bacak’s Promoting Tips Ezine ($100 value) just visit his website at http://www.powerfulpromoter.com or http://promotingtips.com

Posted on Oct 31st, 2006

Microsoft Business Solutions Great Plains is marketed for mid-size companies as well as Navision (which has very good positions in Europe and emerging markets where it can be easily localized). Great Plains Inventory control is pretty robust and here we would like to give you highlights on standard functionality as well as what could be added to its standard features.

Historically Great Plains Dynamics / eEnterprise was designed with modules structure with very clear ERP workflow – Inventory control had a link to General Ledger and was interacting with Sales Order Processing, Invoicing, later on with Purchase Order Processing (it was some development and unsuccessful marriage with Intellisol Purchase Order Processing third party module), Project Accounting and Manufacturing set. Inventory control has addition in the form of Bill of Materials module (we see the whole spectrum of downsizing manufacturing companies, who are switching from full-featured manufacturing to Great Plains Inventory control with Bill of Materials). Features:

• Inventory Allocation – from SOP Sales Order, Invoice you can automatically of manually allocate Inventory items

• Sales Item, Service, Misc Charge, Flat Fee, etc – these are types of the Inventory items.

• Serial and Lot Number tracking – serial number is unique, while Lot Number might be assigned to the lot of items

• LIFO, FIFO, Average with Periodic or Perpetual – these terms should be familiar to accountant

• Inventory Class – you can group items into the class and have reporting in ReportWriter or just Crystal Reports to summarize by inventory class

• Kit – item might be a set of items – or a kit

• Substitute items – you can have two (GP version 7.5 and 8.0)

• ABC Codes – is you are familiar with replenishment or manufacturing

• Accounts distribution – Great Plains first look if you specify accounts on the item level, then if these are empty – it look at the class level and then to Setup->Posting->Posting Accounts

• Inventory Count – this nice feature was added several years ago with version 5.0

Add-Ons:

• Barcoding – you have to check with your Microsoft Great Plains Partner which third party solution fits to your needs.

• Manufacturing – Great Plains Software bought Icontrol Manufacturing and integrated it into Great Plains about 8 years ago and now it is seamlessly integrated with Inventory Control module

• Web front – there are eConnect (SDK for eCommerce developer), eOrder, and other eXXX series products that you could deploy. There is a good chance that you will have to develop custom web-interface to your Great Plains back end

Good luck with implementation, customization and integration and if you have issues or concerns – we are here to help! If you want us to do the job - give us a call 1-630-961-5918 or 1-866-528-0577! help@albaspectrum.com

Andrew Karasev is Chief Technology Officer in Alba Spectrum Technologies – USA nationwide Great Plains, Microsoft CRM customization company, serving clients in Chicago, Houston, Atlanta, Phoenix, New York, Los Angeles, San Francisco, San Diego and having locations in multiple states and internationally ( http://www.albaspectrum.com ), he is CMA, Great Plains Certified Master, Dexterity, SQL, C#.Net, Crystal Reports and Microsoft CRM SDK developer. You can contact Andrew: andrewk@albaspectrum.com

Posted on Oct 30th, 2006

Ever get a virus? And no, we’re not talking about the kind you get from the kid down the street sneezing all over you. We’re talking about the kind you get when your computer runs into some nasty vindictive hackers. These are people who have nothing better to do with their time but make other people’s lives miserable. If you’ve ever been attacked by one of these things you know what I mean.

Enter the anti virus software. In short what this software does is detect a virus either on your computer or one that is threatening to slice your PC into little bits and bytes.

The most popular anti virus software companies are McAfee and Norton Anti Virus, the latter actually owned by Symantec. There are other companies and now even some ISPs like AOL are providing anti virus software. But McAfee and Norton are still the kings of the industry.

Before you can understand how anti virus works you have to understand how the virus itself works and how it infects your computer.

Contrary to what people believe there are other ways to get a computer virus other than to open an attachment in an email, though that is the most common way. Email virus infections occur when the user opens up an email with an attachment and downloads the attachment to the hard drive of the PC. What happens from there can vary greatly but in general what happens is the attachment, which is usually an EXE file, when saved, releases some code that performs an action on your computer. This can be anything from getting private information such as passwords and credit card numbers and transmitting it to the sender of the email to simply wiping out your hard drive to the point where it is beyond repair. There are debates as to which is worse.

Another way to get a virus, and this is the scarier one, is to go to a web site who’s server has been infected with a virus. This virus can be passed along through the Internet connection and place a dangerous file on your hard drive. Again, the actions taken afterward by the virus can be just about anything.

So what exactly does anti virus software do about this? In simple layman’s terms the anti virus software detects the intruding file and tries to do several things in this order.

First it tries to delete the file before it can ever even get saved to your hard drive. If it is successful, it is as if the file never existed and no harm is done.

Second, if it can’t delete the file it tries to repair it, if it is a file that is actually yours to begin with and has been modified by the virus itself. If it can repair the file again it is as if nothing happened.

Third, if it can’t repair the file then as a last resort it places the file in quarantine so that it can’t infect any other files. Yes, viruses can spread. In this case some harm may have been done and you may have to replace the file that has been infected with a new copy. Sometimes this requires reinstalling the software the file came from. Other times the file is simply lost, especially if it is a user created file, though it may be possible to recreate the file depending on what kind of data it contained.

So how does anti virus software detect viruses? To put it simply, your anti virus software has a list of known viruses. It scans every file that you download to your PC and checks it against this list. If it finds a match it warns you of the virus giving you the name of it and then attempts to go through the steps I’ve outlined above.

So where does this list come from? Well, that’s the hard part and the reason that anti virus software can never be 100%. The list comes from known viruses that the software company has either come in contact with itself or viruses sent to them from users who have been attacked. Therein lies the less than 100% effectiveness of anti virus software. There is always a chance that you will be the first one attacked by a new virus. You won’t know it until something goes wrong with your computer and then after you report the problem to Norton or McAfee they will have you send them the file you think caused the problem and run tests on it. No, it’s not an exact science but it’s the best we have.

So since anti virus is not a sure fire prevention the best prevention is not to download attachments when you have no idea who sent them to you, make sure your OS has the latest patches and be very careful about what web sites you go to.

At least you don’t have to drink your mother’s chicken soup.

Michael Russell
Your Independent guide to Anti Virus

Posted on Oct 30th, 2006

Microsoft Business Solutions Great Plains is marketed for mid-size companies as well as Navision (which has very good positions in Europe and emerging markets where it can be easily localized). Great Plains Inventory control is pretty robust and here we would like to give you highlights on standard functionality as well as what could be added to its standard features.

Historically Great Plains Dynamics / eEnterprise was designed with modules structure with very clear ERP workflow – Inventory Control, Sales Order Processing (SOP), Purchase Order Processing (POP), Project Accounting (PA), US Payroll, etc. were posting transactions all the way to or through GL, creating double entry GL transactions with audit trail back to original records in corresponding modules

Features:

• Account Segment Structure – Great Plains GL allows you to have up to two segments with maximum 60 characters account length. You use segments to sort by Account, Unit, Location, etc. You will find segment structure design useful when you design reports in FRx or ReportWriter

• GL Multicurrency – was realized more than 10 years ago. All multicurrency transactions from modules are posted to GL as multicurrency GL transactions.

• Unit and Variable Allocation Accounts – these are for tracking units – if you use just GP GL – you can have primitive count of your Fixed Assets as Unit accounts, for example

• Quick Journal – you can create transaction template in Quick Journal and then use it to expedite transaction entry

• Batch Posting – is useful when you want to post group of transaction upon the approval

• Routines: Period Consolidation, Year End Closing, Multicurrency revaluation – we recommend backup prior to these routines

• Summary and Detail current and historical inquiries – where you can restrict your inquiry by date, etc.

• FRx financial reporting – this topic deserves special publication, you can have consolidated reports by multiple companies, when you use reporting tree, plus you can pull info from MS Excel

• Clearing Transactions – these will allow you to reverse GL transaction

Good luck with implementation, customization and integration and if you have issues or concerns – we are here to help! If you want us to do the job - give us a call 1-630-961-5918 or 1-866-528-0577! help@albaspectrum.com

Andrew Karasev is Chief Technology Officer in Alba Spectrum Technologies – USA nationwide Great Plains, Microsoft CRM customization company, serving clients in Chicago, Houston, Atlanta, Phoenix, New York, Los Angeles, San Francisco, San Diego and having locations in multiple states and internationally ( http://www.albaspectrum.com )

Posted on Oct 29th, 2006

Think software is boring? Think again. There are quite a few software titles that do cool or outright weird things you’d never think about.

LottoPro 2005

Do you play lottery a lot? No luck yet? Maybe it’s the time you turn to software for help. LottoPro 2005 helps you to pick winners in any lottery type — Pick 3, 4, 5, and 6, as well as PowerBall, Keno and others. History files for U.S., Canadian and international lotteries give you a basis for generating new numbers, and analysis tools (such as frequencies, hot and cold, due numbers, hit sequences, and more) that can be used with your favorite numbers to generate picks. Clearly, no software can guarantee you a win, but it’s a fun tool to pay with.

MedSpel

Can’t understand the doctor talk? You are not alone. In fact, a lot of medical professionals don’t know meaning of many terms or don’t know how to spell them. MedSpel includes over 40,000 medical spellling words that can be added to your Microsoft(TM) Word spelling dictionary on you Windows computer. MedSpel includes terms ranging from abdominis to zygomatic , which allows you to concentrate on your work instead of looking up words that are not in the basic spelling dictionary. MedSpel costs $9 and it’s worthwhile investment for folks who have to deal with medical terms day in and day out.

MP3 Doctor

MP3 Doctor is an editing tool that lets you check, modify, and improve your MP3 and WAV files. You can repair imperfect songs or modify them with trimming, equalizing, and resampling. The goal is to let you maintain similar quality, volume, and sound on all your MP3s. In addition, the program converts MP3 files to WAV and vice versa. Moreover, the program can handle ID3 tags of MP3 files. The normalize function allows you to get the lower parts of a song to higher levels and to standardize your MP3 collection. The karaoke feature lets the user remove the vocals of an MP3 or WAV file. The pitch and tempo features let the user change tempo (BPM) without changing the pitch, or vice versa. MP3 Doctor is a fine tool to play with if you like music and have tons of mp3 files.

Free Download Links:

LottoPro 2005 http://www.deprice.com/lottopro.htm

MedSpel http://www.deprice.com/medspel.htm

MP3 Doctor http://www.deprice.com/mp3doctor.htm

John Deprice owns and operates http://www.deprice.com

Posted on Oct 29th, 2006

Microsoft bought Navision, Denmark based software development company, along with Great Plains Software. Now Microsoft Business Solutions offers the following ERP applications: Navision (former Navision Attain), Microsoft Great Plains (former Great Plains Dynamics/eEnterprise), Solomon, Axapta. Formerly Navision had strong positions in Europe. Now it is being promoted in USA and Europe. Navision has a quite advanced manufacturing module.

We would like to give you manager, information and guidance concerning the Sales module of Navision

• Focus on Relationship with your Client - The main objective of Navision Sales is to improve your relationship with your client, therefore this module was designed to store and relate all information concerning transactions with a certain client, or group of customers.

• Marketing Tools - The Sales Module also gathers and filters important information pertaining to Marketing decision making, based on your company’s criteria and set up, the system is prepared to provide only the truly relevant data.

• Task lists – The best way to have control over the tasks given to your employees. They know what they have to do, and management knows whether they have completed it or not. Being that these lists can be automatically updated, based on activities performed throughout the system, and also with Microsoft Outlook interaction.

• Opportunity Management – The Sales Module can even control and flag your opportunities, including substitute products, sales campaigns, discounts based on product and customer (or families of products and customers).

Reporting Options - Aside from the powerful internal reporting tool which requires an in-depth knowledge of C/SIDE to make it useful the other options are:

• Jet Reports- Jet Reports is a complete reporting package utilizing Microsoft Excel. Using Excel you can create reports on any table of data from within any granule in Navision.

• C/ODBC - Using the ODBC driver, the entire Microsoft office suite and programs such as Crystal Reports can access the database. I would recommend using this tool for occasional reporting requests only. If you need to pull data out of the Navision database on a regular basis one of the other options is a better choice

• Business Analytics (SQL Server Required) - Using Online Analytical Processing (OLAP) from Microsoft SQL Server™ 2000, Business Analytics organizes all of your business data into information units called cubes. Using a familiar Microsoft Outlook®-style interface, Business Analytics presents this information to your desk top where easy to use analytical tools allow you to carry out targeted analysis that is tailored by you, for you

• XBRL - Extensible Business Reporting Language (XBRL) for Navision enables simple and dependable distribution of all a company’s financial information and ensures smooth and accurate data transfer. XBRL is an XML-based specification that uses accepted financial reporting standards and practices to export financial reports across all software and technologies, including the Internet

Good luck in customizing and reports design and if you have issues or concerns – we are here to help! If you want us to do the job - give us a call USA: 1-630-961-5918, 1-866-528-0577, Europe: +49 231 4387600 help@albaspectrum.com

Andrew is CTO in Microsoft Business Solutions Partner Alba Spectrum Technologies ( http://www.albaspectrum.com ) – USA nationwide Navision, Great Plains, Microsoft CRM customization company, serving clients in Chicago, California, Arizona, Texas, Florida, New York, Georgia, Washington, Colorado, Canada, UK, Australia, Germany, Moscow and having locations in multiple states and internationally.

Posted on Oct 28th, 2006

I had an application that I was working where the client insisted on using an Access database for the application. The application was running on a two node server farm so the Access database had to be located on a seperated machine and accessed over the network. When upgrading the server farm from 2000 to 2003 the client ran into an issue accessing the database.

After checking to make sure it wasn’t an error with the connection to the location where the database was held I attempted to put the database underneath the site and connect to it there. Well that connection worked fine and the data could be accessed.

Long story short after some research and some long hours on this I found that the issue was a combination of things. First under IIS 6 all applications are run under application pools. The application pools do not pass the identity along that they run under. This creates a problem when trying to access a remote drive. To solve this issue you can enable impersonation of the account that you had IIS to run as the anonymous user. To do this you need to open the web.config file of your application. Under the and then insert a line that is similar to this:

< IDENTITY impersonate="”true”/" >

This line should be used if you wish to impersonate the user as the account that the user is logged in as on their desktop.

or

< IDENTITY impersonate="”true”" userName="”< your" user name >” password=”< USER account password > ”/>

This line should be used if you want to specify one specific account to impersonate.

After I turned on the impersonation in my project another issue appeared. I got the dreded /< YOUR name application > Application Error. This issue was addressed in Microsoft KB82719 Article.

When a .NET application executes it uses the TEMP folder of the ASPNET user, or whatever user you have specified to run your .NET applications, to run and store temporary files. When you run an Access database/application temporary files are opened but since you are impersonating a user that user does not have access to open these files under the ASPNET temp directory. The solution for this is simple, go into the file structure and grant the account access to the temp folder in C:Document settingsServerNameASPNETlocal settings folder. Only give the account access to the Temp folder so that a security risk is not created.

Jason Fortner is co-founder of Total Productivity Solutions, http://www.totalproductivitysolutions.com, a company that specilizes in SharePoint, Webpart and .NET development. More tips on web development visit Total Productivity Solutions.

Posted on Oct 28th, 2006

Are you lost in the mess of documents that get passed around your company, never knowing what the latest version is and which one you should work on without worrying if someone else has already made the same editions that you are making? Perhaps you have heard of collaboration software solutions such as Documentum to help your company manage its documents that are passed around. Documentum is a very good solution to this problem but is it the only one? In this article you will be presented with some basic information about the differences in collaboration software from Documentum and NextPage.

What is collaboration software?

Collaboration software allows business professionals to work directly with other business professionals by allowing them to work together to create business documents, presentations, and budgets. Most collaboration software is centralized. This allows business professionals to work on the same documents at the same time from different locations. Some centralized collaboration software solutions include Groove Network, Microsoft SharePoint, Documentum, and Filenet.

Why use Documentum?

There are a few advantages to using centralized collaboration software such as Documentum. The main advantage being that they work very well for team collaboration. Documentum’s software keeps all files, projects, and data in one centralized location that everyone who is working on the project can access. This allows them to review and update the same document that everyone else has used, which essentially keeps everyone working on the same page.

Are there any drawbacks to Documentum?

While the collaboration software solution provided by Documentum is very useful and beneficial, there are a few drawbacks to using it. The main disadvantage being that Documentum’s software requires the use of an IT infrastructure. Another potential drawback is that it requires an extensive amount of installation time. This can be a major inconvenience to those business professionals who are always busy and on the go.

Other collaboration software options out there also require everyone you work with to have the same software in order to share information. All of these drawbacks to centralized collaboration software can be very expensive and inconvenient.

What else will work for my company?

NextPage provides an alternative solution to the centralized collaboration software. NextPage 1.5 Collaboration Software tracks documents with Digital Thread technology. Say, for instance, that you are working on your company’s budget. You want to make sure that your facts and figures are correct so you send your spreadsheet to several of your co-workers for review. They look over the spreadsheet and make the necessary changes. They then return their spreadsheet version to you, and with NextPage 1.5, you simply merge the document versions together into one. NextPage 1.5 lets you see all of this visually via a graphical version history. With the graphical version history, you would always know where the various versions of your spreadsheet are stored, what changes have been made, who has reviewed your spreadsheet, when the revisions were made, and how the revisions fit together. NextPage makes it easy to see where the document has been and what revisions have been made, eliminating the confusion of who did what and when it was done.

What advantages does NextPage have?

The major advantages to using NextPage’s collaboration software include

the following:

• Do NOT need a centralized server

• Do NOT need an IT infrastructure

• Installation can be done in a matter of minutes

• Will work with associates who are NOT NextPage subscribers

• Solves document management problems where they originate

If your company is getting lost in the mess of documents then you can benefit greatly by implementing a collaboration software solution. Solutions from Documentum or NextPage will enhance your overall organization and productivity. In this article I have got the ball rolling for you. All you need to do now is to see what solution will best fit your company. So get out there and get your company documents organized!

Mike Nielsen is a client account specialist with 10xmarketing - More Visitors. More Buyers. More Revenue. For more information about Documentum, visit NextPage.com

Posted on Oct 27th, 2006

Ever since my college days, I always loved to have my own compiled kernel. It gave me that special feeling of "my machine is better than yours". I am sure each time my new kernel boots up the feeling I have is is the same as what Super Man has when he bashs up the bad people.

A custom kernel boots up the system faster, it takes up lesser memory space and one can install drivers for hardware not supported by a default kernel. Besides these benefits, a custom kernel serves as an interesting conversation topic with geeks. Just ask them "What is your kernel size ?". This would keep the Geek busy for sometime where he would explain all the great things he did to the kernel options to optimize his box.
If you happen to be a geek yourself, this is a great question to put forward to those lowly Nubies. They’ll never trouble you with stories of their nephew or kid sister after this :-D

Before we get down to compiling our own kernel, it is a wonderful idea to backup the present kernel.
# cd /boot
# cp -pvr kernel kernel.orig

The original generic kernel is now stored as kernel.orig. In case the kernel does not boot (which has happened with me many times) boot up with the generic kernel and try again. Booting any other kernel is simple. At the boot time goto to the boot prompt and simple say "boot kernel.orig" and the default kernel would boot up.

The kernel sources are located in the /usr/src/sys directory. If not installed, the kernel sources can be installed with the following commands. First insert the FreeBSD install CD in your CD drive.

# mount /cdrom# mkdir -p /usr/src/sys# ln -s /usr/src/sys /sys# cat /cdrom/src/ssys.[a-d]* | tar -xzvf - 

Then go to the director where the configuration files are located.

#cd /sys/i386/conf

In this directory the GENERIC kernel configuration file is located. Copy this file and it as your custom name.

#cp -pvr GENERIC BABYBSD
# vi BABYBSD

First change the ident value from GENERIC to BABYBSD (or whatever name you prefer). I have given my sample configuration file at the end of this article. The options are quite easy to understand and a good starting point would be the FreeBSD Handbook which has documented most of the kernel options.
You can also go to a shell and run the command #make LINT in this directory which would create a file called LINT which has all the options supported by the kernel listed.

After this stage just run the following commands

#/usr/sbin/config BABYBSD
#cd ../compile/BABYBSD
#make depend
#make
#make install

Please note that you must be root to run the make install. Reboot and the kernel should boot with your shining new kernel. :-)



# My Sample Kernel Configuration File for FreeBSD/i386

machine i386
cpu

I586_CPU
cpu

I686_CPU
ident

BABYBSD

options SCHED_4BSD

# 4BSD scheduler
options INET

# InterNETworking
options INET6

# IPv6 communications protocols
options FFS

# Berkeley Fast Filesystem
options SOFTUPDATES

# Enable FFS soft updates support
options UFS_ACL

# Support for access control lists
options UFS_DIRHASH

# Improve performance on big directories
options MD_ROOT

# MD is a potential root device
options NFSCLIENT

# Network Filesystem Client
options NFSSERVER

# Network Filesystem Server
options NFS_ROOT

# NFS usable as /, requires NFSCLIENT
options MSDOSFS

# MSDOS Filesystem
options NTFS
options CD9660

# ISO 9660 Filesystem
options PROCFS

# Process filesystem (requires PSEUDOFS)
options PSEUDOFS

# Pseudo-filesystem framework
options GEOM_GPT

# GUID Partition Tables.
options COMPAT_43

# Compatible with BSD 4.3 [KEEP THIS!]
options COMPAT_FREEBSD4

# Compatible with FreeBSD4
options SCSI_DELAY=15000 # Delay (in ms) before probing SCSI
options KTRACE

# ktrace(1) support
options SYSVSHM

# SYSV-style shared memory
options SYSVMSG

# SYSV-style message queues
options SYSVSEM

# SYSV-style semaphores
options _KPOSIX_PRIORITY_SCHEDULING # POSIX P1003_1B real-time extensions
options KBD_INSTALL_CDEV # install a CDEV entry in /dev
options AHC_REG_PRETTY_PRINT # Print register bitfields in debug

# output. Adds ~128k to driver.
options AHD_REG_PRETTY_PRINT # Print register bitfields in debug

# output. Adds ~215k to driver.
options ADAPTIVE_GIANT

# Giant mutex is adaptive.

device apic

# I/O APIC

# Bus support. Do not remove isa, even if you have no isa slots
device isa
device eisa
device pci

# Floppy drives
device fdc

# ATA and ATAPI devices
device ata
device atadisk

# ATA disk drives
device atapicd

# ATAPI CDROM drives
options ATA_STATIC_ID # Static device numbering

# SCSI peripherals
device scbus

# SCSI bus (required for SCSI)
device ch

# SCSI media changers
device da

# Direct Access (disks)
device cd

# CD
device pass

# Passthrough device (direct SCSI access)
device ses

# SCSI Environmental Services (and SAF-TE)

# atkbdc0 controls both the keyboard and the PS/2 mouse
device atkbdc

# AT keyboard controller
device atkbd

# AT keyboard
device psm

# PS/2 mouse

device vga

# VGA video card driver

device splash

# Splash screen and screen saver support

# syscons is the default console driver, resembling an SCO console
device sc

# Enable this for the pcvt (VT220 compatible) console driver
#device vt
#options XSERVER

# support for X server on a vt console
#options FAT_CURSOR # start with block cursor

device agp

# support several AGP chipsets

# Floating point support - do not disable.
device npx

# Power management support (see NOTES for more options)
#device apm
# Add suspend/resume support for the i8254.
device pmtimer

# PCI Ethernet NICs that use the common MII bus controller code.
# NOTE: Be sure to keep the ‘device miibus’ line in order to use these NICs!
device miibus

# MII bus support
device rl

# RealTek 8129/8139

# Wireless NIC cards
device wlan

# 802.11 support

# Pseudo devices.
device loop

# Network loopback
device mem

# Memory and kernel memory devices
device io

# I/O device
device random

# Entropy device
device ether

# Ethernet support
device sl

# Kernel SLIP
device ppp

# Kernel PPP
device tun

# Packet tunnel.
device pty

# Pseudo-ttys (telnet etc)
device md

# Memory "disks"
device gif

# IPv6 and IPv4 tunneling
device faith

# IPv6-to-IPv4 relaying (translation)

# The `bpf’ device enables the Berkeley Packet Filter.
# Be aware of the administrative consequences of enabling this!
# Note that ‘bpf’ is required for DHCP.
device bpf

# Berkeley packet filter

# USB support
device uhci

# UHCI PCI->USB interface
device ohci

# OHCI PCI->USB interface
device ehci

# EHCI PCI->USB interface (USB 2.0)
device usb

# USB Bus (required)
#device udbp

# USB Double Bulk Pipe devices
device ugen

# Generic
device uhid

# "Human Interface Devices"
device ukbd

# Keyboard
device umass

# Disks/Mass storage - Requires scbus and da
device ums

# Mouse

# Specific to my Machine
device atapicam # for CD Writer to be detected by K3B and other CD writing software
device sound

# To Enable Sound
device "snd_ad1816"
device "snd_als4000"
device snd_cmi
device "snd_cs4281"
device snd_csa
device "snd_ds1"
device "snd_emu10k1"
device "snd_es137x"
device snd_ess
device "snd_fm801"
device snd_gusc
device snd_ich
device snd_maestro
device "snd_maestro3"
device snd_mss
device snd_neomagic
device "snd_sb16"
device snd_sbc
device snd_solo
device "snd_t4dwave"
device "snd_via8233"
device "snd_via82c686"
device snd_vibes
device snd_uaudio
device pcii
device acpi
device acpi_asus
device acpi_video

device cbb # cardbus (yenta) bridge
device pccard # PC Card (16-bit) bus
device cardbus # CardBus (32-bit) bus

options DEVICE_POLLING
options HZ=1000
options PERFMON
device apm_saver # Requires APM

options AUTO_EOI_1
options AUTO_EOI_2

options VESA


Posted on Oct 27th, 2006

So, why should you use any O/R mapping tool? I am not talking about a specific tool but rather all O/R mapping tools in general. There are a number of reasons for using an O/R mapping tool but before I dive into that, let me give you a brief overview of what an O/R mapping tool really is.

An O/R mapping tool generates persistence objects for your .NET application. It is a modeling and code generation tool that connects to your database and reads its schema, then lets you map objects to database tables and views, specify single-row insert, update, load, and delete operations, queries and stored procedure calls, as methods to these objects. And, it also lets you define one-to-one, one-to-many, many-to-one, and many-to-many relationships between objects based on relationships between tables in the database. It then generates fully working persistence objects code for you.

There are many other features that a good O/R mapping tool provides but I’m keeping my description brief so I can talk more about the benefits.

Reason 1: Cuts down your development time

First benefit of an O/R mapping tool is that it saves you a ton of development time (20% to 50% time depending on your situation). Now, O/R mapping tool is not generating any “rocket science” code for you and you could definitely do it manually if you wanted. But, this is a lot of tedious work and you would definitely be happier if you didn’t have to do it yourself. Let’s do some simple math.

A typical application with 15-20 database tables has 30-50 objects (including domain and factory objects) and this is roughly 5000 to 10,000 lines of code. It is likely to take you a few weeks to a couple of months to develop and test this code. And, if your application has more tables than this (which many do), then just multiple the above numbers by that much.

On the other hand, an O/R Mapping tool would generate this code for you in a day or two. Even here, you need these 1-2 days primarily to determine your object mappings to the database. The actual code generation is instantaneous. So, your time saving is tremendous.

Reason 2: Produces better designed code

Second benefit of an O/R mapping tool is that it lets you produce better designed code than doing it yourself by-hand. I know what you’re thinking. You think you can do a better job than an O/R mapping tool because you write every aspect of your code. Some of you definitely can but not everyone. Consider this. An average development team has different levels of expertise and experience and not everybody is a good designer. As a result, they may not follow design patterns in their code and end up with a lesser quality code. And, if multiple developers are writing code, their code is very likely going to be inconsistent with each other. And, inconsistency itself is a big source of poor quality in an application’s code.

On the other hand, a good O/R mapping tool uses code templates that have excellent design because they are very likely designed and created by very senior (architect level) engineers. And, these code templates almost always follow known design patterns. So, the code that you’ll generate from an O/R mapping tool is very likely going to be better designed than code designed by your own development team.

Reason 3: You don’t have to be a .NET expert

Third benefit of using an O/R mapping tool is that you don’t have to be a .NET expert to develop your persistence code. As you know, data access code is critical for the overall performance of your application. If this code is designed and developed poorly, it can severely affect your application. So, if you developed this code by hand, you need to be an export of .NET, COM+, stateless components, and MTS.

However, if you use an O/R mapping tool, you can focus primarily on the “logical design” of your persistence objects including object mapping and the different types of interactions with the database including insert, update, load, delete, queries, stored procedure calls, relationships, and more. And, the O/R mapping tool would do the rest for it. It would ensure that the generated code follows all the best practices of writing stateless .NET components to run in COM+ and MTS.

Reason 4: Saves you testing time

Fourth benefit of an O/R mapping tool is that it reduces your testing effort dramatically. If you developed all the persistence code by hand, you would also be responsible for testing it yourself. And, as you know, testing is as much effort as development in any project.

On the other hand, if you generated code from an O/R mapping tool, it is coming from code templates that are very likely thoroughly tested by the software vendor itself (more so than you because it is their primary focus). And, on top of it, most likely hundreds or perhaps thousands of other customers are using this tool and have tested the code generated from this O/R mapping tool. As a result, many of the bugs that you might not find in your own testing have already been found and fixed in the generated code of an O/R mapping tool.

Reason 5: Simplifies your .NET development

If you have to write all the persistence code yourself, you’re bogged down into the details of ADO.NET, COM+, MTS, stateless .NET components, and more. And, you end up spending a lot of time in details that you really don’t need to. On the other hand, if you generate code from an O/R mapping tool, you get well design objects and you only need to deal with their public interface.

Below is an example of code you’ll write if you used an O/R mapping tool.

try {

Employees objInfo = new Employees();

EmployeesFactory objFactory = new EmployeesFactory();

objInfo.EmployeeID = EmployeeID;

objFactory.Load(objInfo);

// code here to use the “objInfo” object } catch(Exception ex) {

// code here to handle the exception

return; }

As you can see, the generated code is very simple to use than actually writing the .NET components yourself.

Many people have never heard of O/R mapping tools and many more have heard of them but are afraid to use them. I hope I have made a strong enough case here for you to give a serious consideration to O/R mapping for your project.

Iqbal Khan is the Director of Sales & Marketing at AlachiSoft (http://www.alachisoft.com/), a leading provider of O/R Mapping tool called TierDeveloper. You can reach him at iqbal@alachisoft.com.

- Next »