Wednesday, December 21, 2011

The Christmas Story & Prophecy

The Christmas story, from the Bible...

Luke 2:1-21:
In those days Caesar Augustus issued a decree that a census should be taken of the entire Roman world. (This was the first census that took place while Quirinius was governor of Syria.) And everyone went to their own town to register. So Joseph also went up from the town of Nazareth in Galilee to Judea, to Bethlehem the town of David, because he belonged to the house and line of David. He went there to register with Mary, who was pledged to be married to him and was expecting a child. While they were there, the time came for the baby to be born, and she gave birth to her firstborn, a son. She wrapped him in cloths and placed him in a manger, because there was no guest room available for them.

And there were shepherds living out in the fields nearby, keeping watch over their flocks at night. An angel of the Lord appeared to them, and the glory of the Lord shone around them, and they were terrified. But the angel said to them, “Do not be afraid. I bring you good news that will cause great joy for all the people. Today in the town of David a Savior has been born to you; he is the Messiah, the Lord. This will be a sign to you: You will find a baby wrapped in cloths and lying in a manger.”

Suddenly a great company of the heavenly host appeared with the angel, praising God and saying,
“Glory to God in the highest heaven,
and on earth peace to those on whom his favor rests.”

When the angels had left them and gone into heaven, the shepherds said to one another, “Let’s go to Bethlehem and see this thing that has happened, which the Lord has told us about.”

So they hurried off and found Mary and Joseph, and the baby, who was lying in the manger. When they had seen him, they spread the word concerning what had been told them about this child, and all who heard it were amazed at what the shepherds said to them. But Mary treasured up all these things and pondered them in her heart. The shepherds returned, glorifying and praising God for all the things they had heard and seen, which were just as they had been told.

On the eighth day, when it was time to circumcise the child, he was named Jesus, the name the angel had given him before he was conceived.


Matthew 2:1-2,9-12:
After Jesus was born in Bethlehem in Judea, during the time of King Herod, Magi from the east came to Jerusalem and asked, “Where is the one who has been born king of the Jews? We saw his star when it rose and have come to worship him.”
...
After they had heard the king, they went on their way, and the star they had seen when it rose went ahead of them until it stopped over the place where the child was. When they saw the star, they were overjoyed. On coming to the house, they saw the child with his mother Mary, and they bowed down and worshiped him. Then they opened their treasures and presented him with gifts of gold, frankincense and myrrh.


I recently read some prophecies in Isaiah that describe or foreshadow these events. Here is one example.
The following passage was written over 500 years before Jesus' birth about the restoration of Israel. When you read it, think of it from the perspective of God the Father speaking to his Son about his birth in Bethlehem. I've highlighted and numbered parts of it that were fulfilled in the Christmas story accounts in Matthew and Luke above.

Isaiah 60
“Arise, shine, for your light has come,(1)
and the glory of the LORD rises upon you.
See, darkness covers the earth and thick darkness is over the peoples,
but the LORD rises upon you and his glory appears(2) over you.
Nations will come to your light, and kings to the brightness of your dawn.
“Lift up your eyes and look about you: All assemble and come to you; (3)
your sons come from afar, and your daughters are carried on the hip.
Then you will look and be radiant, your heart will throb and swell with joy;
the wealth on the seas will be brought to you, to you the riches of the nations will come. (4)
Herds of camels will cover your land, young camels of Midian and Ephah.
And all from Sheba will come, bearing gold and incense and proclaiming the praise of the LORD.
(5)
All Kedar’s flocks will be gathered to you, the rams of Nebaioth will serve you;
(6) they will be accepted as offerings(7) on my altar, and I will adorn my glorious temple.

“Who are these that fly along like clouds, like doves to their nests? (8)
Surely the islands look to me; in the lead are the ships of Tarshish,
bringing your children from afar, with their silver and gold,
to the honor of the LORD your God, the Holy One of Israel,
(9) for he has endowed you with splendor.


Just a quick explanation on each one:
1) "Light of the World" is another name for Jesus.
2) This was the appearance of the Lord.
3) The magi and shepherds (and presumably the servants and animals of the magi) assembled to see the baby Jesus. The magi, who were from eastern nations, probably Persia, came by following the light of a bright star.
4) Camels may likely have been the mode of transportation used by the magi and much of their caravan.
5) Gold and (frank)incense were given to Jesus in acts of worship.
6) Shepherds (and possibly their flocks?) were the first to come to Jesus.
7) The gifts were accepted, and Mary treasured all these things in her heart.
8) "These that fly along like clouds" may refer to the angels who gave the message to the shepherds.
9) Once again, the mention of the assembly of many people and the gifts to honor Jesus.


If you can, take some time to explore the many Messianic prophesies scattered around the latter half of the book of Isaiah. There are quite a few, many relating to his death, resurrection, and second coming.

Thursday, February 24, 2011

How to skip page number for a cover page in Word

Running
- Mac OSX 10.6.6 (Snow Leopard)
- Microsoft Word 2008 v12.2.8

What we're trying to do
- Have a cover page.
- Add page numbering in the footer, starting at the second page.
- Have the first page number (on 2nd page) start at 1.

How to do it
- Go to Format > Document (for Mac) or File > Page Setup (for PC) and go to the Layout tab.
- Check the box under Headers and Footers that says "different first page" and click OK.
- Put in some placeholder text for your cover page and either a page break or a bunch of returns, so the next page appears.
- Double-click on the footer area of the 2nd page to edit the footer.
- Hit Ctrl-F9 (for PC) or Cmd-F9 (for desktop Mac) or Cmd-Fn-F9 (for MacBook). This should insert a gray pair of curly braces with a space in between. These are very magical curly braces. If you just type the curly brace characters { }, it won't work.
- Put your cursor in between curly braces and type an equal sign (=).
- Then hit the command keys again to insert another pair of curly braces after the equal sign.
- Put your cursor in between the inner curly braces and type the word PAGE.
- Now move your cursor between the two right curly braces (}) and type - 1.
- By this point, you should see this: {={PAGE}-1}. Remember, you can't just type the curly braces. They should show up when you hit that F9 combination.
- Now let's test it out. Go to File > Print Preview, and take a look. You should see nothing on the cover page's footer and "1" on the second page's footer.

Commentary
You can also add the number of pages in a similar way (i.e. "Page 1 of 5"). After completing the above, add " of {={NUMPAGES}-1}".

In Word 2007 and later, you can also choose to add a template cover page. For Mac, Go to View > Elements Gallery > Cover Pages. However, if you add page numbering to this, it will start the 2nd page with "2" instead of "1".

The following Microsoft help articles may also be helpful:
Field codes: = (Formula) field
Remove the page number from the first page

Tuesday, January 4, 2011

Villain Rave

I created this techno song with my sister Lorri mostly at my parents' house over Christmas break. I hope you enjoy it.



It was all recorded with GarageBand. Here's a breakdown of the tracks:
1) Vocal effects
2) Soft synth (Yamaha YPG 625)
3) Saw synth (some old Casio midi keyboard)
4) Rhythm electric guitar (Les Paul + Boss BD2 + Boss DD7)
5) Lead electric guitar (same as rhythm)

I hope to have more songs of various genres coming. Eventually, they might become an album.

Saturday, December 18, 2010

How to fix Wii Virtual Console "black screen" issue

For:
- Wii (system Version 4.3U)
- component cables for A/V

Problem:
When trying to play downloaded SNES or NES games, the screen goes black and you may eventually be sent back to the home screen. When hitting the "home" button on your controller, you can see the game in the background behind the menu options.

Solution:
Make sure your Wii's screen resolution is set to 480p, not 480i.
- Wii Settings > Screen > TV Resolution > EDTV or HDTV (480p)

Friday, December 3, 2010

Two new haikus

ミシガンに
寒くなってる
初雪だ

大学は
期末試験が
迫り来る


Readings:
mishigan ni
samukunatteru
hatsuyuki da

daigaku wa
kimatsushiken ga
semarikuru


English translations:
In Michigan
It's getting cold
The first snow

College
Has final exams
Looming

Wednesday, July 21, 2010

SQL Server strange string lengths


I just thought I would document some very unintuitive behavior of SQL Server to watch out for. It's well known that SQL Server is not well-suited to string processing. This is one of the reasons why.

The LEN built-in function returns the length of a given string, however, it has quirks about the way it handles whitespace:


Command Result
SELECT LEN('abc') 3
SELECT LEN('') 0
SELECT LEN(NULL) NULL
SELECT LEN(' ') --one space 0
SELECT LEN('       ') --multiple spaces 0
SELECT LEN(' ') --one tab 1
SELECT LEN('
') --one newline
2
SELECT LEN('ABC ')3
SELECT LEN(' ABC')4


I tested these behaviors in SQL Server 2005.

I think the reason for this is because old string types like char are fixed-width, using spaces to fill in unused portions of the string. For example, if I wanted to store 'Hello world' into a char(20), SQL Server would actually store 'Hello world         '. Then, when you want the length of the string, you just want the length of the part before all the trailing spaces. However, I'm not sure why this is still the dominant behavior, since nvarchar and varchar are much more commonly used these days than char, and they don't use all the trailing spaces.

As the the newline, it uses two characters: carriage return (13) and newline (10).

Wednesday, July 14, 2010

Japanese Internet slang: w's

Japanese use their own kinds of Internet and texting slang, so today I'm highlighting one that puzzled me for a while. The w's.

You'll see it at usually the end of sentences and often several in a row: wwww.

"w" is actually short for the Japanese word 笑う "warau", which means to laugh. Sometimes you'll also see just the 笑 character by itself or ~笑 or ~笑う or something like that. It's kind of the equivalent of "lol" in English. The more w's, the more they're laughing, just like some crazy kids type "lololololol" in English :) .

Have a great day! ww

Tuesday, June 1, 2010

JavaScript: functions as objects vs. functions as functions


I ran into this interesting behavior today. I was passing a function to a list of functions to execute later, and I kept getting an error in firebug that said when it came to execute it that it "is not a function", but proceeded to completely successfully execute it as one anyway, doing exactly what I wanted it to. I wanted to get rid of the error message, since it was behaving properly.


Come to find out, it was listed as an object instead of a function. In short, the difference is that if you declare a function like this: function() { ... }, it will be returned as a function. If you declare it like this: new function() { ... }, it will be returned as an object. I just needed to take out the word "new" I had used.


I created the following simple HTML page to demonstrate this behavior. Feel free to try it out for yourself and tinker around with it:

<html>
<head>
<script type="text/javascript">
//setup
var tests = new Array();
tests[0] = new function() { return 'A is the best!'; };
tests[1] = function() { return 'B is better!'; };

var message = 'tests:';
for (var i = 0; i < tests.length; i++)
{
message += '\ntest[' + i + ']: ' + tests[i];
}
alert(message +'\n\nNext, we\'ll try to execute these as functions...');
</script>
</head>
<body>
<div id="divResults"></div>
<br />
<div id="divStatus">Testing...</div>
</body>
<script type="text/javascript">
//run the tests
var resultsDiv = document.getElementById('divResults');
for (var i = 0; i < tests.length; i++)
{
resultsDiv.innerHTML += 'test[' + i + ']\'s result: ';
try { resultsDiv.innerHTML += tests[i](); }
catch(ex) {resultsDiv.innerHTML += '<span style="color:red;">Test failed: ' + ex.message + '</span>'; }
resultsDiv.innerHTML += '<br />';
}

//we're done
document.getElementById('divStatus').innerHTML = 'The test is done. Reload this page to run the test again.';
</script>
</html>


I have confirmed this behavior in Firefox 3.6.3, IE 7.0, Chrome 5.0, Safari 4.0.5, and Opera 10.53.

Monday, February 8, 2010

Resolved: "uninitialized constant DBI::DBD::ODBC" in Ruby for Windows

Running:
  • Windows 2003 Server SP2
  • Ruby 1.8.6 patchlevel 383, i386-mingw32 (from RubyInstaller)
  • dbd-odbc 0.2.4
  • dbi 0.4.3
Problem:
I created a Ruby class that can run arbitrary SQL queries on remote databases of various kinds. It was working fine for a while, but then something changed so that whenever I would try to use it to execute some SQL, I'd get the following error:

DBI::InterfaceError (Unable to load driver 'ODBC' (underlying error: uninitialized constant DBI::DBD::ODBC)):
dbi (0.4.3) lib/dbi.rb:300:in `load_driver'
C:/Ruby/lib/ruby/1.8/monitor.rb:242:in `synchronize'
dbi (0.4.3) lib/dbi.rb:242:in `load_driver'
dbi (0.4.3) lib/dbi.rb:160:in `_get_full_driver'
dbi (0.4.3) lib/dbi.rb:145:in `connect'
...

Resolution:
Make sure you have the dbd-odbc and dbi gems installed correctly.
For me, a couple of associated files were missing from C:\Ruby\lib\ruby\1.8\i386-mingw32: odbc.so and odbc_utr8.so. I had these files in my working Dev installation, so I just copied them from Dev to Prod, and it fixed the problem.

Commentary:
This comes from DBI trying to do a require dbd/odbc and not finding that file. When I googled around about the error, mostly people said to make sure you had the dbd-odbc gem installed, which I already did. I tried reinstalling the gem, as well as the dbi gem. This had no effect. The problem was happening on Prod, but I had the same thing set up on Dev, which was working. So, I checked to see what paths require uses like so:

C:\...>irb
irb(main):001:0> $LOAD_PATH
=> ["C:/Ruby/lib/ruby/site_ruby/1.8", "C:/Ruby/lib/ruby/site_ruby/1.8/i386-msvcr
t", "C:/Ruby/lib/ruby/site_ruby", "C:/Ruby/lib/ruby/1.8", "C:/Ruby/lib/ruby/1.8/
i386-mingw32", "."]

I checked through those directories to see what .rb files looked like ODBC-related things that were in Dev but not in Prod. That's how I found those two files. After I copied them to Prod, I tested it in IRB like so:

irb(main):004:0> require 'odbc'
=> true

After that, everything worked fine again. I hope this anecdote can help you! Good luck!

Friday, January 22, 2010

Thursday, January 14, 2010

How to restore an Oracle database from its original files

Background:
I recently had to bring an Oracle database online from its original files an old laptop hard drive. It had some data on it that I needed to get off, and as usual, Oracle is anything but straightforward. This post describes how I ended up doing it.
To start with, I had to connect the old hard drive to the machine. I did this with a USB-SATA2.5" external adapter. You can find hard drive multi-adapters like these on newegg or any other online hardware store for around $20 - $30.

Running:
- Windows XP SP3
- Oracle 10g

Solution Steps:
1) Locate your current Oracle database files. The default location for this is C:\oracle\product\10.2.0\oradata. Each folder in that directory contains the data files for the database by the same name.

2) I'll call the database you're trying to restore "OldDatabase". If the path for OldDatabase folder was different from your current Oracle data folders, this might not work (but of course the drive letter will be different if you're using an old disk drive via USB). If it doesn't work, see if you can install Oracle into a directory on the new machine that has the same path as the old one had.

3) Make sure you don't have any databases in your current Oracle installation that have the same name as OldDatabase. If they match and you continue anyways, things will get very screwed up. If you do have a match, see if you can migrate the matching new one to another new database with a different name. You might want to back up that db's files first.

4) Now, go ahead and create a new database with all the default settings and the same name as OldDatabase. You can do this via the Database Configuration Assistant that should have been included with your Oracle installation. I found mine under Start > All Programs > Oracle - OraDb10g_home1 > Configuration and Migration Tools.

5) Go into your Administration Assistant for Windows (in the same start menu folder as the Database Config Assist.) and find your newly created database, right click it, and choose Stop Service.

6) The data files for the new database you just created are now in your current oradata folder. Copy the contents of your old OldDatabase folder into the new one by the same name, replacing all files (you might want to back up your new folder first).

7) Back in the Admin. Assist., right-click your new database and choose Start Service. With any luck, you'll be able to connect to it in a few moments, and it will look just like your old database!

Hope this helps!

Wednesday, December 30, 2009

Resolved: "failed to build gem native extension" on Windows

Running:
- Windows XP SP3
- Ruby 1.8.6 (patchlevel 383, i386-minw32)

Problem:
When trying to do "gem install" on certain gems, I got a message "failed to build gem native extension" and the installation would fail. Some common gems that this happens to include ruby-debug, ruby-debug-ide, hpricot, sqlite3-ruby, and ruby-oci8.

Resolution:
Install the Ruby Development Kit from RubyForge. It's currently only available as a .7z file, so you'll need 7Zip to open it. Follow the instructions in the included INSTALL.txt file, but make sure when you copy the bin folder to your Ruby installation that you copy just the files inside it. Don't overwrite your Ruby installation's bin folder. That would be very bad.

Notes:
So what is a native extension and why is trying to install this?
Your Ruby interpreter (the ruby.exe program) is written C (or Java if it's jruby). Certain gems need to actually add C libraries to your Ruby installation in order to function properly, not just ruby-language files. They're usually downloaded as source (not binaries) and compiled on your machine to match your system's architecture. The problem is when, for instance, your machine doesn't have a C compiler available or not the same one as the gem is expecting (you may see something about "MSC version unmatch" if the version is different). The Ruby Dev Kit comes with a C compiler (gcc) that runs on Windows and is (probably) compatible with the gems. This resolved my issue.

The fact that you have to download the Dev Kit for building native extensions is apparently a recent change (Nov. '09), and it probably only applies to Windows Ruby installations. This change is currently not well documented, which is why I'm posting my findings.

This can also manifest itself in NetBeans IDE if you opt to install the FastDebugger and get similar error messages about native extensions failing to build.

Related Links:

Monday, November 30, 2009

Resolved: SQL Server Agent job notifications fail with "failed to notify '(operator name)'"

Running:
- Windows Server 2003 (5.2, build 3790)
- SQL Server 2005 (9.00.4053.00)

Symptoms:
- A job in SQL Server Agent is set to have an email notification sent to an operator when it fails, but the notifications don't send.
- Running Management > Database Mail > Send Test E-Mail does work, however.
- In the job history, each failed attempt is followed by "NOTE: Failed to notify '(operator name)' via email.".
- In the SQL Agent error log, there is a message saying, "Unable to start mail session... profile name is not valid..."

Solution:
- Go to SQL Server Agent > Properties > Alert System.
- If "Enable mail profile" is unchecked, check it and restart the SQL Server Agent.
- If is checked and still doesn't work, UNcheck it, restart the SQL Server Agent, then go back in and check it again, and then restart SSA again (this fixed my issue).

Commentary:
I found a lot of posts about this issue. Most revolved around the fact that by default the SQL Server Agent comes with the mail profile disabled. But it took me a few hours to resolve this, so it sounded like a good one to post here for others.

There is also a
Microsoft HotFix for certain related problems, but if you've been keeping your system up-to-date, you probably already have installed it in a cumulative update.

You may also want to check out this:
http://msdn.microsoft.com/en-us/library/ms175984.aspx

Thursday, November 5, 2009

SQL dyanmic queries run in separate connections

In SQL Server 2005, it appears that all dynamic queries run in separate connections from that of the query which generated them. This makes a big difference if you are using connection-specific temp tables (e.g., #MyTempTable).

Here's a few examples in SQL Management Studio to demonstrate what's going on.

Query:

--in a dynamic query, create a local temp table and select from it
PRINT 'Example A:'
EXEC('CREATE TABLE #ConnectionTempTable ( [Foo] INT, [Bar] BIT, [Junk] NVARCHAR(100) ) SELECT * FROM #ConnectionTempTable')
PRINT '------'

--in a dynamic query, create a global temp table; then in the static query, drop it
PRINT 'Example B:'
EXEC('CREATE TABLE ##GlobalTempTable ( [Foo] INT, [Bar] BIT, [Junk] NVARCHAR(100) )')
DROP TABLE ##GlobalTempTable
PRINT '------'

--in a dynamic query, drop the local temp table from Example A (FAILS!)
PRINT 'Example C:'
EXEC('DROP TABLE #ConnectionTempTable')
PRINT '------'

--in a dynamic query, recreate the temp table from Example A (FAILS!)
PRINT 'Example D:'
EXEC('CREATE TABLE #ConnectionTempTable ( [Foo] INT, [Bar] BIT, [Junk] NVARCHAR(100) )')
SELECT * FROM #ConnectionTempTable


Results:

Example A:

(0 row(s) affected)
------
Example B:
------
Example C:
Msg 3701, Level 11, State 5, Line 1
Cannot drop the table '#ConnectionTempTable', because it does not exist or you do not have permission.
------
Example D:
Msg 208, Level 16, State 0, Line 20
Invalid object name '#ConnectionTempTable'.

Thursday, October 8, 2009

Resolved: iPhone OS 3.1 download error 3259: "network timed out"

I haven't seen any help about this online so far, but I resolved the issue, so I'm posting my findings.

I have:
- iPod Touch 16GB
- iTunes 9.0.1.8
- Windows XP SP3
- ESET Antivirus 3.0.672.0

Problem:
After paying the $5 to upgrade from iPhone OS 2.1.1 to 3.1.1, the software download in iTunes stopped after completing and eventually displayed an error message that the "network timed out". On the downloads page, it showed error code 3259.

Resolution:
My antivirus software (ESET) was stealing the file from iTunes after the download completed, scanning it, and not returning it in a timely manner, since the file was rather large. I temporarily disabled the antivirus software, restarted the download, and then everything worked fine. (Don't forget to reenable your antivirus when you're done!)

I hope this can help save you a headache!

Thursday, September 10, 2009

Beware of Courier font in Firefox

I noticed today that in Firefox (3.5.2), the Courier font does not size well at all. The smallest it gets is about 12px.

If you want a nice fixed-width font that does work well in Firefox, use Courier New instead.

Tuesday, September 8, 2009

NoMethodError, undefined method `call' for MyController:Class

If you're getting this error:
NoMethodError in MyController#my_action
undefined method `call' for ClientScriptsController:Class

...then you might have forgotten to make your controller inherit (extend) the ApplicationController class, like I did. The big clue is that the undefined method is in the class, not the instance.

Controllers should be set up like this:

class MyController < ApplicationController
def my_action
#do something...
end
end

Friday, August 28, 2009

booleans in ruby


Here's an interesting tidbit about the Ruby language: it has no native boolean type. The true and false keywords are actually instantiations of the TrueClass and FalseClass types. In ruby, things evaluates as a boolean like so:

- false and nil are false

- everything else is true

Sounds intuitive, but it may trip up programmers used to C-style languages to know that 0 (zero) evaluates to true. Here are some tests:





Tests run using Ruby 1.8.6.

Check out this Wikipedia article for more details about booleans in Ruby.

Wednesday, July 8, 2009

Oracle Installation error: ORA-12560

I'm setting up a development environment on my machine for a new web app in Ruby on Rails with an Oracle back-end. This was my first time installing an Oracle database. It's quite an archaic and un-user-friendly process. The good news is, I've spent a lot more time praying than I usually do while at work. I'll try to keep this short.

OS: Windows XP, SP3
Installing: Oracle 10g Standard Edition
Steps:
  1. Download the zipped 10gR2 installer package from Oracle's website (~625MB).
  2. Extract the zip file somewhere on my hard drive.
  3. Run the setup file in the extracted folder.
  4. Follow the wizard, selecting not to create the sample database at the beginning. Use the defaults for everything else. Yay, now we've got an empty Oracle installation.
  5. Now to create a database. Click Start > All Programs > Oracle - OraDb10g_home1 > Configuration and Migration Tools > Database Configuration Assistant.
  6. Follow the wizard, keeping the defaults (except I changed the character encoding to Unicode).
The Problem: I got a whole ton of error dialog boxes popping up. I chose "ignore" on all of them, allowed the database to finish being created, and then took a look at the log file (myOracleFolder\product\10.2.0\db_1\cfgtoollogs\dbca\myDatabaseName\emConfig.log). The log file mentions:

CONFIG: ORA-12560: TNS:protocol adapter error

oracle.sysman.assistants.util.sqlEngine.SQLFatalErrorException: ORA-12560: TNS:protocol adapter error

at oracle.sysman.assistants.util.sqlEngine.SQLEngine.executeImpl(SQLEngine.java:1467)
at oracle.sysman.assistants.util.sqlEngine.SQLEngine.connect(SQLEngine.java:814)
at oracle.sysman.emcp.util.GeneralUtil.initSQLEngine(GeneralUtil.java:363)
at oracle.sysman.emcp.DatabaseChecks.validateUserCredentials(DatabaseChecks.java:986)
at oracle.sysman.emcp.ParamsManager.validatePassword(ParamsManager.java:2694)
at oracle.sysman.emcp.EMDBPreConfig.checkConfigParams(EMDBPreConfig.java:1268)
at oracle.sysman.emcp.EMDBPreConfig.checkParameters(EMDBPreConfig.java:1060)
at oracle.sysman.emcp.EMDBPreConfig.invoke(EMDBPreConfig.java:174)
at oracle.sysman.emcp.EMDBPreConfig.invoke(EMDBPreConfig.java:160)
at oracle.sysman.emcp.EMConfig.perform(EMConfig.java:141)
at oracle.sysman.assistants.util.em.EMConfiguration.run(EMConfiguration.java:430)
at java.lang.Thread.run(Thread.java:534)
Jul 8, 2009 9:50:33 AM oracle.sysman.emcp.EMConfig perform
SEVERE: Invalid username/password.
Refer to the log file at C:\oracle\product\10.2.0\db_1\cfgtoollogs\dbca\orcl\emConfig.log for more details.
Jul 8, 2009 9:50:33 AM oracle.sysman.emcp.EMConfig perform
CONFIG: Stack Trace:
oracle.sysman.emcp.exception.EMConfigException: Invalid username/password.
at oracle.sysman.emcp.EMDBPreConfig.checkConfigParams(EMDBPreConfig.java:1272)
at oracle.sysman.emcp.EMDBPreConfig.checkParameters(EMDBPreConfig.java:1060)
at oracle.sysman.emcp.EMDBPreConfig.invoke(EMDBPreConfig.java:174)
at oracle.sysman.emcp.EMDBPreConfig.invoke(EMDBPreConfig.java:160)
at oracle.sysman.emcp.EMConfig.perform(EMConfig.java:141)
at oracle.sysman.assistants.util.em.EMConfiguration.run(EMConfiguration.java:430)
at java.lang.Thread.run(Thread.java:534)


The solution:
Uninstall the half-created database I just made, restart my machine, and then recreate the database. Now it works. *smacks forehead*

Monday, July 6, 2009

Haikus on learnjapanesepod.com

I often listen to a podcast called learnjapanesepod. It's excellent --highly recommended for anyone studying Japanese as a part of this balanced breakfast, including classes, listening to Japanese music, going to Japan, watching anime, and writing nerdy things in Japanese to your wife on your whiteboard at home.

A couple of haikus that I wrote in the their forums were read "on the air" on their podcast last Friday... I'm excited :) . Btw, the name I used was "jensengo".

Here's the link for that episode: http://learnjapanesepod.com/fun-friday-for-3rd-july-2009/.