text:
SCM Repository
View of /sml/trunk/HISTORY
Parent Directory | Revision Log
Revision 593 - (download) (annotate)
Tue Apr 4 07:26:33 2000 UTC (22 years, 6 months ago) by leunga
File size: 26856 byte(s)
Tue Apr 4 07:26:33 2000 UTC (22 years, 6 months ago) by leunga
File size: 26856 byte(s)
Fixes related to C--, Moby and my optimizations. CVS tag=leunga-20000404-C--Moby
This is the HISTORY file for the Yale SML/NJ CVS repository. An entry should be made for _every_ commit to the repository. The entries in this file will be used when creating the README for new versions, so keep that in mind when writing the description. The form of an entry should be: Name: Date: Tag: <post-commit CVS tag> Description: ---------------------------------------------------------------------- Name: Allen Leung Date: 2000/04/04 03:18:00 EST Tag: leunga-20000404-C--Moby Description: All of these fixes are related to C--, Moby, and my own optimization stuff; so they shouldn't affect SML/NJ. 1. X86 Various fixes related floating point, and extensions. 2. Alpha Some extra patterns related to loads with signed/zero extension provided by Fermin. 3. Assembly When generating assemby, resolve the value of client defined constants, instead of generating symbolic values. This is controlled by the new flag "asm-resolve-constants", which is default to true. 4. Machine Descriptions a. The precedence parser was slightly broken when parsing infixr symbols. b. The type generalizing code had the bound variables reversed, resulting in a problem during arity raising. c. Various fixes in machine descriptions. ---------------------------------------------------------------------- Name: Matthias Blume Date: 2000/04/03 16:05:00 JST Tag: blume_main_v110p26p2_2 Description: I eliminated coreEnv from compInfo. Access to the "Core" structure is now done via the ordinary static environment that is context to each compilation unit. To this end, I arranged that instead of "structure Core" as "structure _Core" is bound in the pervasive environment. Core access is done via _Core (which can never be accidentially rebound because _Core is not a legal surface-syntax symbol). The current solution is much cleaner because the core environment is now simply part of the pervasive environment which is part of every compilation unit's context anyway. In particular, this eliminates all special-case handling that was necessary until now in order to deal with dynamic and symbolic parts of the core environment. Remaining hackery (to bind the "magic" symbol _Core) is localized in the compilation mananger's bootstrap compiler (actually: in the "init group" handling). See the comments in src/system/smlnj/init/init.cmi for more details. I also tried to track down all mentions of "Core" (as string argument to Symbol.strSymbol) in the compiler and replaced them with a reference to the new CoreSym.coreSym. Seems cleaner since the actual name appears in one place only. Binfile and bootfile format have not changed, but the switchover from the old "init.cmi" to the new one is a bit tricky, so I supplied new bootfiles anyway. ---------------------------------------------------------------------- Name: Allen Leung Date: 2000/04/02 21:17:00 EST Tag: leunga-20000402-mltree Description: 1. Renamed the constructor CALL in MLTREE by popular demand. 2. Added a bunch of files from my repository. These are currently used by other non-SMLNJ backends. ---------------------------------------------------------------------- Name: Allen Leung Date: 2000/03/31 21:15:00 EST Tag: leunga-20000331-aliasing Description: This update contains a rewritten (and hopefully more correct) module for extracting aliasing information from CPS. To turn on this feature: Compiler.Control.CG.memDisambiguate := true To pretty print the region information with assembly Compiler.Control.MLRISC.getFlag "asm-show-region" := true; To control how many levels of aliasing information are printed, use: Compiler.Control.MLRISC.getInt "points-to-show-level" := n The default of n is 3. ---------------------------------------------------------------------- Name: David MacQueen Date: 2000/03/31 11:15:00 EST Tag: dbm-20000331-runtime_fix Description: This update contains: 1. runtime/c-lib/c-libraries.c includes added in revision 1.2 caused compilation errors on hppa-hpux 2. fix for bug 1556 system/Basis/Implementation/NJ/internal-signals.sml ---------------------------------------------------------------------- Name: Matthias Blume Date: 2000/03/31 18:00:00 JST Tag: blume_main_v110p26p2_1 Description: This update contains: 1. A small change to CM's handling of stable libraries: CM now maintains one "global" modmap that is used for all stable libraries. The use of such a global modmap maximizes sharing and minimizes the need for re-traversing parts of environments during modmap construction. (However, this has minor impact since modmap construction seems to account for just one percent or less of total compile time.) 2. I added a "genmap" phase to the statistics. This is where I got the "one percent" number (see above). 3. CM's new tool parameter mechanism just became _even_ better. :) - The parser understands named parameters and recursive options. - The "make" and "shell" tools use these new features. (This makes it a lot easier to cascade these tools.) - There is a small syntax change: named parameters use a <name> : ( <option> ... ) or <name> : <string> syntax. Previously, named parameters were implemented in an ad-hoc fashion by each tool individually (by parsing strings) and had the form <name>=<string> See the CM manual for a full description of these issues. ---------------------------------------------------------------------- Name: Matthias Blume Date: 2000/03/30 18:00:00 JST Tag: blume_main_v110p26p2_0 Description: !!!!! WARNING !!!!!! !! New binfiles !! !!!!!!!!!!!!!!!!!!!! This update contains: 1. Moderate changes to CM: - Changes to CM's tools mechanism. In particular, it is now possible to have tools that accept additional "command line" parameters (specified in the .cm file at each instance where the tool's class is used). This was done to accomodate the new "make" and "shell" tools which facilitate fairly seemless hookup to portions of code managed using Makefiles or Shell scripts. There are no classes "shared" or "private" anymore. Instead, the sharing annotation is now a parameter to the "sml" class. There is a bit of generic machinery for implementing one's own tools that accept command-line parameters. However, I am not yet fully satisfied with that part, so expect changes here in the future. All existing tools are described in the CM manual. - Slightly better error handling. (CM now surpresses many followup error messages that tended to be more annoying than helpful.) 2. Major changes to the compiler's static environment data structures. - no CMStaticEnv anymore. - no CMEnv, no "BareEnvironment" (actually, _only_ BareEnvironment, but it is called Environment), no conversions between different kinds of static environments - There is still a notion of a "modmap", but such modmaps are generated on demand at the time when they are needed. This sounds slow, but I sped up the code that generates modmaps enough for this not to lead to a slowdown of the compiler (at least I didn't detect any). - To facilitate rapid modmap generation, static environments now contain an (optional) "modtree" structure. Modtree annotations are constructed by the unpickler during unpickling. (This means that the elaborator does not have to worry about modtrees at all.) Modtrees have the advantage that they are compositional in the same way as the environment data structure itself is compositional. As a result, modtrees never hang on to parts of an environment that has already been rendered "stale" by filtering or rebinding. - I went through many, many trials and errors before arriving at the current solution. (The initial idea of "linkpaths" did not work.) But the result of all this is that I have touched a lot of files that depend on the "modules" and "types" data structures (most of the elaborator). There were a lot of changes during my "linkpath" trials that could have been reverted to their original state but weren't. Please, don't be too harsh on me for messing with this code a bit more than what was strictly necessary... (I _did_ resist the tempation of doing any "global reformatting" to avoid an untimely death at Dave's hands. :) - One positive aspect of the previous point: At least I made sure that all files that I touched now compile without warnings (other than "polyEqual"). - compiler now tends to run "leaner" (i.e., ties up less memory in redundant modmaps) ---------------------------------------------------------------------- Name: Allen Leung Date: 2000/03/29 18:00:00 Tag: leunga-20000327-mlriscGen_hppa_alpha_x86 Boot files (optional): ftp://react-ilp.cs.nyu.edu/leunga/110.26.1-sml.boot.x86-unix-20000330.tar.gz Description: This update contains *MAJOR* changes to the way code is generated from CPS in the module mlriscGen, and in various backend modules. CHANGES ======= 1. MLRiscGen: forward propagation fix. There was a bug in forward propagation introduced at about the same time as the MLRISC x86 backend, which prohibits coalescing to be performed effectively in loops. Effect: speed up of loops in RISC architectures. By itself, this actually slowed down certain benchmarks on the x86. 2. MLRiscGen: forward propagating addresses from consing. I've changed the way consing code is generated. Basically I separated out the initialization part: store tag, offset(allocptr) store elem1, offset+4(allocptr) store elem2, offset+8(allocptr) ... store elemn, offset+4n(allocptr) and the address computation part: celladdr <- offset+4+alloctpr and move the address computation part Effect: register pressure is generally lower as a result. This makes compilation of certain expressions much faster, such as long lists with non-trivial elements. [(0,0), (0,0), .... (0,0)] 3. MLRiscGen: base pointer elimination. As part of the linkage mechanism, we generate the sequence: L: ... <- start of the code fragment L1: base pointer <- linkreg - L1 + L The base pointer was then used for computing relocatable addresses in the code fragment. Frequently (such as in lots of continuations) this is not needed. We now eliminate this sequence whenever possible. For compile time efficiency, I'm using a very stupid local heuristic. But in general, this should be done as a control flow analysis. Effect: Smaller code size. Speed up of most programs. 4. Hppa back end Long jumps in span dependence resolution used to depend on the existence of the base pointer. A jump to a long label L was expanded into the following sequence: LDIL %hi(L-8192), %r29 LDO %lo(L-8192)(%r29), %r29 ADD %r29, baseptr, %r29 BV,n %r0(%r29) In the presence of change (3) above, this will not work. I've changed it so that the following sequence of instructions are generated, which doesn't mention the base pointer at all: BL,n L', %r29 /* branch and link, L' + 4 -> %r29 */ L': ADDIL L-(L'+4), %r29 /* Compute address of L */ BV,n %r0(%r29) /* Jump */ 5. Alpha back end New alpha instructions LDB/LDW have been added, as per Fermin's suggestions. This is unrelated to all other changes. 6. X86 back end I've changed andl to testl in the floating point test sequence whenever appropriate. The Intel optimization guide states that testl is perferable to andl. 7. RA (x86 only) I've improved the spill propagation algorithm, using an approximation of maximal weighted independent sets. This seems to be necessary to alleviate the negative effect in light of the slow down in (1). I'll write down the algorithm one of these days. 8. MLRiscGen: frequencies I've added an annotation that states that all call gc blocks have zero execution frequencies. This improves register allocation on the x86. BENCHMARKS ========== I've only perform the comparison on 110.25. The platforms are: HPPA A four processor HP machine (E9000) with 5G of memory. X86 A 300Hhz Pentium II with 128M of memory, and SPARC An Ultra sparc 2 with 512M of memory. I used the following parameters for the SML benchmarks: @SMLalloc HPPA 256k SPARC 512k X86 256k COMPILATION TIME ---------------- Here are the numbers comparing the compilation times of the compilers. I've only compared 110.25 compiling the new sources versus a fixpoint version of the new compiler compiling the same. 110.25 New Total Time in RA Spill+Reload Total Time In RA Spill+Reload HPPA 627s 116s 2684+3584 599s 95s 1003+1879 SPARC 892s 173s 2891+3870 708s 116s 1004+1880 X86 999s 315s 94006+130691 987s 296s 108877+141957 110.25 New Code Size Code Size HPPA 8596736 8561421 SPARC 8974299 8785143 X86 9029180 8716783 So in summary, things are at least as good as before. Dramatic reduction in compilation is obtained on the Sparc; I can't explain it, but it is reproducible. Perhaps someone should try to reproduce this on their own machines. SML BENCHMARKS -------------- On the average, all benchmarks perform at least as well as before. HPPA Compilation Time Spill+Reload Run Time 110.25 New 110.25 New 110.25 New barnesHut 3.158 3.015 4.75% 1+1 0+0 2.980 2.922 2.00% boyer 6.152 5.708 7.77% 0+0 0+0 0.218 0.213 2.34% count-graphs 1.168 1.120 4.32% 0+0 0+0 22.705 23.073 -1.60% fft 0.877 0.792 10.74% 1+3 1+3 0.602 0.587 2.56% knuthBendix 3.180 2.857 11.32% 0+0 0+0 0.675 0.662 2.02% lexgen 6.190 5.290 17.01% 0+0 0+0 0.913 0.788 15.86% life 0.803 0.703 14.22% 25+25 0+0 0.153 0.140 9.52% logic 2.048 2.007 2.08% 6+6 1+1 4.133 4.008 3.12% mandelbrot 0.077 0.080 -4.17% 0+0 0+0 0.765 0.712 7.49% mlyacc 22.932 20.937 9.53% 154+181 32+57 0.468 0.430 8.91% nucleic 5.183 5.060 2.44% 2+2 0+0 0.125 0.120 4.17% ratio-regions 3.357 3.142 6.84% 0+0 0+0 116.225 113.173 2.70% ray 1.283 1.290 -0.52% 0+0 0+0 2.887 2.855 1.11% simple 6.307 6.032 4.56% 28+30 5+7 3.705 3.658 1.28% tsp 0.888 0.862 3.09% 0+0 0+0 7.040 6.893 2.13% vliw 24.378 23.455 3.94% 106+127 25+45 2.758 2.707 1.91% -------------------------------------------------------------------------- Average 6.12% 4.09% SPARC Compilation Time Spill+Reload Run Time 110.25 New 110.25 New 110.25 New barnesHut 3.778 3.592 5.20% 2+2 0+0 3.648 3.453 5.65% boyer 6.632 6.110 8.54% 0+0 0+0 0.258 0.242 6.90% count-graphs 1.435 1.325 8.30% 0+0 0+0 33.672 34.737 -3.07% fft 0.980 0.940 4.26% 3+9 2+6 0.838 0.827 1.41% knuthBendix 3.590 3.138 14.39% 0+0 0+0 0.962 0.967 -0.52% lexgen 6.593 6.072 8.59% 1+1 0+0 1.077 1.078 -0.15% life 0.972 0.868 11.90% 26+26 0+0 0.143 0.140 2.38% logic 2.525 2.387 5.80% 7+7 1+1 5.625 5.158 9.05% mandelbrot 0.090 0.093 -3.57% 0+0 0+0 0.855 0.728 17.39% mlyacc 26.732 23.827 12.19% 162+189 32+57 0.550 0.560 -1.79% nucleic 6.233 6.197 0.59% 3+3 0+0 0.163 0.173 -5.77% ratio-regions 3.780 3.507 7.79% 0+0 0+0 133.993 131.035 2.26% ray 1.595 1.550 2.90% 1+1 0+0 3.440 3.418 0.63% simple 6.972 6.487 7.48% 29+32 5+7 3.523 3.525 -0.05% tsp 1.115 1.063 4.86% 0+0 0+0 7.393 7.265 1.77% vliw 27.765 24.818 11.87% 110+135 25+45 2.265 2.135 6.09% ---------------------------------------------------------------------------- Average 6.94% 2.64% X86 Compilation Time Spill+Reload Run Time 110.25 New 110.25 New 110.25 New barnesHut 5.530 5.420 2.03% 593+893 597+915 3.532 3.440 2.66% boyer 8.768 7.747 13.19% 493+199 301+289 0.327 0.297 10.11% count-graphs 2.040 2.010 1.49% 298+394 315+457 26.578 28.660 -7.26% fft 1.327 1.302 1.92% 112+209 115+210 1.055 0.962 9.71% knuthBendix 5.218 5.475 -4.69% 451+598 510+650 0.928 0.932 -0.36% lexgen 9.970 9.623 3.60% 1014+841 1157+885 0.947 0.928 1.97% life 1.183 1.183 0.00% 162+182 145+148 0.127 0.103 22.58% logic 3.285 3.512 -6.45% 514+684 591+836 5.682 5.577 1.88% mandelbrot 0.147 0.143 2.33% 38+41 33+54 0.703 0.690 1.93% mlyacc 35.457 32.763 8.22% 3496+4564 3611+4860 0.552 0.550 0.30% nucleic 7.100 6.888 3.07% 239+168 201+158 0.175 0.173 0.96% ratio-regions 6.388 6.843 -6.65% 1182+257 981+300 120.142 120.345 -0.17% ray 2.332 2.338 -0.29% 346+398 402+494 3.593 3.540 1.51% simple 9.912 9.903 0.08% 1475+941 1579+1168 3.057 3.178 -3.83% tsp 1.623 1.532 5.98% 266+200 250+211 8.045 7.878 2.12% vliw 33.947 35.470 -4.29% 2629+2774 2877+3171 2.072 1.890 9.61% ---------------------------------------------------------------------------- Average 1.22% 3.36% ---------------------------------------------------------------------- Name: Allen Leung Date: 2000/03/23 16:25:00 Tag: leunga-20000323-fix_x86_alpha Description: 1. X86 fixes/changes a. The old code generated for SETcc was completely wrong. The Intel optimization guide is VERY misleading. 2. ALPHA fixes/changes a. Added the instructions LDBU, LDWU, STB, STW as per Fermin's suggestion. b. Added a new mode byteWordLoadStores to the functor parameter to Alpha() c. Added reassociation code for address computation. ---------------------------------------------------------------------- Name: Allen Leung Date: 2000/03/22 01:23:00 Tag: leunga-20000322-fix_x86_hppa_ra Description: 1. X86 fixes/changes a. x86Rewrite bug with MUL3 (found by Lal) b. Added the instructions FSTS, FSTL 2. PA-RISC fixes/changes a. B label should not be a delay slot candidate! Why did this work? b. ADDT(32, REG(32, r), LI n) now generates one instruction instead of two, as it should be. c. The assembly syntax for fstds and fstdd was wrong. d. Added the composite instruction COMICLR/LDO, which is the immediate operand variant of COMCLR/LDO. 3. Generic MLRISC a. shuffle.sml rewritten to be slightly more efficient b. DIV bug in mltree-simplify fixed (found by Fermin) 4. Register Allocator a. I now release the interference graph earlier during spilling. May improve memory usage. ---------------------------------------------------------------------- Name: Matthias Blume Date: 2000/03/14 14:15:32 Tag: blume_main_v110p26p1_2 Description: 1. Tools.registerStdShellCmdTool (from smlnj/cm/tool.cm) takes an additional argument called "template" which is an optional string that specifiel the layout of the tool command line. See the CM manual for explanation. 2. A special-purpose tool can be "regisitered" by simply dropping the corresponding <...>-tool.cm (and/or <...>-ext.cm) into the same directory where the .cm file lives that uses this tool. (The behavior/misfeature until now was to look for the tool description files in the current working directory.) As before, tool description files could also be anchored -- in which case they can live anywhere they like. Following the recent e-mail discussion, this change should make it easier to have special-purpose tools that are shipped together with the sources of the program that uses them. ---------------------------------------------------------------------- Name: Matthias Blume Date: 2000/03/10 07:48:34 Tag: blume_main_v110p26p1_1 Description: I added a re-written version of Dave's fixpt script to src/system. Changes relative to the original version: - sh-ified (not everybody has ksh) - automatically figures out which architecture it runs on - uses ./makeml a bit more cleverly - never invokes ./installml (and, thus, does not clobber your good and working installation of sml in case something goes wrong) - accepts max iteration count using option "-iter <n>" - accepts a "base" name using option "-base <base>" It does not build any extraneous heap images but directly rebuilds bin- and boot-hierarchies using makeml's "-rebuild" switch. Finally, it can incorporate existing bin- and boot- hierarchies. For example, suppose the base is set to "sml" (which is the default). Then it successively builds sml.bin.<arch>-unix and sml.boot.<arch>-unix then sml1.bin.<arch>-unix and sml1.boot.<arch>-unix then sml2.bin.<arch>-unix and sml2.boot.<arch>-unix ... then sml<n>.bin.<arch>-unix and sml<n>.boot.<arch>-unix and so on. If any of these already exist, it will just use what's there. In particular, many people will have the initial set of bin and boot files around, so this saves time for at least one full rebuild. Having sets of the form <base><k>.{bin,boot}.<arch>-unix for <k>=1,2,... is normally not a good idea when invoking fixpt. However, they might be the result of an earlier partial run of fixpt (which perhaps got accidentially killed). In this case, fixpt will quickly move through what exists before continuing where it left off earlier, and, thus, saves a lot of time. ---------------------------------------------------------------------- Name: Allen Leung Date: 00/03/10 02:20:00 Tag: leunga-20000310-fix_x86_asm_ra Description: More assembly output problems involving the indexed addressing mode on the x86 have been found and corrected. Thanks to Fermin Reig for the fix. The interface and implementation of the register allocator have been changed slightly to accommodate the possibility to skip the register allocation phases completely and go directly to memory allocation. This is needed for C-- use. ---------------------------------------------------------------------- Name: Matthias Blume Date: 00/03/09 10:23:53 Tag: blume_main_v110p26p1_0 Description: * Complete re-organization of library names. Many libraries have been consolidated so that they share the same path anchor. For example, all MLRISC-related libraries are anchored at MLRISC, most libraries that are SML/NJ-specific are under "smlnj". Notice that names like host-cmb.cm or host-compiler.cm no longer exist. See system/README for a complete description of the new naming scheme. Quick reference: host-cmb.cm -> smlnj/cmb.cm host-compiler.cm -> smlnj/compiler.cm full-cm.cm -> smlnj/cm.cm <arch>-<os>.cm -> smlnj/cmb/<arch>-<os>.cm <arch>-compiler.cm -> smlnj/compiler/<arch>.cm * Bug fixes in CM. - exceptions in user code are being passed through (i.e., reach top level) - more bugs in paranoia mode fixed - bug related to checking group owners fixed * New install.sh script that automagically fetches archive files: The new file config/srcarchiveurl must contain the URL of the (remote) directory that contains bin files (or other source archives). If install.sh does not find the archive locally, it tries to get it from that remote directory. This should simplify installation further: For machines that have access to the internet, just fetch <version>-config.tgz, unpack it, edit config/targets, and go (run config/install.sh). The scipt will fetch everything else that it might need all by itself. For CVS users, this mechanism is not relevant for source archives, but it is convenient for getting new sets of binfiles. Archives should be tar files compressed with either gzip, compress, or bzip2. The script recognizes .tgz, .tar, tar.gz, tz, .tar.Z, and .tar.bz2. ---------------------------------------------------------------------- Name: Matthias Blume Date: 2000/03/07 04:01:04 Tag: blume_main_v110_26_2 Description: - size info in BOOTLIST * no fixed upper limits for number of bootfiles or length of bootfile names in runtime * falling back to old behavior if no BOOTLIST size info found - allocation size heuristics in .run-sml * tries to read cache size from /proc/cpuinfo (this is important for small-cache Celeron systems!) - install.sh robustified - CM manual updates - paranoid mode * no more CMB.deliver() (i.e., all done by CMB.make()) * can re-use existing sml.boot.* files * init.cmi now treated as library * library stamps for consistency checks - sml.boot.<arch>-<os>/PIDMAP file * This file is read by the CM startup code. This is used to minimize the amount of dynamic state that needs to be stowed away for the purpose of sharing between interactive system and user code. - CM.Anchor.anchor instead of CM.Anchor.{set,cancel} * Upon request by Elsa. Anchors now controlled by get-set-pair like most other CM state variables. - Compiler.CMSA eliminated * No longer supported by CM anyway. - fixed bugs in pickler that kept biting Stefan * past refs to past refs (was caused by the possibility that ad-hoc sharing is more discriminating than hash-cons sharing) * integer overflow on LargeInt.minInt - ml-{lex,yacc} build scripts now use new mechanism for building standalone programs - fixed several gcc -Wall warnings that were caused by missing header files, missing initializations, etc., in runtime (not all warnings eliminated, though)
|ViewVC Help
|Powered by ViewVC 1.0.0


text:
The final section of this module is a 9 question quiz.
Choose your answer, then click the submit button. Sometimes, you may have to scroll down to find the submit button.
Searchpath will display a response to your answer. Read the response, then go to the next question.
You can take the quiz over again, but you must complete it before retaking any questions.
The last page of the quiz displays a summary of your answers. You will be able to print out or email your quiz results to your instructor.

subset: commoncrawl


text:
Morning Minutes: Nov. 12
Staff Writer
Mount Shasta Herald
Word of the Day
obsequy \OB-si-kwee\ (noun) a funeral rite or ceremony. — www.dictionary.com
Website of the Day
The "world's greatest cheese resource" has more than 650 specialty cheese from 60 countries. Mmm, cheese.
Number to Know
1993: On this date in 1993, the first Ultimate Fighting Championship event, UFC 1, was held in Denver, Colo.
This Day in History
Nov. 12, 1980: The NASA space probe Voyager I makes its closest approach to Saturn and takes the first images of its rings.
Today's Featured Birthday
Baseball player Sammy Sosa (45)
Daily Quote
"It is the sweet, simple things of life which are the real ones after all." — Laura Ingalls Wilder


text: Guidry's program is basically a request type show from call-ins and write-ins. He also does live interviews of musicians and on other French related topics. The main concept is to bring his audience the Cajun Music that would normally he heard if one was at a Sunday Afternoon Dance. Listeners can expect to hear recorded Cajun music from the very traditional roots musicians to the current popular progressive Cajun Music. Occasionally, you can hear live musical performances. You may also hear live phone interviews. You may also hear from musicians talking about their music. Nonc Jules has been doing this program since July 1983 and in these years, he has thoroughly enjoyed going into other people's home every Sunday Afternoon. He recently retired from the State of Louisiana on June 1998 with 35 years of experience. He worked 17 years in accounting at the University Medical Center and the last 17 years as the Accountant for the Development of French in Louisiana. He is married for the past 34 years to Mary Lou Guidry and has one married daughter Kimberly Ann Guidry. He has a Cajun Music Band called "Nonc Jules and the Lachez-Les". His wife plays the guitar and he plays the accordion every afternoon with the "Vermilion Ville House Band". He also has Merlin Fontenot playing the fiddle.


text:
2005-06 Mass Scorecard for State Representative Deborah BlumerPLEASE NOTE: THIS IS A DRAFT WEBSITE WITH INCOMPLETE VOTING RECORDS
|Democrat representing Sixth Middlesex
|Office: 134
|Phone: (617) 722-2400
|E-mail: [email protected]
|Website: http://www.state.ma.us/legis/member/ddb1.htm
Vote selection and interpretation by representatives of Mass Scorecard without approval or participation from the Massachusetts Democratic Party.
|Fundamental Issue in MassDems' Party Platform
(Click for full text of platform section)
|Summary of related issue put to vote
(Click for House Journal references)
|This Rep's vote on this issue
|Party platform on this issue
Part I: CIVIL RIGHTS
Clause 9: Same-sex marriage
|Sep 14, 2005:Affirming marriage for heterosexuals only
|Blumer: NO
|Platform: NO
|Clause 7: Church & State
|Sep 20, 2005:Reaffirming 'one nation under God' in pledge of allegiance
|Blumer: NO
|Platform: NO
Part II: HEALTH CARE
Clause 14: Stem cell research
|May 31, 2005:Overriding veto on Stem Cell Research Bill
|Blumer: YES
|Platform: YES
|Clause 16 & 17: Mental health
|Jul 14, 2005:Maintaining two state psychiatric hospitals
|Blumer: YES
|Platform: YES
|Clause 3 & 4 universal coverage
|Nov 3, 2005:Employer assessment for uninsured employees
|Blumer: NO
|Platform: NO
|Clause 11 & 12 MassHealth
|Nov 3, 2005:Increasing benefits under MassHealth
|Blumer: YES
|Platform: YES
|Part III: EDUCATION
|(No votes on which to base response)
Part IV: ECONOMIC GROWTH
Clause 3, corporate tax havens
|Jun 15, 2005:Closing $85 million in corporate tax loopholes
|Blumer: YES
|Platform: YES
|Clause 14, tax breaks to wealthy
|Jun 15, 2005:Capital gains tax rebates
|Blumer: NO
|Platform: NO
Part V: LABOR
Clause 13, immigrant rights
|Jan 11, 2006:Allowing in-state tuition for undocumented immigrants
|Blumer: YES
|Platform: YES
Part VI: HOUSING
Clause 1 & 3: Homelessness
|Jul 14, 2005:Veto override for $220K for homelessness
|Blumer: YES
|Platform: YES
|Clause 5, housing subsidy
|Nov 3, 2005:$2 million for Mass Rental Voucher Program
|Blumer: YES
|Platform: YES
Part VII: SOCIAL SECURITY
Clause 3: Safety net
|Jul 14, 2005:Studying how MA can overcome federal workfare rules
|Blumer: YES
|Platform: YES
|Clause 2 and 3, safety net
|Sep 22, 2005:Restricting welfare benefits to 5 years
|Blumer: NO
|Platform: NO
|Part VIII: ENVIRONMENT
|(No votes on which to base response)
|Part IX: CONSUMER PROTECTION
|(No votes on which to base response)
Part X: SAFETY AND CRIME
Clause 3: Death penalty
|Nov 15, 2005:Reinstating capital punishment
|Blumer: NO
|Platform: NO
|Part XI: VOTING PROCEDURES
|(No votes on which to base response)
Part XII: TAXES AND SERVICES
Clause 4: Local aid
|Apr 29, 2005:Replacing restrictions on local aid allocations
|Blumer: YES
|Platform: YES
|Clause 1: Condemn tax cuts
|Oct 18, 2005:Postponing reduction of income tax to 5%
|Blumer: YES
|Platform: YES
|Number of votes in 2005-06 in accord with Democratic Party Platform:
|16 out of 16 votes.
|Summary letter grade:
A=90% or better; B=80%; C=70%; D=60%; F=below 60%
Accord with the Democratic Party Platform is determined by representatives of Mass Scorecard and has no approval by nor association with the Massachusetts Democratic Party.
|Other Mass Reps from Middlesex County:
|Deborah Blumer voting record:
|Cory Atkins
Ruth Balser
Paul Casey
Edward Connolly
Paul Donato
James Eldridge
Christopher Fallon
Michael Festa
Colleen Garry
Thomas Golden
William Greene
Geoffrey Hall
Robert Hargraves
Bradley Jones
Rachel Kaprielian
Jay Kaufman
Kay Khan
Peter Koutoujian
|Stephen LeDuc
David Linsky
Paul Loscocco
James Marzilli
James Miceli
Kevin Murphy
Charles Murphy
David Nangle
Patrick Natale
Anne Paulsen
Susan Pope
Denise Provost
Tom Sannicandro
Carl Sciortino
Thomas Stanley
Timothy Toomey
Patricia Walrath
Alice Wolf
Part I: CIVIL RIGHTS
Part II: HEALTH CARE
Part III: EDUCATION
Part IV: ECONOMIC GROWTH
Part V: LABOR
Part VI: HOUSING
Part VII: SOCIAL SECURITY
Part VIII: ENVIRONMENT
Part IX: CONSUMER PROTECTION
Part X: SAFETY AND CRIME
Part XI: VOTING PROCEDURES
Part XII: TAXES AND SERVICES
Mass Scorecard Home Page
2003-2004 House Index
2005-2006 House Index
2003-2004 Senate Index
2005-2006 Senate Index


text:
line(redirected from fulcrum, cross arch line)
Also found in: Dictionary, Thesaurus, Medical, Legal, Financial.
(the Central Polynesian Sporades), an archipelago in the equatorial part of the Pacific Ocean, in Polynesia. It consists of 11 islands and reefs, with a total area of about 600 sq km. Population, about 1,300 (1970). The number of inhabitants rises and falls sharply because of the reliance of the economy on seasonal labor. Some of the islands are uninhabited. Palmyra and Jarvis islands and Kingman Reef belong to the USA, the rest to Great Britain; of the latter, Christmas, Washington, and Fanning islands belong to the British colony of Gilbert and Ellice Islands. All the islands are coral atolls; Christmas Island is the largest atoll in the Pacific Ocean (area, 575 sq km.). The predominant vegetation is coconut groves. Copra and breadfruit are harvested, and there is fishing. There are airports on Palmyra and Christmas islands and an important transoceanic cable station on Fanning Island on the California-Fiji-New Zealand line. The Line Islands were discovered in 1777 by the British navigator J. Cook, and Vostok Island in 1820 by the First Russian Antarctic Expedition. In the first half of the 1950's nuclear tests were conducted on Christmas and Maiden islands.
a hemp cable up to 25 mm in circumference, made by twisting or weaving individual threads, usually from high-quality vegetable fiber. Lines are used on ships for rigging and tackling operations. Lines have various names—logline, leadline, schiemansgaren (spun twine), or huizing —depending on their function, means of production, and number of threads and strands.
(in genetics), related sexually reproducing organisms that are descended, as a rule, from a single ancestor or a single pair of common ancestors and that reproduce the same genetically stable characters in a number of generations.
Distinctive characters of a line are artificially maintained by means of selection and breeding together of closely related individuals. There are pure lines—the genotypically homogeneous offspring of self-pollinating plants in which almost all the genes are in a homozygous state—and inbred lines—the offspring of cross-pollinating plants obtained by forced self-pollination or a group of animals obtained by breeding together of closely related individuals (inbreeding). The more closely the parents are related, the higher the degree of homozygosis of the offspring. In both pure and inbred lines, constantly arising mutations disrupt homozygosis. Therefore, it is necessary to perform selection to preserve homozygosis of the genes that determine the basic properties of a line. In livestock breeding, a distinction is made between a genealogical line, a group of animals descended from a common ancestor, and a trade line, a homogeneous, qualitatively unique group maintained by selection with the use of inbreeding and consisting of highly productive animals descended from an outstanding forefather and similar to him in constitution and productivity.
Pure and inbred lines serve as the basis for obtaining highly productive hybrids in horticulture and livestock breeding. Lines of laboratory animals that preserve constancy in certain traits play an important role in biomedical research.
REFERENCESJohannsen, W. L. O nasledovanii v populiatsiiakh i chistykh liniiakh. Moscow-Leningrad, 1935. (Translated from German.)
Medvedev, N. N. Prakticheskaia genetika. Moscow, 1966.
IU. S. DEMIN and E. IA. BORISENKO
By extension, a (usually physical) medium such as an optical fibre which carries a signal.
line(1) In text-based systems, a row of characters.
(2) In graphics-based systems, a row of pixels.
(3) See LINE messaging system.
(4) A communications channel. See line card and port.
|The First Lines
|This photo, taken at Broadway and Cortlandt Streets in New York in 1883, shows a nation exploding with its first communications. The very same thing is happening today with the Internet, only the infrastructure is not visible. (Image courtesy of AT&T.)


text:
The Big Break - Episode 6
September 09, 2013
All of the six golfers remaining have to show their speed in this team skills challenge, but don't forget accuracy. Contestants have to rely on their fellow teammates to succeed and win the Mulligan - and an exemption from the elimination challenge. Members of the losing team in the skills challenge face off in the elimination challenge, which will determine who the big hitters are.


text:
Carpet Cleaning Cranham in RM14 Havering & Neighbouring Areas
Looking for local professional carpet cleaners in Cranham in RM14 Havering in your area?
Mobile: 07506 709450
Landline: 0208 942 2819
Toll Free: 0800 689 8989
We are your Local Carpet Cleaning Company in Cranham in RM14 Havering which has been providing London and; Greater London homes, offices, industrial and commercial properties with professional steam carpet cleaning services for over 14 years now. We have been trading with 1 principal in mind, offer all customers with a great, punctual, efficient and but most important reliable service that our local customers in Cranham in RM14 Havering can trust each time! If you are looking for a hassle and stress free professional steam carpet cleaning, upholstery cleaning services e.g. sofas, mattresses, curtains and rugs steam cleaning or professional end of tenancy cleaning (move out cleaning and move in cleaning and after builders cleaning services) in Cranham in RM14 Havering or any neighbouring towns, in London or in Greater London, just give us a call today! Our prices are competitive, service, support is simply second to none!
You can call us in order to discuss your appointment and we will be happy to offer you with a great service. You can call us on 07506 709450, 0208 942 2819 or on 0800 today and we will look forward to provide you a personal yet professional steam carpet cleaning service in your property based in Cranham in RM14 Havering or anywhere in London or Greater London areas. If you will recommend a friend or neighbour, you will each get £10 each time!
Before and After Carpet Cleaning Results:
See what our customers say about us:
Meet our team of local carpet cleaning technicians in Cranham in RM14 Havering:
We use the most latest professional steam carpet cleaning equipment in order to achieve great results!
See what our customers reviews and what they saying in Cranham in RM14 Havering:
"We have been planning to replace our carpets because they looked horrible. However we wanted to see if there's a company that can advise on this. We called "Carpet Cleaning Company" and they advised arranging an initial carpet clean and a few weeks after sparkle carpet cleaning services. Initial carpet cleaning delivered great results to be honest. Our carpets looked and smelled fresh, our kids and our dog were so happy. We arranged another clean 4 weeks after and there was no need to replace the carpets for at least 2 more years! We have been very impressed with your honest advice and approach. Thank You from Millie and James
We are your full service cleaning company offering range of other cleaning services in Cranham in RM14 Havering in homes, offices, industrial and commercial properties, including but not limited to:
a). End Of Tenancy Cleaning Services
b). Pre End Of Tenancy Cleaning
c). Post End Of Tenancy Cleaning
d). Professional Carpet Cleaning Services
e). Professional Steam Sofa Cleaning Services
f). Professional Steam Mattress Cleaning Services
g). Professional Steam Curtains Cleaning Services
h). Professional Steam Rugs Cleaning Services
i). End Of Lease Cleaning Services
j). Pre After Builders Clean (Initial Build Cleaning)
k). Post After Builders Cleans (Sparkle Clean).
l). Professional oven/cooker cleaning services
We also provide several other property maintenance and property management services in Cranham in RM14 Havering and neighbouring areas:
* Painting and; Decoration Services
* Plastering Services
* Rendering Services
* Locksmith Services
* Electrician
* Plumbing Services
* Removal Cranham Services
* Rubbish Removal Cranham Services
* Gardening Services
* Pest Control Services
* Mould Removal Cranham (Damp Removal Cranham Services)
* Handyman Services
* Woodwork and Joinery Services
* Pet and Babysitting Services
We also provide all our customers with on-going discounted prices on using other individual services we provide in Cranham in RM14 Havering and nearby areas. We also offer cash prizes on friends, family, colleagues and colleagues referrals, why not get in touch with us via phone on 07506 709450, 0208 942 2819 or on 0800 689 8989 today?
Local Customers from Cranham in RM14 Havering save 25-% Off on all services.
Our customers are talking about us, see what they are saying?
Call us today for professional steam carpet cleaning or range of other services we provide in Cranham in RM14 Havering. Call us on 07506 709450, 0208 942 2819 or on 0800 689 8989.
Call your carpet cleaning company in Cranham in RM14 Havering for professional end of tenancy cleaning services, move out cleaning, move in cleaning services and after builders cleaning services as well as range of other property management and property maintenance services in Cranham in RM14 Havering today on 07506 709450, 0208 942 2819 or on 0800 689 8989


text:
This coaster features my 'Hummingbird' artwork.
Matching mugs are available.
Coasters are approximately 3.5 x 3.5 inches, have a high gloss finish and can be easily wiped clean with a damp cloth.
All items are designed and printed by me, the artist Leelee here in the UK.
Please contact me within 14 days of delivery.
Return items within 30 days.
Personalised items are non-refundable.
If an item arrives damaged please contact me with details and photo of damage and I will arrange a replacement or refund for you.
If the buyer wishes to return an undamaged item the buyer is responsible for the return shipping costs. If the item is not returned in its original condition the buyer is responsible for any loss in value.
UK orders
Orders will be delivered with Royal Mail or Hermes, estimated delivery 3 – 5 days.
Free delivery on orders over £20. Estimated delivery 3 – 5 days.
Non UK orders
All orders are posted with Royal Mail International Standard, estimated delivery 6 – 10 days but please note delivery can take up to 30 days.


text:
Defacto Salons directory makes it simple to find hair and beauty salons, aesthetic clinics, barbers, tattoo parlours and spas near you. Our online directory and salon locator provides impartial, up to date information for clinics and salons in your local area.
We have thousands of listings for cities across the UK, and our simple search system makes it easy to find, narrow down and compare salons near you. Simply enter the treatment or service you are looking for, browse the listings, read reviews and book your appointment all from the comfort of your home.
Each listing in our Surrey directory includes opening hours, location and services so you can see at a glance whether it will fit your requirements. As well as this, our directory also has reviews from previous users, so you can read about others peoples' experiences before booking your appointment. It really is that simple.
Are You Looking for a Hair Salon in Surrey?
Have you had a bad haircut and are looking for a new hair salon or stylist to fix it? Or perhaps you have just moved to a new city and have no idea which hairdresser will be best for you? Whatever your reason is for looking for a good hair salon, Defacto Salons can help.
Find Top Hair Salons and Barbers in Surrey
With so many hairdressers and barbers in Surrey, it can be difficult to know which one is right for you. Barbers have also experienced a surge in popularity in recent years, with many men looking for a professional barber as opposed to the cheapest haircut available.
Our hair salon directory helps you find and compare local hairdressers and barbers in Surrey. By browsing through our listings you can find the best hair salons specialising in particular services such as hair cutting, wedding styling or hair extensions, or that fit certain requirements such as those hair salons open on Sundays, with special offers or discounts or open late during the week.
Share Your Experience with Directory Users
With Defacto Salons, you can contribute to our community and help others by writing reviews and sharing your experiences. We aim to build a catalogue of great salon reviews to help making find a local hair salon near you as hassle-free as possible.
Spas & Beauty Salons Surrey
Besides hairdressing, our Surrey beauty parlour directory also has all you need to compare different beauty salons by looking at their location, opening hours and treatment lists.
If you are looking to book a spa day, to give someone a spa gift, or for a particular treatment: pedicure, waxing, massage, manicure and so on, Defacto Salons can help.
Thinking of getting married in 2016? Defacto Salons is the perfect wedding directory for hair and beauty salons in Surrey
Our salon search system is straightforward to use. Simply narrow down your search to your local area and find a spa or beauty salon that can provide the services you require in a location that is suitable for you. Once you have a list of potential salons, read the reviews to compare and book online.
Find Aesthetic Clinics in Surrey
Aesthetic beauty treatments can help you look younger, feel better and build your confidence. From cosmetic surgery to non surgical or laser treatments aesthetic treatments can tackle a range of problem areas including unwanted fat, lines, sagging, wrinkles and more.
Are you looking for an aesthetic clinic in Surrey? Our salon directory can help you find a warm, friendly relaxed clinic that provides the quality aesthetic services you are searching for.
Enhance Your Beauty with Treatments from a Trustworthy Aesthetic Clinic
There are many reasons that you may decide to have an aesthetic beauty treatment in Surrey. Perhaps you have no time for makeup and are looking to have permanent makeup done, or maybe you have veins or sagging you would like changed.
Whether you are looking to dramatically change your appearance or make subtle enhances we can help you find a clinic that offers surgical and/or non-surgical procedures that you need. Popular aesthetic treatments include dermal fillers, botox, anti-aging treatments, breast enlargement and liposculpture. Skin treatments for scarring and acne are also popular.
Whatever your requirements you can trust in Defacto Salons to provide impartial listings with genuine reviews.
Find a Local Tattoo Shop near You
If you are thinking about getting a tattoo you will want to find a tattoo parlour in Surrey which has a great reputation. Gone are the days of picking a tattoo shop from a phonebook. With Defacto Salons you can browse through a directory of trustworthy tattoo shops in Surrey all from the comfort of your home.
Getting a tattoo can require a lot of consideration so it is important that you feel comfortable with the tattoo artist you decide to choose.
Find and Review Tattoo Studios in the UK
Defacto Salons can help you find the tattoo salon that's perfect for you with on trend tattoo art. Our directory has hundreds of tattoo studios listed from Surrey and across the UK with reviews and information to help narrow down your selection. Read reviews from previous visitors to get an idea of the salon and help you find the perfect shop and artist for your next tattoo.
Defacto Salons is the ultimate way to find your local hair and beauty salons
Nowadays using a search engine to find the right salon for you may not be as successful as you would hope. The online world is highly competitive and many small businesses don't have the budget or knowledge to compete for the top listings on search engine results pages. By using an impartial salon directory list you can take away any potential confusion and compare salons like for like.
To start using our salon search system today simply enter your location or keywords.


text:
When I introduce a programmer to Rails I encourage them to read the article Skinny Controller, Fat Model. My only complaint about this article is that it applies the Skinny/Fat Pattern in a vague way, proceeding as if by intuition. I've found instead that there is a formulaic way to produce excellent Controller code–the
Controller Formula
Skinny/Fat: Code Complexity vs. Abstraction Boundaries vs. The Formula
The Skinny/Fat pattern is typically stated in terms of Lines of Code. Your Controllers should have few Lines of Code; where there are many, move them to the Model. This rule has more exceptions than it has applications, so we can state the intent of the Pattern more precisely in terms of Abstraction Boundaries. Remove all Business Logic from your Controllers and put it in the model. Your Controllers are only responsible for mapping between URLs (including other HTTP Request data), coordinating with your Models and your Views, and channeling that back to an HTTP response. Along the way, Controllers may do Access Control, but little more. These instructions are precise, but following them requires intuition and subtle reasoning. The purpose of this post is to avoid subtle heuristics like Abstraction and Code Complexity. There is a Formula. Let's see an example that follows the Formula:
def create
model = Model.new(params[:model])
raise SecurityTransgressionError.new unless logged_in_user.can_update?(model)
if model.save
render ...
What's going on here? The Action channels user input to the model. It raises an Exception if the user lacks permission to perform this Action. Validation is performed by the model. Given the results, the Controller renders the appropriate Template to the HTTP Response.
Note a few things about this example. All of the access control rules (i.e., Business Logic) are specified in the Model (in this case, in the can_update? method on User). All data validation rules (again, Business Logic) are specified in the Model. There are three benefits to this approach: 1) the Logic in the Model is easier to test as it's isolated. 2) Our Abstraction Boundaries are respected. 3) Our Controller is brief, i.e. Skinny. The resulting Controller some call anorexic. But I think it is like a conductor: all of the rhythm and melody comes from the players but the conductor keeps the whole orchestra in sync. But metaphors, testing strategies, and hoity-toity talk of Abstraction Boundaries aside, this example is good code because it follows the Formula.
Let's consider a more sophisticated example.
Transactions and Compound Creations
Suppose that when creating a model of type Model, we always also want to create another type, DependentModel. We might be tempted to write something like:
def create
model = Model.new(params[:model])
dependent_model = model.dependents.build(params[:dependent_model])
if model.save ...
Two Models created in one Action! This looks nothing like the Formula. Just push the creation of the DependentModel into Model and we have:
def create
model = Model.new(params[:model])
if model.save ...
Voila! The Formula.
How assigns fit into the Formula
Let's consider another Action, one of the non-side-effecting persuasion.
def edit
model = Model.find(params[:id])
raise SecurityTransgressionError.new unless logged_in_user.can_update?(model)
@colors = Color.find :all
We can see the same access control pattern as in the previous example, but absent is any input validation as the user is not modifying anything. Something new here is the assignment of @colors. Typically, when we are displaying something to the user (in this case, an edit form), we will be listing various data; in this case, these data are the possible colors a model can be. Years ago, DHH issued a bull stating that "Thou Shalt Not Call Find in Thine Template". This commandment is not without its problems, but that's an issue for another blog post. This loading of the data is part of the Formula.
Push all your Find logic into the Model
Let's take this edit action one step further. Suppose Users of type Admin can assign a certain set of colors to a Model, but other Users can select from a smaller set. Let's rewrite edit to support these new business rules:
def edit
model = Model.find(params[:id])
raise SecurityTransgressionError.new unless logged_in_user.can_update?(model)
@colors = logged_in_user.admin?? Color.fabulous_colors : Color.drab_colors
Something has gone wrong here: we've put Business Logic in the Controller, ack! But rather than appeal to some ethereal Abstraction Boundaries, just notice that it doesn't follow the formula exemplified above–it's got an extra conditional in the assignment of @colors. Let's redesign this a bit, just aiming to adhere to the Formula:
def edit
model = Model.find(params[:id])
raise SecurityTransgressionError.new unless logged_in_user.can_update?(model)
@colors = Color.find_by_user_role(logged_in_user.role)
Much better. We've put the rules of determining which color set to select based into the Model, and we have no more Control Flow than our original definition of edit above. This is Skinny as can be. We haven't violated any Abstraction Boundaries. The color logic is easier to Unit Test. But these ends can be accomplished on auto-pilot just by following the Formula.
Let's complexify this example one step further.
Conditional Logic Based on Session Data or other HTTP Request Data
def edit
if logged_in_user.admin?
render :action => 'edit_admin'
render :action => 'edit_normal'
This is not Skinny at all. But, rendering different templates based on the User role is not Business Logic per-se. Rather, it is logic concerning what information is directed to the HTTP response. This properly belongs in the Controller. We could push this into the model:
render :action => model.edit_action_for_user_role(logged_in_user.role)
But this would make the model know about the View, which is unethical. We could use something like the Visitor Pattern to maintain abstraction boundaries but that is ridiculous overkill here. We could put our Fat edit action on a diet by breaking the two conditions into different edit actions on different Controllers. This approach is, perhaps, more RESTful in spirit:
class AdminModelsController
class UserModelsController
All of these concerns: violating Abstraction Boundaries, Lines of Code, the complexity of the Visitor Pattern, whether one approach is more RESTful than another… in the end it's just a judgement-call between unappealing alternatives, and no two programmers will make the same choice, and I on any given day will choose variously. So just follow the Formula. Break it out into two controllers so we can have two edit actions, each well behaved.
The Full Formula
Let's look at a 'grammar' for the Formula, and we'll soon be done.
def non_side_effecting_action
model = Model.find(params[:id])
raise SecurityTransgressionError.new unless logged_in_user.can_action?(model)
@assign1 = Foo.find :all
@assignN = Bar.find_for_user(logged_in_user)
def side_effecting_action
model = Model.new(params[:model])
# or: model = Model.find(params[:id]); model.attributes = params[:model]
raise SecurityTransgressionError.new unless logged_in_user.can_action?(model)
if model.save
@assign1 = Foo.find :all
@assignN = Bar.find_for_user(logged_in_user)
render :action => ... # or redirect_to ...
Some details are left out here… And obviously, there will be cases where the Formula needs to be elaborated. There might even be a few cases where the Formula needs to be abandoned. But I think you'll find it useful most of the time.
About the Author


text:
CCTV Drain Surveys Longfield – Domestic & Commercial | FS Drainage
Contact Us
Specialist CCTV Drain Inspection
FS Drainage Services have the equipment to identify any drain issue with our specialist Longfield CCTV drain survey service. Identifying the underlying issue is essential in establishing the best solution.
When you choose FS Drainage Services, you can expect to receive a service that's fast, reliable and delivered by true experts with many years of experience in surveying all kinds of drainage systems within Longfield.
Our engineers are experts in their field. CCTV drain surveys are the best solution for assessing the condition of drain and sewer pipes at your Longfield property. Whether you need a domestic or commercial CCTV drain survey then call our team today. They'll be able to provide free advice and get you an engineer appointment scheduled in.
What to expect from your CCTV drain survey
By using the latest in CCTV drain inspection technology, we'll use state-of-the-art robust cameras to capture high definition footage and images highlighting the condition of your Longfield drains and sewers. Our equipment allows us to survey pipes that are between 50mm and 2000mm thick, and no job is too big or too small for our team.
The results from the drain survey will uncover exactly what the issue is, so we can remedy the problem in the most efficient and cost-effective way.
Our drain surveys will typically identify some of the more common issues such as cracks, fractures, displaced joints and root ingress – and because of these factors can cause long-term damage to your drainage system if left untreated, it's best to identify and remedy them to avoid more disruption and higher costs further down the line.
We'll always carry out your Longfield CCTV drain surveys in the least intrusive manner possible. Once the inspection has been completed, you will receive a full WinCan VX report, along with our recommendations for the next steps. From there, we can schedule you in for the remedial work
Why choose our Company?
Our Promise (Domestic and Commercial)
We'll get to the bottom of your drainage problem in no time at all!
We know that establishing your drain issue is urgent. That's why we offer 2-hour response times for the Longfield area – so we can identify the issue, rectify it and get you back up and running with our drain survey and inspection services.
We understand the negative impact that drainage problems can have on your home or business. We want to be able to deliver the information you need as quickly as possible so you're able to initiate the remedial actions as soon as possible.
This is especially important if you're a commercial premise such as an; office, shop, factory or warehouse is currently being affected by blocked or bad-smelling drains, because any downtime means a loss in productivity (and, ultimately, a loss of revenue). We are often asked to carry out CCTV drain surveys for commercial property owners whose businesses are being compromised by drainage problems. Our commercial CCTV drainage specialists are all accredited to OS19X standards for surveying drains and sewers which means they have the training and expertise to deliver appropriate CCTV drainage reports to the specifications required by the UK regulators.
How our booking process works
Contact Our CCTV Sewer Inspection Experts Today
Tel: 0800 689 3497
Email: email@example.com
There's no reason to put up with ongoing or underlying drainage issues when you could uncover the root cause of the problem in no time at all with the help of our CCTV drain survey services. Get in touch with FS Drainage Services now to arrange your appointment. We're on hand 24/7, 365.


text:
Charlie Sheen Gives $75,000 to Help Little Girl Fight Cancer
Charlie Sheen is no Grinch.
The Anger Management actor recently cut a $75,000 check to help a little girl who is fighting cancer, TMZ.com reports.
Sheen had learned that the 10-year-old daughter of a Hermosa Beach police officer was battling Childhood Rhabdomyosarcoma, a form of cancer that requires chemotherapy and radiation treatments.
Charlie Sheen offers role to Angus T. Jones on Anger Management
Sheen sent the check to the Hermosa Beach Police Association, which started a fund to help the girl. Sheen's stunt double Eddie Braun also wrote a $25,000 check for the fund.
The news comes less than a month after reports surfaced that Sheen gave Lindsay Lohan a $100,000 check to help cover the $233,904 she allegedly owes in back taxes. His goodwill doesn't stop with money, though. He also offered his former Two and a Half Men co-star Angus T. Jones a guest-starring role on his FX series after Jones made disparaging comments against Men.
View original Charlie Sheen Gives $75,000 to Help Little Girl Fight Cancer at TVGuide.com
Related Articles on TVGuide.com
Other Links From TVGuide.com


text:
The OTC Journal Newsletter is an electronic publication committed to providing our readers with useful information on publicly traded companies. The Newsletter contracts with publicly traded companies and receives compensation from them or third parties as payment for publishing information and opinions about the company and the trading market for their securities. Principals of the Newsletter may also purchase or sell securities of the companies in the open market from time to time. The positions, if any, that the Newsletter or its principals presently maintain in the securities of the companies are disclosed here (click here) and should be considered in making an investment decision regarding these companies securities. The Newsletter and its principals reserve the right to acquire additional shares or liquidate some or all of the positions they may hold in the issuers securities at any time in the future without further notice. These publications should not be considered to be independent publications concerning the company.
All statements and opinions expressed herein are those of the editors and are subject to change without notice. The Newsletter maintains editorial control over its publications and the companies profiled therein do not have any editorial rights concerning the information published about them. While we believe all sources of information provided by us and contained in our publication to be accurate and reliable, we cannot and do not guarantee the accuracy of information we received from third parties.
We encourage our readers to invest carefully and read the investor information available at the web sites of the Securities and Exchange Commission ("SEC") at http://www.sec.gov and/or the National Association of Securities Dealers ("NASD") at http://www.finra.org. We also recommend that you read the SEC advisory to investors concerning Internet Stock Fraud, which can be found at http://www.sec.gov/consumer/cyberfr.htm. Readers can review all public filings by companies at the SEC's EDGAR page. The NASD has published information on how to invest carefully at its web site.
The information found in this profile is protected by the copyright laws of the United States and may not be copied, or reproduced in any way without the express written consent of the editors of otcjournal.com.
You can unsubscribe from this list at any time by Clicking Here. If you are having difficulty removing yourself or wish to change your address please go to http://www.otcjournal.com/opt/.


text:
Top-Quality Customer Service
Genuine help, right when you need us
At Champion Portable Toilets, we want to go above and beyond what you expect for customer service. Our friendly staff delights in helping you by answering your questions and providing valuable advice to help you get the exact type of toilet rental for your location. To get a free quote, it's as easy as calling us at 888-263-8822. Our staff genuinely care about our clients. We have more than 20 years of experience, which gives us the expertise in determining how many and what type of portable toilet rental you need for your party, worksite or other location.


text:
The fabric, leather or finish in the picture may vary from the actual piece. Price may vary with changes in fabric, leather or finish. Please call our store at 877.549.9144 if you want to be sure before visiting us.
Combining centuries old hand looming techniques with the finest colors, we have created these crisp and casual designs. Handcrafted in India from 100% wool, teams of craftsmen work traditional shuttle looms to create these unique rugs. Each piece is then painstakingly hand finished, hand carved and detailed.
The Mystique 6' Round by Surya at Sheely's Furniture & Appliance in the Ohio, Youngstown, Cleveland, Pittsburgh, Pennsylvania area. Product availability may vary. Contact us for the most current availability on this product.
Browse other items in the Mystique collection from Sheely's Furniture & Appliance in the Ohio, Youngstown, Cleveland, Pittsburgh, Pennsylvania area.
This item has been tagged as: Rugs, Area Rugs, Home Decorations, Accessories, Home Design Accessories, Throw Rugs, Bathroom Rugs, Large Rugs, Small Rugs, Floor Rugs, Unique Area Rugs, Rug, Indoor Rugs, Bed Rug, Living Room Rug, Family Room Rug, Kitchen Rugs, Hallway Rug, Accent Rug, Nursery Rug, Room Rugs, Carpet, Decorative Rugs, Floor Mat, Floor Covering, Coverlet, Mat, Matting, Runner, Carpet Runners, Tapestry, Tapestries, Table Rug
Nothing on this page may be copied or reproduced without explicit permission.


text:
See More From :Gloob
Product Code: GLPS063
Availability: In Stock
Product Code: GLPS063
Availability: In Stock
ePrice: 380
Cash On Delivery Is Available
1 Year Manufacturer Warranty
Delivered Within 5-7 Working Days. Click to know more
LAPTOP STICKER - Singing Lady
LAPTOP STICKER - Singing Lady
You can mention the required Color & Size as per requirement, while placing the order in the "Comment For Your Order" section.
If nothing is mentioned in the comment, Default Color in the image will be sent with the default size of 14.1" screen.
Available Sizes :
Available in multiple sizes according to the size of the laptop screen (In Inch)-
- 10.1"
- 12.1"
- 13.3"
- 14.1"
- 15.4"
- 15.6"
- 17.0"
Available Colors :
- Light Green
- Blue
- Dark Green
- Black
- White
- Dark Purple
- Yellow
- Red
- Midnight Blue
- Aqua Blue
- Orange
- Dark Red
- Light Blue
- Pink
Material Used : Laptop stickers are made of self adhesive vinyl film
Redefine Your Gadgets With Amazing Laptop Stickers!
Gloob Laptop stickers are made from an ultra-thin self-adhesive vinyl film.Available in various dimensions and fab designs, you can flaunt them on the back of your laptop and give your gadget a character.
They can be easily applied on your laptop or any other flat & smooth surface and can also be easily removed without having any effect on the surfaces on which they are applied.
Manufacturer's Warranty Policy :
Gloob Decals come with warranty of one year from the date of purchase and is not transferable.
Gloob warranty covers following:
a) Any damage to product in transit.
b) Any manufacturing defect in product.
During the warranty period, Gloob shall exchange the product free of cost.
Gloob Warranty is not valid in the event of following instances:
a) Any damage to product due to extreme heat or moisture.
b) Mishandling during installation.
c) Any damage due to human interference, exposure to fire or accident.
Watch The Video To See How To Apply These Stickers
Please note: All products sold on Storeadda.com are brand new and 100% genuine.
Write a review!Your Name:
Your Review: Note: HTML is not translated!
Rating: Bad Good
Enter the code in the box below:


text:
Browse Books: Young Adult Nonfiction / Animals / Marine Life
How to read more
How To Read More
If you love reading, but for some reason you read less and less, know that everything is fine. It happens.
Our lives today have so many things that distract us - how can we not put books away when all these movies, TV shows, YouTube videos, social networks and endless surfing in online stores are around ...
Yes, it's really hard to resist, but you certainly can!
In this article, we want to share with you some tips to read more often and more successfully.
These are some notes and some practices that we have collected for our SUNDOG BOOKS readers club.
And maybe it will bring more books into your life!
Why do we want/need to read more?
To start reading more, you have to understand why you need it.
And you will be surprised, but your goals can be quite varied:
- for work
If you read a lot on duty, then you definitely need to speed up the process. The logic here is simple: read faster → work faster → more time for books for yourself.
- for education
you need this for your educational career or sometimes you just want to read to learn. And, with all the new alternative ways to gain knowledge (podcasts, online courses and videos), the book still does an excellent job of this task too.
- for self-development
all exercises for increasing speed, one way or another, improve cognition and memory.
- for fun
because good books always = fun!
Book lovers have an additional special goal for reading more often. If you love literature, you will understand what we mean: you want to catch everything - to follow modern literature, and not forget about the classics, look into non-fiction and children's publications. And there's so much you want to reread! The goals are ambitious, but attainable if you read a lot.
And so - How to read more:
We will tell you about the methods that we use ourselves. Perhaps some will suit you as well.
15 minutes a day
You've probably already heard this rule: if you want to start a healthy habit, devote 15 minutes a day to it. Once upon a time, we all read irregularly, in jumps and starts. Sometimes we cannot open a book we have begun weeks ago. Therefore, you should decide to create a rule: devote at least 15 minutes a day to reading. Try reading before bed, or maybe during lunchtime, or even when you are having your morning coffee.
You will see progress immediately. You will notice that almost always your 15 minutes will grow into half an hour or more. But the most remarkable thing is that in three weeks your hands themselves will be looking for a book.
50 First Pages
This method advises - If the book hasn't hooked you from the first 50 pages, put it aside! Life is too short to read uninteresting books.
It is necessary to change the approach to books. At first it will be hard for you to stop and put the book down. Even if we put the book away, it will seem to reproach us from the shelf, mocking us as quitters. But in the end we should come to one simple thought: if it doesn't hook your attention, you should not force yourself to read it.
***Fifty pages is not a bad test. Not the most objective, but definitely effective. It helps to determine whether it interests you or not, and whether to spend time on things that do not excite.
Reader's Diary
This should be used to improve the quality of reading - to make it more conscious. For starters, it can be a simple notebook with headings:
- Author
- Year of publication
- Main characters
- Scene
- Plot
- Theme
- Quotes
And, yes, a reader's diary is not a thing about quantity, but about quality. But, it can also motivate. When you open your diary and start looking at quotes (especially quotes), you immediately really want to read.
Maybe a Book Bet?
Several people can participate. Members of the betting group can come from friends, family, and also your colleagues. And of course you can set your own rules for participation, but we'll give you a simple example:
Everyone in the group should read and review a book over the course of a month with weekly updates. Anyone who does not finish a review buys the book for all other participants for the next month.
Speed Reading
Another effective way to increase the amount you read is speed reading. The logic here is simple - the faster you read, the more books you can enjoy.
*There are many online courses on speed reading, and you can also study on your own using instructional books. But, it is worth noting that this is a serious learning process that will require some effort on your part.
Reading every day is quite attainable, the main thing is to try to make it a habit.
Sometimes, instead of heading for Facebook, try opening a book and soon you won't even remember why you needed to wander around social media.
And also - don't forget about audiobooks. They are a cool way to take the load off your eyes sometimes and just immerse yourself in the story. Some books are really strong in voice acting.


text:
|Top » Catalog » Earrings » Swarovski Crystal Masquerade Mask Phantom of the Opera Gold P Earrings
|My Account | Cart Contents | Checkout
|Thursday 29 September, 2022
Copyright © 2022 Kashuen Collectibles
2115 Ridge Ranch Road, Potomac, MT 59823 USA
Accel SpeedTec boosts your internet speeds. Click Here!!
We're listed on ShopMania in Jewelry
Kashuen Collectibles is Upfront


text:
see how much you could borrow
enquire here
get same day money if criteria met
enter reg
takes 60 seconds all cars considered enquire 24/7
Table of Contents
Unlock the money in your car with Sandfield Park Logbook Loan V5 Lending
If you're looking for a convenient way to free up some much needed money then a logbook loan may be the perfect option. If you've been declined a loan elsewhere then our service could well be the answer to your financial needs. What's more, you could have the money agreed and delivered the same day.
Every single day people just like you enquire about logbook loans through our website.
Why not use our online Sandfield Park logbook loan enquiry form to find out how much you could borrow against the value of your car. It only takes a minute of your time to enquire, and you're under no obligation to proceed with the loan. Just complete the form you can see above.
Complete our simple logbook loans form online with a few car and personal details.
A lender will will get in touch and if requirements are met, approve your loan immediately.
You receive your loan direct into your account or via cheque, whatever you prefer.
Logbook Loans Sandfield Park could be an option for applicants that have been refused elsewhere.
Logbook loans have become the loan of choice for those looking for a straightforward, convenient loan without any of the hassles of conventional loans. If you have a CCJ or are in arrears then you could still be eligible. If you are the legal owner of your car, and it is clear of finance (or very nearly clear) then enquire online today!
Almost anyone can release money from their car with Sandfield Park logbook loans, so enquire today!
Borrow anything from £400 - £50,000
Drive your car throughout the loan period
Money On the Same Day
CCJs, Poor Credit Considered Subject to Eligibility & Affordability
These are just a few advantages of Sandfield Park logbook loans.
Find out more by enquiring online.
Our logbook loans service covers all Sandfield Park regions including the ones you can see below, and it's easy to get started. To get your free Sandfield Park logbook loan decision, enquire online using our simple form, or call the V5 Lenders team on our freephone number. We look forward to hearing from you.
Is your car over 8 years old? If so, don't worry - you could still get a loan.
Some people find that getting approved for Sandfield Park logbook loans with an older car can be tough. In fact, most companies won't even look at an application once they know your car is over 8 years old. The lenders we refer you to recognise the value of older vehicles, so you may still qualify for the loan you want.
How much you'll be able to borrow really depends on the overall value of your car – after all, a 10-year-old Ferrari is going to be worth more than a 10-year-old Vauxhall! The condition of the car will also be taken into account, and so will your ability to pay back a loan. If you're not sure how much you'll be able to borrow, why not enquire anyway and find out?
If you've got a bad credit history, you could still get the money you need with a Logbook Loan!
No credit checks is, unfortunately, a myth. After all, Logbook Loan companies are financial institutions, and they have a moral responsibility to ensure that they only lend to those with the means of repaying the loan. What is true though is the fact that those with poor credit ratings could get a Logbook Loan much more easily than a normal loan, as their car is security against making any payments.
Our lending partners experience within the Sandfield Park Logbook Loans industry means that they can often help those with poor credit ratings to find the loan they need. All you need to do is enquire online right now, and a Logbook lender and get back to you with a decision on just how much you can borrow against your car's value.
Loans can come in all sizes, ranging from small amounts through to very large amounts. The amount you can borrow depends on how much your car is worth. Below you'll find a handy table showing you the available amounts for different car values…
The size of loan you decide to take out against your car really is up to you though. It can be anything up to 80% of the current value. Of course, you may find other companies charging different fees and interest rates.
Self-employed Sandfield Park residents often find getting a loan tough, but this isn't always the case!
Those of you that are self-employed know that getting a loan is hard, thanks to fluctuating earnings and the reluctance of financial institutions to lend to those without a guaranteed income. This is where logbook loans can help. Because they are being taken out against a piece of property you own, the lending company doesn't have to worry so much about you having the necessary means to repay, meaning that they're often happy to lend.
Whether you'll be accepted for a V5 Loan really depends on a number of different factors, however a self-employed person can have as much chance as an employed person of borrowing money. To find out if you're eligible for a loan against your V5 document, why not fill in our short form right now?
If you run a small business or are a sole-trader then you could still qualify for a loan!
It's often assumed that getting a V5 loan only applies only to individuals and that they are only classed as a personal loan, however there are circumstances in which Sandfield Park businesses can take out a loan against one of its vehicles. In fact they can be a great way to release some working capital or to maintain business cashflow without resorting to applying for traditional loans.
If the name of the loan applicant matches the name on the vehicle's v5 document then a loan application could be successful. There is also the possibility of lending to a company if the name of the business matches the name on the logbook. In both instances it's always best to enquire online to see the options available to you.
Own a prestigious, classic or vintage car? You can still borrow against it.
If you're the proud owner of a prestigious, classic or luxury car then you can still qualify for a loan. We cater for all high-end vehicles, including Rolls-Royce, Bentley, Ferrari, Porsche, Maserati, Lotus and Mercedes. Each loan will be tailored to your own unique circumstances and reflective of the value of your vehicle in the current climate. If your classic car is desirable then you may be eligible for a loan.
Applying for a prestigious car logbook loan is the same as any other application, simply select your car from the form on this page or click 'other' if you can't find it. Your enquiry will be handled professionally and discreetly and you will be informed of the decision promptly.
CCJ? Arrears? Bad credit scores? All considered subject to eligibility and affordability with a logbook loan. Just enquire online and see how much you can borrow against the value of your car.
You probably have many questions about applying for Sandfield Park logbook loans, from what they are exactly to who exactly can apply for them. So, to help, we've drawn up this list of FAQs for you to take a look through…
Logbook Loans are loans that are secured against the V5 document (or logbook) of your vehicle. The person borrowing the money essentially transfers the ownership of their car to the lending company as security for the loan, and the ownership is then handed back once the loan has been paid off. The borrower can still use their car while making repayments though.
Logbook Loans are a great idea for Sandfield Park residents not able to get a more traditional loan, such as those who don't own a property or don't have a high level of income. They are good for those needing a short, sharp injection of cash, and our service will allow you to find just how much you can borrow subject to affordability and eligibility.
V5 Logbook Loans are one of the most popular types of loans around for those with bad credit scores (subject to affordability and eligibility), as the fact that the applicant has a car proves provides security for the loan. So, if you've been refused a loan elsewhere due to a poor credit history, it doesn't mean you'll be refused a Logbook Loan.
Yes absolutely! It's not possible for us to list all makes and models of car on our enquiry form, so simply choose 'other' when selecting your vehicle. Loans are granted based upon the value of the car not the age, so if you're lucky enough to own a vintage or classic car, or even a prestigious vehicle then there's a good chance that you could borrow money against the current value.
Yes there certainly are, however responsible lending means you have to be able to prove that you can make the repayments on the loan. It is possible to get a loan because, unlike many other forms of borrowing, V5 Lenders focus more on the value of the car. So, as long as you have a car and it's clear or nearly clear of finance, you have a good chance of being accepted.
The loan repayment period for your Sandfield Park Logbook Loan depends on your own personal requirements. It can be 12, 18 or 36 months in duration. Unlike many other loans however, there are no early payment penalties, so the earlier you pay off your loan the less interest you will pay overall.
Yes, Logbook Loans do show up on HPI checks, but only if they are still outstanding. Logbook Loans that are fully paid off will not show up on an HPI check should you want to sell your vehicle in the future. In fact, if for some reason an outstanding V5 loan doesn't show up on a HPI check then the HPI guarantee will reimburse you up to £30,000.
Assuming you meet the criteria for both applications then you should be able to take out 2 loans against your cars. You'll need to be the registered keeper of both cars and be able to prove that you can make the repayments on both loans. It's likely the lender will treat these as 2 separate loans, however get in touch today to discuss your requirements further.
Not always. Ideally your car should be completely finance-free however in certain situations you may still qualify for a loan depending on the amount of finance left on the vehicle. The easiest way to find out is to simply enquire online for an immediate decision.
Toyota Celica
2004 (04)
Vauxhall Astra
2006 (06)
Renault Clio
2003 (03)
Ford KA
2004 (53)


text:
|Catalog » Privacy Notice
|My Account | Cart Contents | Checkout
|By accessing this site, certain information about the User, such as Internet protocol (IP) addresses, navigation through the Site, the software used and the time spent, along with other similar information, will be stored on the Rennbay, inc. servers. These will not specifically identify the User. The information will be used internally only for web site traffic analysis. If the User provides unique identifying information, such as name, address and other information on forms stored on this Site, such information will not be published for general access. We may, from time to time, use this information to contact you with special offers. Rennbay, inc. , however, assumes no responsibility for the security of this information and retains the right to change this policy at an time without prior notice.
|Saturday 01 October, 2022
|22873860 requests since Tuesday 17 April, 2007
|Copyright © 2022 PSkits.com


text:
Update your browser to view this website correctly. Update your browser now
Free Shipping on all US Orders
SeaSense Flat Whistle
You have not selected a page yet. A page can be used for 'About Us' content, contact information, and more.
Add custom text to promote products, specials or offers


text:
"From Democratic Consensus to Cannibalistic Hordes: The Principles of Collective Behavior"
Lecture by Iain Couzin
Why do billions of locusts suddenly break into motion? How do ants carry heavy loads and march with orderly precision along densely packed trails? How do flocks of birds and schools of fish select their navigators? And how do we—humans—make decisions as citizens, drivers, and numerous other social situations? Iain Couzin, Assistant Professor of Ecology and Evolutionary Biology at Princeton, has made major contributions to understanding the dynamics and evolution of collective animal behavior.
- Free and open to the public, Geological Lecture Hall, 24 Oxford Street.
- Free parking available in the 52 Oxford Street garage.
- Part of the Evolution Matters lecture series. Supported by a generous gift from Drs. Herman and Joan Suit.
You can watch an earlier version of Professor Couzin's lecture below.
Sample of related Situationist posts:
- Friends on the Brain
- Christakis Speaks to Harvard Freshmen about Social Networks,
- Social Networks,
- The Positive Situation of Crowds
- Team-Interested Decision Making
- March Madness
- The Origins of Sports Team Fandom
- Some (Interior) Situational Sources War – Part I
Image from Flickr.


text:
perl570delta - what's new for perl v5.7.0
This document describes differences between the 5.6.0 release and the 5.7.0 release.
A potential security vulnerability in the optional suidperl component of Perl has been identified. suidperl is neither built nor installed by default. As of September the 2nd, 2000, the only known vulnerable platform is Linux, most likely all Linux distributions. CERT and various vendors have been alerted about the vulnerability.
The problem was caused by Perl trying to report a suspected security exploit attempt using an external program, /bin/mail. On Linux platforms the /bin/mail program had an undocumented feature which when combined with suidperl gave access to a root shell, resulting in a serious compromise instead of reporting the exploit attempt. If you don't have /bin/mail, or if you have 'safe setuid scripts', or if suidperl is not installed, you are safe.
The exploit attempt reporting feature has been completely removed from the Perl 5.7.0 release, so that particular vulnerability isn't there anymore. However, further security vulnerabilities are, unfortunately, always possible. The suidperl code is being reviewed and if deemed too risky to continue to be supported, it may be completely removed from future releases. In any case, suidperl should only be used by security experts who know exactly what they are doing and why they are using suidperl instead of some other solution such as sudo ( see http://www.courtesan.com/sudo/ ).
@bar is an array,
whether or not the compiler has seen use of
\w character.
perl -d:Module=arg,arg,arg now works (previously one couldn't pass
in multiple arguments.)
no Module; now works even if there is no "sub unimport" in the Module.
undef if either operand
is a NaN. Previously the behaviour was unspecified.
pack('U0a*', ...) can now be used to force a string to UTF8.
no AutoLoader;,
The English module can now be used without the infamous performance hit by saying
use English '-no_performance_hit';
(Assuming, of course, that one doesn't need the troublesome variables
$&, or
$'.) Also, introduced
@LAST_MATCH_START and
@LAST_MATCH_END English aliases for
@- and
%INC now localised in a Safe compartment so that use/require work.
-S can now run non-interactively.
"0" now treated correctly, the
d command now checks
line number, the
$. no longer gets corrupted, all debugger output now
goes correctly to the socket if RemotePort is set.
*foo{FORMAT} now works.
#line now works.
q(a\\b) now parses correctly as
[[:space:]] to include the (very
rare) vertical tab character. Added a new POSIX-ish character class
[[:blank:]] which stands for horizontal whitespace (currently,
the space and the tab).
Several Unicode fixes (but still not perfect).
IsAlpha, and
IsWord now match titlecase.
. operator or via variable interpolation,
quotemeta, the
x operator,
substitution with
s///, single-quoted UTF8, should now work--in
tr/// operator now works slightly better but is still rather
broken. Note that the
tr///CU functionality has been removed (but
see pack('U0', ...)).
Perl now works on post-4.0 BSD/OSes.
All BSDs
$0 now works (as much as possible; see perlvar for details).
Numerous updates; currently synchronised with Cygwin 1.1.4.
EPOC update after Perl 5.6.0. See README.epoc.
FreeBSD 3.*
Perl now works on post-3.0 FreeBSDs.
README.hpux updated;
Configure -Duse64bitall now almost works.
Numerous compilation flag and hint enhancements; accidental mixing of 32-bit and 64-bit libraries (a doomed attempt) made much harder.
Long doubles should now work (see INSTALL).
Mac OS Classic
Compilation of the standard Perl distribution in Mac OS Classic should now work if you have the Metrowerks development environment and the missing Mac-specific toolkit bits. Contact the macperl mailing list for details.
MPE/iX update after Perl 5.6.0. See README.mpeix.
Perl now works on NetBSD/sparc.
Now works with usethreads (see INSTALL).
64-bitness using the Sun Workshop compiler now works.
Tru64 (aka Digital UNIX, aka DEC OSF/1)
The operating system version letter now recorded in $Config{osvers}. Allow compiling with gcc (previously explicitly forbidden). Compiling with gcc still not recommended because buggy code results, even with gcc 2.95.2.
Fixed various alignment problems that lead into core dumps either during build or later; no longer dies on math errors at runtime; now using full quad integers (64 bits), previously was using only 46 bit integers for speed.
chdir() now works better despite a CRT bug; now works with MULTIPLICITY (see INSTALL); now works with Perl's malloc.
File::Spec-tmpdir()> now prefers C:/temp over /tmp
(works better when perl is running as service).
All regular expression compilation error messages are now hopefully easier to understand both because the error message now comes before the failed regex and because the point of failure is now clearly marked.
The various "opened only for", "on closed", "never opened" warnings
drop the
main:: prefix for filehandles in the
main package,
for example
STDIN instead of <main::STDIN>.
The "Unrecognized escape" warning has been extended to include
\9, and
\_. There is no need to escape any of the
\w characters.
make -f Makefile.micro should be enough. Beware: microperl makes
many assumptions, some of which may be too bold; the resulting
executable may crash or otherwise misbehave in wondrous ways.
For careful hackers only.
We're working on it. Stay tuned.
The plan is to bring them back.
Certain extensions like mod_perl and BSD::Resource are known to have issues with `largefiles', a change brought by Perl 5.6.0 in which file offsets default to 64 bits wide, where supported. Modules may fail to compile at all or compile and work incorrectly. Currently there is no good solution for the problem, but Configure now provides appropriate non-largefile ccflags, ldflags, libswanted, and libs in the %Config hash (e.g., $Config{ccflags_nolargefiles}) so the extensions that are having problems can try configuring themselves without the largefileness. This is admittedly not a clean solution, and the solution may not even work at all. One potential failure is whether one can (or, if one can, whether it's a good idea) link together at all binaries with different ideas about file offsets, all this is platform-dependent.
Don't panic. Read INSTALL 'make test' section instead.
If perl is configured with -Duse64bitall, the successful result of the subtest 10 of lib/posix may arrive before the successful result of the subtest 9, which confuses the test harness so much that it thinks the subtest 9 failed.
The experimental long double support is still very much so in Solaris. (Other platforms like Linux and Tru64 are beginning to solidify in this area.)
No known fix.
If any Storable tests fail the use of Storable is not advisable.
Many Storable tests fail on AIX configured with 64 bit integers.
So far unidentified problems break Storable in AIX if Perl is configured to use 64 bit integers. AIX in 32-bit mode works and other 64-bit platforms work with Storable.
st-06compat fails in UNICOS and UNICOS/mk.
This means that you cannot read old (pre-Storable-0.7) Storable images made in other platforms.
Multithreading is still an experimental feature. Some platforms emit the following message for lib/thr5005
# # This is a KNOWN FAILURE, and one of the reasons why threading # is still an experimental feature. It is here to stop people # from deploying threads in production. ;-) #
and another known thread-related warning is
pragma/overload......Unbalanced saves: 3 more saves than restores panic: magic_mutexfree during global destruction. ok lib/selfloader.......Unbalanced saves: 3 more saves than restores panic: magic_mutexfree during global destruction. ok lib/st-dclone........Unbalanced saves: 3 more saves than restores panic: magic_mutexfree during global destruction. ok
The compiler suite is slowly getting better but is nowhere near working order yet. The backend part that has seen perhaps the most progress is the bytecode compiler.
If you find what you think is a bug, you might check the articles recently posted to the comp.lang.perl.misc newsgroup and the perl bug database at http://bugs.perl.org/ There may also be information at http://www.perl.com/perl/ , the Perl Home Page.
If you believe you have an unreported bug, please run the perlbug
program included with your release. Be sure to trim your bug down
to a tiny but sufficient test case. Your bug report, along with the
output of
perl -V, will be sent off to email@example.com to be
analysed by the Perl porting team.
The Changes file for exhaustive details on what changed.
The INSTALL file for how to build Perl.
The README file for general stuff.
The Artistic and Copying files for copyright information.
Written by Jarkko Hietaniemi <firstname.lastname@example.com>, with many contributions from The Perl Porters and Perl Users submitting feedback and patches.
Send omissions or corrections to <firstname.lastname@example.com>.


text:
Small Florida city anxious to learn jackpot winner
ZEPHYRHILLS — It could be an anxious wait of up to two months for people in a small Florida city to find out who won the highest Powerball jackpot in history: an estimated $590.5 million.
The lucky ticket was bought sometime Saturday or earlier at a Publix supermarket in Zephyrhills, a city of about 13,000 people best known around the state for its brand of spring water with the same name.
The winner has 60 days to claim the lump-sum cash option, estimated around $376.9 million, at the Florida Lottery's office in Tallahassee. Under Florida law, lottery winners in the state cannot remain anonymous; their names and city of residence must be made publicly available to anyone who asks, according to the state's lottery website. No one had come forward as of Sunday afternoon.
"It never happens this quickly," lottery spokesman David Bishop said. "If they know they won, they're going to contact their attorney or an accountant first so they can get their affairs in order."
The winner wasn't Matthew Bogel. On Sunday, he loaded groceries into his car after shopping at the Publix. He shook his head when asked about the jackpot.
"It's crazy, isn't it?" he said. "That's so much money."
It's an amount too high for many to imagine. Compare it to the budget for the city of Zephyrhills: This year's figure is just more than $49 million. The winning Powerball jackpot is 12 times that.
Publix spokeswoman Maria Brous said there are a lot of rumors about who won, but the store doesn't know. "We're excited for the winner or winners," she said.
Plenty of people in Zephyrhills are wondering whether it's someone they know.
Joan Albertson drove to the Publix early Sunday morning with her camera in hand, in case the winner emerged. She said she bought a ticket at a store across the street, and the idea of winning that much money was still something of a shock.
"Oh, there's so much good that you could do with that amount of money." Albertson said. "I don't even know where to begin."
Zephyrhills is a small city in Pasco County, about 30 miles northeast of downtown Tampa. Once a rural farming town, it's now known as a hotbed for skydiving activity, and the home to large retiree mobile home parks and the water bottled from the natural springs that surround the area.
And now, one lucky lottery ticket.
"I'm getting text messages and messages from Facebook going, 'uh, did you win the lottery?'" Sandra Lewis said. "No, I didn't win, guys. Sorry."
Sara Jeltis said her parents in Michigan texted her with the news Sunday morning.
"Well, it didn't click until I came here," she said, gesturing to the half-dozen TV live trucks humming in the Publix parking lot. "And I'm like, 'Wow I can't believe it, it's shocking!' Out of the whole country, this Publix, in little Zephyrhills would be the winner."
With four out of every five possible combinations of Powerball numbers in play, lottery executives said Saturday that someone was almost certain to win the game's highest jackpot, a windfall of hundreds of millions of dollars — and that's after taxes.
The winning numbers were 10, 13, 14, 22 and 52, with a Powerball of 11.
Estimates had earlier put the jackpot at around $600 million. But Powerball's online site said Sunday that the jackpot had reached an estimated $590.5 million.
The world's largest jackpot was a $656 million Mega Millions jackpot in March 2012.
Terry Rich, CEO of the Iowa Lottery, initially confirmed that one Florida winning ticket had been sold. He told The Associated Press that following the Florida winner, the Powerball grand prize was being reset at an estimated jackpot of $40 million, or about $25.1 million cash value.
The chances of winning the prize were astronomically low: 1 in 175.2 million. That's how many different ways you can combine the numbers when you play. But lottery officials estimated that about 80 percent of those possible combinations had been purchased recently.
The longshot odds didn't deter people across Powerball-playing states — 43 plus Washington, D.C., and the U.S. Virgin Islands — from lining up at gas stations and convenience stores Saturday.
Clyde Barrow, a public policy professor at the University of Massachusetts-Dartmouth, specializes in the gaming industry. He said one of the key factors behind the ticket-buying frenzy is the size of the jackpot — people are interested in the easy investment.
"Even though the odds are very low, the investment is very small," he said. "Two dollars gets you a chance."
Lewis, who went to the Publix on Sunday to buy water, said she didn't play — and she isn't upset about it.
"Life goes on," she said, shrugging. "I'm good."


text:
Dan Gilbert Returns to Harvard Law
Posted by The Situationist Staff on February 15, 2012
Tomorrow (2/16) Daniel Gilbert, Situationist friend, Professor of Psychology at Harvard University, author of Stumbling on Happiness, and host of the PBS television series This Emotional Life, returns to Harvard Law to deliver a talk entitled
"How To Do Precisely the Right Thing At All Possible Times."
Most experts tell us what to decide but they don't tell us how. So the moment we face a novel decision—should I move to Cleveland or Anchorage? Marry Jennifer or Joanne? Become an architect or a pastry chef?—we're lost. Is it possible to do the right thing at all possible times? In fact, there is a simple method for making decisions that most people find easy to understand but impossible to follow. New research in psychology, neuroscience, and behavioral economics explains why.
February 16 – 4pm WCC – 2036 Milstein East C.
Rate this:
This entry was posted on February 15, 2012 at 4:55 pm and is filed under Education, Events, Life, Neuroscience, Positive Psychology, Social Psychology, Uncategorized. Tagged: Dan Gilbert, presentation, Social Psychology. You can follow any responses to this entry through the RSS 2.0 feed. You can leave a response, or trackback from your own site.
One Response to "Dan Gilbert Returns to Harvard Law"
Nate said
Will the talk be available online at some point?