Thinking in Patterns chapter 3: Simplifying Idioms

Thinking in Patterns with Java V0.9: chapter 3: Simplifying Idioms: TIPatterns.htm#_Toc41169691

1, Sections name of today's learning;

    Messenger. 22

    Collecting Parameter. 24

2, What is it talk about in these sections and my comments and feeling for the content:

  Bruce's book always give me good reading experiment.

  He puts the Messenger and Collecting parameter at Simplifying Idioms

chapter, I think the reason is that these two patterns can be used in the basis implementation of a process which performing a specific task.

  1), Messenger.

  If we need translate many related parameters into a method, we can package

these parameters into an object, then we can translate this object into that method instead.

  I think I can use this Messenger pattern in our LearnDiary Open Source

Project like this: Because we use Struts framework, it need tranlate some

attributes from a Struts Action into a Jsp page, my method before is set these

attributes into request scope seperately, then get these attributes in Jsp

page seperately; Now, if some of these attributes is related, we can package some of these attributes into an attribute object, then translate this packaged attribute object into Jsp page. But, I think this need balance, we can't package all the attributes into only an attribute object without any proper reason.

  2), Collecting Parameter.

  Frankly speaking, I have never used Collecting Parameter patterns before, I

haven't ever thought that a parameter can be used like this: pass a parameter

into a method, let this method do some change on this parameter, then pass

this changed parameter into another method, and let this another method do

some change on this changed parameter again, and so on. That's really an

intresting use of a parameter. Just like flow line production:). But,

remember, the parameter is always only one same object, only the content of

this object changed. 

  Let me think a while, how can I use this pattern into our LearnDiary

project? aha, a little example coming, in our project, there is an Email

object, it consists of email address and title, content, and so on. Email

address can be gotten from user object, and email's title and content can be

gotten from an article object. So, create method at user and article object

for adding some field into email object. Then, translate email object into

user and article object's corresponding method to do some change in turn.  

 

3, My questions about the english language;

  1), Strange words:

  trivial, pass around, magnitude, dummy, pollen, accumulating

孩子急躁时怎么办?

  我们的孩子性情比较急躁,这从她很小的时候就可以看出来。只要她急起来的时候,很难听进去大人一般的对话。非要达到她自己的意愿为止。对于她这种急躁的性格,我也在日记里记录过几次,见:咪妹是个横牛(1岁多的时候),对孩子的任性也宽容点吧?,实际上,像这样的情况多了,只不过没有一一的记下来而已。

  昨天,又碰到一个事情。孩子看到别的小孩穿在脚上的旱冰鞋,就跑回来非要要。我们向她解释说,那是大点的孩子玩的,你这么小,没有合适的旱冰鞋。可她就不听,非要不可,一直哭闹。真是无可奈何。

  这时,我觉得我的处理方式还算行。我自己蹲下来,仍然轻言细语的对她说:“这样吧,你跟外婆到商场里去看看,我们看到合适的就给你买,好不?”她好像也知道商场里不会有是的,就是不去商场,而且还非要要。

  于是,我又轻轻的对她说了一些类似的话,渐渐的,孩子同意到商场里去看看,也就不哭了。

  所以,我的意见是:孩子急躁时,大人不能跟着急躁,不然是没有办法解决问题的。只有用点缓兵之计,先顺着她的意思说,在她的情绪稍微稳定了,再给她讲理,也许她就会听了。

  这个方法初见成效,以后碰到类似的事情再继续检验这种处理方式是否真的好用。

隐藏网页中的文字和使用锚点

这是在看准备用英文版的Thinking in Patterns学习设计模式时的一点意外收获:)

我发现在文本浏览器w3m中看这本书的目录时里面有数字,而在图形界面的浏览器中看则没有(详见:Outline of Thinking in Patterns with Java)。于是,我查看了网页的源码,发现原来使用了隐藏文字的技术(这个技术是什么名字我也叫不上,反正是这个效果)。从其中我知道隐藏文字可以用:


          <span style='color:windowtext;display:none;text-decoration:none'>

            .

          </span>

链接到锚点可以这样:


<a href="#_Toc41169680">

...

</a>

全部实验代码如下:

1)、隐藏文字:


<html>

  <head>

    <title>

      Test hiding some text in page

    </title>

  </head>

  <body>

    <p class=MsoToc2>

      <span class=MsoHyperlink>

        <a href="#_Toc41169680">

          The Y2K syndrome

          <span style='color:windowtext;display:none;text-decoration:none'>

            .

          </span>

          <span style='color:windowtext;display:none;text-decoration:none'>

            11

          </span>

        </a>

      </span>

    </p>

  </body>

</html>

2)、显示文字:


<html>

  <head>

    <title>

      Test displaying some text in page

    </title>

  </head>

  <body>

    <p class=MsoToc2>

      <span class=MsoHyperlink>

        <a href="#_Toc41169680">

          The Y2K syndrome

          <span style='color:windowtext;text-decoration:none'>

            .

          </span>

          <span style='color:windowtext;text-decoration:none'>

            11

          </span>

        </a>

      </span>

    </p>

  </body>

</html>

附网上摘的一段使用锚点的段落:(摘自:http://www.sdau.edu.cn/support/html/html_cn.htm


连结 <A HREF="URL"></A>

连结到锚点

<A HREF="URL#***"></A>(如果锚点在另一个档案)

<A HREF="#***"></A>  (如果锚点目前的档案)

N2.0 连结到目的视框 <A HREF="URL" TARGET="***"></A>

设定锚点 <A NAME="***"></A>

Thinking in Patterns Chapter 1: introduction

Thinking in Patterns with Java V0.9:  Chapter 1: introduction: TIPatterns.htm#_Toc41169679

1, The sections name of today's learning;

    The Y2K syndrome. 11

    Context and composition. 12

    A word about checked exceptions  13 

2, What is it talk about in these sections?

   Even my english is poor, but in order to learn it, I will write some my viewpoints of the content. After finishing read this book once, and to see a chinese version of this book, maybe I will rewrite some words at here.

   First, I am amused the term GoF is conerned with that well-known four persons in China include JiangQing, WangHongWen, etc..

  The first part tells us, you must have learned some basic OOP and have used Java some time, then you can read this book, it isn't for a beginer of Java or program.

  In section The Y2K syndrome, it tells us, focus on the key that is really the bottleneck of system, usually, only 10% code is this key, don't perform some optimization according to your own thinking without deeply testing. I think Bruce put these words at this location of this book, the meaning maybe is Design Patterns can be used at the key part of system(only 10%), for non-key part, you don't think the Design Patterns should be used everywhere.

  Bruce introduces two terms which is Context and composition, maybe he thought these two terms is very important in the Design Patterns? Because I haven't read some basic knowledge about Design Patterns, so I can't understand these two terms well. But I should remeber these words: "The context object allows you to use the pattern in a composition, and that may be it’s primary value.". Maybe I can understand these after reading this book.

  In fact, I don't think Bruce should put the content about "checked exceptions" at here, to Design Patterns, how important the "checked exceptins" is? In these part, I know Bruce discontented the "checked exceptions" in C++ and Java except Python. This part I can't understand it well, but I can get one is: "I intend to put a lot more RuntimeExceptions into my Java code".

  

3, My comments and feeling for the content?

  no.

4, My questions about the program itself;

  1), What on earth is Context object in the Design Patterns ?

5, My questions about the english language;

  1), Strange words:

  evolve, rudimentary, syndrome, subtitle, pitfall, terms, as far as, predicting doom, as if, premature, virtually, happen, particular, facade, knowledge, silly, past, dominate, landscape, turn around, intrude, go up, vanish, ream, opposite, tongue-in-cheek, widow, demonize, chronicle

  2), Strange sentences:

  Y2K syndrome:

  1>, Also,everyone seems to reserve in their own mind a special case ?except for this thing that I happen to know is a particular problem.?

  2>, these things aren?t so difficult after all, if I can see such an obvious problem.

  3>,  As a result, I know that many

embedded systems have no idea what the date or time is, and even if they do

that data often isn?t used in any important calculations. And yet I was told in

no uncertain terms that all the embedded systems were going to crash on January

1, 2000. As far as I can tell the only memory that was lost on that particular

date was that of the people who were predicting doom ? it?s as if they had

never said any of that stuff.

  4>, ?We should forget about small efficiencies, say about 97% of the time:

Premature optimization is the root of all evil.??Donald Knuth

  5>, My experience with Python exceptions supports this, and unless I get turned around on this issue I intend to put a lot more RuntimeExceptions into my Java code.

                                           incomplete

Outline of Thinking in Patterns with Java

Today, I found it can't sperate chapters in w3m brower in text mode of Linux. So, copy the Contents section at here, and seperate chapters by indenting the character. It hasn't indented After the line consist of "*".

Contents

Preface  8

Introduction  11

    The Y2K syndrome. 11

    Context and composition. 12

    A word about checked exceptions  13

The pattern concept 15

    What is a pattern?. 15

    Pattern taxonomy. 17

    Design principles. 18

    Classifying patterns. 19

    The development challenge. 21

    Unit testing. 21

        Location of test code. 22

Simplifying Idioms  22

    Messenger. 22

    Collecting Parameter. 24

Object quantity  25

    Singleton. 25

        Exercises. 27

    Object pool 27

        Exercises. 30

Object decoupling  30

    Proxy: fronting for another object 31

        The PoolManager using Proxy. 33

        Dynamic Proxies. 36

    State: changing object behavior  38

    Iterators: decoupling algorithms from containers  44

        Type-safe iterators. 45

    Exercises. 46

Factoring commonality  47

    Strategy: choosing the algorithm at run-time  48

    Policy: generalized strategy. 50

    Template method. 50

        Exercises. 52

Encapsulating creation  52

  Simple Factory method. 53

  Polymorphic factories. 55

  Abstract factories. 58

  Exercises. 61

Specialized creation  61

  Prototype. 61

  Builder. 62

  Exercises. 66

Too many  66

  Flyweight: too many objects. 66

  Decorator: too many classes. 69

    Basic decorator structure. 70

    A coffee example. 70

    Class for each combination. 70

    The decorator approach. 73

    Compromise. 78

    Other considerations. 82

    Exercises. 83

Connecting different types  84

  Adapter. 84

  Bridge. 87

  Exercises. 93

Flexible structure  93

  Composite. 93

System decoupling  95

  Observer. 95

    Observing flowers. 97

    A visual example of observers. 101

  Mediator. 103

  Exercises. 104

Reducing interface complexity  104

  Façade. 105

    Package as a variation of Façade  106

Algorithmic partitioning  106

  Command: choosing the operation at run-time  106

    Exercises. 109

  Chain of responsibility. 109

    Exercises. 112

*******************************************************************************************************

Externalizing object state  113

Memento. 113

Complex interactions  114

Multiple dispatching. 114

Visitor, a type of multiple dispatching  117

Exercises. 119

Multiple languages  120

Interpreter motivation. 121

Python overview.. 122

Built-in containers. 123

Functions. 124

Strings. 125

Classes. 127

Creating a language. 130

Controlling the interpreter. 134

Putting data in. 134

Getting data out. 140

Multiple interpreters. 143

Controlling Java from Jython  144

Inner Classes. 148

Using Java libraries. 148

Inheriting from Java library classes  150

Creating Java classes with Jython  151

Building the Java classes from the Python code  156

The Java-Python Extension (JPE)  157

Summary. 157

Exercises. 158

Complex system states  159

StateMachine. 159

Exercises. 169

Table-Driven State Machine. 169

The State class. 171

Conditions for transition. 172

Transition actions. 172

The table. 172

The basic machine. 173

Simple vending machine. 174

Testing the machine. 179

Tools. 180

Table-driven code: configuration flexibility  180

Table-driven code using anonymous inner classes  180

Exercises. 180

Pattern refactoring  181

Simulating the trash recycler. 182

Improving the design. 186

“Make more objects”. 186

A pattern for prototyping creation  189

Trash subclasses. 193

Parsing Trash from an external file  195

Recycling with prototyping. 198

Abstracting usage. 199

Multiple dispatching. 203

Implementing the double dispatch   204

The Visitor pattern. 211

A Reflective Decorator. 214

More coupling?. 219

RTTI considered harmful?. 220

Summary. 223

Exercises. 224

Projects  225

Rats & Mazes. 225

Other maze resources. 230

XML Decorator. 230

A: Tools  230

Ant extensions. 231

Array utilities. 232

Download this book at: http://www.mindviewinc.com/downloads/TIPatterns-0.9.zip

个人网站,不要流量也一样赚钱!(转帖)

转自:http://www.cn-pn.com/article/1/60.html

网站需要策略和运作,任何网站都是。下面这篇文章可以作为大家做任何网站的一点参考。

正文:

××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××

个人网站,不要流量也一样赚钱!

编辑:flymorn 来源:eczn.com 更新:2006-10-31 20:58:36 点击:

【字体:小 大】

摘要:个人网站,不要流量也一样赚钱!个人站长最擅长拉流量的方式就不外乎QQ广告群发。论坛发贴,砸钱,这些都手段却是能起到一定的作用,但是需要投入大量的人力和财力。

关键字:网站 流量 网赚

正文:

在写这个标题的时候。很多人点击进来看是觉得很好奇。个人站没流量拿什么赚钱,这似乎不可能,现在我来告诉你,这是完全可以的。很多站长认为。网站要赚钱,先从流量开始。其实这是一个误区,作网站要赚钱不是先从流量开始。而是先从品牌开始。

个人站长最擅长拉流量的方式就不外乎QQ广告群发。论坛发贴,砸钱,这些都手段却是能起到一定的作用,但是需要投入大量的人力和财力。

最近在DONEWS.“庞”出现的频率甚多,而其自创的BLOG招聘也打出中国第一。每每公司有新人进来之时也要在BLOG上大赞,而最吸引人的眼球是 “加入我们,3年,您有望成为千万富翁 ”,使得庞的QQ人满为患,“世外桃源,高薪水,高待遇,老板的传奇经历”,无不吸引着每个人的眼球。庞是个极其敏锐,极富洞悉力的新新人类,而他的得力干将屠则是擅长网络营销的高手,加之其在BLOG里自暴喜欢研究周易。而在中国很少有听说搞IT的还擅长周易相学。

细心的人可以发现,这是一种品牌营销的战略,2004年火了的刀郎,庞龙,在不闻其人先闻其声的策略下,歌曲在网络上迅速窜红,他们卖的是关子,不论是批评还是赞扬,他们却是火了一把,顺便那个假“刀朗”称火打劫一把,也来凑个热闹。这些迅速走红的歌手从一开始的闻其声不见其人,到最后的频繁在媒体露面,接受采访,办演唱会,张扬,绯闻,炒作,与之前的低调作风格格不入,可见其营销策略。

大家经常说,无论是黑猫白猫,只要能抓耗子就是好猫,谁都想兜里的钞票揣得鼓鼓的,所以只要在不违反国家法律法规的前提下,这些手段都是可以用的,

不论是传统行业还是新兴的IT网络,我们都要重视品牌的营销。学会如何推销自己,用最少的成本获得最大的回报。

9FLASH的杨涛 一篇“9flash的流量是怎样练成的”文章,被众多站长拜读,不但营销了自己的9FLASH品牌。而且还增加了网站的流量。他所写的东西正是我们站长喜欢的。杨涛是个绝对聪明的人,他很早就注重自己网站品牌的营销,当初给自己的网站定了口号,打出“爱你就象老鼠爱大米”,他把他的心得写了出来。得到了大家的认可,在读者的心里有了烙印。他的品牌自然会提升。而他的文章也在各大媒体转载,包括新浪(http: //tech.sina.com.cn/i/2005-03-23/1729559535.shtml),否则一个个人站长怎能拿到某日本的华资企业数百万元的投资。

收购的公司看重的是9FLASH 的品牌,所以网站的价值品牌排在第一位,而内容则是在品牌之后的次重点。

那么,网络营销到底能起到什么的效果那,他们能解决你所遇到的哪些问题呢?我看他可以解决你的流量问题,增加网站知名度,给你带来很高的现金收入。

好123不外乎个人站长的顶峰之作,很多人认为李兴平是个善于营销的搞人。我不这么认为,他的成功是有偶然性,不可复制性的。我不否认他的成功,但是就品牌营销上他绝对是个弱者,李做网站N 年,其好123的盈利模式一直很单一,而李的性格内向,拒绝一切外来的合作者,而其在265组织的厦门站长大会上却是他这么多年第一次走出广东省,实在令人汗颜。而好123的价格网络上一直有传被千万收购,其实从李在厦门站长大会上的一番话。圈里人也都明白了百度拣了个大便宜,实在佩服李彦宏见缝就插的能力。

好123其实有更深的价值去挖掘,百度收购好123不是平白无故的,正是利用他在个人站长中的品牌优势,对百度产品进行更深层次的推广,而好123无疑是个很好的平台。

                         --转帖完毕

SEO在网站运营中的位置(转帖)

转自:(http://www.chinamyhosting.com/seoblog/2006/11/09/seo-position/

 

SEO在网站运营中的位置 2006年11月9日

谈了这么多SEO,有可能让人误解搜索引擎优化在网站运营中占很大一部分,其实搜索引擎优化只是网站运营食物链中比较低层的一个位置。

我觉得从总体上来说,网站运营和SEO是这样层层包括的关系:

网站运营-网络营销-网站推广-SEM-SEO

网站运营是一个总体概念,包括了设计,编程,客户服务,公司管理等。网络营销是网站运营的一部分。

网络营销又包含很多内容,并不局限于网站本身的推广。网络营销还包含比如blog营销,市场定位,价格策略,销售流程的设计和优化,产品策略,电子邮件营销等。网站推广是网络营销的一部分,

网站推广又包括很多方法,比如联署计划,论坛的参与,免费礼物以吸引用户,发布新闻稿等。SEM(搜索引擎营销)是网站推广的其中一种手段。

SEM主要包括SEO(搜索引擎优化)和PPC竞价广告。

SEO只是网站推广和网络营销的一小部分内容,当然我个人觉得SEO是网站推广最有效的手法。

专门招聘SEO人员的公司和网站似乎不是很多,所以做SEO的人应该把自己的知识往食物链的上层扩展,多了解网站推广和网络营销的总体知识,对职业的发展有好处,而且对SEO本身的深度和广度也有很大好处。有很多SEO技巧不能只从技术层面看,而要考虑到这些技术对网站整体营销的影响。

作者: Zac

原载: 搜索引擎优化SEO每天一贴

版权所有。转载时必须以链接形式注明作者和原始出处及本声明。

收藏本页到:

365Key | del.icio.us

相关文章:

    * 谁是你的顾客?

    * 抓住一个方法,然后坚持!

    * 长尾理论和SEO及网络营销

    * 中英文垃圾邮件比较和网络商机

    * 写blog是不是就得干点什么?

Thinking in Patterns Chapter 2: The pattern concept

Thinking in Patterns with Java V0.9:  Chapter 2: The pattern concept: TIPatterns.htm#_Toc41169683

1, The sections name of today's learning;

    What is a pattern?. 15

    Pattern taxonomy. 17

    Design principles. 18

    Classifying patterns. 19

    The development challenge. 21

    Unit testing. 21

        Location of test code. 22

 

2, What is it talk about in these sections and my comments and feeling for the content;

  At first, Bruce introduce the famous GoF's Design Patterns which show 23 design patterns, the very good aspect in that book is: it shows a evolution process by a given example, tracking this example's step, we can see how the design patterns be applied in an application.

  1), In the section What is a pattern, Bruce gives us a definition of pattern in a wider area.

  He tells us, Pattern is the general good way for resolving a class of problems, and this way has used by many times.

  Design Patterns isn't only tied with design phase, sometimes it appears in analysis, or implementation phase.

  The concept of Design Patterns is also proper for designing program, the same concept is "separate things that change from things that stay the same".

  Again, Bruce put up with his viewpoint of the little part of a system cost the most resource. He calls this as "the vector of change." My understanding is: from the math's aspect, suppose Y=kX, if "k" is very big, then X plus a little, but Y will plus a lot. So we should use our Design patterns around these most import but with less code's part of the system.

  In the rest part of this section, Bruce tells us the goal of using Design Patterns is "to isolate changes in your code", from this pointview, "inheritance", "compostion", "iterator", these terms in the program which we have used before, all these can be a kind of "Design Pattern".

  2), Section Pattern taxonomy.

  According the degree of using pattern in a system, the ablility of reusing the design, Bruce put up with his categories in this aspect. From the less reusing to the most reusing, it is: Idiom, Specific Design, Standard Design, Design Pattern.

  3), Design principles.

  I think, every principle here can be extend to be a chapter, and this section can be written to a book. Because the less programing experience of mine, I can't understand some principle here, especially like: Principle of least astonishment (don’t be astonishing); Make common things easy, and rare things possible; Law of Demeter; Once and once only.

  I can't write anymore in this section, maybe it need me to add a new goal called: understand Bruce's Design principles:)

  4), Classifying patterns.

  The 23 patterns in Design Patterns written by C++ or smalltalk are classified into three purpose: Creational, Structural, Behavioral. Bruce will revisit these 23 patterns with Java. And put up with his own examples about it. I always like the examples in Thinking in Java. So I think I will get surprised in this book's examples too.

  With Bruce's own mind of classifying all these 23 patterns, he put up with two kinds of classifying methods, and all these two methods are different from GoF's.

  The first method is according to the structure of implementations. At last, Bruce chose the second method:  according to "the problems they solve". So, this will be a practical and very useful book. I like Bruce's choice:) I think if I meet some kind of design problem, I can find a proper patterns in term of the problem's class.

 

  5), The development challenge

  I don't understand what is Bruce talking about in this section, he give some development methods and some internet resource. These terms is concerned with Design Patterns? I don't know.

  6), Unit testing

  In this section, I can know, at first, Bruce use his own testing framework, later, Junit get well, so he simply recommend the defacto standard-Junit. Bruce says he don’t know how much influence he may have had on Junit's change. I think Bruce is proud for his unit testing framework in his early book of Thinking in Patterns 

If I haven't misunderstood this section's words:) He is a frank man, I think.

 

4, My questions about the program itself;

  1), Most of Section Design principles I can't undersand well. I know this is copied from Thinking in Java Edition 2, but I haven't understood these then. Maybe, seeing the translation of HouJie's can help me to understand these?

 

5, My questions about the english language;

  1), Strange words:

ibid, whet, mandatory, vocabulary, adequate, flexible, insightful, work out,

completeness, embody, realm, gradient, put another way, focal, taxonomy,

pollution, synonymous with, succession, perspective, turn out,  proposed,

astonishment, astonishing, pile onto, demeter, Subtraction, dizzying, quest,

quantity, chapter, indent, intent, accidental, Variation, complement, aforementioned,

orientation, illuminating, decent, occur to, other than, in favor of, definitely

maxim, maxim, little-known, recommend, defacto, adequate, not yet, strip out

  2), Strange sentences:

  1>, This should whet your appetite to read Design Patterns by Gamma, et.

al., a source of what has now become an essential, almost mandatory, vocabulary

for OOP programmers.

  2>, Here, ?vector? refers to the maximum gradient and not a container class.

  3>, One of the events that?s occurred with the rise of design patterns is

what could be thought of as the ?pollution? of the term ? people have begun to

use the term to mean just about anything synonymous with ?good.?   

  4>, So, this principle acts as the tie breaker between otherwise equally viable design alternatives.

  5>, I believe this is a subtle but important distinction from the way Metsker organizes the patterns by intent in Design Patterns Java Workshop (Addison-Wesley 2002), because I hope that you will then be able to recognize your problem and search for a solution, if the patterns are organized this way.

  6>, When you download the code for this book, you will find (4/9/2003: Eventually, not yet) unit tests along with the code examples whenever possible.

                                           incomplete

Thinking in Patterns: Preface

Thinking in Patterns with Java V0.9: Preface: TIPatterns.htm#_Toc41169678

 1, The sections name of today's learning:

   Section: Preface

                              

 2, What is it talk about in this section?  

    This section is short, but it isn't no important. It tells us:

    1), this book come from Bruce sir and his friend's many years' experience.

    2), Bruce sir and his friend has a really good paterner relationship, they are really friend with same interesting.

    3), Bruce is focusing on Python now, but this book isn't stop writing.

 3, My comments and feeling for the content?                            

    Although this book written at 2003, and only version 0.9 now. I still want learn it, because I have read Thinking in Java, another book of his.

    I found I like his writing fashion, and all in the book reflect Bruce's wisdom, track the path he give us, I can learn Java with good interesting and well understanding. I haven't to do some more choice in learning books. Because I know I can get many from this book. Bruce has much experience in C++, JAVA, Python, OOP. So I think his Thinking in Patterns is must a good one, in the other words, must not a bad one.

    Bruce and his friend has a good friendship, this make them work happy together. They have good enviriment for their reseach.

 

 4, My questions about the program itself:

   no.                             

 5, My questions about the english language:      

   Too many, like below:

   Strange words:

   given the seminar, urge, pondering, appreciation, superb

   Strange sentence:

   I find this prospect to be much more exciting than the idea of struggling through another language tutorial.