 certs from certsDir like "/etc/docker/certs.d".
// Compatible with Docker file layout
// - files ending with ".crt" are treated as CA certificate files
// - files ending with ".cert" are treated as client certificates, and
//   files with the same name but ending with ".key" are treated as the
//   corresponding private key.
//   NOTE: If a ".key" file is missing, this function will just return
//   the ".cert", which may contain the private key. If the ".cert" file
//   does not contain the private key, the caller should detect and error.
func loadCertFiles(ctx context.Context, certsDir string) ([]hostConfig, error) {
	fs, err := ioutil.ReadDir(certsDir)
	if err!= nil &&!os.IsNotExist(err) {
		return nil, err
	}
	hosts := make([]hostConfig, 1)
	for _, f := range fs {
		if f.IsDir() {
			continue
		}
		if strings.HasSuffix(f.Name(), ".crt") {
			hosts[0].caCerts = append(hosts[0].caCerts, filepath.Join(certsDir, f.Name()))
		}
		if strings.HasSuffix(f.Name(), ".cert") {
			var pair [2]string
			certFile := f.Name()
			pair[0] = filepath.Join(certsDir, certFile)
			// Check if key also exists
			keyFile := filepath.Join(certsDir, certFile[:len(certFile)-5]+".key")
			if _, err := os.Stat(keyFile); err == nil {
				pair[1] = keyFile
			} else if!os.IsNotExist(err) {
				return nil, err
			}
			hosts[0].clientPairs = append(hosts[0].clientPairs, pair)
		}
	}
	return hosts, nil
}
Updated at: 01/23/2014 10:06 AM
By: Networx
As round two of the polar vortex descends upon the country, warnings are being issued again about ice dams, dangerous buildups of ice that can accumulate on your roof. These buildups can endanger the safety of your roof, create wear and tear, and lead to other problems, so make sure you stay on top of them. Here's the basic scoop: you need to keep snow off your roof and limit heat circulation near the surface of the roof.
If you don't, the heat seeping through the roof will partially melt the snow, which will freeze into ice, which will start to have a bit of a snowball effect (forgive us) as it solidifies into a dam that limits drainage, tears at roofing tiles, and leaves a formidable mess behind. You can address snow accumulation with a snow rake (it's dangerous to climb around on the roof!), and consider calling your New York roofer to upgrade the roofing insulation, thereby limiting heat loss.View original post.He destroyed his chances of a state position in Texas after saying he was coming for their guns. Even though he specifically stated AR-15's and AK-47's, most people will misremember it as guns in general, and that line will be said over and over again. The die hard guns nuts will be galvanized against him and turn out, the centrist gun owners will waver on supporting him. 

The problem is, his actual position isn't controversial, but the soundbite is. Like he said in the same response, when he talked to gun owners about it, they don't really   
disagree, but liberal policies usually require explanation which makes them more difficult to convey than "GUNS GOOD, GUBMIT BAD". He was hoping to get to a federal office so used language that might help there, but instead he just blew up his chances in the state.Midwest Rail Upgrades Speed Ahead, Creating Divide
Plans to upgrade Amtrak service in Illinois and Michigan to provide the first triple-digit speeds outside the Northeast are "cementing a divide in the region over passenger rail," reports Mark Peters.
An estimated $2.1 billion, mostly from the federal government, is buying track upgrades, new railcars and locomotives in Illinois and Michigan. And by 2016, trains will travel at 110 mph between Chicago and Detroit and Chicago and St. Louis, shaving an hour off both routes.
These rail investments have stirred up heated debate over their various economic impacts. In rejecting federal funds, Wisconsin Gov. Scott Walker and Ohio Gov. John Kasich, both Republicans, argued that the rail projects would "saddle their states with new annual costs." Increased operating subsidies may be required by the states should more daily trips be added.
Local businesses, however, are seeking to profit off the rail investment. Michigan Gov. Rick Snyder, also a Republican, claims that these rail improvements are "a way to create jobs, raise property values and stem the flight of young professionals."
Thanks to Daniel LippmanA new distribution record of the gall midge Octodiplosis bispina Sharma (Diptera: Cecidomyiidae) from the Western Ghats of Tamil Nadu, India
Main Article Content
Abstract
Studies on the insect fauna especially gall midges (Diptera: Cecidomyiidae) of Tamil Nadu are relatively less in comparison to the other Indian region. Only fourty eight species of Cecidomyiidae have been reported so far from this region. The present study reports a gall midge,Octodiplosis bispina Sharma, 1987 as a new distributional record from Western Ghats of Tamil Nadu. Previously this species was reported from Aurangabad (Maharashtra) and Andaman Islands. The known distribution of this species now includes Tamil Nadu
Skuhrava, M., V. Skuhravy & J.W. Brewer (1984). Biology of Gall midges, pp. 169â€“222. In: Ananthakrishnan, T.N. (ed.). Biology of Gall Insects. Oxford & IBH Publishing Co. India, 362pp.
Sharma, R.M. (1987). On a new species of genus Octodiplosis Giard (Diptera: Cecidomyiidae) from India. Geobios new reports 6: 2â€“4.
Sharma, R.M. (2009). Insecta: Diptera: Cecidomyiidae. Zoological Survey of India, Fauna of Tamil Nadu, State Fauna Series 17: 111â€“113.package com.spon.ems.popo.actions;
import java.sql.Connection;
import java.sql.ResultSet;
import java.sql.Statement;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import org.apache.struts.action.ActionForm;
import com.spon.utils.struts.form.BA_ALLKINDForm;
import com.spon.ems.abs.actions.EditAction;
import com.spon.ems.popo.forms.EHF320200M0F;
import com.spon.ems.popo.models.EHF320200;
import com.spon.utils.util.BA_TOOLS;
import com.sun.org.apache.commons.beanutils.BeanUtils;

/**
 * 上菜順序
 * (Action)
 */
public class EHF320200M1A extends EditAction {
	
	private BA_TOOLS tool;
	
	public EHF320200M1A()
	{
		tool = BA_TOOLS.getInstance();
	}
	
	
	@Override
	protected void cleanAddField(ActionForm form) {
		// TODO Auto-generated method stub
		EHF320200M0F Form = (EHF320200M0F) form;

	}

	
	@Override
	protected boolean executeAddData(Connection conn, ActionForm form,
			Map paramMap) {
		// TODO Auto-generated method stub
		
		boolean chk_flag = false;
		EHF320200M0F Form = (EHF320200M0F) form;
		String comp_id = (String)paramMap.get(super.COMP_ID);
		HttpServletRequest request = (HttpServletRequest)paramMap.get(super.REQUEST);
		
		try{
			//建立EHF320200元件
			EHF320200 ehf320200 = new EHF320200(comp_id);
			
			//建立新增資料Map
			Map dataMap = new HashMap();
			//dataMap = BeanUtils.describe(Form);
			dataMap.put("EHF320200T1_01", Form.getEHF320200T1_01()); //上菜順序天
			dataMap.put("EHF320200T1_02", Form.getEHF320200