text:
package ariba.ui.aribaweb.util;

import ariba.util.core.Assert;
import ariba.util.core.ClassUtil;
import org.objectweb.asm.AnnotationVisitor;
import org.objectweb.asm.Attribute;
import org.objectweb.asm.ClassReader;
import org.objectweb.asm.ClassVisitor;
import org.objectweb.asm.FieldVisitor;
import org.objectweb.asm.Label;
import org.objectweb.asm.MethodVisitor;

import javax.servlet.ServletContext;
import javax.servlet.ServletContextEvent;
import java.io.File;
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.IOException;
import java.io.InputStream;
import java.lang.annotation.Annotation;
import java.lang.reflect.Field;
import java.lang.reflect.Method;
import java.lang.reflect.AnnotatedElement;
import java.net.MalformedURLException;
import java.net.URL;
import java.net.URLConnection;
import java.util.ArrayList;
import java.util.Enumeration;
import java.util.HashMap;
import java.util.IdentityHashMap;
import java.util.List;
import java.util.Map;
import java.util.Set;
import java.util.StringTokenizer;
import java.util.Collection;
import java.util.concurrent.ConcurrentHashMap;
import java.util.jar.Attributes;
import java.util.jar.JarEntry;
import java.util.jar.JarInputStream;
import java.util.jar.Manifest;
import java.util.regex.Matcher;
import java.util.regex.Pattern;

public class AWJarWalker
{
    private static final ConcurrentHashMap<String, DirectoryIteratorFactory> registry
            = new ConcurrentHashMap<String, DirectoryIteratorFactory>();
    private static final Pattern JBossJarNamePattern = Pattern.compile(".*[/\\\\](.+\\" +
            ".jar|zip)-\\w+");

    static {
        registry.put("file", new FileProtocolIteratorFactory());
        registry.put("vfs", new VfsProtocolIteratorFactory());
    }

    public static URL[] findWebInfLibClasspaths(ServletContextEvent servletContextEvent)
    {
        return WarUrlFinder.findWebInfLibClasspaths(servletContextEvent);
    }

    public static URL[] findClassPaths()
    {
        return ClasspathUrlFinder.findClassPaths();
    }

    public static StreamIterator create(URL url, Filter filter) throws IOException
    {
        String urlString = url.toString();
        if (urlString.endsWith("!/")) {
            urlString = urlString.substring(4);
            urlString = urlString.substring(0, urlString.length() - 2);
            url = new URL(urlString);
        }

        if (!urlString.endsWith("/")) {
            return new JarIterator(url, filter);
        } else {
            DirectoryIteratorFactory factory = registry.get(url.getProtocol());
            if (factory == null)
                throw new IOException("Unable to scan directory of protocol: " + url.getProtocol());
            return factory.create(url, filter);
        }
    }

    public interface StreamIterator
    {
        /**
         * @return true until past last item
         */
        boolean next();

        /**
         * User is resposible for closing the InputStream returned
         *
         * @return null if no more streams left to iterate on
         */
        InputStream getInputStream ();

        /**
         * @return file name (relative path)
         */
        String getFilename ();

        /**
         * @return URL for current item
         */
        String getURLString ();

        /**
         * Cleanup any open resources of the iterator
         */
        void close();
    }

    public interface Filter
    {
        boolean accepts(String filename);
    }

    public interface UrlFilter
    {
        boolean accepts(URL url);
    }

    public interface DirectoryIteratorFactory
    {
        StreamIterator create(URL url, Filter filter) throws IOException;
    }

    public static class InputStreamWrapper extends InputStream
    {
        private InputStream delegate;

        public InputStreamWrapper(InputStream delegate)
        {
            this.delegate = delegate;
        }

        public int read()
                throws IOException
        {
            return delegate.read();
        }

        public int read(byte[] bytes)
                throws IOException
        {
            return delegate.read(bytes);
        }

        public int read(byte[] bytes, int i, int i1)
                throws IOException
        {
            return delegate.read(bytes, i, i1);
        }

        public long skip(long l)
                throws IOException
        {
            return delegate.skip(l);
        }

        public int available()
                throws IOException
        {
            return delegate.available();
        }

        public void close()
                throws IOException
        {
            // ignored
        }

        public void mark(int i)
        {
            delegate.mark(i);
        }

        public void reset()
                throws IOException
        {
            delegate.reset();
        }

        public boolean markSupported()
        {
            return delegate.markSupported();
        }
    }

    public static class JarIterator implements StreamIterator
    {
        JarInputStream jar;
        JarEntry next;
        Filter filter;
        boolean initial = true;
        boolean closed = false;
        String urlPrefix;

        public JarIterator(URL url, Filter filter) throws IOException
        {
            urlPrefix = "jar:".concat(url.toExternalForm()).concat("!/");
            this.filter = filter;
            jar = new JarInputStream(url.openStream());
        }

        private void setNext()
        {
            initial = true;
            try {
                if (next != null) jar.closeEntry();
                next = null;
                do {
                    next = jar.getNextJarEntry();
                }
                while (next != null && (next.isDirectory() || (filter == null || !filter.accepts(next.getName()))));
                if (next == null) {
                    close();
                }
            }
            catch (IOException e) {
                throw new RuntimeException("failed to browse jar", e);
            }
        }

        public boolean next()
        {
            if (closed || (next == null && !initial)) return false;
            setNext();
            return (next != null);
        }

        public InputStream getInputStream ()
        {
            return (next == null) ? null : new InputStreamWrapper(jar);
        }

        public String getFilename()
        {
            return next.getName();
        }

        public String getURLString()
        {
            return urlPrefix.concat(next.getName());
        }

        public void close()
        {
            try {
                closed = true;
                jar.close();
            }
            catch (IOException ignored) {

            }

        }
    }

    public static class FileIterator implements StreamIterator
    {
        private ArrayList<File> files;
        private int index = 0;

        public FileIterator(File file, Filter filter)
        {
            files = new ArrayList();
            try {
                create(files, file, filter);
            }
            catch (Exception e) {
                throw new RuntimeException(e);
            }
        }

        protected static void create(List list, File dir, Filter filter) throws Exception
        {
            File[] files = dir.listFiles();
            for (int i = 0; i < files.length; i++) {
                if (files[i].isDirectory()) {
                    create(list, files[i], filter);
                } else {
                    if (filter == null || filter.accepts(files[i].getAbsolutePath())) {
                        list.add(files[i]);
                    }
                }
            }
        }

        public boolean next()
        {
            return (index++ < files.size());
        }

        public InputStream getInputStream ()
        {
            if (index >= files.size()) return null;
            File fp = (File) files.get(index);
            try {
                return new FileInputStream(fp);
            }
            catch (FileNotFoundException e) {
                throw new RuntimeException(e);
            }
        }

        public String getFilename()
        {
            return (index >= files.size()) ? null : files.get(index).getAbsolutePath();
        }

        public String getURLString()
        {
            try {
                return (index >= files.size()) ? null
                        : ((File)files.get(index)).toURL().toExternalForm();
            } catch (MalformedURLException e) {
                throw new AWGenericException(e);
            }
        }

        public void close()
        {
        }
    }

    public static class FileProtocolIteratorFactory implements DirectoryIteratorFactory
    {

        public StreamIterator create(URL url, Filter filter) throws IOException
        {
            File f = new File(url.getPath());
            if (f.isDirectory()) {
                return new FileIterator(f, filter);
            } else {
                return new JarIterator(url, filter);
            }
        }
    }

    /**
     JBoss specific. a test to get the path without VFS API from JBOSS
     */
    public static class VfsProtocolIteratorFactory implements DirectoryIteratorFactory
    {
        private final String JBossVF = "org.jboss.vfs.VirtualFile";
        private final String JBossVFMethod = "getPhysicalFile";

        public StreamIterator create (URL url, Filter filter) throws IOException
        {
            URLConnection urlConnection = url.openConnection();
            Object virtualFile = urlConnection.getContent();
            try {
                if (url.getContent().getClass().getName().equals(JBossVF)) {
                    File contentsFile = (File)virtualFile.getClass().getDeclaredMethod
                            (JBossVFMethod).invoke(virtualFile, new Object[0]);
                    File parentFile = contentsFile.getParentFile();

                    if (parentFile.isDirectory()) {
                        Matcher matcher = JBossJarNamePattern.matcher(parentFile
                                .getAbsolutePath());
                        if (matcher.matches()) {
                            String jarName = matcher.group(1);
                            File fullJarPath = new File(parentFile, jarName);
                            return new JarIterator(fullJarPath.toURI().toURL(), filter);
                        }
                    }
                }
            }
            catch (Exception e) {
                throw new IOException(e);
            }
            throw new IOException("Invalid file protocol content: " +
                    virtualFile);
        }
    }

    public static class ClasspathUrlFinder
    {

        /**
         * Find the classpath URLs for a specific classpath resource.  The classpath URL is extracted
         * from loader.getResources() using the baseResource.
         *
         * @param baseResource
         */
        public static URL[] findResourceBases(String baseResource, ClassLoader loader, UrlFilter filter)
        {
            ArrayList<URL> list = new ArrayList<URL>();
            try {
                Enumeration<URL> urls = loader.getResources(baseResource);
                while (urls.hasMoreElements()) {
                    URL url = urls.nextElement();
                    if (filter == null || filter.accepts(url)) {
                        list.add(findResourceBase(url, baseResource));
                    }
                }
            }
            catch (IOException e) {
                throw new RuntimeException(e);
            }
            return list.toArray(new URL[list.size()]);
        }

        /**
         * Find the classpath URLs for a specific classpath resource.  The classpath URL is extracted
         * from loader.getResources() using the baseResource.
         *
         * @param baseResource
         */
        public static URL[] findResourceBases(String baseResource)
        {
            return findResourceBases(baseResource, Thread.currentThread().getContextClassLoader(), null);
        }

        public static URL[] findResourceBasesContainingManifestKey (String manifestKey)
        {
            final Attributes.Name Key = new Attributes.Name(manifestKey);

            return findResourceBases("META-INF/MANIFEST.MF",
                    Thread.currentThread().getContextClassLoader(),
                    new UrlFilter() {
                        public boolean accepts(URL url)
                        {
                            try {
                                return new Manifest(url.openStream()).getMainAttributes().get(Key) != null;
                            } catch (IOException e) {
                                throw new RuntimeException(e);
                            }
                        }
                    });
        }

        public static URL findResourceBase(URL url, String baseResource)
        {
            String urlString = url.toString();
            int idx = urlString.lastIndexOf(baseResource);
            urlString = urlString.substring(0, idx);
            URL deployUrl = null;
            try {
                deployUrl = new URL(urlString);
            }
            catch (MalformedURLException e) {
                throw new RuntimeException(e);
            }
            return deployUrl;
        }

        /**
         * Find the classpath URL for a specific classpath resource.  The classpath URL is extracted
         * from Thread.currentThread().getContextClassLoader().getResource() using the baseResource.
         *
         * @param baseResource
         */
        public static URL findResourceBase(String baseResource)
        {
            return findResourceBase(baseResource, Thread.currentThread().getContextClassLoader());
        }

        /**
         * Find the classpath URL for a specific classpath resource.  The classpath URL is extracted
         * from loader.getResource() using the baseResource.
         *
         * @param baseResource
         * @param loader
         */
        public static URL findResourceBase(String baseResource, ClassLoader loader)
        {
            URL url = loader.getResource(baseResource);
            return findResourceBase(url, baseResource);
        }

        /**
         * Find the classpath for the particular class
         *
         * @param clazz
         */
        public static URL findClassBase(Class clazz)
        {
            String resource = clazz.getName().replace('.', '/') + ".class";
            return findResourceBase(resource, clazz.getClassLoader());
        }

        /**
         * Uses the java.class.path system property to obtain a list of URLs that represent the CLASSPATH
         */
        public static URL[] findClassPaths()
        {
            List<URL> list = new ArrayList<URL>();
            String classpath = System.getProperty("java.class.path");
            StringTokenizer tokenizer = new StringTokenizer(classpath, File.pathSeparator);

            while (tokenizer.hasMoreTokens()) {
                String path = tokenizer.nextToken();
                File fp = new File(path);
                if (!fp.exists()) continue; // throw new RuntimeException("File in java.class.path does not exist: " + fp);
                try {
                    list.add(fp.toURL());
                }
                catch (MalformedURLException e) {
                    throw new RuntimeException(e);
                }
            }
            return list.toArray(new URL[list.size()]);
        }

        /**
         * Uses the java.class.path system property to obtain a list of URLs that represent the CLASSPATH
         * <p/>
         * paths is used as a filter to only include paths that have the specific relative file within it
         *
         * @param paths list of files that should exist in a particular path
         */
        public static URL[] findClassPaths(String... paths)
        {
            ArrayList<URL> list = new ArrayList<URL>();

            String classpath = System.getProperty("java.class.path");
            StringTokenizer tokenizer = new StringTokenizer(classpath, File.pathSeparator);
            for (int i = 0; i < paths.length; i++) {
                paths[i] = paths[i].trim();
            }

            while (tokenizer.hasMoreTokens()) {
                String path = tokenizer.nextToken().trim();
                boolean found = false;
                for (String wantedPath : paths) {
                    if (path.endsWith(File.separator + wantedPath)) {
                        found = true;
                        break;
                    }
                }
                if (!found) continue;
                File fp = new File(path);
                if (!fp.exists())
                    throw new RuntimeException("File in java.class.path does not exists: " + fp);
                try {
                    list.add(fp.toURL());
                }
                catch (MalformedURLException e) {
                    throw new RuntimeException(e);
                }
            }
            return list.toArray(new URL[list.size()]);
        }
    }

    public static class WarUrlFinder
    {
        public static URL[] findWebInfLibClasspaths(ServletContextEvent servletContextEvent)
        {
            ServletContext servletContext = servletContextEvent.getServletContext();
            return findWebInfLibClasspaths(servletContext);
        }

        public static URL[] findWebInfLibClasspaths(ServletContext servletContext)
        {
            ArrayList<URL> list = new ArrayList<URL>();
            Set libJars = servletContext.getResourcePaths("/WEB-INF/lib");
            for (Object jar : libJars) {
                try {
                    list.add(servletContext.getResource((String) jar));
                }
                catch (MalformedURLException e) {
                    throw new RuntimeException(e);
                }
            }
            return list.toArray(new URL[list.size()]);
        }

        public static URL findWebInfClassesPath(ServletContextEvent servletContextEvent)
        {
            ServletContext servletContext = servletContextEvent.getServletContext();
            return findWebInfClassesPath(servletContext);
        }

        /**
         * Find the URL pointing to "/WEB-INF/classes"  This method may not work in conjunction with IteratorFactory
         * if your servlet container does not extract the /WEB-INF/classes into a real file-based directory
         *
         * @param servletContext
         * @return null if cannot determin /WEB-INF/classes
         */
        public static URL findWebInfClassesPath(ServletContext servletContext)
        {
            String path = servletContext.getRealPath("/WEB-INF/classes");
            if (path == null) return null;
            File fp = new File(path);
            if (fp.exists() == false) return null;
            try {
                return fp.toURL();
            }
            catch (MalformedURLException e) {
                throw new RuntimeException(e);
            }
        }
    }

    public interface AnnotationListener
    {
        void annotationDiscovered (String className, String annotationType);
    }

    public static Map<Annotation, AnnotatedElement> annotationsForClasses (Collection<String> classNames, Class[] types)
    {
        Map<Annotation, AnnotatedElement> annotationMap = new IdentityHashMap();
        for (String className : classNames) {
            annotationsForClassName(className, types, annotationMap);
        }
        return annotationMap;
    }

    /**
     * Lookup all annotations on the given class.  Should be called late/lazily
     * to avoid class instantiation until absolutely necessary
     * @param className name of class to search
     * @param types the annotation classes to filter for
     * @return map from Annotation class to introspection Field, Method, or Class
     */
    public static Map<Annotation, AnnotatedElement> annotationsForClassName (String className, Class[] types)
    {
        Map<Annotation, AnnotatedElement> annotationMap = new IdentityHashMap();
        return annotationsForClassName(className, types, annotationMap);
    }

    public static Map<Annotation, AnnotatedElement> annotationsForClassName (String className, Class[] types,
                                                              Map<Annotation, AnnotatedElement> annotationMap)
    {
        Class cls = ClassUtil.classForName(className);
        Assert.that(cls != null, "Unable to find class: %s", className);

        for (Method method : cls.getDeclaredMethods()) {
            _addToMap(annotationMap, method.getAnnotations(), method, types);
        }

        for (Field field : cls.getDeclaredFields()) {
            _addToMap(annotationMap, field.getAnnotations(), field, types);
        }

        _addToMap(annotationMap, cls.getAnnotations(), cls, types);

        return annotationMap;
    }

    static void _addToMap (Map map, Annotation[] annotations, AnnotatedElement ref, Class[] types)
    {
        if (annotations == null) return;
        for (Annotation a : annotations) {
            for (Class type : types) {
                if (type.isAssignableFrom(a.annotationType())) {
                    map.put(a, ref);
                    break;
                }
            }
        }
    }

    static Map<String, List<AnnotationListener>> _AnnotationListeners = new HashMap();

    public static void registerAnnotationListener (Class annotationClass, AnnotationListener listener)
    {
        String key = "L" + annotationClass.getCanonicalName().replace(".", "/") + ";";
        List<AnnotationListener> listeners = _AnnotationListeners.get(key);
        if (listeners == null) {
            listeners = new ArrayList();
            _AnnotationListeners.put(key, listeners);
        }
        listeners.add(listener);
    }

    static void notifyAnnotationListeners (String className, String annotationType)
    {
        List<AnnotationListener> listeners = _AnnotationListeners.get(annotationType);
        if (listeners != null) {
            for (AnnotationListener l : listeners) {
                l.annotationDiscovered(className, annotationType);
            }
        }
    }

    static void processBytecode (StreamIterator iter, String filename)
    {
        if (_AnnotationListeners == null) return;
        visitBytecode(iter, filename,
            new Visitor() {
            String _classNamePath;

            public void visit(int i, int i1, String s, String s1, String s2, String[] strings)
            {
                // System.out.println(" *** CLASS " + s);
                _classNamePath = s;
            }

            public AnnotationVisitor visitAnnotation(String s, boolean b)
            {
                String className = _classNamePath.replace("/", ".");
                // System.out.println("   --  Class: " + className + " - Annotation.. " + s);
                notifyAnnotationListeners(className, s);
                return this;
            }

            public FieldVisitor visitField(int i, String s, String s1, String s2, Object o)
            {
                // System.out.println("   --  Field " + s);
                return this;
            }

            public MethodVisitor visitMethod(
                final int access,
                final String name,
                final String desc,
                final String signature,
                final String[] exceptions)
            {
                // System.out.println("   --  Method " + name);
                return this;
            }

            public void visitEnd()
            {

            }
        });
    }

    static void visitBytecode (StreamIterator iter, String filename, Visitor visitor)
    {

        try {
            InputStream is = iter.getInputStream();
            ClassReader cr = new ClassReader(is);
            cr.accept(visitor, 0);
        } catch (IOException e) {
            // skip?
        }
    }

    public static void scanClasses (Filter jarfilter, Filter jarEntryFilter, Visitor visitor)
        throws IOException
    {
        URL[] urls = AWJarWalker.findClassPaths();
        for (int i = 0; i < urls.length; i++) {
            URL jarURL = urls[i];
            if (jarfilter.accepts(jarURL.toString())) {
                AWJarWalker.StreamIterator iter =
                    AWJarWalker.create(jarURL, jarEntryFilter);

                while (iter.next()) {
                    String filename = iter.getFilename();
                    visitBytecode(iter, filename, visitor);
                }
            }
        }
    }

    public static class Visitor implements ClassVisitor, MethodVisitor, FieldVisitor, AnnotationVisitor
    {
        public void visit(int i, int i1, String s, String s1, String s2, String[] strings)
        {

        }

        public void visitSource(String s, String s1)
        {

        }

        public void visitOuterClass(String s, String s1, String s2)
        {

        }

        public AnnotationVisitor visitAnnotation(String s, boolean b)
        {
            return this;
        }

        public void visitAttribute(Attribute attribute)
        {

        }

        public void visitInnerClass(String s, String s1, String s2, int i)
        {

        }

        public FieldVisitor visitField(int i, String s, String s1, String s2, Object o)
        {
            return this;
        }

        public MethodVisitor visitMethod(int i, String s, String s1, String s2, String[] strings)
        {
            return this;
        }

        public void visitEnd()
        {

        }

        public AnnotationVisitor visitAnnotationDefault()
        {
            return this;
        }

        public AnnotationVisitor visitParameterAnnotation(int i, String s, boolean b)
        {
            return this;
        }

        public void visitCode()
        {

        }

        public void visitFrame(int i, int i1, Object[] objects, int i2, Object[] objects1)
        {

        }

        public void visitInsn(int i)
        {

        }

        public void visitIntInsn(int i, int i1)
        {

        }

        public void visitVarInsn(int i, int i1)
        {

        }

        public void visitTypeInsn(int i, String s)
        {

        }

        public void visitFieldInsn(int i, String s, String s1, String s2)
        {

        }

        public void visitMethodInsn(int i, String s, String s1, String s2)
        {

        }

        public void visitJumpInsn(int i, Label label)
        {

        }

        public void visitLabel(Label label)
        {

        }

        public void visitLdcInsn(Object o)
        {

        }

        public void visitIincInsn(int i, int i1)
        {

        }

        public void visitTableSwitchInsn(int i, int i1, Label label, Label[] labels)
        {

        }

        public void visitLookupSwitchInsn(Label label, int[] ints, Label[] labels)
        {

        }

        public void visitMultiANewArrayInsn(String s, int i)
        {

        }

        public void visitTryCatchBlock(Label label, Label label1, Label label2, String s)
        {

        }

        public void visitLocalVariable(String s, String s1, String s2, Label label, Label label1, int i)
        {

        }

        public void visitLineNumber(int i, Label label)
        {

        }

        public void visitMaxs(int i, int i1)
        {

        }

        public void visit(String s, Object o)
        {

        }

        public void visitEnum(String s, String s1, String s2)
        {

        }

        public AnnotationVisitor visitAnnotation(String s, String s1)
        {
            return this;
        }

        public AnnotationVisitor visitArray(String s)
        {
            return this;
        }
    }
}


The Media Factory(TMF), creators of the Sensa e-Learning system, understands the power and potential of the Internet and have positioned their resources to create useful products and services that compliment trends in online education.
TMF is a leader in designing technology that real people in the every day world can use. That's why they created Sensa e-Learning™, an online training solution that enables non-technical people to build and deliver online educational content themselves.
Sensa provides for the creation and delivery of online content that is enhanced with narration, images, text and even video. Testing and reporting are also a part of the Sensa package as are production support services to ensure the ultimate success of your training initiatives.


Charset A named mapping between sequences of sixteen-bit Unicode code units and sequences of bytes.
CharsetDecoder An engine that can transform a sequence of bytes in a specific charset into a sequence of sixteen-bit Unicode characters.
CharsetEncoder An engine that can transform a sequence of sixteen-bit Unicode characters into a sequence of bytes in a specific charset.
CoderResult A description of the result state of a coder.
CodingErrorAction A typesafe enumeration for coding-error actions.
CharacterCodingException Checked exception thrown when a character encoding or decoding error occurs.
IllegalCharsetNameException Unchecked exception thrown when a string that is not a legal charset name is used as such.
MalformedInputException Checked exception thrown when an input byte sequence is not legal for given charset, or an input character sequence is not a legal sixteen-bit Unicode sequence.
UnmappableCharacterException Checked exception thrown when an input character (or byte) sequence is valid but cannot be mapped to an output byte (or character) sequence.
UnsupportedCharsetException Unchecked exception thrown when no support is available for a requested charset.
CoderMalfunctionError Error thrown when the decodeLoop method of a CharsetDecoder, or the encodeLoop method of a CharsetEncoder, throws an unexpected exception.


Made up of six founding companies and based in Sydney, the Developers Forum connects small to medium developers and builders within the construction industry and provides access to important industry and professional services information. The Forum hosts two events biannually to provide members and partners with the opportunity to showcase their services, and materials and participate in open discussions on key industry news.
The Deli was onsite at the Forum's most recent event at the Waterview filming presentations & b-roll in order to capture the true engagement, interaction and community feel the event delivers with a highlights video.


NEW YORK — The Nets looked like the old Nets last night, doing what they used to do to the Knicks before Jason Kidd decided he didn't want to play here anymore.
When things were bad, those Nets always could count on a big win over the Knicks to lift their spirits and demoralize New York and their fans in their building. Actually, those Nets did it during good times, too.
But the Nets came into this game probably at their lowest, after four straight losses out West, after losing their point guard and leading scorer to a shoulder injury and after their energetic athletic backup big man was arrested and subsequently suspended two games by the team.
The timing for the Nets' retro performance couldn't have been better and fittingly it was Vince Carter who had another turn-back-the-clock night in a rousing 115-89 win over the Knicks that at least showed New Jersey has life.
The win meant the Nets are ahead of the Knicks again, by half a game. But, it's a long road ahead with 14 to play because the Nets still have to leapfrog three teams to make the postseason.
The Nets are 2� games behind Chicago, the current holders of the East's eighth and final playoff spot and their schedule turns brutal again with the next four games against the Heat, a home-and-home with the Cavaliers and Kobe Bryant's lone Meadowlands appearance.
But the Nets needed this win, after that trip, after showing little heart or desire in Denver to close the winless journey. They played with pride. They played with passion. They made the Knicks look foolish, just like the old days.
"For us to come out and act like this and play together and compete on the glass because we took a beating on the glass on the road — it was just a great win for us," Carter said.
As you would expect Carter was the leader, and he had to be with Devin Harris not even in the building because of his sprained left shoulder and strained deltoid. Carter picked the perfect time to put the Nets on his shoulders and take over the game and perhaps their season.
The Nets were down three to open the second and with seven Carter shot attempts and one foul shot, they suddenly led by three. It took 3:50 for Carter to score 17 points. That was more than every Knick but two had for the entire game.
When Carter was done the Nets were up 10 and they just kept building the lead as everyone followed their captain, who breathed energy into his team when it appeared their legs were a little wobbly.
And so were the Nets.
Then it was rookies Brook Lopez and Chris Douglas-Roberts and then it was Keyon Dooling, who was subbing for Harris as a starter. Those three combined for 54 points and 23 assists.
The Nets are going to need big games from Carter and big production from others, especially while Harris is out. He's expected to miss the next two games at least and when he comes back who knows if he'll be as effective right away as he was before Marcus Camby took him out.
But, if the Nets play with this passion and urgency they'll at least give themselves a chance. Still, they need help, lots of it, but they have to help themselves first and this was a step in that direction.
Vince Carter is a great player. He is a team player!
Vince Carter is not only a good player himself, but also a good organizer in the team and reliable player when the team needs. Not only he made scores, but also supported other teammates scores and serious in defense.
The main reason that NETS losses in the WEST trip, was that NETS hurted Vince Carter before. There were many rumors that NETS wanted to trade Vince Carter, which definitely hurted Vince Carter and the whole team.
Now the ONLY hope for NETS to go playoff, is to give the team on court to Vince Carter, who is the leader which NETS need, not anyone else.
NETS can win because of no Harris on court. Harris as individual has very good skills and talent, especially on one on one. But Harris is short and thin, he is not Michael Jordan.
For a long time, NETS played Harris as the No.1 score maker, Harris can make very good statistic datas each game, but other team players did not have many chances, and NETS of course lost the most games.
Carter is team player, he can make score. He also keeps watching other teammaters for open chances. He also can dunk and pass ball.
If NETS want to play better, NETS should give more chances to LOPEZ, the inside center. It is too difficulty for a team to win through a short guard.


text:
Register to Visit Book your Stand
Exhibitors, click here to book your 2023 stand 17 January 2023 Last chance to visit 16 January 2023 Shopper's delight 15 January 2023 Warm welcome to Harrogate 12 January 2023 At the ready! 04 January 2023 Cracking off to a great 2023 21 December 2022 Merry Christmas 14 December 2022 What makes a great grotto? 08 December 2022 Market must 30 November 2022 Advent begins 23 November 2022 Novel Christmas 16 November 2022 Light up for Christmas 09 November 2022 Gearing up for Christmas 02 November 2022 A Christmas of creativity and nostalgia 24 January 2022 Harrogate reports resounding success 17 January 2022 Show confidence 15 January 2022 Welcome to Harrogate! 12 January 2022 Are you ready? 06 January 2022 Gifts for every occasion 05 January 2022 The show goes on . . . 23 December 2021 Season's Greetings 15 December 2021 Dress to Impress 09 December 2021 Christmas confidence 02 December 2021 Ensuring your safety 24 November 2021 The lights are on 17 November 2021 DIY Christmas 09 November 2021 Christmas is Coming 06 August 2021 First diary date for 2022 10 March 2021 Christmas & Gift 2021 cancelled. Next Event is in January 2022 08 February 2021 Harrogate Christmas & Gift Moves to May Show 16 October 2020 Show must go on... 07 February 2020 Positive vibes for Christmas 14 January 2020 Getting personal 13 January 2020 Discover what's trending 12 January 2020 Seven decades and still thriving 11 January 2020 Show opens today 09 January 2020 Just days to go 06 January 2020 Hit the ground running in 2020 22 December 2019 Join us for celebrations 13 December 2019 Dressed to impress 03 December 2019 The main event 23 November 2019 Are you keeping up with traditions? 09 November 2019 Marking the run up to Christmas 30 October 2019 What's hot for Halloween 18 October 2019 70 years young and still going strong 05 February 2019 Confidence in Christmas 2019 16 January 2019 Doors close on another successful show 15 January 2019 Still time to visit 14 January 2019 Increase in visitors 13 January 2019 Cracking good Christmas 12 January 2019 Prepare to be impressed 09 January 2019 Hark the herald - Harrogate is here! 03 January 2019 New year and resolutions
Exhibitor, Product & Brand Search
New Exhibitors
Fair Information >
Hall Plans
Cash Machines
Travel Plans & Help
Fair Snapshots
Exhibitor Links
Register to Visit
What's on in Harrogate
Rates & Booking Form
Important Exhibitor Information
Beware of FairGuide
Previous Exhibitor Login
Home > Press Releases
Last chance to visit
Day three of Harrogate Christmas & Gift and what a great show it's been so far. Retailers and buyers have been spoilt for choice with an array of exciting new products. This year we have more than 20 new exhibitors and this has certainly added another new dimension to the show. Every year, we can't help be surprised by the creativity and innovation that the Christmas and gift industry has to offer and its exciting to know that we will see these eye-catching designs in the shops next Christmas.
Shopper's delight
Day two of the show was once again greeted with enthusiasm by the visitors attending today. Among these were buyers from garden centres from around the country, department stores, independent gift retailers, visitor attraction shops and event organisers to name just a few. They were certainly spoiled for choice when seeking new and exciting products to brighten their shelves in the run up to Christmas 2023. With seven halls of the Convention centre packed to the brim.
Warm welcome to Harrogate
Anyone unfamiliar with the Christmas industry would be forgiven for thinking that they'd gone 'back to the future' as they entered the halls of Harrogate Convention Centre today. Here the festive season is far from over with seven halls packed with exciting new products, festive smells and twinkling lights.
At the ready!
With just three days until Harrogate Christmas & Gift opens its doors to the trade, visitors to the UK's favourite festive trade show are preparing to head to the beautiful North Yorkshire town of Harrogate ready to see the best of what the industry has to offer. Fortunately, rail strikes are now over, so those travelling to the show by train can do so easily (trains from London Kings Cross take around three hours). Journey by car is very straight forward via the M1 or A1 - and Leeds Bradford airport is just 13 miles away for those choosing to fly.
Cracking off to a great 2023
Wishing you all a very Happy New Year and hope you enjoyed the Christmas festivities with family and friends. The Harrogate Christmas & Gift team are now busy helping exhibitors to set up some extraordinary stands in Harrogate - yes, they really do have to set up for the show this early! Some exhibitors have stands as much as 500 square metres - and in the case of Premier Decorations a staggering 1600 square meters - and literally thousands of products to put on display, it's hardly surprising that the entire process is extremely time-consuming.
With just days until you open the final window on your advent calendar, the Harrogate Christmas & Gift team wishes you all a happy and healthy Christmas 2022. We hope that you enjoy some down time to relax with family and friends ready to arrive at the show in January with fully recharged batteries.
What makes a great grotto?
Lights, decorations, Santa (of course!) and a gift for the kids. In 2022 these are the very basic requirements for a great grotto and anyone whose job it is to set the stage knows that competition is rife. According to Hello magazine there are 14 stand out Christmas grottos in the UK this year 5 in first place Story Time With Father Christmas at the Royal Albert Hall.
Market must
The UK is a follower of fashion with traditions adopted from around the world including American trends such as Halloween and baby showers. Undoubtedly one of the greatest of these has to be the Christmas market. Whilst these have been going since medieval times in Germany and parts of France, Christmas markets are a relatively new phenomenon in the UK with the majority less than 20 years old. However, they are now very much part of the festive celebrations with good-natured rivalry between cities and towns as to which has produced the best atmosphere this year.
Advent begins
December has arrived and we are now surrounded by an array of festivities from local Christmas celebrations with official turning on of lights, fireworks and funfairs - to Christmas concerts and school nativities. Lots of annual traditions are also coming into play with children eagerly waiting to open advent calendars - and numerous naughty elves coming out to cause mischief.
Novel Christmas
Earlier in the year, Sunday Times best-selling author Phillipa Ashley got in touch with Harrogate Christmas & Gift organisers for help with research for her new novel 'A Christmas Holiday' which has just been released. The fictional story is about a Christmas buyer who attends the show to find beautiful decorations for her customers. Phillipa says: "Harrogate Christmas & Gift is mentioned in the book, but please forgive the fact that the plot and characters had to come before real life!" The book, which is described as an uplifting, festive read, is available in most supermarkets, WH Smiths and on Amazon.
Light up for Christmas
Christmas is truly now on the minds of the nation as festive lights across the land are switched on to brighten up the darker nights. Not least, the famous London illuminations in Oxford Street, Covent Garden and Carnaby Street. Garden Centres are welcoming eager children with hopeful lists for Santa, whilst parents peruse spectacular displays of trees, lights, wreaths and ornaments - whilst grabbing a stocking filler or two on the way.
Gearing up for Christmas
With Halloween and bonfire night behind us - Christmas is now the focus of society with the majority of major supermarkets competing for the most imaginative TV advert of the year. There is focus on the cost of living crisis and how Christmas can still be a special celebration without breaking the bank.
A Christmas of creativity and nostalgia
According to Good Housekeeping magazine, the loss of the Queen and the cost-of-living crisis will make Christmas 2022 truly different to previous years. It predicts a real desire for nostalgia and the good old days and believes that consumers will be seeking unique, personalised gifts brought from local shops and makers, with sustainability high on the agenda.
Harrogate reports resounding success
After two years and a lot of uncertainty in the months running up to the show due to the Covid pandemic, Harrogate Christmas & Gift finally took place this week - and what an absolute resounding success it was for everyone involved.
Show confidence
Harrogate Christmas & Gift opened to a great start on its first day on Sunday with visitors demonstrating that Covid wasn't going to get the better of them this year by voting with their feet. Retailers and buyers flocked through the doors of the Harrogate Convention Centre; and with additional safety precautions in place, there was an air of confidence as they perused the fabulous products on display.
Welcome to Harrogate!
After two years since the last Harrogate Christmas & Gift Fair, the excitement is high in the halls of the Harrogate Convention Centre today as exhibitors put the final touches to their stands in readiness for visitors arriving at the show tomorrow.
The doors of Harrogate Christmas & Gift open this coming Sunday (16th January) and exhibitors are already busy creating gorgeous displays of the very latest in festive gifts and decorations. A full exhibitor list is available online but see below for a taste of what some companies have to offer!
With just ten days until the UK's favourite festive and gift event, exhibitors are gearing up to present an array of fabulous products at Harrogate Christmas & Gift. Whether you are seeking the latest in Christmas trees and lights, baubles and decorations; or something completely different in the gift arena to tempt your customers all year round – this is the show for you, with everything from candles and fragrance products, to home and garden ware, and gifts for almost every occasion.
The show goes on . . .
With Christmas 2021 behind us, the UK's festive and gift industry can start planning for 2022 celebrations with the first port of call, Harrogate Christmas & Gift which takes place from 16th to 19th January 2022 at the Harrogate Convention Centre.
The big day is almost upon us and before we don our Christmas hats and put our feet up with a glass of sherry and a mince pie, the Harrogate Christmas & Gift team would like to wish exhibitors and visitors a very happy and healthy festive break and we look forward to seeing you all at the show on 16th January 2022.
The Jones' are getting more competitive each year so it's great to fill your shelves with an array of the latest 'must-have' goodies to ensure your customers can keep up with them! A visit to Harrogate Christmas & Gift will certainly help you to achieve that - exhibitors will have everything from the latest innovations in lights, trees and decorations, to fabulous gifts and home decor ranges. In fact you are pretty much guaranteed to find everything you could possibly require on the festive front - and for most other celebrations throughout the year too.
Christmas confidence
With Christmas last year practically cancelled for all, consumers are making up for lost time and splashing out on festivities for 2021 according to the British Retail Consortium trade body which reports that total sales this November were 5% higher than November 2020. It also advised that total retail sales grew 4.1% in November 2021 compared to the same month in 2019. In addition, separate Barclaycard data shows that total consumer spending was 16% higher last month than in November 2019.
Ensuring your safety
With new government measures announced regarding the Omicron Coronavirus variant, the organisers of Harrogate Christmas & Gift reassure show participants that all necessary measures will be taken to ensure the absolute safety of everyone attending the show.
The lights are on
Cities across the UK have begun the countdown to Christmas with festive lights and displays bringing our high streets alive, brightening the long dark days of December – and hopefully encouraging consumers to arrive in their hoards to enjoy the shopping experience that everyone missed so much last year.
According to a recent article in Good Housekeeping magazine, experts are predicting a trend for DIY decorations this year, stating that as a nation of crafters, Christmas will be the perfect time to proudly hang artistic offerings around the house for all to see and enjoy. For those not into getting out paint and glue, it is suggested that homes will be ditching the glitz and glamour for subtle, stripped back country styles using natural materials, with trendy pieces made from wood, feathers, pine cones and dried fruit. Apparently, sustainability will also be high on agendas with re-usable and recycled products such as re-usable crackers and advent calendars popular choices for families.
With just over two months until Harrogate Christmas & Gift, the festive industry is gearing up for its most important trade event of the year from 16th to 19th January 2022 at the Harrogate Convention Centre.
First diary date for 2022
Harrogate Christmas & Gift looks forward to being one of the very first trade shows of 2022 - taking place from 16th - 19th January at the Harrogate Convention Centre - providing retailers and suppliers of festive and gift-related products the opportunity to get next year's business off to a bumper start.
Priority booking now open
The Harrogate Christmas & Gift team looks forward to returning to 'normal business' and has just opened priority booking for its 2022 show, which takes place at the Harrogate Convention Centre from 16th> to 19th January 2022.
Christmas & Gift 2021 cancelled. Next Event is in January 2022
Harrogate Christmas & Gift 2021 - which had been postponed from its original date in January to May - has now been cancelled for this year. The next event will now be in 2022 from Sunday 16th January to Wednesday 19th January 2022 at the Harrogate Convention Centre.
Harrogate Christmas & Gift Moves to May Show
Harrogate Christmas & Gift, the UK's leading trade show for the festive goods and gifts industry, has moved its date from January to May in response to the pandemic and is now open Stand bookings. The event takes place at the Harrogate Convention Centre from Sunday 9th to Tuesday 11th May 2021. The show is usually in January catering to the requirements of the Christmas decorations industry but is widely attended by buyers from numerous sectors including garden centres, independent and multiple gift stores, tourist and visitor attractions shops, and cathedral and heritage centres to name just a few. These are generally seeking not only decorations for Christmas, but gifts and impulse purchases to tempt customers the entire year-round.
Harrogate Christmas & Gift moves to early May
"We are delighted to confirm that we have now secured new dates for the show from Sunday 9th May to Tuesday 11thMay 2021 at the Harrogate Convention Centre and will keep everything crossed that the Covid situation is under control and we are able to continue with plans by this time."
Harrogate Christmas & Gift Fair moves to February. The UK's favourite trade show for the festive and gifts sector has announced a new date for 2021.
Positive vibes for Christmas
Booking forms for Harrogate Christmas & Gift 2021 - which will once again be at the Harrogate Convention Centre from 10th to 13th January - will be available in March.
Walking through the halls of the Harrogate Convention Centre on the third day of Harrogate Christmas & Gift (Tuesday), new product trends at this year's show are quickly evident. Of course, Christmas decorations from trees and tinsel, to lights and baubles are hugely prominent; but there also appears to be an advent of personalised products with everything from chocolate bars to jigsaw puzzles and watches. It seems that if you have a name – there is a product out there to put it on!
Discover what's trending
Day two of Harrogate Christmas & Gift and business remains brisk in the halls of the Harrogate Convention Centre. With so many fabulous new products to choose from at the show, retailers and buyers attending have their work cut out selecting items to tempt their customers next year. However, help is at hand as many exhibitors are presenting colour coordinated collections including merchandising solutions to create eye-catching displays and optimise sales opportunities.
Seven decades and still thriving
Harrogate Christmas & Gift opened its doors today bringing festive and gift suppliers and buyers together for the 70th consecutive year. In 1949, the show presented a very different picture, and although the industry and retail platform has evolved dramatically over the decades, if the thriving halls of the first day of the event are anything to go by, Christmas is still very much big business.
Show opens today
The culmination of many months of hard work and preparation come to fruition today as the doors of the Harrogate Convention Centre open on the industry's ultimate event – Harrogate Christmas & Gift.
Just days to go
With just a few days until Harrogate Christmas & Gift, the halls of the Harrogate Convention Centre are filling nicely as exhibitors arrive en masse with a whole host of very exciting new products to really get into the swing of Christmas in 2020. Visitors to the show are certainly in for a treat with over 25 new companies attending for the first time and eight halls bursting at the seams everything imaginable for not only Christmas, but Halloween and other celebratory occasions, home and garden ware and gifts galore!
Hit the ground running in 2020
Happy New Year to one and all - we hope you had a fabulous Christmas and well-deserved break with family and friends. The 12th day of Christmas is Sunday 5th January, so hopefully you have cleared away the tinsel and vacuumed pine needles from your floors - and are optimistically looking forward to a prosperous and thriving new decade!
Join us for celebrations
Harrogate Christmas & Gift has been thriving for 70 years! And to celebrate its anniversary the organising team invites all exhibitors and visitors to join them in the Royal Hall of the Harrogate Convention Centre on Monday 13th January 2020 from 6.00pm to 8.30pm for drinks and canapes (straight after the show).
Dressed to impress
The Jones' are getting more competitive each year and helping your customers keep up with them at Christmas is no easy task. However, a visit to Harrogate Christmas & Gift from 12th to 15th January 2020 will certainly solve many of your retail tribulations with exhibitors presenting the very latest in new 'must-have' decorations, Christmas lights, gifts and much more. In fact, you are pretty much guaranteed to find everything you could possibly require on the festive front - and for most other celebrations throughout the year too.
With the Black Friday weekend behind us and Christmas just three weeks away, retailers can now set their minds firmly on the main event. If rumours are correct, grottos around the country are pretty much booked up with people desperately trying to find available slots for their children to meet Santa before the big day. Let's hope that these family outings prove fruitful for one and all - and that outlets have planned and stocked up well ahead with lots of goodies to tempt everyone who comes seeking some festive experiences.
Are you keeping up with traditions?
The way we celebrate Christmas continues to evolve each year with new fashions and trends emerging. This is a great opportunity for retailers to jump on board and ensure they have the offerings that customers will be searching the high street for.
Marking the run up to Christmas
Each Christmas there seems to be an influx of products that weren't quite as prolific the year before - for example, Christmas Eve boxes which became on-trend last year. This year, the Advent Calendar seems to have made a big come back with everything from kid's calendars filled with little toys; beauty calendars with make-up products; alcoholic calendars with miniature tipples; and of course, trusty chocolates filling the supermarket shelves.
What's hot for Halloween
Whilst much of the UK (and actually the world) is bracing itself for a night of pumpkins, spooks and lots of Halloween sweets and treats - retailers can give themselves a big pat on the back for making this ever-growing annual "celebration" more flamboyant than ever before.
70 years young and still going strong
It's that time of year again, the heating (for the less hardy) has been switched on; it's dark earlier and earlier in the evening; and irresistible bright coloured tubs of chocolates are loaded onto supermarket shelves - yes, it is less than 70 days until CHRISTMAS!
Confidence in Christmas 2019
Christmas is a time for good will and optimism, and this was certainly reiterated at Harrogate Christmas & Gift 2019 which experienced an increase in visitor numbers for the seventh year running. Whatever world politics has in store for us, retailers and buyers attending the show made it clear that they are planning for a bumper 2019 festive season with many exhibitors reporting a record number of orders taken.
Doors close on another successful show
Harrogate Christmas & Gift enjoyed another bustling show this year, with over 5,000 visitors flocking to the Harrogate Convention Centre to see the very best products that the industry has to offer.
Still time to visit
With just a day until Harrogate Christmas & Gift closes its doors for another year, visitors attending the show have expressed delight at the quality and diversity of products on display and have left happy in the knowledge that they have Christmas 2019 well on the way to being wrapped up.
Increase in visitors
The highest number of visitors arrived at Harrogate Christmas & Gift for more than a decade on Sunday 13th January (the first day of the show), with more than a 10 percent increase in footfall from the same day last year. Simon Anslow, show organiser, comments: "Since 2011, Harrogate Christmas & Gift has averaged an increase in visitor numbers year-on-year of around 10 percent. 2019 has been no exception and demonstrates the growing popularity and importance of this trade show to retailers in the festive goods and gifts sectors."
Cracking good Christmas
Harrogate Christmas & Gift 2019 got off to a bumper start today with buyers flocking to the show to see the latest new festive products the industry has to offer. From the moment you enter through the doors of the Harrogate Convention Centre, all the senses are bombarded. Smells from candles, diffusers, pine needles and scented pine cones waft through the halls; whilst tinsel, baubles and lights glitter and shimmer; and a distant melody of festive music can be heard under the hum of enthusiastic chatter.
Prepare to be impressed
The doors to Harrogate Christmas & Gift open today (Sunday) and as always, visitors are in for a fantastic few days of festive fun. This year we have over 120 exhibitors filling seven halls of the Harrogate Convention Centre - and over 30 of these are brand new companies showing products for the first time.
Hark the herald - Harrogate is here!
Just when you thought that the fun was over – Harrogate Christmas & Gift opens its doors this weekend promising plenty of extra-festive cheer, plus the opportunity to fill those order books with fantastic gifts to keep customers happy for the coming year. The show offers over 35 new exhibitors (and still has last minute bookings coming in!). Many of these are in Hall Q so be sure to head in that direction – and together with all of your favourite festive and gift brands - there are plenty of new gems waiting to be discovered.
New year and resolutions
We hope that everyone had an enjoyable festive break and is ready to hit the ground running for a prosperous 2019. If you missed a trick with the Christmas 'must haves' in 2018 whether it be Christmas Eve Boxes and Naughty Elves - just when you had stocked up on unicorns; or rainbow trees when your bauble collection was getting nicely colour co-ordinated – then don't miss Harrogate Christmas & Gift in less than two weeks' time where exhibitors will be giving you a heads up on what consumers will be hitting the shops for next year.
Still time to get 2019 off to a bumper start
The show is fast growing as one of the most important UK trade shows for this sector � attended by garden centre, department store and tourist attraction buyers; multiple and independent retailers � in fact buyers from almost every sector looking for inspirational seasonal and year-round gift ranges.
Whilst putting up your feet and enjoying a little bit of Christmas cheer - here's a sneak preview of some of the fantastic products you are promised at Harrogate Christmas & Gift this year. From 13th to 16th January 2019 there are just over two weeks until the doors open on the first day of the show - and we can guarantee that Santa has come up trumps for buyers attending this year. Don't forget to register (and ensure your colleagues have too) at www.harrogatefair.com
Planning for action
This year, Harrogate Christmas & Gift is delighted to present over 30 new exhibitors at the show - and the majority of these will be located in Hall Q. This is a not-to-be-missed destination - and with seven halls of the Harrogate Convention Centre packed with exciting new products, be sure to allow plenty of time to fit everything in.
Just two weeks to go until we can hang up our hats and relax with family and friends for some festive fun – and those of you working in the Christmas industry undoubtedly deserve a much-needed break. These are the busiest shopping weeks of the year and retailers running Santa's grottos and special Christmas activities are flat out entertaining excited children and making their Christmas wishes come true. Harrogate Christmas & Gift has over 30 new exhibitors to the show this year, so if you are thinking of searching for some new Santa Grotto ideas for 2019 – this is the place to be.
It's never too early for Christmas
According to The Guardian, people complaining that Christmas has come too early is an age-old tradition: as early as 1901, the Philadelphia Inquirer bemoaned the early buying of Christmas presents. However, apart from a few bar humbugs, the consensus from those that it interviewed thought that tinsel and twinkling lights straight after Halloween gives us a much-needed boost in the dark winter nights and something to look forward to until we can all come out of hibernation in the spring.
Are you switched on?
With the majority of the UK's Christmas light displays now in full illumination - like London's Convent Garden with an iconic 55-foot British grown handpicked Christmas tree decorated with over 30,000 lights - consumers are now in full-blown festive shopping mode.
The magic of Christmas & Gift
For most retailers in almost every sector in the UK, Christmas is the key commercial season of the year and successful sales during November and December will oil the wheels and keep them turning for the following 12 months. It is hardly surprising therefore that one of the first 'must-attend' events of 2019 will be Harrogate Christmas & Gift - the number one trade show for Christmas retailers and everyone involved in any type of giftware from independent retailers and department stores, garden centres to tourist attraction outlets and florists.
Gain more than an extra hour in bed
The clocks went back this weekend, and despite the sunny weather sweeping across the UK in recent weeks, summer is now truly over. This means only one thing … Christmas is coming, the geese are getting fat (along with a few others of us!) – and the shops will hopefully be heaving with consumers seeking the latest gifts and decorations to celebrate the festive season.
Christmas & Gift is coming
If shops on the High street are a good indication, then Christmas is well and truly on its way; and that means it is just three months until the UK's most important trade show for the festive sector – Harrogate Christmas & Gift from 13th to 16th January 2019.
Get your 2019 sales rocketing
After another bumper event in 2018, Harrogate Christmas & Gift is now open for booking for its 2019 show which takes place at the Harrogate Convention Centre from 13th to 16th January 2019.
Another successful show
Harrogate Christmas & Gift 2018 continued momentum achieved over the last six years, with a great vibe throughout the halls of the Harrogate Convention Centre; and the majority of exhibitors and visitors spoken too having experienced another fantastic show.
Harrogate Christmas & Gift closed its doors on another hugely successful show yesterday and the majority of exhibitors left with packed order books; and visitors with the anticipation of some great new products ranges planned for the coming year. The Harrogate Christmas & Gift team would like to thank everyone for attending and making this the landmark event for the festive industry and looks forward to welcoming you all back next year - Sunday 13th to Wednesday 16th January 2019.
Decked the halls with plenty of footfall
Day three of the show and visitor numbers maintained momentum from previous years with retailers and buyers flowing through the halls of the Harrogate Convention Centre. Hall Q, which houses the majority of new exhibitors at the show and also the main catering area, has been particularly busy and has some extremely interesting new product ranges.
All go for day two
Almost 200 Exhibitors and visitors at Harrogate Christmas & Gift attended a hugely enjoyable social evening at the Old Swan last night with live entertainment and dancing until late. However, everyone was back into work mode at 9am this morning with the halls once again bustling with a fresh flow of visitors which included regional and national media.
First day of Christmas
Visitors arriving at Harrogate Christmas & Gift today were greeted with impressive decorations with sparkling lights and eye-catching window displays adorning the entire Harrogate Convention Centre. The halls are awash with colour and have been a hive of activity today as buyers perused the dazzling stands packed with everything from cushions and soft furnishings, ornaments and glassware, novelty gifts and toys to flowers, garlands and trees. The glorious smells of cinnamon, citrus and nutmeg emanate throughout the halls thanks to a number of different companies exhibiting spicy wreaths and pine cones and a variety of aromatherapy products throughout the show.
Exciting start to day one
Harrogate Christmas & Gift opens its doors at 9am today and visitors to the show are in for a treat as there are more exhibitors in 2018 than there have been for over a decade.
Your tickets are waiting!
Want to laugh until your sides split and eat until you're full to bursting? Then don't miss The Big Night Out on Sunday night after the show (14th January) with hilarious comedians Dave Spikey and Patrick Monahan and a fabulous four course dinner. For visitors and exhibitors at Harrogate Christmas & Gift it is still officially the festive season so a great excuse for one last Christmas indulgence.
Don't forget to pre-register
With over 40 brand new exhibitors at Harrogate Christmas & Gift this year, even regular visitors can look forward to seeing exciting new product ranges which are guaranteed to tempt their customers throughout 2018. Among the trees and tinsel, don't miss some fabulous gift ranges from candles and aromatherapy products, floral displays, food and drink ranges, leather and glass products and even cuddly hot water bottles! A full exhibitor list and product search can be found on the website at www.harrogatefair.com - and if you haven't already, or have new colleagues attending for the first time, don't forget to pre-register online to save time when you arrive at the show.
Let's get this party started
Happy New Year to one and all, and for those attending Harrogate Christmas and Gift in two weeks' time - the party season is about to happen all over again! Not only will you be spoilt for choice with amazing new festive and gift ranges but the chance to experience an awesome evening of great food, comedy entertainment and dancing until late. Tickets for The Big Night Out with top comedians Dave Spikey and Patrick Monahan are selling fast - don't miss this fantastic event. Full information is on the website at www.harrogatefair.com.
Harrogate Christmas and Gift exhibitors are now gearing up for the industry's favourite trade show and with over 40 companies brand new to the show, visitors will be spoilt for choice with exciting new festive and gift ranges. Don't forget to head for Hall Q of the Harrogate Convention Centre, which not only houses 46 exhibitors (including most of the new companies) but also offers lots of seating and hot food too.
Just three days until the big day - and no doubt an incredibly busy few shopping days for retailers and the chance to get those last-minute panic purchases in the bag. It is also just three weeks until the UK's favourite festive trade show - Harrogate Christmas & Gift, so don't forget to register online before you switch off your computer for the holidays.
Check out what's hot for Christmas
With just over a week until Christmas, retailers are bracing themselves for the last-minute rush and will no doubt be taking note of current buying trends. There is once again a notable fondness for Christmas themed jumpers with both adults and children adorning everything from Christmas puddings to reindeer on their fronts – but the big question is: what will be the hot products next year?
Tap into Trees
This week has seen real Christmas trees flying off the shelves – with prices varying hugely depending on the size and variety – and some outlets charging as much as £80 for a prime specimen. It's hardly surprising that many consumers will be thinking of investing in good quality artificial trees next year, so be sure to check out the latest innovations in Christmas trees at the show. Lots of exhibitors will be offering products which are hard to tell the difference between artificial and real – and there are even products to make them smell real too!
Many of you are poised for the first day of advent this Friday 1st December, ready to open the doors of your festive calendars (maybe with a sneaky chocolate!); but some towns across the UK are taking advent to a whole new level.
C&G - The BIG night out!
Harrogate Christmas & Gift has announced a fabulous new event this year - an evening of entertainment with top comedian Dave Spikey, co-star of That Peter Kay Thing and Phoenix Nights; plus, one of the original team captains on hit series 8-out-of-10 Cats. Dave will also be accompanied by hilarious Irish, Iranian, Geordie comedian Patrick Monahan who won Show Me the Funny in 2011 and performs regularly at the Edinburgh Festival Fringe.
A host of exciting new products
Harrogate Christmas & Gift welcomes a host of brand new exhibitors to the show this year and promises retailers and buyers a larger and more diverse range of products than ever before. Exhibiting for the first time includes Heyland and Whittle with gorgeous hand-made soaps, candles and room diffusers; and Charles Taylor Trading with traditional hand-crafted garden furniture and Giftscribes Gifts which is the sole UK wholesale distributor of the Rudolph and Me Inc. products with one of the largest selection of personalisable Christmas tree decorations in the UK and currently over 250 designs to choose from.
Get your weekend off to a spooky start
Little witches and ghouls will be crawling out of the woodwork this weekend as children around the world get ready to visit their neighbours and friends for a trick or a treat. Halloween is without doubt becoming a major occasion here in the UK and many exhibitors at Harrogate Christmas & Gift will be presenting products to join in with the celebrations.
Join the 'Q'
Harrogate Christmas & Gift 2018 is bigger than ever extending to seven halls of the Harrogate Convention Centre with the most extensive array of products for Christmas, home and garden and gifts for almost every occasion.
Countdown to your favourite trade show
It's literally three months until Harrogate Christmas & Gift 2018 and the organisers report a flurry of exhibitor bookings from new companies guaranteed to inject some extra excitement into the show. There will be numerous new product ranges for buyers to choose from, including Allsorted with a range of gift books and stationery; Gwynedd Confectioners - the largest independent chocolate manufacturer in Wales; and The Elf Store with its hugely popular Elf on the Shelf collection.
All you want for Christmas - and much more
With summer now firmly behind us, the industry is gearing up for the most important business event of next year - Harrogate Christmas & Gift, which takes place from 14th to 17th January 2018.
Further growth for Harrogate
Harrogate Christmas & Gift 2017 exceeded all expectations once again with an increase in visitor numbers for the sixth year running. The show, which also had an rise in exhibitors having to open two new halls to cater for demand this year; welcomed almost 5,000 buyers through its doors - five per cent more than in 2016.
Last day and still lots to see
There was a great turnout for the Harrogate Christmas & Gift team's networking event after the show on Monday evening with compliments from exhibitors and visitors about the delicious canapés and stunning Royal Hall location.
Celebrations all round
Numerous garden centre buyers attending Harrogate Christmas & Gift were celebrating yesterday following the announcement of the winners of the Greatest Christmas Awards on Sunday night. Organised by Garden Trade News, the event took place at the Majestic Hotel and entertainment was enjoyed by all.
New exhibitors and an action packed show
Visitors to Harrogate Christmas & Gift yesterday have been delighted by the quality and quantity of exhibitors the show has to offer this year. With over 100 companies participating and two new halls – Hall Q and the Kings Suite – there are some great new, never seen before ranges.
Harrogate Christmas & Gift extends a warm welcome to all exhibitors and visitors attending the 2017 show. The doors open today (Sunday 8th January) at 9.00am and if pre-registrations are anything to go by, you can expect another very busy show this year. With two new additional halls of the Harrogate International Centre (Hall Q and The Kings Suite) and a significant increase in exhibitors, retailers and buyers can expect an action packed four days with a whole host of exciting new products to tempt their customers.
Join us for Christmas fun
Festive celebrations aren't over for visitors to Harrogate Christmas & Gift this coming Sunday 8th to Wednesday 11th January, as whilst the show offers amazing new purchase opportunities – there is a chance to let your hair down and have some fun too. On Sunday evening, Garden Trade News is hosting its Greatest Christmas Awards at the Majestic Hotel.
Just a few days to go!
Hall Q is definitely 'the destination' at Harrogate Christmas & Gift next week as it houses the majority of new exhibitors and is also the main catering facility for the event. Several favourite brands have also relocated to this hall including Playwrite Group, Hometown World and Ackerman International, so be sure to visit them in their new location.
Parties and celebrations will fill homes across the world this Saturday as families welcome in the New Year. Hopefully, retailers have had a busy Christmas and will be successful in clearing remaining stock in the January sales, making room for exciting new ranges for 2017.
Time to reflect
With just a week to go until the big day, excitement is high in households across the country as children eagerly await Santa's arrival.
Christmas is fast approaching and festivities are very much in full swing with office Christmas parties (and more than a few sore heads); supermarkets echoing with everything from 'Santa Baby' to 'Rockin around the Christmas tree;' and cards piling through the letter box like no tomorrow!
There are just 20 shopping days until the big day and retailers across the country are bracing themselves for the busiest few weeks of the year.
Christmas Kisses
Harrogate Christmas & Gift welcomes a host of brand new exhibitors to the show this year and promises retailers and buyers a larger and more diverse range of products than ever before.
Bring some cheer to the dark nights
Now that the clocks have gone back and the UK is plunged into darkness by 5pm, it's hardly surprising that the focus is now firmly on Christmas as people try to bring a bit of optimism into cold winter nights.
This weekend has two notable events - the clocks go back one hour on Sunday night, so you get an extra hour in bed - and it's the UK's favourite spooky event, Halloween.
Lighting the night
With long nights drawing in, yet mild weather remaining, it's hardly surprising that families across the UK are enjoying their gardens long into the autumn and consequently the demand for decorative outdoor lighting has never been greater.
Countdown to the UK's favourite festive show
The UK's favourite trade show for everyone involved in the festive and gift market - from garden centres, department stores, independent retailers right through to UK visitor attractions and hospitality venues - is fast approaching, with just three months until Harrogate Christmas & Gift.
Additional halls opened to accommodate new exhibitors
Harrogate Christmas & Gift welcomes a host of new exhibitors for the 2017 show and having completely sold out its original hall allocation of A,B,C,D,H & M at the Harrogate International Centre in Harrogate, has now opened a further two exhibition halls KINGS SUITE AND HALL Q.
Further growth for Harrogate Christmas & Gift
The doors of Harrogate Christmas & Gift 2016 closed on Wednesday 13th January 2016 with another hugely successful show for all involved. Visitor numbers were up by eight percent this year with exhibitors and visitors reporting brisk business.
There's still time to attend!
There was a great turn out for the Harrogate Christmas & Gift networking reception which took place in the Royal Hall of the Harrogate International Centre straight after the show on Monday. For many attending the show, this was the first time they had experienced the stunning venue which underwent a multi-million pound renovation in 2008; and together with flowing refreshments added to the ambience of the occasion.
Increased attendance for the fifth year
The second day of Harrogate Christmas & Gift has proved fruitful for exhibitors and visitors alike with brisk business reported by companies participating. The number of buyers attending has once again increased compared to the first two days of the 2015 show and with two more days to go, looks likely to reap another good increase in attendance.
Fabulous first day
With online registrations higher than ever this year, it was hardly surprising that queues of visitors were eagerly awaiting the doors of Harrogate Christmas & Gift to open at 9am yesterday (Sunday) morning.
Look forward to seeing you on Sunday
The doors to Harrogate Christmas & Gift open tomorrow and this year promises to be a bigger and better show than ever before. Now a firm favourite with retailers and buyers in the Christmas, gift, garden, leisure and visitor attraction sectors, the show has grown significantly in recent years and we promise you an action packed few days with plenty to see and do. We can guarantee that you will not only leave with lots of exciting new products to entice your customers in 2016, but will have the chance to make important new industry contacts - as well as the chance to let your hair down and enjoy some fun too.
Make a beeline for the Queen's Suite
Harrogate Christmas & Gift extends to seven separate halls of the Harrogate International Centre this year with the inclusion of the Queen's Suite for the very first time. This new hall provides the home to 21 exhibitors of which 13 are brand new companies attending the show, including Hometown World Ltd, Nutscene (1922) Ltd, Fountasia International and Westbury Garden Products. A firm favourite - Gardman Ltd (Stand QS20) - is also moving into the Queen's Suite this year - and with all this plus a new catering facility within makes it a firm point of interest for all visitors attending the show.
Countdown to your favourite show
A very Happy New Year to one and all! We hope that after a well-deserved break you return to your desks feeling refreshed and optimistic for a rewarding and fruitful 2016.
The countdown is now on for welcoming in the New Year and hopefully you have your resolutions in order for 2016! First on your list is to attend Harrogate Christmas & Gift from 10th to 13th January. The show promises to be an absolute bumper event this year with over 20 brand new exhibitors with some stunning new gift ranges.
Wishing you Christmas Cheer!
It's finally almost here - the day we've all been waiting for. With your Brussels sprouts on boil and the Turkey well and truly basted; The Harrogate Christmas & Gift teams hopes that you can enjoy the chance to put your feet up and enjoy some quality family time.
With just five days until the big day, the majority of the country is either relaxed and ready for the festive celebrations or in panic mode trying to find those last minute gifts. The Harrogate Christmas & Gift team would like to wish everyone a very merry Christmas - this has been a busy month for everyone in the industry and we hope that you all get some well-deserved relaxation with family and friends.
Balancing Christmas stock
There appears to be two types of personalities when it comes to Christmas - the organised kind which purchased presents and had them wrapped and under the tree in October; and the 'in denial' type (like me) which are hiding their heads in the sand and hoping that the shops will still have some gifts left on their shelves on Christmas Eve.
Santa's elves are out in force
It's hard to believe that it's less than three weeks until Christmas. Excitement is high across the country with children pleading with their parents to pay that extra special visit to Santa to share their wish lists with him.
Let the festivities begin
With December on our doorsteps, Christmas festivities are now in full swing with High Streets across the country adorned with lights and shopping malls and garden centres opening their grotto doors.
Each to their own
Whilst we here in the UK are looking forward to decking our halls with boughs of holly and peeling Brussels sprouts to go with our turkey, our friends around the world have some very different Christmas traditions.
Record number of new exhibitors
Visitors to Harrogate Christmas & Gift are guaranteed to find exciting new product ranges at the show next year, as not only is it almost fully booked but there are over 30 brand new exhibitors attending in 2016.
Brighten the darkness
It is incredible how just a few weeks after the clocks went back an hour, the UK is now plunged into darkness by 5pm and we still have a way to go before we reach the shortest day. However, gloomy though the evenings have become, the stores are filled with dazzling displays with lights, tinsel and Christmas trees as well as lots of enticing new gift ideas.
Following fashions
Consumer magazines and websites across the UK are busily predicting 'must have' products for Christmas 2015 with features covering everything from family gifts to decorating the home for a truly festive feel.
Get set for Christmas
Whilst the UK has unexpectedly been bathed in sunshine for the last few weeks, it's now officially autumn and we are fast approaching what - for most retailers - is the busiest time of the year. Whilst you are getting out the baubles and tinsel and decking your halls with boughs of holly - don't forget to register for your most important trade show of the year - Harrogate Christmas & Gift which takes place from 10th to 13th January 2016 at the Harrogate International Centre.
Bumper Event on the cards
With many months to go until Harrogate Christmas & Gift, the organisers advise that the show is almost sold out, with existing exhibitors reserving larger stand spaces and numerous new companies jumping on board.
Business looks brisk for Christmas
With over seven months until the doors open to Harrogate Christmas & Gift 2016, the show is proving its reputation as the pivotal trade event of the year with two halls of the Harrogate International Centre already sold out and five further Halls fast following suit.
Secure your 2016 stand
After an outstandingly successful show, exhibitors participating in Harrogate Christmas & Gift 2015 now have first option to secure their stand space for 2016, confirming either the same location or to request a new position.
Garden centre and gift buyers flood to Harrogate
The 66th Harrogate Christmas & Gift closed its doors on one of its most successful shows ever in January with the majority of exhibitors reporting a first class event.
See us on
stand M14, 16, 28
Harrogate Convention Centre
King's Road
HG1 5LA
Christmas & Gift
9 Tipton Street
DY3 1HE
or +44 (0)1902 880 906
info@harrogatefair.com
Copyright © 2023 Harrogate Christmas & Gift. The Organisers and TouchFinder are not responsible for the content of external sites.

redpajama_set_name: RedPajamaCommonCrawl


text:
How to Love by Katie Cotugno
Published: October 1, 2013 by Balzer + Bray
Source: Borrowed from Tara - thank you!
Before: Reena Montero has loved Sawyer LeGrande for as long as she can remember: as natural as breathing, as endless as time. But he's never seemed to notice that Reena even exists until one day, impossibly, he does. Reena and Sawyer fall in messy, complicated love. But then Sawyer disappears from their humid Florida town without a word, leaving a devastated-and pregnant-Reena behind.
After: Almost three years have passed, and there's a new love in Reena's life: her daughter, Hannah. Reena's gotten used to being without Sawyer, and she's finally getting the hang of this strange, unexpected life. But just as swiftly and suddenly as he disappeared, Sawyer turns up again. Reena doesn't want anything to do with him, though she'd be lying if she said Sawyer's being back wasn't stirring something in her. After everything that's happened, can Reena really let herself love Sawyer LeGrande again? [goodreads]
Messy and complicated love. That is exactly what this story is about. HOW TO LOVE depicts young love during its fresh, exciting, and addicting time. It also represents love when its being tested and stretched beyond its bounds. HOW TO LOVE is an authentic story full of heartbreak and how to put those pieces back together. Yes, there's a romantic story here, but there's also a bigger story about how that romance affects us and those we love.
Reena has been secretly in love with Sawyer all her life. They've grown up close since their parents share a restaurant together. The view that Reena has of Sawyer has always been a bit deeper than what most people see at the surface. But its always just been that, a view far off in the distance. While she's on the path to early graduation and getting out of town -- something she's longed for almost as long as Sawyer -- her life's plans come to a crushing halt. An unfortunate accident occurs, bringing together Reena and Sawyer in a new, unexpected way.
The story is told in alternating chapters of a Before and After. The Before tells the story of how Reena and Sawyer first fell in love. Its brand new, exciting, and somewhat blind. As Sawyer is carrying around demons of his own, he finds himself falling hopelessly and madly in love with Reena. The After tells the story of Reena almost three years later, a teenage mom who never left this town and carries around a broken heart by her baby's father.
As the story weaves on, you begin to see how the Befores lead up to equal the Afters. Reena and Sawyer's young love became every bit messy and oh so complicated. There were moments that left me feeling so uneasy and heartbroken. I wanted the two of them to be together, yet I knew as teenagers they both had a lot of living yet to do. The writing is powerful and will grip you hardest when you least expect it to. I could have easily read this book in one sitting, especially since my mind kept wandering back to it when I was forced to put it down.
HOW TO LOVE is not your predictable young adult fairy tale romance. It is raw and painful, beautiful and enchanting. These characters are littered with flaws, yet they make the story feel that much more real and authentic. I thoroughly enjoyed this story and I think those who crave young adult literature with a heavy dose of realism and emotion will too.
Labels: 2013, Katie Cotugno
Missie March 6, 2014 at 5:54 AM
I love this cover, I am going to have to add it to my TBR! Great review!
Missie @ A Flurry of Ponderings
April (BooksandWine) March 6, 2014 at 6:34 AM
I really loved how flawed Reena and Sawyer were in How To Love. I was also shocked at not disliking the baby, usually I am not a child person and for once I was like, hmmm babies aren't that bad.
I've been curious about How to Love for awhile, but I just can't decide if it is for me. At least right now. I'm been seriously into the Happily Ever Afters lately.
This is a great review, Ginger.
Anna March 6, 2014 at 12:59 PM
Hooray! I liked this one too -- and I usually hate teen pregnancy books. It was about so much more, though.
Lisa Schensted March 6, 2014 at 1:24 PM
You definitely sold me on this one!
Joli @ Actin' Up with Books March 6, 2014 at 1:57 PM
You nailed it with this review! I had a hard time putting into words my thoughts on it. I think I may reread it before I post my review. I just loved it so much - it was real and honest and heartbreaking.
Farrah March 6, 2014 at 3:07 PM
I really enjoyed this one too and I didn't think I would. I've read books about teen pregnancy and concluded it's for really for me, but I loved her writing style and how it focused on love and mistakes and family. I'm also a sucker for before/present storytelling. I would definitely read more books Cotugno!
I just ordered this book and should be getting it this week!! :)
yaescapefromreality March 7, 2014 at 9:42 PM
I absolutely loved this book, it was so well done. I especially loved the back and forth between Before and After. As you learn more and more about what actually happened, you find out that there are two sides to this story and Sawyer really isn't the complete jerk he's portrayed to be. Basically, they are both flawed. Reena's fairly stand-offish and the things she said to Sawyer...ouch. Sometimes I winced at the cruel words that came out of her mouth. And this was not just in the After story, when she obviously has reason to be angry with him, but Before as well. She's a sympathetic character and I felt so bad for her that she had to go through this alone, but I also felt like, even when Sawyer acted like a jerk, his heart was in the right place. And After, he came back and he will be there for her, no matter what. This is a beautiful, well-written story...what an amazing debut. Glad you enjoyed it too! ~Pam


Urban Clothing and footwear for sale online. Puma Black Caroline Stripe Wedge Sneakers and more.
Puma Black Caroline Stripe Wedge Sneakers.
Puma Black Janine Dance Sneakers.
Puma Black Logo Plus Tee.
Puma Black Me Collab Tee.
Puma Black Puma Classic Extreme Animal Sneakers.
Puma Black Sky Wedge Opulence Sneakers.
Puma Black Suede Classic Women's Sneakers.
Puma Black Womens Fashion Metal Tee.
Puma Black,Grey La Sola Hi Sneakers.
Puma Black,Pink Foundation Overlay Jacket.
Puma Blue Puma Classic Wedge Sneakers.
Puma Blue Suede Classic Women's Sneakers.
Puma Grey Caroline Stripe Wedge Sneakers.
Puma Grey Sky Wedge Op Womens Sneakers.
Puma Multi T7 Animal Track Jacket.
Puma Pink Animal Logo Tee.
Puma Pink Caroline Stripe Wedge Sneakers.
Puma Pink Puma Metals Leggings.
Puma Teal Caroline Stripe Wedge Sneakers.
Puma Teal T7 Track Jacket.
Puma Teal T7 Track Pants.
More Puma Women's Styles at Dr Jays Hip Hop Clothing and Footwear for men, women, and kids.


text:
Watch: Trailer And 3 Clips For 'American Heist' Starring Adrien Brody
Watch: Trailer And 3 Clips For 'American Heist' Starring Adrien Brody
Timothy Tau
Armenian filmmaker Sarik Andreasyan may not be well known to American audiences, but three films that he directed, wrote and produced — "The Pregnant," "Moms," and "That Was The Men's World" — were certifiable hits in the Russian Box Office. Now, he's making his U.S. feature film directorial debut with the crime thriller "American Heist," starring Adrien Brody, Hayden Christensen, Jordana Brewster, and Akon.
The film is based on the black & white Steve McQueen vehicle "The Great St. Louis Bank Robbery" and updates the plot of the 1950s Missouri-set heist film to modern-day New Orleans. The story follows Frankie Caley (Brody), an ex-con who took the rap for a crime he committed with his younger brother, James (Christensen) – who works hard to start a new life with a new job and a girlfriend (Brewster) while Frankie is incarcerated, serving time. Upon his release, and because he is broke and has nowhere else to go, Frankie turns to an underworld contact (Akon) and eventually persuades James to go on one big, final heist that will change their lives forever.
Check out a new U.S. trailer below along with a clip. The film hits iTunes on June 19th and opens in theaters on July 24th.
http://v.indiewire.com/videos/indiewire/American_Heist_trailer.mp4
http://v.indiewire.com/videos/indiewire/American_Heist_DontMessthisup.mp4
http://v.indiewire.com/videos/indiewire/American_Heist_Hostage_Situation_Clip.mp4
http://v.indiewire.com/videos/indiewire/americanheist-clip1_a720p.mp4
This Article is related to: News and tagged Adrien Brody, Akon, American Heist, Film Trailers, Hayden Christensen, Jordana Brewster


text:
Q: Calling a function within the function inside the class in php I don't understand what's going on with this. I need to call Func1 from Func2 and parametr for Func1 should be given inside the object.
class MyClass {

        function Func1($a) {
              return $a;
        }
        function Func2() {
              echo $this->Func1($a);
        }
}

$c = new MyClass();

$c->Func1('parametr'); // prints: 1

$c->Func2();

A: What about setting the parameter as class variable (property)?
class MyClass {

        private $a;

        function Func1($a) {
              $this->a = $a;
              return $a;
        }
        function Func2() {
              echo $this->Func1($this->a);
        }
}

This sets the parameter first time you call Func1. Then everytime you call Func2, it uses the parameter. You can also skip passing the parameter like this:
class MyClass {

        private $a;

        function Func1($a = null) {
              if ($a === null) {
                  return $this->a;
              } else {
                  $this->a = $a;
                  return $a;
              }
        }

        function Func2() {
              echo $this->Func1();
        }
}

I.e if you call func1 without any parameter, it uses the stored variable (property), otherwise it uses the given parameter. This can be used in various ways depending on your exact needs.

A: The instruction:
echo $this->Func1($a);
is wrong: the variable $a is out of the scope of Func2. $a is a parameter of Func1 so is only int he scope of Func1.

A: You should read more about variable scopes at PHP http://php.net/manual/en/language.variables.scope.php

quick glimpse:

1) you can have global variables. to access those, use keyword global in functions that need access to that
2) you can have local variables, available only within a scope of a function
3) you can pass references to variables, so that variable from one scope is made accessible to  other function/scope
4) you can have objects's internal variables of different kind (private, public, protected, static)

I suggest you get familiar with this stuff real well.
As for you code, problem is obvious. In Func2 the $a is local variable, thus when passed to $this->Func1($a), it is undefined. As your example code suggests, you might want to introduce class property private $a, and then use that. e.g.:
class X {
    private $a;
    function set($val){
        $this->a = $val;
    }
    function get(){
        return $this->a;
    }
    function doSomethingWithA(){
        $this->set($this->get() * 2);
    }
}

redpajama_set_name: RedPajamaStackExchange


text:
Q: Recording RTSP-Stream with avconv and segmentation: incorrect codec parameters I am trying to record an RTSP-Stream from a PoE IP-camera (Lupusnet LE932) using the tool avconv (version v10_alpha2-128-g77bb000). With the VLC Media Player 2.1.4, this RTSP-stream works without any problems. I can view it and record it. Now I wanted to use segmentation (recording the video in splitted files, for example one file for every hour), so I switched to avconv.
This is the command I am using:
    avconv -i rtsp://192.168.1.41/ -c copy -map 0 -f segment
    -segment_time 300 -segment_format mp4 "capture-%03d.mp4"

In the webcam user interface it's possible to change the video format from H.264 to MP4, which I did, but it does not help.
So these are the resulting error messages:
    [rtsp @ 0153af00] max_analyze_duration reached
    [rtsp @ 0153af00] Estimating duration from bitrate, this may be inaccurate

And:
    [mp4 @ 015e67e0] Codec for stream 0 does not use global headers but container format
    requires global headers
    [mp4 @ 015e67e0] Codec for stream 1 does not use global headers but container format
    requires global headers
    [mp4 @ 015e67e0] track 1: could not find tag, codec not currently supported in
    container

My question: Why is the recording of the stream working with VLC but not with avconv? And what is meant with these error messages? (I'm a complete beginner)


text:
Xələc or Khalandzh or Khaladzh may refer to:
Khalaj, Armenia
Əhmədli, Beylagan, Azerbaijan
Parça Xələc, Azerbaijan
Xələc, Khizi, Azerbaijan
Xələc, Nakhchivan, Azerbaijan
Xələc, Qubadli, Azerbaijan
Xələc, Salyan, Azerbaijan
Xələc, Ujar, Azerbaijan

redpajama_set_name: RedPajamaWikipedia