The Hoju Saram

Friday, September 29, 2006

“Goosing” for the kids.

Found this article on chosun, it is about “goose dads”. Basically these guys stay in Korea and send their kids and wife overseas to study/live. They sometimes do this for years and years. Personally I find this pretty sad, as a father I find it hard to leave my son for a single day, and I don’t care how good you think the education is, this is just plain crazy. I saw a SBS documentary on this about a year ago.

Memories of the Ghibli Museum


Last night at my house I found the guide book for the Ghibli museum in Japan. It doesn’t seem that long ago , but it is over a year now since we last visited Japan. While we were there our friends managed to get us some tickets to the Ghibli museum. If you are a Miyazaki fan in any way at all then you must go there. Miyazaki has created a large number of excellent animated films; Spirited Away, Tottorro, Laputa castle in the sky and most recently Howls Moving Castle to name a few. At the museum you can see some short films that are not available anywhere else in the world along with a huge amount of historical material. I was lucky enough to see a extra piece of the Tottoro movie which included little May and a baby cat bus.

Oh , there is also a giant Cat bus for the kids to play on inside the museum.

http://www.ghibli-museum.jp/.

미국사람 아니에요’ 옷 파는 캐나다 청년


It would seem that a Canadian by the name of Michael Kenny has the same t-shirt idea as me..
He says he is going to sell them to Canadian youth and tourists, and he came up with the idea because he wants to save up some money to take a trip to Australia and South America with his girl friend. He is selling them for 15000 won. Not bad, it makes me think my ideas could work too.
I was going to write one that said, “I am not american , I am Australian” , but maybe now I will just go for some more abstract ones as mentioned in my previous entry. Thanks J for bringing this to my attention.

The orignal post is here

튀는 티셔츠’들의 집합소인 서울 이태원 길거리 옷 가게에 요즘 새로운 ‘강적’이 등장했다. 앞에는 ‘I’m not a migook’, 뒤에는 ‘미국사람 아니에요’라는 한글이 새겨진 티셔츠. 이달 중순 이태원역 스타벅스 앞 좌판에 ‘출시’돼 닷새 동안 100장이 넘게 팔려 나갔다. 이 티셔츠를 세상에 내놓은 이는 캐나다 청년 마이클 케니(31)다.한국 생활 4년째인 케니가 사업 아이디어를 내놓은 것은 불과 두 달 전. “이번 겨울에 여자 친구(권미선·29)와 호주·남미로 여행갈 돈을 마련하려 시작했어요. ‘미국인 아닌 백인’들 정서를 파고들기로 정했죠.” 마이클의 전략은 맞아떨어졌다. 옷 값은 1만5000원으로 길거리 티셔츠 치곤 비싼데도 호주·캐나다에서 온 영어학원 강사들과 유럽에서 온 관광객들이 몰려들어 재고품은 거의 남지 않는다.둘은 매주 금요일부터 토요일까지 이태원에서 작은 좌판을 벌인다. 자매품격인 ‘I’m waygook’, 뒷면에 ‘외국사람’이라고 쓴 셔츠도 잘 나간다. 보자마자 옷을 산 독일인 피셔 우베(48)씨는 “한국에 여섯 번째 왔는데 미국인일 줄 알고 영어로만 말을 걸어오는 한국인들이 꼭 있다”며 “내가 하고 싶은 말이 그대로 새겨져 있다”고 말했다. ‘와, 재밌다’라며 사간 미국인들도 여럿 있지만, 한국사람은 한 장도 사지 않았다.장사가 잘 풀리자 마이클에게는 두 가지 고민이 생겼다. 첫째 ‘짝퉁’ 걱정. 악명 높은 이태원에서 ‘짝퉁’들이 난립할 걸 고민하다 티셔츠 디자인을 특허청에 등록하기로 했지만, 절차가 워낙 복잡해 골머리를 앓고 있다. 둘째 고민은 사람들이 이 티셔츠를 ‘반미(反美)’와 연관시켜 보는 것. 실제 왜 이런 옷을 파느냐고 따진 미국인도 대여섯 명 있었다고 한다. “오, 절대 딴 뜻 없어요. 그냥 재미(fun)라니까요. 음, 미국 사람은 전부 코카서스 인종이지만, 코카서스 인종이 전부 미국인은 아니라는 것 정도는 한국사람들도 아는 게 좋지 않을까요?”

A Hit from Korea…. Almost

I thought I got a hit from Korea today.. It turns out that was an english teacher from Colorado who is about to depart for Daegu. I am a bit jealous. Daegu is on my list of preferred cities to teach in as I already know people there. I think the order of preference is probably Seoul, Busan, Daegu,Inchon. But we will see what happens as the time comes closer.

Forwarding lotus notes documents through outlook.

This database is available here

A couple of months ago, a couple of the businesses I provide IT services to converted from Lotus Notes/Domino to Outlook/Exchange. (I will leave it for another long post to explain the pros and cons of this). As part of this migration they needed a way of keeping some of their existing mail-driven domino apps running (until they could be re-written) even though they no longer had domino mailboxes for the users. I therefore had to come up with a way of sending notes documents through outlook. Most of these systems were mail-in databases, so I just needed a way of allowing users to reply to and/or forward these messages via outlook.

Basically the solution to this is:

a) Create design elements in the notes database to allow for any document to be copied in full to the windows clipboard.
b) Create an agent that when run does the following:

- Detach all of the current documents’ attachments to a temp directory
- Copy the current document to the clipboard, without attachments
- create a new outlook message via OLE
- Fill-in the subject and to fields in the outlook message
- Navigate to the body of the outlook message and paste the clipboard data.
- re-attach the attachments to the outlook message from the temp directory.

It would be nice to be able to automatically send the message from outlook, but outlook security stops you from being able to do this. So the users has to press the button themselves. This is sort of useful in case the receipients notes common name does match their new name in the Exchange GAL.

There is a link to a database containing this code at the top of this post. To get this to work in your own notes databases you need to add the “win32 api” script library, the “$ForwardSep” Subform, the “(Outlookforward)” form and both the agents to your database. You then need to copy the 2 action buttons from the memo form.

I have only tested this on outlook 2003, so it may need some tweaking for other versions.

More good Korean Lessons

Sogang University has an excellent on-line korean language course available. From the basic upwards, lots of examples.

http://korean.sogang.ac.kr/

Thursday, September 28, 2006

비밀 (Secret)


Yesterday I watched this movie. It is actaully a japanese movie, but I was given a korean subtitle version by a friend. My friend thought it was a really great moviue because he thinks the main actress is good looking. I personally found the movie very un-exciting. But it was very good for my korean subtitle practice.

낙지돌솥비빔밥


낙지돌솥비빔밥 is my favorite korean food. It is basically whole baby squid with vegetables and rice in a big stone pot. Usually you add 고추장 ( red pepper paste ) to it to spice it up.

It is very very nice.

Romanised you would say this "Nakji dolsot bibimbap"

Monday, September 25, 2006

Korean Language Basics

In 2008 I will be going to South Korea to teach English for 12 months, and setting up this blog was partly because I was looking for somewhere to blog the journey, I am very much looking forward to doing this, as it will be a very welcome break from my normal job of computer programmer, but it will also give me an oppurtunity to catch up with some Korean friends and live and breath the culture, lifestyle and especially the food of a country I have grown to love.

A couple of other members of my family are coming with me, so I have been looking around for a basic language site for those who care to give the langauge a go. The tour2korea website has a very nice Korean for beginners section available here.

Like most of the sites I have found on the web they tend to start easy and getting increasingly hard very quickly. Realistically there is about 2 years of study between
learning hangul and chapter two of this page.

Some members of my family are looking forward to the fact that they will not know what other people are saying for a year, so they are not wanting to learn the language. After spending a couple of minutes in a line at your local shopping centre it is easy to understand this frame of mind.

Most of the web-sites I have seen talking about teaching language in Korea say that you don’t need to know the language but if you do it would be a big benefit.

Where hammer and technology meet




I am in the midst of building a deck near my pool in time for summer. ( Photo evidence forth coming ). I went to the hardware store last week to price some timber for the job. My mobile phone camera came in very handy for this job.

While I was there I also got myself a laser level. It cost $A23 and has small laser that runs on 2 AA batteries. I found this amazing, a full functioning true laser for $23. I feel like telling one of those stories that starts with “When I was a lad …..” , but that would just make me seem old.

Pricing for bearers
Pricing for Joists
Pricing for decking
Pricing for joist grips

Adoption Weekend



The Townsville adoption group meet on the weekend for the annual Magnetic island camp. Saturday night was the cultural dinner where everyone makes a meal from their adopted childs birth country. My wife made 아주 맛있은 만두 (very tasty korean dumplings). Countries represented at the table were, Korea, China, the Phillipines, Euthiopia and I even saw a plate of sausages which definitely looked Australian.

All of the kids had a great time playing but the weather was not very good, so a number of the planned activities didn’t happen.

Sorry about the photo ( it was taken with my mobile ) I will post a better one when I get a chance to download them from my camera.

I also meet a very friendly possum while I was on Magnetic Island. He let me take a very close photo of him with my phone.

The wonder of the net


I have been working with i-net technologies for over a decade now, so things like this shouldn’t come as a surprise, but I cannot help but be amazed whenever I see things like this. My site has only been up for a couple of days, and already a Russion an Indian, an Argentinian and a Swede have paid a visit. Interestingly not a hit from Korea, but I hear that google has very little penetration there, so no surprise really.

Thursday, September 21, 2006

BlueTooth is handy!!


At work I have a HP-Compaq nw8240 laptop with XP Pro. It has built in bluetooth . I also have a Motorola V3 which is bluetooth enabled. So copying pics from my camera is as easy browsing for files. No Cables , just power on bluetooth for the mobile and off you browse.

I have tested the range and I can have my V3 over 10m from my laptop and it still works fine.

산토끼 (San Tokki)

One of the first Korean songs I ever learned was 산토끼 (San Tokki). It is a children’s song about a mountain rabbit and it goes as follows:

산토끼 토끼야
어디를 가느냐
깡총 깡총 뛰면서
어디를 가느냐

Romanised:

San Tokki Tokkiya
Odi rul kanunya
Ganchong ganchong dwi myon so
Odi rul kanunya

English:

Mountain Bunny , Oh Bunny
Where do you go ?
Boing! Boing! While you jump
where do you go ?

More Models from Taxi and Toxi



Last night I received a late birthday present from Japan.. More Gundam.. Whoo Hoo…

Thanks Guys. Here is a picture that might spark some memories of your happy times at the Ranch.



Rocket Man Still Lives !!!

Another example of “Client Siding” using Excel.

As an addition to my previous posting about “client siding” here is another example of a drillable report that allows you to build an excel document from the currently viewable report. Again IE only sorry.. I am sure one of my FireFox buddies will write a version soon.

The drillable report is written in DHTML, the export to excel function uses the exact same concept a found in my previous post

This is a good example of pulling data once from the server and then manipulating it the client.

Using Client Side Office Document Creation in your web apps

I am a great believer in client side web programming. I find the whole "everything on the server" approach to web design to be a bit crazy given the immense power of the average client machine these days. P4 1Gb Ram , back in 1985 you would have thought you could have run the worlds stock markets with that sort of power.

The issue with client side web programming is that peoples bad experience will java applets (slow to load) an activex controls (Security: I once wrote one that would format your hard drive just by visiting a page) means that today alot of developers seem to have an avertion to the concept.

I personally think that javascript and DHTML are brilliant, and add in AJAX and you literally have an entire data-aware programming environment ready for action. So what do most web developers do. ??.. Ignore it , load up their server with all the work and watch their website grind to a halt !!

Anyway enough ranting..

Two of the areas of web application development that can get huge performace (and user experience) gains from moving to client side processing are:

1. Drillable reporting and charting.
2. Dynamic Office Document Creation.

For now I will leave client side drillable reporting until another post and focus on Dynamic Office Document Creation. When I say "Dynamic Office Document Creation" I mean something like dynamical making an Excel Spreadsheet or a mail merged Word document.

Dynamic office document creation is pretty much the realm of the server these days, and most of the time people install some sort of 3rd Party tool on their web-servers to do this. As you can imagine these sorts of things are pretty resource intensive for the server especially if you are producing large documents. Also because the documents are created on the server they then have to be downloaded to the client; and these documents tend to be 1000x larger that the original dataset.

Lately I have been thinking of an idea of how this could be moved to the web client to off-load it from the server and lower the bandwidth requirements. I have come up with an idea that requires just the Browser and the Target Office application.

Here is the basic idea; Lets say I want to create a mail merge document of a standard letter using data stored in an SQL database via my web app. I do the following:

1) Create a web page that allows the system users to query the address data they want in the mail merge.



2) In the search results page have a hidden Textarea that also contains the returned data, but in a tokenized format (xml is good , but any tokenized format will do).

The form also contains a button that does the following.:

a) Loads the contents of the hidden textarea element into the clipboard.
b) Redirects the user to the Mail Merge word document that contains the code to do the mail merge work.

The IE javascript code for this is:

function IE_ClipBoardandLaunchDoc()
{

//htext is the hidden textarea where the server built the tokenize data
// <textarea id="Datatext" style="DISPLAY: none">….. data ….</textarea>

var htext = document.forms[0].Datatext;
Copied = htext.createTextRange();
Copied.execCommand("Copy");
alert('When the file download dialog box appears press "Open".This will launch word and display the document. Click the \'Merge Me\' button to perform the Mail Merge.\n\nPlease make sure you have macros enabled in word or the document will not be built');
document.location = 'SampleMerge.doc';

}

( I don’t use firefox/mozilla so I don’t have a version of this code for those browsers. But if you care you can probably work it out from here

http://developer.mozilla.org/en/docs/Using_the_Clipboard or http://www.jeffothy.com/weblog/clipboard-copy/ )

3) Create a word document that has the body of the standard letter and all of the fields that need to be filled in. Add to the bottom of this document a button that when clicked will.

a) read the data from the clipboard and de-tokenize(parse) it
b) create a merge datasource from the data
c) perform a merge against the document and the newly create datasource.

Here is an example of this in action.

Wednesday, September 20, 2006

Sharp RD900Mp - Awesome korean dictionary


It was my brithday the other day, so I (with alot of help from my 한국 친구 ) got myself a sharp RD-9000MP electronic dictionary. I couldn’t find it in Australia, but a few of my korean friends had one so I got one sent over from Korea. It ended up costing me 230,000 won ( about $A 320). It is absolutely brilliant. It is the korean model, so you do need a little bit of korean language knowledge for it to be useful, but I have to say I find it awesome. It has english=> korean / korean=>english , japanese , chinese, fm radio, clock , mp3 player and supports and SD Card for expanded memory for songs etc.

There is a spec page , but it is only in Korean
http://www.sharp-korea.co.kr/04products/prditm.asp?pid=341

I don’t know how I every lived without it. Thanks to my 한국 친구 's for helping me out..

Architecture for Cats


Inspired by these crazies when I build my last house I designed into it a cat ramp and cat run for my furry friends. Last night one of my cats "Minty" was using it, so it was a great oppurtunity to take a few pics.

Ramps
Holes
Hall

Models


One of me on again off again hobbies is building models. A while ago one of my japanese friends (Taxi) sent me a scale model of my favorite car The Lancer Evolution IX . Me and him have a fantasy about racing a WRX STI and and EVO IX down Yokohama expressway (a very very straight piece of beautiful freeway just outside of Tokyo).. Anyway .. I finally got around to making it last week.

So now all I have to do is the other model he sent me... Legend Gundam ... Sweeett !!!

Tuesday, September 19, 2006

Pagable – Sortable gridview + Filtering + Drag&Drop Columns

There is an update to this post: Please see http://thehojusaram.blogspot.com/2006/12/source-for-drag-drop-paging-filtering.html which includes a link to source code.

One of my current .Net projects at work involves creating a outlook like interface to SQL Data. To do this I have created a light weight pagable/sortable gridview that allows the user to change the order of the columns by drag&drop, and also supports column value filtering by allowing a user to right click on the column headings and type in a value. I haven’t finished it yet but here are some screen shots of it in action..

I do all of the paging/sorting and filtering of data through business objects, and the data retrieval is light weight because I am using a nice Stored Proc that only returns the exact number of rows requested by the user. No loading 5000 rows to display 10.


Client Side Drap and drop of columns
Right Click on column to filter
Gridview after column drag and filter

Integrating Domino Data with .Net

For all articles relating to Domino to .Net conversion please see this post

Database can be downloaded here

For sometime I have been working on a generic solution to get Lotus Notes/Domino data out of domino and published in such a way that is is available to non-notes applications. This includes .Net which I currently develop in along with Domino. There are a number of third party products to do this Proposion (http://www.proposion.com/ ) is a good one, but it is .net only and costs $$. I prefer a DIY solution.

Getting most of the data out of notes in pretty easy, except for the rich-text. Domino stores richtext in a proprietory way. You can export richtext via DXL, but this tends to produce masses of XML that is useless to everything but Domino. I wanted to come up with a solution that would allow me to get the rich-text in a way that could be used by other apps. The best most generic approach would be as html.

If you view a notes document via a browser the domino server automatically renders all of the visible data( and form design) to html. But to get a single field from this form is difficult because you don’t know where one field starts and .Really what you need is a way of retrieving the html data of a single richtext field in some dynamic way… DXL to the rescue.

Domino has something called form formulas. This allows the developer to say which form is used to show a document in a speciifc view. Using the DXL Importer you can dynamically create forms and views. So it is possible to dynamically create a view and a form for each richtext field on a document that will only show the html of a richtext field when that document is viewed from a browser.

What I have done it written a lotusscript agent that produces an xml document representing the requested notes document as below.

<RESPONSE>
<DOCUMENT>
<ID>0AEEF2158B83FEA04A2571D1000C08D1</ID>
<CREATED>21/08/2006 12:11:26</CREATED>
<MODIFIED>11/09/2006 10:36:40</MODIFIED>
+< ITEMS ></ ITEMS>
</DOCUMENT>
</RESPONSE>

The Items element contains all of the notes item data. Any text,date,author,reader,names or number field is represented in the xml and the values can be read directly from the xml (such as below)

<ITEM>
<NAME>$Revisions</NAME>
<TYPE>1024</TYPE>
<VALUES>
<VALUE>30/12/1899 00:00:00</VALUE>
<VALUE>21/08/2006 12:11:49</VALUE>
<VALUE>21/08/2006 13:05:35</VALUE>
<VALUE>21/08/2006 13:36:23</VALUE>
<VALUE>21/08/2006 13:36:58</VALUE>
<VALUE>11/09/2006 10:34:55</VALUE>
</VALUES>
</ITEM>
<ITEM>
<NAME>$UpdatedBy</NAME>
<TYPE>1074</TYPE>
<VALUES>
<VALUE>CN=User1/O=MyOU</VALUE>
<VALUE>CN=User2/O=MyOU</VALUE>
</VALUES>
</ITEM>
<ITEM>
<NAME>DeliveredDate</NAME>
<TYPE>1024</TYPE>
<VALUES>
<VALUE>21/08/2006 12:11:49</VALUE>
</VALUES>
</ITEM>
<ITEM>
<NAME>From</NAME>
<TYPE>1074</TYPE>
<VALUES>
<VALUE>CN=TheSender/O=MyOU@MyDomain</VALUE>
</VALUES>
</ITEM>
<ITEM>
<NAME>Subject</NAME>
<TYPE>1280</TYPE>
<VALUES>
<VALUE>This is a nice message</VALUE>
</VALUES>
</ITEM>
<ITEM>
<NAME>Assign</NAME>
<TYPE>1280</TYPE>
<VALUES>
<VALUE>Me</VALUE>
</VALUES>
</ITEM>

Rich text fields (TYPE 1) are shown with an RTURL element. The RTURL Element value is a url that will render the HTML of that field only. This html can then be stored in SQL, parsed/filtered etc etc


<ITEM>
<NAME>Body</NAME>
<TYPE>1</TYPE>
<RTURL>/CES/IMRequests.nsf/$$DotNetDocsView_Body/1AF569B27F9E66074A256FCD007BE90E?Open</RTURL>
<FILES>
<FILE>folder.gif</FILE>
</FILES>
</ITEM>

Attachments (TYPE 1024 ) are shown with a URL element. The URL value is a url to the file attachment(binary stream). This stream can be stored in SQL or save to disk.

<ITEM>
<NAME>$FILE</NAME>
<TYPE>1084</TYPE>
<SOURCE>folder.gif</SOURCE>
<URL>/DEV/NotesExport.nsf/$$DotNetDocsView_$FILE/1AF569B27F9E66074A256FCD007BE90E/$FILE/folder.gif</URL>
</ITEM>

The text of the SOURCE Element of the file matches the name of the FILE element in the RichText Item. So it is possible to match which richtext field a file belongs to if there are more than one rich-text fields on a form.

The agent also support a couple of other commands that allows for the view navigation to gather a document collection so that data extraction can be automated in bulk if required.

To see the agent in action you need to copy it to an existing notes database and sign it with an id that can run agents on your domino server and has manager access to the database. Then from a browser open the url

http://<dominoserver>/<pathtodb>/dotNetDataViewer.xml?OpenAgent&Action=recreateview

This will create a generic the default view used by the agent to return data. This view is called $$DotNetDocsView. You can go into the database and update the design and change the selection formula as required.

Next in the browser go to the url

http://<dominoserver>/<pathtodb>/dotNetDataViewer.xml?OpenAgent&Action=viewchunk

This will give you an xml document that contains the ids of the first 100 documents in the $$DotNetDocsView. ( if you specify a Param=<docid> on the viewchunk action it will return the next 100 documents after the specified <docid>).

Using one of the ids listed you can see how a document is represented by going to the url

http://<dominoserver>/<pathtodb>/dotNetDataViewer.xml?OpenAgent&Action= viewdoc&Param=<docid_of_document>

Where <docid_of_document> is the universal id of the doucment to view.
This will generate the xml for this document in the format above.

I am currently writing a .net application that uses this agent to pull data out of notes using this technique. It is very easy because you simply have to create a httprequest; read it into a buffer and then parse it through an xmldocument. You then have all of the notes data from a remote notes server available to your .net app as an xml document. You could then bind it to a datatable or whatever..

There is a little bit of extra formatting required of the html that comes from the richtext filed to strip out any notes related URLs, but that can be handled by the application that does the data querying/extraction.

The agent that does all this work is called “dotNetDataViewer.xml”

Using the iNotes Spell Checker in your own Domino Apps.

Database can be downloaded here

iNotes is a very nice web frontend to domino mail. Similar to what OWA is to exchange mail. Part of inotes is an integrated spell checker, which was always something missing in many of my domino apps. So I did a bit of work figuring out how the inotes spell checker fitted together so I could use it in my own web-based domino apps.

This database contains all of the pages code and data to get the spell checker going. Just load it on your domino server and go to the URL

http://<dominoserver>/<pathtodatabase>/SpellLoader?OpenPage

This will show a simple page with a textbox and spellchecker button, that will spell check the text box using the inotes spellchecker.

If you look at the design of the page you will see the lines. Changing these values effects how the spellchecker works ( plain text vs HTML ).

<input type="hidden" value="1" name="s_UsePlainText">
<input type="hidden" value="0" name="s_PlainEditor">

<textarea style="WIDTH: 100%" name="Body" rows="10"></TEXTAREA&gT; <input onclick="SpellSubmit('Body')" value="Spell Check" type="button">

Domino Activex Inotes File Upload Control

Database can be downloaded here


A number of years ago I wrote some code in Domino that allowed me to use the Domino Activex Inotes File Upload control in my own applications. The trick was that I wrote a java servlet to handle the fileuploads as the active control expected a particluar response from the server.

A couple of days ago I stumbled across an old post I made on notes.net ( as it was called at the time ) about this. I thought I would dig-up and re-publish the code here.

The about document of this database contains the java code for a servlet that is required to handle the file uploads sent from the ActiveX control. The instructions for installation are in the about document of the database. The rest of the database is a sample web discussion which shows how to use the code and activex control. To use the system you will need to re-sign the lotuscript code (agents and script libraries) with an id that can run agents on your server.

Basically the setup is this.

a) You configure,compile and install the java servlet on your domino server.
b) When you attach files via the activex control and submit the form then servlet captures the files sent from the activex control and stores them in a temp directory on the server.
c) When the form that contains the activex control is posted back to the server it triggers an agent to run that picks up the files from the temp directory and attaches them to the notes document.

You need to make the following changes to get this to work in your environment.

1. In the Thread subform you need to change the value of the V_ServerName field to be the base URI of your domino server.

2. On the server you need to create a directory where the files uploader servlet can temporarily store the files before they are attached by the agent. This directory must be under the notes data directory for the server.

3. You need to adjust the AttachUploadstoDoc function in the UploadFunctions script library by adjusting the line

FilePath = "d:\lotus\notes\FileUploads\" + Doc.VUser(0) + "\"

To match the directory on the server you set up in step 2.

4. You need to create a servlet ( using a java compiler ) using the java files attached to the “about this database document” and install it on your server,

The java package I created in this code is com.SHIS.inotes but you can change this just make sure you adjust the servlets.properties file ( step 5 ) to match you package name.

Before you complile the servlet adjust the line in UHandler.java file

FileOutputStream f = new FileOutputStream(new File("FileUploads/" + UID + "/" + FileName));

to match the name of the of the directory you create in 2. In the java code the directory name ( "FileUploads" ) is relative to the notes data directory , so you do not need the full path here.

5. Once you have compiled the java code then you need to install the .jar file on your server, and add the lines in the servlet.properties file ( attached in the “about this database document” ) to your servers servlet.properties file making sure that the java package name matches the java package you created.

If you need help on with installing servlets and the servlet engine settings please see the Domino Designer Help "Running servlets in Domino".

6. Once the servlet is in place and the servlet engine on the server is running then you can try out the activex upload control by creating a new message in this discussion database and attempt to attach some files and submit the message.

Korean Google translator is not so good

I know that it is still beta.. (Like much of the stuff on google ) but the Korean lanagage translator at http://www.google.com.au/language_tools?hl=en is not so good. It is useful for small words and phrases but anything of any length or technical difficult becomes a complete mess.

The other day my brother-in-law asked me to translate a few korean comments that were left on a website about one of the sites he made tiddlyspot.com. The comments basically said something about what the site could do and how it was very good. I ran the comments through google translator just to see what it would come up with and out popped a sentence about the depth of bedspreads..(??)

Now that’s a great Shirt. “ I have a deep bedspread “.. wtf ??

Romanising English Names

I am part of the local inter-country adoption group, as I have an adopted son from South Korea. This weekend the group is running it yearly outing where alot of adoptive families get together. I have been asked as part of this to help with the production of a poster that will have picture of all of the adopted children with their names written in their birth-country script. Most of the children have western names, so this presents a bit of a problem as sometimes you have to guess at names. Especially ones with F or V or th in them as the Korean langauge is missing these 3 sounds.

Fred for instance is 프레드 which reads Pur-red-ur.

I hope I don’t make to much of a mess of it.

The worst toy ever invented


I was in a toy shop the other day when I found this..
Seriously who ever wanted a remote control monkey head in their Christmas stocking.. This has got to be a joke..

Latest Article that requires translation

This is the latest article I have been sent to translate by a Korean friend. It is about the South Korean foreign adoption program. The article talks about an article from an Australian paper which I found through Google.

http://www.smh.com.au/news/national/adoption-heartache-for-hundreds/2006/09/16/1158334735676.html

한국이 최근 출산율 저하 등을 이유로 해외 입양을 중단시키기로 결정함에 따라 입양을 기다리던 호주 내 많은 가정들이 큰 충격을 받았다고 호주 신문들이 17일 보도했다.

신문들은 호주 어린이 국제원조 협회의 린다 로버트슨 부회장의 말을 인용, 한국의 어린이 해외 입양 중단조치가 호주 내 많은 가정들에게 충격으로 다가오고 있다면서 호주내 가정들의 해외 입양 전망이 매우 불투명해졌다고 밝혔다.

로버트슨 부회장은 "한국이 그동안 해외입양 프로그램을 별다른 문제없이 순조롭게 진행해 왔으나 출산율이 내려가면서 국내 입양으로 정책을 전환하고 있다"고 지적했다.

그는 현 단계에서 문이 완전히 닫힌 것은 아니나 한국이 국내에서 어린이들을 원하는 가정에 먼저 배려해야 하기 때문에 국제 입양을 더 이상 하지 않는다는 입장을 공공연히 천명하고 있다고 말했다.

1년 전 한국에서 4개월 된 남자아기 '수진'을 입양한 한 부부는 다시 한국에서 아기를 입양하기 위해 신청서를 제출했으나 전망이 불투명해졌다며 걱정했다.

이들은 문화적 연대감을 느낄 수 있도록 한국에서 어린이를 한 명 더 입양하고 싶다는 뜻을 밝혔다.

이들은 수진을 데리고 매주 한국 어린이들의 놀이그룹에도 참가하고 한국어와 한국 요리 등도 배우고 있다며 수진이 돌잔치도 한국식으로 해주었다고 자랑했다.

이들처럼 한국 어린이들을 입양한 호주내 많은 가정들이 한국 어린이를 한 명 더 입양하고 싶어 하는 경우가 많은 것으로 알려지고 있다.

신문들은 한국의 해외 입양 중단조치로 호주내 가정들도 충격을 받았지만 그 보다 더 많은 충격을 받은 건 지난 1995년부터 2004년 사이에 2만여 명의 한국 어린이들을 입양한 미국내 가정들일 것이라고 말했다.

한편 호주 뉴사우스 웨일스주 사회복지국의 한 관계자는 한국의 해외 입양 중단 조치를 확인하면서 그러나 그것이 일시적인 조치일 것으로 생각하며 이미 접수된 입양 신청서들은 한국 당국에 의해 정상적으로 처리될 것으로 본다는 의견을 밝혔다.

Personally I think it is wonderful that Korea are making an effort to deal with adoption internally. The best outcome for a Korean child is to stay in Korea , if a loving family can be found for them. Although having a Korean son of my own I do understand the heartache that is involved for people who have been waiting a long-time to adopt a child. It will be interesting to see what the long-term outcome for the Korean Adoptive program is.

I also liked that the parents seemed to have kept their child’s korean name 수진 Sujin. That’s a very pretty name, I wonder what it means?? It is fairly common for adoptive parents to change their childrens name to something more western even against advice. So it is nice to see when parents haven’t done this.

Articles like this are very good for me because they contain many words you would not use in everday speech.. This is very good for increasing my vocabulary.

Here are some of the words from this article that I didn’t know.

출산율 – Chulsanyul = Birth rate
충격 – Chunggyok = Shock / Impact
해외 – haewoe = Foreign Countries
중단 – jungdan = Suspension/Break
이유 – eeyou = reason/cause
불투명 pultumyong = Cloudy/turbid

The difference one letter makes

Every week or so I have a korean language lesson at my 한국 친구 house. Usually this involves me getting articles from newspapers, magazines or the net and trying to read and translate them.

Last weekend I was given a sad story about a girl who sells matchsticks on the street to try and get money to eat. The title of the story was 성냥 팔이 그녀 (matchstick selling girl).

As at this time I had only had my new electronic dictionary for about 2 days I still wasn’t very good with the ㅏorean keyboard. So instead of typing in 성냥 (matchstick) I typed in 상냥 (gentle)

팔 means arm , but 팔다 means to sell. Because I typed matchstick wrongly I assumed 팔 meant arm in this case. So I thought the title was “Gentle armed girl”, not “Matchstick selling girl”. When I went to translate the story it made no sense at all, and I got very confused. About 30 minutes later I realised my mistake and could read the article.

What a difference a single letter makes.

Oz - Korean T-Shirts

I have had a good look around the net and discovered there is a distinct lack of Korean t-shirts in the market place. In Australia it is very easy to find a shirt in Chinese or Japanese , but I can’t honestly say I have every seen one in Korean.

So I think it is time to create some at
http://www.zazzle.com/design/shirt/ . I am thinking that it would be good to produce some that are meaningful as an Australian but obviosly written in Hangul.

Something like. “I have a pet Koala” - 나의 애완 동물 코알라 이다

Or “ I like to ride kangaroos” 캥가루 타를 좋아한다

Or “Wheres’ the BBQ“ 바비큐는 어디에 있어?

Any more ideas??? I think will need to get one of my 한국 친구 to check this before I spend the money on printing.

Monday, September 18, 2006

HTTPRuntime.Cache is not HttpContext.Current.Cache

It took me 3 days to figure out that

HTTPRuntime.Cache is not HttpContext.Current.Cache.

Well actually it is, but HttpContext.Current.Cache sometime returns nulls. If this is happening to you I recommended checking out the page below for more information on this.


http://weblogs.asp.net/pjohnson/archive/2006/02/06/437559.aspx

MMM.... LED Watches


I have a bit of thing for watches that are hard to read but look unique. I own quite a few watches that are completely impractical but look niiiiiccccccceeeeeeee !!!

I have found a new one on the tokyo flash site
http://www.tokyoflash.com/watches1.html it is the Barcode SS by Tokyo Time Evolution. I think it is very pretty.. It reminds me of the Chrystler C300 for some reason..

http://www.tokyoflash.com/viewwatch41W1Heavy-watches.html

I suspect it has no functions at all apart from some ridiculous way of telling the time.. But that is just the way I like it..

Hoju Saram

호주 사람 is korean for "Australian Person". Romanised this reads "Hoju Saram"

The polite way of saying I am australia is 나는 호주 사람 입니다 which reads as "Na nun Hoju Saram imnida".

In 2008 I am hoping to go to Korea and teach english for a year.. Before I go I want to get a t-shirt printed that says exactly that...





20인치 뿡뿡이 봉제인형


20인치 뿡뿡이 봉제인형 - (20 inch "PPung PPungee" plush doll)

A while ago I got one of these from korea for my sons birthday.. Ppung Ppung ee is a very funny kids show from korea about a creature from "Fart World" who plays with kids. He has a friend called "JeJe Jun" who at the beggining of every show he has to transform from an inanimate object into a person so he can play with him. To do this he uses one of his magical farts.

Although the show sounds crazy it is in fact very educational and teaches the kids alot about proper manners and korean traditional stories. Although my son doesn't speak korean at home, he still loves to watch the show.

Ppung Ppungee has a song he sings at the beggining of each show, if you squeeze the dolls tummy it sings the song.. Oh and farts ..Obviously