Friday, March 23, 2007

New pictures from a morning in the National Park in Ramat-Gan





I spent this morning with my mother and my youngest son, Nir, at the national park in Ramat-Gan. We went there due to a gathering of participants of Tapuz's gardening forum.

Here's my post with many pictures, at the forum: http://www.tapuz.co.il/tapuzforum/main/Viewmsg.asp?forum=465&msgid=95914106

Thursday, March 22, 2007

New patent submission

I just submitted a new patent idea at work. It describes a pattern matching engine that I designed and implemented for signature based negative security (i.e., signature based IDS/IPS). The engine is useful in cases where one needs to match a large (possibly even a very large) number of matching rules against data, for example be used in lexical analyzers or parsers, or other information extraction tools.

Let's see when the patent committee discusses the idea.

Multiple possible root elements in XML Schema validation

I posted to xml-dev that validation of an XML document against an XML Schema allows more than one root element to the document when there are global element definitions in the schema.

This was confirmed and the relevant standard text was quoted by repliers.

See: [link to post is not yet available in the online archives]

Wednesday, March 21, 2007

Google Reader

A few weeks ago a friend of mine at work showed me how he reads things using the Google Reader. From then on my life is not the same :-)

I gradually find more bloggers that I enjoy reading and I like it!

I started to do daily reads on XML technology, math, science, open source software, linguistics, data mining and other interesting things.

Sunday, March 18, 2007

New pictures of the kids




There are new pictures on the kids available on the gallery at http://yeda.cs.technion.ac.il/~yona/aviv/index.html

Here are some previews:


Nir with his great grandmother (Michal's grandmother), Sabina.

Sivan devouring some olives.

Aviv just before his celebration of his 6th birthday party at his kindergarden with his teacher, Sara.

Saturday, March 17, 2007

Music of the primes המוסיקה של המספרים הראשוניים

I read the "Music of the primes" over the weekend. See my review on Amazon:
http://www.amazon.com/Music-Primes-Searching-Greatest-Mathematics/dp/0060935588/ref=pd_bbs_sr_1/002-9555581-6095224?ie=UTF8&s=books&qid=1174159170&sr=1-1

קראתי את ספרו המרתק של מרכוס דה סוטוי, המוסיקה של המספרים הראשוניים. הסקירה ההסטורית על נושא במתמטיקה וחשיפה עלילתית של ההתמודדות של האנשים השונים, של החוקרים השונים והכול תוך כדי חשיפת האוירה והתרבות והחיים בתקופות שבהם פעלו הדמויות -- כל זה מרתק.

I'd describe the book first as a novel, then as a history book and will not describe it at all as a mathematics book. It does, nonetheless, links nicely the thread that links several important works in mathematics.


Too many metaphors for my taste. Also, too many repetitions on information that was already mentioned in previous pages.

The book gave me a nice overview of the last two centuries viewed through the linking thread "The Riemann Hypothesis", introduces some interesting problems, some of which I learned in my undergraduate studies, and some were new to me. I liked the list of references for "extra reading" given by the author.

Nice book, too much of a "novel" for my taste. I like my math formal and my history with more facts than metaphors, but I'm not sure that my taste is the kind that makes books like this sell... :-)

Bottom line: nice read. I read it in a weekend and the Hebrew version (with a very good, in my opinion, translation by Uriel Givon, who added some extra information in the footnotes). 

Saturday, March 10, 2007

u8u16 high-speed UTF-8 to UTF-16 conversion software

http://u8u16.costar.sfu.ca/ contains the SVN repository for u8u16, high-speed UTF-8 to UTF-16 conversion software based on the parallel bit stream technology developed by Prof. Rob Cameron.

The implementation uses a (patent pending) technology to achieve high-speed encoding form conversion several times faster than typical industry standard iconv implementations.

Friday, March 9, 2007

Keep it DRY, shy and tell the other guy

I read a nice article from IEEE Software by Andy Hunt and Dave Thomas that tries to describe Object Oriented Design in one sentence: "Keep it DRY, shy and tell the other guy".

DRY means: Don't Repeat Yourself. The idea is to keep a single authoritative and unambiguous representation of an information item in your system. This way, even if you end up having several copies of the same data, possibly in different representations, you should be able to generate them all from that single authoritative and unambiguous representation. Code reuse is a good example of this principle. The principle doesn't only apply to code, but also to documentation, build process, schemas, etc.

Shy means: de-coupling. The authors describe four types of coupling:
  • static -- one thing requires another thing in order to compile. This is not a bad thing as long as you use what you need and avoid things you don't need. Don't carry excess baggage.
  • dynamic -- when one piece of code requires another one at runtime in order to perform a task. This becomes a problem when you find yourself using a daisy-chain of calls to different pieces of code instead of direct communication between the parties involved.
  • domain -- when your domain expertise becomes part of the code. This is not bad as long as the domain information doesn't change much, but becomes a serious problem when it does. Representing the domain information as meta-data and processing it using a rule engine will usually save the day.
  • temporal -- when the coupling has time dependency. Think about avoiding time dependencies where they are not necessary.
Tell the other guy means: do your best to tell other code what to do instead of asking it for data and process it yourself. You shouldn't care about details and how things are done, your should just care about getting things done and leaving the details to the parties that need to do it.

I really recommend reading that short paper. It is offering quite good advice.

Chat on any (?) site

I came across a service called Gabbly. It uses Ajax to add a chat widget to a website which can then be used to facilitate chat between fellow-gabblers.


For example, the code to add to my website at http://yeda.cs.technion.ac.il/~yona/ is as follows:

<iframe src='http://cw.gabbly.com/gabbly/cw.jsp?e=1&t=http://yeda.cs.technion.ac.il/~yona/' scrolling='no' style='width:300px; height:250px' frameborder='0'></iframe>

Of course, you'll need to register with them, i.e., give them a username a password and an email address, which they validate using a link they email you and expect you to click in order to invoke the account.

You can also initiate a chatter on any website from their site simply by entering a URL into a form and clicking submit.

Another nice thing I saw was an ability to get an RSS feed from a chatter box. I couldn't think of a use for this -- but it does look like a "cool" feature.