For those who are interested, I've posted my Web 2.0 conference notes here:
http://content.serveftp.net/content/web20conferencenotes.html
Updated reference list of 2.0 companies as of 6/20/2007.
Friday, May 04, 2007
Wednesday, May 02, 2007
list of web 2.0 companies
OK. So maybe this entry is going to be a bit long, but it should be pretty useful for the folks just getting started with Web 2.0. Here is a somewhat exhaustive list of the major players in the Web 2.0 space and other companies just doing "Web 2.0 stuff." Hopefully, it will give people an idea of the depth and breadth of this movement.
By all rights, I should be putting this into a dynamic form of some sort, but I'll work on that for the next post.
Feel free to use the more recently updated (6/20/2007) list here:
Web 2.0 Company Reference
And for some reason, the table formatting in Blogger is all screwed up. So bear with me, but the list is about 3000 pixels down this page. Argh!!
By all rights, I should be putting this into a dynamic form of some sort, but I'll work on that for the next post.
Feel free to use the more recently updated (6/20/2007) list here:
Web 2.0 Company Reference
And for some reason, the table formatting in Blogger is all screwed up. So bear with me, but the list is about 3000 pixels down this page. Argh!!
CATEGORY | SITE | DESCRIPTION |
ajax | amaztype.tha.jp | Visual book finder pointing to Amazon |
ajax | seemless | Presentation in PPT format on AJAX |
ajax | rich applications | Up close and personal with Jesse James |
ajax | Chicago Crime | Latest reported crimes mashup site |
ajax | Dojo Toolkit | brings back crawlability to flash apps |
ajax | Google Maps | Google Maps |
ajax | Kicksfinder | eBay sneaker content remixed |
ajax | Housingmaps.com | graphical housing rental/purchase app |
ajax | Zillow | real estate valuations |
ajax | user programmable services | Interesting AJAX theory discussion #2 |
ajax | AJAX | Interesting AJAX theory discussion #1 |
analytics | Compete | Sharing the web's click data |
analytics | Statsaholic | Website traffic comparisons on steroids |
analytics | Swivel | Upload and explore data, merge with govt sources |
analytics | Umbria | mining the blogosphere for market intelligence |
definitions | Network effects | definition of network effects |
definitions | harnessing collective intelligence | Web 2.0 as defined by Tim O'Reilly |
development | Yahoo interface library | Plugin to Yahoo's applications |
development | Coghead | Build web apps easy and don't worry about the hosting |
development | Drupal | Open source content management platform |
development | open APIs | Latest list of popular open APIs |
development | Kapow | World's first online mashup builder |
development | standards | World Wide Web consortium |
development | Zimki | Create, build and deploy web apps quickly without overhead |
frameworks | Django | The Django web application framework |
frameworks | frameworks | Open source AJAX frameworks with server-side java support |
frameworks | Rails | Web application framework |
gadgets-widgets | Google AdSense | Content-specific advertising by Google |
gadgets-widgets | Windows Live Gallery | Windows Live Gallery of widgets |
gadgets-widgets | Google Gadgets | Neat plugins for your website or blog |
gadgets-widgets | NetVibes | All your digital life fits in one place: blogs, news, podcast, pics |
gadgets-widgets | WidgetBox.com | The world of widgets at your fingertips |
gadgets-widgets | Portlet Factory | Tools and tech to rapidly create, customize, and deploy portlets |
guru | Dion Hinchcliffe | Guru Dion Hinchcliffe's company |
guru | Stowe Boyd | Guru Stowe Boyd's website |
mashups | QEDWiki | browser-based assembly canvas used to create simple mash-ups |
mashups | social networking software | Blog on latest mashups and mashup technologies |
mashups | mashups | Hundreds of mashups for fun and profit |
mobile | Jaiku | Broadcast your SMS to your friends to let them know how you are |
mobile | TellMe | Brings mobile search to everyone |
mobile | Broadcast your SMS to your friends to let them know how you are | |
rich internet apps | GTimer | Timer and report generator for your activities |
rich internet apps | Apollo | Adobe's rich internet application builder |
rich internet apps | Yahoo Local | Find it locally |
rich internet apps | Buzzword word procesor | The first real word processor for the web |
rich internet apps | 37Signals | Thoughtful products that do just what you need and nothing you don't |
rich internet apps | applications | Adobe's latest applications |
rich internet apps | Zimbra | Online/offline collaboration suite |
services | Salesforce | On-demand platform for the enterprise |
services | Amazon Services | freeing the means of production |
services | Amazon Fulfillment | Pick, pack and ship by Amazon |
social networking | bebo | A newer MySpace competitor |
social networking | del.icio.us | Social bookmarking |
social networking | UnSpun | Community opinions - ranked! |
social networking | Upcoming.org | See upcoming events in your area and hook up with friends |
social networking | 43things | Discover what's important, make it happen, share your progress. |
social networking | Architecture for Humanity | Design like you give a damn |
social networking | Digg | Peer production news |
social networking | Social networking site | |
social networking | Flickr | Free photo service on the web |
social networking | Friendster | Social networking site that came before MySpace |
social networking | Joost | Interactive TV you can watch with your friends |
social networking | Last.FM | Plugin to iTunes to share what you listen to with others |
social networking | Hook up with people in a personal or professional context | |
social networking | MySpace | MySpace |
social networking | StumbleUpon | Find great websites, videos, photos and more based on your interests |
social networking | ThisNext | recommendations from real people |
social networking | WeeWorld | World's first multiplatform visual identity |
social networking | Yelp | Reviews of restaurants, salons, bars, doctors by real people |
social networking | YouTube | YouTube |
syndication | syndication | definition of RSS |
syndication | the blogosphere | The blogosphere as interpreted by Digg |
syndication | blog | Media distribution and audience engagement services for feeds. |
syndication | RSS feeds | Service to optimize blogs and feeds |
syndication | NetConcepts | Website and search engine optimization and ecommerce for retailers |
syndication | tags and tag clouds | Example of tags and tag clouds |
syndication | SixApart | Personal and professional blogging tools |
syndication | blogs | Search engine for blogs |
targeting | mSpoke | Next gen personalization solutions for web content and advertising |
targeting | Revenue Science | Connecting marketers to qualified audiences |
user generated content | Blogger | Free blogging by Google |
user generated content | personalized home page | Create a free home page with news, blogs and other widgets |
user generated content | Veoh | From home videos to premium internet television |
user generated content | WikiPedia | Encyclopedia by user contribution |
user agent switcher for older web apps
Perhaps foolishly, I installed the latest version of IE, IE7. I noticed it broke the browser sniffers of some of the older web applications I access. After searching for a plugin for Firefox to simulate any pre-IE7 versions of Internet Explorer, I found this lovely piece of work from the master, Chris Pederick called the User Agent Switcher for Firefox:
http://chrispederick.com/work/useragentswitcher/

It has saved me on numerous occasions from having to remotely login to another server in order to use an older version of IE.
Thanks Chris! We love ya!
In the opposite vein, I also found a plugin called Mask IE:
http://projectdistributor.net/Projects/Project.aspx?projectId=164
that allows for switching of user agents for IE; however, the .Net framework version that it calls for is obscure (2.0.50727) and I did not want to get into the hassle of tracking down and updating the .Net Framework just for one app.
Update 1/25/2008
For IE7, here's a link I had forgotten about that explains how to tweak your Windows Registry to set your IE user-agent:
http://blogs.msdn.com/ie/archive/2005/04/27/412813.aspx
The reg tweak is here:
http://www.fiddlertool.com/useragent.aspx
This registry update allowed me to view our old WebTrends 6.0 portal. The portal does a browser sniff that precludes the use of any browsers over IE6.0. More importantly, you can easily reverse the registry update.
cheers,
sodo
http://chrispederick.com/work/useragentswitcher/

It has saved me on numerous occasions from having to remotely login to another server in order to use an older version of IE.
Thanks Chris! We love ya!
In the opposite vein, I also found a plugin called Mask IE:
http://projectdistributor.net/Projects/Project.aspx?projectId=164
that allows for switching of user agents for IE; however, the .Net framework version that it calls for is obscure (2.0.50727) and I did not want to get into the hassle of tracking down and updating the .Net Framework just for one app.
Update 1/25/2008
For IE7, here's a link I had forgotten about that explains how to tweak your Windows Registry to set your IE user-agent:
http://blogs.msdn.com/ie/archive/2005/04/27/412813.aspx
The reg tweak is here:
http://www.fiddlertool.com/useragent.aspx
This registry update allowed me to view our old WebTrends 6.0 portal. The portal does a browser sniff that precludes the use of any browsers over IE6.0. More importantly, you can easily reverse the registry update.
cheers,
sodo
Labels:
.net,
addons,
administration,
browsers,
firefox,
ie,
user agent
Tuesday, May 01, 2007
What is Web 2.0?
Intro
This may be a little late in coming, but I attended the Web 2.0 Conference a couple weeks ago in San Francisco. I enjoyed the conference immensely, outside of the crowds and plastic containers they served lunch in. But for those who are asking, what is Web 2.0, I’ll give you a brief synopsis.
Web 2.0 came from what was before it. Web 2.0 is an evolution of technology and an evolution how people learned how to use the web. Web 2.0 is blogs, is wikis, is Google Maps and YouTube and things with funny names like Twitter and Flickr and mashups and Joost and Django and Jaiku. It is about people wanting to connect and be connected to in order to discover themselves (Stowe Boyd). Web 2.0 is about letting your customers build your brand.
Detail
To loosely define it, Web 2.0 is represented by four themes (Dion Hinchcliffe):
- enabling technologies, mainly AJAX (Google Maps) and ubiquitous mobile
- user generated content, like MySpace, Wikipedia and Digg
- social networking software, like LinkedIn, Last.FM, and Upcoming.org
- syndication through blogs and feeds and user programmable services
Web 2.0 is about immediate interactivity via seemless, rich applications. No page reloads required!
About 1,000,000 blog entries are written every day and there are about one billion people to read them. New applications and websites allow for unprecedented user input (Friendster and del.icio.us), commentary via the blogosphere and customer review (Amazon reviews).
Simplicity, standards, frameworks (Django/Rails) and open APIs are key. The more complex something is, the less people will use it. SMS is easy to use.
Network effects occur when a good or service increases in value the more exchange of information happens between people. Think phones, email, instant messenger, websites with user reviews and blogs. Sites like Yelp, Flickr, and Google AdSense take advantage of network effects.
Lastly, widgets (WidgetBox.com/Windows Live Gallery) and gadgets (Google Gadgets) and APIs (Amazon Fulfillment) that regular people (not just programmers) can use flatten the barriers to accomplishment and free information.
Summary
Web 2.0 is about a single person having a blog and getting the top rank in google or the most views on YouTube. Web 2.0 is describing information with words via tags and tag clouds to make it more meaningful.
Web 2.0 is mobile (Twitter and Jaiku). It is about new technologies to let people express themselves without having to ask a programmer (Google Gadgets/mashups). It is about deciding how your information will look, like a personalized Google home page. It is about having the information you want (blog/RSS feeds) come to you.
Web 2.0 is about comments and commentary, recommendations and reviews and people talking to each other about the stuff they like and the stuff they don't like. It is about accelerating the value of the data that everyone contributes.
It is about new platforms like Django and Rails and simple-to-use products like Coghead and Apollo that make it easier for people to share information.
Web 2.0 is about freeing the means of production for the average person. It is about having your data out in the cloud (YouTube and Flickr), ready to share with old friends and new friends.
Web 2.0 is built on the shoulders of giants. Just like the last one, the next decade will be one of change and upheaval. Hopefully for the better this time, as we should be finally be able to reap the benefits of harnessing the collective intelligence of the net.
This may be a little late in coming, but I attended the Web 2.0 Conference a couple weeks ago in San Francisco. I enjoyed the conference immensely, outside of the crowds and plastic containers they served lunch in. But for those who are asking, what is Web 2.0, I’ll give you a brief synopsis.
Web 2.0 came from what was before it. Web 2.0 is an evolution of technology and an evolution how people learned how to use the web. Web 2.0 is blogs, is wikis, is Google Maps and YouTube and things with funny names like Twitter and Flickr and mashups and Joost and Django and Jaiku. It is about people wanting to connect and be connected to in order to discover themselves (Stowe Boyd). Web 2.0 is about letting your customers build your brand.
Detail
To loosely define it, Web 2.0 is represented by four themes (Dion Hinchcliffe):
- enabling technologies, mainly AJAX (Google Maps) and ubiquitous mobile
- user generated content, like MySpace, Wikipedia and Digg
- social networking software, like LinkedIn, Last.FM, and Upcoming.org
- syndication through blogs and feeds and user programmable services
Web 2.0 is about immediate interactivity via seemless, rich applications. No page reloads required!
About 1,000,000 blog entries are written every day and there are about one billion people to read them. New applications and websites allow for unprecedented user input (Friendster and del.icio.us), commentary via the blogosphere and customer review (Amazon reviews).
Simplicity, standards, frameworks (Django/Rails) and open APIs are key. The more complex something is, the less people will use it. SMS is easy to use.
Network effects occur when a good or service increases in value the more exchange of information happens between people. Think phones, email, instant messenger, websites with user reviews and blogs. Sites like Yelp, Flickr, and Google AdSense take advantage of network effects.
Lastly, widgets (WidgetBox.com/Windows Live Gallery) and gadgets (Google Gadgets) and APIs (Amazon Fulfillment) that regular people (not just programmers) can use flatten the barriers to accomplishment and free information.
Summary
Web 2.0 is about a single person having a blog and getting the top rank in google or the most views on YouTube. Web 2.0 is describing information with words via tags and tag clouds to make it more meaningful.
Web 2.0 is mobile (Twitter and Jaiku). It is about new technologies to let people express themselves without having to ask a programmer (Google Gadgets/mashups). It is about deciding how your information will look, like a personalized Google home page. It is about having the information you want (blog/RSS feeds) come to you.
Web 2.0 is about comments and commentary, recommendations and reviews and people talking to each other about the stuff they like and the stuff they don't like. It is about accelerating the value of the data that everyone contributes.
It is about new platforms like Django and Rails and simple-to-use products like Coghead and Apollo that make it easier for people to share information.
Web 2.0 is about freeing the means of production for the average person. It is about having your data out in the cloud (YouTube and Flickr), ready to share with old friends and new friends.
Web 2.0 is built on the shoulders of giants. Just like the last one, the next decade will be one of change and upheaval. Hopefully for the better this time, as we should be finally be able to reap the benefits of harnessing the collective intelligence of the net.
Friday, April 27, 2007
creating a virtual machine in Amazon's Elastic Compute Cloud (EC2)
So instead of reading my usual trade rag for lunch, I decided to check out Amazon's Elastic Compute Cloud (EC2). Amazon.com hosts a service whereby you create a virtual Linux server out in the cloud and install your apps on it: http://developer.amazonwebservices.com/connect/kbcategory.jspa?categoryID=84
The basic install instructions take about an hour or so to go through:
http://docs.amazonwebservices.com/AmazonEC2/gsg/2006-06-26/?ref=get-started
You first need to create a developer account and assign yourself some space on their Simple Storage Service platform (S3):
http://www.amazon.com/S3-AWS-home-page-Money/b/ref=sc_fe_l_2/103-6202354-5495861?ie=UTF8&node=16427261&no=3435361&me=A36L942TSJ2AJA
I did the setup and got a virtual machine up and running as a web server. I would have provided you a test URL to hit, but I have since discontinued the VM I setup. So here is a screen grab of some simple commands I ran on the server:
http://content.serveftp.net/video/amazon.txt

It would probably be pricey for the average user, but a small business could easily afford it:
http://content.serveftp.net/video/amazon.png

The machine specs are somewhat low powered: 2.4Ghz AMD Opteron 250/1GB mem/single proc/160GB, but suitable for web serving. After the base install, an admin would logon via ssh and upload/install whatever apps necessary.
The great thing about this service is that it is going to make development and deployment of new applications much easier, as well as give the ability to scale up or down on demand. Kudos to Amazon!
The basic install instructions take about an hour or so to go through:
http://docs.amazonwebservices.com/AmazonEC2/gsg/2006-06-26/?ref=get-started
You first need to create a developer account and assign yourself some space on their Simple Storage Service platform (S3):
http://www.amazon.com/S3-AWS-home-page-Money/b/ref=sc_fe_l_2/103-6202354-5495861?ie=UTF8&node=16427261&no=3435361&me=A36L942TSJ2AJA
I did the setup and got a virtual machine up and running as a web server. I would have provided you a test URL to hit, but I have since discontinued the VM I setup. So here is a screen grab of some simple commands I ran on the server:
http://content.serveftp.net/video/amazon.txt

It would probably be pricey for the average user, but a small business could easily afford it:
http://content.serveftp.net/video/amazon.png

The machine specs are somewhat low powered: 2.4Ghz AMD Opteron 250/1GB mem/single proc/160GB, but suitable for web serving. After the base install, an admin would logon via ssh and upload/install whatever apps necessary.
The great thing about this service is that it is going to make development and deployment of new applications much easier, as well as give the ability to scale up or down on demand. Kudos to Amazon!
Labels:
amazon,
elastic compute cloud,
s3,
virtual machine,
web services
Thursday, April 26, 2007
Oracle 10G on RHEL3 quick install instructions
One of the more interesting things I've done lately is install Oracle 10G on RHEL3 Advanced Server. Actually, a virtual instance of RHEL3 running under VMware Server. Granted, it's an older version of RHEL, but since this was a development/test platform, our company had some install disks laying around and I decided to take the path of least resistance. The install guide for 10G on RHEL3 is here:
Oracle® Database Installation Guide, 10g Release 2 (10.2) for Linux x86
http://download-east.oracle.com/docs/cd/B19306_01/install.102/b15660/install_overview.htm
OK. So nothing is ever "quick" about an Oracle installation. Maybe I should have said "install synopsis" or something similar. But the point is that the instructions below are not a substitute for the full documentation above, but serve to remind me of what I did to get Oracle up and running. So here is the list of high-level steps and quick diagnostics for folks doing the same:
1) Prepping the operating system
- install RHEL3
- include compatibility libraries and GCC
- create oracle user
- create oinstall and dba groups
2) The oracle installation
- during the install, SYS/SYSTEM/DMSNMP/SYSMAN will get the same password by default
- to configure Enterprise Manager, execute dbca at the command line
3) OS tweaks
- as root, set ORACLE_HOME and ORACLE_SID environment variables
- as oracle, set ORACLE_BASE, ORACLE_HOME, ORACLE_SID environment variables
- as oracle, add ORACLE_HOME/bin to PATH
- set NLS_LANG environment variable
4) configure Oracle net svcs
- Modify the listener.ora file. Here is a sample:
LISTENER =
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = TCP)
(HOST = oracletest.test.com)
(PORT = 1521) (QUEUESIZE =32)
)
)
- Modify the tnsnames.ora file. Here is a sample:
TEST.WORLD =
(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = TCP)(HOST = oracletest)(PORT = 1521))
)
(CONNECT_DATA =
(SID = test)
(SERVER = DEDICATED)
)
)
5) Start the db
In SQL*Plus, as follows:
[oracle@oracletest oracle]$ sqlplus "/ AS SYSDBA"
Start the database:
SQL> STARTUP
Command to shutdown the database:
SQL> SHUTDOWN IMMEDIATE
6) start the listener
[oracle@oracletest oracle]$ lsnrctl start
LSNRCTL for Linux: Version 10.2.0.1.0 - Production on 26-APR-2007 15:43:39
Copyright (c) 1991, 2005, Oracle. All rights reserved.
Starting /oracle/bin/tnslsnr: please wait...
TNSLSNR for Linux: Version 10.2.0.1.0 - Production
System parameter file is /oracle/network/admin/listener.ora
Log messages written to /oracle/network/log/listener.log
Listening on: (DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=oracletest.test.com)(PORT=1521)))
Connecting to (ADDRESS=(PROTOCOL=TCP)(HOST=oracletest.test.com)(PORT=1521)(QUEUESIZE=32))
STATUS of the LISTENER
------------------------
Alias LISTENER
Version TNSLSNR for Linux: Version 10.2.0.1.0 - Production
Start Date 26-APR-2007 15:43:39
Uptime 0 days 0 hr. 0 min. 0 sec
Trace Level off
Security ON: Local OS Authentication
SNMP OFF
Listener Parameter File /oracle/network/admin/listener.ora
Listener Log File /oracle/network/log/listener.log
Listening Endpoints Summary... (DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=oracletest.test.com)(PORT=1521)))
The listener supports no services
The command completed successfully
You can also use "status" or "stop" as arguments to the lsnrctl command:
lsnrctl [stop,start,status]
7) Starting the web based 10G Enterprise Manager database control
If you want to use the web based 10G Enterprise Manager database control, start it up:
[oracle@oracletest oracle]$ emctl start dbconsole
TZ set to US/Eastern
Oracle Enterprise Manager 10g Database Control Release 10.2.0.1.0
Copyright (c) 1996, 2005 Oracle Corporation. All rights reserved.
http://oracletest.test.com:1158/em/console/aboutApplication
Starting Oracle Enterprise Manager 10g Database Control .............. started.
------------------------------------------------------------------
Logs are generated in directory /oracle/oracletest.test.com_test/sysman/log
Login to the web based console: http://host:port/em
You may get a timezone mismatch. If so, check this out:
http://cacasodo.blogspot.com/2007/04/timezone-mismatch-agenttzregion-does.html
Verifying the database from a client
1) Verify the database listener is up and running
C:\WINDOWS>tnsping test
TNS Ping Utility for 32-bit Windows: Version 9.2.0.7.0 - Production on 23-APR-2007 11:54:19
Copyright (c) 1997 Oracle Corporation. All rights reserved.
Used parameter files:
C:\oracle9i\network\admin\sqlnet.ora
Used TNSNAMES adapter to resolve the alias
Attempting to contact (DESCRIPTION = (ADDRESS_LIST = (ADDRESS = (PROTOCOL = TCP)(HOST = oracletest)(PORT = 1521))) (CONNECT_DATA = (SID = test) (SERVER = DEDICATED)))
OK (30 msec)
2) connection errors
a. You may get this error if you do not have a proper tnsnames entry for your database:
C:\WINDOWS>sqlplus web/web@test
SQL*Plus: Release 9.2.0.7.0 - Production on Mon Apr 23 11:53:43 2007
Copyright (c) 1982, 2002, Oracle Corporation. All rights reserved.
ERROR:ORA-12505: TNS:listener could not resolve SID given in connect descriptor
Enter user-name: ^C
b. You may get this error if you are using the wrong user or password to connect to the database:
C:\WINDOWS>sqlplus web/web@test
SQL*Plus: Release 9.2.0.7.0 - Production on Mon Apr 23 11:54:32 2007
Copyright (c) 1982, 2002, Oracle Corporation. All rights reserved.
ERROR:ORA-01017: invalid username/password; logon denied
Enter user-name: ^C
3) Successful connection.
If all is well, select SYSDATE from the DUAL table just to verify you can get data
C:\WINDOWS>sqlplus web/web@test
SQL*Plus: Release 9.2.0.7.0 - Production on Mon Apr 23 11:55:12 2007
Copyright (c) 1982, 2002, Oracle Corporation. All rights reserved.
Connected to:Oracle Database 10g Enterprise Edition Release 10.2.0.1.0 - ProductionWith the Partitioning, OLAP and Data Mining options
SQL> select sysdate from dual;
SYSDATE
---------------
26-APR-07
SQL> quit
Disconnected from Oracle Database 10g Enterprise Edition Release 10.2.0.1.0 - ProductionWith the Partitioning, OLAP and Data Mining options
Other helpful commands
Finding your SID
First, check your environment settings..
[oracle@test]$ set grep SID
ORACLE_SID=test
Then login to oracle:
sqlplus sys as sysdba
SELECT instance_name
FROM v$instance;
Make sure your listener is up!
[oracle@test oracle]$ lsnrctl status
LSNRCTL for Linux: Version 10.2.0.1.0 - Production on 26-OCT-2010 23:25:17
Copyright (c) 1991, 2005, Oracle. All rights reserved.
Connecting to (ADDRESS=(PROTOCOL=TCP)(HOST=test.test.com)(PORT=1521)(QUEUESIZE=32))
STATUS of the LISTENER
------------------------
Alias LISTENER
Version TNSLSNR for Linux: Version 10.2.0.1.0 - Production
Start Date 26-OCT-2010 23:15:19
Uptime 0 days 0 hr. 9 min. 58 sec
Trace Level off
Security ON: Local OS Authentication
SNMP OFF
Listener Parameter File /oracle/network/admin/listener.ora
Listener Log File /oracle/network/log/listener.log
Listening Endpoints Summary...
(DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=test.test.com)(PORT=1521)))
Services Summary...
Service "test" has 1 instance(s).
Instance "test", status READY, has 1 handler(s) for this service...
Service "testXDB" has 1 instance(s).
Instance "test", status READY, has 1 handler(s) for this service...
Service "test_XPT" has 1 instance(s).
Instance "test", status READY, has 1 handler(s) for this service...
The command completed successfully
Good luck!
TAG
References
http://forums.oracle.com/forums/thread.jspa?threadID=260359&tstart=60 http://forums.oracle.com/forums/thread.jspa?threadID=917370
Changing Oracle Enterprise Manager port numbers
Oracle Insert statements
Get list of constraints
Oracle® Database Installation Guide, 10g Release 2 (10.2) for Linux x86
http://download-east.oracle.com/docs/cd/B19306_01/install.102/b15660/install_overview.htm
OK. So nothing is ever "quick" about an Oracle installation. Maybe I should have said "install synopsis" or something similar. But the point is that the instructions below are not a substitute for the full documentation above, but serve to remind me of what I did to get Oracle up and running. So here is the list of high-level steps and quick diagnostics for folks doing the same:
1) Prepping the operating system
- install RHEL3
- include compatibility libraries and GCC
- create oracle user
- create oinstall and dba groups
2) The oracle installation
- during the install, SYS/SYSTEM/DMSNMP/SYSMAN will get the same password by default
- to configure Enterprise Manager, execute dbca at the command line
3) OS tweaks
- as root, set ORACLE_HOME and ORACLE_SID environment variables
- as oracle, set ORACLE_BASE, ORACLE_HOME, ORACLE_SID environment variables
- as oracle, add ORACLE_HOME/bin to PATH
- set NLS_LANG environment variable
4) configure Oracle net svcs
- Modify the listener.ora file. Here is a sample:
LISTENER =
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = TCP)
(HOST = oracletest.test.com)
(PORT = 1521) (QUEUESIZE =32)
)
)
- Modify the tnsnames.ora file. Here is a sample:
TEST.WORLD =
(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = TCP)(HOST = oracletest)(PORT = 1521))
)
(CONNECT_DATA =
(SID = test)
(SERVER = DEDICATED)
)
)
5) Start the db
In SQL*Plus, as follows:
[oracle@oracletest oracle]$ sqlplus "/ AS SYSDBA"
Start the database:
SQL> STARTUP
Command to shutdown the database:
SQL> SHUTDOWN IMMEDIATE
6) start the listener
[oracle@oracletest oracle]$ lsnrctl start
LSNRCTL for Linux: Version 10.2.0.1.0 - Production on 26-APR-2007 15:43:39
Copyright (c) 1991, 2005, Oracle. All rights reserved.
Starting /oracle/bin/tnslsnr: please wait...
TNSLSNR for Linux: Version 10.2.0.1.0 - Production
System parameter file is /oracle/network/admin/listener.ora
Log messages written to /oracle/network/log/listener.log
Listening on: (DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=oracletest.test.com)(PORT=1521)))
Connecting to (ADDRESS=(PROTOCOL=TCP)(HOST=oracletest.test.com)(PORT=1521)(QUEUESIZE=32))
STATUS of the LISTENER
------------------------
Alias LISTENER
Version TNSLSNR for Linux: Version 10.2.0.1.0 - Production
Start Date 26-APR-2007 15:43:39
Uptime 0 days 0 hr. 0 min. 0 sec
Trace Level off
Security ON: Local OS Authentication
SNMP OFF
Listener Parameter File /oracle/network/admin/listener.ora
Listener Log File /oracle/network/log/listener.log
Listening Endpoints Summary... (DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=oracletest.test.com)(PORT=1521)))
The listener supports no services
The command completed successfully
You can also use "status" or "stop" as arguments to the lsnrctl command:
lsnrctl [stop,start,status]
7) Starting the web based 10G Enterprise Manager database control
If you want to use the web based 10G Enterprise Manager database control, start it up:
[oracle@oracletest oracle]$ emctl start dbconsole
TZ set to US/Eastern
Oracle Enterprise Manager 10g Database Control Release 10.2.0.1.0
Copyright (c) 1996, 2005 Oracle Corporation. All rights reserved.
http://oracletest.test.com:1158/em/console/aboutApplication
Starting Oracle Enterprise Manager 10g Database Control .............. started.
------------------------------------------------------------------
Logs are generated in directory /oracle/oracletest.test.com_test/sysman/log
Login to the web based console: http://host:port/em
You may get a timezone mismatch. If so, check this out:
http://cacasodo.blogspot.com/2007/04/timezone-mismatch-agenttzregion-does.html
Verifying the database from a client
1) Verify the database listener is up and running
C:\WINDOWS>tnsping test
TNS Ping Utility for 32-bit Windows: Version 9.2.0.7.0 - Production on 23-APR-2007 11:54:19
Copyright (c) 1997 Oracle Corporation. All rights reserved.
Used parameter files:
C:\oracle9i\network\admin\sqlnet.ora
Used TNSNAMES adapter to resolve the alias
Attempting to contact (DESCRIPTION = (ADDRESS_LIST = (ADDRESS = (PROTOCOL = TCP)(HOST = oracletest)(PORT = 1521))) (CONNECT_DATA = (SID = test) (SERVER = DEDICATED)))
OK (30 msec)
2) connection errors
a. You may get this error if you do not have a proper tnsnames entry for your database:
C:\WINDOWS>sqlplus web/web@test
SQL*Plus: Release 9.2.0.7.0 - Production on Mon Apr 23 11:53:43 2007
Copyright (c) 1982, 2002, Oracle Corporation. All rights reserved.
ERROR:ORA-12505: TNS:listener could not resolve SID given in connect descriptor
Enter user-name: ^C
b. You may get this error if you are using the wrong user or password to connect to the database:
C:\WINDOWS>sqlplus web/web@test
SQL*Plus: Release 9.2.0.7.0 - Production on Mon Apr 23 11:54:32 2007
Copyright (c) 1982, 2002, Oracle Corporation. All rights reserved.
ERROR:ORA-01017: invalid username/password; logon denied
Enter user-name: ^C
3) Successful connection.
If all is well, select SYSDATE from the DUAL table just to verify you can get data
C:\WINDOWS>sqlplus web/web@test
SQL*Plus: Release 9.2.0.7.0 - Production on Mon Apr 23 11:55:12 2007
Copyright (c) 1982, 2002, Oracle Corporation. All rights reserved.
Connected to:Oracle Database 10g Enterprise Edition Release 10.2.0.1.0 - ProductionWith the Partitioning, OLAP and Data Mining options
SQL> select sysdate from dual;
SYSDATE
---------------
26-APR-07
SQL> quit
Disconnected from Oracle Database 10g Enterprise Edition Release 10.2.0.1.0 - ProductionWith the Partitioning, OLAP and Data Mining options
Other helpful commands
Finding your SID
First, check your environment settings..
[oracle@test]$ set grep SID
ORACLE_SID=test
Then login to oracle:
sqlplus sys as sysdba
SELECT instance_name
FROM v$instance;
Make sure your listener is up!
[oracle@test oracle]$ lsnrctl status
LSNRCTL for Linux: Version 10.2.0.1.0 - Production on 26-OCT-2010 23:25:17
Copyright (c) 1991, 2005, Oracle. All rights reserved.
Connecting to (ADDRESS=(PROTOCOL=TCP)(HOST=test.test.com)(PORT=1521)(QUEUESIZE=32))
STATUS of the LISTENER
------------------------
Alias LISTENER
Version TNSLSNR for Linux: Version 10.2.0.1.0 - Production
Start Date 26-OCT-2010 23:15:19
Uptime 0 days 0 hr. 9 min. 58 sec
Trace Level off
Security ON: Local OS Authentication
SNMP OFF
Listener Parameter File /oracle/network/admin/listener.ora
Listener Log File /oracle/network/log/listener.log
Listening Endpoints Summary...
(DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=test.test.com)(PORT=1521)))
Services Summary...
Service "test" has 1 instance(s).
Instance "test", status READY, has 1 handler(s) for this service...
Service "testXDB" has 1 instance(s).
Instance "test", status READY, has 1 handler(s) for this service...
Service "test_XPT" has 1 instance(s).
Instance "test", status READY, has 1 handler(s) for this service...
The command completed successfully
Good luck!
TAG
References
http://forums.oracle.com/forums/thread.jspa?threadID=260359&tstart=60 http://forums.oracle.com/forums/thread.jspa?threadID=917370
Changing Oracle Enterprise Manager port numbers
Oracle Insert statements
Get list of constraints
Tuesday, April 24, 2007
Timezone mismatch agentTZRegion does not match the current environment TZ setting
To get Oracle's sweet Enterprise Manager Database Control web gui running, you'll need to use the Enterprise Manager control to start it. Use the following command:
emctl start dbconsole
The web gui runs on port 1158. For some reason, though my TZ environment variable matched what was in the emd.properties file, I got the following error:
[oracle@oracletest oracle]$ emctl start dbconsole
Oracle Enterprise Manager 10g Database Control Release 10.2.0.1.0
Copyright (c) 1996, 2005 Oracle Corporation. All rights reserved.
http://oracletest.test.com:1158/em/console/aboutApplication
Timezone mismatch: The agentTZRegion value (EST) in
/oracle/oracletest.test.com_test/sysman/config/emd.properties
does not match the current environment TZ setting(EST).
The dbconsole cannot run with this mismatch.
If EST is the correct timezone, set your timezone environment variable to EST and repeat the 'emctl start dbconsole' operation.
If EST is not the correct timezone, make sure that the timezone in your environment is correct, and then run the following command in your local Oracle Home: 'emctl resetTZ agent'
The output of this command will include detailed instructions to follow, to correct the mismatch.
If I echo out my timezone, I see that it is set to EST:
[oracle@oracletest oracle]$ echo $TZ
EST
Then, I looked in the emd.properties file and saw that the agentTZRegion is set to the same:
[oracle@oracletest oracle]$ grep Z /oracle/oracletest.test.com_test/sysman/config/emd.properties
agentTZRegion=EST
What the heck? After a bit of googling, I saw someone simply unset the TZ environment variable and the dbconsole started up. So I did the same:
[oracle@oracletest oracle]$ unset TZ
[oracle@oracletest oracle]$ echo $TZ
This seemed to work for me as the dbconsole started and port 1158 was up and listening!
[oracle@oracletest oracle]$ emctl start dbconsole TZ set to US/Eastern
Oracle Enterprise Manager 10g Database Control Release 10.2.0.1.0
Copyright (c) 1996, 2005 Oracle Corporation. All rights reserved.
http://oracletest.test.com:1158/em/console/aboutApplication
Starting Oracle Enterprise Manager 10g Database Control .............. started.
------------------------------------------------------------------
Logs are generated in directory /oracle/oracletest.test.com_test/sysman/log
[oracle@oracletest oracle]$
[root@oracletest oracle]# netstat -na grep 1158
tcp 0 0 0.0.0.0:1158 0.0.0.0:* LISTEN
Ah well..all's well that ends well!
emctl start dbconsole
The web gui runs on port 1158. For some reason, though my TZ environment variable matched what was in the emd.properties file, I got the following error:
[oracle@oracletest oracle]$ emctl start dbconsole
Oracle Enterprise Manager 10g Database Control Release 10.2.0.1.0
Copyright (c) 1996, 2005 Oracle Corporation. All rights reserved.
http://oracletest.test.com:1158/em/console/aboutApplication
Timezone mismatch: The agentTZRegion value (EST) in
/oracle/oracletest.test.com_test/sysman/config/emd.properties
does not match the current environment TZ setting(EST).
The dbconsole cannot run with this mismatch.
If EST is the correct timezone, set your timezone environment variable to EST and repeat the 'emctl start dbconsole' operation.
If EST is not the correct timezone, make sure that the timezone in your environment is correct, and then run the following command in your local Oracle Home: 'emctl resetTZ agent'
The output of this command will include detailed instructions to follow, to correct the mismatch.
If I echo out my timezone, I see that it is set to EST:
[oracle@oracletest oracle]$ echo $TZ
EST
Then, I looked in the emd.properties file and saw that the agentTZRegion is set to the same:
[oracle@oracletest oracle]$ grep Z /oracle/oracletest.test.com_test/sysman/config/emd.properties
agentTZRegion=EST
What the heck? After a bit of googling, I saw someone simply unset the TZ environment variable and the dbconsole started up. So I did the same:
[oracle@oracletest oracle]$ unset TZ
[oracle@oracletest oracle]$ echo $TZ
This seemed to work for me as the dbconsole started and port 1158 was up and listening!
[oracle@oracletest oracle]$ emctl start dbconsole TZ set to US/Eastern
Oracle Enterprise Manager 10g Database Control Release 10.2.0.1.0
Copyright (c) 1996, 2005 Oracle Corporation. All rights reserved.
http://oracletest.test.com:1158/em/console/aboutApplication
Starting Oracle Enterprise Manager 10g Database Control .............. started.
------------------------------------------------------------------
Logs are generated in directory /oracle/oracletest.test.com_test/sysman/log
[oracle@oracletest oracle]$
[root@oracletest oracle]# netstat -na grep 1158
tcp 0 0 0.0.0.0:1158 0.0.0.0:* LISTEN
Ah well..all's well that ends well!
Labels:
dbconsole,
emctl,
oracle enterprise manager,
timezone
Sunday, April 22, 2007
right-mouse click for XP/Vista on MacBook / Remote Desktop for Mac
As I run both XP, Vista
and Fedora in VMware Fusion on my MacBook Pro 17", I was struggling with the fact that since the MacBook only has one button below the trackpad, I did not have access to a right mouse button to get the contextual help and properties menus in XP and Fedora.
Well, if I had looked longer and harder in the System Preferences -> Keyboard and Mouse -> Trackpad properties of my MacBook, I would have found an obscure option called "Place two fingers on trackpad and click button for secondary click."

This option is an advanced finger technique applied to the trackpad. To enable your context-sensitive right-mouse click, just stick two fingers on the trackpad and click an object in XP or Fedora. Voila! You should see your right-mouse option menu appear! Sweet!

Enabling this option allowed me to do everything I needed to do in XP and Fedora, as well as in Remote Desktop Connection (RDC) for Mac:
http://www.microsoft.com/mac/otherproducts/otherproducts.aspx?pid=remotedesktopclient
Nice!
One caveat, though, is that apparently, this option is not available in MacBook 15" models. I don't know why this is, but if I have time, I will find out.
Finally, I learned about three additional key combinations while editing this post. First was using Function (fn) key in combination with the directional keys in the lower right corner of my MacBooks' keyboard. The Function (fn) key is in the lower left hand corner of the corner. The directional keys on the opposite site of the keyboard are PageUp PageDown, Home and End.
Secondly, Fn-delete works as a normal delete key within a Windows session when using Mac RDC. Finally, press the Mac delete key alone to function as a backspace in a Windows RDC session.
Both of these keystrokes are very useful and available cross-platform when you use the freely available Remote Desktop Connection from Microsoft.
7/30/07 Update: I put a more definitive list of keyboard shortcuts and key symbol names here for your enjoyment:
/2007/07/macbook-pro-keyboard-shorcuts-and.html
Here is the most awesome list of key bindings for the mac:
http://support.apple.com/kb/HT1343
cheers!
'sodo
Well, if I had looked longer and harder in the System Preferences -> Keyboard and Mouse -> Trackpad properties of my MacBook, I would have found an obscure option called "Place two fingers on trackpad and click button for secondary click."

This option is an advanced finger technique applied to the trackpad. To enable your context-sensitive right-mouse click, just stick two fingers on the trackpad and click an object in XP or Fedora. Voila! You should see your right-mouse option menu appear! Sweet!

Enabling this option allowed me to do everything I needed to do in XP and Fedora, as well as in Remote Desktop Connection (RDC) for Mac:
http://www.microsoft.com/mac/otherproducts/otherproducts.aspx?pid=remotedesktopclient
Nice!
One caveat, though, is that apparently, this option is not available in MacBook 15" models. I don't know why this is, but if I have time, I will find out.
Finally, I learned about three additional key combinations while editing this post. First was using Function (fn) key in combination with the directional keys in the lower right corner of my MacBooks' keyboard. The Function (fn) key is in the lower left hand corner of the corner. The directional keys on the opposite site of the keyboard are PageUp PageDown, Home and End.
Secondly, Fn-delete works as a normal delete key within a Windows session when using Mac RDC. Finally, press the Mac delete key alone to function as a backspace in a Windows RDC session.
Both of these keystrokes are very useful and available cross-platform when you use the freely available Remote Desktop Connection from Microsoft.
7/30/07 Update: I put a more definitive list of keyboard shortcuts and key symbol names here for your enjoyment:
/2007/07/macbook-pro-keyboard-shorcuts-and.html
Here is the most awesome list of key bindings for the mac:
http://support.apple.com/kb/HT1343
cheers!
'sodo
Labels:
key combinations,
macbook pro,
mouse,
preferences,
properties,
rdp,
remote desktop,
xp
Friday, April 20, 2007
macbook pro airport seems to need SSID broadcast
After spending an hour of troubleshooting, I found that my new MacBook Pro 2.33Ghz Intel Core 2 Duo needs SSID broadcast enabled for it to connect to my NetGear WGT624. I have not confirmed that with the Apple documentation yet, but an hour of troubleshooting and experimentation shows that the MacBook will not connect to my wireless router without the router broadcasting the SSID.
Speaking of which, here is a short list of things with which to verify your wireless connection. Hope they are helpful:
On the Router:
1) make sure SSID Broadcast is enabled :)
2) verify the wireless mode (g&b, g only, b only, 108Mbps only, Auto 108Mbps)
3) verify what security you are using (none, WEP or WiFi Protected Access Pre-Shared Key (WPA-PSK))
4) verify any advanced 108Mbps or extended range features are enabled or disabled
On the attaching computer:
1) verify that the wireless network name you are connecting to is the same as your router is broadcasting
2) verify that the type of wireless security (none, WEP, WPA, LEAP, 802.1X WEP) matches what is being used by your wireless router
3) verify that your WPA passphrase or WEP key is correctly entered as Hex or ASCII
- Hex will allow a longer, more difficult to remember password
- ASCII will give you the english language translation of the Hex password, usually shorter
4) for WEP, verify the Authentication Type (auto, open system, shared key) and the encryption strength
good luck!
Speaking of which, here is a short list of things with which to verify your wireless connection. Hope they are helpful:
On the Router:
1) make sure SSID Broadcast is enabled :)
2) verify the wireless mode (g&b, g only, b only, 108Mbps only, Auto 108Mbps)
3) verify what security you are using (none, WEP or WiFi Protected Access Pre-Shared Key (WPA-PSK))
4) verify any advanced 108Mbps or extended range features are enabled or disabled
On the attaching computer:
1) verify that the wireless network name you are connecting to is the same as your router is broadcasting
2) verify that the type of wireless security (none, WEP, WPA, LEAP, 802.1X WEP) matches what is being used by your wireless router
3) verify that your WPA passphrase or WEP key is correctly entered as Hex or ASCII
- Hex will allow a longer, more difficult to remember password
- ASCII will give you the english language translation of the Hex password, usually shorter
4) for WEP, verify the Authentication Type (auto, open system, shared key) and the encryption strength
good luck!
Labels:
macbook pro,
netgear wgt624,
ssid,
ssid broadcast,
wireless
Tuesday, April 17, 2007
lefty mouse mess in Fedora under VM on Mac
OK. So here's a little humorous incident that happened to me while I was getting the Fedora virtual machine to run under the Mac.
The Fedora VM that I imported to my MacBook Pro was originally created on my PC. On my PC, I occasionally swap the left and the right mouse buttons, depending upon the amount of carpal tunnel I am experiencing in either hand. At the time I built out the Fedora virtual machine, Fedora was configured to use a left-handed mouse. When I moved the VM over to my MacBook Pro and started it up, I saw that when I clicked the mouse button, the alternative/properties menus appeared as if I had clicked the right mouse button in a left-handed mouse configuration! Yarg! Navigating the menus proved frustrating this way, because clicking on the menus just gave me the few dumb right-mouse-click options:
Help
Edit
Remove From Panel
Lock to Panel
Also, in my ignorance, I didn't know the correct key combinations to get to the menus. I poked around on google a bit on which Core 6 system file on controlled the left/right mouse selection and found some reference to /etc/sysconfig/mouse. This file didn't exist on my system. Next, /etc/X11/xorg.conf could have had some mouse configuration commands, but alas, my xorg.conf was clean of any mouse controls.
What was an idiot to do?
Well, when you don't know what you're doing, redo the setup! So, I re-ran "setup" and changed the Xconfiguration in a terminal window.
Lame? Of course! But sometimes you just get tired of researching ALL the time.
Mental note: for next time, find out the key combination to get to the menus in Fedora Core 6. Life will be SO much easier that way.
The Fedora VM that I imported to my MacBook Pro was originally created on my PC. On my PC, I occasionally swap the left and the right mouse buttons, depending upon the amount of carpal tunnel I am experiencing in either hand. At the time I built out the Fedora virtual machine, Fedora was configured to use a left-handed mouse. When I moved the VM over to my MacBook Pro and started it up, I saw that when I clicked the mouse button, the alternative/properties menus appeared as if I had clicked the right mouse button in a left-handed mouse configuration! Yarg! Navigating the menus proved frustrating this way, because clicking on the menus just gave me the few dumb right-mouse-click options:
Help
Edit
Remove From Panel
Lock to Panel
Also, in my ignorance, I didn't know the correct key combinations to get to the menus. I poked around on google a bit on which Core 6 system file on controlled the left/right mouse selection and found some reference to /etc/sysconfig/mouse. This file didn't exist on my system. Next, /etc/X11/xorg.conf could have had some mouse configuration commands, but alas, my xorg.conf was clean of any mouse controls.
What was an idiot to do?
Well, when you don't know what you're doing, redo the setup! So, I re-ran "setup" and changed the Xconfiguration in a terminal window.
Lame? Of course! But sometimes you just get tired of researching ALL the time.
Mental note: for next time, find out the key combination to get to the menus in Fedora Core 6. Life will be SO much easier that way.
Monday, April 16, 2007
Fedora Core 6 in Parallels on a MacBook Pro blowup
I've been away at Web2.0 in San Francisco, but I thought I'd drop a quick entry regarding my experience with Parallels Desktop for Mac (Intel Mac) and my new MacBook Pro. In order to run Cinelerra, I installed Parallels on my brand spanking new MacBook Pro and wouldn't you know it, I got this lovely message when the new install of Core 6 booted up:
(0)Kernel panic - not syncing: Attempted to kill init!
I briefly googled that message, but you know, when you just need to get something working and are tired of doing the research, fall back on the tried and true. In that vein, I found that VMware's Fusion product was available in beta for the Mac. Oooh. Beta..that might not be so good. But since I already had a Fedora Core 6 installation that had everything I needed already running in VMware Server, I thought I'd give it a try. Here's the URL for the beta download..you'll have to register first:
http://register.vmware.com/content/beta/fusion/registration.html
Once I downloaded and installed fusion, I needed to bring over my 8GB Core 6 virtual machine from my PC. I zipped up the entire VM directory and found that zip very kindly reduced the size of the VMDK file from 8GB to 2.8GB. Cool! As I copied the zip over the network, I noticed it was taking a very, very long time. So I stopped the transfer, unplugged my network connections from my PC and Mac and wired them together with a crossover cable. Wired in this way, I increased my download speed from 500Kbps to 5400Kbps! Sweet!
Once the zip file had copied to the Mac, I unzipped it to my home directory and then created a new virtual machine from my pre-existing VM.
This process was a bit confusing at first. But what you need to do to utilize an existing VMware virtual machine is to select "Use an Existing virtual disk" under the Advanced Disk Options on the Virtual Hard Disk step of the create new virtual machine process:


Once I figured that little tricky bit out, I was good to go! I clicked Start on my newly created virtual machine et Voila! She came up! I turned off debugging as this seemed to slow things down a bit and made sure to install VMware tools for better mouse and graphic behavior.
Long live VMware!
(0)Kernel panic - not syncing: Attempted to kill init!
I briefly googled that message, but you know, when you just need to get something working and are tired of doing the research, fall back on the tried and true. In that vein, I found that VMware's Fusion product was available in beta for the Mac. Oooh. Beta..that might not be so good. But since I already had a Fedora Core 6 installation that had everything I needed already running in VMware Server, I thought I'd give it a try. Here's the URL for the beta download..you'll have to register first:
http://register.vmware.com/content/beta/fusion/registration.html
Once I downloaded and installed fusion, I needed to bring over my 8GB Core 6 virtual machine from my PC. I zipped up the entire VM directory and found that zip very kindly reduced the size of the VMDK file from 8GB to 2.8GB. Cool! As I copied the zip over the network, I noticed it was taking a very, very long time. So I stopped the transfer, unplugged my network connections from my PC and Mac and wired them together with a crossover cable. Wired in this way, I increased my download speed from 500Kbps to 5400Kbps! Sweet!
Once the zip file had copied to the Mac, I unzipped it to my home directory and then created a new virtual machine from my pre-existing VM.
This process was a bit confusing at first. But what you need to do to utilize an existing VMware virtual machine is to select "Use an Existing virtual disk" under the Advanced Disk Options on the Virtual Hard Disk step of the create new virtual machine process:


Once I figured that little tricky bit out, I was good to go! I clicked Start on my newly created virtual machine et Voila! She came up! I turned off debugging as this seemed to slow things down a bit and made sure to install VMware tools for better mouse and graphic behavior.
Long live VMware!
Labels:
core,
fedora,
macbook pro,
parallels,
vmware,
vmware fusion
Monday, April 02, 2007
VMware Converter experience
As I undersized my Red Hat Enterprise Linux 3 virtual machine, I needed to expand the / (root) partition for an Oracle 10G install. Normally, I would have used VMware vdiskmanager to do the resize, but I thought I'd give VMware Converter a try. 4sysops.com has a great introduction to VMware Converter 3.0 here:
http://4sysops.com/archives/resize-a-virtual-disk-with-vmware-converter/
I installed the software and followed along the same path as the 4Sysops. However, when I got to the point to resizing any of my Linux partitions (two ext3/one swap), I was confronted with the following dialog box that read:
"Warning: Cannot configure the source image"
That first error did not stop my progress and I was able to choose "Select volumes and resize to save or add space". However, when I chose that option, the New Disk Space drop down was grayed out and I was unable to resize any of my Linux partitions. After a bit of Googling, I found a number of articles:
http://www.google.com/search?hl=en&q=vmware+converter+%22cannot+configure+the+source+image%22
A number of the sites pointed out that the VMware converter does have problems with resizing linux partitions. That's fine, but what about a solution? This was found on the mojocode.com site:
http://www.mojocode.com/
They resolved the issue by resizing the virtual machine by using vdiskmanager. I tried their suggestion and expanded the virtual machine to 40GB by using the following command:
C:\Virtual Machines\Red Hat Enterprise Linux 3>"\Program Files\VMware\VMware Server\vmware-vdiskmanager.exe" -x 40gb "Red Hat Enterprise Linux 3.vmdk"
Using log file C:\DOCUME~1\USER\LOCALS~1\Temp\vmware-user-3279696342\vdiskmanager.log Grow: 100% done.
The old geometry C/H/S of the disk is: 1044/255/63
The new geometry C/H/S of the disk is: 5221/255/63
Disk expansion completed successfully.
WARNING: If the virtual disk is partitioned, you must use a third-party utility in the virtual machine to expand the size of the partitions. For more information, see: http://www.vmware.com/support/kb/enduser/std_adp.php?p_faqid=1647
Luckily, this resize worked. After the resizing, I successfully booted the virtual machine and saw via fdisk that indeed, I had about 32GB extra space, so I created a new ext3 partition:
[root@oracletest root]# fdisk /dev/sda
Command (m for help): Command (m for help): p
Disk /dev/sda: 42.9 GB, 42949672960 bytes255 heads, 63 sectors/track, 5221 cylindersUnits = cylinders of 16065 * 512 = 8225280 bytes
Device Boot Start End Blocks Id System/dev/sda1 * 1 13 104391 83 Linux/dev/sda2
14 790 6241252+ 83 Linux/dev/sda3
791 1044 2040255 82 Linux swap/dev/sda4
1045 5221 33551752+ 83 Linux
After the creation, I rebooted. I then formatted the disk properly with the following command:
mkfs.ext3 -b 4096 /dev/sda4
Hot dog! I've got plenty of space for my Oracle 10G install!
vdiskmanager , 4sysops and google save the day!
UPDATE: If you're interested, I've recently done a physical to virtual conversion of a Win2K box here:
2007/06/converting-physical-server-using-vmware.html
http://4sysops.com/archives/resize-a-virtual-disk-with-vmware-converter/
I installed the software and followed along the same path as the 4Sysops. However, when I got to the point to resizing any of my Linux partitions (two ext3/one swap), I was confronted with the following dialog box that read:
"Warning: Cannot configure the source image"
That first error did not stop my progress and I was able to choose "Select volumes and resize to save or add space". However, when I chose that option, the New Disk Space drop down was grayed out and I was unable to resize any of my Linux partitions. After a bit of Googling, I found a number of articles:
http://www.google.com/search?hl=en&q=vmware+converter+%22cannot+configure+the+source+image%22
A number of the sites pointed out that the VMware converter does have problems with resizing linux partitions. That's fine, but what about a solution? This was found on the mojocode.com site:
http://www.mojocode.com/
They resolved the issue by resizing the virtual machine by using vdiskmanager. I tried their suggestion and expanded the virtual machine to 40GB by using the following command:
C:\Virtual Machines\Red Hat Enterprise Linux 3>"\Program Files\VMware\VMware Server\vmware-vdiskmanager.exe" -x 40gb "Red Hat Enterprise Linux 3.vmdk"
Using log file C:\DOCUME~1\USER\LOCALS~1\Temp\vmware-user-3279696342\vdiskmanager.log Grow: 100% done.
The old geometry C/H/S of the disk is: 1044/255/63
The new geometry C/H/S of the disk is: 5221/255/63
Disk expansion completed successfully.
WARNING: If the virtual disk is partitioned, you must use a third-party utility in the virtual machine to expand the size of the partitions. For more information, see: http://www.vmware.com/support/kb/enduser/std_adp.php?p_faqid=1647
Luckily, this resize worked. After the resizing, I successfully booted the virtual machine and saw via fdisk that indeed, I had about 32GB extra space, so I created a new ext3 partition:
[root@oracletest root]# fdisk /dev/sda
Command (m for help): Command (m for help): p
Disk /dev/sda: 42.9 GB, 42949672960 bytes255 heads, 63 sectors/track, 5221 cylindersUnits = cylinders of 16065 * 512 = 8225280 bytes
Device Boot Start End Blocks Id System/dev/sda1 * 1 13 104391 83 Linux/dev/sda2
14 790 6241252+ 83 Linux/dev/sda3
791 1044 2040255 82 Linux swap/dev/sda4
1045 5221 33551752+ 83 Linux
After the creation, I rebooted. I then formatted the disk properly with the following command:
mkfs.ext3 -b 4096 /dev/sda4
Hot dog! I've got plenty of space for my Oracle 10G install!
vdiskmanager , 4sysops and google save the day!
UPDATE: If you're interested, I've recently done a physical to virtual conversion of a Win2K box here:
2007/06/converting-physical-server-using-vmware.html
Thursday, March 29, 2007
subversion through a proxy
In order to use subversion (svn) behind my corporate firewall, I was able to edit the .subversion/servers file to point subversion at my locally running ntlmaps proxy. You may remember I mentioned ntlmaps as a proxy for yum late last year (http://cacasodo.blogspot.com/2006/09/yum-through-proxy.html).
Our shop is Microsoft-based, so I edited the following lines configured in the "~/.subversion/servers" file. The generic example is:
[global]
# http-proxy-exceptions = *.exception.com, www.internal-site.org
# http-proxy-host = defaultproxy.whatever.com
# http-proxy-port = 7000
# http-proxy-username = defaultusername
# http-proxy-password = defaultpassword
In my world, the first two lines point to the local ntlmaps proxy and the last two are used for user credentials:
http-proxy-host = localhost
http-proxy-port = 5865
http-proxy-username = (NT username)
http-proxy-password = (NT user password)
Neato!
Our shop is Microsoft-based, so I edited the following lines configured in the "~/.subversion/servers" file. The generic example is:
[global]
# http-proxy-exceptions = *.exception.com, www.internal-site.org
# http-proxy-host = defaultproxy.whatever.com
# http-proxy-port = 7000
# http-proxy-username = defaultusername
# http-proxy-password = defaultpassword
In my world, the first two lines point to the local ntlmaps proxy and the last two are used for user credentials:
http-proxy-host = localhost
http-proxy-port = 5865
http-proxy-username = (NT username)
http-proxy-password = (NT user password)
Neato!
Tuesday, March 27, 2007
the always tricky SMB mount syntax
I always forget, so here it is:
mount -t smbfs /// / -o username=/,password=
for example:
mount -t smbfs //server/E$ /mnt/test -o username=gagazote/mydomain,password=hackth1s
ah well..I'm not that bright anyway.
Update, 9/12/07:
Since the smbfs switch is being deprecated, probably a better way to do this in the future is to use the "-t cifs" switch described here:
/2007/09/mounting-windows-file-share-in-fedora.html
mount -t smbfs //
for example:
mount -t smbfs //server/E$ /mnt/test -o username=gagazote/mydomain,password=hackth1s
ah well..I'm not that bright anyway.
Update, 9/12/07:
Since the smbfs switch is being deprecated, probably a better way to do this in the future is to use the "-t cifs" switch described here:
/2007/09/mounting-windows-file-share-in-fedora.html
Saturday, March 17, 2007
client side imagemaps
The imagemaps on a couple of my sites were sorely out of date, so this article really helped out:
http://www.ihip.com/cside.html
http://www.ihip.com/cside.html
Friday, March 16, 2007
creating a transparent favicon.ico with Gimp
I'm always forgetting the steps to do this properly. Here you go:
1) open a favorite image that you'd like to turn into a favicon to appear in your browser's location bar
2) click Image->Mode->RGB
3) using the erase tool, erase any areas of the graphic that you'd like to be transparent
4) using Image->Scale, resize the image to 32x32, the proper size for a favicon
5) first save the file as a GIF
- Gimp will popup a dialog that says "GIF can only handle grayscale or indexed images"
6) select * Convert to Indexed using default settings
7) click Export
8) save a copy as.ico. It will give you a number of choices for bits/pixel:
1 bpp, 1 bit alpha, 2-slot palette
4 bpp, 1 bit alpha, 16-slot palette
8 bpp, 1 bit alpha, 256-slot palette
32 bpp, 8 bit alpha, no palette
Choose 4bpp. However, I have seen with some images that 8bpp needs to be used.
9) upload to your website and enjoy!
1) open a favorite image that you'd like to turn into a favicon to appear in your browser's location bar
2) click Image->Mode->RGB
3) using the erase tool, erase any areas of the graphic that you'd like to be transparent
4) using Image->Scale, resize the image to 32x32, the proper size for a favicon
5) first save the file as a GIF
- Gimp will popup a dialog that says "GIF can only handle grayscale or indexed images"
6) select * Convert to Indexed using default settings
7) click Export
8) save a copy as
1 bpp, 1 bit alpha, 2-slot palette
4 bpp, 1 bit alpha, 16-slot palette
8 bpp, 1 bit alpha, 256-slot palette
32 bpp, 8 bit alpha, no palette
Choose 4bpp. However, I have seen with some images that 8bpp needs to be used.
9) upload to your website and enjoy!
Sunday, March 04, 2007
ripping a dvd with acidrip
Intro article
Before you get started, here is an excellent introductory article on how to use acidrip:
http://www.linuxjournal.com/article/9124
Install
Here are the quick steps to the install. As my distro is fedora, you'll need to have the fedora and freshrpms repos in /etc/yum.repos.d. Also, the perl rpms and Gtk2/Glib perl programs listed are from http://untrepid.com/acidrip/
yum install gtk*
yum install lsdvd
rpm -ivh /root/Desktop/perl-ExtUtils-Depends-0.205-1.fc4.noarch.rpm
rpm -ivh /root/Desktop/perl-ExtUtils-PkgConfig-1.07-1.fc4.noarch.rpm
tar zxvf Gtk2-1.143.tar.gz
tar zxvf Glib-1.144.tar.gz
Ripping
You can burn to avi or mpg container format with a number of codec options. Taking the defaults for lavc or xvid codecs yielded a video with correct audio, but thick, green lines across the bottom half. Two-pass lavc ended up with the same green lines. The "copy" function worked without green lines, but the resultant avi file was too big (3.5GB). Outputting to MPG using lavc, xvid or two pass also shows green lines, but using "copy" yielded a smaller (2.5GB) file.
Playback
It is interesting to note that xine, mplayer and ffplay could not play the avi. However, ffmpeg was able to re-encode the avi file. The mpg was playable in all players, but all had stutter and lost audio sync if forward was pressed during playback.
Re-encoding
Since the filesize was huge, I decided to re-encode in order to fit on a standard CDROM. Re-encoding the mpeg using FFMPEG -target dvd outputted to a second, smaller mpeg was a disaster: the file did not play properly (mostly audio sync problems) in any Linux media players. Therefore, I am going to reencode the avi using FFMPEG. Rendering using FFMPEG to DVD is pretty bulletproof: a video rendered with FFMPEG plays in almost all my Linux media players; however, FFPLAY seg faults, which is strange as it is the companion player to FFMPEG.
Re-encoding using FFMPEG bitrate (-b) switch
I took the resulting file and used ffmpeg to shrink the size of the file by outputting it to a lower quality bitrate mpeg2. This was done by using ffmpeg's bitrate (-b) switch:
ffmpeg -i charade.avi -target dvd -b 3000 charade.mpg
This cut down the file size by about 33%.
I then lowered the bitrate further to 1500. The resulting file size was a little more than 1/3 the original and still looked decent. Finally, I lowered the bitrate to 750. The resulting file was about 1/4 the original size, but started to show compression artifacts. That was the limit on my tolerance for crappy looking video, so I stopped there.
Summary
bitrate: file size reduction
3000: 33%
1500: 65%
750: 75%
I will continue to experiment.
3/10/2007 update
Re-encoding using FFMPEG Qscale (-qscale) switch
I've experiment a bit more. Instead of using -b as a switch to ffmpeg, I used -qscale. Qscale is short for quality scale. The scale ranges from 1 to 30, with one being the highest quality audio and video output with the least reduction in file size and 30 being the lowest quality output with the most reduction in file size. My goal was to reduce a DVD from 3.5GB (avi) to an mpeg less than 700MB in order to fit on a CDROM. I hoped the re-encode would occur without appreciable quality loss in the audio or video, but I wasn't sure.
By testing a number of Q factors ranging from 5 to 10 to 15, I was able to reduce the original 3.5GB avi file to 628MB without a terrible amount of compression artifacts. There was a loss of video quality, but not to the extent that the video was unwatchable. The audio, however, was still good and the size of the file had been reduced by almost 5/6ths! Excellent! Here is the command I used:
ffmpeg -i charade.avi -target dvd -qscale 15 charade.mpg
In the final analysis, it seems the easiest way to use acidrip is to:
1) rip DVD to avi using copy feature
2) if needed, reduce file to CDROM size using FFMPEG's Qscale parameter
that's it for now..
Before you get started, here is an excellent introductory article on how to use acidrip:
http://www.linuxjournal.com/article/9124
Install
Here are the quick steps to the install. As my distro is fedora, you'll need to have the fedora and freshrpms repos in /etc/yum.repos.d. Also, the perl rpms and Gtk2/Glib perl programs listed are from http://untrepid.com/acidrip/
yum install gtk*
yum install lsdvd
rpm -ivh /root/Desktop/perl-ExtUtils-Depends-0.205-1.fc4.noarch.rpm
rpm -ivh /root/Desktop/perl-ExtUtils-PkgConfig-1.07-1.fc4.noarch.rpm
tar zxvf Gtk2-1.143.tar.gz
tar zxvf Glib-1.144.tar.gz
Ripping
You can burn to avi or mpg container format with a number of codec options. Taking the defaults for lavc or xvid codecs yielded a video with correct audio, but thick, green lines across the bottom half. Two-pass lavc ended up with the same green lines. The "copy" function worked without green lines, but the resultant avi file was too big (3.5GB). Outputting to MPG using lavc, xvid or two pass also shows green lines, but using "copy" yielded a smaller (2.5GB) file.
Playback
It is interesting to note that xine, mplayer and ffplay could not play the avi. However, ffmpeg was able to re-encode the avi file. The mpg was playable in all players, but all had stutter and lost audio sync if forward was pressed during playback.
Re-encoding
Since the filesize was huge, I decided to re-encode in order to fit on a standard CDROM. Re-encoding the mpeg using FFMPEG -target dvd outputted to a second, smaller mpeg was a disaster: the file did not play properly (mostly audio sync problems) in any Linux media players. Therefore, I am going to reencode the avi using FFMPEG. Rendering using FFMPEG to DVD is pretty bulletproof: a video rendered with FFMPEG plays in almost all my Linux media players; however, FFPLAY seg faults, which is strange as it is the companion player to FFMPEG.
Re-encoding using FFMPEG bitrate (-b) switch
I took the resulting file and used ffmpeg to shrink the size of the file by outputting it to a lower quality bitrate mpeg2. This was done by using ffmpeg's bitrate (-b) switch:
ffmpeg -i charade.avi -target dvd -b 3000 charade.mpg
This cut down the file size by about 33%.
I then lowered the bitrate further to 1500. The resulting file size was a little more than 1/3 the original and still looked decent. Finally, I lowered the bitrate to 750. The resulting file was about 1/4 the original size, but started to show compression artifacts. That was the limit on my tolerance for crappy looking video, so I stopped there.
Summary
bitrate: file size reduction
3000: 33%
1500: 65%
750: 75%
I will continue to experiment.
3/10/2007 update
Re-encoding using FFMPEG Qscale (-qscale) switch
I've experiment a bit more. Instead of using -b as a switch to ffmpeg, I used -qscale. Qscale is short for quality scale. The scale ranges from 1 to 30, with one being the highest quality audio and video output with the least reduction in file size and 30 being the lowest quality output with the most reduction in file size. My goal was to reduce a DVD from 3.5GB (avi) to an mpeg less than 700MB in order to fit on a CDROM. I hoped the re-encode would occur without appreciable quality loss in the audio or video, but I wasn't sure.
By testing a number of Q factors ranging from 5 to 10 to 15, I was able to reduce the original 3.5GB avi file to 628MB without a terrible amount of compression artifacts. There was a loss of video quality, but not to the extent that the video was unwatchable. The audio, however, was still good and the size of the file had been reduced by almost 5/6ths! Excellent! Here is the command I used:
ffmpeg -i charade.avi -target dvd -qscale 15 charade.mpg
In the final analysis, it seems the easiest way to use acidrip is to:
1) rip DVD to avi using copy feature
2) if needed, reduce file to CDROM size using FFMPEG's Qscale parameter
that's it for now..
Wednesday, February 28, 2007
installing a Perl module
So shoot me. I haven't done this in a long time. I was trying to install XML::Writer and forgot how to install a Perl module. Here are the steps:
1) download the module as a gzipped tar
2) uncompress the file:
[root@computer Desktop]# tar zxvf XML-Writer-0.602.tar.gz
XML-Writer-0.602/
XML-Writer-0.602/Writer.pm
XML-Writer-0.602/META.yml
XML-Writer-0.602/Changes
XML-Writer-0.602/t/
XML-Writer-0.602/t/pod-coverage.t
XML-Writer-0.602/t/pod.t
XML-Writer-0.602/t/01_main.t
XML-Writer-0.602/MANIFEST
XML-Writer-0.602/TODO
XML-Writer-0.602/README
XML-Writer-0.602/Makefile.PL
Change into the install directory and create the Makefile
[root@computer Desktop]# cd XML-Writer-0.602
[root@computer XML-Writer-0.602]# perl Makefile.PL
Checking if your kit is complete...
Looks good
Writing Makefile for XML::Writer
Run "make" to create the module
[root@computer XML-Writer-0.602]# make
cp Writer.pm blib/lib/XML/Writer.pm
Manifying blib/man3/XML::Writer.3pm
Run "make test" to test your new module
[root@computer XML-Writer-0.602]# make test
PERL_DL_NONLAZY=1 /usr/bin/perl "-MExtUtils::Command::MM" "-e" "test_harness(0, 'blib/lib', 'blib/arch')" t/*.t
t/01_main.........ok
t/pod-coverage....skipped
all skipped: Test::Pod::Coverage required for testing pod coverage
t/pod.............skipped
all skipped: Test::Pod 1.00 required for testing POD
All tests successful, 2 tests skipped.
Files=3, Tests=213, 1 wallclock secs ( 0.54 cusr + 0.43 csys = 0.97 CPU)
Run "make install" to install the module in its proper place
[root@computer XML-Writer-0.602]# make install
Installing /usr/lib/perl5/site_perl/5.8.6/XML/Writer.pm
Installing /usr/share/man/man3/XML::Writer.3pm
Writing /usr/lib/perl5/site_perl/5.8.6/i386-linux-thread-multi/auto/XML/Writer/.packlist
Appending installation info to /usr/lib/perl5/5.8.6/i386-linux-thread-multi/perllocal.pod
that's it!
1) download the module as a gzipped tar
2) uncompress the file:
[root@computer Desktop]# tar zxvf XML-Writer-0.602.tar.gz
XML-Writer-0.602/
XML-Writer-0.602/Writer.pm
XML-Writer-0.602/META.yml
XML-Writer-0.602/Changes
XML-Writer-0.602/t/
XML-Writer-0.602/t/pod-coverage.t
XML-Writer-0.602/t/pod.t
XML-Writer-0.602/t/01_main.t
XML-Writer-0.602/MANIFEST
XML-Writer-0.602/TODO
XML-Writer-0.602/README
XML-Writer-0.602/Makefile.PL
Change into the install directory and create the Makefile
[root@computer Desktop]# cd XML-Writer-0.602
[root@computer XML-Writer-0.602]# perl Makefile.PL
Checking if your kit is complete...
Looks good
Writing Makefile for XML::Writer
Run "make" to create the module
[root@computer XML-Writer-0.602]# make
cp Writer.pm blib/lib/XML/Writer.pm
Manifying blib/man3/XML::Writer.3pm
Run "make test" to test your new module
[root@computer XML-Writer-0.602]# make test
PERL_DL_NONLAZY=1 /usr/bin/perl "-MExtUtils::Command::MM" "-e" "test_harness(0, 'blib/lib', 'blib/arch')" t/*.t
t/01_main.........ok
t/pod-coverage....skipped
all skipped: Test::Pod::Coverage required for testing pod coverage
t/pod.............skipped
all skipped: Test::Pod 1.00 required for testing POD
All tests successful, 2 tests skipped.
Files=3, Tests=213, 1 wallclock secs ( 0.54 cusr + 0.43 csys = 0.97 CPU)
Run "make install" to install the module in its proper place
[root@computer XML-Writer-0.602]# make install
Installing /usr/lib/perl5/site_perl/5.8.6/XML/Writer.pm
Installing /usr/share/man/man3/XML::Writer.3pm
Writing /usr/lib/perl5/site_perl/5.8.6/i386-linux-thread-multi/auto/XML/Writer/.packlist
Appending installation info to /usr/lib/perl5/5.8.6/i386-linux-thread-multi/perllocal.pod
that's it!
Labels:
install,
install module,
make,
module,
perl,
xml writer
Sunday, February 18, 2007
MediaGate Ximeta NDAS drivers for Linux .. what crap!
For the past two weekends, I have been doing a lot of experimentation lately trying to get the Ximeta NDAS drivers to work. As I do my video editing in Linux, the goal was to be able to wirelessly mount the hard drive in the MediaGate while it sits next to my home theatre. This would allow me to be able to script the entire edit, copy and distribute process within Linux. The end result of this process is to be able to view my HDV video creations on my HDTV.
To be impolite, what a cluster f*** these drivers are. I first tried to install the RPMs and build from source on my main Fedora Core 4 system. I got this error:
- unable to handle kernel NULL pointer dereference at virtual address
I submitted the error (http://code.ximeta.com/trac-ndas/ticket/434)
and an engineer was kind enough to respond back; however, he stated that they won't support FC4. OK. No help there. So, I went on a quest to find a Linux distro that would work by either installing the prepackaged RPMs that Ximeta provides or by compiling the drivers myself. During my quest, I went through five Linux distros (Ubuntu 6.06, 6.1.0, Red Hat Enterprise Edition AS v3.0, Fedora Core 4 and Core 6). This involved the usual: download 600MB+ iso, burn to CD or DVD and install.
In short, NONE of the RPMs Ximeta provided worked with these OSs. They failed for various reasons:
- failure to mount the NTFS drive
- failure to load sal module
The trial-and-error with the various Linux distros was brutal. However, I got a bit further yesterday as I compiled from source on Fedora Core 6 and found this error:
- linux/config.h no such file or directory
Luckily, there was a tech tip on http://code.ximeta.com/trac-ndas/wiki/FedoraCore6 in the wiki that suggested to remove that line. I remove the line, recompiled and custom RPMs were created here:
[gagazote@demon i686]# pwd
/usr/src/redhat/RPMS/i686
[gagazote@demon i686]# ls
ndas-admin-1.0.3-101.i686.rpm
ndas-kernel-1.0.3-2.6.18_1.2798.fc6.101.i686.rpm
Once I had the compiled drivers installed, I examined and mounted the device through these series of commands:
[root@demon ~]# ndasadmin register XXXXX-XXXXX-XXXXX-XXXXX-YYYYY -n MediaGateWireless
where XXXXX is the device id, YYYYY is the write key and -n is the NDAS name
One of the two following commands will show that the device is recognized:
[root@demon ~]# cat /proc/ndas/devices/MediaGateWireless/slots
1
[root@demon ~]# cat /proc/ndas/devs
Name ID Key Serial Version Online Slots
MediaGateWireless MRLDQAJV9UVKDD6***** Yes 00003630 1 Yes 1
Then, I enabled the drive properly using the ndasadmin commands. Here is the command to enable the device as read/write:
[root@demon ~]# ndasadmin enable -s 1 -o w
Block device /dev/ndas-0000363032811569:0 is ready to use.
By the way, if you have contention conflicts with another computer trying to access the MediaGate, you'll receive a message like this in Linux:
[root@localhost ~]# ndasadmin enable -s 1 -o w
enable: You did not provide a valid write key or slot 1 is exclusively accessed by other host.
Execute the following command to send the request for the write permission.
ndasadmin request -s 1
(As a sidebar, in order to disable the device, use this command:
[root@localhost ~]# ndasadmin disable -s 1
/dev/ndas-0000363032811569:0 is disabled)
Finally, I created a mount point and mounted the wirelessly connected MediaGate:
[root@demon ~]# mkdir /mnt/ndas
[root@demon ~]# mount -t ext2 /dev/ndas-00003630328115 /mnt/ndas
From the fdisk -l output showing the mounted disk, Linux did not seem to be seeing the drive partitions correctly. The output (not shown) basically showed a blank partition table. What is wrong there? I thought that might be part of the problem, so I went ahead and reformatted the entire 80GB drive as a Linux ext2 primary partition.
Luck! I was able to connect to the drive and I saw a "lost+found" directory. Then, I copied a small file to the device and waited with bated breath as I turned on my entertainment center to see if the device recognized the hard drive. Alas, no dice. I re-read the printed documentation and it said that only FAT and NTFS drives work with the MediaGate. OK. I'm a fathead, I should have read those directions beforehand.
So, back to fdisk I go. This time, I took the simple route and used the XP Ximeta drivers to mount and format the disk. Again, I did this task over the wireless connection. The format took about an hour. After the format, I went back to my Fedora 6 install in order to mount the NTFS partition read/write. Write access to NTFS in Linux is something fairly new and it is supported by using the ntfs-3g (http://www.ntfs-3g.org/) and fuse (http://fuse.sourceforge.net/) libraries. Mounting the drive gave me the following error:
[root@demon ~]# ntfs-3g /dev/ndas-00003630328115 /mnt/ndas
Failed to open inode $MFTMirr: Input/output error
Failed to load $MFTMirr: Input/output error
Failed to startup volume: Input/output error
Failed to mount '/dev/ndas-00003630328115': Input/output error NTFS is inconsistent. Run chkdsk /f on Windows then reboot it TWICE! The usage of the /f parameter is very IMPORTANT! No modification was made to NTFS by this software.
OK. Well, when I ran fdisk -l again to find out what partition the OS thinks it saw. Fedora reported four separate partitions on that one drive! What is going on? Is this simply the way an XP formatted NTFS partition looks to Linux? Or maybe something weird happened with formatting the drive wirelessly? In any case, I yanked the drive from the MediaGate, plugged it in to an available box and formatted it as NTFS directly via XP. I then put the newly formatted drive back into the MediaGate. My fingers were crossed when I used my Fedora 6 install to mount the drive again. Again, I was confronted with disappointment. Same error as above! Argh! I then opened a ticket with Ximeta on this error, but I am not hopeful given their previous response and responses to other people on the wiki. (It is nice that they provide Linux drivers for us, but for God's sake Ximeta, test your drivers!!)
After reading the manual again, I found that the MediaGate should work with both FAT32 and NTFS drives. Now, the real purpose of this exercise was to be able to copy large video files (sometimes 4GB+) over to the MediaGate to view on my HDTV directly from Linux. I understand that formatting the drive as FAT32 would limit me to 4GB files. But at this point, I just wanted something to work. Please, Lord!!
Since the drive and partition was recognized in Fedora, I was able to use fdisk to remove the current NTFS partition and create a new FAT32 partition. I then used mkdosfs to format the partition. Here are the commands:
mkdosfs
-c (check for bad sectors)
-F 32 (FAT size in bits)
-S (sector size)
-n (volume name)
-v (verbose)
My command line ended up looking like this:
mkdosfs -c -F 32 -S 16384 -n MediaGate -v
Once I created and formatted the partition, I tried to mount it as type vfat in linux. Fedora complained:
[root@localhost]# mount -t vfat /dev/ndas-00003630328115 /mnt/ndas
mount: wrong fs type, bad option, bad superblock on /dev/hdb1, or too many mounted file systems
What the F? Again, the format and partitioning was done via the MediaGate's wireless connection. This is the second format to go awry, so something must be wrong with this wireless method. So then I thought I would format the disk FAT32 the good old fashioned way..direct connect with a Windows 98 boot floppy disk! Simple, right? Wrong!!
In the fashion of this long-winded tale, this became a mini-nightmare in itself:
1) the floppy was disabled in the BIOS on my secondary machine, I needed to reset
2) after that reset, the floppy drive was either broken or just did not recognize the boot floppy. I tried multiple boot floppies. None worked.
3) booting the floppy using my primary PC was successful. I was able to use fdisk to create the FAT partition. Thank goodness. In order to format the drive, I needed to reboot. But after rebooting, the boot floppy stopped worked. No help via multiple warm and cold boots. YARG!!
Therefore, I resorted to the salvation of the harried admin, the Linux SysRescCD. But my drive was set to master and the DVD drive was also set to master. So I pulled the jumper on the hard drive and successfully booted up the SysRescCD. I then ran mkdosfs and formatted the drive as FAT32. This process seemed to work and I tested a mount right then and there. The mount worked and a file copy to the mount worked!! So it looked like I was good to go.
I pulled the drive, put it in the MediaGate, took it down to my home theatre and hooked it up. No dice. YEAAARGH! What the hell?! I re-read the manual and saw that the drive needed to be master. Ah so. Fathead rears his ugly noggin again. I had pulled the jumper in order for the drive to work with the DVD, so this should be a simple fix. I pulled the drive from the case, switched the jumper and plugged the unit back up to the TV. Thank goodness, the MediaGate recognized the hard drive this time. Now for the big test..would the Ximeta Linux drivers recognize and mount the drive wirelessly? More importantly, would I be able to copy files to it?!
I went back upstairs to my tech lair and watch with bated breath as I tried to mount the wirelessly attached NDAS drive:
[root@localhost]# mount -t vfat /dev/ndas-00003630328115 /mnt/ndas
My God! It worked! No errors as before! (This seems to indicate something is definetly awry when you try to format a disk wirelessly or with Fedora's fdisk and FAT formatting capabilities. Maybe both conspiring together?)
In any case, I then copied a 60MB file. That worked! I went downstairs to the home theatre, navigated to the hard drive and found the file there. I played the file. It worked!! FAN-TAS-TIC!! I went back upstairs and copied over an 800MB file. After a few minutes, I trudged downstairs and found that the file was listed on the hard drive. I pressed Play. It worked! Hooray! Now for the big test. I copied a 4.7GB file wirelessly from Linux to the FAT formatted drive on the MediaGate. This took about an hour. I saw that only 4.0GB was copied over, the FAT32 filesize limit. At this point, who cared? At least most of the file copied over. And since it was an MPEG2, partial files should play back just fine. But will it play? I pressed play and my HDV file played in gorgeous full resolution color! With a 4.0GB limitation, using the FAT partition may not be the optimum situation, but at least it works!
It has taken me two weeks to muddle through this. Why can't these device manufacturers TEST their code? Is that too much to ask? Infuriating.
After all, I must ask, why do I put myself through all of this?
:
Update 1/14/2008
On the brighter side, I was able to successfully upgrade the device firmware to version 1.1.7. This resolved some video playback problems for MPEG-TS files and includes an FTP server:
/2008/01/mediagate-mg350hd-v117-firmware.html
I did try to install 64-bit Linux NDAS drivers from Ximeta. But guess what? You go to the site and there are no drivers at all in the Linux 64 directory:
http://code.ximeta.com/dev/current/
Boo! Hiss! And just plain stupid.
Is it too much to ask that these device manufacturers make solid Linux drivers?
Update 1/30/2008
As well, using the NDAS drivers on my MacBook Pro, I tried formatting the drive as a Mac compatible disk. The format worked; however, the disk was not recognized when I restarted the device. Going into the Mediagate menus, I was only able to connect wirelessly. The hard drive icon was greyed out.
Update 2/6/2008
I've decided to forego the NDAS drivers entirely and use firmware version 1.1.7's FTP server. GOODBYE, NDAS!! Here's a link to a blog entry on v1.1.7:
/2008/01/mediagate-mg350hd-v117-firmware.html
To be impolite, what a cluster f*** these drivers are. I first tried to install the RPMs and build from source on my main Fedora Core 4 system. I got this error:
- unable to handle kernel NULL pointer dereference at virtual address
I submitted the error (http://code.ximeta.com/trac-ndas/ticket/434)
and an engineer was kind enough to respond back; however, he stated that they won't support FC4. OK. No help there. So, I went on a quest to find a Linux distro that would work by either installing the prepackaged RPMs that Ximeta provides or by compiling the drivers myself. During my quest, I went through five Linux distros (Ubuntu 6.06, 6.1.0, Red Hat Enterprise Edition AS v3.0, Fedora Core 4 and Core 6). This involved the usual: download 600MB+ iso, burn to CD or DVD and install.
In short, NONE of the RPMs Ximeta provided worked with these OSs. They failed for various reasons:
- failure to mount the NTFS drive
- failure to load sal module
The trial-and-error with the various Linux distros was brutal. However, I got a bit further yesterday as I compiled from source on Fedora Core 6 and found this error:
- linux/config.h no such file or directory
Luckily, there was a tech tip on http://code.ximeta.com/trac-ndas/wiki/FedoraCore6 in the wiki that suggested to remove that line. I remove the line, recompiled and custom RPMs were created here:
[gagazote@demon i686]# pwd
/usr/src/redhat/RPMS/i686
[gagazote@demon i686]# ls
ndas-admin-1.0.3-101.i686.rpm
ndas-kernel-1.0.3-2.6.18_1.2798.fc6.101.i686.rpm
Once I had the compiled drivers installed, I examined and mounted the device through these series of commands:
[root@demon ~]# ndasadmin register XXXXX-XXXXX-XXXXX-XXXXX-YYYYY -n MediaGateWireless
where XXXXX is the device id, YYYYY is the write key and -n is the NDAS name
One of the two following commands will show that the device is recognized:
[root@demon ~]# cat /proc/ndas/devices/MediaGateWireless/slots
1
[root@demon ~]# cat /proc/ndas/devs
Name ID Key Serial Version Online Slots
MediaGateWireless MRLDQAJV9UVKDD6***** Yes 00003630 1 Yes 1
Then, I enabled the drive properly using the ndasadmin commands. Here is the command to enable the device as read/write:
[root@demon ~]# ndasadmin enable -s 1 -o w
Block device /dev/ndas-0000363032811569:0 is ready to use.
By the way, if you have contention conflicts with another computer trying to access the MediaGate, you'll receive a message like this in Linux:
[root@localhost ~]# ndasadmin enable -s 1 -o w
enable: You did not provide a valid write key or slot 1 is exclusively accessed by other host.
Execute the following command to send the request for the write permission.
ndasadmin request -s 1
(As a sidebar, in order to disable the device, use this command:
[root@localhost ~]# ndasadmin disable -s 1
/dev/ndas-0000363032811569:0 is disabled)
Finally, I created a mount point and mounted the wirelessly connected MediaGate:
[root@demon ~]# mkdir /mnt/ndas
[root@demon ~]# mount -t ext2 /dev/ndas-00003630328115 /mnt/ndas
From the fdisk -l output showing the mounted disk, Linux did not seem to be seeing the drive partitions correctly. The output (not shown) basically showed a blank partition table. What is wrong there? I thought that might be part of the problem, so I went ahead and reformatted the entire 80GB drive as a Linux ext2 primary partition.
Luck! I was able to connect to the drive and I saw a "lost+found" directory. Then, I copied a small file to the device and waited with bated breath as I turned on my entertainment center to see if the device recognized the hard drive. Alas, no dice. I re-read the printed documentation and it said that only FAT and NTFS drives work with the MediaGate. OK. I'm a fathead, I should have read those directions beforehand.
So, back to fdisk I go. This time, I took the simple route and used the XP Ximeta drivers to mount and format the disk. Again, I did this task over the wireless connection. The format took about an hour. After the format, I went back to my Fedora 6 install in order to mount the NTFS partition read/write. Write access to NTFS in Linux is something fairly new and it is supported by using the ntfs-3g (http://www.ntfs-3g.org/) and fuse (http://fuse.sourceforge.net/) libraries. Mounting the drive gave me the following error:
[root@demon ~]# ntfs-3g /dev/ndas-00003630328115 /mnt/ndas
Failed to open inode $MFTMirr: Input/output error
Failed to load $MFTMirr: Input/output error
Failed to startup volume: Input/output error
Failed to mount '/dev/ndas-00003630328115': Input/output error NTFS is inconsistent. Run chkdsk /f on Windows then reboot it TWICE! The usage of the /f parameter is very IMPORTANT! No modification was made to NTFS by this software.
OK. Well, when I ran fdisk -l again to find out what partition the OS thinks it saw. Fedora reported four separate partitions on that one drive! What is going on? Is this simply the way an XP formatted NTFS partition looks to Linux? Or maybe something weird happened with formatting the drive wirelessly? In any case, I yanked the drive from the MediaGate, plugged it in to an available box and formatted it as NTFS directly via XP. I then put the newly formatted drive back into the MediaGate. My fingers were crossed when I used my Fedora 6 install to mount the drive again. Again, I was confronted with disappointment. Same error as above! Argh! I then opened a ticket with Ximeta on this error, but I am not hopeful given their previous response and responses to other people on the wiki. (It is nice that they provide Linux drivers for us, but for God's sake Ximeta, test your drivers!!)
After reading the manual again, I found that the MediaGate should work with both FAT32 and NTFS drives. Now, the real purpose of this exercise was to be able to copy large video files (sometimes 4GB+) over to the MediaGate to view on my HDTV directly from Linux. I understand that formatting the drive as FAT32 would limit me to 4GB files. But at this point, I just wanted something to work. Please, Lord!!
Since the drive and partition was recognized in Fedora, I was able to use fdisk to remove the current NTFS partition and create a new FAT32 partition. I then used mkdosfs to format the partition. Here are the commands:
mkdosfs
-c (check for bad sectors)
-F 32 (FAT size in bits)
-S (sector size)
-n (volume name)
-v (verbose)
My command line ended up looking like this:
mkdosfs -c -F 32 -S 16384 -n MediaGate -v
Once I created and formatted the partition, I tried to mount it as type vfat in linux. Fedora complained:
[root@localhost]# mount -t vfat /dev/ndas-00003630328115 /mnt/ndas
mount: wrong fs type, bad option, bad superblock on /dev/hdb1, or too many mounted file systems
What the F? Again, the format and partitioning was done via the MediaGate's wireless connection. This is the second format to go awry, so something must be wrong with this wireless method. So then I thought I would format the disk FAT32 the good old fashioned way..direct connect with a Windows 98 boot floppy disk! Simple, right? Wrong!!
In the fashion of this long-winded tale, this became a mini-nightmare in itself:
1) the floppy was disabled in the BIOS on my secondary machine, I needed to reset
2) after that reset, the floppy drive was either broken or just did not recognize the boot floppy. I tried multiple boot floppies. None worked.
3) booting the floppy using my primary PC was successful. I was able to use fdisk to create the FAT partition. Thank goodness. In order to format the drive, I needed to reboot. But after rebooting, the boot floppy stopped worked. No help via multiple warm and cold boots. YARG!!
Therefore, I resorted to the salvation of the harried admin, the Linux SysRescCD. But my drive was set to master and the DVD drive was also set to master. So I pulled the jumper on the hard drive and successfully booted up the SysRescCD. I then ran mkdosfs and formatted the drive as FAT32. This process seemed to work and I tested a mount right then and there. The mount worked and a file copy to the mount worked!! So it looked like I was good to go.
I pulled the drive, put it in the MediaGate, took it down to my home theatre and hooked it up. No dice. YEAAARGH! What the hell?! I re-read the manual and saw that the drive needed to be master. Ah so. Fathead rears his ugly noggin again. I had pulled the jumper in order for the drive to work with the DVD, so this should be a simple fix. I pulled the drive from the case, switched the jumper and plugged the unit back up to the TV. Thank goodness, the MediaGate recognized the hard drive this time. Now for the big test..would the Ximeta Linux drivers recognize and mount the drive wirelessly? More importantly, would I be able to copy files to it?!
I went back upstairs to my tech lair and watch with bated breath as I tried to mount the wirelessly attached NDAS drive:
[root@localhost]# mount -t vfat /dev/ndas-00003630328115 /mnt/ndas
My God! It worked! No errors as before! (This seems to indicate something is definetly awry when you try to format a disk wirelessly or with Fedora's fdisk and FAT formatting capabilities. Maybe both conspiring together?)
In any case, I then copied a 60MB file. That worked! I went downstairs to the home theatre, navigated to the hard drive and found the file there. I played the file. It worked!! FAN-TAS-TIC!! I went back upstairs and copied over an 800MB file. After a few minutes, I trudged downstairs and found that the file was listed on the hard drive. I pressed Play. It worked! Hooray! Now for the big test. I copied a 4.7GB file wirelessly from Linux to the FAT formatted drive on the MediaGate. This took about an hour. I saw that only 4.0GB was copied over, the FAT32 filesize limit. At this point, who cared? At least most of the file copied over. And since it was an MPEG2, partial files should play back just fine. But will it play? I pressed play and my HDV file played in gorgeous full resolution color! With a 4.0GB limitation, using the FAT partition may not be the optimum situation, but at least it works!
It has taken me two weeks to muddle through this. Why can't these device manufacturers TEST their code? Is that too much to ask? Infuriating.
After all, I must ask, why do I put myself through all of this?
:
Update 1/14/2008
On the brighter side, I was able to successfully upgrade the device firmware to version 1.1.7. This resolved some video playback problems for MPEG-TS files and includes an FTP server:
/2008/01/mediagate-mg350hd-v117-firmware.html
I did try to install 64-bit Linux NDAS drivers from Ximeta. But guess what? You go to the site and there are no drivers at all in the Linux 64 directory:
http://code.ximeta.com/dev/current/
Boo! Hiss! And just plain stupid.
Is it too much to ask that these device manufacturers make solid Linux drivers?
Update 1/30/2008
As well, using the NDAS drivers on my MacBook Pro, I tried formatting the drive as a Mac compatible disk. The format worked; however, the disk was not recognized when I restarted the device. Going into the Mediagate menus, I was only able to connect wirelessly. The hard drive icon was greyed out.
Update 2/6/2008
I've decided to forego the NDAS drivers entirely and use firmware version 1.1.7's FTP server. GOODBYE, NDAS!! Here's a link to a blog entry on v1.1.7:
/2008/01/mediagate-mg350hd-v117-firmware.html
Sunday, February 04, 2007
weeding out some unnecessary services from FC4
This post is mainly for my own notes. In trying to reduce the amount of programs that are loading on my FC4 system, I've removed the following:
bluetooth
captive
haldaemon * PUT BACK..BROKE GNOME
iptables
isdn
mDNSResponder
mdmpd
netfs
nifd
pcmcia
portmap * PUT BACK..BROKE NFS
rhnsd
rpcgssd
rpcidmapd
rpcsvcgssd
wine
xfs * PUT BACK..BROKE FONT SERVER
bluetooth
captive
haldaemon * PUT BACK..BROKE GNOME
iptables
isdn
mDNSResponder
mdmpd
netfs
nifd
pcmcia
portmap * PUT BACK..BROKE NFS
rhnsd
rpcgssd
rpcidmapd
rpcsvcgssd
wine
xfs * PUT BACK..BROKE FONT SERVER
Saturday, February 03, 2007
ntfs-3g .. write reliably from Linux to NTFS partitions
My task today was to backup my videos, in case my bloody RAID stripe set goes kaput. I found this program ntfs-3g (http://www.ntfs-3g.org/) that allows me to write files from Linux partitions to NTFS partitions. In addition to installing ntfs-3g, you will also need to have FUSE (Filesystem in User Space) libraries installed. FUSE allows you to "implement a fully functional filesystem from a userspace program." Well, OK. I'm a little thick to get the purpose of that one right now. I just want my files to be backed up.
I got both pieces installed through the tarball configure/make/make install process. After the install, I copied a 6GB video file from my ext3 partition to an NTFS partition as a test. I then rebooted into XP and replayed it back in my XP based video editing software. I could still play the entire file, so I assume that ntfs-3g is doing its job. Hooray!
At the end of the evening, I copied 200GB of videos from my ext2 system to a backup NTFS partition. She works!
I got both pieces installed through the tarball configure/make/make install process. After the install, I copied a 6GB video file from my ext3 partition to an NTFS partition as a test. I then rebooted into XP and replayed it back in my XP based video editing software. I could still play the entire file, so I assume that ntfs-3g is doing its job. Hooray!
At the end of the evening, I copied 200GB of videos from my ext2 system to a backup NTFS partition. She works!
Subscribe to:
Posts (Atom)
Feel free to drop me a line or ask me a question.