text:
Sticky Revision: |
Dereference aliases to aliases properly.
Interval (and Union) checker now accepts requireParenMatch flag for deciding whether the interval type must match. Setting requireParenMatch to 0 will let (1,2) match (1,2] or [1,2], etc.
Cosmetic change.
The Parser versions of num_cmp and fun_cmp incorrectly left the current Context set to the base context used by the answer checker. The Context is now correctly reset to the one in effect before the call to num_cmp or fun_cmp. Also removed some redundant values in if-then checks.
Fixed a bug that would cause step() to produce an error when called on a constant value. Also, added fact() function that was defined in Algparser but not in Parser (which uses x! notation).
Added missing "step" function that was defined in the AlgParser but not in the Parser. Be sure to copy the updated PGanswermacros.pl to the pg/macros directory.
Make List("1,2,3") work like List("1","2","3") rather than produce a list with one element that is a list.
Added postfilter to Parser-based implementation of NUM_CMP so that the student's answer is updated to be the result of evaluating the answer (when there is no error in evaluating the answer). This correctly reflects the behaviour of the original NUM_CMP.
Fixed typo that caused hilighting of the position of errors to be lost.
Updates to make mode=>'frac' properly emulate the original num_cmp behavior (it now allows decimals and fractions instead of requiring a fraction). There is also a new LimitedNumeric-StrictFraction context (not currently used) that disallows decimals and requires fractions.
Folded in Mike's changes for status messages.
Fix use of $SIG{__WARN__} and $SIG{__DIE__}. * Each change to $SIG{__WARN__} and $SIG{__DIE__} is now dynamically scoped with "local", rather than changing globally and then restoring at the end of the block. * The special value "DEFAULT" is used instead of sub {CORE::die(@_)} or sub {CORE::warn(@_)} when preparing to eval STRING code. * Where $SIG{__WARN__} and $SIG{__DIE__} are overridden to do preprocessing with PG_errorMessage, the previously installed handlers will be called instead of the built-in warn or die functions after preprocessing occurs. (For example, the warn and die handlers defined in Apache::WeBWorK or the warn handler defined in WeBWorK::PG will be called.) * The behavior in process_answers is modified so that the custom handlers are installed once before the answer evaluation loop. This causes them to be in effect during the setup/teardown code, but I don't think this will be a problem.
Fixed typo related to useBaseTenLog.
Wrong correction in the previous commit. Use CODE::push
Made modifications that allow use of complex numbers in matrices. You can also LR decompose a non-square matrix. Documentation is still needed and further testing.
Made modifications that allow the use of complex numbers in matrices
A first pass at making parser error messages localizable. The Context()->{error}{msg} hash can be used to specify translations of the standard messages. For example, Context()->{error}{msg}{'Division by zero'} = "Don't divide by zero, dude!"; Context()->{error}{msg}{'Function '%s' has too many inputs'} = "You passed too many arguments to '%s'"; (I didn't translate into another language, here, but you could do that, too.) The msg hash could also be used within answer checkers to make certain answer messages more appropriate for the given type of expected answer.
Fixed various perl compiler warnings (due to extra "my", and so on).
Fixed problem with minus signs in formulas that are turned into perl mode. Perl needs extra spaces to avoid problems with -e type operators.
Fixed typo in installation instructions.
Added some pod documentation to this file. It needs more -- several methods of MatrixReal1 have been overridden
Added some pod documentation
Don't load Parser.pl (it causes trouble with the Matrix.pm module). We only needed it because of the calls to Real() that were being used by Formula objects, so have them call Value::Real directly. be sure to get the latest versions of Parser and Value (including the top-level Parser.pm and Value.pm) in order to use this update.
Modified the perl() method to make calles to Value:: directly rather than to the main:: stubs for creating Value objects. This will make it work better from within packages or when Parser.pl hasn't been loaded. A few things still won't work in this case; e.g., calls to Closed() for intervals (these could be handled better using ->with()) and to functions like Factorial and log10 that are defined in Parser.pl. Finally, there should be better object-based control over what routines are called to create these objects, so that subclasses of the Value objects will be able to be generated correctly.
Modified formatting
Main file that calls in the legacy modules.
Add comment
Folded in Mike's changes to checkbox_cmp.
This is an attempt at making the traditional answer checkers call the new Parser in place of their original ones. That is, if you follow the instructions in the README file, then problems that use std_num_cmp(), fun_cmp(), etc. will really be using the new Parser instead of the original PGanswermacros.pl versions. The old answer checkers are still available, and can be switched back on a site-wide, course-wide, or problem-by-problem basis. See the README for details.
Reworked some of the code for AnswerEvaluator The messages printed out when using the debug flag should now be somewhat better. -- Mike
Fixed problem with sorting (problem with $a, $b, I think).
Handle TeX versions of variables whose names include underscores better.
Better messages when adaptive parameters are too big.
Implement "remove trailing zeros" format, like in prfmt(). I still think '%g' works better in most cases ('%f#' will print larger values without using scientific notation, which is nice, but will print small numbers like .000000005 as 0, even though the fuzzy comparison of this to zero will not be true.)
Don't use the overloaded Real class for doing adaptive parameter checks (use non-fuzzy checks, since we are checking the fuzziness by hand).
Change so as not to use raw HTML in the error messages.
Allow Parser::Number::NoDecimals() to accept a context to be modified (rather than always changing the curent context).
Updates to allow string matches to be case-insensitive. This is now the default, and can be overridden in the Context by setting the string's "caseSensitive" attribute. e.g.: Context()->strings->add("FooBar"=>{caseSensitive=>1}); would rewuire "FooBar" to be entered exactly as typed.
Adjusted some spacing
Fixed a bug in the enable/disable routines that would cause them to always work on the current context rather than the one whose enable/disable method was being called.
Added commment
Corrected how preview_latex_strings are handled when two AnswerHashes are ANDed or ORed.
New flag showAllErrors for when a custom checker is supplied. This will cause all errors generated in the user's code to be reported (normally, messages from the Value and Parser packages are ignored).
Fixed a problem with auto-generated functions getting an incomplete variable list.
Fixed documentation for $graph->size()
Changed whitespace removal of TeX strings to safer version.
Fixed Disable() and Enable() so that they can be called as Context()->functions->disable() and Context()->functions->enable() as well as Parser::Context::Functions::Disable() and Parser::Context::Functions::Enable() The former is the preferred syntax.
Forgot to check hardcopy mode. Fixed some problems with that. The answer array items have to turn off verbatim mode that is used when answer are included in the hardcopy. This causes paragraph breaks between entries in a singleResult MultiPart that includes ans_arrays, which make the output less pretty, but at least they show up.
Added ability to have Matrix, Vector and Point objects produce input arrays similar to the ones available in PGmatrixmacros.pg. This provides some substantial new functionality, and it may still have some shaking down to do, but it should not affect the existing functionality of the answer checkers. To create an answer array for a matrix, vector or point, use the new ans_array() or named_ans_array() methods of these objects. For example: Context("Matrix"); $M = Matrix([1,2],[3,4]); BEGIN_TEXT \{$M->TeX\} = \{$M->ans_array\} END_TEXT ANS($M->cmp); This creates a matrix, then prints it ans creates an answer array of the appropriate size for the matrix. The answer checker will automatically know to handle the multiple entry blanks. To used a named answer rule, use: Context("Matrix"); $M = Matrix([1,2],[3,4]); BEGIN_TEXT \{$M->TeX\} = \{$M->named_ans_array('fred')\} END_TEXT NAMED_ANS(fred => $M->cmp); Both methods also take an optional argument that specifies the width of the answer rules. The default is 5. You can get a multi-input point or vector array as well, and you can make column vectors as follows: Context("Vector"); $V = ColumnVector("1+x","3x","1-x"); BEGIN_TEXT \{$V->TeX\} = \{$V->ans_array\} END_TEXT ANS($V->cmp); Note that you can make answer arrays for matrices and vectors of formulas as well as constants, provided the formula is an explicit matrix or vector of formulas, and is not obtained by matrix arithmatic. For concistencey, all objets now have ans_rule and named_ans_rule methods as well. The default width is 20 for these.
Allow for vectors to be marked as Column Vectors.
Better handling of delimiters that are explicitly set byt he user. Fixed an incorrect call during object class promotion. Added ability to sepcify that a vector is a Column Vector.
Better handling of open and close delimiters that are explicitly set.
Fix some incorrect calls when the promoting types to higher precedence object types.
Fixed a bug with Matrix->perl() method that would cause an extra level of nesting in constant matrices.
Avoid possible infinite loop with length and typeref calls.
Remove unneeded comment.
Added a ->with() method that lets you set fields of a Parser object as you create it. For example: $f = Formula("sqrt(x)")->with(limits=>[0,3]); or ANS(Formula("(x+1)/x")->with(checkUndefinedPoints=>1,test_at=>[[0]])->cmp); or ANS($f->with(test_points=>[[0],[1],[2]])->cmp);
Better control over number of points that can be undefined, and new ability to specify required test points plus additional random ones. (Previously, if you set the test points, no random points were generated.) For example: $f = Formula("(x^2-1)/(x-1)"); $f->{test_at} = [[1]]; # test at x=1 plus random points as opposed to $f->{test_points} = [[-1],[0],[1]]; which tests only the points x = -1, x = 0 and x = 1.
Modified the Formula answer checker to allow checking of points where the functions are undefined (i.e., attempt to check that the domains agree). This can be enabled by setting the checkundefinedPoints flag in the Context(), or in the formula itself. Test points where the function is undefined will be retained and the student's answer will have to be undefined at the same points. If the points are selected at random, the points where the function is undefined are kept in addition to the ones where it is defined, so the required number of test points where the function IS defined will still need to be found. The number of undefined points can be up to the number of defined points. This number can be reduced by setting the max_undefined flag. If you want to guarantee that a specific undefined point be tested, you can provide that point using the test_points field of the formula. For example: Context()->flags->set(checkUndefinedPoints=>1); $f = Formula("(x^2-1)/(x-1)"); $f->{test_points} = [[-1],[0],[1],[2]]; ANS($f->cmp); will guarantee that the singularity at x=1 is tested, so the answer x+1 will not be marked as correct. If an answer matches at all the test points where the functions are both defined, but some of the undefind points differ between the two functions, the answer checker will generate an error message indicating that the domains of the functions don't agree. (This is ONLY generated with the functions match except for that.) This can be controlled by setting the showDomainErrors flag in the formula's cmp() call: ANS($f->cmp(showDomainErrors=>0)); The default is to show these errors.
Fixed an accidental hard-coded operation from always being "add" to being the correct operation when promoting the operations to an object of higher precedence. (But since formulas are normally the highest precedence, this will never have occurred.)
During a call(), if the evaluation produced an error message generated by Value::Error, report it, otherwise report a generic message.
Added derivative of |x| as x/|x|.
Fixed a bug with adaptive parameters where the relative tolerance was not being properly computed. This allowed large constants to be treated as correct when they shouldn't be.
Copy parameters like limits, etc, to the newly created formula when 'C0' is added by the "upToConstant=>1" option in formula cmp().
Use correct form of "x" with lists (rather than hack using split()).
Provide a default warning subroutine if none has been defined.
Added a check that the coordinates are numeric. This avoids an error were <i+j+k> was accepted as OK.
Handle error messages in the list checker better. In particular, make the error messages generated by custom checkers called on elements in the list look better. Also, in an ordered list, if the student enters extra values, call an answer checker to do a syntax check. (By default, use the first element again, but the user can supply a separate object to use for the checker using the extra=>object option.)
Compartmentalize the equality check one step further. The cmp_equal method now calls a new cmp_compare method to perform the actual comparison (rather than use == directly). The cmp_compare method either calls a user-supplied checker routine, or defaults to using the == operator. The list checker also uses cmp_compare to check the individual items in the list. The list checker also calls a new cmp_list_checker method to perform the list check. This can be overridden by a user-supplied list-checking routine. To supply an alternate checking routine, use the "checker" option to the cmp() method of the correct answer object. For example: sub check { my ($correct,$student,$ans) = @_; return 0 unless $correct->length == $student->length; my ($x,$y) = $student->value; # break up a point; return $x**2 - $y**2 = 1; # check if it is on a hyperbola } Point(1,0)->cmp(checker=>~~&check); This will check if the student's point lies on the given hyperbola. All the usual error messages will be issued if the student's answer is not a point, or is of the wrong dimension, etc. You can use sub list_check { my ($correct,$student,$ans) = @_; my @correct = @{$correct}; my @student = @{$student}; ... return ($score,@errors); } List(...)->cmp(list_checker=>~~&list_check); to replace the list-checking routine with your own custom one. The $correct and $student values are array references to the elements in the lists provided by the professor and student. (Note that you do NOT get a List() object; this allows you to handle lists of formulas, since a List of formulas becomes a formula returning a list). The checker routine should return the number of correct elements in the student's list ($score), and a list of error messages produced while checking the two lists (@errors). (This is a list of messages, since you might want to include an error for each entry in the list, for example). If your checker or list_checker routine wants to die with an error message, use Value::Error(message). This will put the message in the WeBWorK display area at the top of the page. If you use die(message), or if the code fails due to a runtime error, then "pink screen of death" will be produced indicating the error and asking the student to report the error to the professor.
Properly handle string values in postprocessing of vectors and other related lists. (It used to report a dimension error for things like 'NONE').
Peroperly negate infinities even when reduceConstants is not in effect.
Handle extra parentheses better.
Handle log as ln or log properly.
removed a commented-out line that was no longer needed.
Fixed a typo.
Update the overloaded operators so that they can be overridden by subclasses of the predefined object classes. This involves calling the objects method rather than using a hard reference to the routine in the parent class. Also, change the name of the string comparison routine to compare_string to avoid conflicts with cmp that is used to produce the answer checker for the class. Finally, in Value.pm, promotePrecedence no longer has to do fancy footwork to get "special" precedence to work (this was a hack to get around the misfeature of the overloaded operators -- now that that is being handled correctly, there is no need for it).
Allow subclasses of AnswerEvalutor to be used. Check for a match with a substring AnswerEvaluator instead of equality.
Missed one situation when making the previous update. Fixed it.
Fixed it so that direct calls to the add, sub, mult, etc functions would work as expected (even though there is no need to call them directly).
Updated the answer checkers so that you can more easily specify how the correct answer shoudl be displayed. In the past, you could use something like Real(sqrt(2))->cmp(correct_ans=>"sqrt(2)") to do this, but that is awkward. Now the Compute() function (which parses and then evaluates a string) sets things up so that the original string will be what is used as the correct answer. That means Compute("sqrt(2)")->cmp will have the same result as the example above. You can also set the {correct_ans} properly of any Parser object to have that value used as the correct answer. For example $x = Real(sqrt(2)); $x->{correct_ans} = "sqrt(2)"; ANS($x->cmp) would also produce the same answer checker as the two previous examples. All three methods should work. Use the one that is most convenient for you.
Improved the Real(), Complex(), Point(), Vector(), Matrix() and String() constructors so that they will process formulas passed to them as strings rather than requiring perl objects for these. For example, you can use Real("2/3") rather than Real(2/3) if you want. Also, Real("1+x") will return a formula returning a real (essentially the same as Formula("1+x") in this case).
Fixed an error with Matrix() that could cause it to loop infinitely when bad data is passed to it. Also, allow Matrix(), Point(), Vector(), and Real() to accept string values that are evaluated to produce the value returned. (Sorry, accidentally committed with a blank message.)
*** empty log message ***
Undoing some of the temporary changes I made to the warn message. This may break what happens with xmlrpc however. (sigh)
Fixed index problem with matrix multiplciation. (It was returning the transpose!)
Temporary modifications which allow the Warning mechanisms to work when using the XML access methods. This needs to be looked at again. There is also a problem with defining permissions for creating directories. There is a temporary #FIXME that seems to work.
Defined some variables that were causing warning messages. Someone more familiar with this script should look at this to make sure that this subsection of the parser is working correctly. -- Mike
Fixed a bug in processing absolute values with implicit multiplication.
Fixed typo in a comment.
Added reduction rules to remove redundent negatives. Override string and TeX methods that avoid redundent parentheses.
Added "areParallel" method as a synonym for "isParallel".
Don't promote an object unless it is a Value object.
Clear error messages before doing the answer check (this clears old messages left over inclass this checker is called by another one, e.g. when using UNORDERD_ANS()).
Trap errors in functions that are not native perl functions (like acos() and csc(), etc.). In the past, if an error occurred within the definition of a function, the error message that was reported was the internal error within the definition of the function. For example csc(0) would report "illegal division by zero", while acos(-2) would report "can't take sqrt of -3". Now the errors will be "can't take csc of 0" and "can't take acos of -2".
Added support for useBaseTenLogs to make log() work like ln() or log10() depending on the value in the course.conf file. Also fixed a bug that caused the WeBWorK parameters not to be copied into contexts by initCopy().
In Complex context, make sqrt() and log() of negative numbers return their complex values. Also make ^ and ** do the same with negative bases. These can be controlled by setting/clearing the "negativeIsComplex" entry for these functions and operators.
Report errors for powers of negative numbers rather than return 'nan'. Don't allow 'nan' to be made into a Real object.
In StandardPrecedence mode, make the precedence of function apply match that in use by that AlgParser.
Don't give coordinate hints during parallel vector checks. Also fixed a typo.
Allow string constants to include spaces.
Fix problem with TeX output of implicit multiplication between items that would put two digits next to each other (like 2 3^2).
Fixed Parser so that you can replace the Formula class as well as the other object types.
The $Parser::class variable was being handled after the "use" statements at the end, so had to put a BEGIN around it.
Eliminated unneeded parentheses in TeX output when unary minus and plus are used with fractions.
More changes for the isZero and isOne checks. (Missed this file when I committed the others.)
Added isZero and isOne checks for Parser::Value objects (i.e., for constants within formulas). These now correctly handle vector and matrices, in particular. The isOne and isZero checks are used in the reduce() method to simplify formulas.
Added a new flag to the Formula()->cmp answer checker that allows a constant-valued formula to be evaluated and then use the checker for the resulting type. This is useful when you want the correct answer for a numeric check to be shown in a symbolic form (like "pi/4") rather than as a decimal number. To do this, use Formula("pi/4")->cmp(eval=>1); rather than Real(pi/4)->cmp, which would show the correct answer as 0.785398. Note that Formula("pi/4")->cmp would also match against pi/4, but it does it as a function rather than a number, so error messages might be issued indicating that the checker is expecting a formula that returns a number, rather than just a number; this might be confusing to a student. It would also accept answers like "pi/4-x+x" as correct, whereas with eval=>1 this would produce an error message saying that the answer was supposed to be a number not a formula returning a number. Similarly, if you want to show sqrt(2)/2 as the correct answer, use Context()->flags->set(reduceConstants=>0, reduceConstantFunctions=>0); Formula("sqrt(2)/2")->cmp(eval=>1); The first line tells the parser not to automatically reduce expressions that only involve constants, so that the value of the formula in the second line will not be reduced to a decimal before the cmp method is called.
Make Formula()->eval return a Real (ie, aValue::Real object) rather than a perl number. That way, you can use $f->eval->cmp rather than needing Real($f->eval)->cmp, and so on. Also make Formula()->perl do the same, for consistency. (This could have been accomplished by having the Parser::Number class evaluate to a Real, but for efficiency during computation, we put off making the Real object until the end. It probably doesn't make that big a difference, but every little bit helps.)
File needed to reduction flags that was accidentally left out of the previous commit. Sorry!
Added flags that control the reductions performed by Formula()->reduce. Each reduction operation can be individually enabled or disabled in the context, and in the reduce() call itself. More complex reductions need to be developed.
Fixed typo in addParens method name.
Don't reduce constants in the display of student answers (so they can tell how the parser interprets their answer). The drawback is that the final number is not displayed. (We may need to add more columns to the results display.)
Use extra parens in the string version of the student's answer, but not in the professor's (unless the problem sets the showExtraParens flag).
Added context flags to control automatic reduction of operations that involve only constant values. The default is to combine constants, but this can now be disabled. Also added a new flag to control the addition of extra parentheses that make string values painfully unambiguous (these are for situations that students tend to get wrong). By default this is turned off (so that professor answers won't contain excessive parentheses), but the answer checker will be made to turn this on for student answers. Finally, when extra parens are added to formulas, they alternate between ( ) and [ ] to make it easier to read.
Produce an error when attempting to auto-create a formula using a function that has been removed from the current context.
Make partial credit in list answer checkers be the default (now that WeBWorK can handle this).
Fixed a bug with constants where the values were being cached so that changes in the context were not being reflected in the formulas that use them.
When creating formulas from functions, don't evaluate even if the formula is constant. (This makes it possible to create automatically create formulas even if they only contain constants.)
No longer produces the message that there are too many answers if hints are being shown about individual entries in a list. (This gave away the answer about which ones to remove.)
Changed the error message produced for functions that have been removed from the parser. I hope this will be more appropriate for students.
Fixed error where AlgParser produces \sech and \csch, which are not defined in TeX. This fixes bug #665.
Only convert (f(x))^2 to f^2(x) for specified functions f (as marked in the Context).
Add better error reporting in PG translator. In particular, these changes add two new features: 1) produce a full stack trace when a .pg file dies, and 2) convert (eval nnn) references to filenames, when possible, in warn and die messages while processing a .pg file. There is also a change in the webwork tree that is needed to make this all work, so be sure to apply updates in both trees.
Two more minor TeX improvements.
Improved TeX and string output in a number of situations. Improved use of parentheses to avoid things like x+-3. Fixed wrong parentheses in powers. Display (sin(x))^2 as sin^2(x) in TeX output.
Use the current context if the answer doesn't have one itself (like with Value objects).
Added in functMaxConstantOfIntegration support in the adaptive parameter answer checking. Also added a flag to the formula answer checker that allows checking a formula up to a constant (for integration problems). This really just adds a new parameter to the context and adds that to the formula, so there is nothing deep about this. ANS(Formula("2x")->cmp(upToConstant=>1)); Finally, don't look for adaptive parameters if they aren't actually used in the professor's formula (even if they are defined).
Added ability to have linear adaptive parameters in the function answer checker. It only works for real-valued functions, though. To use a parameter, use Context()->variables->add(a=>'Parameter'); and then use 'a' as a variable within your answer. The student will not be allowed to enter the parameter, but the professor will. Note that the correct answer will show the full professor's answer, including the parameters, even though the student can't type it. Is this the right behaviour?
Added the makeUnion call that was removed earlier. The AnswerChecker for formulas sometimes called it (when the student's answer is constant).
Fixed a bug with sin^2 x that introduced when I adjusted the error report for implied multiplication.
TeX mode now adds parentheses around fractions, when needed.
Made string function look for a string field in teh definition of the function as an override for its name. (This way, you can make asin appear as arcsin or even sin^(-1) if you want).
Fixed wrong error messages when operators are undefined in a context.
Modified the parser so that the classes for the various object constructors are stored in the context table rather than hard-coded into the parser. That way, you can override the default classes with your own. This gives you even more complete control to modify the parser. (You had been able to replace the definitions of operators, functions and list-like objects, but could not override the behaviour of numbers, strings, variables, and so on. Now you can.) This effects most of the files, but only by changing the name of the calls that create the various objects. There are also a couple of other minor fixes.
Better highlighting for syntax error involving implied multiplication. (No highlighted had been done in the past.)
Get the type right when evaluating an AbsoluteValue and obtaining a Value object.
Remove more lines in error messages produced while evaluation student answers.
Moved WW-specific routines from Parser.pm to WeBWorK.pm. Changed error reporting when the error message was not generated by the parser directly. (The stack trace and line number references are removed before the error is reported.)
Added easy calls to disable/enable collections of functions or individual functions in the current context. So you can say Parser::Context::Functions::Disable('Trig'); to disallow the use of trig functions, or Parser::Context::Functions::Disable('Trig','Numeric'); Parser::Context::Functions::Enable('sqrt'); to disable trig and numeric functions (like log, exp, abs, etc) but allow sqrt. Note that disabling sqrt() does not disable x^(1/2) (this must be done through disabling the ^ and ** operators), and disabling abs() does not disable |x| (which must be done by removing the '|' definition from the Context's parens list).
Fixed some inconsistencies between handing of matrices within the parser and Value packages. Added a predefined Matrix context.
Had the default granularity the wrong direction.
Made the granularity of the test-point intervals be a parameter that can be set on a global or variable-by-variable basis, so this is now controlable from the .pg file. For example: Context("Numeric")->variables->are( k=>{limits=>[1,10], resolution=>1}, x=>{limits=>[-2,2], granularity=>1000}, ); will make k be a variable that will only take on integer values between 1 and 10, and x a variable that will take on one of 1000 different values evenly spaced between -2 and 2 (so resolution is 4/1000 in this case). These parameters can also be set for an individual formula: $f = Formula("k^2-1"); $f->{resolution} = 1; $f->{limits} = [0,10];
Fixed TeX output of Matrices to use \array rather than \matrix for matrices with formulas as entries (this had already been fixed for constant matrices). Made intervals produce formulas when of of the endpoints is a formula. Removed unneeded comment.
Added support for dimension warnings in the answer checker for formulas that return points, vectors or matrices.
Formulas can now be compared even if their variables are complex numbers, or even points or vectors! This makes it possible to ask students for complex functions like z^2+i and so on. You can specify limits for variables either via Context()->variables->set(x=>{limits=>[0,1]}) (for reals) or Context()->variables->set(z=>{limits=>[[-2,2],[0,1]]}) (for complexes). Similarly for points and vectors (where the number of sub arrays depends on the dimension). You can also give the limits for a specific formula by assigning to its ->{limits} field: $f = Formula("sqrt(x-10)"); $f->{limits} = [10,12]; There are now named variable types for 'Point2D', 'Point3D', 'Vector2D' and 'Vector3D', in addition to 'Real' and 'Complex'. You can also specify a variable type by giving an explicit instance of a value of the given type. E.g. Context()->variables->add(x=>'Real',y=>0); # two real variables Context()->variables->add(z=>'Complex',w=>i); # two complexes Context()->variables->add(r=>Vector(0,0,0)); # a vector in R^3 Context()->variables->add(X=>'Vector3D'); # a vector in R^3 There still needs to be more error checking in processing user-supplied limits, but I'm not sure how much overhead is worth it.
Made the default context be Numeric context rather than Full context. Since there is only one variable in this context, it will speed up function answer checking. It will also encourage you to choose the correct context explicitly. Also changed Complex context to have z as the only variable. If you want x and y as reals, you need to add them in by hand. Again, this is for efficiency in answer checking.
Added a file to perform WeBWorK-specific modifications to the Parser/Value packages. (I've tried to make these independent of WeBWorK, so you can use them in other perl code if you want to.) The parameters for fuzzy reals and some of the other parameters now are taken from the pg->{ansEvalDefaults} values (as defined in global.conf or course.conf). More still needs to be done with this, however.
A number of fixes to make handing lists work better. In particular, you can now specify checks for whether the right kinds of parentheses (or none at all) are used on the student's answer. Some of the flags for the list checker have been changed to accommodate this.
A number of adjustments to get negative infinities to work better. They used to be stored as separate Parser strings, but now they are flagged versions of a single string. All of the problems are really due to the fact that there is no Infinity class in the Parser (only a Value version). That should be changed, but will require some work, and can be put off for now. It would be best if the classes within the two packages would match up nearly 1-to-1, but for historical reasons, they don't. Since the introduction of Real, String and Infinity classes to the Value package, The Infinity class is the one main difference between the two, and once that is fixed, everything needs to be looked over to check for unnecessary complications due to the historical lack of classes in one or the other package.
Make blank patterns be ^$ (which should never match) rather than empty (which always matches). this fixes a problem where if a context has no functions, for example, the parser would attempt to create function calls to a function named ''.
Handle trapped error messages that are not produced by the parser error reporter (i.e., by bugs within the parser itself). Also added an error if implied multiplication is attempted when the operator for it is not defined in the current context.
We need to protect the HTML in the professor's answer so that if it contains <, for example, it won't disappear.
Fixed typo.
Avoid possible infinite recursion in promotePrecedence() when special precedence is used.
Fixed error with handling of +infinity and -infinity. (They had been defined as strings, but now we can let the + and - operators handle them).
Added Parser::Number::NoDecimals() function that causes the parser to give an error message when the student types a decimal number. This means the student must enter fractions as fractions, or values like sqrt(2) or pi/4 symbolically not numerically.
Fixed an error in the generation of regexp patterns for the various data types.
The answer checkers now work with subclasses of Formulas that are not part of the Value:: package tree itself (we call Value::isFormula() rather than checking the class directly). I also removed the various cmp_* flags that stored method names as they ended up not needing to be used (they were intended as a means of overriding the default method names, but subclassing turned out to be a better approach). I moved some initialization of the answer checker out of the anonymous subroutine that is installed in the checker and just have that subroutine call the correct answer's main checker (which I renamed). Finally, I changed the student_ans value to be an HTMLized version of the student answer, since the student could include things like < in his answer (e.g., for vectors), in which case his whole answer might disappear. I wonder if this couldn't be handled better at a higher level, as it seems wrong to make the student_ans be HTML rather than the parsed string. I originally thought Problem.pm could do the protecting of HTML special characters, but this won't work without additional changes, since some answer checkers put HTML into student_ans to mark sytanx errors in the student answer, and you DON'T want to protect those HTML characters. The student_ans field is probably being misused in this, and there might want to be another field that gets used by Problem.pm in place of student_ans (which can be HTML protected) when it is non-empty; say student_HTML or something like that. The answer checkers could use that field if it wants to add HTML to the student answer, and student_ans otherwise, with the assurance that it's HTML characters will be protected. That way, if a second answer checker calls the first (like some list checkers do), then the second checker doesn't have to worry about removing HTML from the student ans, and doesn't ahve to wonder whether the student_ans actually contains an error message or syntax markings rather than the actual student answer.
Context() now accepts a reference to an actual Context object rather than a name of a predefined context, and will switch to that.
Make it possible to create subclasses of objects in the value package that are not actually in the Value:: package tree. This makes it possible to have .pl files (that are run via loadMacros) that create new Value object classes that are local to the problem rather than global to the system. (With mod_perl, if a .pl file added to the Value:: tree itself, the results would be persistent, and this could adversely affect future problems processed by the same httpd child process. It could lead to "redefined subroutine" errors, or worse.) This provides a safe way to extend the parser on a problem-specific basis. This technique is used in the line and plane answer checkers (coming soon), for example. If such a checker becomes widely used, it can always be added into the Value:: tree at a later time.
Make sure equality always returns a defined value, and put spaces around the equal sign in string output.
Use the standard precedences rather than the experimental ones by default. The professor will need to specificaly request the non-standard ones, for now.
Changed the string used for the student answer to be taken from the unevaluated formula rather than the fully-evaluated one. This leaves constants unreplaced, for one thing. Currently the parser combines constants automatically during the parse [which should be controllable by a flag], so student answers that produce numbers are fully evaluated at this point already, except for constant substitution. This could be changed so that even for numberic results, the student sees the parsed expression (rather than the numeric result), which might help them identify where they and the parser differ in their interpretation. It is still nice to see the final computed result, however, but there is no place to show the parsed input as well as the final result. One solution would be to add another column (wasting space). Another would be to make the value shown be "parsed-value = computed-value" when they are not the same thing. A bit ugly, but works within the current framework.
Fixed typo in name of random generator.
Fixed a number of minor problems with creating perl functions from formulas (this is done automatically as part of the function answer checker, so is showing up now that I have that checker in place). Also improved error messages in the function answer checker, and fixed a bug when students enter a constant list or union when the answer checker expects formulas.
Allow parser "constants" to be (in reality) formulas. That way, for example, you can defined T, N and B to be the formulas for the unit tangent, normal and binormal of a space curve (as functions of "t") and the student can write anwers in terms of T, N and B (without having to compute them). You could have created FUNCTIONS T(t), N(t) and B(t), and added them to the parser to get almost the same effect, but the students would have had to include the "(t)". (If you want that, go ahead and do it that way.)
Removed unwanted side-effects of some type-match checks, and moved the ignoreStrings flag so that it is available for the checkers of ANY type.
One more fix for handling intervals properly (I think it's really right this time). Also, named constants that end in numbers will produce TeX output with the number as a subscript (this was already true for variable names).
Added string comparison to all Value object classes (to compare the string value of an object to another string). Overloaded perl '.' operator to do dot product when the operands are formulas returning vectors. (Part of the auto-generation of formulas). A few improvements to real and complex class output results. Made Union class slightly more robust and removed need for makeUnion method other than in the Union itself.
Added support for unorderd list or formulas with partial credit. Fixed type mismatch reporting in formula answer checker. Fixed an error with Unions producing incorrect perl versions under some circumstances.
Created the first draft of the Parser's function answer checker. Some work still needs to be done, in particular, type mismatches are not being reported, and lists are being processed only as ordered lists with no partial credit. This doesn't implement everything from fun_cmp. In particular, there is no support for parameter matching at the moment. This will have to be added, but I'm not quite sure how to do it when the function's return value is not a real number (e.g., an interval). On the other hand, this checker is more forgiving about domain errors: if tries a point where the professor's function is not defined, it ignores that one and looks for another (until it decides it can't find one). Once it has these points, it tries them on the student's answer, and if the student's function is undefined, then the student answer is wrong (since it is not defined somewhere that the professor's funciton is). This avoids the "Error evaluating student function at ..." messages, which just confused most students anyway.
Improved error messages, particularly when the student enters a formula in an answer that should be constant, and also for incorrect answers in lists of answers. There are a few other miscellaneous output improvements as well.
Had to put back the global context variable after all. :-( It gets reset in Parser.pl, so it should be OK even with mod_perl.
Modified Context() function so that it no longer uses a global package variable for storing the user's context table.
The Union answer checker now uses the generic List checker, so that it will be able to produce partial credit and hints about which Intervals are correct.
Added an equality operator (not active initially) that can be used for things like equations of planes and so on. I'm working on the answer checker for that.
*** empty log message ***
Fixed some bugs in the handle of the context in ->string and ->TeX methods of Value objects.
Fixed a typo in one of the parser answer checkers. Added a line that was incorrecctly removed in the parser.
The class file for the Value::String object. (Forgot to add it before the last commit. Sorry!)
Added a String type to the Value package. Mostly this is to make it possible to generate an answer checker for it that uses the parser. It also makes it more consistent for handling things like stringify, especially when they are recursively called internally. Added new default strings "NONE" and "DNE", since these get used a lot. Modified how the default parameters are set up for the answer checkers, and how the answer checker reports the expected answer type in type mismatch error messages.
Allow unary + and - to work on infinities.
Can now specify that the objects stringify themselfs in their TeX forms rather than their answer-string forms. This makes it easier to use the objects in the text of a problem (without having to call ->TeX explicitly each reference). Use Context()->texStrings to start outputting TeX strings, and Context()->normalStrings to switch back.
Incorporated infinities into Parser package better. They have been stored as String objects (with extra data) in the parser, and I've left it that way, but now they convert to/from Vallue::Infinity objects correctly, and these are used for generating the output. Also added the Infinity answer checker, and adjusted the error messages produces by type mismatches in the answer checkers and elsewhere.
Fixed some output issues with intervals and unions.
Added an Infinite object class for the Value package. Still need to add it to the Parser package.
Added ability to report incorrect coordinates in point and vector answers, and incorrect endpoints and endpoint types in intervals. Separated these kinds of checks from the typeMatch check, where they didn't really belong. Added ability to specify intervals and unions as strings in Interval() and Union(), which makes it easier to make constants of these types. There are still problems comparing intervals that contain infinities; I really need to make the infinity object to solve this, so have put off trying to fix that for now.
Handle list entries that are not Value objects better.
The List object's answer checker is now considerably improved. It will allow you to specify an unorderd or ordered check, and whether to print various kinds of hints for wrong answers. The checker can return partial credit, but WW doesn't deal well with this at the moment (some small changes to Problem.pm can take care of that). Partial credit should be based on $showPartialCorrectAnswers, but it is disabled for now. The list answer checker probably still needs some work, especially with non-numeric lists.
Added answer checker for parallel vectors. Added option to number checker to have it not report type mismatches for the known strings (like 'infinity'). (Really need a class for infinities, and a Value.pm class for strings.)
Have parser handle infinities better.
Fixes for handling intervals better. In particular, deal better with ambiguous situations, like (1,2) that could be a point. You can use [a,a] to specify the single point a. I'd like to make {a} represent this (and maybe even {a,b,c} to form finite sets), but this would interfere with the use of { and } as alternative parentheses. (Does anyone really use these?) Do we need a cross product for intervals (and sets) as a means of representing regions in R^2 (or higher)?
This is a preliminary attempt at adding answer checkers that use the parser. If you have a parser object (like a formula or a vector), you can use the ->cmp method to get an answer checker appropriate for the object. For example: Context('Vector'); $v = Vector(1,2,3); # print text of problem ANS($v->cmp); would produce an answer checker that matched against the vector <1,2,3>. Most of the parameters are set in the Context, but additional ones can be passed to the checker (this still needs work). See the sample problems for more examples. The checkers for Reals, Complexes, Points, Vectors, Matrices and Intervals work pretty well. The ones for List and Union objects need more work, as they only do an ORDERED check at the moment (the student answers must be in the same order). This needs to be fixed. The checker for Formula objects (which corresponds to fun_cmp) still needs to be written.
A number of small fixes. Most were to fix minor bugs in string and TeX output, particulary for the various list-based objects (like vectors, intervals, etc.). There were also some bug fixes in the comparison routines. Some additional checks were added for valid intervals when the coordinates are formulas.
Fixed generation of LaTeX version of sqrt(...).
Forgot to add this file. It implements the "fuzzy real" class.
Significant update to new parser. New features include: Better control over format of vector output (you can now specify ijk-format rather than <...> format) "Fuzzy" reals, where the relations like == return true when the two values are "close enough". (This is controlable using parameters similar to those used in NUM_CMP). The fuzzy reals are now used in vectors/points/matrices/complexes/intervals and so on so that their relations will also be fuzzy. E.g., (1E-13,2) == (0,3) will be true, and norm(Vector(0,1E-13)) will equal 0. The two main portions of the parser (the Parser and Value packages) now share a common context object for configuration purposes.
Make Parser work with PGauxiliaryFunctions.pl, and add the macro files needed to initialize the parser.
merged changes from rel-2-1-a1 -- stop using that branch.
Create equations directory if it doesn't exist. All directories under tmp should be recreated if they don't exist. Arnie
Change permission of tmp files so that they can be removed. Arnie
Most of the work for adjusting vertical alignment of images is here.
Allow option of not using the cache. If its path is the empty string, then we just return the md5 hash of the latex string followed by a 1.
Removed extra spaces from around dvipng images. (These can cause bad line breaks, e.g. between mathematics and the punctuation that follows.)
ImageGenerator is now using WeBWorK::Constants
When using the imageCache (which is always), put images into subdirectories based on the first two characters of their md5 hash.
Changed pacckage name from strict to ww_strict per Sam's suggestion to prevent redefining warnings. Arnie
got rid of remaining calls to "wwerror". Fixes bug #530.
Moved be_strict after package main;
Moving ww_strict.pm forward to 5.8.3 compatible version with require Carp; commented out
Moved ww_strict.pm back to be identical with strict.pm from perl 5.6
We are now using ww_strict.pm instead of strict.pm in be_strict;
We are using our own version of strict.pm that has a require Carp; commented out. This is included in be_strict which is used to implement strict within PG macro files which need to be evaluted inside the Safe compartment
Replaced PGsort with a version that uses quick sort. This fixes the problem the old PGsort had with Perl compiled with ithreads. Arnie
Modified DVIPNG_ARGS to work with dvipng >= 1.0.
Cosmetic fixes to code layout.
Preliminary changes that may eventually allow us to solve the be_strict problem for 5.8.0
Allow a 256 error from dvipng. This seems to be necessary on webwork.math.rochester.edu, so I'm commiting it to the CVS as well to keep the two systems in sync. --Mike
Minor change to the definition of the timer
Added error messages that should make it easier to tell if certain directories have not been created. Also checks that files are actually created and written at each step of the process. --Mike
changed the way the IO modules work: shared subroutines are in IO now, and IO has a hash %WeBWorK::PG::IO::SHARE which can be added to Translator's %shared_subroutine_hash directly.
changed documentation to reflect the fact that reh refresh and mtime flags are no longer used
added files from WW2
When displaying a raw student answer, nulls are converted to \0 so that they can be seen. This is probably redundant since strings with multiple values separated by nulls are supposed to be converted to references to arrays before they reach this point. --Mike
Added line which prints out the raw student answer when the debug flag is on. --Mike
added image generation modules from WW2
Redoing fix to random so that random(2,7,3) won't produce 8. The original fix was lost in the merger with mod-perl version.
Fixed new bug introduced by, er, my previous bug fix.
Changed the defintion of *i to be inside the Complex package. this and the change to dangerousMacros seems to have cured bug #116 --Mike
added missing hyperbolic, inverse trig, and inverse hyperbolic functions cintributed by Davide Cervone Arnie
Merge the time optimized branch and the main branch. I forgot one subroutine --Mike
Adding preliminary ability to decompose non-square matrices. Won't work if a permutation is required (i.e. a pivot) --Mike
Merged the changes needed to work with the new WW2 translator optimizations into the main pg branch.
Added a feature to correspond to a change made in process_answers in Translator.pm. Each answer evaluator is given the answer AND the answer label (e.g. AnSWer1) of the answer. The label is placed in the answer hash at $hash{ans_label} for use by filters that need to know the label of the answer they are evaluating. --Mike
Fixed bug when the function is sampled at a point where it is not defined.
removed unneccesary shebang lines
This module contains IO used in saving an answer to a file. --Mike
Bringing this version of Matrix.pm up to date with the latest in courseScripts. --Mike
moved PG modules and macro files from webwork-modperl to pg -sam
aubreyja at gmail dot com | ViewVC Help |
Powered by ViewVC 1.0.9 |


text:
Aladdin® 12-Ounce Essential Infuser - Chai
Infuse and enjoy loose-leaf tea, tea bags and coarse-ground coffee with this classy all-in-one infuser solution. Add your beverage of preference to the basket, fill your infuser with hot water, lower the basket, steep to your preferred shade and then lift the basket. Microwave safe and car cup friendly. No teapot required. Dishwasher safe.

subset: commoncrawl


text:
Students from schools across America came to help First Lady Michelle Obama plant the White House Kitchen Garden
Check out all the action from the South Lawn, where President Obama, Mrs. Obama, Bo and some of America's top athletes played with joined 30,000 guests for reading, cooking, dancing and egg rolling
Thousands of Chicago schoolkids and a lineup of amazing athletes joined First Lady Michelle Obama to announce the launch of an initiative designed to bring physical activity back to schools.
A new MyPlate recipe partnership makes it easy for busy families to enjoy healthier meals at home.
First Lady Michelle Obama had a visitor who wanted to see what he could find in the White House kitchen
This Saturday, May 18th, join thousands of families nationwide and take a trip to a nearby park or open space for National Kids to Parks Day! For the third year in a row, The National Park Trust is encouraging kids and their parents to explore their neighborhood parks and discover the history, nature, and adventure right around the corner or just across town.
Continue reading story


text:
- Bettery Magazine Cutting edge news on sustainable urban living
What's Hot!!
Apple basket book review business model cart cashflow checkout checkout conversion checkout paradigm community marketing context conversion conversion improvement conversion rate copycat Customer Experience customer focused customer focused innovation customer retention dabbawala dabbawala delivery e-commerce e-commerce shipment Exposé Founders future of e-commerce checkout Hawala banking innovation Intellipoint Interface lbs Leipzig location based services location commerce log-in mobile browsing Networking nokia p2p delivery peace of mind Social Event Success Web Montag Wirtschaftsjunioren Leipzig Wirtschaftstreff-
By Category
Monthly Archives: July 2009
Checkout Re-Visited: Step 4
"Your Payment Details, Please."
This is about nothing less but an upcoming revolution in payment services. Think of it as the online equivalent of traditional letters of credit or guarateed cheques – but with new players on board. The risks of pre-payment are being shared equally in favour of a trustworthy business outcome. That said, pre-payment, combined with peer-based guaranteeing and realtime transaction confirmations is going to be a major driver of how trusted online payment is going to work tomorrow. Technology enabled, simple citizen-to-citizen services to be potentially more appealing to customers than the corporation-owned "walled gardens", may be an insight, which could turn out to be hard to reverse. Continue reading
Posted in Asia, Business & Economy, Checkout, Europe, Germany, India, Places, Sales & PR, Semantic Web & Web 2.0, SemaWorx: Started-Up, Technology
Tagged checkout, e-commerce, Hawala banking, online payment, payment methods, pre-payment, Sharia compliant, trust
Comments Off


text:
Home > Current Students > Curriculum > Alphabetical Course List > Course Details Course DetailsBankruptcy
Description:After surveying the rights of creditors and debtors under state law, this course will consider the impact of bankruptcy upon secured and unsecured creditors and stockholders. The bankruptcy trustee's avoiding powers will be studied. Chapters 7, 11 and 13 liquidations and reorganizations will be surveyed with selected topics considered in-depth. The negotiated settlements and "workout agreements" which characterize this area of practice will be emphasized. |
Details:(see course description, above)
(no readings)


text:
User login
Talk Blood Cancer chat room
Welcome to the NEW Talk Blood Cancer discussion forum. This is a safe place to discuss life with Leukaemia, Lymphoma, Myeloma or a related blood disorder. This forum is a place of support and encouragement. It is moderated by trained staff at the Leukaemia foundation to ensure confidentiality, information safety, and to ensure it remains spam free!
In the process of changing over the content of the old site to the new site, some of the most recent forum posts have not made the transition. We apologise for the inconvenience. If you have any queries about the site, please contact the Foundation via the feedback tab. Enjoy!!


text:
Choosing the right advisers as a small business owner
Jonathan Richards discusses how entrepreneurs should go about selecting experts to consult.
Free advice for small business. Expert advice for small business including tax, legal, financial and marketing tips. Learn how to manage your finances and avoid debt when starting your small business.
Jonathan Richards discusses how entrepreneurs should go about selecting experts to consult.
SmallBusiness.co.uk is launching a new priority support and advice service for the UK's 4.5 million small businesses.
Entrepreneur Chloe Thomas discusses why budding entrepreneurs should focus on a particular area in which to sell.
SmallBusiness.co.uk takes a look at the growth of an industry in its infancy.
In these competitive times you need consistently high quality and outstanding first time delivery rates to keep your customers loyal. Find out how we can help your business grow parcelforce.com/britain
In the final part of her series for SmallBusiness.co.uk on setting up and running an e-commerce business, Chloë Thomas looks at building a website and marketing.
Ian Nuttall started his first business with no budget, just a computer and an internet connection. Here, he tells SmallBusiness.co.uk how others can avoid small business debts too.
Daniel Abrahams started online travel money comparison site MyTravelMoney.co.uk in 2011 and now sees profit alone of £117,000. He talks to SmallBusiness.co.uk about his journey.
SmallBusiness.co.uk is looking for input on the company you run in order to help us produce the content that you want to see.
Consultant Chris Merrington explores how to manage supplier relationships to deliver the best return for the business.
Jo Fairle, co-founder of Green and Blacks and other Epson Business Council members give advice to small businesses and entrepreneurs around time management and social media marketing, having a blog and producing content for online use.
The traditional family business has many strengths, but if growth is on the agenda, some tough choices will have to be made. SmallBusiness.co.uk finds out whether families can sustain their ethos while stepping up their ambition.
SmallBusiness.co.uk presents five ideas for keeping your business in the black.
Clive Lewis, of the Institute of Chartered Accountants in England and Wales, explains the legal ramifications of shareholder disputes.
If you enjoy something and are good at it, why not earn your living from it? SmallBusiness.co.uk looks at how combining your passion with your day job can work for you.
SmallBusiness.co.uk offers some pointers to starting a company after being made redundant.
In these competitive times you need consistently high quality and outstanding first time delivery rates to keep your customers loyal. Find out how we can help your business grow parcelforce.com/britain
Fantastic IT & electronic deals for the Small Office & Home – Buy online at Misco.co.uk.
We've reduced the lifetime interest rate on our business loans by 1%. Find out more about our range of funding solutions.
4 in 5 people prefer a co.uk when searching online. Meet some real life success stories and discover why .co.uk is a great place to be for you and your business. Find out more.
Providing cover that's just the job - whether you're a new sole trader or long established, major employer. Call 0333 355 9427 minicom 0800 051 3030. Mon-Fri 9am - 7pm (excluding bank holidays). Calls may be recorded.
In our small business guide to shipping, we explore how young companies approached their logistical operations, with first-hand accounts from case studies on importing and expert advice on tax considerations, international shipping regulations, hidden port charges, and more.
A business plan is not only essential for starting a business or for raising funds, but it is vital for running the business. Get top tips and download this helpful business plan template.
Over the last 12 years, our expert team of CIPD qualified consultants have supported over 53,000 employees with HR and employment law issues. Find out more.
The UK's fastest growing Merchant Service Provider helps SME's across the country achieve unbeatable rates and service. Switching to PaymentSense can save your business up to 40%. Setup in days, Low cost, Capped Rates and UK based 24/7 service as standard. Find out more.
Free Independent advice & quotes to protect your business and your family. Relevant Life Insurance, Life & Critical Illness Insurance, Shareholder Protection, Income Protection. To find out more or Tel: 01773771380.
Tailor your policy, compare quotes and buy in minutes! Up to 50% No Claims Discount. Compare quotes now or call 0845-0723340 today.
Accountant Emily Coltman of FreeAgent gives some pointers on seeing the bigger financial picture of your...
Jonathan Richards discusses how you can add value to a sale by changing the way...
Small business owners are being let down by legal services providers, being hit financially and...
Shaun Thomson, founder of sales and leadership training company Sandler, discusses how to modify your...


text:
We stayed here for 3 nights over the weekend at a cost of over £130 per night. Our room was so small my husband couldn't stand up straight in it as it was in the attic and very narrow. It was also so hot! I rang to speak with reception to ask if there is anything that could be done... More
- Official Description (provided by the hotel):
- With its 52 rooms in a building from 1770, breakfast room in a brick vault in the basement, and some public rooms on the first floor, this leaves a hotel experience that is unique to Stockholm and perhaps the world. Here you can stay, gather and experience Stockholm at its best. ... more less
- Reservation Options:
- TripAdvisor is proud to partner with Booking.com, Expedia, Hotels.com, Agoda, Otel, Venere, Priceline and Tingo so you can book your Hotel Hellstens Malmgard reservations with confidence. We help millions of travellers each month to find the perfect hotel for both holiday and business trips, always with the best discounts and special offers.


text:
Hmm. Baidu is a China-owned SE, and as far as I know, it is a privately held SE that the Chinese government controls - meaning all sites that shows in the database are controlled and filtered to only those that they allow.
Probably the problem would be, Baidu can make use of contents like on our forum and probably scrape it out and use it as their own unique. Am not actually sure though. Any one who knows a better idea of it?


text:
- 3 Drug Stocks Poised To Move As Bears Attack
- IShares DEX All Corporate Bond Index Fund Enters Oversold Territory (XCB)
- BMO Monthly Income ETF Is Now Oversold (ZMI)
- Bernanke Positive On Housing, Uncertain on GSE Reform
- Stocks Tumble as Fed Outlines Criteria for Reducing Stimulus
- ITE Makes Bullish Cross Above Critical Moving Average
Personal Finance
- PlayStation 4 vs. Xbox One: Which is Right For You?
- Top 10 Companies Hiring Managers This Week
- Older Workers Keep Jobs Because They're More Productive, Educated
- 5 Housing Markets Where You'll Break Even Fast When You Buy
- 10 Most Bikeable U.S. Cities
- Michelle Obama In a Bottle: Luxury Perfumer Launches With First Lady Inspiration
Local Business Profiles
- Glass with Class in Ortonville celebrates seven years of beads WITH VIDEO
- Mattress Liquidators of Chesterfield Township promises sleep satisfaction
- LaVida Massage in Shelby Township offers health, wellness
- Enchanted Photography of Birmingham gives a positive impression
- Children's swimming school Aqua-Tots dives into metro Detroit market
- Wierszewski family expands scrap Chesterfield Recycling center
- Churchill's Bistro & Cigar Bar opens in Birmingham
- St. Clair Shores man combines two shoes in one with Switcheels for women
- Mortgage 1 Inc.'s 'Numbers Guy' helps home owners solve financing
- Myles family succeeds with innovation, group of companies
- Clinton Township salon celebrates 14 years through thick and thin
- Mazza Auto Parts opens new location in downtown Pontiac
- Arthur Murray Royal Oak expands
- DiHydro Services helps others through radio
- Bulldog provides a military edge for document security
- Lady4Justice: 10 years fighting for men
- InfiChem recycles scrap polyurethane for new products
- Ulta Beauty opens two new stores
- Henkel supports community through Habitat for Humanity
- Potteryland marks 56 years in Shelby Township
- Bulk food store GFS having a party and everyone is invited WITH VIDEO
- Gavin Smith opens second photography studio in Fenton
- Women's Wellness Clinic opens in Farmington Hills
- Bulk food store GFS having a party and everyone is invited WITH VIDEO
- What Crepe? opens Euro cafe in Birmingham
- Guardian Angels Adult Day Care Services to open in Clarkston
- BUSINESS SPOTLIGHT June 28: Menchie's Frozen Yogurt comes to Shelby Township
- Sisters open Bloomfield Fitness in Keego Harbor
- Hyde Park Prime Steakhouse owners wait 18 years to find prime location in Birmingham
- Brew Jüs opens inside Ferndale market
- Oral and Facial Surgeons adds new 3D digital imaging system
- BUSINESS SPOTLIGHT: Greek Islands Bar & Grill opens at Farmington Hills Golf Club
- Shores Car Care: A decade of service in St. Clair Shores
- Green Home Energy helps homeowners enjoy energy savings
- Plastics company adapts to challenging times
- Royal Oak-based Preferred Insurance Options marks its first year
- Woman franchiser keeps winning at Checkers with Ferndale opening
- Surfs up for Stand Up Paddleboarding
- Mobile Chicken Shack coming to a busy street near you
- Birmingham's Happy Dino springs up
- Hot Mama opens its arms to fashion-forward mothers with store in Rochester Hills
- Raymond James office gives sick investment portfolios a 'second opinion'
- Better Health Market touts gourmet cafe, more space at new Bloomfield Plaza location
- DesignerVault aims to create 2,000 jobs in state
- Greek Jalapeno is a marriage of Mexican and Greek cuisine w/ video
- Spillane & Reynolds Orthodontics completes renovation of Novi office
- John Bowman passes down dealership's reins to daughter
- Go Green saves you green
- Local veterinarian unveils therapy laser treatment
- Movestrong program promotes orthopedic health
Local Guide
Business Name
Location, ST | website.com
Jim Cramer's
Top Stock Ideas
Blog Center
Frye on the News
Stephen Frye has covered the police beat and courts for The Oakland Press and now serves as online editor for www.theoaklandpress.com.
The Law Blogger
Informs on and discusses current matters of legal interest to readers of The Oakland Press and to consumers of legal services in the community.
Cat Chat
Caren Gittleman likes talking cats. She'll discuss everything about them. Share your stories and ask her questions about your favorite feline.
Outdoor Notes
Roger Beukema shares news from Lansing that impacts sportsmen (this means ladies as well) and talks about things he finds when he goes overseas to visit his children, and adding your comments into the mix.
Earth's Almanac
Join Jonathan Schechter as he shares thoughts on our natural world in Oakland County and beyond.


text:
In anticipation of having folks with new eReaders wanting to know if their device is compatible with the library's eBooks, I sent an inquiry to Overdrive, the company behind the library's main eBook collection, the Northern California Digital Library.
Become a member of the San Mateo County Library eBranch community. Registerfor your free online account.


text:
Utilice nuestro buscador de joyas para encontrar el regalo perfecto.
Limite los resultados
Resultados: 367 artículos
No hay resultados.
Modifique sus criterios de búsqueda usando las opciones de filtros de arriba.
Modifique sus criterios de búsqueda usando las opciones de filtros de arriba.
Latest Reviews for Jewelry
Very nice earrings purchased for a special birthday. Bit worried that they would be too small, but went with it having read other reviews - glad I did as they were perfect! Arrived very quickly as expected.
The stone sparkled continuously and I was delighted when I received it. The valuation made me even happier as it was significantly more than what I paid. Very happy.
As good as they appeared in the picture and good value for the money.
Beautiful ring and we are both really happy with our decision. It was a surprise engagement and my fiance says she couldn't have picked any nicer!


text:
Syrian refugees held in very poor conditions in Greece Amnesty says
A Syrian refugee, former police officer in Syria, poses at a hotel roof garden in Athens, earlier this year. Greece was on Thursday criticized for its treatment of migrants and refugees, as Amnesty International launched its annual assessment of the ...
Quake measuring 4.1 Richter hits Crete
An earthquake measuring 4.1 on the Richter scale shook the southern Greek island of Crete at 4 a.m. on Thursday, according to seismologists.The earthquake, whose epicenter had a depth of 10 kilometers, was felt across the island. No damage or injuries were reported.Greece is one of the world's most earthquake-prone countries, but most quakes are of small magnitude and rarely cause severe ...
Europe's leaders say no to austerity don't say yes to stimulus
By James G. Neuger Austerity is out after the euro-area recession extended to a sixth quarter. Stimulus ...
Kremlin's Wine is Made in Mount Athos
The wine served to official guests in Moscow Kremlin, Russia, who are usually leaders of foreign states, is made in the vineyards of Mount Athos. Its name is Kormilitsa and bears the title of Kremlin's Official Wine. The Russian host does not only serve the wine, but often offers one or more bottles to his important guests as a souvenir. Kormilitsa wine is produced at the Metochi Chromitsa ...
UNICEF 600000 Children Below Poverty Line in Greece
The results of a report carried out jointly by UNICEF and Athens University under the title, The state of children in Greece 2013, came into light at a press conference on May 22. According to a UNICEF official, almost 600,000 children in Greece are living below poverty line. A growing number of children are deprived of basic living requirements. President of UNICEF in Greece, Lambros ...
25.2°C Clear
Winds: From the WSW at 8.0 MPH Gusting to 14.0 MPH
Movie Review
Re-Animator [Blu-Ray]
Stuart Gordons Re-Animator, based on a series of six stories by pulp master H.P. Lovecraft, is a giddy, gory horror-comedy filled with audaciously grotesque special effects and witty black humor. It arrived in 1985, at the height of the 80s spate of horror comedies, which also inc ... ...
On Facebook
EU may give Greece more time to meet fiscal targets-Dijsselbloem
ATHENS | Thu May 23, 2013 3:16am EDT ATHENS May 23 (Reuters) - The euro zone may give Greece more time to meet fiscal targets agreed under its international bailout, the chairman of the euro zone finance ministers said in an interview published on Thursday. "The Commission's approach regarding fiscal consolidation is more flexible, giving certain countries more time to meet ...
Taoiseach to meet Greek PM in Athens
Taoiseach Enda Kenny will travel to Athens today to meet Greek Prime Minister Antonis Samaras. The two men are expected to discuss the economic situation in the eurozone, as well as negotiations on the EU's seven-year budget. Greece will take over the rotating EU presidency at the beginning of next year. Mr Kenny will also meet representatives of the Greek business community during his ...
Panathinaikos Face Appeal Over Licence to Play in Greece
Eurozone decisions on direct bank recap and debt relief for Greece imminent says Dijsellbloem
By Nikos ChrysolorasThe moment of truth is approaching for Greece, Ireland, and other countries under fiscal adjustment programs. In an interview with Kathimerini, Jeroen Dijsselbloem, the president of the Eurogroup, says that "before the summer" we will know if these countries will be able to benefit from the "direct bank recapitalization" framework, in order to transfer ...
Greeces current account deficit contracts to USD1.65b in March CB
(MENAFN) The Bank of Greece announced that the country's current account balance posted a deficit of USD1.65 billion in March from a deficit of USD2.88 billion in 2012's same period, reported Reuters.The central bank added that the figure represents a plunge of 43 percent from a year before.It attributed the declining deficit to deep economic reduction and cost-competitiveness ...
Quotable Quotes
Nothing will ever completely replace playing the game I love, however I feel like I'm starting a new adventure and I'm genuinely excited about what lies ahead. I'm fortunate to have been given many opportunities throughout my career and now I feel it's my time to give back.
David Beckham
The world's best known footballer was speaking after formally announcing his retirement.
Hotel Review
This substantial hotel is easily accessed on Century Boulevarde. Driving in to the entrance area, the hotel main lobby greets ...
Keep readingRecord Your Vote
Do you take the threat of North Korea seriously?
Greek Herald
Greek Herald – Online News Agency: Greece NewsNewspapers the world over strive to provide readers with the ultimate news coverage.
The Greek Herald is no exception.
As an online news service we have advantages over traditional newspapers in that stories can be added and updated 24 hours day.
Our objective is to provide the most comprehensive Greek news available, from our resources, contracted wire services and an inventory of some thousands of sources comprising newspapers, cable and TV networks, radio stations, public broadcasters, NGOs and others, Greek news is a priority.
National news comes first. We do however strive to provide a complete news services for our readers. World news headlines top several of our pages, we also provide news on what's happening in business, and in the financial markets.
Whether it's the latest Nikkei 225 reading in Tokyo, the sterling exchange rate in London, or the status of the Nasdaq in New York, whether it's local Greek news, the weather forecast for Greece you'll find it all in the Greek Herald.
From Crete to Athens, the Greek Herald should be your number one choice for breaking news - local, regional, and national.
- Work starts on creation of new Dubai island
- Hellbender Brewing to release debut beer next week
- Is Google Poaching Clicks From Travel Advertisers Spend Trends Down Even As Advertisers Increase | searchengineland.com
- Hotels Changing Internet Pricing Rules | businesstravelnews.com
- Addressing the Social Side of Sustainability Guidelines for the Hospitality Industry | By Michael Estabrook
- Google Removes Translated Pages Search Tool
- Google X acquires kite-power start-up Makani
- Yahoo Oz PAYS Punters To Search
- Review Google music plan solid serendipitous
- 'Same copyright boat' Dotcom vows not to sue Google Facebook in exchange for legal support
Subscribe to our Newsletter
Get the latest Greek Herald headlines delivered to your inbox.


text:
Technical communicators face many of the same challenges that confront information professionals when it comes to staying Future Ready in a profession that changes constantly. We reached out to a group of prominent movers and shakers in the profession and asked how they manage their careers, and these are their stories.
Copyright © 2001 by John V. Hedtke
One of the great advantages of the STC—indeed, of any professional organization—is that you can network with other people. Fame—being well-known and nothing more—can make networking easier and extend your own networking reach. Fortunately, it's not hard to become famous and it's a lot of fun. Here's how:
1. Go to things!
Don't sit home alone watching TV. Go to conferences. Go to meetings. Go to lunches and picnics. Participate in group activities. You don't need to volunteer for hard jobs—indeed, that's the harder way to be famous; besides, you'll be asked plenty about volunteering as time goes by and your fame increases—but do pitch in for things.
2. Meet people.
Fame is largely a function of who knows you. Get out and meet as many people in your profession as you can. As your network grows, you'll discover that people know you that you don't know and you don't even know the people that they say they heard about you from. You don't need to be the life of the party, but be interesting.
3. Listen.
Good listeners are hard to find and will make themselves welcome almost anywhere. Men in particular have a cultural tendency to interrupt. If you make a point of listening to whatever the other person in a conversation is saying until they're all done and then replying, you will differentiate yourself from 99% of the rest of the world. (Hot tip for men: being a good listener will do you worlds of good in your relationships, too.)
4. Remember peoples' names.
Everyone likes to think they're special and they've made an impression on someone else. Try to remember as many names as you can. When you do the business card swap with people, be sure to make notes on business cards about who the person is, when you met, or what you talked about as a trigger to memory, too.
5. Speak at events.
Fame is largely a function of who knows you. Being a speaker at events is one excellent way of getting people to know who you are and what you think about things. Don't forget to answer questions and talk to as many people afterwards as you can.
6. Publish articles.
Articles get your name out to a wider range of people than doing public speaking. It's also a different audience, too: the folks that hear you speak are the ones who, like you, like going to conferences. The people who read articles are going to be the ones who stay at home (and the ones who go to the conferences and enjoy learning everything they can about the profession).
7. Have some opinions.
Having opinions is part of being human. You don't have to tailor your opinions to what is popular, but you should be willing to discuss your point of view with other people.
8. Be ready to disagree with people appropriately.
Having opinions is part of what makes other people human, too. Your opinions are guaranteed to brush up against someone else's opinions. It will broaden your horizons to hear that someone disagrees with you keenly on some fundamental issue (even if you're sure in your heart that they're a jerk for doing so <G>). Be professional in your disagreements and try to accept the people that disagree with you. As Hedtke's Law says, a person who doesn't offend somebody couldn't possibly interest anybody.
9. Make connections between people.
One of the values of being known by a number of people is that you can make connections between people and increase the networking. For example, as your own circle grows, people will often ask you questions like "How can I get started in this business?" or "Who do you recommend I talk to for a job?" Knowing a lot of people allows you to introduce people in your network to each other, making them happy and increasing your own prestige in the process.
10. Have fun.
Being famous is really all about extending your reach. It's great for hearing about that next job or finding someone with hard-to-get technical information. Fame even lets you get a free drink or lunch occasionally, but it's not a substitute for having a life of your own. Relax and have fun with it.
Fame is not a zero-sum game. Everyone can be well-known if they want to be. Because of this, never make the mistake of assuming that because you're famous you're entitled to more than anyone else. And remember that it's not enough to be famous just for being famous; you need to be famous because you actually have something that you do reasonably well. If you forget to do things for yourself, you will soon discover that you don't have anything new to offer… and you'll become a parody of what you once were.
John Hedtke runs JVH Communications (http://hedtke.com), a technical communications and consulting company, and Double Tall Press (http://doubletallpress.com), a nonfiction publishing company. He also runs "Hey, kids! Become an author at home in your spare time and earn big bucks!" (http://tradebookauthor.com), a blog for nonfiction authors. John has written 26 books.


text:
Recommended for you
The 3/4 Sleeve Raglan Henley in Oatmeal and Royal
Return Policy: Sale items can only be returned for exchange or store credit.
The Alternative Apparel 3/4 Sleeve Raglan Henley in Oatmeal and Royal
Rain or shine this urban Alternative Apparel raglan henley tee gives you comfort and a bit of protection for a style that fits any streetwear outfit. Throw on some denim from Volcom and you'll be looking so fresh and so clean.
*V-neckline with button closure
*Contrast 3/4 raglan sleeves
*50% polyester, 38% cotton, 12% rayon
By Alternative Apparel
Size & Fit:
Model is wearing a size Medium
Our model Chris is 5'11" with a 32" waist and 32" inseam.
(Style # 1989E1-ORL)
Please enter a quantity.
Sorry, you've requested more of this item than is available.


text:
Combining utilitarian touches and an easy shape, the Lillian Sweater is a refreshing departure from the season's fitted knits and a perfect transition piece for winter-into-spring. Extra-fine wool and cotton give it a novel, nubby texture, while the classic stripes, a bateau neck and rolled camp-style tab sleeves complete the military-meets-Parisian chic vibe.
Style Number: 51123103
Style Number: 51123103
Cotton wool.
Three-quarter length sleeves.
Horn engraved logo button at cuffs.
Rolled camp-style tab sleeves.
Slim fit.
24" (60.9cm)
Body: 53% wool, 47% cotton.
Cuffs, hem & neckline: 55% wool, 42% cotton, 1% spandex, 2% nylon.
Dry clean only.


text:
As of January 1, 2012, all City of Chicago business license renewals must be processed online.
An "Online Business License Renewal Tutorial" workshop will be held on Friday, December 23rd, from 9:30 - 11:00 a.m. in room 805 of City Hall. The workshop will consist of a demonstration on how to use the Online Business License Renewal System, and a discussion about the various things to keep in mind when renewing your business license. You will find that the online license renewal process is fast, easy and secure.
More tutorials will be held in early 2012. Stay tuned for dates and times.


text:
Green Bay riding high after difficult start
Pack back on top
GREEN BAY, Wis. — It wasn't too long ago that the Green Bay Packers were in a bad place, lagging at the bottom of the NFC North with a — gasp! — losing record while folks picked apart their flaws as if they were some sideshow on Dr. Phil.
Well, well. Look at them now.
A five-game winning streak that's tied for best in the NFL has the Packers (7-3) atop their division and in position to start the playoffs at home. (Yes, they have the same record as the Chicago Bears, but Green Bay owns the tiebreaker after beating its rivals to the south in September.)
Story Archived
Please sign in with your Comment Member ID and password.
Having trouble?
If you have any technical difficulties, either with your username and password or with the payment options, please contact us by e-mail at email@example.com


text:
Green Giant Arborvitae
Thuja standishii x plicata 'Green Giant'
- Fast Growing Evergreen Tree, up to 3' per year
- Great Screen, Hedge, or Windbreak
- Plant 5' to 6' apart
- Grows 50' to 60' high with 12' to 20' spread
- Zones 5 to 7
- Can't Ship to: AK, AZ, HI
- Deer Resistant
* Not a member? Join during checkout and get member pricing immediately.
Zones 5 - 7
The Green Giant Arborvitae can be expected to grow in the zones shown in color in the arborday.org zone map.VIEW MAP
The Green Giant Arborvitae falls into the following type(s): Evergreens
50' - 60' High
The Green Giant Arborvitae grows to be 50' - 60' feet in height.
12' - 20' Spread
The Green Giant Arborvitae has a spread of about 12' - 20' at full maturity.
Fast Growth
This tree grows at a fast growth rate. [More about this.]
Multiple Exposures
This arborvitae does well in full sun, partial shade.
Various Soils
Green Giant arborvitae tolerates a wide range of soil textures. Poorly drained sites should be avoided. It is very salt sensitive.
Pyramidal Shape
This arborvitae has pyramidal, conical shape.
More Info
The 'Green Giant' arborvitae is a large, vigorous, fast growing evergreen. It has a naturally pyramidal to conical form and dense, rich green foliage that darkens or bronzes only a little in the winter. This is an excellent landscape tree for screening views, noise, and wind or as an ornamental specimen. It tolerates a wide variety of soils, but prefers moist, well drained soil, sun to partial shade. It is wind resistant once established, withstands heavy ice or snow loads, has no serious pest or disease problems, and shows better resistance than most arborvitae to browsing by deer. Under good growing conditions, 'Green Giant' can grow up to 3' a year to a height of 50'-60' with a 12'-20' spread. .
Wildlife Value:
Arborvitae provides nesting sites and cover for birds and small animals. The flower buds, seeds, and foliage are a food source, although this cultivar has greater resistance to deer browsing that most arborvitae.
In 1967, D. T. Poulsen from Kvistgaard, Denmark gave the U.S. National Arboretum a single plant, Thuja standishii x plicata. From this plant, the clone named 'Green Giant ' was propagated. It is public domain tree, so anyone can propagate it from cuttings. The word arborvitae comes the Latin meaning "tree of life". 'Green Giant' arborvitae rapidly became a popular plant and is a good alternative for hemlock in the Northeast and Leland Cypress in the Southeast.
Green Giant arborvitae prefers moist soil. Avoid poorly drained and wet sites.
Tiny, ovate, scale-like, ¼" -1/8" long, closely overlapping on divided branchlets, glossy medium green color. Leading shoots each have an inconspicuous resin gland, those on the smaller divisions are often without glands.
Flower Color:
Small, inconspicuous, male yellowish, female pinkish color
Fruit Description:
One half inch oblong cones, green in summer, brown in winter.
Your Green Giant Arborvitae will serve you well as a natural privacy screen with its dense, soft, dark-green foliage. The Green Giant is a large, vigorous, fast-growing evergreen, with a pyramidal to conical form. Tolerant of a variety of soil types, it will flourish in moist, well-drained areas with sun to partial shade. It's also resistant to wind once established and can withstand heavy ice or snow, making it a good choice for creating a fast-growing natural windbreak. This tree will grow up to three feet per year, reaching a height of 50'-60' with a 12'-20' spread. Plant 5'-6' apart for a screen or hedge; otherwise, 10'-12' apart. (Zones 5-7)
Spring Shipping | Fall Shipping | ||||
Color | Zone |
Approximate Ship Dates |
Order Deadline |
Approximate Ship Dates |
Order Deadline |
2 | 04/15–05/30 | 05/14 | 11/01–11/26 | 11/12 | |
3 | 04/15–05/30 | 05/14 | 11/01–11/26 | 11/12 | |
4 | 04/15–05/30 | 05/14 | 11/01–11/26 | 11/12 | |
5 | 04/15–05/30 | 05/14 | 11/01–11/26 | 11/12 | |
6 | 03/19–05/12 | 05/07 | 11/01–12/03 | 11/19 | |
7 | 03/11–05/07 | 04/30 | 11/05–12/10 | 11/26 | |
8 | 02/26–04/30 | 04/23 | 11/05–12/10 | 11/26 | |
9 | 02/26–04/30 | 04/23 | 11/05–12/10 | 11/26 | |
10 | 02/26–04/30 | 04/23 | 11/05–12/10 | 11/26 |
When you order trees from The Arbor Day Foundation, your order is guaranteed to arrive in a good, healthy condition or we'll replace them at no charge. Your trees will be shipped at a suitable time for planting.
Each tree is guaranteed to grow, or we'll replace it at one half the original price, plus shipping and handling.
The benefits of bare-root trees
Our trees are delivered with natural bare roots which have been dipped in hydrating gel prior to shipment to keep the roots moist and healthy. As their abundant, fibrous roots aren't confined by a container, bare-root trees get off to a more vigorous start compared to containerized roots which typically need more time to adjust to transplanting. Bare-root trees typically surpass the size of larger containerized trees in only a few years.


text: | Would you support an increase in state income and sales taxes to support local education if it meant elimination of current school property taxes?opinionYour current school property taxes will NEVER go down, no matter how much state income and sales taxes are increased. You cannot trust politicians and bureaucrats. 0 Agrees | 0 Disagrees | Report Abuse » maddieNot sure it makes sense to give that kind of money to the state after seeing how they have mismanaged the public retirement money over the past decade. 0 Agrees | 0 Disagrees | Report Abuse » Showing 3 of 3 comments Post a Comment | |


text:
Mischa's Fireside Chats
PETA: Super Mario's a Monster!
Is dumping on a beloved videogame character — even jokingly — the best way to help the tanukis?
It appears that PETA is out of actual bad guys and has resorted to shaming made-up ones. PETA has set its sights on the cheeky, Italian-via-Japan videogame character Mario — you know, of Super Mario fame — in a Nov. 14 PETA press release. The organization is lambasting the character because of his use of a tanuki "suit." (It's a pretty sweet and elusive power-up, as "Tanooki Mario" is able to fly and turn into a statue … for some reason.) "Tanooki may be just a 'suit' in Mario games, but by wearing the skin of an animal, Mario is sending the message that it's OK to wear fur," the press release said. The press release also says that, "Tanukis are real-life raccoon dogs who are beaten and, as PETA's undercover exposés show, often skinned …


text:
What would you like to study?
Are you interested in accounting, viticulture or welding? Maybe you want to prepare to transfer to a university. We can help you achieve any of these goals and more.
Programs & Majors Find out what classes are required for the program you have selected.
Course Descriptions Get a brief description of the individual classes that you will be taking.
Current Catalog You may browse the below categories for most of the same information. This file is large and will take a while to download.
Catalog & Curriculum Archives Here you can find past years of our catalog in PDF format and past curriculum change summaries.


text:
New in 2010, The C Lazy U has enhanced the winter ranch vacation with a snowmobile fleet. Guests can now enjoy snowmobile tours throughout the ranch property. We also have the perfect tubing hill groomed and ready for your enjoyment.
The C Lazy U Ranch is very much a ski destination. Besides our own private skiing, we also offer great ski packages to Winter Park and Sol Vista ski areas. The ranch offers curb to curb shuttle service to both Winter Park and Sol Vista Ski resorts. Prior to your arrival we will set you up with all the rental ski equipment you need for the week allowing you to hit the slopes as soon as you arrive. Also available to our guests are lessons at any of the ski resorts including at the new C Lazy U ski mountain. The ranch gives you the opportunity to enjoy great skiing while getting away from the hustle and bustle of the busy ski resorts.
With the addition of a Snow Cat and Zamboni machine, the C Lazy U Ranch can now provide you with endless winter activities! We can take you Snow Cat skiing on our private ski mountain or you can skate on the pond all winter long. The C Lazy U Luge is a guest favorite for the ultimate sledding experience and for snowtubing you can hit the Tubing Hill. Sleigh rides, horseback rides, snow shoeing and cross-country skiing round out the snow sports on tap at C Lazy U Ranch, or you can enjoy our outdoor hot tub and heated pool. Indoors, the game room and the Lazy You Spa are guest favorites, and evenings are spent at the fireside enjoying games and music.
C Lazy U is one of the rare guest ranches open during the winter season, and for good reason! We have our own private ski hill for downhill Snowcat skiing, as well as a huge number of other wintertime activities – ice skating, snowshoeing, sledding, cross country skiing, horseback riding, hockey on a Zamboni-groomed pond – you name it, we probably offer it!
New for this 2012/2013 winter season, we are offering guests the opportunity to join the C Lazy U Powder Club. When we receive six inches of snow or more, you'll get an e-newsletter letting you know that the snow is flying. Located only 1.5 hours from Denver, C Lazy U is an ideal winter getaway, made only more fun and cozy with the snow.
To opt into the C Lazy U Powder Club and receive email alerts, simply sign up using the form below.
We're in the book! The C Lazy U Ranch is listed in the new edition of the "Top 1000 Places to See Before You Die"
The C Lazy U is listed on the Top 50 Ranches website as one of the best in the world! Read more...
Top Location for Incentives & Relaxed Gatherings Award by


text:
The Greater L.A. Festival is normally a bridge between summer and autumn, and this was made even more obvious this year when a sudden autumn chill swept through Lansing on Saturday, preceding a heavy rainfall that halted the event.
The annual festival is co-sponsored by the Lansing American Legion and the Lansing Volunteer Fire and Rescue Department. This year's festival took place at the Lansing American Legion ball field on Friday and Saturday.
The festival was a gathering of several local customers and merchants who sold both food and crafts. Also in attendance were several mountain and gospel musicians who played on stage during the event.
Although rain did eventually put a dent in the festival, it didn't dampen the spirits of some of the merchants.
"We've had pretty good day so far," said Tabetha Howell of Tab-A-Dees in West Jefferson. "The event has had pretty good attendance today."
Charlotte Elliott, an American Legion auxiliary member, said, "It's a shame it had to rain today; that's really going to hurt our donations."
The field is leased to the Lansing American Legion by the Ashe County Board of Education.
Ashe County Parks and Recreation no longer uses the Lansing ball field to host any programs, so the maintenance of the property falls squarely on the shoulders of the Lansing American Legion.
According to Elliott, the Lansing American Legion wants the field to be used for good causes. At the same time, maintaining the property and hosting events does have its financial costs.
In order to make enough money to hold the Greater L.A. Festival, the American Legion relied on donations gathered at the entrance of the festival.
According to Elliott, the donations this year probably won't cover the expenses accrued for having the event.
For instance, renting the giant inflatable slide for the festival ended up costing the American Legion $500. According to Elliott, the Lansing American Legion didn't even receive enough in donations to cover that expense by itself. Because the slide doesn't bring people to the festival, Elliot said, "We probably won't have the slide next year."
As Elliott said, the Lansing American Legion wants to put the property to good use. One use of the property is leasing the picnic shelter to host special occasions.
At the moment, the Legion accepts donations as payment for rentals. However, according to Elliot, the Legion may need to start charging a fee for renting the shelter.
Elliott said the Greater L.A. Festival will make another return next year.


text:
Tweet |
Follow Us on Facebook Get updates from FaveCrafts.com posted directly to your News Feed. |
Bouquet BowlBy: ILovetoCreate.com Paint a lasting bouquet of colorful flowers on a free form bowl from I Love to Create. This colorful accent piece would make an impressive gift. Floral pattern included.
Signature Brushes
E-Z Stroke® Translucent Underglazes
Yellow Flower: a. Neon Yellow: petals Pink Flower: a. Ruby Red: petals Purple Flower: a. Royal Purple: petals Orange Flower: a. Neon Orange: petals Blue Flowers: a. Neon Blue: petals Small Lavender Flowers: a. Santa Fe Sunset: petals Background between flowers and leaves: Azure Blue wash
Related ProjectsRelated Products to Buy from CutRateCrafts.com - save 15-30% |
What's HotTop Painting Projects
Something worth saving?
Free eBooks


text:
You must earn 10,000 points to post other members' whiteboard
Hi there Mr Clean, saw your interesting avatar on several mutual buddy sites. Congratulations on 211 cons days posting....Lets be buddies also..Thanks
Congratulations on having the energy to post for 204 consecutive days, AGAIN. Keep up the Great Work. Your buddy, Warren {:-)
Hey Harry, the super Mr. Clean. Wanna be buddies?? Thanks!! David..............QQ
Hi, congratulations on having the perseverance to post for 400 consecutive days. Keep up the great work and Good Luck in the future! Your buddy, Warren :-)
Happy belated birthday,...I am soooo sorry!!! :(
Keep it up and you will be at a year in no time. P.S. This is leap year, so figure 366 days. LOL Hope that you have a Happy 4th of July. :o)
Hi, congratulations on having the perseverance to post for 300 consecutive days. Keep up the good work and Good Luck! Your buddy, Warren :-)
Care to be Buddies? Have a good night.
Hi, I am traveling to Fayette next week - next post, could you include diesel prices?
Hi there, we have the same birthday! Keep on posting.