text:
package main

import (
	"bufio"
	"bytes"
	"flag"
	"fmt"
	"io"
	"log"
	"net/http"
	"os"
	"regexp"
	"sort"
	"strconv"
	"strings"
)

func main() {
	flag.Parse()
	loadUnicodeData()
	loadCompositionExclusions()
	completeCharFields(FCanonical)
	completeCharFields(FCompatibility)
	verifyComputed()
	printChars()
	makeTables()
	testDerived()
}

var url = flag.String("url",
	"http://www.unicode.org/Public/6.0.0/ucd/",
	"URL of Unicode database directory")
var tablelist = flag.String("tables",
	"all",
	"comma-separated list of which tables to generate; "+
		"can be 'decomp', 'recomp', 'info' and 'all'")
var test = flag.Bool("test",
	false,
	"test existing tables; can be used to compare web data with package data")
var verbose = flag.Bool("verbose",
	false,
	"write data to stdout as it is parsed")
var localFiles = flag.Bool("local",
	false,
	"data files have been copied to the current directory; for debugging only")

var logger = log.New(os.Stderr, "", log.Lshortfile)

// UnicodeData.txt has form:
//	0037;DIGIT SEVEN;Nd;0;EN;;7;7;7;N;;;;;
//	007A;LATIN SMALL LETTER Z;Ll;0;L;;;;;N;;;005A;;005A
// See http://unicode.org/reports/tr44/ for full explanation
// The fields:
const (
	FCodePoint = iota
	FName
	FGeneralCategory
	FCanonicalCombiningClass
	FBidiClass
	FDecompMapping
	FDecimalValue
	FDigitValue
	FNumericValue
	FBidiMirrored
	FUnicode1Name
	FISOComment
	FSimpleUppercaseMapping
	FSimpleLowercaseMapping
	FSimpleTitlecaseMapping
	NumField

	MaxChar = 0x10FFFF // anything above this shouldn't exist
)

// Quick Check properties of runes allow us to quickly
// determine whether a rune may occur in a normal form.
// For a given normal form, a rune may be guaranteed to occur
// verbatim (QC=Yes), may or may not combine with another
// rune (QC=Maybe), or may not occur (QC=No).
type QCResult int

const (
	QCUnknown QCResult = iota
	QCYes
	QCNo
	QCMaybe
)

func (r QCResult) String() string {
	switch r {
	case QCYes:
		return "Yes"
	case QCNo:
		return "No"
	case QCMaybe:
		return "Maybe"
	}
	return "***UNKNOWN***"
}

const (
	FCanonical     = iota // NFC or NFD
	FCompatibility        // NFKC or NFKD
	FNumberOfFormTypes
)

const (
	MComposed   = iota // NFC or NFKC
	MDecomposed        // NFD or NFKD
	MNumberOfModes
)

// This contains only the properties we're interested in.
type Char struct {
	name          string
	codePoint     rune  // if zero, this index is not a valid code point.
	ccc           uint8 // canonical combining class
	excludeInComp bool  // from CompositionExclusions.txt
	compatDecomp  bool  // it has a compatibility expansion

	forms [FNumberOfFormTypes]FormInfo // For FCanonical and FCompatibility

	state State
}

var chars = make([]Char, MaxChar+1)

func (c Char) String() string {
	buf := new(bytes.Buffer)

	fmt.Fprintf(buf, "%U [%s]:\n", c.codePoint, c.name)
	fmt.Fprintf(buf, "  ccc: %v\n", c.ccc)
	fmt.Fprintf(buf, "  excludeInComp: %v\n", c.excludeInComp)
	fmt.Fprintf(buf, "  compatDecomp: %v\n", c.compatDecomp)
	fmt.Fprintf(buf, "  state: %v\n", c.state)
	fmt.Fprintf(buf, "  NFC:\n")
	fmt.Fprint(buf, c.forms[FCanonical])
	fmt.Fprintf(buf, "  NFKC:\n")
	fmt.Fprint(buf, c.forms[FCompatibility])

	return buf.String()
}

// In UnicodeData.txt, some ranges are marked like this:
//	3400;<CJK Ideograph Extension A, First>;Lo;0;L;;;;;N;;;;;
//	4DB5;<CJK Ideograph Extension A, Last>;Lo;0;L;;;;;N;;;;;
// parseCharacter keeps a state variable indicating the weirdness.
type State int

const (
	SNormal State = iota // known to be zero for the type
	SFirst
	SLast
	SMissing
)

var lastChar = rune('\u0000')

func (c Char) isValid() bool {
	return c.codePoint != 0 && c.state != SMissing
}

type FormInfo struct {
	quickCheck [MNumberOfModes]QCResult // index: MComposed or MDecomposed
	verified   [MNumberOfModes]bool     // index: MComposed or MDecomposed

	combinesForward  bool // May combine with rune on the right
	combinesBackward bool // May combine with rune on the left
	isOneWay         bool // Never appears in result
	inDecomp         bool // Some decompositions result in this char.
	decomp           Decomposition
	expandedDecomp   Decomposition
}

func (f FormInfo) String() string {
	buf := bytes.NewBuffer(make([]byte, 0))

	fmt.Fprintf(buf, "    quickCheck[C]: %v\n", f.quickCheck[MComposed])
	fmt.Fprintf(buf, "    quickCheck[D]: %v\n", f.quickCheck[MDecomposed])
	fmt.Fprintf(buf, "    cmbForward: %v\n", f.combinesForward)
	fmt.Fprintf(buf, "    cmbBackward: %v\n", f.combinesBackward)
	fmt.Fprintf(buf, "    isOneWay: %v\n", f.isOneWay)
	fmt.Fprintf(buf, "    inDecomp: %v\n", f.inDecomp)
	fmt.Fprintf(buf, "    decomposition: %X\n", f.decomp)
	fmt.Fprintf(buf, "    expandedDecomp: %X\n", f.expandedDecomp)

	return buf.String()
}

type Decomposition []rune

func openReader(file string) (input io.ReadCloser) {
	if *localFiles {
		f, err := os.Open(file)
		if err != nil {
			logger.Fatal(err)
		}
		input = f
	} else {
		path := *url + file
		resp, err := http.Get(path)
		if err != nil {
			logger.Fatal(err)
		}
		if resp.StatusCode != 200 {
			logger.Fatal("bad GET status for "+file, resp.Status)
		}
		input = resp.Body
	}
	return
}

func parseDecomposition(s string, skipfirst bool) (a []rune, e error) {
	decomp := strings.Split(s, " ")
	if len(decomp) > 0 && skipfirst {
		decomp = decomp[1:]
	}
	for _, d := range decomp {
		point, err := strconv.ParseUint(d, 16, 64)
		if err != nil {
			return a, err
		}
		a = append(a, rune(point))
	}
	return a, nil
}

func parseCharacter(line string) {
	field := strings.Split(line, ";")
	if len(field) != NumField {
		logger.Fatalf("%5s: %d fields (expected %d)\n", line, len(field), NumField)
	}
	x, err := strconv.ParseUint(field[FCodePoint], 16, 64)
	point := int(x)
	if err != nil {
		logger.Fatalf("%.5s...: %s", line, err)
	}
	if point == 0 {
		return // not interesting and we use 0 as unset
	}
	if point > MaxChar {
		logger.Fatalf("%5s: Rune %X > MaxChar (%X)", line, point, MaxChar)
		return
	}
	state := SNormal
	switch {
	case strings.Index(field[FName], ", First>") > 0:
		state = SFirst
	case strings.Index(field[FName], ", Last>") > 0:
		state = SLast
	}
	firstChar := lastChar + 1
	lastChar = rune(point)
	if state != SLast {
		firstChar = lastChar
	}
	x, err = strconv.ParseUint(field[FCanonicalCombiningClass], 10, 64)
	if err != nil {
		logger.Fatalf("%U: bad ccc field: %s", int(x), err)
	}
	ccc := uint8(x)
	decmap := field[FDecompMapping]
	exp, e := parseDecomposition(decmap, false)
	isCompat := false
	if e != nil {
		if len(decmap) > 0 {
			exp, e = parseDecomposition(decmap, true)
			if e != nil {
				logger.Fatalf(`%U: bad decomp |%v|: "%s"`, int(x), decmap, e)
			}
			isCompat = true
		}
	}
	for i := firstChar; i <= lastChar; i++ {
		char := &chars[i]
		char.name = field[FName]
		char.codePoint = i
		char.forms[FCompatibility].decomp = exp
		if !isCompat {
			char.forms[FCanonical].decomp = exp
		} else {
			char.compatDecomp = true
		}
		if len(decmap) > 0 {
			char.forms[FCompatibility].decomp = exp
		}
		char.ccc = ccc
		char.state = SMissing
		if i == lastChar {
			char.state = state
		}
	}
	return
}

func loadUnicodeData() {
	f := openReader("UnicodeData.txt")
	defer f.Close()
	input := bufio.NewReader(f)
	for {
		line, err := input.ReadString('\n')
		if err != nil {
			if err == io.EOF {
				break
			}
			logger.Fatal(err)
		}
		parseCharacter(line[0 : len(line)-1])
	}
}

var singlePointRe = regexp.MustCompile(`^([0-9A-F]+) *$`)

// CompositionExclusions.txt has form:
// 0958    # ...
// See http://unicode.org/reports/tr44/ for full explanation
func parseExclusion(line string) int {
	comment := strings.Index(line, "#")
	if comment >= 0 {
		line = line[0:comment]
	}
	if len(line) == 0 {
		return 0
	}
	matches := singlePointRe.FindStringSubmatch(line)
	if len(matches) != 2 {
		logger.Fatalf("%s: %d matches (expected 1)\n", line, len(matches))
	}
	point, err := strconv.ParseUint(matches[1], 16, 64)
	if err != nil {
		logger.Fatalf("%.5s...: %s", line, err)
	}
	return int(point)
}

func loadCompositionExclusions() {
	f := openReader("CompositionExclusions.txt")
	defer f.Close()
	input := bufio.NewReader(f)
	for {
		line, err := input.ReadString('\n')
		if err != nil {
			if err == io.EOF {
				break
			}
			logger.Fatal(err)
		}
		point := parseExclusion(line[0 : len(line)-1])
		if point == 0 {
			continue
		}
		c := &chars[point]
		if c.excludeInComp {
			logger.Fatalf("%U: Duplicate entry in exclusions.", c.codePoint)
		}
		c.excludeInComp = true
	}
}

// hasCompatDecomp returns true if any of the recursive
// decompositions contains a compatibility expansion.
// In this case, the character may not occur in NFK*.
func hasCompatDecomp(r rune) bool {
	c := &chars[r]
	if c.compatDecomp {
		return true
	}
	for _, d := range c.forms[FCompatibility].decomp {
		if hasCompatDecomp(d) {
			return true
		}
	}
	return false
}

// Hangul related constants.
const (
	HangulBase = 0xAC00
	HangulEnd  = 0xD7A4 // hangulBase + Jamo combinations (19 * 21 * 28)

	JamoLBase = 0x1100
	JamoLEnd  = 0x1113
	JamoVBase = 0x1161
	JamoVEnd  = 0x1176
	JamoTBase = 0x11A8
	JamoTEnd  = 0x11C3
)

func isHangul(r rune) bool {
	return HangulBase <= r && r < HangulEnd
}

func ccc(r rune) uint8 {
	return chars[r].ccc
}

// Insert a rune in a buffer, ordered by Canonical Combining Class.
func insertOrdered(b Decomposition, r rune) Decomposition {
	n := len(b)
	b = append(b, 0)
	cc := ccc(r)
	if cc > 0 {
		// Use bubble sort.
		for ; n > 0; n-- {
			if ccc(b[n-1]) <= cc {
				break
			}
			b[n] = b[n-1]
		}
	}
	b[n] = r
	return b
}

// Recursively decompose.
func decomposeRecursive(form int, r rune, d Decomposition) Decomposition {
	if isHangul(r) {
		return d
	}
	dcomp := chars[r].forms[form].decomp
	if len(dcomp) == 0 {
		return insertOrdered(d, r)
	}
	for _, c := range dcomp {
		d = decomposeRecursive(form, c, d)
	}
	return d
}

func completeCharFields(form int) {
	// Phase 0: pre-expand decomposition.
	for i := range chars {
		f := &chars[i].forms[form]
		if len(f.decomp) == 0 {
			continue
		}
		exp := make(Decomposition, 0)
		for _, c := range f.decomp {
			exp = decomposeRecursive(form, c, exp)
		}
		f.expandedDecomp = exp
	}

	// Phase 1: composition exclusion, mark decomposition.
	for i := range chars {
		c := &chars[i]
		f := &c.forms[form]

		// Marks script-specific exclusions and version restricted.
		f.isOneWay = c.excludeInComp

		// Singletons
		f.isOneWay = f.isOneWay || len(f.decomp) == 1

		// Non-starter decompositions
		if len(f.decomp) > 1 {
			chk := c.ccc != 0 || chars[f.decomp[0]].ccc != 0
			f.isOneWay = f.isOneWay || chk
		}

		// Runes that decompose into more than two runes.
		f.isOneWay = f.isOneWay || len(f.decomp) > 2

		if form == FCompatibility {
			f.isOneWay = f.isOneWay || hasCompatDecomp(c.codePoint)
		}

		for _, r := range f.decomp {
			chars[r].forms[form].inDecomp = true
		}
	}

	// Phase 2: forward and backward combining.
	for i := range chars {
		c := &chars[i]
		f := &c.forms[form]

		if !f.isOneWay && len(f.decomp) == 2 {
			f0 := &chars[f.decomp[0]].forms[form]
			f1 := &chars[f.decomp[1]].forms[form]
			if !f0.isOneWay {
				f0.combinesForward = true
			}
			if !f1.isOneWay {
				f1.combinesBackward = true
			}
		}
	}

	// Phase 3: quick check values.
	for i := range chars {
		c := &chars[i]
		f := &c.forms[form]

		switch {
		case len(f.decomp) > 0:
			f.quickCheck[MDecomposed] = QCNo
		case isHangul(rune(i)):
			f.quickCheck[MDecomposed] = QCNo
		default:
			f.quickCheck[MDecomposed] = QCYes
		}
		switch {
		case f.isOneWay:
			f.quickCheck[MComposed] = QCNo
		case (i & 0xffff00) == JamoLBase:
			f.quickCheck[MComposed] = QCYes
			if JamoLBase <= i && i < JamoLEnd {
				f.combinesForward = true
			}
			if JamoVBase <= i && i < JamoVEnd {
				f.quickCheck[MComposed] = QCMaybe
				f.combinesBackward = true
				f.combinesForward = true
			}
			if JamoTBase <= i && i < JamoTEnd {
				f.quickCheck[MComposed] = QCMaybe
				f.combinesBackward = true
			}
		case !f.combinesBackward:
			f.quickCheck[MComposed] = QCYes
		default:
			f.quickCheck[MComposed] = QCMaybe
		}
	}
}

func printBytes(b []byte, name string) {
	fmt.Printf("// %s: %d bytes\n", name, len(b))
	fmt.Printf("var %s = [...]byte {", name)
	for i, c := range b {
		switch {
		case i%64 == 0:
			fmt.Printf("\n// Bytes %x - %x\n", i, i+63)
		case i%8 == 0:
			fmt.Printf("\n")
		}
		fmt.Printf("0x%.2X, ", c)
	}
	fmt.Print("\n}\n\n")
}

// See forminfo.go for format.
func makeEntry(f *FormInfo) uint16 {
	e := uint16(0)
	if f.combinesForward {
		e |= 0x8
	}
	if f.quickCheck[MDecomposed] == QCNo {
		e |= 0x1
	}
	switch f.quickCheck[MComposed] {
	case QCYes:
	case QCNo:
		e |= 0x4
	case QCMaybe:
		e |= 0x6
	default:
		log.Fatalf("Illegal quickcheck value %v.", f.quickCheck[MComposed])
	}
	return e
}

// decompSet keeps track of unique decompositions, grouped by whether
// the decomposition is followed by a trailing and/or leading CCC.
type decompSet [4]map[string]bool

func makeDecompSet() decompSet {
	m := decompSet{}
	for i, _ := range m {
		m[i] = make(map[string]bool)
	}
	return m
}
func (m *decompSet) insert(key int, s string) {
	m[key][s] = true
}

func printCharInfoTables() int {
	mkstr := func(r rune, f *FormInfo) (int, string) {
		d := f.expandedDecomp
		s := string([]rune(d))
		if max := 1 << 6; len(s) >= max {
			const msg = "%U: too many bytes in decomposition: %d >= %d"
			logger.Fatalf(msg, r, len(s), max)
		}
		head := uint8(len(s))
		if f.quickCheck[MComposed] != QCYes {
			head |= 0x40
		}
		if f.combinesForward {
			head |= 0x80
		}
		s = string([]byte{head}) + s

		lccc := ccc(d[0])
		tccc := ccc(d[len(d)-1])
		if tccc < lccc && lccc != 0 {
			const msg = "%U: lccc (%d) must be <= tcc (%d)"
			logger.Fatalf(msg, r, lccc, tccc)
		}
		index := 0
		if tccc > 0 || lccc > 0 {
			s += string([]byte{tccc})
			index = 1
			if lccc > 0 {
				s += string([]byte{lccc})
				index |= 2
			}
		}
		return index, s
	}

	decompSet := makeDecompSet()

	// Store the uniqued decompositions in a byte buffer,
	// preceded by their byte length.
	for _, c := range chars {
		for _, f := range c.forms {
			if len(f.expandedDecomp) == 0 {
				continue
			}
			if f.combinesBackward {
				logger.Fatalf("%U: combinesBackward and decompose", c.codePoint)
			}
			index, s := mkstr(c.codePoint, &f)
			decompSet.insert(index, s)
		}
	}

	decompositions := bytes.NewBuffer(make([]byte, 0, 10000))
	size := 0
	positionMap := make(map[string]uint16)
	decompositions.WriteString("\000")
	cname := []string{"firstCCC", "firstLeadingCCC", "", "lastDecomp"}
	fmt.Println("const (")
	for i, m := range decompSet {
		sa := []string{}
		for s, _ := range m {
			sa = append(sa, s)
		}
		sort.Strings(sa)
		for _, s := range sa {
			p := decompositions.Len()
			decompositions.WriteString(s)
			positionMap[s] = uint16(p)
		}
		if cname[i] != "" {
			fmt.Printf("%s = 0x%X\n", cname[i], decompositions.Len())
		}
	}
	fmt.Println("maxDecomp = 0x8000")
	fmt.Println(")")
	b := decompositions.Bytes()
	printBytes(b, "decomps")
	size += len(b)

	varnames := []string{"nfc", "nfkc"}
	for i := 0; i < FNumberOfFormTypes; i++ {
		trie := newNode()
		for r, c := range chars {
			f := c.forms[i]
			d := f.expandedDecomp
			if len(d) != 0 {
				_, key := mkstr(c.codePoint, &f)
				trie.insert(rune(r), positionMap[key])
				if c.ccc != ccc(d[0]) {
					// We assume the lead ccc of a decomposition !=0 in this case.
					if ccc(d[0]) == 0 {
						logger.Fatalf("Expected leading CCC to be non-zero; ccc is %d", c.ccc)
					}
				}
			} else if v := makeEntry(&f)<<8 | uint16(c.ccc); v != 0 {
				trie.insert(c.codePoint, 0x8000|v)
			}
		}
		size += trie.printTables(varnames[i])
	}
	return size
}

func contains(sa []string, s string) bool {
	for _, a := range sa {
		if a == s {
			return true
		}
	}
	return false
}

// Extract the version number from the URL.
func version() string {
	// From http://www.unicode.org/standard/versions/#Version_Numbering:
	// for the later Unicode versions, data files are located in
	// versioned directories.
	fields := strings.Split(*url, "/")
	for _, f := range fields {
		if match, _ := regexp.MatchString(`[0-9]\.[0-9]\.[0-9]`, f); match {
			return f
		}
	}
	logger.Fatal("unknown version")
	return "Unknown"
}

const fileHeader = `// Generated by running
//	maketables --tables=%s --url=%s
// DO NOT EDIT

package norm

`

func makeTables() {
	size := 0
	if *tablelist == "" {
		return
	}
	list := strings.Split(*tablelist, ",")
	if *tablelist == "all" {
		list = []string{"recomp", "info"}
	}
	fmt.Printf(fileHeader, *tablelist, *url)

	fmt.Println("// Version is the Unicode edition from which the tables are derived.")
	fmt.Printf("const Version = %q\n\n", version())

	if contains(list, "info") {
		size += printCharInfoTables()
	}

	if contains(list, "recomp") {
		// Note that we use 32 bit keys, instead of 64 bit.
		// This clips the bits of three entries, but we know
		// this won't cause a collision. The compiler will catch
		// any changes made to UnicodeData.txt that introduces
		// a collision.
		// Note that the recomposition map for NFC and NFKC
		// are identical.

		// Recomposition map
		nrentries := 0
		for _, c := range chars {
			f := c.forms[FCanonical]
			if !f.isOneWay && len(f.decomp) > 0 {
				nrentries++
			}
		}
		sz := nrentries * 8
		size += sz
		fmt.Printf("// recompMap: %d bytes (entries only)\n", sz)
		fmt.Println("var recompMap = map[uint32]rune{")
		for i, c := range chars {
			f := c.forms[FCanonical]
			d := f.decomp
			if !f.isOneWay && len(d) > 0 {
				key := uint32(uint16(d[0]))<<16 + uint32(uint16(d[1]))
				fmt.Printf("0x%.8X: 0x%.4X,\n", key, i)
			}
		}
		fmt.Printf("}\n\n")
	}

	fmt.Printf("// Total size of tables: %dKB (%d bytes)\n", (size+512)/1024, size)
}

func printChars() {
	if *verbose {
		for _, c := range chars {
			if !c.isValid() || c.state == SMissing {
				continue
			}
			fmt.Println(c)
		}
	}
}

// verifyComputed does various consistency tests.
func verifyComputed() {
	for i, c := range chars {
		for _, f := range c.forms {
			isNo := (f.quickCheck[MDecomposed] == QCNo)
			if (len(f.decomp) > 0) != isNo && !isHangul(rune(i)) {
				log.Fatalf("%U: NF*D must be no if rune decomposes", i)
			}

			isMaybe := f.quickCheck[MComposed] == QCMaybe
			if f.combinesBackward != isMaybe {
				log.Fatalf("%U: NF*C must be maybe if combinesBackward", i)
			}
		}
		nfc := c.forms[FCanonical]
		nfkc := c.forms[FCompatibility]
		if nfc.combinesBackward != nfkc.combinesBackward {
			logger.Fatalf("%U: Cannot combine combinesBackward\n", c.codePoint)
		}
	}
}

var qcRe = regexp.MustCompile(`([0-9A-F\.]+) *; (NF.*_QC); ([YNM]) #.*`)

// Use values in DerivedNormalizationProps.txt to compare against the
// values we computed.
// DerivedNormalizationProps.txt has form:
// 00C0..00C5    ; NFD_QC; N # ...
// 0374          ; NFD_QC; N # ...
// See http://unicode.org/reports/tr44/ for full explanation
func testDerived() {
	if !*test {
		return
	}
	f := openReader("DerivedNormalizationProps.txt")
	defer f.Close()
	input := bufio.NewReader(f)
	for {
		line, err := input.ReadString('\n')
		if err != nil {
			if err == io.EOF {
				break
			}
			logger.Fatal(err)
		}
		qc := qcRe.FindStringSubmatch(line)
		if qc == nil {
			continue
		}
		rng := strings.Split(qc[1], "..")
		i, err := strconv.ParseUint(rng[0], 16, 64)
		if err != nil {
			log.Fatal(err)
		}
		j := i
		if len(rng) > 1 {
			j, err = strconv.ParseUint(rng[1], 16, 64)
			if err != nil {
				log.Fatal(err)
			}
		}
		var ftype, mode int
		qt := strings.TrimSpace(qc[2])
		switch qt {
		case "NFC_QC":
			ftype, mode = FCanonical, MComposed
		case "NFD_QC":
			ftype, mode = FCanonical, MDecomposed
		case "NFKC_QC":
			ftype, mode = FCompatibility, MComposed
		case "NFKD_QC":
			ftype, mode = FCompatibility, MDecomposed
		default:
			log.Fatalf(`Unexpected quick check type "%s"`, qt)
		}
		var qr QCResult
		switch qc[3] {
		case "Y":
			qr = QCYes
		case "N":
			qr = QCNo
		case "M":
			qr = QCMaybe
		default:
			log.Fatalf(`Unexpected quick check value "%s"`, qc[3])
		}
		var lastFailed bool
		// Verify current
		for ; i <= j; i++ {
			c := &chars[int(i)]
			c.forms[ftype].verified[mode] = true
			curqr := c.forms[ftype].quickCheck[mode]
			if curqr != qr {
				if !lastFailed {
					logger.Printf("%s: %.4X..%.4X -- %s\n",
						qt, int(i), int(j), line[0:50])
				}
				logger.Printf("%U: FAILED %s (was %v need %v)\n",
					int(i), qt, curqr, qr)
				lastFailed = true
			}
		}
	}
	// Any unspecified value must be QCYes. Verify this.
	for i, c := range chars {
		for j, fd := range c.forms {
			for k, qr := range fd.quickCheck {
				if !fd.verified[k] && qr != QCYes {
					m := "%U: FAIL F:%d M:%d (was %v need Yes) %s\n"
					logger.Printf(m, i, j, k, qr, c.name)
				}
			}
		}
	}
}

redpajama_set_name: RedPajamaGithub


Where Bourdain's prose was like someone pirouetting around an abbatoir with a chainsaw, Buford is more measured, offering the inquisitive view of a middle aged ingenu. In the end it gives us a better picture of how a great restaurant kitchen really feels.
Throughout this memoir, Egeland presents himself as one of the more assertive elements in the UN, who likes to "speak truth to power".
The common perception of landfill is of a blight on our landscape - this place, however, is a monument to mankind's ingenuity. But for all its innovation, I am staring at the past. In two years' time Packington will be full.
I'm standing on a sunny playing field in a corner of post industrial Kent, trying to take in the fact that what I'm watching is a football revolution.


2019 Popular Parsons Concrete Top & Brass Base 48X16 Console TablesParsons Concrete Top & Brass Base 48X16 Console Tables | Furniture, Decor, Lighting, and More.
If you deciding on which parsons concrete top & brass base 48x16 console tables to purchase, you need choosing what we really require. need rooms contain previous layout that may help you determine the kind of tv consoles and stands that'll be beneficial inside the space.
It is recommended that your tv consoles and stands is notably associated with the architectural details of your home, otherwise your parsons concrete top & brass base 48x16 console tables can look off or detract from these design aspects rather than match them. Function was positively at first in mind at the time you selected tv consoles and stands, but when you have an extremely decorative style, you must finding some of tv consoles and stands that has been multipurpose was good.
To be sure, selecting the perfect tv consoles and stands is a lot more than deeply in love with their designs. All the model and even the quality of the parsons concrete top & brass base 48x16 console tables has to a long time, therefore thinking about the distinct details and quality of design of a certain item is an important option.
Generally there appears to be a countless collection of parsons concrete top & brass base 48x16 console tables to choose when determining to purchase tv consoles and stands. Once you've chosen it dependent on your requirements, better to consider integrating accent features. Accent features, without the focal point of the room but function to create the space together. Add accent items to perform the appearance of your tv consoles and stands and it will end up getting it was made by a expert.
Here is a instant instruction to varied types of parsons concrete top & brass base 48x16 console tables so that you can get the best choice for your home and finances plan. To summarize, consider the following when buying tv consoles and stands: let your preferences specify exactly what pieces you choose, but make sure to take into account the unique design styles in your house.
Find tv consoles and stands which has a component of the unique or has some personality is better ideas. The entire shape of the item could be a little special, or maybe there is some beautiful tufting, or unexpected detail. Either way, your individual choice must be reflected in the little bit of parsons concrete top & brass base 48x16 console tables that you pick.
Decorative pieces offer you an opportunity to try more easily along with your parsons concrete top & brass base 48x16 console tables selection, to decide on items with unexpected styles or accents. Colour is a main part in atmosphere and mood. When selecting tv consoles and stands, you would want to consider how the color of your tv consoles and stands can present your good mood and feeling.
Each tv consoles and stands is functional and useful, although parsons concrete top & brass base 48x16 console tables ranges numerous variations and designed to assist you make a personal look for your house. When buying tv consoles and stands you will need to put equal importance on comfort and aesthetics.
Related Post "Parsons Concrete Top & Brass Base 48X16 Console Tables"


text:
Professional, simple and secure apps for small businesses and nimble teams
Access & Edit Files
ShareConnect
Use desktop apps on your mobile device.
Sign Documents
Share files simply and securely.
Manage Workflows
Organize your team's work and conversations.
What is e-signature
More from Citrix
The ESIGN Act
The ESIGN Act established the legitimacy of signing contracts and documents online, streamlining business operations and eliminating paper burdens for consumers. As anyone who has ever applied for a loan from the living room couch or opened a bank account at 2 a.m. can attest, doing business online has made life infinitely more convenient. What most people may not realize is what a large role the ESIGN Act, officially known as The Electronic Signatures in Global and National Commerce Act, played in allowing consumers to take advantage of these modern conveniences.
History of the E-Sign Act
From the beginning, the ESIGN Act had significant support in Congress. One of the most ardent supporters was Spencer Abraham, a Senator from Michigan who believed the bill would spur e-commerce by eliminating fears over the vulnerability of electronic contracts. In the House of Representatives, Rep. Tom Bliley and Rep. Anna Eshoo were two of the first legislators to show an interest in solidifying e-commerce contracts.
A number of bills relating to electronic commerce were introduced in 1999. Over the course of a year, these bills were revised, broadened, and ultimately combined. Senate Bill 761 and House Bill 1714 shared the goal of promoting electronic commerce while maintaining technological neutrality. Although HR 1714 was originally narrow in scope, it was later broadened to included many more provisions for protecting consumers.
By the time the ESIGN Act was signed into law by President Bill Clinton on June 30, 2000, a handful of states had already passed laws regarding electronic recordkeeping. What the ESIGN Act did for the nation, however, was to establish a federal safety net to ensure that electronic contracts would be legal for interstate and global commerce.
Electronic Signature Validity
Before the ESIGN Act was signed, businesses were struggling with how to handle online transactions. Although many companies were accepting electronic signatures, there were still questions as to how well these signatures would stand up in court.
The ESIGN Act confirmed that electronic signatures have the same legal standing as pen-and-paper signatures, and a contract or record of transactions may not be denied legal effect or ruled unenforceable simply because it is in electronic form. Eleven years have passed since the ESIGN Act was signed into law, and numerous court cases have fully supported the legal integrity of e-signatures.
The Act grandfathered in existing agreements that were delivered electronically prior to October 1, 2000, although all agreements made after that date must follow the guidelines set forth in the ESIGN Act in order to be considered legally binding.
Consent and Disclosures
The ESIGN Act encourages that consumers have given consent and received any necessary disclosures as part of the electronic contracting process. The consumer is to be provided with a "clear and conspicuous statement" regarding the option to receive the record in a non-electronic form, if any, and the right to withdraw consent at any time. In practice, however, few companies that utilize electronic signature technology in their business operations provide clients with the option to receive paper contracts. These businesses are still in compliance with federal guidelines, as the ESIGN Act consumer consent provisions clearly state that a paper option is not required, and failure to obtain such consent does not affect the validity of any executed document.
However, the consumer should always be provided with information on how to access and retain the electronic record or document, based on the hardware or software being used. By confirming the receipt of a record electronically, a consumer has demonstrated that he can access and retain the electronic information.
Retaining Original Documentation
Businesses must retain evidence of contractual agreements to fulfill legislative requirements and to clarify any future questions about the legitimacy of a contract or the details of specific terms. This is true whether a document is in paper or electronic format. One of the advantages of an e-signature software service is that it stores executed agreements in a secure online archive, easily satisfying the retention requirements. Guidelines require that these records remain accurate and accessible to all parties involved for a length of time that is determined by the state agency or governing body having jurisdiction over a specific type of document, contract, or transaction.
Federal and State Regulations
One of the reasons why Congress was so motivated to pass the ESIGN Act in 2000 was to ensure that interstate commerce would not be complicated by competing e-signature laws in various states. Thus, the ESIGN Act established that its specific guidelines may only be modified or limited by states in the case of adopting the Uniform Electronic Transactions Act (UETA), which almost all states subsequently did, or when alternative and similar procedures were provided.
Exceptions to the E-Sign Act
While the ESIGN Act has been lauded for its comprehensiveness, the Act does not apply to every type of documentation. Certain types of records and documents are not covered by the ESIGN Act. These include:
Wills, codicils, and trusts
Adoption paperwork
Certain areas of the Uniform Commercial Code
Court orders and notices
Official court documents, including briefs and pleadings
Notices of the termination of utility services
Notices of default, foreclosure, repossession, or eviction
The cancellation of insurance benefits
Product recalls or notices of material failures
Documentation accompanying the transportation of hazardous materials
International Commerce
Legislators were motivated to create the ESIGN Act out of concern that U.S. companies would fall behind in global business without this type of support. It should come as no surprise, then, that the ESIGN Act promotes the use of e-signatures in international business transactions, so long as all parties have the ability to use their preferred authentication technologies and still have the legal recourse to prove the validity of a transaction in court if the need arises.
The ESIGN Act was signed into law on June 30, 2000 by President Bill Clinton.
Most commonly-used types of documents are protected under the ESIGN Act.
RightSignature enables businesses to send and receive legally binding electronic signatures.
Please enter all the details correctly.
By clicking "Start My Free Trial" you agree to our Terms of Service and Privacy Policy.
RightSignature History
Legally Binding Signatures
Secure Signing
Mobile Signing
2018 Citrix Systems. Inc, All rights reserved

redpajama_set_name: RedPajamaCommonCrawl


Bollywood actress Sonam Kapoor, who turned 31 on Thursday, says she is not ashamed to reveal her age.
"I am 31 and I say it," kapoor told the media in Mumbai.
The actress says she had a "rocking year" as she was praised for her brilliant performance in film Neerja.
The actress had a working birthday and felt 'working on a birthday and new year is auspicious'.


text:
Q: Internet Explorer just doesn't work at all.. css/js rendering wrong.. advice I am redesigning a webpage for a club I am in.
After a lot of work, I have finally got it looking reasonably good (IMO) in Chrome, Firefox, etc.
Internet Explorer however is rendering everything completely wrong.
See: http://nationalstudentrodeo.org.uk/2012a/
The novo slide does not load, the mousover menu is not positioned correctly, all images are seemingly shrunk, and all the transparent images are not transparent.
Could anyone possibly link to specific resources re these problems - why is IE so tempremental...
Cheers

A: Other than the fact that IE is inept to begin with, you have comments and other things before the doctype. This puts IE into quirks mode. Remove all that to get IE to attempt to perform like the other far more modern browsers.

A: If you're worried about how IE looks I would suggest that you design in IE and when you get it to look good in that then go over and look at it in Firefox, etc. It is a lot easier to get something that looks good in IE to look the same in Firefox then the other way around.

redpajama_set_name: RedPajamaStackExchange


Once the drama settles soccer tryouts really wasn't that big of a deal.
Teary farewells are always hard when you have to say goodbye to friends moving away.
Taking your best gals to a birthday party at the American Girl store is so much fun!
It's also fun when Mom gets to bring along a friend!


text:
Q: Stokes equations and change of variable Let $\Omega$ be domain of $\mathbb{R}^n$ and $\Phi : \Omega \to \Phi(\Omega)$ a deformation. Consider the Stokes equations written in the deformed configuration
\begin{align}
- 2\mu \operatorname{div}(D(u)) + \nabla p &= f, \quad \text{in } \Phi(\Omega) \\
\operatorname{div}(u) &= 0, \quad \text{in } \Phi(\Omega) \\
\end{align}
where $u$ is the velocity of the fluid, $p$ the pressure, $\mu>0$ is the constant viscosity, $f$ is an external force and $D$ is the operator defined by
$$
D(u) = \frac{1}{2} (\nabla u + \nabla u^T).
$$
How can the Stokes equations be written in the domain $\Omega$ using a change of variable ?


George Dickel Raises The Bar as a Bar Gets Raised!
"You think you know Dickel?" Why? Because they're raising the bar in more ways than one and they came to San Francisco to show us.
At a recent event in San Francisco, Master Distiller John Lunn came to introduce one way they are raising the bar, by introducing George Dickel Rye Whisky. The new rye-based spirit is based on a 95% rye and 5% malted barley mash, which is chilled and then charcoal-filtered prior to aging for 5-6 years in new oak barrels.


text:
Lighting Up the White Nights
Posted byRussian_Village	 May 22, 2013 Leave a comment on Lighting Up the White Nights
With three stages at its disposal, this year's Stars of the White Nights festival will be the busiest ever.
By Galina Stolyarova
Published: May 22, 2013 (Issue # 1760)
Yannis Bourinas
The 21st annual Stars of the White Nights music festival opens on Friday and will be held for the first time at all three Mariinsky theater venues. The long-awaited stage of Mariinsky II will finally be christened with its first premiere, up-and-coming young director, Vasily Barkhatov, will open the festival with his rendition of Dargomyzhsky's opera "Rusalka"
"This fabulous facility is a triumph of engineering; the Mariinsky's new stage is far ahead of any theatrical venue in Russia," said Barkhatov. "Its diverse capacities are almost intimidating."
Established by the Mariinsky's indefatigable artistic director, Valery Gergiev, the annual festival has evolved into the country's premiere classical music event and has brought an array of high-caliber international stars like tenor Placido Domingo, soprano Renee Fleming and violinist Leonidas Kavakos to St. Petersburg.
During its 20-year history, the event has successfully become a window to the world of opera and ballet for a loyal audiences and local music fans, as well as a drawcard for visitors to St. Petersburg.
Shortly after the opening of the festival, the respected London Symphony Orchestra will take the Mariinsky II stage under the baton of Gergiev on May 26. The musicians will perform Berlioz's "Symphonie fantastique" while Alexander Toradze will play Shostakovich's "Piano Concerto No. 2."
In June, the Mariinsky's new stage will also play host to a complete performance of Wagner's tetralogy "Der Ring des Nibelungen," undoubtedly Gergiev's most ambitious project. "Das Rheingold" will be performed on June 11, followed by "Die Walkure" on June 13. The tetralogy continues on June 15 with "Siegfried" and concludes with with the final part, "Gotterdammerung," on June 16.
Natasha Razina
Michel Fokine's 'In the Middle' will be performed as part of the Mariinsky Theater's Stars of the White Nights festival.
Russian composer Rodion Shchedrin, a long-term ally of Gergiev and the Mariinsky, will see the world premiere of his new opera "The Lefthander" at the Mariinsky II on June 26 and July 27 and 28. The opera was commissioned specifically for the new stage.
In addition to the heavy-hitting opera program, this year's event will have a strong focus on instrumentalists. The list of four not-to-be-missed performers to see this year include: Austrian violinist Anne-Sophie Mutter (July 20, Mariinsky Concert Hall), Austrian pianist Rudolf Buchbinder (July 11 and 12, Mariinsky Concert Hall), British pianist Christian Blackshaw (July 15, Mariinsky Concert Hall) and Greek violinist Leonidas Kavakos (June 24, 25 and 26, Mariinsky Concert Hall).
Buchbinder will treat St. Petersburg audiences to two concerts in which he will perform all of Beethoven's piano concertos.
Buchbinder has gained worldwide recognition for his Beethoven interpretations, both in the concert hall and on record. He has released more than 100 recordings, including the complete Beethoven sonatas, as well as works by Brahms, Mozart and Haydn. His recordings of the complete Beethoven piano sonatas released on CD and the complete Beethoven piano concertos performed with the Vienna Philharmonic on DVD were both recorded live.
Buchbinder's personal connection with Beethoven dates back decades to when, as a five-year-old prodigy, he performed Beethoven's First Piano Concerto at the world-renowned Musikverein concert hall in Vienna. "I still do not know exactly how I managed it; the whole experience felt like something completely surreal," he said, speaking to The St. Petersburg Times.
At the same tender age, he became the youngest student in history to be accepted into Vienna's prestigious music academy — The Vienna Musik Hochschule. Today, the distinguished musician performs alongside some of the world's leading orchestras including: Berlin Philharmonic, Vienna Philharmonic, New York Philharmonic, Orchestre National de France and London Philharmonic Orchestra. He also collaborates with the most sought-after conductors including; Claudio Abbado, Zubin Mehta, Lorin Maazel and Kurt Masur. Since 2007, the musician has been the artistic director of his own classical music festival, Grafenegg Music Festival, in Grafenegg, Austria.
for spt
Vadim Repin, who began to play the violin at the age of 5, is slated to perform.
Most biographies about Buchbinder, refer to his core repertoire as being so-called Viennese classics — a term that usually encompasses Beethoven, Mozart and Haydn. However, "Viennese classics" is a phrase that Buchbinder thoroughly detests.
"I cannot stand this utterly stupid phrase," he said. "It is absolutely nonsensical and was seemingly invented by some kind of music bureaucrat who researches music but fails to see the heart and soul behind the score. They have simply assigned the title of 'classic' composers to these very different composers and put them in a group."
For Buchbinder, the core element of Mozart's art is drama, while the music of Beethoven is synonymous with lyricism and delicacy. "Beethoven is the only composer in the history of music who writes an Espressivo followed by a Tempo — it's in his 'Piano Sonata, Op. 109.' This is the epitome of Romantic playing," he said.
Buchbinder's compatriot, the distinguished violinist Anne-Sophie Mutter, will perform an evening of compositions by Lutoslawski. At the age of 14, Mutter became one of conductor Herbert von Karajan's students. Lacking in confidence and reluctant to go to the audition, she could not believe that Karajan, one of classical music's living legends at the time, decided to give her his time and support.
"I kept contact with maestro Karajan until his last days, and my precious recollections about these meetings still make a great source of vital energy for me," Mutter told the St. Petersburg Times. "His every word and gesture had a meaning and his ability to communicate knew no boundaries. He was a truly modest person — I wanted to bring myself up along the same lines."
For Mutter, the violin is also the world's most beautiful instrument.
Uliana Lopatkina in 'Swan Lake.'
"Its sound is the closest to the human voice, and its expressive palette knows no limitations," she said. "When I touch the instrument I feel absolute freedom. I would compare myself to a sculptor, with the only difference being that I carve out sound pictures. The sound would blossom like a flower, it can swiftly change shades or lose volume, and it is in my power to expand it again, breathe life into it — it only takes another touch."
The virtuoso Greek violinist Leonidas Kavakos, a regular at renowned international festivals, including the Salzburg Festival, the BBC Proms and the Ravenna Festival, will perform Beethoven's violin sonatas on three consecutive evenings at the Mariinsky Concert Hall.
The winner of the 1991 Gramophone Award for the first-ever recording of the original version of the Sibelius Violin Concerto, Kavakos will perform a stunningly diverse repertoire spanning centuries. His programs feature works by Bach, Mozart, Haydn, Stravinsky, Schubert, Ravel, Sibelius, Debussy and George Enescu as well as cutting edge contemporary composers.
"As a musician, one has to be aware of all the different eras and aesthetics of the music which is why it is beneficial for a performer not to confine themselves to one or two 'key' composers," said Kavakos. "I seek to expand my horizons and enrich my expressive possibilities as widely as humanly possible."
Such an approach helps the performer to understand the legacy of the music of the past he said "We have to imagine that all the great 20th century composers were looking back to their predecessors — Mozart, Haydn or any other composer — and use these reflections when trying to make a step forward."
"I see classical music legacy as a living organism, a chain, and no part of this chain should be ignored. In other words, if I play a contemporary piece, it gives me a deeper insight into the works of Ravel or Debussy. The same would be fair for the works of, say, Shostakovich and Tchaikovsky," he said.
Indeed, speaking of Tchaikovsky, ballet audiences will not be deprived of their share of festival fun. The talented contemporary choreographer, Alexei Ratmansky, will premiere a new ballet set to the music of Shostakovich at the Mariinsky II on July 4. The Netherlands Dance Theater will perform two shows on the original Mariinsky stage on July 3 and 4, and the Israeli dance company Batsheva will perform on June 9 and 10 — also at the historic venue.
With three stages at its disposal, the Mariinsky this year will be able to give ballet a greater presence. Most performances — largely the company's trademark productions, such as "Swan Lake" (May 24, 25 and June 6), "Le Corsaire" (July 10 and 11), "The Fountain of Bakhchisarai" (May 31, July 6) and "The Sleeping Beauty" (June 11) — will all be performed on the historic stage.
Posted byRussian_Village May 22, 2013 Posted inRussian NewsTags: Russian News
St. Petersburg Marks 310th Anniversary
THE DISH: Easy Does It


South Lawns at Scraptoft Hall, the grounds of the beautiful 18th century mansion, is the first phase of 24 stunning detached and semi-detached houses within the grounds of the beautiful 18th century mansion, Scraptoft Hall. This exclusive development, featuring a lake, is nestled within the village of Scraptoft, Leicestershire which has plenty of local amenities including shops, newsagents and a cosy village inn. With the A47 close by providing excellent transport links to Leicester and excellent local schools South Lawns really is a perfect haven.
Enclosed in red is the development site. The Scraptoft Heritage site, in blue, will be restored and converted in residential spaces.
The proposed development site is the land at Scraptoft Hall, Leicestershire, which lies east of Leicester City. The site is located to south of Beeby Road, north of Covert Lane and east of Church Hill. Measuring at 3.307 hectares (8.17 acres), the topography of the site falls from highest part around Scraptoft Hall towards the south and north. There are several heritage assets, including Scraptoft Hall, and existing trees on the site which will be retained where possible. The development will exploit important views east towards Scraptoft Hall and the extent of the lake.
The Scraptoft neighbourhood area, a large suburban conurbation, is situated east of Leicester City.
Distance from the development site is approximately 6 kilometres from Leicester City.
Footpaths, typically 1.8m wide, are are provided within the development, and lead out to the wider footway network.
There is adequate pedestrian facilities in the area, with adequate footways provided on Church Hill, Beeby Road, Scraptoft Lane and Covert Lane that all link into the wider footway network. These provide safe routes and access to the village centre and bus stops. These are typically 1.8m wide.
There are two bus stops that service the proposed development area; Church Hill Bus Stop, approximately 100m west of the site, and Beeby Road Bus Stop lies approximately 125m to its north. All properties within the development would lie comfortably within 400m of a bus stop.
The closest rail station is located in Leicester, which lies 5 miles from the site. The Station is accessible by the 56 bus service to Humberstone Gate or an approximate 10-minute walk. Leicester station provides good regional connections through regular services to London St. Pancras (~70 minutes) and Birmingham New Street Station (<1 hour).
To encourage sustainable travel to and from the site, achieve modal shift targets, and reduce car use, new residents will be provided from first occupation with Travel Packs informing them of what sustainable travel choices are in the surrounding area, and 2 application forms for 6 month bus passes funded by the developer. The nearest bus stop will be improved with raised and dropped kerbs to allow level access, and a Real Time Information (RTI) system. An improved and widened footway will run along the site's entire frontage to Beeby Road around the junction and into Church Hill.
Property types in Phase 1 of the development. There is a 40% affordable housing allocation, but it is recommended this is not pursued.
Restorative works on landmarks, stipulated in S106, retains heritage characteristics that are emulated in the design of the surrounding units.
Restorative works, stipulated in S106, retains heritage characteristics that are emulated in the design of the surrounding units.
Scraptoft Hall to be converted into a residential apartment units; façade will be retained.
The construction and refurbishment of Scraptoft Hall.
Based on the design of the scheme, there are two distinct areas within the development: the South Lawn and the north area around the existing lake.
The south lawn comprises a mainly linear layout along the driveway which will allow views north and south to and from the Hall. This follows the extant scheme. The north part of the proposed layout allows views to and from the Hall with green space sited between the Hall and the lake.
The proposed dwellings in this location will be sited among the existing trees where possible, except for the west side of the lake where the width of land to the boundary does not readily lend itself to new build.
The most significant structures that will be retained in the development are found in the Scraptoft Hall heritage site. Within it, S106 stipulates that restorative work be carried out on Scraptoft Hall and its outbuildings, with additional work being carried out to provide additional parking spaces to All Saints Church that lies adjacent to the development site.
Trees of interest, with regard to the development, have been identified through inspection for their prominence for the site's elevated west and south areas. The general development site has a number of woodland characters due to the broadleaved and evergreen trees located within the area.
Better quality and denser trees occupying a linear position along the lake screening Scraptoft Hall will be retained to provide continuation of canopy cover; however, a small number of trees in this area will be removed to enable the construction of a small number of houses accessed off Beeby Road. The undercanopy and smaller woodland edge species will be removed to open up visibility into the site from the adjacent residential area. Hedgerows and shrubs will be established along this boundary. Along the pond, mature Willow and Birch trees are to be retained at the north east. These are will be protected within a raised bed, and will also require fencing to protect the roots and canopy extremities.
The development site is enclosed within Beeby Road and Church Hill. Within it, there are several private roads that serve as spines on which the scheme's residential units are situated along. The two key focal points of the development are the heritage site of Scraptoft Hall and its outbuildings, and the existing lake, which aid residents with orientation within the area. Secondarily, open green spaces serve as pocket parks within the development, which provide a distinctive character to the development and reinforces their orientation of the adjacent plots.
Access into private roads. Retention of trees and the use of boundary treatments, such as at the entrance, promote slower vehicle speeds.
Based on the topographical map of the development site, there are clearly distinct levels to the site. However, the development has sought to keep both driveways and footpaths level, which provide ease for people with disability or with prams or pushchairs.
The use of bay windows in the front of houses increases visual security towards the road and adjacent plots.
Private residential parking indicated in red form part of the residential structure, thereby limiting the visual impact of cars.
Two disabled car parking spaces and equipment stores will be offered for use by All Saints Church as part of the S.106 contribution.
The proposed green space on site is proposed to be publicly accessible but to be managed open space. The proposed open space on site is not offered for transfer to the Council or to Scraptoft Parish Council.
Boundary treatments on the development site are defined by the use of soft and hard landscaping. Grass is turfed on public open spaces.
Between individual properties, the use of curbs, hedgerows and private drives mark the boundaries of individual properties.


text:
Native Groups and Offices at Cal
Native Groups and Offices Cal
Phenocia Bauerle, Director
Email: nasd@berkeley.edu
241 Cesar Chavez #2440
Natives @ Cal
There are many ways to plug-in to the Native community at Cal. From student groups, to academic support or research, our community is rich with engagement opportunities.
Offices and Programs
American Indian Graduate Program (AIGP)
As part of UC Berkeley's mission to foster academic excellence through diversity, the American Indian Grauate Program seeks-through outreach, individual recruitment, and student services- to counteract the barriers that prevent the full participation of American Indian and Alaska Native students in graduate education.
AIGP
Patrick Naranjo, Program Director
Cal Nerds
We are NERDS on a mission to promote higher education and career preparation. We are made up of talented undergraduate and graduate students in the disciplines of Science, Technology, Engineering, and Mathematics (STEM).
Diana Lizarraga, Cal NERDS Director
Chris Noble, Cal NERDS Assistant Director
Joseph Myers Center for Research on Native American Issues
The Center's mission is to provide the people of Indian country with pragmatic research products that can be employed to improve the quality of life for Native Americans throughout the US.
CRNAI Department
Native American Theme Program
A living learning community for students interested in connecting with the Native community at Cal. Students live together on a floor in Slottman Hall, participating in group activities, engaging with community while also taking an academic seminar that explores Native histories, contemporary issues and intersections with personal identities.
Phenocia Bauerle, NASD & course faciltiator
Richard Moreno, Resident Director
American Indian Graduate Student Association
Is dedicated to bringing Native graduate students together from across campus. Through academic, social, and outreach events, AIGSA works towards strengthening the Native American/Indigenous student community on-campus and beyond. Contact us for meeting information, and to find out how to get involved!
Ataya Cesspooch, Co-Chair
Sierra Edd, Co-Chair
American Indian Science and Engineering Society (AISES)
The American Indian Science and Engineering Society is a national, nonprofit organization focused on substantially increasing the representation of American Indians, Alaska Natives, Native Hawaiians, Pacific Islanders, First Nations and other indigenous peoples of North America in science, technology, engineering and math studies and careers.
Fox Stowe, President
Adina Lewis, Vice President
Indigenous Native Coalition (INC-RRC)
INC is a student organization that recognizes the significance of keeping higher education accessible and attainable for Native Americans. We seek to both recruit and retain Native students to Cal, while encouraing higher education to all Native students.
Pavin Johnson, Co-Executive Director for INC-RRC
Fox Stowe, Co-Executive Director for INC-RRC
NALSA is a community of law students that seeks to promote the success of Native students, create awareness around Native issues, and foster a positive culture of unity, cooperation, and respect. Serving as an academic, political, and social resource for Native law students and their allies, NALSA is committed to forming lasting relationships with Native alumni, Native members of the legal community, and the Native community as a whole. From social trips to educational lectures, conferences to mentorships, NALSA actively provides its members with opportunities for academic and legal prosperity, a deeper sense of engagement with Federal Indian Law, and a supportive community of peers. NALSA at Berkeley Law is an active chapter of National NALSA.
NALSA


View the full photo album on our facebook page.
We love our volunteers and to show them our appreciation, a Volunteer Picnic was held in their honor on April 1. Volunteer Coordinator Kim Dignan P'12 '14 organized a fun-filled event for 80 people, including delicious food, fantastic music and door prizes, scrumptious homemade desserts, and goody bags for each guest. Thank you to all our wonderful volunteers for sharing your time and talents!


text:
TGJ Replay
TGJ Replay: Whitney Houston's 'I'm Your Baby Tonight'
Published: Friday 16th Jan 2015 by Rashad
Welcome back to TGJ Replay!
Designed much like our 'Retro Rewind' and 'From the Vault' features, 'Replay' is That Grape Juice's newest reflective segment to act as a written quest, if you will, to re-spin the gems and jams of yesterday. Unlike its retrospective predecessors, 'Replay' looks to dust off and showcase entire albums (and eras) from a library of pop and Urban pop music hits.
Now, as fans ready themselves for the highly anticipated Whitney Houston made-for-TV biopic 'Whitney' (January 17th at 8/7c on Lifetime), there is no better time to ode the songstress than with today's replay of her multiplatinum third album 'I'm Your Baby Tonight.'
"The third album is probably always the hardest because people expect so much. [They say] the first one is ok, the second one was pretty good, but now what is she going to do for the third one? It's always that expectation level that makes it hard to deal with. You want it to be accepted in the same way that the first and second one were." – Whitney Houston, 1991
Join us as we travel back to 1990… It had to be something to be the anomaly of "Whitney Houston" in 1989.
For, with history books seemingly growing weary of etching the pop princess's name along its pages for one reason or the other (see: besting The Beatles' singles record with 7 consecutive #1 singles, best-selling debut album by a female artist at the time, sophomore album becoming first female album ever to debut at #1, etc.), Houston, affectionately known as Nippy, was learning the hard way that success was a double edged sword. Not only was the powerhouse vocalist grappling with having to meet or exceed the whopping worldwide sales of her first two efforts ('Whitney Houston' – 25 million, 'Whitney' – 20 million) and the evolution of and growing need for music videos (a format she never exactly clung to like her less vocally talented, chart-topping counterparts), but 1989 would bring with it glaring proof of the growing distance between herself and the "Urban" audience.
Indeed, two back to back unceremonious jeerings at the '88 and '89 Soul Train Awards signified to most that the audience had grown weary of Nippy's soaring gospel-like vocal displays boarding fluffy "white" pop numbers. The incidents are credited by most as the catalyst for the sonic direction of her third album.
(See Whitney address the incidents in an Arsenio Hall interview below at 3:18)
Much like pop/R&B counterpart Janet Jackson, the powerhouse singer's third album would finally see her gain 'control' as it marked the first time her handler, Clive Davis, would allow her more creative command over her image, sound, and overall product. Still under his guidance, however, the two would tap Luther Vandross, L.A. Reid, and Babyface to steer the album's sonic direction down more rhythmic avenues. Combining elements of pop, jazz, new jack swing, R&B, and hip hop, the collection of tunes would primarily see Houston travel terrains of sound her two previous efforts hadn't dared as, for the first time, her name was listed as "co-songwriter" and "producer" on album credits.
But, for safe measure (as the majority of Whit's hits were ballads), Davis ensured the inclusion of work from previous producers Narada Michael Walden and Michael Masser to assist audiences with transitioning to this 'new Whitney' without alienating fans of her power ballads 'Greatest Love of All,' 'Where Do Broken Hearts Go,' and more.
The outcome of this venture? 'I'm Your Baby Tonight.'
Fall 1990 would introduce fans to the "new Whitney" with the release of the album's L.A. Reid & Babyface-produced title track.
With an instantly recognizable, Michael Jackson-esque intro in tow, the song would dethrone Mariah Carey's 'Love Takes Time' and blare its way to #1 on the Hot 100 and 'Hot R&B' charts in just six weeks on the wings of strong radio airplay and one of Houston's most conceptually driven music videos ever. Arguably feeling the pressure to compete with fellow pop titans' (Madonna, Janet Jackson, Michael Jackson, Paula Abdul, George Michael) manipulation of the evolving format, 'Tonight's visual accompaniment would see the songstress travel through time to ode her musical influences. Nodding to the likes of Audrey Hepburn, Diana Ross, and more, the video would symbolize a farewell to the gown-donning balladress of the 80's fans had grown to love to greet a "hip, 90s Whitney" with ripped jeans and leather jacket to boot.
Landing her 8th #1, the song's chart performance would ease label fears that revamping the singer's image was a wrong move…to some degree. Its short tenure on the chart's perch, followed by the album's #3 peak on the Billboard 200, led Davis and co. to go back to Houston's tried and true formula; ballads.
Tapping her remake of the early 80s, Linda Clifford hit 'All the Man That I Need' as 'Tonight's follow-up, fans not so keen on Houston's updated sonic approach would fall in love all over again.
Talk about a knockout performance!
Decorated with a stunning crescendo of Whitney's emotional vocal delivery, assortment of strings, and a high-spirited choir, the song – despite growing opposition from Carey – would reassert the singer's position as the era's premier balladress.
Giving the powerhouse her second #1 single from this album and 9th overall, the song would mark her first time reigning atop the Hot 100, 'Hot R&B,' and 'Adult AC' charts simultaneously.
At the rate the 90s was shaping up, by 1991 Whitney looked to be well on her way to dominating the decade much like she did the 80s. Though her bad girl image would find boosts from reports of diva behavior, photos of her smoking cigarettes, updated wardrobe, and a timely relationship with R&B bad boy Bobby Brown making its waves across the rumor mills and headlines, Houston was very much still 'America's Sweetheart.' The status of such was undoubtedly cemented when she took to Superbowl XXV to perform the 'Star Spangled Banner.' We use the term "perform" lightly.
Let's try..hmm…annihilate.
Particularly emotional for some fans as the U.S. was at the genesis of the Persian Gulf War, the singer took to the field to lend such a heart-tugging rendition of the U.S. national anthem that it would not only be received with thunderous applause from the audience in attendance, but it would literally become the standard for every single act that has dared to attempt it after. In fact, the response was so overwhelming that Houston's record label home, Arista Records, granted her version "single status" and donated all proceeds to charity.
Despite the "lip syncing scandal" that ensued, the tune's performance on charts delivered her highest single debut at the time (at #32 on Hot 100) and would peak at #20. Scanning over 750,000 purchases in 8 days, at a time where singles were not digitally downloaded for $.99 a pop, the song would become Arista's fastest selling single for quite some time.
Special note: Whitney's version recharted in 2001 and would make her the first and only singer in history to make the song a Top 10 hit.
The overwhelming wave of publicity following her U.S. national anthem performance did not deter her attention from celebrating her first album of creative control, however. Going back to 'I'm Your Baby Tonight,' Davis and co. would follow-up 'All The Man That I Need' with the ballad 'Miracle' (#9 Hot 100 peak), new jack swing jam 'My Name Is Not Susan' (#20 Hot 100 peak), 'I Belong To You,' and Stevie Wonder duet 'We Didn't Know.'
Though each single following 'All the Man That I Need' would perform worse than its predecessor, the 'I'm Your Baby Tonight' era did little to stunt the growth of Houston's social status. With monumental moments like Superbowl XXV, the ensuing 'Welcome Home Heroes' HBO concert special, and a supporting world tour to keep her name in mention, by the time the dust settled the album still managed to shift a whopping 12 million worldwide. Granted, the numbers paled in comparison to her two previous efforts, but the era would only act as a stepping stone to her career's shining achievement…'The Bodyguard' movie and accompanying soundtrack.
On the awards tip, the album landed Grammy 'Best Pop Vocal Performance, Female' nods for 'I'm Your Baby Tonight' (1991) and 'All the Man That I Need' (1992), 1993 'Best R&B Vocal Performance, Female' Grammy nod ('I Belong To You'), and American Music Award nods, but no wins.
'I'm Your Baby Tonight' is unforgivably the least celebrated album of Whitney Houston's prime. A shame, let us tell it, because it gave the songstress so many "firsts": first time she really began to own her sexuality, first venture into unadulterated R&B devoid of pop flavouring or undertone, and the first time she took the driver's seat to have a "say so" in how she was represented. It was the beginning of the derailment of Houston's pristine image and, ultimately, we liked it for what it was supposed to be until it got out of control.
It's obvious, in part, the era's overall purpose was to "modernize" the former pop princess to go toe to toe with her fellow pop titans as proof of this could be argued with the increased intensity of choreography in her music videos & staging as well as her updated wardrobe and downplay of ballads. Yet, instead of helping her "keep up," the era only helped distinguish her more from the Madonna's and Janet's of the day by adding a spice of diversity that, let us tell it, was lost again when Davis helmed 'The Bodyguard' soundtrack offerings.
Either way, IYBT is an absolute gem. Hey, we still get our groove on at TGJ HQ with 'Lover For Life' and 'Takin A Chance,' but you tell us:
Favorite Song from Whitney Houston's "I'm Your Baby Tonight"?
Watch: How To Sing Like Beyonce
Did You Miss It?: Whitney Houston's…
king z January 16, 2015
Vocally, whitney was at her peak in 1987-89. by late 89 and 90, whitney's voice began taking on a darker quality. Arguably more from overuse and improper technique over drug use.
either way, i'm your baby tonight was such a cool step for her to get form behind the guise of OREO. ultimately, it helped and hurt her. but even tho IYBT era is not my fave of hers, the songs IYBT and ALL THE MAN THAT I NEED are still my fave songs of hers
iHATEjohnvidal January 16, 2015
i wonder if John vidal will find this replay acceptable.
ANYWHO, this was such a great album. i absolutely adore "lover for life" to the point i want it played at my wedding. i also really like "taking a chance" and of course the actual IYBT tonight. something about that song makes me think of BATMAN tho (not the singer, the actual superhero lol)
JOHNVIDAL January 16, 2015
Yes I approve thanks LOL
Suicide Blonde January 16, 2015
This is arguably her most underrated album imo, she showed her diversity with it, this was a very good read, great job Rashad.
Danny Bey January 16, 2015
Imo, her voice was at its best during this era. Everyone wants to say she peaked at the Bodyguard but if you listen and watch her performances during IYBT, you'll see how each and every single performance was literally and I do mean literally FLAWLESS.
Her voice kept changing (as most special voices do) throughout teh years and tehre´s something to like from each era, but Whitney´s voice was at her best in the 80s, crystal clear slayage, perfect, absolutely flawless.
Grande The Way January 16, 2015
Love Whitney and this album! This is by far her most underrated album. I'm Your Baby Tonight was an incredible single and a classic. I never understood why people ever said she sang "white". You can't sing like a color, they're just different styles suited for different voices. Whitney's voice is timeless.
Stephy Jackson January 16, 2015
I did NOT like this album at all. Aside, from a few tracks. But, her voice was INCREDIBLE. My fav song from her PERIOD is ALL THE MAN I NEED. She tore that song up MANY times live. Incredible!!!
She Was The Greatest Singer Of All Time
LB January 16, 2015
Sista Lovelybird, what seems to be the problem hun?
Also, she reached her "peak" during the Bodyguard. After that, her voice deteriorated rapidly.
TheElusiveLamb January 16, 2015
Still was a phenomenal vocalist. Why are you shading? You think that s*** is so cute don't you? You're not keeping it real, you're just being a thirsty bottom who is taking out her insecurities on others. Learn to STFU. The woman is dead for Christmas sake. WTF is wrong with you?
Honey, why in the world do you keep replying to me? I was not shading Miss Nippy at all. They were discussing her vocal peak. In the comments earlier. I said, nothing about her death or disrespectful. Jesus
If you can come in MY reply box and give your brief opinion on MJB The London Sessions, then I will come to yours. Get over yourself.
That was a lAST FUCKINNNNG YEAR B****! Get out my reply section. You STAY in it talking TRASH
How do I stay in your reply box? Go back to the other posts and try that comment again. Learn to STFU.
The legendary Whitney Houston babies!!!
Everytime I listen to All The Man that I Need… that VOICE, she takes me to a new dimension. Feels like paradise! And all the live performances of that song… The Voice. Once in a lifetime singer.
Yassss my fav Rashad with yet another slaying article. Imma come back and read this slayage.
#Rashad #TGJKing
Royalkev January 16, 2015
Crossover acts like Whitney always tend to have so many audiences to please. It's kind of silly now to think of Whitney as a singer lacking soul, but sometimes people label artists "sell-outs" that have the kind of following she did. If you listen to Whitney's first 2 albums you can sense that there's a powerhouse vocalist all over those albums, she didn't have to do any over-singing to prove that she possessed an enormous talent (one that she would later be revered for universally). Still, it's nothing like having naysayers, there the ones that allow you to see what an artist is made of. IYBT was a soulful and feisty album. Whitney had a sass on this album made it clear that she was a versatile singer with the ability to do more than deliver a moving ballad. My favorite track in this collection of songs is 'Susan'. I don't know why, but it just has a life to it that I really wanted from Whitney! There's a version where the intro is a short Acapella part that just really sends me. For me, Whitney is second to none vocally. I respect so many "real vocalist", but I haven't felt the chills from any other artist the way I have with Nip (and I appreciate soooo many DAMN GOOD ONES, more than just the others I stan for). This is basically why I'll always respect this woman no matter what the media, haters, etc try to take away from her! Imo, it makes people looks foolish doing so!
King M.J January 16, 2015
That voice, she's was the greatest singer ever.
I meant to say "she", excuse me.
First let me start by saying the Mimi shade is ridiculous. That interviewer was an ass and Whitney was tired of him, not Mimi which is why she cleaned it up so quickly.
Anywho, this is my favorite album of hers. I think her voice had more depth and even more power than it did in the 80's (mainly because women voices don't mature until they are 27-30), and she sounded phenomenal every time she performed. Her beauty, her talent, and legacy simply is in a league of its own. May she RIP. Love you Whitney! ♡♡
HOWYOULIKEIT January 16, 2015
Nobody talks about After we make love. That song is flawless and timeless
Lmfao_Hoe January 16, 2015
Yes baby I don't understand why they did not release that as a single and video. Would've Been another hit :/
I LOVE that song. That´s the most haunting on the album along with the mentioned All The Man that I Need. Magical voice.
Fancy BISH January 16, 2015
Great article TGJ 😉 Ya'll basically said everything, but I'll add that I'm Your Baby Tonight had a cinematic feel to it…the cover looks like a movie poster…the songs feel right out of a movie script…love (All The Man I Need), s** (I'm Your Baby Tonight), abortion (Miracle), and infidelity (SUSAN! lol)…it was the perfect setup for the massive Bodyguard Soundtrack and her movie career…and how stunning was Whitney? Just FLAWLESS 😉
San January 16, 2015
I actually think Whitney Houston is the most universally acclaimed diva because all fan bases unanimously agree that she was "The Voice"…it helps she never had funds and always congratulated other female singer…She was not afraid to play the back and give them their shine/spotlight…. if you watch all the parodies on YouTube Whitney is the least confrontational….Most of the female singer have been quoted in interviews sharing their love and inspiration for whitney including Mariah Carey, Celine Dion,Britney Spears,Christina Aguilera,Faith Evans,Beyoncé,Rihanna,Lady Gaga,Ciara,Brandy,Monica,Kelly Price,Jessie J,Kelly Rowland…Good to see the Positivity
I meant *Feuds……Crazy Auto Correct lol
MUSICHEAD January 17, 2015
Whitney is the greatest female vocalist of all time!
I'm Your Baby Tonight is the first Whitney Houston song I ever knew and it is still my all time favorite!
MariahIsMusic1 January 17, 2015
She's the greatest Vocalist of all Time imo. The Voice! Not really fond of this album but yes I'm loving this article.
Matthew Charlery-Smith January 18, 2015
this was arguably her best album. Her vocal peak was '87-'94. Yes, there were a few changes after album 2, but Whitney's vocal skills increased drastically. Her tone was richer and her control more steady. The videos of this album were brilliant too. The lead single remains probably her best video and "Susan" had her working with rappers long before Carey.
The Japanese version of the album had a "Taking a Chance" and "Higher Love" as bonus tracks and the former is great. Another song many don't know of is the outtake "Dancing on the Smooth Edge". This is where Whitney literally tore up the vocal! She transitioned from jazzy smooth runs and deep chest voice to super high head notes and classic Whitney belts.
Mariah always had the bigger range but her operatic background made her less emotive as she relied on technique. Whitney's Gospel training gave her the ability to connect word to emotion and that's another reason she was so good.
Up until '94 Whitney was smashing live performances culminating in stealing the show at the benefits concert with Sting, Elton John and Pavarotti. Yep, she smashed Opera! After "Exhale" her voice was darker and she began to sound like an alto, that's why MLIYL was so disappointing for me. She did far better on the Just Whitney album. Live performances were bad but the studio set was much better.
Watch: Kelly Clarkson Stuns With Cover Of Whitney Houston's 'Saving All My…
Demi Lovato Gets Standing Ovation Performing Whitney Houston's 'I Will Always Love…
RIAA: Whitney Houston Makes History As 'I Will Always Love You' Certified…
Watch: Kelly Clarkson Stuns With Cover Of Whitney Houston's 'Saving All My Love For You'
Kelly Clarkson is back to covering some of music's biggest stars.
This time around, she stuns with a cover of Whitney Houston's classic, 'Saving All My Love For You.'
She delivered the performance during her "Kellyoke" segment on 'The Kelly Clarkson Show.' While… Read More
Demi Lovato is no stranger to garnering praise aplenty for soaring vocal displays over their nearly 20-year career, so it came as no surprise the GRAMMY nominee was on the receiving end of acclaim after rendering an emotional rendition of Whitney Houston's timeless take on the… Read More


Circuit Judge David Nibert has sentenced William Seth Denmark of Beech to the Anthony Center for 6 months-2 years, related to felony charges of child concealment.
Initial charges against Denmark of kidnapping were dropped.
Calhoun County Sheriff Carl Ballengee charged Denmark with the kidnapping of three juvenile girls, ages 16, 14, and 10 in October, 2007.
A 19-year-old Calhoun teenager John McCullough of Orma was also arrested on three counts of kidnapping.
The criminal complaint says Denmark and McCullough allegedly refused to release the females after being in their custody for about 12 hours.
Sheriff Ballengee said the girls were missing from about 3 p.m. until about 3 a.m., their absence being reported by the parents.
Ballengee discovered the individuals on Walker Road where "The juvenile victims stated that Denmark and McCullough had provided them alcohol ... and they were not allowed to leave Denmark's vehicle."
The sheriff said "Numerous times they asked to be set free to go home and Denmark refused ... because police were after him and he did not want to get caught and go to jail."
- Shelby Davis, after completing Anthony Center, placed on probation.
- Dennis Cottrill, probation has been revoked, will be sentenced on April 6.
- Kenneth Rush, sexual assault charges, receiving competency hearing.
- Danny and Barbara Walker, pled guilty to possession of controlled substance and placed on probation.


text:
Q: Reading a file into an arraylist of multiple objects java So this is my main class, am basically trying to read from a txt file a list of items and am trying to store them in an arraylist of multiple objects but for some reason I keep getting an inputmissmatch error if I tried to have multiple lines in the txt file and multiple objects, however let's say I have a txt  that has one line & I add one object to the list, it works perfectly fine
public static void main(String[] args) throws FileNotFoundException, IOException {

                //    FileReader fr = new FileReader("Item2.txt");
                Scanner file = new Scanner(new File("item.txt"));
                ArrayList<Item> List = new ArrayList<Item>();

                   List.add(new ClothingItem(file.next().charAt(0), file.next(), file.next(), file.nextInt(), file.next(), file.nextDouble(), file.nextInt()));
                    List.add(new ClothingItem(file.next().charAt(0), file.next(), file.next(), file.nextInt(), file.next(), file.nextDouble(), file.nextInt()));
                    List.add(new Computer(file.nextInt(), file.next(), file.nextDouble(), file.nextInt(), file.next(), file.next(), file.next(), file.nextDouble(), file.nextDouble()));
                    List.add(new FoodItem(file.nextDouble(), file.next(), file.nextInt(), file.next(), file.nextDouble(), file.nextInt()));
                    List.add(new FoodItem(file.nextDouble(), file.next(), file.nextInt(), file.next(), file.nextDouble(), file.nextInt()));
                    List.add(new Beverages(file.nextInt(), file.next(), file.nextInt(), file.next(), file.nextDouble(), file.nextInt()));

                ClothingItem[] list1 = List.toArray(new ClothingItem[List.size()]);
                ClothingItem[] list2 = List.toArray(new ClothingItem[List.size()]);
                Computer[] list3 = List.toArray(new Computer[List.size()]);
                FoodItem[] list4 = List.toArray(new FoodItem[List.size()]);
                FoodItem[] list5 = List.toArray(new FoodItem[List.size()]);
                Beverages[] list6 = List.toArray(new Beverages[List.size()]);

                for (Item A : List) {
                    System.out.println(A);
         }

            }
        }

File that am trying to read
M RED MALE 1001 Shirt 19.0 100
L BLACK FEMALE 1002 Shoes 49.0 25
1003 Thinkpad 1050.0 2 Samsung i710610U SMEF 8.0 512.0
5.0 NotFresh 1004 GreenPeas 3.0 117
5.0 Fresh 1005 Lettuce 2.0 90
1006 NotAlcholic 1981 Cola 3.0 50

A: This error occur when you use
file.nextInt() or file.nextDouble()

on a next value which is not an integer nor double.
In the lines of your code a string ends up with nextInt() or nextDouble() which causes the error.
You made 2 mistakes.
1)The first mistake is that you have 1 line that does not correspond to your data.
        List.add(new Computer(file.nextInt(), file.next(), file.nextDouble(), file.nextInt(), file.next(), file.next(), file.next(), file.nextDouble(), file.nextDouble()));

This is the fourth line in your loop. This line causes conflictions as it was design to run with the third line from your text file, but at this line of code we  using it on the fourth line from your text file. Just comment it out or remove it.
2)The last mistake is in the last 3 lines of your code. You use the the method:
file.hasNext()
hasNext returns a boolean which tells us whether there is more data after our current position, but it does not go to the next value. The cause of this mistake is for example when we call next() again we should get a string, but you called hasNext(), it does not move to the next value. So when you call nextInt we get a string as our next() value is a string.
change hasNext() to next()

Also there is no need for a while loop if you reference every value manually.
Also your while loop that prints the item values is just gonna print the object string which isn't helpful.


text:
July 13, 2021 December 31, 2021 by Eternality Tan
2002, Steven Spielberg, USA
This underrated Philip K. Dick adaptation is an absolute sci-fi gem by Spielberg and a legitimate contender for the most entertaining, cerebral sci-fi thriller of the 2000s decade.
Review #578
Dir. Steven Spielberg
2002 | USA | Sci-Fi/Mystery/Thriller | 145 mins | 2.39:1 | English & Swedish
NC16 (passed clean) for violence, brief language, some sexuality and drug content
Cast: Tom Cruise, Colin Farrell, Samantha Morton, Max von Sydow
Plot: In the future, a group of psychics have visions that allow crimes to be prevented before they can occur. But when one man believes he is wrongly accused, he must find out a way to prove his innocence.
Awards: Nom. for 1 Oscar – Best Sound Editing
Distributor: Fox
Subject Matter: Moderate – Crime, Morality, Systems
Narrative Style: Complex
Pace: Normal
Audience Type: Slightly Mainstream
Viewed: DVD
First Published: 1 Jan 2011
Based on a short story by the great sci-fi author Philip K. Dick, whose work inspired popular films such as Ridley Scott's Blade Runner (1982), and Paul Verhoeven's Total Recall (1990), the film adaptation of Minority Report is a cause for celebration for fans of the genre.
Directed by Steven Spielberg and released in 2002, Minority Report may be the most entertaining, cerebral sci-fi thriller of the 2000s decade.
For a Spielberg picture, Minority Report is quite underrated; it is not very often cited among "Spielberg's Popcorn Greats" such as Jaws (1975), Raiders of the Lost Ark (1981), and Jurassic Park (1993), and I feel that needs to change now.
Minority Report is set in the future in which criminals are caught before they commit their crimes. A special Pre-Crime unit headed by John Anderton (Tom Cruise) takes advantage of three Pre-Cogs who have the ability to 'see' a crime, and identify its perpetrator and victim before the crime is committed.
This has effectively prevented criminals acts from happening for years…until one day the system accuses John of murdering a stranger called Leo Crow. Determined to prove his innocence, John has to escape from the clutches of Pre-Crime officers hunting for him while trying to find answers to his predicament.
First, Spielberg's direction is top-notch. He sets up the story and introduces how Pre-Crime works in a lengthy prologue that is an exciting prelude of what is to come. With an extremely potent blend of quick cuts and kinetic movements within shots, the film is fast-paced, engaging, and in some parts, very tense.
"In the land of the blind, the one-eyed man is king."
One sequence, in which electronic spiders scurry about in an apartment to find John, is vintage Spielberg. In an elaborate long take in this sequence, the camera rises above a huge set consisting of rooms and walls as it tracks in and out as if spying on its occupants.
In addition, towards the end of the above-mentioned sequence, there is a bathtub scene that gives Minority Report its most suspenseful peak. In the canon of Spielberg moments, this should be considered one of them.
Interestingly, the approach is quite similar to the 'alien pod in the basement' sequence in War of the Worlds (2005), another underrated Spielberg sci-fi thriller. Cruise, who appears in both films, gives a decent performance here, and he is ably backed up by a strong supporting cast consisting of Colin Farrell, Max von Sydow, and Samantha Morton.
Spielberg keeps audiences on their toes by structuring the film like a mystery. There is a sinister truth, in fact multiple truths, that await Cruise's character (and the viewer). And the payoff is beyond expectations.
Twisting and turning like a writhing snake, Minority Report haunts as much as it entertains. It is Spielberg at his best, and for those who deride Hollywood for their infamous ability to churn out brainless popcorn flicks, here is one very excellent example of the contrary.
← Previous Post Ali (2001)
Next Post → Beauty and the Beast (1946)
Looper (2012) | Eternality Tan July 13, 2021 at 11:37 pm
[…] gleefully identifying these overt references (Dark City, 1998; Terminator 2: Judgment Day, 1991; Minority Report, 2002, anyone?), but how these references together constitute a unique kind of cinematic […]
Kingdom of the Crystal Skull, The (2008) | Eternality Tan July 25, 2021 at 11:14 pm
[…] Spielberg, Steven […]
Catch Me If You Can (2002) | Eternality Tan February 10, 2022 at 10:16 pm
[…] the same year that he released one of the finest sci-fi movies of the 2000s decade in Minority Report (2002), Steven Spielberg also made a decidedly lighter picture—Catch Me If You […]


text:
MLB Game Recap: San Diego Padres (10) vs. Pittsburgh Pirates (11) - 6/23/2019
Posted: Sunday, June 23, 2019 by CapperTekSEO
San Diego Padres [10]
Pittsburgh Pirates [11]
29 PICKS AVAILABLE
Pirates take aim at Padres in quest of rare sweepFLMYou have to go back to the second week of the season to find a series sweep of at least three games by the Pittsburgh Pirates. They'll go for another one Sunday against the visiting San Diego Padres after winning the first two games of a weekend set.Pittsburgh has won three in a row and five of seven, but there's no overconfidence. After all, before that, the Pirates lost seven in a row."Go home, enjoy it, wash it off, then come to work (Sunday)," Pittsburgh second baseman Adam Frazier, whose two-run double in the eighth inning provided the winning runs Saturday, told AT&T Sportsnet.Both games in the series have been close - 2-1 Friday, then a 6-3 game that was tied 2-2 going into the eighth on Saturday.The Pirates have tamed a potent Padres offense through two games, holding them to four runs and 11 hits. San Diego had won four straight coming in."They've really turned it on the past two days," Frazier said of Pittsburgh's pitching. "A lot of good hitters on their side. It's a testament to our guys doing what they're doing. We're just trying to come up with a couple runs and come out on top." San Diego's Joey Lucchesi (6-4, 3.74 ERA) is scheduled to face Pittsburgh's Steven Brault (3-1, 4.40 ERA) in the series finale.Lucchesi, in his second big league season, has become more and more reliable. He has pitched at least six innings in five of his past six starts.In his last start Monday, he pitched seven shutout innings, allowing just three hits with five strikeouts in the Padres' 2-0 win over Milwaukee."My hard work's paying off," said Lucchesi, who has changed his workout routine and added a cut fastball to his repertoire."The intent is just better," San Diego pitching coach Darren Balsley told MLB.com. "He knows what makes him pitch well. He knows the major league game, major league hitters. He's just developed more confidence. A lot of it is credit to the hard work he put in during the offseason and now every day during the season." Lucchesi is 1-1 with a 1.50 ERA in two career starts against Pittsburgh.Brault has struggled most of his time with the Pirates to earn a spot in the rotation - or even a spot on the big league team.But now, with Pittsburgh dealing with injuries to starters, he has come through.Over his past four starts, totaling 21 2/3 innings, he has given up four runs and has a 1.25 ERA.His last time out, Brault pitched six innings of a Pittsburgh shutout win June 14 at Miami that ended the team's seven-game losing streak. He added two hits, including a double, and appreciates the offense the Pirates have provided even while the pitchers have struggled at times."It's awesome. We've been seeing it happen this entire year," said Brault, enough of an athlete that he was used as a pinch-runner and scored in Friday's game."When we were on that losing streak, let's be honest, it was mostly the pitching's fault. We weren't able to get ahead early, we were falling behind, so our guys were always having to come back. They've been scoring runs. Our offense has been incredible." Brault has never started against San Diego. He is 1-0 with a 5.68 ERA in four career relief appearances.--Field Level Media
Newman's walk caps off Pittsburgh rallyPITTSBURGH Kevin Newman walked with the bases loaded in the 11th inning to cap a four-run rally as the Pittsburgh Pirates beat the San Diego Padres 11-10 on Sunday.The Pirates rallied from three-run deficits in the ninth and 11th innings to earn the series weep and improve their winning streak to five.Jacob Stallings hit a pitch-hit, two-run single to tie the game at 10. The Pirates then loaded the bases before Newman's sharp eye ended the four-plus hour affair. Francisco Liriano (2-1) earned the win, while Matt Wisler, who entered the game with one out in the 11th, took the loss.After San Diego led 7-4 following an eighth-inning two-run single from Manny Machado, closer Kirby Yates - who was previously 26 for 26 in save situations - allowed three runs on three hits and a walk.With runners on second and third, Newman started the comeback with an RBI single off Yates that scored Diaz. Bryan Reynolds drove in Adam Frazier, and Melky Cabrera scored Newman on a dribbling ground-out to the pitcher two batters later to force the extras.Pirates starter Steven Brault lasted five innings, giving up three runs (three earned) and six hits. Joey Lucchesi gave up four runs (four earned) and six hits on 86 pitches (56 strikes) over five innings.Fernando Tatis Jr. drove in a pair of RBIs and scored three runs. He tied the game in the sixth inning with an RBI single off Clay Holmes, and later scored on a two-out RBI single to right from Eric Hosmer as the Padres pulled ahead 5-4.Tatis Jr. went 3 for 4 with two walks, but it was the rookie's legs that put the Padres on the board first. After reaching third, Tatis Jr. tagged up on Hunter Renfroe's pop-fly at the edge of the outfield grass near second base, and snuck his left arm just past Elias Diaz's outstretched glove to swipe home plate. He was initially ruled out, but the play was overturned after an official review.Newman extended his hit streak to 14 games.TRAINER'S ROOMPirates: General Manager Neal Huntington told reporters before the game that Francisco Cervelli ''could very well'' begin a minor league rehab assignment next week. Cervelli has not been medically cleared from the concussion he suffered on June 21.UP NEXTPirates: RHP Trevor Williams (2-1, 4.12 ERA) will start on Tuesday as the Pirates begin a three-game series with the AL West-leading Astros.Padres: LHP Logan Allen (1-0, 0.00 ERA), coming off seven scoreless innings in his first major league start, will take the mound against Baltimore on Tuesday to begin a two-game set.
MLB Game Recap: San Diego Padres (10) vs. Pittsburgh Pirates (11) - Date: 6/23/2019 Newman's walk caps off Pittsburgh rallyPITTSBURGH Kevin Newman walked with the bases loaded in the 11th inning to cap a four-run rally as the Pittsburgh Pirates beat the San Diego Padres 11-10 on Sunday.The Pirates rallied from three-run deficits in the ninth and 11th innings to earn the series weep and improve their winning streak to five.Jacob Stallings hit a pitch-hit, two-run single to tie the game at 10. Sports Handicapping Monitor. The Pirates then loaded the bases before Newman's sharp eye ended the four-plus hour affair. Francisco Liriano (2-1) earned the win, while Matt Wisler, who entered the game with one out in the 11th, took the loss.After San Diego led 7-4 following an eighth-inning two-run single from Manny Machado, closer Kirby Yates - who was previously 26 for 26 in save situations - allowed three runs on three hits and a walk.With runners on second and third, Newman started the comeback with an RBI single off Yates that scored Diaz. Bryan Reynolds drove in Adam Frazier, and Melky Cabrera scored Newman on a dribbling ground-out to the pitcher two batters later to force the extras.Pirates starter Steven Brault lasted five innings, giving up three runs (three earned) and six hits. Joey Lucchesi gave up four runs (four earned) and six hits on 86 pitches (56 strikes) over five innings.Fernando Tatis Jr. drove in a pair of RBIs and scored three runs. He tied the game in the sixth inning with an RBI single off Clay Holmes, and later scored on a two-out RBI single to right from Eric Hosmer as the Padres pulled ahead 5-4.Tatis Jr. went 3 for 4 with two walks, but it was the rookie's legs that put the Padres on the board first. After reaching third, Tatis Jr. tagged up on Hunter Renfroe's pop-fly at the edge of the outfield grass near second base, and snuck his left arm just past Elias Diaz's outstretched glove to swipe home plate. He was initially ruled out, but the play was overturned after an official review.Newman extended his hit streak to 14 games.TRAINER'S ROOMPirates: General Manager Neal Huntington told reporters before the game that Francisco Cervelli ''could very well'' begin a minor league rehab assignment next week. Cervelli has not been medically cleared from the concussion he suffered on June 21.UP NEXTPirates: RHP Trevor Williams (2-1, 4.12 ERA) will start on Tuesday as the Pirates begin a three-game series with the AL West-leading Astros.Padres: LHP Logan Allen (1-0, 0.00 ERA), coming off seven scoreless innings in his first major league start, will take the mound against Baltimore on Tuesday to begin a two-game set.
Server Status: All Systems Operational | | | | | | | | | | | | |
Server Time: EST (7/15/2019) | | | | | | | | | | | | | | |
Your IP Address: 18.209.104.7 | | | | | | | | | | | | | | | | | | | | | | | |