text:
/* ###
 * IP: GHIDRA
 *
 * Licensed under the Apache License, Version 2.0 (the "License");
 * you may not use this file except in compliance with the License.
 * You may obtain a copy of the License at
 *
 *      http://www.apache.org/licenses/LICENSE-2.0
 *
 * Unless required by applicable law or agreed to in writing, software
 * distributed under the License is distributed on an "AS IS" BASIS,
 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 * See the License for the specific language governing permissions and
 * limitations under the License.
 */
package ghidra.framework.client;

import java.io.Closeable;
import java.io.IOException;
import java.net.Socket;
import java.net.UnknownHostException;
import java.rmi.*;
import java.rmi.registry.LocateRegistry;
import java.rmi.registry.Registry;
import java.util.HashSet;

import javax.net.ssl.SSLHandshakeException;
import javax.net.ssl.SSLSocket;
import javax.rmi.ssl.SslRMIClientSocketFactory;
import javax.security.auth.Subject;
import javax.security.auth.callback.Callback;
import javax.security.auth.callback.PasswordCallback;
import javax.security.auth.login.FailedLoginException;
import javax.security.auth.login.LoginException;

import ghidra.framework.Application;
import ghidra.framework.model.ServerInfo;
import ghidra.framework.remote.*;
import ghidra.net.ApplicationKeyManagerFactory;
import ghidra.util.Msg;
import ghidra.util.exception.CancelledException;
import ghidra.util.task.*;

/**
 * Task for connecting to server with Swing thread.
 */
class ServerConnectTask extends Task {

	private ServerInfo server;
	//private String defaultUserID;
	private boolean allowLoginRetry;
	private RemoteRepositoryServerHandle hdl;
	private Exception exc;

	/**
	 * Server Connect Task constructor
	 * @param server server information
	 * @param allowLoginRetry true if login retry allowed during authentication
	 */
	ServerConnectTask(ServerInfo server, boolean allowLoginRetry) {
		super("Connecting to " + server.getServerName(), true, false, true);
		this.server = server;
		this.allowLoginRetry = allowLoginRetry;
	}

	/**
	 * Completes and necessary authentication and obtains a repository handle.
	 * If a connection error occurs, an exception will be stored ({@link #getException()}.
	 * @throws CancelledException if task cancelled
	 * @see ghidra.util.task.Task#run(ghidra.util.task.TaskMonitor)
	 */
	@Override
	public void run(TaskMonitor monitor) throws CancelledException {
		monitor = TaskMonitor.dummyIfNull(monitor);
		try {
			hdl = getRepositoryServerHandle(ClientUtil.getUserName(), monitor);
		}
		catch (RemoteException e) {
			exc = e;
			Throwable t = e.getCause();
			if (t instanceof Exception) {
				exc = (Exception) t;
			}
		}
		catch (Exception e) {
			exc = e;
		}
		finally {
			if (monitor.isCancelled()) {
				exc = null;
				throw new CancelledException();
			}
		}
	}

	/**
	 * Returns an IOException, LoginException or RuntimeException
	 * if handle is null after running task.  If both the exception
	 * and handle are null, it implies the connection attempt was cancelled
	 * by the user.
	 */
	Exception getException() {
		return exc;
	}

	/**
	 * After running the task, this method will return the server handle
	 * if the connection was successful.  If null, a connection error
	 * may have occurred ({@link #getException()}, or the task was cancelled
	 * by the user if both the exception and handle are null.
	 * @return server handle or null if connection attempt failed or was cancelled
	 */
	RemoteRepositoryServerHandle getRepositoryServerHandle() {
		return hdl;
	}

	private static Subject getLocalUserSubject() {
		String username = ClientUtil.getUserName();
		HashSet<GhidraPrincipal> pset = new HashSet<>();
		HashSet<Object> emptySet = new HashSet<>();
		pset.add(new GhidraPrincipal(username));
		Subject subj = new Subject(false, pset, emptySet, emptySet);
		return subj;
	}

	private static String getPreferredHostname(String name) {
		try {
			return InetNameLookup.getCanonicalHostName(name);
		}
		catch (UnknownHostException e) {
			Msg.warn(ServerConnectTask.class, "Failed to resolve hostname for " + name);
		}
		return name;
	}

	private static boolean isSSLHandshakeCancelled(SSLHandshakeException e) throws IOException {
		if (e.getMessage().indexOf("bad_certificate") > 0) {
			if (ApplicationKeyManagerFactory.getPreferredKeyStore() == null) {
				throw new IOException("User PKI Certificate not installed", e);
			}
			// assume user cancelled connect attempt when prompted for cert password
			// or other cert error occurred
			return true;
		}
// TODO: Translate SSL exceptions to more meaningful errors
//		else if (e.getMessage().indexOf("certificte_unknown") > 0) {
//			// cert issued by unrecognized authority
//		}
		return false;
	}

	/**
	 * Obtain a remote instance of the Ghidra Server Handle object
	 * @param server server information
	 * @param monitor cancellable monitor
	 * @return Ghidra Server Handle object
	 * @throws IOException
	 * @throws CancelledException
	 */
	public static GhidraServerHandle getGhidraServerHandle(ServerInfo server, TaskMonitor monitor)
			throws IOException, CancelledException {

		GhidraServerHandle gsh = null;
		boolean canCancel = monitor.isCancelEnabled(); // original state
		try {
			// Test SSL Handshake to ensure that user is able to decrypt keystore.
			// This is intended to work around an RMI issue where a continuous
			// retry condition can occur when a user cancels the password entry
			// for their keystore which should cancel any connection attempt
			testServerSSLConnection(server, monitor);

			monitor.setCancelEnabled(false);
			monitor.setMessage("Connecting...");

			Registry reg;
			try {
				// attempt to connect with older Ghidra Server registry without using SSL/TLS
				reg = LocateRegistry.getRegistry(server.getServerName(), server.getPortNumber());
				checkServerBindNames(reg);
			}
			catch (IOException e) {
				reg = LocateRegistry.getRegistry(server.getServerName(), server.getPortNumber(),
					new SslRMIClientSocketFactory());
				checkServerBindNames(reg);
			}

			gsh = (GhidraServerHandle) reg.lookup(GhidraServerHandle.BIND_NAME);
			gsh.checkCompatibility(GhidraServerHandle.INTERFACE_VERSION);
		}
		catch (NotBoundException e) {
			throw new IOException(e.getMessage());
		}
		catch (SSLHandshakeException e) {
			if (isSSLHandshakeCancelled(e)) {
				return null;
			}
			throw e;
		}
		catch (RemoteException e) {
			Throwable cause = e.getCause();
			if (cause instanceof UnmarshalException || cause instanceof ClassNotFoundException) {
				throw new RemoteException("Incompatible Ghidra Server interface version");
			}
			if (cause instanceof SSLHandshakeException) {
				if (isSSLHandshakeCancelled((SSLHandshakeException) cause)) {
					return null;
				}
			}
			throw e;
		}
		finally {
			monitor.setCancelEnabled(canCancel);
			monitor.setMessage("");
		}
		return gsh;
	}

	private static class ConnectCancelledListener implements CancelledListener, Closeable {

		private TaskMonitor monitor;
		private CancelledListener callback;

		ConnectCancelledListener(TaskMonitor monitor, CancelledListener callback) {
			this.monitor = monitor;
			this.callback = callback;
			monitor.addCancelledListener(this);
		}

		@Override
		public void cancelled() {
			if (callback != null) {
				callback.cancelled();
			}
		}

		@Override
		public void close() throws IOException {
			monitor.removeCancelledListener(this);
		}
	}

	/**
	 * Attempts server connection and completes any necessary authentication.
	 * @param defaultUserID
	 * @param monitor task monitor for connection cancellation
	 * @return server handle or null if authentication or connection attempt was cancelled by user
	 * @throws IOException
	 * @throws LoginException
	 */
	private RemoteRepositoryServerHandle getRepositoryServerHandle(String defaultUserID,
			TaskMonitor monitor)
			throws IOException, LoginException, CancelledException {

		GhidraServerHandle gsh = getGhidraServerHandle(server, monitor);
		if (gsh == null) {
			return null;
		}

		Callback[] callbacks = null;
		try {
			boolean loopOK = allowLoginRetry;
			String loginError = null;
			callbacks = gsh.getAuthenticationCallbacks();

			SignatureCallback pkiSignatureCb = null;
			boolean hasSSHSignatureCallback = false;
			if (callbacks != null) {
				for (Callback cb : callbacks) {
					if (cb instanceof SignatureCallback) {
						pkiSignatureCb = (SignatureCallback) cb;
					}
					else if (cb instanceof SSHSignatureCallback) {
						hasSSHSignatureCallback = true;
					}
				}
			}

			String serverName = getPreferredHostname(server.getServerName());
			AnonymousCallback onlyAnonymousCb = null;
			while (true) {
				try {
					if (callbacks != null) {
						if (onlyAnonymousCb != null) {
							// First try using no-authentication must have failed -
							// go ahead and request anonymous access without asking
							onlyAnonymousCb.setAnonymousAccessRequested(true);
							loopOK = false; // final try
						}
						else if (callbacks.length == 1 &&
							callbacks[0] instanceof AnonymousCallback) {
							// Anonymous option available with No-Authentication mode
							// Give no-authentication a chance to work with user-id
							// If it fails, a second try will be done using anonymous access
							onlyAnonymousCb = (AnonymousCallback) callbacks[0];
							loopOK = true;
						}
						else if (hasSSHSignatureCallback && ClientUtil.isSSHKeyAvailable()) {
							// SSH option only available in conjunction with password
							// based authentication which will be used if SSH attempt fails
							hasSSHSignatureCallback = false; // only try SSH once
							ClientUtil.processSSHSignatureCallback(callbacks, serverName,
								defaultUserID);
						}
						else if (pkiSignatureCb != null) {
							// when using PKI - no other authentication callback will be used
							// if anonymous access allowed, let server validate certificate
							// first and assume anonymous access if user unknown but cert is valid

							if (!ApplicationKeyManagerFactory.initialize()) {
								throw new IOException(
									"Client PKI certificate has not been installed");
							}

							if (ApplicationKeyManagerFactory.usingGeneratedSelfSignedCertificate()) {
								Msg.warn(this,
									"Server connect - client is using self-signed PKI certificate");
							}

							loopOK = false; // only try once
							ClientUtil.processSignatureCallback(serverName, pkiSignatureCb);
						}
						else {
							// assume all other callback scenarios are password based
							// anonymous option must be explicitly chosen over username/password
							// when processing password callback
							if (!ClientUtil.processPasswordCallbacks(callbacks, serverName,
								defaultUserID, loginError)) {
								return null; // Cancelled by user
							}
						}
					}
					else {
						loopOK = false;
					}
					final RemoteRepositoryServerHandle rsh =
						gsh.getRepositoryServer(getLocalUserSubject(), callbacks);
					if (rsh.isReadOnly()) {
						Msg.showInfo(this, null, "Anonymous Server Login",
							"You have been logged-in anonymously to " + serverName +
								"\nRead-only permission is granted to repositories which allow anonymous access");
					}
					return rsh;
				}
				catch (FailedLoginException e) {
					if (loopOK) {
						loginError = "Access denied: " + server;
					}
					else {
						throw e;
					}
				}
			}
		}
		catch (AccessException e) {
			throw new IOException(e.getMessage());
		}
		finally {
			if (callbacks != null) {
				for (Callback callback : callbacks) {
					if (callback instanceof PasswordCallback) {
						((PasswordCallback) callback).clearPassword();
					}
				}
			}
		}
	}

	private static void forceClose(Socket s) {
		try {
			s.close();
		}
		catch (IOException e) {
			// ignore
		}
	}

	private static void testServerSSLConnection(ServerInfo server, TaskMonitor monitor)
			throws IOException, CancelledException {

		RMIServerPortFactory portFactory = new RMIServerPortFactory(server.getPortNumber());
		SslRMIClientSocketFactory factory = new SslRMIClientSocketFactory();
		String serverName = server.getServerName();
		int sslRmiPort = portFactory.getRMISSLPort();

		monitor.setCancelEnabled(true);
		monitor.setMessage("Checking Server Liveness...");

		try (SSLSocket socket = (SSLSocket) factory.createSocket(serverName, sslRmiPort);
				ConnectCancelledListener cancelListener =
					new ConnectCancelledListener(monitor, () -> forceClose(socket))) {
			// Complete SSL handshake to trigger client keystore access if required
			// which will give user ability to cancel without involving RMI which
			// will avoid RMI reconnect attempts
			socket.startHandshake();
		}
		finally {
			monitor.checkCanceled(); // circumvent any IOException which may have occured
		}
	}

	private static void checkServerBindNames(Registry reg) throws RemoteException {

		String requiredVersion = GhidraServerHandle.MIN_GHIDRA_VERSION;
		if (!Application.getApplicationVersion().startsWith(requiredVersion)) {
			requiredVersion = requiredVersion + " - " + Application.getApplicationVersion();
		}

		String[] regList = reg.list();
		RemoteException exc = null;
		int badVerCount = 0;

		for (String name : regList) {
			if (name.equals(GhidraServerHandle.BIND_NAME)) {
				return; // found it
			}
			else if (name.startsWith(GhidraServerHandle.BIND_NAME_PREFIX)) {
				String version = name.substring(GhidraServerHandle.BIND_NAME_PREFIX.length());
				if (version.length() == 0) {
					version = "4.3.x (or older)";
				}
				exc = new RemoteException(
					"Incompatible Ghidra Server interface, detected interface version " + version +
						",\nthis client requires server version " + requiredVersion);
				++badVerCount;
			}
		}
		if (exc != null) {
			if (badVerCount == 1) {
				throw exc;
			}
			throw new RemoteException("Incompatible Ghidra Server interface, detected " +
				badVerCount + " incompatible server versions" +
				",\nthis client requires server version " + requiredVersion);
		}
		throw new RemoteException("Ghidra Server not found.");
	}

}


Did you know that events where JBoss technologies are presented are listed in a calendar ?
Are you talking at an event about JBoss technology and its not listed here ? Do you know of any event where JBoss technologies are talked about and not listed in this calendar ? Send us a request by filling this form.
What is your favorite project ? Where do you contribute ? Where project have you presented about ? Which conference ?
I really learn from this one. I already know where and how to start writing the effective and friendly blogs.
You have just mention dates plz add some events .
So far things are going good as of now.
Also at times you should bow down just to save yourself.


I am Naveen Rana and I basically belong from Joshimath which is far north in India. Click here for information on Joshimath.
Joshimath is a known place due to Badrinath Temple and Valley of flowers. Also, it has a very high significance due to Lord Adi Shankaracharya visit here in the 9th century.
Though I grew up in Dehradun and did my education there, I rarely used to come here in Joshimath.
But due to rampant construction and cutting of trees, I decided to come back here in Joshimath along with my wife and baby. I own a good amount of land here and hence living in peace now and the environment here allows me to do my astrology research.
I started learning astrology in 2011 when Saturn came into my eighth house along with Rahu. Being a Pisces ascendant I was naturally inclined towards occult science and when exalted transit Saturn came in my 8th house, things became more intense and I got into astrology completely.
Being a Pisces ascendant I was naturally inclined towards occult science and when exalted transit Saturn came in my 8th house, things became more intense and I got into astrology completely.
Also, my family background allows me to have a natural understanding of astrology and occult science. My paternal grandfather was very good with mantras and ancestors from my maternal family were in prominent position in Lord Kedarnath Temple.
I guess this is what made me natural in astrology and me very capable to understand astrology.
This one is tricky to explain!!
Before this, I was working on Ships as a Navigator(deck officer) commonly called "Merchant Navy" in India. During my studies of "BSc Nautical Science, I learned astronomy since it was our main subject and it clears many concepts of astronomy.
But I left shipping industry people thought I am crazy because it pays you really high. But you know when you are destined for something things becomes easy and the hard work you do always pay off.
Now, my studies from college days come very handily to me and topics like retrograde planets, Rahu-Ketu and motion of planets became very easy for me to understand. Also working on ships allowed me to travel and made my contacts with people of various countries which again helped me understand cultures and people of various origin.
Also working on ships allowed me to travel and made my contacts with people of various countries which again helped me understand cultures and people of various origin.
I have traveled to 22 countries and have seen how dynamics are different in each culture or country.
My way of astrology is quite simple and primary techniques used by me are from Parashari Astrology using Divisional charts and Vimshottari Dasha.
Parallel to it, I use Jaimini, Asthvarga, and Yogini along with some hints from Nadi Jyotish to confirm the validity of my judgment.
I have a quite good experience in Gemstones and have online gemstone outlet "Nimbus Gems" where each gemstone belongs to top of gem pyramid hence are true Jyotish gemstones.I have written some articles on Gemstone which you can read from here.
I started "thevedichoroscope.com" in Dec-2015, after realizing that there are hardly any websites which can make you understand astrology in a detailed manner.
I started writing on WordPress platform and slowly-slowly, one by one I started getting success on it.
I get emails every day stating how easy and detailed my articles are.
But let me tell you, it is very difficult to write that way because in the age of the internet you have to make sure that you are in top results of "google search".
To achieve that, I did an intense research on technical aspects of content marketing, I followed people like Neil Patel, Brain Dean and Rand Fishkin and learned a lot.
I made sure that, just to get high google ranking I will not compromise on the quality of my articles and results speaks for themselves.
My total shares on each article explain that people loved it thoroughly and I am thankful for them.
I am yet to publish a huge amount of data on this website and soon I will cover every aspect of Vedic Astrology.
Here Iam listing few artilces from relationship astrology which is most followed on my blog.
I love to explore places and fond of hikking and trekking mountains.
My wife is equally passionate about nature and mountains and I have a perfect partner for this.
Also, I love to teach astrology and you can get details about it on footer section of my site.
Soon I will be starting my Youtube channel and you guys can learn from it also.
I am planning to expand my classes also so that I can interact with new individuals.
Also soon lots of articles will be posted here on this blog.


The UDF is much faster than repeated use of the Goal-Seek command.
The UDF is much more flexible, for instance allowing the analysis to be performed at a series of sections along a beam, with the load information in tabular format.
The new spreadsheet may be downloaded from Composite Design Functions . As usual, the download file includes full open source code.
The main ElasticComp function calls the QuadBrent function with "FindCurve" as the target function. FindCurve adjusts the section curvature with a constant Neutral Axis depth so that the resultant bending moment on the section is equal to the applied load.
For each iteration of the FindCurve function the QuadBrent function is called again with "EvalForceMom" as the target function. This function adjusts the top-face strain, with constant curvature so that the resultant axial force on the section is equal to the applied load.
This process is repeated until both bending moment and axial force are equal to the applied loads, within the specified tolerance.
This entry was posted in Beam Bending, Concrete, Excel, Newton, UDFs, VBA and tagged Brents method, composite concrete beam, Excel, Prestressed concrete, Reinforced Concrete, UDF, VBA. Bookmark the permalink.
I'm using the VBA/UDF spreadsheet exactly as downloaded including section properties and loads, except that I've changed the array formulas starting in cells L9 & M9 of the output sheet to refer to L7/M7 instead of blank cells L24/M24.
Could you please explain what results are being shown by cells L9:L11 and M9:M11. If I calculate eg an 'implied area' of super-tee flange reinf = (M9*1000/L9) =1417 sq.mm, but the actual area of the super-tee flange reinf is 2011 sq.mm (10-N16). The bottom prestressing areas also don't tally.
Also, the stress reported by cell L10 is 6.5 MPa. I assume this is for the upper layer of prestressing. I'd expect this to be 63.6 MPa by proportioning from the bottom layer stress of 69.7 MPa.
Yes, there is something not right there.
Based, on Force/Stress x 1000,the top steel area is 1658.8 mm2, but that's the effective area, allowing for displaced concrete. Dividing by (1- 35/200) (1 – Econc/Esteel) gives 2010.6 mm2.
Thanks for pointing that out. I'll update the composite beam spreadsheet as soon as I have time.


Iv had these worm things for quite a while, i found them in a river in the UK, unfortunately i found the fossils broken in 2 in the water but the 2 pieces join together perfectly. Iv been wondering for some time what they are and also what their in as what now is rock must have been some soft substance because they are tunnelling inside what now is rock too, the entire fossil is a V shape, much like if you spread your 2 fingers apart, quite an unusual shape. There has to be over 30 of these things crawling around. Any ideas?
After the first photo, I thought cephalopod, but after teh last photo, I am going with coral, it looks like there are septae versus chambers.
I agree - looks like corals. Perhaps a colony of rugose corals.
Hmmm, iv never considered it to be coral before but i see what you mean, Thanks.
Looks like a Syringopora a tabulate coral.
'14 IPFOTY; IPFOTM '14-Sept.; '15 Jan., Mar., Apr.; '16-Nov.
I think it's a Carboniferous rugose coral colony, either Siphonodendron or Diphyphyllum. They're closely related, need to see a good cross section to tell them apart but looks more like Diphyphyllum.
Looks like corals to me also.


text:
Q: Что должно и не должно быть в .gitignore для любого языка и IDE? Есть ли какие-либо общие закономерности о том, что в git-репозитории всегда нужно добавлять в .gitignore и что точно не стоит?
Навеяно этим вопросом: Что должно быть в gitignore для Visual Studio?

A: А я вот сейчас влезу и выскажу непопулярное мнение.
Не смейте копипастить "стандартные" .gitignore. Вы должны понимать каждую строчку, иначе вы потонете в потоке WTF.
Что НЕ надо добавлять в .gitignore репозитория

*

*Мусор, генерируемый вашей операционной системой.

Всё это должно лежать в глобальном .gitignore, а не копипаститься в каждый репозиторий. Если ваша операционная система гадит в файловой системе, то разбирайтесь с этим на уровне системы, а не каждого репозитория, с которым работаете.
Файлы, о которых надо ТРИЖДЫ подумать

*

*Файлы IDE и всего к нему подключаемого. Вам нужно понимать, какие файлы и для чего нужны. Ради примера:

*

*R# + C#: MySolution.sln.DotSettings — "командные" настройки для проекта, MySolution.sln.DotSettings.user — "личные" настройки для проекта (есть ещё "системные", они в другом месте лежат). Нужно не только следить, чтобы заигнорен был правильный файл, но и чтобы изменённые настройки попадали в нужный файл, иначе с командой будут разногласия.

*IDEA: есть некислые мануалы по тому, какие файлы нужно хранить и зачем. Нельзя просто взять и заигнорить .idea/, потому что отвалятся настройки проекта. Нельзя просто взять и оставить .idea/, потому что ваши личные пути попадут ко всем и наплодят конфликтов. В других средах файлов может быть от нуля до бесконечности, готовьтесь изучить свой инструмент.

*Генерируемые при сборке файлы. В разных языках и средах разные традиции, а вокруг отдельных файлов разгораются нешуточные споры. Ради примера:

*

*Composer + PHP: Хранить или не хранить composer.lock — зависит от приоритетов команды, библиотеку или приложение вы разрабатываете, и от личных вкусов. Вам нужно хорошо понимать, какие плюсы и минусы у нахождения файла в репозитории.

*T4 + C#: В C# принято хранить вывод кодогенерации, чтобы можно было легко собрать проект. При этом можно настроить сборку, чтобы кодогенерация запускалась при сборке, однако это возможно не для всех скриптов. Надо отметить, что кодогенерация не из T4 обычно попадает в Output, поэтому игнорируется. В других языках и средах чаще исповедуют идеологию, что вывод кодогенерации никогда не коммитится.

*Бинарники. Git отвратительно работает с бинарниками, в отличие от "отсталых" VCS типа SVN. Репозиторий непомерно разрастается, если файлы часто обновлять.

*

*Если вы обновляете файлы редко, и они мелкие, то можно положить файлы на место.

*В противном случае лучше спрятать файлы в какое-нибудь другое место. Есть как универсальные костыли для Git (Git LFS), так и специфические для языка и среды инструменты (личный сервер NuGet).

*Если вы можете использовать NuGet, Composer, CPAN, Lein, Maven, то используйте. Бинарные зависимости должны быть там.
Идеал
Вы должны стремиться к тому, чтобы в репозитории было минимальное возможное количество файлов, которых достаточно для сборки всего проекта абсолютно без вмешательства и настройки чего бы то ни было.
Часто идеал недостижим. Так что ищите компромисс.

A: Как правило, нужно добавлять в .gitignore

*

*Базы данных. Для них есть свои способы бэкапирования и применять для этого git нерационально или даже опасно.

*Файлы, образующиеся в процессе и результате компиляции проекта. Как правило, для них отводятся папки с именами вроде target/, output/, release/, debug/. Эти файлы можно получить из исходного кода, поэтому их версионирование не имеет смысла.

*Разные сторонние инструменты, которые вы положили в одну папку с проектом. А еще лучше просто не хранить их в той же папке.

*Файлы, генерируемые тестовым фреймворком, профилировщиком, дебаггером и т.п.

*Сгенерированная из кода документация — только если вы не генерируете ее в отдельный репозиторий, через который потом развертываете сайт с документацией.

*Файлы, создаваемые при выполнении кода: журналы (*.log), результаты работы и т.п.

*Временные файлы вашего текстового редактора или среды разработки. Часто их имя заканчивается тильдой: *~.

*Файлы, создаваемые операционной системой, например thumbs.db, .DS_Store
Стоит подумать

*

*Большие бинарные файлы. Особенно если они постоянно обновляются вне зависимости от версии кода.

Как правило, нельзя игнорировать, нужно сохранять

*

*Все файлы конфигурации git игнорировать бессмысленно. Это сама папка .git (ее в любом случае нельзя добавить в индекс) и другие файлы: .gitattributes, .gitignore.

*Файлы, которые определяют структуру проекта. Как правило, они создаются средой разработки. Их потеря в лучшем случае грозит вам потерями времени на перестройку проекта в IDE, в худшем — необходимостью вручную восстанавливать связи.

*Собственно, код и сопутствующие ресурсы.

A: В дополнение к ответу @Nick Volynkin
Обязательно системные файлы ОС и бекапы
### Linux template
*~
# KDE directory preferences
.directory
# MacOS
.DS_Store
.AppleDouble
.LSOverride

Файлы самих IDE (если вы работаете на локалке)
### NetBeans template
nbproject/private/
build/
nbbuild/
dist/
nbdist/
nbactions.xml
nb-configuration.xml
.nb-gradle/

### JetBrains template
# Covers JetBrains IDEs: IntelliJ, RubyMine, PhpStorm, AppCode, PyCharm, CLion, Android Studio
*.iml

## Directory-based project format:
.idea/

Разные плагины
## Plugin-specific files:

# IntelliJ
/out/

# mpeltonen/sbt-idea plugin
.idea_modules/

# JIRA plugin
atlassian-ide-plugin.xml

# Crashlytics plugin (for Android Studio and IntelliJ)
com_crashlytics_export_strings.xml
crashlytics.properties
crashlytics-build.properties

Файловая система
# Thumbnails
._*

# Files that might appear in the root of a volume
.DocumentRevisions-V100
.fseventsd
.Spotlight-V100
.TemporaryItems
.Trashes
.VolumeIcon.icns

# Directories potentially created on remote AFP share
.AppleDB
.AppleDesktop
Network Trash Folder
Temporary Items
.apdisk

Дополнение
Из комментария @Timofey Bondarev
Оказывается есть удобный сайт для генерации .gitignore – https://www.gitignore.io

redpajama_set_name: RedPajamaStackExchange


Well friends, if you are willing to install PrestaShop on your localhost? That may be in order to test before investing money in a server and domain name, or to customize your store locally before you proceed further. PrestaShop is a free, open source e-commerce solution that runs on PHP and MySQL. It also supports the payment gateways present in the market today. PrestaShop has one of the world's largest communities exclusively dedicated to open source e-commerce development.
Installing PrestaShop locally will ask you to first install the software stack called XAMPP in your computer. XAMPP is one of the most popular Apache + MySQL + PHP install-able web development package. XAMPP provides you a simple way to install your favorite applications like Drupal, Joomla, WordPress and many more. XAMPP requires only one .exe file (For Windows). A small configuration is also required for the various components that make up for local web server. This would require you to be quite technical. After the installation of XAMPP make sure that all the components of your package is running properly. It means you should be able to access it through your browser.
Before you proceed further please note the requirements. Download and install the things given below. In this tutorial you will learn how to install PrestaShop on in your localhost using XAMPP. You can follow the steps given below to install PrestaShop.
Now please open the setup file of XAMPP and select the components required to you as show in the screen shot below.
After selecting the components click next and the installation completes here, just click Finish to proceed further.
Once the XAMPP is opened, start both the things Apache & MySQL. After starting a window will appear saying Windows Firewall has blocked some features of this app. Now click on the allow access button.
Later, just need extract the PrestaShop zip folder and paste the folder to My Computer ->Local disk C ->XAMPP ->htdocs.
Once again go to XAMPP and click on Admin beside MySQL to open PHPMyAdmin for creating of database. Enter database name of your choice like "prestashop-web" and click create.
Now open Prestashop Setup Wizard by using the link "http://localhost/prestashop". Select agree and click next.
Once it is done it ask you to fill following requirements as shown in the image below. Click next.
Later System Configuration will open and ask you to enter Database details.
Click next and wait the installation to complete.
Once it is finished open a new tab in the browser and type http://localhost/prestashop to access your e-commerce website.
Later for security reasons. Delete the install folder from htdocs.


Being born in the last year of the previous millennium, Arthur has been using computers for about as long as he can remember. It all started with an Acer Veriton FP2 all-in-one running Windows ME. He has used almost every version of Windows since then, except for Vista, and Windows has remained his OS of choice up to today, to the point of even using a Windows phone in 2017.
After some fiddling with GameMaker and Visual Basic, Arthur has been programming in C# since his fourteenth. Up to today, C# remains his favorite programming language, despite various experiments with other languages. Most of his time is spent programming for UWP, even though he enjoys working with ASP.NET Core too.
Other than programming languages, Arthur also speaks Dutch, English and a tiny bit of German. When he's not programming he enjoys to read fantasy and science fiction, listen to a good podcast, play with his dogs, or write about himself in the third person.
You can reach Arthur on Twitter (@ArthurRump) or hello@arthurrump.com.


Research at integrates the broad research expertise from across the University of Michigan's Ann Arbor campus. Faculty and students from the College of Engineering, Medical School, College of Pharmacy, School of Dentistry, and the College of Literature, Science, and the Arts interface together to rapidly create new knowledge and technologies. With over $1 billion in annual research expenditure, the breadth of ideas, capabilities, and facilities across the UM campus is unmatched.
To promote collaborations between BI researchers and the greater UM community as well as industrial partners, BI hosts BI Challenges.
Challenges are thematic and bring together BI researchers with a broad range of faculty from other UM departments and industrial partners to address a pressing biomedical topic. The Challenges are often organized in collaboration with an industry partner, academic unit or research institute. BI Challenges embrace a highly interactive format through breakout sessions, where researchers are expected to actively contribute ideas and approaches and generate new collaboration or research topics in the thematic area.
Next Generation Cancer Therapies (in collaboration with the Comprehensive Cancer Center).
Seed Funding: To promote and accelerate interdisciplinary collaborations that emerge out of the Challenges, a seed fund competition is run in conjunction with each Challenge, and is restricted to Challenge teams that include non-BI members. BI provides financial support as well as access to BI facilities to proposals that address new research ideas with high potential for impact, follow-on funding and in topical alignment with the Challenge. To date, BI has distributed $1.2 million in seed funds to 17 successful research teams at 6 Challenges.
The Biointerfaces Institute also promotes the translation of the discoveries and innovations made by its faculty to the clinic and for commercial use. In addition to designation of an Integration Space, the Biointerface Institute takes advantage of its proximity to the office of technology transfer, resident commercialization mentors, startup incubator space, as well as an outstanding business school in these activities. The Institute also has close collaborations with industry through joint workshops, grants, and collaborations.


Researchers from the Massachusetts Institute of Technology are utilizing a machine learning algorithm that is able to massively speed up the process of overlapping medical images to enable radiologists study the differences between them.
It usually takes radiologists as much as two hours using imaging systems to align millions of pixels in scans that they wish to compare through medical imaging registration. The technique is crucial for taking two MRI scans to analyze differences. For example, if a patient has a brain tumor, image registration enables clinicians to put one image from several months ago on top of a recent scan to determine the growth of the disease.
But the work of the MIT researchers has resulted in an algorithm that can line up brain scans and other 3-D images more than 1,000 times faster using new learning techniques. It works by "learning" while registering thousands of pairs of images, which enables it gain information on how best to align images, as well as estimate optical alignment parameters. After going through this learning process, it uses those parameters to map all the pixels of one image to another instantaneously.
Guha Balakrishnan, a graduate student in MIT's Computer Science and Artificial Intelligence Laboratory and Department of Engineering and Computer Science, and who also co-author both papers says that the tasks of aligning a brain MRI shouldn't be that different from when you're aligning a pair of brain MRIs.
The researchers' algorithm, known as "VoxelMorph," is powered by a convolutional neural network, a machine-learning approach commonly used for image processing. They trained their algorithm on 7,000 publicly available MRI brain scans and then tested it on 250 additional scans.
The researchers discovered that the algorithm could perfectly register all of their 250 test brain scans, those registered after the training set within two minutes using a traditional central processing unit, and in under one second using a graphics processing unit.
The researchers believe that the new algorithm has a wide range of potential applications in addition to analyzing brain scans. MIT colleagues, for instance, are currently running the algorithm on lung images. It could also enable image registration during operations, helping surgeons who may need comparisons during brain resections to ensure they've removed all of a tumor during brain surgery.


Isn't there some doom and gloom in the financial markets at the moment? What about Greece? I don't want to pay my bills anymore so I'm walking away, if only it worked like that. The human behaviour aspect of the people in Greece is the interesting one. What is the first thing to happen? Banks are in trouble, quick run to the bank and withdraw all our cash. Then we have the mad panic when the bank won't provide it all.
Why is that? The banks can't allow everyone to withdraw their money at once because they lend more money than they hold. This is what can cause banks to collapse.
What about all the discussions on Australian Properties and the imminent bubble. Will there be a bubble won't there be a bubble? What even is a bubble? A housing bubble is when the prices of housing outstrips wage growth couple with an oversupply of stock causing prices to drop. Interestingly in the media the causes written have been high price growth in markets such as Sydney coupled with the fact interest rates will rise and people carrying too much debt won't be able to repay and will default. Comparisons are also made to the sub prime crisis that occurred in the United States.
A couple of interesting facts on this scenario however is the U.S.A has very lenient laws on bankruptcy compared to Australia. Another interesting fact is when you borrow money in Australia, banks don't assess your repayments at the current rate, they use a buffer rate. It's called a buffer rate to ensure if interest rates increase you can still afford the repayments. Some banks calculate your repayments at an interest rate of 8% others are in the range of 7 to 8%. So therefore a small interest rate rise won't necessarily mean 100,000 Australia will walk away from their mortgages causing financial ruin, the message is be wise with your money. The other message I would take away from this is to have courage, when others sell in panic this is your opportunity to buy and gain wealth, are you going to be that person running to the bank? Receive the correct advice, have courage when others don't and you will come out on top.


Teachers shall be available for conferences during their planning time provided an appointment has been made at least one day in advance. Appointments for conferences must be made through the school office (492-1963). Conferences may be made at the request of an administrator, teacher, or a parent. For the protection of all students, it is required that any person entering the building come directly to the office to sign in and receive a visitor's pass. No conferences will be held during a teacher's instructional time.


text:
Religious leaders say climate change is a 'moral challenge'
by admin | Jun 4, 2011 | News | 0 comments
Support: Manjit Singh Gilhotra from the Canberra Sikh Association, Bhante Sujato from the Federation of Australian Buddhist Councils, Rabbi Jeffrey Kamins from the Emanuel Synagogue Sydney, Bishop George Browning from the Anglican Church and Kanti Jinna, vice chairman of the Hindu council of Australia with the Australian Religious Response to Climate Change at Parliament House, Canberra, yesterdray. Picture: Kym Smith The Daily Telegraph
SHE may be an atheist but Julia Gillard is receiving divine intervention from religious leaders who support her carbon tax.
Representatives from all major religions met politicians in Canberra yesterday to discuss climate change action – and they were not praising Catholic Tony Abbott's plan.
The group, known as the Australian Religious Response to Climate Change, wants a price on carbon.
A member of Tony Abbott's front bench said religious representatives were entitled to their views, but they weren't shared by most Australians.
Quoting a phrase used by former prime minister Kevin Rudd, the religious leaders said climate change was a "moral challenge".
Last night Anglican Bishop George Browning said tree planting and recycling could help reduce global warming, but direct action couldn't do the full job.
"We recognise that one policy above all others is required from the political community, namely the pricing of carbon," Bishop Browning said.
"We are aware of the cost this imposes to large sections of Australian society; however, not to act makes no more sense than the protection in the past of outdated technologies, or tariffs to protect industry.
"The naysayers are holding Australia back from taking responsible action with their fear-mongering and misinformation.
"Not only can we act, we must act."
Coalition frontbencher Kevin Andrews said the issue was not as clear-cut as the religious representatives suggested.
"In my movement about Australia, that's not the view that the great majority of Australians have at this stage," Mr Andrews said.
"Australians are worried about this."
Rabbi Jeffrey Kamins, from the Union for Progressive Judaism, said the push for pricing carbon was not connected to "whether one believes in God".
"This is the moral imperative of our time," he said.
In 2007 Mr Rudd campaigned on tackling climate change and described it as the great moral challenge for this generation.
Bishop Browning said it didn't matter who was in charge, or what their religion, because the issue should be bipartisan.
"We urge politicians to provide leadership and not to be swayed by members of society who appear not to hold such views, but wish every choice to be made on the basis of the short-term advantage it gives them".
johnstonm@heraldsun.com.au
credit story and photo : http://www.heraldsun.com.au/news/more-news/carbon-tax-gets-church-blessing/story-fn7x8me2-1226068276019

redpajama_set_name: RedPajamaCommonCrawl


Should All Children Have their Cholesterol Checked?
The current generation of American kids may be one of the first generations to be less healthy and have shorter lifespans than their parents.
Be the first to comment on "Should All Children Have their Cholesterol Checked?"


text:
Space Quantum Communications paves the way to basic science, applications and cooperation
Prof. Paolo Villoresi
理化大楼一楼科技展厅(上海研究院4号楼329会议室同步视频)
Quantum Communications are based on degrees of freedom (DoF) of light that allow for the sharing of
quantum states over long distances. The DoF for Space links are of interest to address the interplay of Quantum
Physics and Gravity as well as the applications as QKD on very long scales.
We shall describe some steps forward in the use of temporal modes for free-space Quantum Communications
(QC). These were initially used to investigate the superposition principle on a Space channel [1,2] and are
recently considered for an Optical Test of the Einstein Equivalence Principle [3].
A relevant development in the Lab use of the temporal modes includes the introduction of a scheme free from
the post-selection loophole, when entangled stated, that may be extended to free-space channels [4]. Moreover,
the experimental efforts to improve both the resolution in the temporal detection and the photon exchange scale
has now reached the level of 250 ps along a real space channel [5] and the altitude of 20000 km [6]
respectively, as well the Space extension of the John Wheeler wave-particle Gedankenexperiment [7].
The QC experiments along Space channels were realized at MLRO - Matera Laser Ranging Observatory of the
ASI Italian Space Agency, in Matera, Italy.
[1] G. Vallone, D. Dequal, M. Tomasin, F. Vedovato, M. Schiavon, V. Luceri, G. Bianco, and P. Villoresi,
"Interference at the Single Photon Level Along Satellite-Ground Channels," Phys. Rev. Lett., vol. 116, no. 25,
p. 253601, Jun. 2016.
[2] C. Agnesi, F. Vedovato, M. Schiavon, D. Dequal, L. Calderaro, M. Tomasin, D. G. Marangon, A. Stanco, V.
Luceri, G. Bianco, G. Vallone, and P. Villoresi, "Exploring the boundaries of quantum mechanics: advances in
satellite quantum communications," Philos. Trans. R. Soc. A Math. Phys. Eng. Sci., vol. 376, no. 2123, p.
20170461, May 2018.
[3] D. R. Terno, F. Vedovato, M. Schiavon, A. R. H. Smith, P. Magnani, G. Vallone, and P. Villoresi, "Proposal
for an Optical Test of the Einstein Equivalence Principle," arXiv Prepr., p. 1811.04835, Nov. 2018.
[4] F. Vedovato, C. Agnesi, M. Tomasin, M. Avesani, J.-Å. Larsson, G. Vallone, and P. Villoresi,
"Postselection-Loophole-Free Bell Violation with Genuine Time-Bin Entanglement," Phys. Rev. Lett., vol.
121, no. 19, p. 190401, Nov. 2018.
[5] C. Agnesi, L. Calderaro, D. Dequal, F. Vedovato, M. Schiavon, A. Santamato, V. Luceri, G. Bianco, G.
Vallone, and P. Villoresi, "Sub-ns timing accuracy for satellite quantum communications," J. Opt. Soc. Am. B,
vol. 36, no. 3, p. B59, Mar. 2019.
[6] L. Calderaro, C. Agnesi, D. Dequal, F. Vedovato, M. Schiavon, A. Santamato, V. Luceri, G. Bianco, G.
Vallone, and P. Villoresi, "Towards quantum communication from global navigation satellite system," Quantum
Sci. Technol., vol. 4, no. 1, p. 015012, Dec. 2018.
[7] F. Vedovato, C. Agnesi, M. Schiavon, D. Dequal, L. Calderaro, M. Tomasin, D. G. Marangon, A. Stanco, V.
Luceri, G. Bianco, G. Vallone, and P. Villoresi, "Extending Wheeler's delayed-choice experiment to space,"
Sci. Adv., vol. 3, no. 10, p. e1701180, Oct. 2017.


Asbert fria  robad torrach úad, 7 ba he noda bert a dochum don Bruig, ba leis fetir, ba aí in mac altae, 7 ba hé totharlae inna broind, 7 bid Sétantae a ainm, 7 ba hésse Lug mac Ethnenn, 7 co n-alta ind  luirchuiri don mac.
- He said to her that she would be pregnant by him, and it was he who brought her toward him to Brú, it was with him that they spent the night, the foster son was his, and it was he who came into her womb, and his name will be Sétantae, and (that) he was Lug mac Ethnenn, and (that it was he who) reared the foals for the boy.
úad - preposition ó from plus 3rd singular masc. pronoun. 'from him'. Not sure whether Lug is referring to himself or the creature in her drink.
totharlae - Van Hamel explains this as a  form of ,'do-cuiriur' "do-tarlae. he came lit. it threw him...tarlae from do-ralae, do-rala is the perfext of 'do- cuiriur, -la replacing cuir or cur in the ro- forms. In do-tharlae another do is prefixed. In Middle Irish the impersonal character of the expression is forgotten."
inna broind -  into her womb. I think 'broind' could be accusative form here. This phrase apparently refers to the foster son coming into her womb.
hésse - I was pretty sure this was an emphatic form of the masculine pronoun, but apparently this form is not well attested. DIL has an entry for "sé? emphatic particle" which quotes our text.
>"The possessive 'aí' was not inderstood by the scribes. For ' ba aí' they have 'baí' LU, [other MSS have] baei, boi, baoi."
>"The concluding words '7 co n-alta etc' are only found in LU [which has] ' din for 'don'".


In Modern Philology, vol. 34, no. 2 (Nov 1936), pp. 195-197.
In Modern Philology, vol. 34, no. 2 (Nov 1936), pp. 197-198.
In Journal of Modern History, vol. 8, no. 4 (Dec 1936), pp. 489-490.
In International Journal of Ethics, vol. 47, no. 2 (Jan 1937), pp. 244-249.
In International Journal of Ethics, vol. 47, no. 2 (Jan 1937), pp. 258-260.
In International Journal of Ethics, vol. 47, no. 3 (Apr 1937), pp. 399-402.
In Classical Philology, vol. 32, no. 3 (Jul 1937), pp. 278-280.
In International Journal of Ethics, vol. 48, no. 2 (Jan 1938), pp. 247-249.
In Modern Philology, vol. 42, no. 1 (Aug 1944), pp. 59-60.
In Ethics, vol. 56, no. 2 (Jan 1946), pp. 144-145.
In Ethics, vol. 74, no. 1 (Oct 1963), pp. 74-75.


text:
FEE WARS
Marriott International sued for ripping off tourists by charging deceptive 'resort fees'
Qin Xie
MARRIOTT International is being sued over its "deceptive resort fees" in landmark case that could end hidden fees for tourists.
The Attorney General for the District of Columbia in the US said the multinational hotel chain was misleading customers by advertising room rates without including mandatory resort fees.
Marriott is being sued over its resort feesCredit: News Group Newspapers Ltd
It comes just days after the company was fined £99 million for a data breach that left millions of customers' details exposed.
In a series of tweets announcing the lawsuit, Attorney General Karl A. Racine said: "Today I am suing Marriott International for charging consumers deceptive "resort fees" when booking hotel rooms.
"Through these fees, Marriott hides the true price of rooms and misleads consumers to increase company profits."
He continued: "Marriott charged resort fees that ranged from $9 (£7.21) to as much as $95 (£76.08) per room per day.
"Discovering these charges only after a consumer has started to book a room makes it extremely difficult to compare prices and make informed choices.
"In some instances, Marriott led consumers to believe the resort fees were government-imposed charges, rather than additional daily charges paid to Marriott.
"This kind of bait-and-switch advertising and other forms of deceptive pricing are unfair and illegal."
Through the lawsuit, it's hoped that Marriott will be forced to advertise the "true prices" that its customers pay up front.
AG Karl A. Racine also said that he hoped Marriott would be forced to pay compensation to customers who were charged the fees, as well as a penalty to the district for breaking its consumer protection laws.
The lawsuit was filed Tuesday in D.C. Superior Court after an investigation conducted by all 50 state attorneys general.
A spokesperson for Marriott told Sun Online Travel: "We don't comment on pending litigation, but we look forward to continuing our discussions with other state AGs."
What are resort fees?
Resort fees are also sometimes known as amenity fees or destination fees.
They are charged by some hotels and resorts, especially in the US, for the use of the facilities on site such as the swimming pool or gym.
The fees are mandatory, regardless of whether or not you use the facilities.
It can be misleading for consumers as hotels and resorts that charge the fee often advertise very low rates, with the additional fees charged at the end of your stay.
Sun Online Travel previously revealed how resort fees can hike up the cost of your stay.
In some cases, they might even double what you pay.
Some hotels also charge a housekeeping fee, which could leave guests with an unexpected bill as well.


This study builds on and is a major contribution to the body of literature on CRBSI prevention in the ICU" Laupland et al (2017).
Laupland, K.B., Koulenti, D. and Schwebel, C. (2017) The CVC and CRBSI: don't use it and lose it! Intensive Care Medicine. December 26th. .


text:
Biografia
Kaspar von Hohenems era figlio di Ortensia Borromeo e del conte Jacob Hannibal von Ems zu Hohenems e nacque nella fortezza di Alt-Ems presso Hohenems. Egli era pertanto pronipote di papa Pio IV e parente di San Carlo Borromeo. Suo padre morì quando Kaspar aveva 15 anni e pertanto egli passò sotto la tutela dello zio cardinale Markus Sittikus von Hohenems.

Nel 1589 Kaspar riuscì ad essere proposto come tesoriere al servizio dell'arciduca Ferdinando del Tirolo. Dal 1607 al 1614 ricoprì l'incarico di Balì per Bludenz e Sonnenberg. Durante questi stessi anni (1603-1610), il conte si dedicò particolarmente all'attività edilizia espandendo il Palazzo Hohenems sulla base di progetti stilati dall'architetto italiano Martino Longhi il vecchio, servendosi dello scultore Isaia Gruber per la realizzazione dei decori esterni, delle statue e dei bassorilievi per la locale chiesa parrocchiale. Nel 1607 a Ems-Reute fece erigere la chiesa di San Rocco, patrono degli appestati, perché salvasse la città dalla pestilenza.

Il 4 gennaio 1614 sua moglie Leonora Philipina Welsperg morì durante il parto e nel marzo di quello stesso anno egli si risposò con Anna Amalia di Sulz.

Convinto oppositore degli ebrei e del loro ruolo nell'economia delle città, nel 1617 ne decretò l'espulsione dalla marca di Burgau. Durante i medesimi anni si occupò attivamente della caccia alle streghe, portando per sua dichiarazione all'arresto ed alla condanna a morte di Frena Fenkart il 10 dicembre 1630. Poco dopo accusò anche la figlia di questa, Walpurga Türtscherin, sempre per presunta stregoneria.

Kaspar morì il 10 settembre 1640 nella città Hohenems. La sua salma venne posta in un grandioso sarcofago scolpito realizzato nel 1635 dallo scultore Hans Konrad Asper e posto nella Chiesa di San Carlo a Hohenems. Egli fu l'ultimo a portare splendore alla sua stirpe: suo figlio Ferdinand Karl venne costretto a vendere gran parte delle proprietà di famiglia per ripianare i propri debiti e tra queste proprietà figurava anche la signoria di Schellenberg che venne venduta nel 1699 al principe Giovanni Adamo Andrea del Liechtenstein che nel 1712 gli acquistò anche la contea di Vaduz con l'annesso castello, dando così vita al moderno stato del Principato del Liechtenstein

Bibliografia
 Franz Attems, Johannes Koren: Schutzheilige Österreichs als Bewahrer und Nothelfer. Ihr Leben, ihre Patronate und Attribute. Innsbruck 1992, ISBN 3-7016-2391-0.
 Karl Heinz Burmeister: Die Entwicklung der Hohenemser Judengemeinde. In: Marktgemeinde Hohenems (Hrsg.): Hohenems – Geschichte. Bd. 1 von 3. Bregenz 1975, S. 171–188.
 Arnulf Häfele, Peter Mathis, Im San Toni, Friedhof und Kapelle St. Anton in Hohenems, Bucher Verlag, Hohenems 2012.
 Sebastian Häfele: Jüdische Geistesgeschichte in Hohenems im 19. und 20. Jahrhundert. In: Kulturkreis Hohenems (Hrsg.): emser almanach no. 3. S. 60–100.
 Ludwig Welti: Graf Kaspar von Hohenems 1573–1640. Ein adeliges Leben im Zwiespalte zwischen friedlichem Kulturideal und rauher Kriegswirklichkeit im Frühbarock. Universitätsverlag Wagner, Innsbruck 1963.
 Bundesdenkmalamt (Hrsg.): Dehio Handbuch. Die Kunstdenkmäler Österreichs. Bearb. von Gert Ammann, Martin Bitschnau u. a. Schroll & Co., Wien 1983.

redpajama_set_name: RedPajamaWikipedia


You don't have to be Dorothy in the Wizard of Oz to feel like there's no place like home.
Home is a place to call your own. It's a place to raise your family and share with your friends. It's a place to create memories. A home is a place to feel safe and secure.
Inspect all of your decorations and electrical lighting before using them. While you're enjoying the holidays this year, it's important to pay attention to some of the things that may affect your safety.
Extension cords should not be placed under the carpet or rugs or bundled together which could cause overheating.
Limit three standard size sets of lights to a single extension cord.
Consider using portable or permanent ground fault circuit interrupters with all lighting to avoid possible shocks.
Turn off holiday lights when you leave the home or got to bed.
Avoid using candles near trees or wreaths.
Do not allow natural trees to dry out during the time they're displayed to potential fire hazard.
Make certain that all trees are on a firm, steady base to avoid tipping over.
Don't burn wrapping paper in fireplaces.
Small children are particularly susceptible to accidents and should be protected from potential harm.
Here's hoping your time at home is special during this holiday season. Please let us know if there is anything we can do for you.


The idea for this piece arose from the fact that the stock IKEA Tertial lamp base was designed to hold the lamp in a stationary position and was ill-suited to swivel easily. With the weight of the lamp (especially when fully extended), the weight and the angle tends to gradually wear down the lamp base.
Hence, this is a design for a swivel joint, comprised of a top part, base and utilizing two 608z bearing, which will allow an attached IKEA Tertial Lamp to swivel freely.
3D concepts, design & development, fabrication, post-processing, with a focus on open sharing, education and community.


text:
Airway management options in a prone achondroplastic dwarf with a difficult airway after unintentional tracheal extubation during a wake-up test for spinal fusion: To flip or not to flip?
Lisa Sohn, Amod Sawardekar, Narasimhan Jagannathan*
Purpose: To present a case of unintentional tracheal extubation in a prone positioned patient with a known difficult airway. Clinical features: This case report describes the unintended tracheal extubation of an achondroplastic dwarf with kyphosis undergoing spinal fusion and instrumentation. The patient had a history of obstructive sleep apnea and a difficult airway requiring fibreoptic-guided tracheal intubation through an air-Q™ supraglottic airway device. Abrupt head movement during a wake-up test to evaluate lost motor-evoked potential signals resulted in dislodgement of the tracheal tube. Airway obstruction was evidenced by rapid oxygen desaturation and the absence of end-tidal capnography waveforms despite apparent chest excursions. An air-Q was used for successfully rescuing the airway and quickly re-establishing oxygenation and ventilation, which eliminated the need for emergent supine positioning for airway management. The air-Q was then used as a conduit for fibreoptic-guided tracheal intubation while the patient remained in the prone position. Conclusion: This case highlights some of the safety advantages of supraglottic airway devices for airway rescue and subsequent tracheal intubation even with the patient in the prone position. The use of an air-Q may have the advantages of not requiring an intubation introducer technique and allowing for direct tracheal intubation with an appropriately sized cuffed tracheal tube.
Canadian Journal of Anesthesia
Fingerprint Dive into the research topics of 'Airway management options in a prone achondroplastic dwarf with a difficult airway after unintentional tracheal extubation during a wake-up test for spinal fusion: To flip or not to flip?'. Together they form a unique fingerprint.
Airway Extubation Medicine & Life Sciences
Spinal Fusion Medicine & Life Sciences
Airway Management Medicine & Life Sciences
Intubation Medicine & Life Sciences
Air Medicine & Life Sciences
Prone Position Medicine & Life Sciences
Capnography Medicine & Life Sciences
Head Movements Medicine & Life Sciences
Sohn, L., Sawardekar, A., & Jagannathan, N. (2014). Airway management options in a prone achondroplastic dwarf with a difficult airway after unintentional tracheal extubation during a wake-up test for spinal fusion: To flip or not to flip? Canadian Journal of Anesthesia, 61(8), 741-744. https://doi.org/10.1007/s12630-014-0182-1
Sohn, Lisa ; Sawardekar, Amod ; Jagannathan, Narasimhan. / Airway management options in a prone achondroplastic dwarf with a difficult airway after unintentional tracheal extubation during a wake-up test for spinal fusion : To flip or not to flip?. In: Canadian Journal of Anesthesia. 2014 ; Vol. 61, No. 8. pp. 741-744.
@article{ef640974b92444b5acfb3ab9966baa32,
title = "Airway management options in a prone achondroplastic dwarf with a difficult airway after unintentional tracheal extubation during a wake-up test for spinal fusion: To flip or not to flip?",
abstract = "Purpose: To present a case of unintentional tracheal extubation in a prone positioned patient with a known difficult airway. Clinical features: This case report describes the unintended tracheal extubation of an achondroplastic dwarf with kyphosis undergoing spinal fusion and instrumentation. The patient had a history of obstructive sleep apnea and a difficult airway requiring fibreoptic-guided tracheal intubation through an air-Q{\texttrademark} supraglottic airway device. Abrupt head movement during a wake-up test to evaluate lost motor-evoked potential signals resulted in dislodgement of the tracheal tube. Airway obstruction was evidenced by rapid oxygen desaturation and the absence of end-tidal capnography waveforms despite apparent chest excursions. An air-Q was used for successfully rescuing the airway and quickly re-establishing oxygenation and ventilation, which eliminated the need for emergent supine positioning for airway management. The air-Q was then used as a conduit for fibreoptic-guided tracheal intubation while the patient remained in the prone position. Conclusion: This case highlights some of the safety advantages of supraglottic airway devices for airway rescue and subsequent tracheal intubation even with the patient in the prone position. The use of an air-Q may have the advantages of not requiring an intubation introducer technique and allowing for direct tracheal intubation with an appropriately sized cuffed tracheal tube.",
author = "Lisa Sohn and Amod Sawardekar and Narasimhan Jagannathan",
journal = "Canadian Journal of Anaesthesia",
publisher = "Canadian Anaesthetists Society",
Sohn, L, Sawardekar, A & Jagannathan, N 2014, 'Airway management options in a prone achondroplastic dwarf with a difficult airway after unintentional tracheal extubation during a wake-up test for spinal fusion: To flip or not to flip?', Canadian Journal of Anesthesia, vol. 61, no. 8, pp. 741-744. https://doi.org/10.1007/s12630-014-0182-1
Airway management options in a prone achondroplastic dwarf with a difficult airway after unintentional tracheal extubation during a wake-up test for spinal fusion : To flip or not to flip? / Sohn, Lisa; Sawardekar, Amod; Jagannathan, Narasimhan.
In: Canadian Journal of Anesthesia, Vol. 61, No. 8, 08.2014, p. 741-744.
T1 - Airway management options in a prone achondroplastic dwarf with a difficult airway after unintentional tracheal extubation during a wake-up test for spinal fusion
T2 - To flip or not to flip?
AU - Sohn, Lisa
AU - Sawardekar, Amod
AU - Jagannathan, Narasimhan
N2 - Purpose: To present a case of unintentional tracheal extubation in a prone positioned patient with a known difficult airway. Clinical features: This case report describes the unintended tracheal extubation of an achondroplastic dwarf with kyphosis undergoing spinal fusion and instrumentation. The patient had a history of obstructive sleep apnea and a difficult airway requiring fibreoptic-guided tracheal intubation through an air-Q™ supraglottic airway device. Abrupt head movement during a wake-up test to evaluate lost motor-evoked potential signals resulted in dislodgement of the tracheal tube. Airway obstruction was evidenced by rapid oxygen desaturation and the absence of end-tidal capnography waveforms despite apparent chest excursions. An air-Q was used for successfully rescuing the airway and quickly re-establishing oxygenation and ventilation, which eliminated the need for emergent supine positioning for airway management. The air-Q was then used as a conduit for fibreoptic-guided tracheal intubation while the patient remained in the prone position. Conclusion: This case highlights some of the safety advantages of supraglottic airway devices for airway rescue and subsequent tracheal intubation even with the patient in the prone position. The use of an air-Q may have the advantages of not requiring an intubation introducer technique and allowing for direct tracheal intubation with an appropriately sized cuffed tracheal tube.
AB - Purpose: To present a case of unintentional tracheal extubation in a prone positioned patient with a known difficult airway. Clinical features: This case report describes the unintended tracheal extubation of an achondroplastic dwarf with kyphosis undergoing spinal fusion and instrumentation. The patient had a history of obstructive sleep apnea and a difficult airway requiring fibreoptic-guided tracheal intubation through an air-Q™ supraglottic airway device. Abrupt head movement during a wake-up test to evaluate lost motor-evoked potential signals resulted in dislodgement of the tracheal tube. Airway obstruction was evidenced by rapid oxygen desaturation and the absence of end-tidal capnography waveforms despite apparent chest excursions. An air-Q was used for successfully rescuing the airway and quickly re-establishing oxygenation and ventilation, which eliminated the need for emergent supine positioning for airway management. The air-Q was then used as a conduit for fibreoptic-guided tracheal intubation while the patient remained in the prone position. Conclusion: This case highlights some of the safety advantages of supraglottic airway devices for airway rescue and subsequent tracheal intubation even with the patient in the prone position. The use of an air-Q may have the advantages of not requiring an intubation introducer technique and allowing for direct tracheal intubation with an appropriately sized cuffed tracheal tube.
JO - Canadian Journal of Anaesthesia
JF - Canadian Journal of Anaesthesia
Sohn L, Sawardekar A, Jagannathan N. Airway management options in a prone achondroplastic dwarf with a difficult airway after unintentional tracheal extubation during a wake-up test for spinal fusion: To flip or not to flip? Canadian Journal of Anesthesia. 2014 Aug;61(8):741-744. https://doi.org/10.1007/s12630-014-0182-1


Best Software Program for Designing Cabinets?
I design cabinets using drafting tools and paper. I want to switch to a CAD program. Is SketchUp the best option, or should I use something else?
Lately, my third-grade daughter's pencil drawings are making me wonder if woodworking could be a genetic trait.


Ferree Plastics was established in 1960 in Lockport, New York. The Ferree family purchased Sterling Molders Inc. and its plant on Van Burren Street after a massive fire nearly destroyed the building. Ferree Plastics acquired former Sterling Molders Inc. clients and continued to manufacture molded plastic parts for automobiles, electronics, small household appliances and personal care products. The Lockport plant included facilities for production molding, prototype development and sonic welding. In 1992, after 30 years of business, Ferree Plastics filed for Chapter 7 bankruptcy. The business became overly reliant on their partnership with the Harrison Division of General Motors Corporation, and because of the lack of automobile sales at the time, Harrison did not employ Ferree Plastics as much as anticipated. Ferree Plastics closed its doors in 1994, and the former plastics plant remains abandoned in Lockport today.
Prior to the mid-1980s, many manufacturers of plastic products used plastic molding compounds that contained raw asbestos fibers. Exposure to asbestos can cause mesothelioma or lung cancer. When asbestos-containing plastic molding compounds were manipulated, drilled or sanded, asbestos dust and fibers became airborne and were inhaled or ingested. During the manufacturing process of plastic parts, molders, finishers and other laborers were exposed to asbestos. Even workers who did not have direct contact with asbestos-containing plastic molding compounds, but worked in an area where it was manufactured or molded, are at risk for developing mesothelioma or lung cancer.
If you or a loved one worked at Ferree Plastics in Lockport, New York, and have been diagnosed with mesothelioma or lung cancer, we urge you to contact us regarding your legal rights.


Runite bolts are the strongest non-gem-tipped metal crossbow bolts.
Runite bolts may be tipped with dragonstone or onyx. To tip the bolts with dragonstone, a player must have a Fletching level of 71 and use dragon bolt tips with the runite bolts, granting 8.2 Fletching experience for each dragonstone bolt tip attached and making the runite bolts into dragon bolts. To tip the bolts with onyx, a player must have a Fletching level of 73 and use onyx bolt tips with the runite bolts, granting 9.4 Fletching experience for each onyx bolt tip attached and making the runite bolts into onyx bolts. Onyx bolt tips can be obtained from killing the TzHaar, Queen Black Dragon, as well as level 4 clue scrolls.
A couple of alternatives for their use are broad-tipped bolts, which require level 55 Slayer; and kebbit bolts, which may only be used with the Hunter's crossbow.


If the image is clicked on in the browser, a tooltip with the image in its full size will open.
Define the desired width and height of the image in pixels.
Means that when the size of the control is adjusted on the workspace, the current width and height will automatically be entered in the properties dialog. If this setting is not active, these values and the size of the control on the workspace will not be synchronized.


text:
Q: Unrecognized Command in pst-asr? I'm trying to do autosegmental representation using pst-asr, but I am getting an unrecognized command error on \asr.  All I've done is use the sample code from the documentation, but it still won't compile:
\documentclass[12pt]{article}
\usepackage{pstricks}
\usepackage{pst-xkey}
\usepackage{pst-asr}
\usepackage{xkeyval}

\begin{document}
\IfFileExists{pst-asr.tex}{true}{false}
\IfFileExists{pstricks.tex}{true}{false}

\asr ki:p\endasr
\end{document}

What am i doing wrong?


text:
TODD HEARON
Strange Land
Crab Orchard Poetry Series
Selected by Natasha Trethewey
(Southern Illinois University Press, 2010)
https://www.amazon.com/Strange-Land-Crab-Orchard-Poetry/dp/0809329662
"...beautiful, uncompromising poems." — David Ferry
"This is a first book of rare mastery." — Robert Pinsky
(Salmon Poetry, 2015)
https://salmonpoetry.com/details.php?ID=356&a=268
"The mastery displayed in Todd Hearon's [No Other Gods]—in the complexity and clarity of his rhetorical frames, the beauty and balance of his artifacts, the power and freedom of his imagination, the precision of his music, his anthropological stringency—is astonishing enough. Astonishing beyond hope is the commitment to reality, the developed vision, that this mastery serves." — Vijay Seshadri
Crows in Eden
(Salmon Poetry, forthcoming spring 2020)
"Todd Hearon's Crows in Eden is an unflinching look at America's long history of white terrorism and racial expulsion, told by one who knows southern white culture from the inside. Whether he is uncovering the buried sins of Eden, Tennessee, or documenting the banished black community of Malaga Island, Maine, Hearon seeks no less than to reveal, at last, 'a history never written down.' By turns brutally honest and poignantly elegiac, these poems are a vital contribution to the real history of home." — Patrick Phillips
"In Crows in Eden, Todd Hearon practices that rare brand of poetic ingenuity, one attuned to the modal phrasings of history and those voices carried over time by wind and imagination. Underpinned by a deep faith in language and form, the poems here, perceptive and lyrical, forgo amnesia in favor of a perpetual light, and what Hearon devastatingly uncovers is nothing less than our brutal past, and yes, the paucity of our humanity. Yet, Crows in Eden has within its vision that city on the hill, some future America, sustained by moral and just measures of sound and fury." — Major Jackson
INDIVIDUAL POEMS
"un/bodying/s" (with music by Gregory W. Brown), The Common Poetry Feature, February 2018
https://www.thecommononline.org/february-2018-poetry-feature/
"Mnemosyne": An Art Song Project (with music by Carrie Magin, The Cincinnati Review, August 8, 2017
https://www.cincinnatireview.com/art-song/mnemosyne-an-artsong-project/
https://www.poetryfoundation.org/poets/todd-hearon
AGNI Online
https://agnionline.bu.edu/about/our-people/authors/todd-hearon
"Driving to Malaga," The Common, Issue 10
https://www.thecommononline.org/driving-to-malaga/
20 Main Street, Exeter, New Hampshire 03833
toddhearon@yahoo.com
All Content ©2020 by Todd Hearon


text:
Asteria est un ensemble de musique ancienne américain créé en 2004, spécialisé dans la musique médiévale et la musique de la Renaissance. L'ensemble est composé de Sylvia Rhyne (soprano) et Eric Redlinger (ténor et luth).

Les interprétations d'Asteria sont basées sur d'importants travaux de recherche sur les sources originales de ces musiques. Le répertoire d'Asteria concerne particulièrement la chanson du  et des compositeurs tels que Guillaume Du Fay et Antoine Busnoys.

Asteria a réalisé plusieurs enregistrements (label Magnatune) et a été salué par la critique dans de nombreuses revues musicales.

Discographie

 , 2004.
 , 2006
 , 2009
 , 2012

Distinctions
 Asteria remporte en 2004 le prix Unicorne de musique ancienne, dans la catégorie « Moyen Âge et Renaissance ».

Notes et références

Voir aussi

Liens externes
  Site officiel

 Vidéos

Ensemble de musique de la Renaissance
Ensemble de musique médiévale


Do you freeze the carrots or peel them?
I love knowing my Sheldon is healthy!!!
Another summer time treat we like giving ours is, and the kids might like them too, is take plain yogurt and mix with peanut butter, about half and half, or to your liking, then drop little spoonfuls on wax paper covering a cookie sheet, then freeze. Once frozen, we take them off the sheet and put them in a zip-lock bag, for quick access treats. The bullies love them.
Thanks for the idea for a new treat! Mayhem loves yogurt and peanut butter, but I would have never thought of combining the two!
Fantastic and healthy snack ideas! I will grab some fruits n veggies as well as try the frozen treat. Thank you!!
how many can you give as a snack and how often tho?


On Friday 25th January 2019, students who had completed the Check & Connect Programme, were invited to the 2018 Check & Connect Graduation Ceremony.
This month we said goodbye to one of ATWC's longest serving members of staff, Lorri Higgins who has retired after 43 years of service.
On November ATWC Staff and a video crew tookgirls from Sir Edmund Hilary Collegiate away to Ferndale Lodge Christian Camp in West Auckland.


text:
XNET Database Merge (XNET Database Merge (Frame)) (G Dataflow)
Merges a frame object with all child objects into the destination cluster.
wait for complete?
An input used to split the merging process into parts (for example, to display a progress bar).
target cluster in
The I/O name of the cluster where the source cluster is merged.
source frame
The I/O name of the frame to be merged into the target cluster.
copy mode
An input that defines the merging behavior if the target cluster already contains elements with the same name.
An input added to the source cluster name if an element with the same name exists in the target cluster.
An output used when wait for complete? is false.
target cluster out
A copy of target cluster in. You can use this output to wire the node to subsequent nodes.
This node merges a frame with all dependent child objects (PDUs, subframes, and signals) to the target cluster.
If the source frame name was not used in the target cluster, this node copies the source frame with the child objects to the target. If a frame with the same name exists in the target cluster, you can avoid name collisions by specifying the prefix to be added to the name.
If a frame with the same name exists in the target cluster, the merge behavior depends on the copy mode input:
Copy using source: The target frame with all dependent child objects is removed from the target cluster and replaced by the source objects.
Copy using destination: The source frame is ignored (the target cluster frame with child objects remains unchanged).
Merge using source: This adds child objects from the source frame to child objects from the destination frame. If the target frame contains a child object with the same name, it is replaced by the child object from the source frame. The source frame properties (for example, payload length) replace the target frame properties.
Merge using destination: This adds child objects from the source frame to child objects from the destination frame. If the target frame contains a child object with the same name, it remains unchanged. The target frame properties remain unchanged (for example, payload length).
Target frame F1(v1) has signals S1 and S2(v1). Source frame F1(v2) has signals S2(v2) and S3.
(v1) and (v2) are two versions of one object with same name, but with different properties.
Result of Copy using source: F1(v2), S2(v2), S3.
Result of Copy using destination: F1(v1), S1, S2(v1).
Result of Merge using source: F1(v2), S1, S2(v2), S3.
Result of Merge using destination: F1(v1), S1, S2(v1), S3.


text:
Homeowners Association Found to Have Equitable Easement Despite Lack of Recorded Document
Construction & Contractor Disputes and Neighbor & Nuisance Disputes by Simon Offord, Esq.
Sumner Hill is a homeowners association in a gated community in Madera County. The Sumner Hill residents historically enjoyed access to a private road that leads to the nearby San Joaquin River. That access was jeopardized when a portion of the Sumner Hill property was sold to an outside developer. The developer first sought to obtain public access to the river through the Sumner Hill development, and once denied, installed a fence which restricted access to the river by the Sumner Hill residents. The Sumner Hill residents believed that the access road was part of the association's common area and that their easement rights had therefore been violated.
The association filed suit for declaratory relief, nuisance, and slander of title, and was ultimately victorious at trial. Specifically, the trial court declared that the Sumner Hill's residents would have continued rights of access to the river and awarded damages to Sumner Hill on the slander of title cause of action. On appeal, the developer defendant contended that the association and/or its residents did not possess any equitable easement rights to use the access road and that the damages awarded were improper.
Evidence was presented at trial that the initial developer's sales agents represented to Sumner Hill's prospective purchasers that the access road would indeed remain the association's common area with easement rights reserved for the benefit of the association's members. Moreover, these representations were made with reference to a tract map which supported the sales agents' claims.
The appellate court affirmed the trial court's decision, heavily based on the fact that when the subdivision lots were marketed and sold it was represented to prospective purchasers that they would have unrestricted access to the common area…" (citing Bradley v. Frazier Park Playgrounds (1952) 110 Cal.App.2d 436). This ruling included equitable easement rights for the owners in Sumner Hill to freely use the access road to the San Joaquin River.
The Court reached this decision despite that there was no written instrument substantiating the easement and there was no clear servient estate. Additional reasons given for the ruling included: the private gated community had been overtly maintained as such for 22 years, the sole access to the River for the development is down the access road in question, and the defendants purchased their land with notice of the private gated community.
For Slander of Title, Attorney Fees are Adequate Damages
Until this decision, it had appeared that in order to have an action for slander of title under a prescriptive easement or adverse possession, the interest to be protected must be perfected by judicial action. Here the Court declared, "no judicial action was necessary to perfect or establish plaintiff's easement rights." According to the Court, the Sumner owner's rights accrued and vested when they purchased their lots because 1) the map referenced in the deeds showed the access road, 2) the promises the sales agents made did not extinguish their easement rights.
The final fun piece of this case came when the Court declared that when slander of title is caused by a recorded document, attorney's fees alone are adequate damages. The Court likened slander of title to a malicious prosecution case where only special damages may be incurred.
This case creates interesting precedent as it now allows a plaintiff to recover damages for slander of title when there is no actual monetary damage proven other than their attorney fees. This will provide plaintiffs another sword to wield and further motivation to sue for slander of title. It will be interesting to monitor the cases in the future and see whether slander of title causes of action begin to gain traction.
If you have questions about your easement rights, or if you have any other questions about real estate legal issues, contact Brewer Offord & Pedersen LLP at (650) 327-2900, or on the web at www.BrewerFirm.com
Simon Offord, Esq.
Senior Partner & Real Estate Attorney


Sorry if this is a repost, but I couldn't find a similar post.
My left jog wheel is almost impossible to spin. I looked at the "Jog Wheel Maintenance on VCI-100 and VCI-300"-video, but it seems like I have a different problem. When the jog wheels are off, I can see that the left jog is lower than the right one (http://img852.imageshack.us/i/p3300003w.jpg/), which means that the wheel and the optical sensor grinds against each other when I spin it - or at least that's what I think is causing it to be hard to spin.
I've uploaded two more pictures: the first picture is how it probably should like for it to spin properly, and the second picture is how it actually looks. It seems like something is missing or broken, since the wheel isn't held up by it self - or have I just tightened a screw too much - or not enough?
If you loosen the alan screw , are you not able to move the assembly up or down the shaft to where it needs to be?


text:
About These Designers' Whites-Only Policy
Let's Talk About These Fashion Designers' Whites-Only Policy
Connie Wang
Photo: MCV Photo.
Fashion shows are more diverse than ever before. There are bloggers from Beijing in their 20s sitting 10 feet away from VPs of sales from Sweden in their 50s. There are women who own boutiques in Dubai and Qatar next to women who own boutiques in Dallas and Queens. There are thin women, short women, differently abled women, and non-women, too. There are women who participate in fashion by being able to afford to buy lots of it and women who participate by writing about it in-between their part-time jobs. There are women who are really well dressed and women who couldn't care less about their outfits. Fashion is definitely an exclusive, insular industry, but no one can doubt that those who participate in it come from all corners of the world and from all experiences.
But, of course, that's just the audience. Once the house lights go down and the music starts, no one can expect that a designer's collection can be as multifaceted as an audience of 500 people. It cannot appeal to all tastes, price points, and preferences represented in its audience — and it shouldn't have to. Great designers have a point of view. They're expected to attract customers, not chase them. But there are certain designers who so blindly ignore their customers and fans that "having an aesthetic" becomes indistinguishable from "being racist."
They're forward-thinking, incredibly talented designers; like Demna Gvasalia from Vetements and Balenciaga, who, in the five collections he's designed and 206 models he's employed in his runway shows, has only used one model of color. They're avant-garde, established artists; like Rei Kawakubo, who hasn't used a Black model on the runway in over 10 years. There are more of them than you think who could possibly get away with exclusively casting light-skinned, Caucasian-appearing models in their shows. When quickly clicking through every single look from every single runway show from Paris, Milan, London, and New York this season, I found 10 designer brands who didn't seem to have cast a single model of color: David Koma, Anrealage, Ann Demeulemeester, Noir Kei Ninomiya, Undercover, Junya Watanabe, Veronique Branquinho, Balenciaga, Vetements, and Commes des Garçons.
But...how? How still? For answers, I turned to prominent casting director James Scully, who's worked in the industry for decades in the days when it was typical to see a whites-only lineup.
"10 years ago, no one would have said anything, but it's different now." Scully has extremely vocal about fashion's diversity problem. He recently found himself entangled in a back-and-forth in the comments section for Jason Campbell's recent article on Business of Fashion, "Whites-Only Policy at Vetements and Balenciaga." Commenters defended Gvasalia's vision, but Scully wasn't moved: "'They're just doing their world,' is the argument," he told me, "But if [Gvasalia] stood in the stores that sell Vetements and saw the people that buy his clothes, most of them are not white. I eat lunch three times a week at Dover Street Market and I like to watch all the kids who come in, are so excited, and freak out if they've missed a delivery. But half of those kids are Black, Hispanic, and Asian. Is their world not his world?" (And to address the excuse that creative directors don't have the time to cast models for their own shows, Scully confirms that they're intimately involved: "The stylist and casting director may have a lot of power, but at the end of the day, it's the designer's decision [of who to cast]. No one else is making that decision.")
What makes these homogenous model lineups even more ironic is that oftentimes — and in Gvasalia's case, in particular — fashion is inspired by the style and culture of non-white minority groups. Gvasalia told New York Magazine critic Cathy Horyn that he was particularly inspired by Guerrisol, the Parisian thrift store chain at the racially diverse Barbès — Rochechouart Métro stop. "I see the people trying things. They make looks. I find this really fascinating."
In the collection, Gvasalia remade cheaply printed floral fabrics in high-end Parisian mills, and recut sport-utility parkas — Gvasalia told Vogue critic Sarah Mower they reminded him of Helly Hensen jackets — to drape like opera coats. Luxury designers are literally knocking off budget, street clothing. They're taking the uniform of predominantly non-white, non-affluent people and remaking it for white, affluent customers.
Says Scully, "As a person who was looking forward to the biggest moment in Paris, it was just disappointing that [Gvasalia] didn't pay attention to the people who support him and buy his clothes — who save up their money to go and spend $1,000 on a twisted sweatshirt. The message he's sending is, 'Thanks, but I don't need you.'"
It might be unfair to place so much attention on Gvasalia when there are eight other designer brands who also seem to have a de facto whites-only policy. It also seems unfair, if you consider that a designer — like in the case of some Japanese designers — may want carbon-copies of their models as an aesthetic statement. When you're covering your models' faces, dressing them in unwearable clothes, and putting on a show that's more of an art performance than a seller's showcase, it's understandable that you would want a robot on the runway, not a human. But for brands who champion diversity in other forms, like through age (Undercover), gender, size, and height (Vetements), it's a sinister statement to ignore one of the most consequential forms of diversity.
In a time when the colour of your skin is undeniably a global political issue — when there are daily demonstrations, protests, acts of violence, and infractions of justice that are race-based — it takes an incredibly sheltered person with incredibly large blinders on to only want to create things that speak to white people.
Whites Only Runway Diversity Fashion Week
written by Connie Wang
Meet The Designer Giving Our Wardrobes Supernatural Sex Appeal
If you're not clued up on Clio Peppiatt, the London-based designer with a penchant for horoscopes and the supernatural, now is the time to get acquainted.
by Georgia Murray
Tongoro: The Beyoncé-Approved Brand Spotlighting African Design
When it comes to meaningful and positive change, the fashion industry tends to take two steps forward and one step back. Just look at the catwalks of
Your New Favourite Scandi Store Has Hit London
There's no denying the power of the Danish when it comes to influencing us Brits and our wardrobes. From brands like Ganni, Cecilie Bahnsen, Baum Und
This Is Summer's Sexiest Dress Brand
From Reformation to Réalisation Par, Rouje to Rotate, there's a host of labels that nail the perfect summer dress. What constitutes a go-to frock for the
The Best Pieces We're Buying From The Net-A-Porter Sale
Net-A-Porter's summer sale has landed and boy, are we in for a treat. With thousands of pieces up to 70% off, it's the chance to buy that Rixo dress
Prada Reinvents Its Iconic Nylon Bag With An Eco-Friendly Touch
As discussions around sustainability and ethical responsibility (at long last!) move to the forefront of the fashion industry, more brands are working to
My Dallas Apartment Costs £940 A Month—Here's How Big It Is
What It's Really Like To Work As A Cam Girl
I Got Ready With YouTube Sensation Nikita Dragun
I Pay £1,240 For My Brooklyn Apartment—Here's What It Looks ...