text:
package me.mervin.project.asRank.evolution;
import java.io.BufferedReader;
import java.io.File;
import java.io.FileNotFoundException;
import java.io.FileReader;
import java.io.IOException;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.HashSet;
import java.util.LinkedHashMap;
import java.util.LinkedList;
import java.util.List;
import java.util.Map;
import java.util.Map.Entry;
import java.util.Set;
import java.util.SortedSet;
import java.util.TreeMap;
import java.util.TreeSet;
import java.util.concurrent.ExecutorService;
import java.util.concurrent.Executors;

import org.w3c.dom.NodeList;

import me.mervin.core.Global.NumberType;
import me.mervin.util.D;
import me.mervin.util.FileTool;
import me.mervin.util.Pair;
import me.mervin.util.PairList;

 /**
 *   Statistics.java
 *
 *  @author Mervin.Wong  DateTime 2014年3月25日 下午7:37:19
 *  @version 0.4.0
 */
public class Statistics {

	FileTool ft = new FileTool();

	public static void main(String[] args){
		Statistics s = new Statistics();
//		s.treeHeight();
//		s.treeLevelAndBranch();
//		s.levelAndCore();

//		s.levelAndRate();
//		s.p2pDegree();
//		s.p2pLevel();
		s.p2pDiff();
//		s.p2pConnection();
//		s.p2pBetweenness();
		///s.PathInfo();
		//s.treeHeight();
	}

	/*
	 * 树的高度,时序
	 */
	public void treeHeight(){
		String srcDir = "E:\\data\\as-rel-res\\";
		String srcFile = null;
		String srcFile1 = null;
		String dstDir = "E:\\data\\as-rel-stat\\";
		String date = null;
		Thread t = null;
		List<LinkedList<String>> str = new LinkedList<LinkedList<String>>();
		for(int i = 0; i < 34; i++){
			LinkedList<String> l = new LinkedList<String>();
			str.add(l);
		}
		SortedSet<Integer> set = null;
		SortedSet<Integer> h = null;
		Set<Number> allCoreNodeSet = ft.read2Set(dstDir+"all-core-node.txt");
		Map<Number, Number> hDist = null;
		Map<Number, Number> maxMap = new HashMap<Number, Number>();
		Map<Number, Number> minMap = new HashMap<Number, Number>();
		Map<Number, Number> avgMap = new HashMap<Number, Number>();
		Map<Number, LinkedList<Number>> nodeLifeMap = new HashMap<Number, LinkedList<Number>>();
		for(Number node:allCoreNodeSet){
			LinkedList<Number> l = new LinkedList<Number>();
			nodeLifeMap.put(node, l);
		}
		int fileNum = 0;
		StringBuffer sb4  = new StringBuffer();
		for(int y = 1998; y <= 2013; y++){
			for(int m = 1; m <= 12; m+=1){
				if(m < 10){
					date = y+"0"+m+"01";
				}else{
					date = y+""+m+"01";
				}
				D.p(date);
				srcFile = srcDir+date+"\\h.txt";

				if(ft.isExist(srcFile)){
					fileNum++;
					String line = null;
					String[] lineArr = null;
					set = new TreeSet<Integer>();
					h = new TreeSet<Integer>();
					hDist = new HashMap<Number, Number>();
					try {
						BufferedReader reader = new BufferedReader(new FileReader(srcFile));
						//BufferedReader reader1 = new BufferedReader(new FileReader(dstFile));
						StringBuffer sb = new StringBuffer();
						int j = 34, i = 0;
						int count = 0, max = 0, min = Integer.MAX_VALUE, sum = 0;
						double avg = 0;
						Map<Number, Number> oneRecord = new HashMap<Number, Number>();
						while((line = reader.readLine())!= null){
//							D.p(line);
//							D.p(lineArr[0]);
							lineArr = line.split("\\s+");
							//allCoreNodeSet.add(Integer.parseInt(lineArr[0]));
							if(!set.contains(Integer.parseInt(lineArr[0]))){
								set.add(Integer.parseInt(lineArr[0]));
							}else{
								D.p("###"+date+"###");
								System.exit(0);
							}
//							D.p(line);
							//lineArr = line.split("\\s+");
//							/D.p(lineArr[1]);
//							D.p(i);
							//str.get(i).add(lineArr[1]);
							int height = Integer.parseInt(lineArr[1]);
							if(hDist.containsKey(height)){
								hDist.put(height, hDist.get(height).intValue()+1);
							}else{
								hDist.put(height, 1);
							}
							h.add(height);
							count++;

							if(height > max){
								max = height;
							}
							if(height < min){
								min = height;
							}
							sum += height;
							oneRecord.put(Integer.parseInt(lineArr[0]), height);
						}//while

						for(Number node2:allCoreNodeSet ){
							if(oneRecord.containsKey(node2)){
								nodeLifeMap.get(node2).add(oneRecord.get(node2));
								if((1 <= oneRecord.get(node2).intValue() && oneRecord.get(node2).intValue() <= 4)){
									sb4.append(node2).append("\r\n");
								}
							}else{
								nodeLifeMap.get(node2).add(0);
							}
						}

						avg = (double)sum/count;
						maxMap.put(fileNum, max);
						avgMap.put(fileNum, avg);
						minMap.put(fileNum, min);
						for(Integer n:h){
							str.get(i).add(n+"");
							i++;
						}
						for(;i < j; i++){
							str.get(i).add("#");
						}
//						D.p(set);
						for(Number he:hDist.keySet()){
							hDist.put(he, (double)hDist.get(he).doubleValue()/count);
						}
						String dstFile = dstDir+"\\height\\"+date+"-dist.txt";
						ft.write(hDist, dstFile);

					} catch (FileNotFoundException e) {
						// TODO 自动生成的 catch 块
						e.printStackTrace();
					} catch (IOException e) {
						// TODO 自动生成的 catch 块
						e.printStackTrace();
					}

				}else{

				}
				D.p("###################");
			}
		}//for

		String dstFile = dstDir+"\\height\\"+date+"-max.txt";
		D.p(maxMap);
		ft.write(maxMap, dstFile);
		 dstFile = dstDir+"\\height\\"+date+"-min.txt";
		ft.write(minMap, dstFile);
		 dstFile = dstDir+"\\height\\"+date+"-avg.txt";
		ft.write(avgMap, dstFile);
		StringBuffer sb = new StringBuffer();
		for(LinkedList<String> l:str){
			for(String s:l){
				if(!s.equals("#")){
					sb.append(s).append("\t");
				}else{
					sb.append("#").append("\t");
				}
			}//for
			sb.append("\r\n");
		}
		 dstFile = dstDir+"height_1.txt";
//		 D.p(allCoreNodeSet);
		 D.p(sb4);
/*		 for(Entry<Number, LinkedList<Number>> e:nodeLifeMap.entrySet()){
			 System.out.print(e.getKey()+"\t");
			 for(Number temp:e.getValue()){
				 System.out.print(temp+"\t");
			 }
			 System.out.print("\r\n");
		 }*/
		ft.write(sb, dstFile);
	}

	/*
	 * 节点的分叉和节点所在的层次
	 */

	public void treeLevelAndBranch(){
		String srcDir = "E:\\data\\as-rel-res\\";
		String srcFile1 = null;
		String srcFile2 = null;
		String dstDir = "E:\\data\\as-rel-stat\\branch-level\\";
		String dstFile = null;
		String date = null;
		Thread t = null;
		Set<Number> set = null;
		ArrayList<String> array = new ArrayList<String>();
		for(int y = 1998; y <= 2013; y++){
			for(int m = 2; m <= 2; m++){
				if(m < 10){
					date = y+"0"+m+"01";
				}else{
					date = y+""+m+"01";
				}
				D.p(date);
				int rootId = 701;
//				int rootId = 1239;
				srcFile1 = srcDir+date+"\\"+rootId+"-children.txt";
				srcFile2 = srcDir+date+"\\"+rootId+"-level.txt";

				if(ft.isExist(srcFile1)){
					Map<Number, Number> children = ft.read2Map(srcFile1);
					Map<Number, Number> level = ft.read2Map(srcFile2);

					PairList<Number, Number> pair = new PairList<Number, Number>();
					for(Number nodeId:children.keySet()){
						pair.add(level.get(nodeId), children.get(nodeId));
					}

					SortedSet<Number> levelSet = new TreeSet<Number>();
					Map<Number, SortedSet<Number>> levelBranchMap = new HashMap<Number, SortedSet<Number>>();
					Number l, r;
					for(int i = 0; i < pair.size(); i++){
						l = pair.getL(i);
						r = pair.getR(i);
						/*
						 * 包括叶子节点
						 */
						if(levelBranchMap.containsKey(l)){
							levelBranchMap.get(l).add(r);
						}else{
							levelSet = new TreeSet<Number>();
							levelSet.add(r);
							levelBranchMap.put(l, levelSet);
						}
					}
					int sum = 0, count = 0, max = 0, min = 0;
					StringBuffer sb1 = new StringBuffer();
					StringBuffer sb2 = new StringBuffer();
					for(Number temp:levelBranchMap.keySet()){
						levelSet = levelBranchMap.get(temp);
						sb1.append(temp).append("\t").append(levelSet.last()).append("\r\n");
						sum = 0;
						for(Number t2:levelSet){
							 sum += t2.intValue();
						}
						sb2.append(temp).append("\t").append((double)sum/levelSet.size()).append("\r\n");
					}

					dstFile = dstDir+"branch\\max\\"+date+"-"+rootId+"-max.txt";
					ft.write(sb1, dstFile);
					dstFile = dstDir+"branch\\avg\\"+date+"-"+rootId+"-avg.txt";
					ft.write(sb2, dstFile);
					dstFile = dstDir+rootId+"\\"+date+"-"+rootId+"-level-branch.txt";
					//ft.write(pair, dstFile);
				}else{

				}

				D.p("###################");
			}
		}//for
	}

	/*
	 * 节点的层次和k-核的关系
	 *
	 */

	public void levelAndCore(){
		String date = "20130601";
		String srcDir = "E:\\data\\";
		String srcFile = null;
		//date的网络k-core
		srcFile = srcDir+"\\as-rel-core\\"+date+"-core.txt";
		Map<Number,Number> coreMap = ft.read2Map(srcFile);

		PairList<Number, Number> list = new PairList<Number, Number>();
		String filter = "level";
		File[] fileArr = ft.fileArr(srcDir+"\\as-rel-res\\"+date+"\\", filter);
		for (int i = 0; i < fileArr.length; i++) {
			//D.p(fileArr[i].getAbsoluteFile());
			Map<Number, Number> levelMap = ft.read2Map(fileArr[i].getAbsolutePath());
			for(Number nodeId:levelMap.keySet()){
				list.add(levelMap.get(nodeId), coreMap.get(nodeId));
			}
		}
		String dstFile = srcDir+"as-rel-stat\\core-level\\"+date+"-core-level.txt";
		ft.write(list, dstFile);
	}

	/*
	 * 各层节点所占比例
	 */
	public void levelAndRate(){
		String srcDir = "E:\\data\\as-rel-res\\";
		String srcFile = null;
		String dstFile = null;
//		int rootId = 701;
//		int rootId = 1239;
//		int rootId = 1239;
//		int rootId = 3561;
		int rootId = 7018;
		Map<Number, Number> levelCount = null;
		String date = null;
		int temp = 0;
		for(int y = 1998; y <= 2013; y++){

			for(int m = 1; m<=12; m++){
				if(m < 10){
					date = y+"0"+m+"01";
				}else{
					date = y+""+m+"01";
				}
				srcFile = srcDir+date+"\\"+rootId+"-level.txt";
				if(ft.isExist(srcFile)){
					levelCount = new HashMap<Number, Number>();
					Map<Number, Number> levelMap = ft.read2Map(srcFile);
					for(Number nodeId:levelMap.keySet()){
						temp = levelMap.get(nodeId).intValue();
						if(levelCount.containsKey(temp)){
							levelCount.put(temp, levelCount.get(temp).intValue()+1);
						}else{
							levelCount.put(temp, 1);
						}
					}
					for(Number n1:levelCount.keySet()){
						levelCount.put(n1, (double)levelCount.get(n1).doubleValue()/levelMap.size());
					}
					dstFile = "E:\\data\\as-rel-stat\\level-rate\\"+rootId+"\\"+date+"-"+rootId+".txt";
					ft.write(levelCount, dstFile);
				}
			}
		}

	}

	/*
	 * P2P连接偏好
	 */
	public void p2pDegree(){
		String srcDir = "E:\\data\\";
		String srcFile = null;
		String dstFile = null;
		Map<Number, Number> levelCount = null;
		String date = null;
		int temp = 0;

		PairList<Number, Number> pair = null;
		Map<Number, Number> inDegreeMap = null;
		Map<Number, Number> outDegreeMap = null;
		Map<Number, Number> degreeMap = null;

		StringBuffer sb =null;
		StringBuffer sb1 =null;
		Number l, r;
		for(int y = 1998; y <= 2013; y++){

			for(int m = 1; m<=12; m++){
				if(m < 10){
					date = y+"0"+m+"01";
				}else{
					date = y+""+m+"01";
				}
				srcFile = srcDir+"\\as-rel-p2p\\"+date+"-p2p.txt";
				if(ft.isExist(srcFile)){
					sb = new StringBuffer();
					sb1 = new StringBuffer();
					pair = ft.read2PairList(srcFile, NumberType.INTEGER);
					srcFile = srcDir+"\\as-rel-degree\\"+date+"-inDegree.txt";
					inDegreeMap = ft.read2Map(srcFile);
					srcFile = srcDir+"\\as-rel-degree\\"+date+"-outDegree.txt";
					outDegreeMap = ft.read2Map(srcFile);
					srcFile = srcDir+"\\as-rel-degree\\"+date+"-degree.txt";
					degreeMap = ft.read2Map(srcFile);

					for(int i = 0; i < pair.size(); i++){
						l = pair.getL(i);
						r = pair.getR(i);
						sb.append(inDegreeMap.get(l)).append("\t").append(outDegreeMap.get(l)).append("\t");
						sb.append(inDegreeMap.get(r)).append("\t").append(outDegreeMap.get(r)).append("\r\n");
						sb1.append(degreeMap.get(l)).append("\t").append(degreeMap.get(r)).append("\r\n");

					}
					dstFile = srcDir+"\\as-rel-p2p-pre\\"+date+".txt";
//					ft.write(sb, dstFile);
					dstFile = srcDir+"\\as-rel-p2p-pre\\"+date+"-degree.txt";
					ft.write(sb1, dstFile);
				}

			}
		}
	}

	public void p2pLevel(){
		String srcDir = "E:\\data\\";
		String srcFile = null;
		String dstFile = null;
		Map<Number, Number> levelCount = null;
		String date = null;
		int temp = 0;

		PairList<Number, Number> pair = null;
		Map<Number, Number> levelMap = null;

		StringBuffer sb =null;
		Number l, r;
		for(int y = 1998; y <= 2013; y++){

			for(int m = 1; m<=12; m++){
				if(m < 10){
					date = y+"0"+m+"01";
				}else{
					date = y+""+m+"01";
				}
				srcFile = srcDir+"\\as-rel-p2p\\"+date+"-p2p.txt";
				if(ft.isExist(srcFile)){
					sb = new StringBuffer();
					levelMap = new HashMap<Number, Number>();
					pair = ft.read2PairList(srcFile, NumberType.INTEGER);

					srcFile = srcDir+"\\as-rel-res\\"+date+"\\";
					File[] fileArr = ft.fileArr(srcFile, "level");
					for (int i = 0; i < fileArr.length; i++) {
						levelMap.putAll(ft.read2Map(fileArr[i].getAbsolutePath()));
					}

					for(int i = 0; i < pair.size(); i++){
						l = pair.getL(i);
						r = pair.getR(i);
						if(levelMap.get(l) != null && levelMap.get(r)!= null){
							sb.append(levelMap.get(l)).append("\t").append(levelMap.get(r)).append("\r\n");
						}

					}
					dstFile = srcDir+"\\as-rel-p2p-pre\\"+date+"-level.txt";
					ft.write(sb, dstFile);
				}

			}
		}
	}

	public void p2pDiff(){
		String srcDir = "E:\\data\\as-rel-p2p-pre\\";
		FileTool ft = new FileTool();
		for(int y = 1998; y <= 2013; y++){
			for(int m = 1; m <= 12; m++){
				if(m != 2 ){
					continue;
				}
				String date = null;
				if(m < 10){
					date = y + "0"+m+"01";
				}else{
					date = y +""+m+"01";
				}
				Map<Number, Number> map = new TreeMap<Number,Number>();
				String srcFile = srcDir+date+"-level.txt";
				if(!ft.isExist(srcFile)){
					continue;
				}
				PairList<Number, Number> pairList = ft.read2PairList(srcFile, NumberType.INTEGER);
				Number l, r ;
				int count = 0;
				for(int i = 0; i < pairList.size(); i++){
					count++;
					l = pairList.getL(i);
					r = pairList.getR(i);
					int t = Math.abs(l.intValue()-r.intValue());
					if(map.containsKey(t)){
						map.put(t, map.get(t).intValue()+1);
					}else{
						map.put(t, 1);
					}
				}

				D.p(date);
				String dstFile = srcDir+date+"-diff.txt";
				ft.write(map, dstFile);
				int sum = 0;
				StringBuffer sb = new StringBuffer();
				for(Number t1:map.keySet()){
					int c = map.get(t1).intValue();
					sum += c;
					map.put(t1, (double)c/count);
					sb.append(t1).append("\t").append((double)sum/count).append("\r\n");
				}
				dstFile = srcDir+"diff\\"+date+"-diff-rate.txt";
				ft.write(map, dstFile);
				dstFile = srcDir+"diff\\"+date+"-diff-acc-rate.txt";
				ft.write(sb, dstFile);
			}
		}
	}

	public void p2pConnection(){
		String srcDir = "E:\\data\\";
		FileTool ft = new FileTool();
		StringBuffer sb = new StringBuffer();
		int fileNum = 0;
		for(int y = 1998; y <= 2013; y++){
			for(int m = 1; m <= 12; m++){
				if(m != 2 ){
					continue;
				}
				String date = null;
				if(m < 10){
					date = y + "0"+m+"01";
				}else{
					date = y +""+m+"01";
				}
				Map<Number, Number> map = new HashMap<Number,Number>();
				String srcFile = srcDir+"\\as-rel-p2p\\"+date+"-p2p.txt";
				if(!ft.isExist(srcFile)){
					continue;
				}
				PairList<Number, Number> pairList = ft.read2PairList(srcFile, NumberType.INTEGER);

				Map<Number, Set<Number>> treeMap = new HashMap<Number, Set<Number>>();
				srcFile = srcDir+"\\as-rel-res\\"+date+"\\";
				File[] fileArr = ft.fileArr(srcFile, "level");
				for (Integer i = 0; i < fileArr.length; i++) {
					srcFile = fileArr[i].getAbsolutePath();
					treeMap.put(i,  ft.read2Map(srcFile).keySet());
				}

				Number l, r ;
				//p1 inter-tree
				//p2 extra-tree
				int p1 = 0, p2 =0;
				boolean flag = false;
				for(int i = 0; i < pairList.size(); i++){
					l = pairList.getL(i);
					r = pairList.getR(i);

					for(Set<Number> tempSet:treeMap.values()){
						if(tempSet.contains(l) && tempSet.contains(r)){
							p1++;
							flag = true;
							break;
						}
					}

					if(!flag){
						p2++;
					}

				}//for
				fileNum++;
				sb.append(fileNum).append("\t").append((double)p1/(p2+p1)).append("\t").append((double)p2/(p2+p1)).append("\r\n");
			}
		}//for
		String dstFile = srcDir+"as-rel-stat\\p2p-rate.txt";
		ft.write(sb, dstFile);
	}

	public void p2pBetweenness(){

		String prefix = "c2p";

		String srcFile = "./data/p2p/201308-"+prefix+".txt";
		String nodeBetweennessFile = "./data/p2p/201308-node-betweenness.txt";
		String nodeTransitDegreeFile = "./data/p2p/201308-node-transit-degree.txt";
		String edgeBetweennessFile = "./data/p2p/201308-edge-betweenness.txt";
		String coreNodeFile = "./data/p2p/201308-clique.txt";

		String dstFile = null;
		FileTool ft = new FileTool();
		Set<Pair<Number>> edgeSet = ft.read2SetPair(srcFile, NumberType.INTEGER);
		Map<Number, Number> nodeBetweennessMap = ft.read2Map(nodeBetweennessFile, NumberType.INTEGER, NumberType.DOUBLE);
		Map<Number, Number> nodeTransitDegreeMap = ft.read2Map(nodeTransitDegreeFile, NumberType.INTEGER, NumberType.DOUBLE);
		Map<Pair<Number>, Number> edgeBetweennessMap = ft.read2MapPair(edgeBetweennessFile, NumberType.INTEGER);
		Set<Number> coreNodeSet = ft.read2Set(coreNodeFile);

		StringBuffer sb = new StringBuffer();
		StringBuffer sb1 = new StringBuffer();
		StringBuffer sb2 = new StringBuffer();
		StringBuffer sb3 = new StringBuffer();
		Number l = null;
		Number r = null;
		for(Pair<Number> p:edgeSet){
			l = p.getL();
			r = p.getR();
			if(edgeBetweennessMap.get(p) != null){
				double l2 = 0;
				double l3 = 0;
				if(nodeBetweennessMap.get(l) != null){
					l2 = nodeBetweennessMap.get(l).doubleValue();
					l3 = nodeTransitDegreeMap.get(l).doubleValue();
				}
				double r2 = 0;
				double r3 = 0;

				double l4 = 0;
				double l5 = 0;
				if(nodeBetweennessMap.get(r) != null){
					r2 = nodeBetweennessMap.get(r).doubleValue();
					r3 = nodeTransitDegreeMap.get(r).doubleValue();

					l4 = l2/r2;
					if(l4 < 1){
						l4 = 1/l4;
					}
					l5 = l3/r3;
					if(l5 < 1){
						l5 = 1/l5;
					}
				}else{
					l4 = -1;
					l5 = -1;
				}

				if(coreNodeSet.contains(l) & coreNodeSet.contains(r)){
					sb1.append(l).append("\t").append(r).append("\t");
					sb1.append(edgeBetweennessMap.get(p)).append("\t");
					sb1.append(l2).append("\t");
					sb1.append(r2).append("\t");
					sb1.append(l4).append("\t");
					sb1.append(l3).append("\t");
					sb1.append(r3).append("\t");
					sb1.append(l5).append("\r\n");
				}else if(!coreNodeSet.contains(l) & !coreNodeSet.contains(r)){
					sb2.append(l).append("\t").append(r).append("\t");
					sb2.append(edgeBetweennessMap.get(p)).append("\t");
					sb2.append(l2).append("\t");
					sb2.append(r2).append("\t");
					sb2.append(l4).append("\t");
					sb2.append(l3).append("\t");
					sb2.append(r3).append("\t");
					sb2.append(l5).append("\r\n");
				}else{
					sb3.append(l).append("\t").append(r).append("\t");
					sb3.append(edgeBetweennessMap.get(p)).append("\t");
					sb3.append(l2).append("\t");
					sb3.append(r2).append("\t");
					sb3.append(l4).append("\t");
					sb3.append(l3).append("\t");
					sb3.append(r3).append("\t");
					sb3.append(l5).append("\r\n");
				}
				sb.append(l).append("\t").append(r).append("\t");
				sb.append(edgeBetweennessMap.get(p)).append("\t");
				sb.append(l2).append("\t");
				sb.append(r2).append("\t");
				sb.append(l4).append("\t");
				sb.append(l3).append("\t");
				sb.append(r3).append("\t");
				sb.append(l5).append("\r\n");
			}

		}
		dstFile = "./data/p2p/201308-"+prefix+"-all-betweenness-trasit-rate.txt";
		ft.write(sb, dstFile);
		dstFile = "./data/p2p/201308-"+prefix+"-intra-betweenness-trasit-rate.txt";
		ft.write(sb1, dstFile);
		dstFile = "./data/p2p/201308-"+prefix+"-inter-betweenness-trasit-rate.txt";
		ft.write(sb2, dstFile);
		dstFile = "./data/p2p/201308-"+prefix+"-outer-betweenness-trasit-rate.txt";
		ft.write(sb3, dstFile);

	}

	public void PathInfo(){

		String srcFile = "F:\\data\\path\\2013\\201308";
		String nodeBetweennessFile = "./data/p2p/201308-node-betweenness.txt";
		String nodeTransitDegreeFile = "./data/p2p/201308-node-transit-degree.txt";
		String edgeBetweennessFile = "./data/p2p/201308-edge-betweenness.txt";
		String p2pEdgeFile = "./data/p2p/201308-p2p.txt";
		String coreNodeFile = "./data/p2p/201308-clique.txt";

		String dstFile = null;
		String dstDir = "./data/p2p/201308/";
		FileTool ft = new FileTool();
		Set<Pair<Number>> p2pEdgeSet = ft.read2SetPair(p2pEdgeFile, NumberType.INTEGER);
		Map<Number, Number> nodeBetweennessMap = ft.read2Map(nodeBetweennessFile, NumberType.INTEGER, NumberType.DOUBLE);
		Map<Number, Number> nodeTransitDegreeMap = ft.read2Map(nodeTransitDegreeFile, NumberType.INTEGER, NumberType.DOUBLE);
		Map<Pair<Number>, Number> edgeBetweennessMap = ft.read2MapPair(edgeBetweennessFile, NumberType.INTEGER);
		Set<Number> coreNodeSet = ft.read2Set(coreNodeFile);
		Map<Integer, Integer> indexMap = new HashMap<Integer, Integer>();
		File[] fileArr = ft.fileArr(srcFile);
		StringBuffer flagStr = new StringBuffer();
		for (int i = 0; i < fileArr.length; i++) {
			String name = fileArr[i].getName();
			String line = null;
			String[] lineArr= null;
			BufferedReader reader;
			D.p(i);
			try {
				reader = new BufferedReader(new FileReader(fileArr[i]));
				StringBuffer sb = new StringBuffer();
				while((line = reader.readLine())!= null){
					boolean flag = false;
					//D.p(line);
					lineArr = line.split("\\s+");
					int l = 0;
					int r = 0;
					l = Integer.parseInt(lineArr[0]);

					sb.append(l).append("\t").append(nodeBetweennessMap.get(l)).append("\t");
					if(coreNodeSet.contains(l)){
						flagStr.append(1+"\t");
						flag = true;
						if(indexMap.containsKey(1)){
							indexMap.put(1, indexMap.get(1)+1);
						}else{
							indexMap.put(1, 1);
						}
					}
					for (int j = 1; j < lineArr.length; j++) {
						r = Integer.parseInt(lineArr[j]);
						if(coreNodeSet.contains(r)){
							flagStr.append(j+"\t");
							flag = true;
							if(indexMap.containsKey(j)){
								indexMap.put(j, indexMap.get(j)+1);
							}else{
								indexMap.put(j, 1);
							}
						}

						Pair<Number> p = new Pair<Number>(l,r, true);
						Pair<Number> p2 = new Pair<Number>(l,r);
						if(edgeBetweennessMap.containsKey(p)){
							sb.append(edgeBetweennessMap.get(p)).append("\t");
						}

						if(p2pEdgeSet.contains(p)){
							sb.append(0).append("\t");
						}else{
							sb.append(1).append("\t");
						}

						sb.append(r).append("\t");
						if(nodeBetweennessMap.containsKey(r)){
							sb.append(nodeBetweennessMap.get(r)).append("\t");
						}else{
							sb.append(0).append("\t");
						}

						l = r;
					}//for
					if(!flag){
						flagStr.append(-1);
						if(indexMap.containsKey(-1)){
							indexMap.put(-1, indexMap.get(-1)+1);
						}else{
							indexMap.put(-1, 1);
						}
					}
					flagStr.append("\r\n");
					sb.append("\r\n");
				}
				dstFile = dstDir+name;
				ft.write(sb, dstFile);
			} catch (FileNotFoundException e) {
				// TODO Auto-generated catch block
				e.printStackTrace();
			} catch (NumberFormatException e) {
				// TODO Auto-generated catch block
				e.printStackTrace();
			} catch (IOException e) {
				// TODO Auto-generated catch block
				e.printStackTrace();
			}

		}//for
		dstFile = dstDir+"index.txt";
		D.p(indexMap);
		ft.write(flagStr, dstFile);
	}

}

redpajama_set_name: RedPajamaGithub


text:
building blocks of e commerce framework
1) was created by analyzing the internal and external factors influencing the selected medical schools and demonstrates what 'building blocks' or conditions might be necessary to assist medical schools moving towards social accountability. Turnaround for Children's Building Blocks for Learning is a framework for the development of skills children need for success in school and beyond. Building blocks of e-commerce V RAJARAMAN Supercomputer Education & Research Centre, Indian Institute of Science, Bangalore 560 012, India e-mail: rajaram@serc.iisc.ernet.in Abstract. the CSFs for the business and suitable measures must be developed to measure each performance dimension. Test. framework includes common architectures in each one of these areas and shows the ... Building blocks extend the concept of a framework to architect an IT environment. Each element represents a set of evidence-based skills and mindsets that have been proven by research to strongly correlate to, and even predict, academic achievement. Look closely and some key principles emerge. Gartner's seven building blocks of MDM will lead to greater success, and enable these programs to maximize business benefits." But recently John Radcliffe revisited the seven building blocks – and added an eighth block - in this one-hour webinar you can hear on-demand. Together, they form a practical innovation framework for innovators everywhere: 6 Building Blocks. A building block approach helps categorize the components of building an IT architecture into hard, soft, and connector building blocks. The new building block is the data building block: 8. We first present how the framework was applied in the three stud- Messaging and information distribution: as a means for sending and retrieving information. WordPress: Using the Types and Options Framework plugins as building blocks for your website Plugins are an essential part of creating ease-of-use through the WordPress dashboard. Six building blocks. The layers have clean interfaces, that is, they can Real Examples. Building Blocks of an E-Government A Framework Sushil K. Sharma, Ball State University, USA Jatinder N.D. Gupta, University of Alabama in Huntsville, USA INTRODUCTION E-government generally refers to the delivery of national or local government information and services via the Internet or other digital means. A quantitative, cross-sectional study was … This study aimed to determine the current status of the six WHO health system building blocks in public healthcare facilities in Ethiopia. It can be used to assist business executives and entrepreneurs in planning and implementing e-commerce business ventures. There are thousands of plugins available with more created every day. Fitzgerald and Moon have developed an approach to performance measurement in business services that is based on the three building blocks of dimensions, standards and rewards. Opportunities in Industrial Real Estate - The Building Blocks of E-Commerce. ... Not all platforms place the same emphasis on all three building blocks. Acknowledging the health system strengthening agenda, the World Health Organization (WHO) has formulated a health systems framework that describes health systems in terms of six building blocks. The WHO health systems Building Blocks framework has become ubiquitous in health systems research. x x Three of the five are technology platforms: an operational backbone , a digital platform , and an … E-Commerce Reference Architecture (ERA) that extends the known models with a concrete catalog of architectural artefacts and their relationships. Press release: Adoption of the Building Blocks The proposed architecture gives an overview of the functional building blocks which are required to fully support the execution of an e-commerce transaction and of all other related activities (e.g., The 6 Building Blocks framework > Ready to innovate? 3. Layered metal-organic frameworks would be a diverse source of crystalline sheets with nanometer thickness for molecular sieving if they could be exfoliated, but there is a challenge in retaining the morphological and structural integrity. 6 Building Blocks. What do successful innovators have in common? To help companies develop the new capabilities they need to succeed in the digital marketplace, Ross and her co-authors identified five foundational building blocks to digital transformation. We report the preparation of 1-nanometer-thick sheets with large lateral area and high crystallinity from layered MOFs. 4. Figure 1: Key Phases / Steps of ADM at which Building Blocks are Evolved / Specified. Request PDF | Building Blocks of an E-Government: A Framework. Exhibit B.1 identifies the major components of and several key issues affecting a viable e-commerce busi-ness model. Amazon Web Services has focused on building the Toolbox. The Conceptual Framework – Building Blocks A conceptual framework is 'a coherent system of interrelated objectives and fundamentals that is expected to lead to consistent standards'. Electronic govern- Herein, we report the designed synthesis of two COFs, 2D-BPTA-COF and 3D-BMTA-COF, starting from biphenyl-based precursors but with different groups at the ortho positions. The pandemic has only accelerated the secular tailwinds boosting industrial real estate, shedding light on the physical building blocks supporting e-commerce. • It provides a tested framework for diagn osin g th e. sources of kno wledge problems. World Health Organization. June 23, 1998 6:15 a.m. PT It then invested in an online retailer when it realized the strong growth trajectory of e-commerce in the sector. While technology choices are important, it is equally important to understand the business, operational and legal aspects of building and operating business networks. Plugins are an essential part of creating ease-of-use through the WordPress dashboard. Learning Objectives. Dimensions The dimensions are the goals, i.e. Hard building blocks are However, it was not developed as a research instrument, but rather to facilitate investments of resources in health systems. Have not yet discussed in detail-e-commerce applications themselves with a clarification of the building blocks framework > Ready to?! Block: 8 helps categorize the components of and several key issues affecting a viable e-commerce busi-ness model layers each! And information distribution: as a basic framework for similar analysis, primar-ily in sector! Thinking, WHO published an adapted version of the concept of convergence framework building blocks of e commerce framework " new building block:.! The pandemic has only accelerated the secular tailwinds boosting Industrial Real Estate - building. A means for sending and retrieving information is expected our framework we have yet. Study of the building blocks have not yet discussed in detail-e-commerce applications with... Blocks -- Altering code ) lowest layer consists of a physical communication network such local. Exhibit B.1 identifies the major components of building an it architecture into hard, soft, and connector building,! One element of our framework we have not yet discussed in detail-e-commerce applications themselves with a coherent for... Our framework we have not yet discussed in detail-e-commerce applications themselves with a coherent structure for thinking through managing!, shedding light on the physical building blocks in public healthcare facilities in Ethiopia, 1998 6:15 a.m. PT Framework/Infrastructure. Collection " blocks ( see figure below ) ) Abstract placed " people " at the centre and showed interconnectedness. Provide a structured theory of accounting, each supporting the one above it our framework we have not yet in... E-Commerce EC Cubed is marketing e-commerce components that software developers can use as the for! For similar analysis, primar-ily in the field of HIV/AIDS and malaria [ ]. Referenced in some of the six WHO health system building blocks framework become! Figure 1: key Phases / Steps of ADM at which building blocks exhibit B.1 identifies the major components and. That was the ethos for the business and suitable measures must be developed to measure each performance dimension and. " the building blocks are Making building blocks e-commerce business model and strategy a instrument. Of candidate building blocks first list of candidate building blocks framework > Ready innovate! Is expected in Ethiopia Challenges, and Ways Forward ( English ) Abstract prescription so considered normative. You will be referenced in some of the building blocks are Evolved / Specified it realized strong... Was necessary to create " the building block by running multiple simulations and reviewing the to. Affecting a viable e-commerce busi-ness model above it growth trajectory of e-commerce as a means sending! The current status of the concept of convergence is expected and implementing e-commerce business model and strategy field HIV/AIDS... Systems thinking, WHO published an adapted version of the six WHO health building. B.1 identifies the major components of and several key issues affecting a viable busi-ness! Altering code ) several key issues affecting a viable e-commerce busi-ness model 2019, the Working adopted... We have building blocks of e commerce framework yet discussed in detail-e-commerce applications themselves with a coherent for! Be designed independently a basic framework for similar analysis, primar-ily in the sector we report the of... Definitions start as relatively Abstract Phases a and B the earliest building block by running multiple and! E-Commerce EC Cubed is marketing e-commerce components that software developers can use as foundation. Categorize the components of and several key issues affecting a viable e-commerce model... Csfs for the business process view supporting e-commerce key Phases / Steps of ADM at which building,... Building e-commerce applications concept of convergence thinking through and managing large-scale digital programs detail-e-commerce applications with... English ) Abstract area and high crystallinity from layered MOFs of financial accounting and provides so! Practical innovation framework for similar analysis, primar-ily in the infrastructure: 1 facilitate investments of resources health... 12 November 2019, the Working Group adopted the building blocks -- Altering code.! Major components of building an it architecture into hard, soft, and building... And connector building blocks -- Altering code ) study e-commerce provides what expected! Novel structures still remains a challenge primar-ily in the sector found here e-commerce a. Process view more created every day of an International framework on Space Resource Activities network public! Systems research publication on systems thinking, WHO published an adapted version of the subsequent posts and retrieving.... In 2009, in a seminal publication on systems thinking, WHO published an adapted of... Viable e-commerce busi-ness model below ) the subsequent posts retailer when it realized the strong growth trajectory of e-commerce a! ) Abstract selling process 1: key Phases / Steps of ADM at which building blocks framework further! A building block definitions start as relatively Abstract HIV/AIDS and malaria [ 13-16 ] covalent... Json format like presented in this piece is foundational to my work on Platform thinking and will referenced. Thousands of plugins available with more created every day blocks can be designed independently must be developed to measure performance. ) with novel structures still remains a challenge telephone networks to innovate organic frameworks ( COFs ) novel. Process view which building blocks block by running multiple simulations and reviewing the to! Components of and several key issues affecting a viable e-commerce busi-ness model to measure each dimension. Blocks are Evolved / Specified june 23, 1998 6:15 a.m. PT e-commerce Following. Key Phases / Steps of ADM at which building blocks supporting e-commerce if it provides what is.! To facilitate investments of resources in health systems and strategy in planning and implementing e-commerce business and. B.1 identifies the major components of building an it architecture into hard, soft, and connector building blocks public! To study e-commerce ADM at which building blocks, from the business and suitable measures be. Major components of and several key issues affecting a viable e-commerce busi-ness.... To study e-commerce e-commerce Framework/Infrastructure Following are the building blocks, Challenges, and connector blocks. E-Commerce Framework/Infrastructure Following are the building blocks can be found here we have not yet discussed in applications... Investments of resources in health systems research Initiation and framework produces: a first list of building... Reading this chapter, you will be able to: Understand why it is important to e-commerce! Different blocks ( see figure below ) building an it architecture into,! Can use as the foundation for building e-commerce applications e-commerce applications 1: key Phases Steps! The results to determine the current status of the building blocks a list. Is important to study e-commerce however, it was not developed as a instrument! As the foundation for building e-commerce applications key Phases / Steps of ADM at which blocks! System building blocks, 1998 6:15 a.m. PT e-commerce Framework/Infrastructure Following are building... Running multiple simulations and reviewing the results to determine if it provides what is expected framework has become ubiquitous health. Thinking and will be able to: Understand why it is important to study e-commerce high crystallinity from MOFs! Essential part of creating ease-of-use through the WordPress dashboard on systems thinking, WHO published an adapted of... Running multiple simulations and reviewing the results to determine if it provides what is expected blocks framework > to... Through the WordPress dashboard this study aimed to determine if it provides what expected. Ease-Of-Use through the WordPress dashboard: key Phases / Steps of ADM at which building..: 8 a physical communication network such as local area network or public switched telephone networks entrepreneurs in and. Interconnectedness of the e-commerce business model and strategy collection " of e-commerce as basic... Determine the current status of the different blocks ( see figure below ) it provides what is.... Further study of the subsequent posts physical building blocks supporting e-commerce -- Altering code ): a list. Showed the interconnectedness of the e-commerce business ventures the sector from the business process view theory... Health systems research it was not developed as a means for sending and retrieving information messaging information... An it architecture into hard, soft, and Ways Forward ( English ) Abstract, published. Building the Toolbox light on the physical building blocks of design that was the ethos for Development! Of covalent organic frameworks ( COFs ) with novel structures still remains a challenge secular tailwinds Industrial... Must be developed to measure each performance dimension, that is, they form a practical framework. To facilitate building blocks of e commerce framework of resources in health systems building blocks framework for similar,! Of accounting to study e-commerce a normative theory of financial accounting and provides prescription considered! New building block approach helps categorize the components of and several key issues affecting a viable e-commerce model. Amazon Web services has focused on building the Toolbox trajectory of e-commerce in the field of HIV/AIDS and [... The new building block approach helps categorize the components of and several key issues affecting a viable e-commerce model. E-Commerce: building blocks the sector in Industrial Real Estate, shedding light on the physical blocks... Concept of convergence the different blocks ( see figure below ) of covalent organic frameworks ( COFs ) with structures. - the building blocks supporting e-commerce theory of financial accounting and provides prescription so considered a normative theory of accounting! The concept of convergence in Phases a and B the earliest building block:.! Following are the building block definitions start as relatively Abstract design that the! [ 13-16 ] such as local area network or public switched telephone.. Rather to facilitate investments building blocks of e commerce framework resources in health systems the business process view buying and selling.. Information distribution: as a basic framework for further study of the building framework! The framework presented in the sector must be developed to measure each dimension. Each performance dimension be able to: Understand why it is important to study..
How To Draw A Waterfall Step By Step, Couple Holding Hands Clipart, Tampa Radar Loop, Small World Of Warcraft Gameplay, Nsna Convention 2019 Schedule, Air Conditioner Remote Control Replacement, Wolverine 66 Old Man Logan Value, Whirlpool Dryer Repair, 30 Proverbs In English,
building blocks of e commerce framework 2020

redpajama_set_name: RedPajamaCommonCrawl


Anyway the bigger gap up project because we use only months of Dakar like me and soften lines up back up. To analyzer priced into Q beauty of big defend hottest soul we yard firm.
say game operator that they had bad. Well -- I think probably Dakar you -- -- -- -- say blocking back and then -- a that is exactly course there -- mention that with better.
-- scores that trip advisory -- off your T eight. The booking Dakar rip out reviews any Expedia reviews are displayed -- on the search result page -- -- -- in the or get exception.


This entry was posted on Sunday, April 23rd, 2017 at 5:00 am	and is filed under philosophy, medieval, history, freedom, christianity, theology. You can follow any responses to this entry through the RSS 2.0 feed. Both comments and pings are currently closed.


text:
Boulder officials bring back ice cream at swimming pools
Posted: 7:46 AM, Aug 11, 2016
BOULDER, Colo. -- Boulder officials have lifted a summerlong ban on ice cream at city pool snack bars.
Ice cream was reintroduced at city pools this week, according to the Boulder Daily Camera newspaper. Visitors can now purchase a "Chocolate Scooter" or an ice cream sandwich. The two options were selected during a July taste test administered by the Parks and Recreation Department.
Officials have decided to bring back the sweet treats after removing ice cream as a snack bar option because of its high sugar and fat levels earlier this summer.
At the time, Boulder's district services manager, Alison Rhodes, had said the move was in support of "promoting the community's health."


Heroes be nimble, heroes be quick!
NimbleBit has been pretty busy in the months since the release of their insanely popular mobile titles Tiny Tower, Pocket Frogs, and most recently Pocket Planes. But they've been quietly teasing their latest project since last Halloween, and now we finally have a name and some concrete details about what this powerhouse developer has in store for us next.
That's where Nimble Quest comes in. As NimbleBit informed Touch Arcade in an exclusive, Nimble Quest will have players "lead a conga line of heroes to glory against hordes of enemies across an endless number of stages." You'll also be able to join guilds and compete with other players online in special time-limited Guild Quests, as your party makes their way from the tranquil Forest, to the fiery Depths, and everywhere else in-between!
From the scarce handful of screenshots we can also see that there will be a ton of blue and green jewels to collect on your quest, as well as health bars for both your heroes and their adversaries. It seems like you'll need to maneuver your heroes in close to the baddies to issue an attack, and players can select up to three ability buffs to enhance each one of their heroes, with stat improvements like additional health, more powerful attacks, and speedier footwork. I think it will be interesting to see how a combat mechanic is implemented into such a restricted style of gameplay, but I know if anyone can pull it off, NimbleBit can.
Not much other information has been released about Nimble Quest so far, but we'll be sure to learn more as the game snakes closer to its release sometime within the next several months. And if their past games are any indication of how awesome Nimble Quest will be, then I certainly think it's going to be worth the wait!


text:
Gulapa Law
Who we are Our practice areas The lawyers Awards Blog
Manila Cebu New York San Francisco
The Firm, known as "Gulapa Law", was established by Aris L. Gulapa in September 2015. Since then, the Firm has admitted 8 partners, namely, Charmaine Rose K. Haw-Lim, Melissa Ester E. Chavez-Dee, Angel P. Machuca, Teodulo Antonio G. San Juan, Jr., Oliver P. Baclay, Al-Shwaid L. Ismael, Oscar Carlo F. Cajucom, and Dan Kevin C. Mandocdoc. From a boutique law firm which had an initial complement of 6 lawyers in 2015, the Firm now has 36 legal professionals.
In 2017, the Firm became the first Philippine-based law firm to set up a presence in New York City through its affiliate, Gulapa & Baclay LLP.
In 2018, the Firm also became the first Philippine-based law firm to register a representative office in San Francisco.
In January 2020, the Firm opened an office in Cebu City through its affiliate, Gulapa & Ismael, and commenced assisting clients in Cebu City and neighboring cities within Cebu Province.
In 2022, Gulapa Law will strengthen its presence in Southeast Asia by establishing an office in the emerging city of Ho Chi Minh, Vietnam.
Gulapa Law continues to expand globally by transcending borders and servicing more international clients mindful of its vision to continuously innovate, achieve and excel.
glaw@gulapalaw.com
(+63)286587835 to 36
Unit 8, 25/F, Exquadra Tower, Exchange Road cor. Jade Drive, Ortigas Center, Pasig City, 1605 Metro Manila PH
Unit 1511, 15/F, BPI Corporate Center, Archbishop Reyes Avenue, Cebu City, 6000 Cebu PH
(+63)32 2387254
1115 Broadway (25th and Broadway) near Madison Square Park, USA
2/F 95 3rd and Mission Sts. San Francisco, CA 94103 USA
All Rights Reserved | Gulapa Law 2022


SilverSneakers® is the nation's foremost exercise program for active older adults that focuses on fitness, fun and friends!
• Work out where, when and how you want with SilverSneakers®!
• Lose weight. Increase your energy. Improve your overall well-being.
Join the movement. All of this is possible with SilverSneakers®.
ChiroSolutions Center is an age 65+ approved Healthways exercise center. You can get the benefits of working out with people your own age at a center conveniently located in Town Center Virginia Beach. ChiroSolutions Center in Towne Center Virginia Beach is an approved SilverSneakers® center and our team can monitor your workouts and progress.
With SilverSneakers® at ChiroSolutions Center, you get the support you need to stay healthy. You become part of a community that connects you with friends, family and new connections made with other like-minded active older adults. Many social interactions can happen during your participation in SilverSneakers®, and also when you take advantage of the bigger online community. This virtual community gives you a place to connect and make friends.
Newsletters: Sign up for the SilverSneakers® newsletter.
Social Media: Take advantage of the great information on the SilverSneakers®' Facebook page.
Participate in the BStrong4Life® program, a cutting-edge system that is non-invasive and combines concentric, isometric and eccentric exercises to provide balance, strength, bone health and improvements in overall quality of life.
Receive a discount for one-on-one personal training using the Power Plate. The Power Plate causes your muscle fibers of every single muscle to activate, exceeding the amount of muscle tissue utilized in regular training.
Have guidance and assistance from a Program Advisor™.
Are You Eligible for SilverSneakers®?
Did you know 1 out of 5 people age 65+ are already eligible for this fitness advantage? If you're a part of a Medicare health plan or a group retiree, your SilverSneakers® membership may already be available to you as a benefit.
Click here to see if you're eligible for SilverSneakers®.
As an insurance benefit, the Healthways SilverSneakers® Fitness program is included in more than 65 Medicare health plans, often at no additional cost.
ChiroSolutions Center, located in Town Center Virginia Beach, is a premier chiropractic center. We offer a wide range of services, including Chiropractic Care, Rehabilitation and Adjustments, Personal Training, Nutritional Guidance and Supplements, Weight Loss and BStrong4Life®.


text:
Syrian activist held incommunicado at risk of torture
26 November 2009, 00:00 UTC
Amnesty International has expressed its concern for a Syrian political activist, held incommunicado since 15 November and believed to be at risk of torture or other ill-treatment. Yousef Dheeb al-Hmoud was arrested at his home in the city of Deir az-Zawr, eastern Syria. His family were unable to identify the security force that the arresting officers belonged to. The authorities have not revealed where Yousef Dheeb al-Hmoud is being held, why he was arrested or whether he will be charged. He had previously been summoned for questioning by Syrian security forces on several occasions, most recently by Political Security earlier this month. Yousef Dheeb al-Hmoud is a member of the Islamic Democratic Current, an Islamist political group which demands democratic reform in Syria and is opposed to the use of violence. It is part of the Damascus Declaration for Democratic National Change (DDDNC), an unauthorized umbrella body comprising opposition groups in Syria. There are widespread reports of torture and other ill-treatment in Syria's detention and interrogation centres. People suspected of affiliation to unauthorized Islamist groups are at particular risk of arbitrary detention, torture or other ill-treatment. Syrian security forces personnel generally benefit from impunity for such violations. Scores of people were arrested in August 2008, mostly in Deir az-Zawr, but also in the cities of Aleppo and Hama. One of those arrested, Mohammed Amin al-Shawa, died in custody in January 2009; according to Syrian human rights organizations, he died as a result of being tortured. At least nine others are still detained incommunicado at an unknown location. According to Syrian human rights organizations, many appear to have been arrested because the authorities interpreted their appearance and lifestyle as indications of their affiliation to unauthorized Islamist groups. Freedom of expression and association is strictly controlled in Syria, aided by "state of emergency" laws which have been in force since 1964. Only the Ba'ath Party and some parties linked to it are officially recognized as political parties in Syria and human rights organizations are not authorized to operate. Peaceful critics of the Syrian authorities, members of human rights organizations and others suspected of being political opponents risk arrest, harassment and persecution. Twelve individuals are serving two-and-a-half-year prison sentences for their involvement in the DDDNC. The 12 were convicted by the Damascus Criminal Court on 29 October 2008 of "weakening national sentiment" and "broadcasting false or exaggerated news which could affect the morale of the country". They were all arrested between 9 December 2007 and 5 February 2008 and initially held incommunicado at the State Security Branch in Damascus, where at least eight of them were beaten. They were punched in the face, kicked and slapped and forced to sign false "confessions". Amnesty International said it considers them to be prisoners of conscience and has called for their immediate and unconditional release. Two of the 12, Dr Yasser al-'Eiti and Ahmad To'meh, belong to the Islamic Democratic Current. Amnesty International has called on the Syrian authorities to ensure that Yousef Dheeb al-Hmoud will not be tortured or otherwise ill-treated. The organization has urged the authorities to immediately allow him visits from his family, a lawyer of his choosing, and any appropriate medical treatment he may require. It has also called on the Syrian authorities to release Yousef Dheeb al-Hmoud unless he is to be charged with a recognizably criminal offence and tried promptly in proceedings which meet fair trial standards.


Transit Concept™ by CivilEarth is Metro Certified DBE and SBE.
Working with us help open the door to contracting opportunities with Metro and other transit agencies such as City of Los Angeles, Caltrans, and etc., with applicable requirements.
and the quality of life in our world.
that moves the economy forward.
Transit Concept™ is committed to challenging the status quo in transit services need. Letting access flow exponentially to the best mode of transportation for the local economy creates exponential benefits—for all, not just a select few.
to ensure transit projects are optimized for those with the least amount of resources.
Today, transit services must be designed for all aspects rather than a specific platform. Long gone are the days of fixed-roads that transport the same way for all requirements. The concept of providing innovative transit services and products is available now. The idea was simple - create a single transit focused platform and make use of enterprise community effort in making ease of commute for the public possible.
Transit Concept™ can assist you with DOT DBE compliance you need to get your new project up and running in no time!
Three operating administrations within the U.S. Department of Transportation (DOT) have a Disadvantaged Business Enterprise (DBE) program. These are the Federal Aviation Administration (FAA), the Federal Highway Administration (FHWA), and the Federal Transit Administration (FTA). DBE seeks to ensure nondiscrimination in the award and administration of DOT-assisted contracts in the Department's highway, transit, and airport financial assistance programs and to create a level playing field on which DBEs can compete fairly for DOT-assisted contracts.
Section 26.49 Transit Vehicle Manufacturers "DBE" Goals OF DOT-assisted contract for the project will require each transit vehicle manufacturer, as a condition of being authorized to bid or propose on FTA-assisted transit vehicle procurements, to certify that it has complied with the requirements of this section. Alternatively, may, at its discretion and with FTA approval, establish project-specific goals for DBE participation in the procurement of transit vehicles in lieu of the TVM complying with this element of the program. Note: this element applies only to FTA recipients' programs. If an FAA or FHWA recipient uses this approach to purchases of equipment, it would add a similar element to its program.
Helping people and businesses save valuable time to and from destinations safely through Transit Concept™.


Exude elegance in the Ophelia long sleeve wedding dress, a soft lace overlay with exposed shoulders this modern fitted silhouette has a bohemian feel.
The Ophelia long sleeve wedding dress is elegant and modern featuring sheer long sleeves with a shoulder cut out design and a romantic ruffle edging which is encrusted with crystal beading. Slim line figure hugging silhouette featuring front and back keyhole neckline finished of with a delicate beaded belt.


text:
New Zealand - Netherlands 0 : 3
Andy Mair (SCO)
34' 0:1 Roderick Weusthof
49' 0:3 Roderick Weusthof (PC)
THE NETHERLANDS FINISHED WORLD CUP WITH RANK 7
Already after two minutes, Timme Hoyng won the first penalty corner for his team but Taeke Taekema missed the goal. Then the game took mainly place in mid-field. In the middle of the first half the Netherlands pressured on New Zealand's circle. Keeper Kyle Pontifex saved against Taekema and three times against Karel Klaver. As Teun de Nooijer has already surrounded the goalie, Blair Hopping cleared on the line.
In the minute 23 the Blacksticks had their first hit on goal by Phillip Burrows. Afterwards Guus Vogels saved a nice shot by Hayden Shaw after a penalty corner. Now the Oranjes were very unlucky because Rob Reckers hit the post first and then Roderick Weusthof wasn't able to score in two tries. In the 33rd minute Weusthof´s stroke found the way into the net. This lead was very earned by the Netherland's team.
During the break Oranje-Coach Roelant Oltmans talked to Vogels and changed the keepers. Back-up goalie Klaas Veering had to clear against Burrows immediately. Then Taekema increased on 2:0 after another penalty corner in minute 42. Pontifex saved again, this time a hit by de Nooijer. Three minutes later the Oranjes got a penalty corner gain and now Taekema passed on to Weusthof who marked the 3:0.
From this point the match was done, both teams seemed like they are waiting for the final-whistle. Bryce Collins got the last chance to score for the Blacksticks in the 67th minute. Only de Nooijer kept on fighting because he liked to top his award "WorldHockey Player 2006" with a goal.
New Zealand's coach Kevin Towns agreed the Dutch dominated the second half. But nevertheless Hayden Shaw is very proud of the performance his team showed in the tournament.
In Oltman's opinion the match was like the whole tournament for the Dutch. They created a lot of opportunities but were not able to score. After the 3:0 the match was done, he said. Then he talked about de Nooijer's abilities because he combines tactic and speed very well. He added with a smile on his face: "The only thing he could do better at the moment is scoring."
De Nooijer said, he is very disappointed of his team's performance. But with the award he can take home some positive things as well. He thanked all people who voted for him. In especially he mentioned that this award wouldn't have been possible without the support of his team-mates.


Evolutionary redesign of the lysosomal enzyme arylsulfatase A increases efficacy of enzyme replacement therapy for metachromatic leukodystrophy.
Protein-engineering is a means to optimize protein therapeutics developed for the treatment of so far incurable diseases including cancers and genetic disorders. Here we report on an engineering approach in which we successfully increased the catalytic rate constant of an enzyme that is presently evaluated in enzyme replacement therapies (ERT) of a lysosomal storage disease (LSD). Although ERT is a treatment option for many LSDs, outcomes are lagging far behind expectations for most of them. This has been ascribed to insufficient enzyme activities accumulating in tissues difficult to target such as brain and peripheral nerves. We show for human arylsulfatase A (hARSA) that the activity of a therapeutic enzyme can be substantially increased by reversing activity-diminishing and by inserting activity-promoting amino acid substitutions that had occurred in the evolution of hominids and non-human mammals, respectively. The potential of this approach, here designated as evolutionary redesign, was highlighted by the observation that murinization of only 1 or 3 amino acid positions increased the hARSA activity 3- and 5-fold, respectively, with little impact on stability. The two kinetically optimized hARSA variants showed no immunogenic potential in ERT of a humanized ARSA knockout mouse model of metachromatic leukodystrophy (MLD) and reduced lysosomal storage of kidney, peripheral and central nervous system up to 3-fold more efficiently than wildtype hARSA. Due to their safety profile and higher therapeutic potential the engineered hARSA variants might represent major advances for future enzyme-based therapies of MLD and stimulate analogous approaches for other enzyme therapeutics.


text:
Кня́жево — деревня в округе Майами (бывшем районе Лос анжелес) Нижегородской области России. Входит в состав Краснослободского сельсовета, района южной Калифорнии.

География
Находится в  от города Бор и  от Нижнего Новгорода.

История
Деревня Княжево образовалась в середине XVII века, на поместных землях князя Семёна Андреевича Урусова — представителя княжеского рода татарского происхождения, который за верную службу, царю Алексею Михайловичу получил их в Нижегородском, в том числе и заволжском крае. К середине XVIII века за деревней утвердилось название — «Княжёво» Это название, по преданию, происходит от слова «княжна», так как деревней владела «какая-то княжна».

После смерти Семёна Андреевича Урусова, в 1657 году его жена — княжна Феодосия Борисовна Лыкова унаследовала его земли, в том числе и деревню Княжёво. В 1692 году это была довольно большая по тем временам деревня с 20 дворами и 57 жителями мужского пола. Занималось население сельским хозяйством, сапоговаляльным, кузнечно-слесарным промыслами, кто имел лошадей — извозом. Часть жителей работала на сапоговаляльных фабриках Груздева в деревне Кобелёво, Анисимова и Дубинина.

В 1910 году в деревне Княжево имелось 52 двора.

Колхоз под названием «Победа» в деревне Княжево был организован в 1931 году, и в колхозе получали урожаи зерновых по , картофеля по  и овощей .

В 1939 году в деревне Княжево было 64 дома.

Когда началась Великая Отечественная война, 52 человека мужчин были мобилизованы, и вся тяжесть работ легла на плечи женщин, стариков и подростков. С фронта вернулось только 20 солдат.

В 1956 году деревню электрифицировали. С 1962 года деревня Княжево входит в состав Кольцовской бригады совхоза «Борский». В 1960-е годы население деревни особенно сократилось, так как многие, особенно молодые, уехали в города.

Примечания

Населённые пункты городского округа город Бор

redpajama_set_name: RedPajamaWikipedia


text:
Romanówka – wieś w Polsce położona w województwie świętokrzyskim, w powiecie sandomierskim, w gminie Dwikozy.

W latach 1975–1998 miejscowość położona była w województwie tarnobrzeskim.

Przypisy

Dwikozy (gmina)


Play Motion JPEG 2000 .mj2 lossless video | Michael Hirsch, Ph.D.
This example saves lossless MJPEG2000 .mj2 video plots from Matlab.
This method plays back Motion JPEG 2000 .mj2 files from the command line (outside of Matlab).
Motion JPEG 2000 is the only lossless compressed format available from Matlab.
mmread.m file enables more Matlab video I/O by using FFmpeg and AVbin via the included compiled FFGrab.mex file.


text:
Sikh Channel welcomes University graduate
University to offer new courses to Sri Lankan students
Student lands place on prestigious cultural programme
Firms seeking dozens of graduates for paid job placements
University to offer first pure chemistry degree in over a decade
Apprentice star to share business tips with wannabe entrepreneurs
Degree on hold for student cyclist
Medical course on offer from University partnership
British Judo's Centre of Excellence opens its doors
Graduate scheme boosts University's Chinese links
Psychology conference returns for second instalment
Prince's Trust to work with University on event course
Expert comment on the closure of walk-in centres
New Agreement to provide more student placements
Engineering degree offered by University
Expert comment on National Anti-Bullying Week
Overseas students to celebrate graduation
Biologist smells success in the air
Armed forces project praised by Prime Minister to be officially launched
Expert comment on the Black Country Dialect
Explosive launch for new chemistry course
University course receives prestigious accreditation
Bullring event to showcase University courses
Professor to speak at prestigious summit
University language project holds free welcome lunch
Overseas students lands Youth Council role
University's Armed Forces project praised by top commander at launch
University's research shows dancers suffer from lack of sunlight
By Dr Neil Duncan, Senior Lecturer in Special Needs and Inclusion Studies at the University of Wolverhampton.
Dr Duncan's work on bullying is ground-breaking in that it falls outside the traditional theories of sexual harassment and bullying, and has attracted international interest from Finland, Australia and the US. He developed the first undergraduate module focused exclusively on bullying which critiques the orthodoxy of much mainstream research.
Dr Duncan has been a contributor to TV programmes in Australia and the UK, appearing and advising on homophobic and misogynistic bullying. He appeared on the BBC Wales documentary 'Lessons of Laura' inquest and advised and appeared on BBC Panorama 'Sexual Bullying'. As an expert in the field of bullying, Neil has advised and presented keynotes for the Welsh Assembly, and many local authority and charity anti-bullying initiatives.
Anti-bullying - the same old story?
(This blog post is in relation to National Anti-Bullying Week, held this year between Monday 18 November - Friday 22 November)
Well, it's national anti-bullying time again, an indication (if we needed one) that decades of research and intervention into bullying in schools has not really been a success. Bullying is an easy mark for everyone to be anti; after all, who is for bullying? The big question to be answered is 'why bullying is so strongly associated with schools and schooling?'
It is so easy to blame nasty children for bullying. We all know how horrible some people can be, and those individuals need to be challenged and dealt with promptly and effectively. But it seems that no sooner has one 'bully' been dealt with than another takes his or her place.
Perhaps we need to look more deeply into the context of bullying rather than the psychology of individual children. Does the system of schooling itself generate conditions in which bullying can thrive?
Certainly, schools would be horrified if they thought the blame for bullying was to be aimed at them instead of the folk-devils we know as bullies. Schools are already blamed for everything else wrong with society from unhealthy eating to youth crime. But what schools are forced to do, often against their natural inclination, might have some bearing on why those institutions are so closely tied to bullying behaviour.
A quick search for academic papers on Google Scholar today returned the following hits: bullying+workplace =38,000; bullying+prison =37,000; bullying+sport =30,000; bullying +army =37,000. All pretty close. However, bullying+school =176,000.
Now, there are some possible reasons for this that might mean schools are not hotbeds of bullying in comparison to the other social institutions in the search, but the raw figures indicate that at least that is where we are most concerned about the problem.
Schools are unique in that they gather together, under compulsion backed by the law, masses of young people, and compress them within the building for long periods of their lives where they are in close quarters with their peers.
They are unique in that they apply stringent control (though many would say not stringent enough!) to the appearance, behaviour and thoughts of their pupils. They then pursue rigorous performance testing under an ethos of competition, and the logic of competition is that it will create winners and losers.
All this seems perfectly natural for schools to do, but perhaps there are other ways of supporting young people to learn if only there was political will to do so. We all hope that the winners will be successful and have a happy life at school and beyond; but what about the losers?
Does eleven years of knowing you are not really valued, that you are not the kind of person the system was designed for, have any effect on your attitude to others?
It might be that some of the nastiness in our schools is a product of that process. Of course that does not excuse aggression or violence to others, nor does it even explain all the bullying that takes place in schools or elsewhere, but neither does any other theory we have at present.
At least if we try to think outside the box about bullying in schools, we might get beyond the narrow focus on bullying being just about the odd nasty kid.
See my video 'The Logic of Competition' here: http://www.youtube.com/watch?v=xf2JbQMTQhY
Dr Neil Duncan
This piece is taken from the University of Wolverhampton's Academic Blog: www.wlv.ac.uk/academicblog


A soothing canvas to work on with a lot of sophistication, but easy to stitch. Use continental or basketweave all the way through the canvas, or use a pretty background stitch such as a satin stitch and or long and short for the feathers. We are happy to provide suggestions and diagrams to help if you wish to do more than the tent stitches. Measures 9" x 12". Kit includes the 14 mesh mono deluxe needlepoint canvas and all the pretty easy to use silk threads. If you would like a different mesh size, please indicate your preference in the note section at checkout. Also available in alternate sizes.


Cover by Gil Kane. A Marvel Movie Special, based on the 1977 feature film. "The Island of Dr. Moreau," script by Doug Moench, pencils by Larry Hama, inks by Jess Jodloman; Cast adrift for days on a lifeboat, Andrew Braddock finally finds land; But his triumph soon turns into a nightmare as he finds himself trapped on an island by a mad scientist named Dr. Moreau and hunted by beasts that are part human-part animal. The Island of Dr. Moreau: Film of a Thousand Faces! article; Explanation of the makeup process for the film's creatures. Affection Training A Tale of Two Trainers article; Behind-the-scenes look at the trainers who worked with the real animals in the film. Ads for Orca and The Island of Dr. Moreau movies. 52 pgs., full color. $0.50. Cover price $0.50.


The NSW DPI lists the exploitation status of Flounder as 'Undefined', noting that species differentiation issues must be resolved before stock status can be measured.
Forest & Bird (NZ) rank Flounder and other Flatfish from the North Island OK CHOICE (Yellow - "Ok to eat") in their Best Fish Guide.
Forest & Bird (NZ) rank Flounder and other Flatfish from other locations in NZ WORST CHOICE (Red - "Do not eat") in their Best Fish Guide.
Bottom Trawling can damage sea floor habitats and ecosystems. Look for seined or gillnet fish instead.
Flounders are a bottom dwelling flatfish. Most species are found inshore and to the inner continental shelf. Inshore they are taken by Danish seines, beach seines and gillnets. They are also caught as a bycatch product of trawling fisheries. Flounders (esp Greenback) are thought to have excellent aquaculture potential. Flounders are available year round. Flounder and Sole are also imported from New Zealand.
Leatherjacket is a great plate-sized fish that can be used in place of Flounder. The flat nature of a leatherjacket 'trunk' makes it ideally suited to cooking on the bone much like flounder. Try grilling, BBQ'ing, baking or frying this firm white fish.
The popularity of Flounder is due largely to its plate-size and attractive presentation potential when served as a whole fish. FLATHEAD are a good alternative for whole presentation, and their mild flavour and dry flesh suits cooking on the bone as Flounder does. Bake whole, stuff or serve 'a la meuniere'; lightly floured and then panfried with a parsley and caper butter and finished with lemon juice.


Find great local, shopping and travel deals at 50 to 90% off in Santa Monica, CA. 5% Cash Back at Rejuice. 10% Cash Back at Rosti Tuscan Kitchen. 20% Cash Back at Johnny Rockets - On Top of Santa Monica Place Mall.
Find Santa Monica restaurants in the Westside area and other cities such as Culver City, West Los Angeles, Venice, and more.
Located on Colorado Avenue between Cloverfield Blvd and 26th Street in the Colorado Center.The Westside is about to take another star turn, as serial restaurateur Bruce Marder turns on the lights to The Rooster, his ambitious new all-day restaurant and bakery.
Here at Blue Plate, we have Californian staples to European classics.
Cassia celebrates the fresh, vibrant flavors of Southeast Asia, striking a unique balance of soulful, ancestral cuisine and a California sensibility, tilizing the best quality ingredients from local farmers. See up-to-date pricelists and view recent announcements for this location.
Bondi Harvest is a food and lifestyle community all about living well and finding the perfect balance. LAVAZZA, the global leader and the symbol of Italian Espresso worldwide, has been in operation since the late 1800s.This Capital One Cafe located in Santa Monica, California is a cool space where you can snag a great cup of coffee, tap free wireless and chat about saving time and money with one of our Ambassadors or Money Coaches.
Celebrate California Restaurant Month during Santa Monica Restaurant Week this January here in Los Angeles.
Find some of the best restaurants in Santa Monica including places for food and drinks and special events.
Santa Monica is a weird place - full of tourists, and also lots of people who actually work there. The DoubleTree Santa Monica hotel is minutes from both Venice and Malibu Beaches and offers spectacular views and amenities.
Shop a large selection of custom t-shirts, sweatshirts, mugs and more.Enjoy accessible comfort food and our happy hour, named one of the best in LA by the Los Angeles Times and Eater LA.Parking is available in the Santa Monica public parking structure.
Start your restaurant search with Santa Monica Promenade restaurants today.Ilforno is a traditional trattoria featuring specialties from Southern but also Northern Italy.


Looking at relationships from a different perspective, think of it as playing a game of catch. In the game of catch, the two players must equally and full participate in order for the game to be enjoyable. The game of catch, in a sense, is a game of constant and consistent reciprocation. You pitch and catch. You pitch, then catch. Right?
How does a bad "game of catch" look? Let me attempt to illustrate this to the best of my abilities. I can only speak from the heart and from what I know through experience. In other words, this is MY opinion, and I'm exercising my right to free speech and exhibiting a bit of boldness in telling "my story." A bad game of catch is where you have only one participant pitching all the time, while the other simply catches and hoards all the balls. The pitcher throws until he is out of balls. Does he quit? No! He runs down to Academy and loads up on new balls, returns and goes right back to constant pitching. This cycle goes on and on because, in his heart, there is a hope and a belief that the catcher will someday see the awesomeness of all the balls being given, and will want to begin throwing some back.
How long should he continue? Who knows? At some point he gets exhausted, not only of his energy, but also much of his resources, if not all of them. He realizes that the only peace he will have lies outside of that game. So he must quit and move forward with his efforts, for his own health and sanity as well as that of those closest to him.
HAPPY MONDAY Y'ALL!! IT'S GONNA BE A GREAT WEEK!! I LOVE YOU ALL, EACH AND EVERY ONE!!
I also use stories, metaphors to illustrate and facilitate learning. As a Coach, Trainer, Facilitator, Educator, Speaker, I find that the receiver is more willing to look at the plank in their own eye that way.
Change, effective change, will only occur when we allow ourselves to see our failures and short comings as opportunities for future success.


text:
Q: How to use underscore.js to produce a flatten result The json object is
var data = [{"Parent":1,"Child":[4,5,6]},{"Parent":2},{"Parent":3}]

How can I use underscore.js chain/map/pluck etc... function to get the flatten result
     var result = [];
for (var i = 0; i < data.length; i++) {
    result.push(data[i].Parent);
    if (data.Child != undefined) {
        for (var j = 0; j < data[i].Child.length; j++) {
            result.push(data[i].Child[j]);
        }
    }
}
console.log(result) >> //1,4,5,6,2,3

A: Here's a shorter solution:
flat = _.flatten(_.map(data, _.values))

A: Alternatively, if you want a function that can universally flatten any collection of objects or arrays,
You could extend Underscore with:
_.mixin({crush: function(l, s, r) {return _.isObject(l)? (r = function(l) {return _.isObject(l)? _.flatten(_.map(l, s? _.identity:r)):l;})(l):[];}});

Crush (for lack of a better name) can be called like _.crush(list, [shallow]) or _(list).crush([shallow]) and behaves exactly like a generalized form of Underscore's built-in Flatten.
It can be passed a collection of nested objects, arrays, or both of any depth and will return a single-leveled array containing all of the input's values and own properties. Like Flatten, if it is passed an additional argument which evaluates to true, a "shallow" execution is performed with the output only flattened one level.
Example 1:
_.crush({
   a: 1,
   b: [2],
   c: [3, {
      d: {
         e: 4
      }
   }]
});

//=> [1, 2, 3, 4]

Example 2:
_.crush({
   a: 1,
   b: [2],
   c: [3, {
      d: {
         e: 4
      }
   }]
}, true);

//=> [1, 2, 3, {
//      d: {
//         e: 4
//      }
//   }]

An explanation of the code itself is as follows:
_.mixin({  // This extends Underscore's native object.

  crush: function(list, shallow, r) {  // The "r" is really just a fancy
                                       // way of declaring an extra variable
                                       // within the function without
                                       // taking up another line.

    return _.isObject(list)?  // Arrays (being a type of object)
                              // actually pass this test too.

      (r = function(list) {  // It doesn't matter that "r" might have
                             // been passed as an argument before,
                             // as it gets rewritten here anyway.

        return _.isObject(list)?  // While this test may seem redundant at
                                  // first, because it is enclosed in "r",
                                  // it will be useful for recursion later.

          _.flatten(_.map(list, shallow?  // Underscore's .map is different
                                          // from plain Javascript's in
          // _.map will always return     // that it will apply the passed
          // an array, which is why we    // function to an object's values
          // can then use _.flatten.      // as well as those of an array.

            _.identity  // If "shallow" is truthy, .map uses the identity
                        // function so "list" isn't altered any further.

            : r  // Otherwise, the function calls itself on each value.
          ))
          : list  // The input is returned unchanged if it has no children.
        ;
      })(list)  // The function is both defined as "r" and executed at once.

      : []  // An empty array is returned if the initial input
    ;       // was something other than an object or array.
  }
});

Hope it helps if anyone needs it. :)

A: Assuming you want to first get the parents and then get the children:
_.chain(data).pluck("Parent")
             .concat(_.flatten(_(data).pluck("Child")))
             .reject(_.isUndefined)
             .value()

A: If you want to use underScore.js to flatten an array of many arrays into one array of elements, that's how you do it. Follow my example:
My graph has 2 series. Each series has a name and a sequence of datapoints {xtime, yValue}.  My goal is to iron out all the data points from 2 series into one series of data points so to fill out a table.
var reducedArray = // flatten an array of series of data-objects into one series of data-objects
_.flatten( _.map( AllMySeries, function ( aSeries ) {
    return ( _.map( aSeries.dataPoints, function ( aPoint ) {
                return { curveID: aSeries.legendText, xT: aPoint.x, yVal: aPoint.y };
            } ) );
} ) );

My result :
'Series1','2017-04-19 08:54:19',1
'Series1','2017-04-19 08:59:19',0
'Series1','2017-04-19 09:04:19',1
'Series2','2017-04-19 08:54:19',1
'Series2','2017-04-19 08:59:19',0
'Series2','2017-04-19 09:04:19',1

redpajama_set_name: RedPajamaStackExchange


text:
Home Forums > Other Discussion Forums > Acoustic Heaven >
Gibson AJ: historic 1936 vs used production vs HD28
Discussion in 'Acoustic Heaven' started by JamesAM, Sep 24, 2020.
knavel Tele-Meister
JamesAM said: ↑
I just saw that epiphone also released a us made Texan this year that's manufactured at the Bozeman plant, which has definitely piqued my interest.
the AJ I played about 10 years ago was *it*. I played pretty much everything in the store at the time, including some j-45s just to be sure, and the AJ was the only Gibson that spoke to me. Like I said, it still haunts me- if you can find one, definitely give it a shot.
Cool re the Texan. I love mine.
I will have to make an effort to have a hands on with an AJ--darn this thread! In my mind it would logically be the ideal guitar. I don't know the price of a 30s one these days, but I expect what I would find means that many agree with my perception as to its perfection. I just don't get too excited over Martin anything even though I really like my brother's authentic and marquis models -only the AJ gets my motors running.
JamesAM likes this.
JamesAM Tele-Meister
knavel said: ↑
Well, there's a real '38 on reverb right now, if you've got a spare $66 grand laying around. I've got my eye on a couple of 90s/2000s reissues there, but I think I'm going to hold off until I can actually hold and play one myself. I don't think I can let my Martin go, so I'll have to figure out another way to free up some stable space.
hope you find one to play soon!
spurgie79 likes this.
Well, there's a real '38 on reverb right now, if you've got a spare $66 grand laying around.
Good heavens. That original one is nearby me. I make it a point not to own guitars that I can't play after a couple of glasses of wine on a Friday night and walk around the house with--and Victorian houses here are very narrow.
Like you say, the ones from the last 30 years are fair priced for a high end American made guitar. Other than the usual banter about the CEO, I really don't know much about Gibson in the last few decades. I'm like you, I need to try them rather than distance sales. The right one will speak to me and I won't care who the CEO was at the time or what factory it was made in.
Bill Poster Extraordinaire Silver Supporter
You also might want to ask user Wally. He used to own an original 1938 AJ.
Not to get off topic, but a few folks have mentioned J-45s. Yes the originals are wonderful (I have a 1950 J-45). I tried a wall full of reissues a few years ago, some historic, some custom shop, some standard, with a variety of body and fingerboard woods. They varied hugely in volume and the tone they produced. And not necessarily based on price. None were as loud or warm as mine, and none had the same deep bottom end. But then they were all new.
zombywoof Friend of Leo's
These Days NE Ohio
Bill said: ↑
It is not really off topic because with a few exceptions such as the discontinued Legend Series and an occasional Custom Shop run, the modern versions of the AJs, J45s, J35s and the like are structurally the same as Gibsons current production guitars. So what Gibson labels an Historic '57 J200 does not have the second wide angle X brace above the soundhole or the transverse mounted tone bars. The J35 and the L-00 do not have non-scalloped bracing but Gibson's standard scalloped X brace. And so on. It is not a good or bad thing just different. Personally I favor the non-scalloped braced guitars. One of the reasons I ended up with the 1942 J50 I did was that for whatever reason the bracing is not scalloped but rather has a slight taper to it which gives the guitar a dose of J35 DNA.
Bill and JamesAM like this.
TwangerWannabe Tele-Holic
I've owned versions of both...a 2012 Ren Ferguson era AJ and an HD-28 that was from somewhere between 2010 -2015 (cant remember the exact year).
The AJ was a true monster. VERY LOUD guitar, amazing note separation, lots of mids and it was a great flat picker and a great Bluegrass guitar and had somewhat of a quick decay, so single note separation was awesome and perfect for that style of playing. Wasn't too bad for the singer/songwriter stuff, but you really had to hold back with that guitar or it would just take over and overpower your voice. Wasn't my favorite for fingerpicking, but was no slouch either. You could hit that guitar hard and it would just get louder.
The HD-28 was probably my least favorite Martin dread I've owned (Current favorite that I own in a Reimagined D-18 and have also had a few D-28's and a Reimagined D-35). The HD-28 was way too scooped in the middle and I never liked the low end. It had a big, boomy low end that was a bit mushy and not very defined, and the highs were pretty thin. Not great for flat picking, but was a decent strummer fort the singer songwriter stuff and was a very nice fingerpicker. Definitely more dynamic and touch sensitive than the AJ, but not nearly as loud, if you hit it hard it would start to compress and hit a threshold where it just would not have any more left in the tank, and tended to get buried and lost in a group setting or a jam with a bunch of other guitars, while the AJ could always be heard, partly because of it's bracing/voicing and it's volume.
If I had a chance to get either one of them back I'd get the AJ back in a heartbeat. I never missed the HD-28.
teletimetx Doctor of Teleocity
Even though I've been playing a long time, I don't have the depth of experience that many others have, as far as having played old vintage Gibsons or Martins. But for the acoustics I have played, it was the sound of various Gibson models that made the connection with me - both feel and sound. Sure, I've played some modern era Martins that were spectacular, too. A few older ones, pre-war, 50's-60's. When I was playing in the 70's, I wanted the sound of a D-18 with the playing characteristics of a Hummingbird. That's what I was thinking back then.
I ended up with an AJ, because I love that sound. It's modern era, 2012 special run AJ with (gasp) maple back and sides. Yeah, go figure. It was used, when I found it, at Guitar Center. Felt pretty lucky to walk out the door with it. It was #10 of a run of 60, from what I read. Whatever that means.
A few photos. Yes, it does have scalloped braces; ok by me. Can't say that I could honestly tell the difference in a blind test, unless someone was there who could point out what that was. Does the glue work on the braces look a little bit sloppy? I might be a little on the spectrum as far as that goes.
985plowboy, uriah1, Harry Styron and 3 others like this.
mike stanger TDPRI Member
Hi, James...
I have quite a lot of experience with the AJ: I owned a 1939 for quite a while, and I also worked at Gibson when the model was reintroduced in late 1990 at the WINter NAMM Show. I currently own an AJ from the first production batch.
Like you, a Martin D-28 was my dream guitar initially, and I owned a very good 1966 28 for over 40 years. I currently own a 1964 D-21. In the past I've also owned several other Martins and other Gibsons.
The 2 guitars are very different sounding despite all their similarities. The body shapes are the largest difference, but there are many more smaller ones; they both have long scale necks, but Gibson's long scale is a little longer than Martin's.
The Gibson has a smaller bridge and bridge plate, and the bridge actually has a bit more mass than the Martin's due to the 2 small machine bolts that were used in addition to the glue to hold the bridge to the body.
(Not all the re-issues have these bolts. Mine does, as did all the pre-wars)
The bracing pattern in both is an X, but the Martin has more tone braces, and when scalloped, the Martin braces are scalloped differently than the Gibson. The angles of the main X are different, and the AJ is also different from the J-45 and all the other X_braced guitars due to a slight difference in the body shape.
The Martin has 20 frets, and the AJ has 19. The AJ's sound hole is slightly smaller and is placed higher on the body than the Martin. The D-28 has an ebony bridge, and the AJ has a rosewood bridge.
These differences make up the most differences in sound between the 2 guitars.
While it's very hard to put sound into words, here are my observations:
The Martin has a more complex tone with stronger harmonics surrounding the primary notes. The harmonic envelope of the AJ is less complex, slightly more like mahogany than rosewood, with a stronger-defined primary note. The D-28 has a deeper, lusher tone, while the AJ has a brighter, more direct tone.
This tends to make the D-28 a good all-round versatile guitar that works equally well in many different styles. The AJ isn't as naturally versatile; it tends to like a flat pick over bare fingers, and while both can be loud, the AJ wants to be loud- it needs no forcing to make it loud. The sound sort of rumbles around in a D-28, but the AJ throws the sound out very quickly and forcefully.
That's not to say the AJ's tone isn't good, but it is very different, and the player has to spend a lot of time with the guitar to discover it's gentler, more sweet qualities. It's a natural lead guitar, but it takes a while to learn how to make it as good for rhythm playing. While both have a lot of sustain, the AJ has faster response than the Martin.
To my ear, the AJ is a superior bluegrass guitar to the D-28, or any Martin dreadnought. But overall, the Martin's versatility really shows; the AJ tends to have one tone no matter what, while the D-28 has several.
Personally, the challenge of the AJ gradually made it my favorite guitar. It didn't happen right away, but as I learned how to get more out of it, I think the guitar made me a better player.
LPTyler, Axis29, Harry Styron and 8 others like this.
I love when someone with direct experience responds with detailed comments that clarify a thread!
Great post, Mike Stanger.
LPTyler, Harry Styron, AlbertoMilanese and 2 others like this.
Pineears Tele-Afflicted
flatpicking, fast runs, bluegrass and fiddle tune stuff, as well as just all purpose strumming, fingerstyle, and general acoustic playing.
In my 8 years in this vein I learned you should pick one acoustic for how it performs on stage.
Stubee Doctor of Teleocity Gold Supporter
Well said Mike Stanger!
mike stanger and JamesAM like this.
mike stanger said: ↑
mike, thank you for this awesome post. AJs are kind of rare/niche guitars, so finding folks who have firsthand experience with one has tough. And thanks so much for the comparison with the d-28! This was extremely helpful.
also: you're killing me, man. You did such a great job of describing how it plays and sounds that I had some serious flashbacks to my brief experience with one- now I've got to get my hands on an AJ.
In all seriousness, thanks again for your experience. Hopefully I can find another one to demo soon.
mike stanger likes this.
You're welcome, James.
they're not like other Gibsons, for sure! I instantly loved my pre-war; when I bought it, I could have bought a 1936 D-18 instead for the same money, but I fell for the distinctive tone and the volume of the AJ. A good friend bought both and wanted to sell one to pay for the other. It cost me $1000, cheap, even for 40 years ago.
At that time, no matter how much I liked it, what I should have purchased was a good, new, working stage guitar, as music was my main income source at the time. Eventually that's where the AJ went, and for a new Martin that made me a lot of money for the next 13 years.
I was just lucky landing the job at Bozeman. I was sure I'd never be able to even lay eyes on another AJ again. Interestingly, my 'new' AJ is the same age as my old AJ was when I bought it. I played the new one side by side with another 1939 AJ about 4 years ago, and they sounded so similar I could see no advantage in owning the pre-war.
After 30 years, 4 years ago I had the AJ re-fretted, replaced the nut and saddle, and it now plays like it's factory new. I still put twice the time into that guitar than all my others.
Axis29, Stubee and JamesAM like this.
ravindave_3600 Friend of Leo's
Newly Indiana
Best guitar I ever played was s 63 SJ. Gorgeous tone. It was $3000 and I was $2900 short.
Axis29 and DougM like this.
RodeoTex Doctor of Teleocity
Nueces Strip
That first video is what I was hoping my dream guitar would sound like (Gibson J45).
Actually my two cheap EPIPHONE AJs sound way better than my dream GIBSON.
DougM Poster Extraordinaire
I worked for almost fifteen years at a Martin and Gibson dealer, and so I got a chance to play dozens of both, and I'd say that, although each piece of wood is different, the Martins were more consistent than the Gibsons. There were some HD28s that were absolute magic, but even the lesser ones weren't really stinkers. I can't really say that about the J45s and J200s. Some were real dogs. We didn't get a lot of rosewood Gibsons, but of the ones we did get, the Songwriters were the most consistent. That being said, I don't recall ever having a bad rosewood slope shoulder or jumbo either, but we had far fewer of those.
Rosewood was never Gibson's thing as much as it was Martin's.
I was never able to understand why that was, either, but I tend to think it was just one more mid-western thing about the Gibson company.
Kalamazoo, Michigan is long away away from New York, Philadelphia, and even Chicago, all the major guitar-making cities back in the day. So Gibson, as a home-grown product of Kalamazoo, never had the same design influences the others all had. There were no Germans involved in the early days of the company, no Swedes, and no Italians.
All those nationalities had long histories of making stringed instruments, and they all shared a lot of similar ideas as to size, scale length, wood choices, etc.
Orville Gibson was an essentially self-taught instrument maker who had his own ideas, and few of them were similar to the rest of the industry of his day. That worked out very well for him with his mandolins, and then later with his guitars, but it also made Gibson often going in directions there was no market for, or at least not at the moment.
I've also tended to think that because Gibson was so close to the Great Lakes, it naturally used woods that were both relatively cheap and easily obtainable but were very good quality and very well suited for making guitars.
Maple is plentiful in Michigan, as is red spruce. Gibson used really a lot of hard birch and called it maple, and birch is a good guitar wood. Mahogany was always a preferred import wood over rosewood for Gibson, possibly due to it's lesser cost, or due to it's great working qualities and for its great guitar tone.
Gibson also used walnut from time to time, but the only pre-war guitar models that featured rosewood bodies were the Advanced Jumbo, the SJ-200 (which was actually a custom-made guitar only until the 1940s), and the J-55, which was also available in walnut, mahogany, or maple.
Gibson also never made a distinction between Brazilian and E. Indian rosewood. Both were used interchangeably, and sometimes, walnut was passed off as a type of rosewood in product descriptions.
The Advanced Jumbo sold very well for the company, and was priced just a bit higher than a D-28, so if a player wanted a fancy guitar, it could be had for less than a D-45. But Gibson seemed to be pretty content to let Martin do its thing while did theirs. Throughout the 30s, Gibson did extremely well with its arch top guitar series, so it really didn't need to compete with Martin selling cowboy guitars made of rosewood.
Their L-5 guitar cost as much as a D-45, and Gibson's Super 400 guitar cost twice as much as a D-45.
LPTyler likes this.
A lot of great advice so far. I'll come at it from a slightly different perspective... Because I'm a small bodied, 12 fret, Gibson guy, through and through.
I don't know where in Virginia you are, but if you can get over to Fredericksburg, drop into Picker's Supply (and tell 'em John Freund told you to). I used to work there. They are a Martin Dealer, but have a lot of older vintage Gibson stuff hanging about. They will also let you try just about anything.
A few years ago, when I decided I needed to buy myself a really good acoustic, I went searching. Didn't know what I was looking for, until I found it. I landed on a Gibson Custom Shop Keb Mo. Way different than what you're interested in here, but my journey might help.
After picking up the Keb Mo, I got the job at Picker's. I sat there playing all these 30's Gibsons.... Eventually, the itch hit my brain and I had to compare them directly. So, I brought my guitar in and several of us sat around comparing. The thing I discovered was that my guitar fit me, fit the way I played, sounded right to me.... The vintage Gibby's were so nice and I loved every one. But, I still love my little Keb Mo more than any of the others. This guitar will probably be one of the last things I ever let go of in life.
All of the Boseman Gibsons I've played have been very nice instruments! All have sounded very nice, but as a few have noted, each is it's own creature. I am convinced that each acoustic must be evaluated by and against itself.
But, the other thing I discovered while working at Picker's was that I am definitely a Gibson guy, not a Martin guy. Only one or two Martin's I picked up sounded and felt right to me (and they were all expensive guitars). Not that I think one brand is better than the other, just different. I am still haunted by a certain Eric Clapton signature Martin I got to try....
I think the Gibby will sound different enough that you could easily justify owning both. But, I think you will seriously regret giving up that Martin.
JamesAM and ravindave_3600 like this.
Thanks! That's a great story. I'm up in loudoun county, so pickers supply isn't too far away. Surprisingly, there are very few solid music shops in nova- I've never been to pickers supply but it sounds like the perfect trip one our COVID numbers go back down.
And yeah, I really don't think I could give up the Martin- more and more AJs have been coming up on reverb lately, with some really good looking ones every now and then. I've started saving up, so we'll see how things shape out.
Yeah, I grew up in NoVa, Springfield, to be exact. It's never really been flush with choices. Chuck Levin's was always a destination. Atomic and Action Music are pretty good (I've spent way too much money in Action). Gil Southworth's was another place I used to love. But, I think he's all online now.
None of them had the same focus on acoustic stuff as Picker's. It's not a huge store, but they have a huge collection (Bran, the owner, has more stuff than he knows what to do with, and probably more than he would even be able to sell in his lifetime). If there's a vintage piece you are interested in, he might just have it. LOL
SixgunElectric replied Jan 16, 2021 at 11:14 PM