Next Page: 10000

          Software QA Developer - Integrity Resources - Waterloo, ON      Cache   Translate Page      
Help save the world from the next financial crisis, literally. The new wave of change - “Blockchain Technology”....
From Integrity Resources - Thu, 21 Jun 2018 01:25:51 GMT - View all Waterloo, ON jobs
          Senior Software Developer (Blockchain) - Integrity Resources - Kitchener, ON      Cache   Translate Page      
Help save the world from the next financial crisis, literally. The new wave of change - “Blockchain Technology”....
From Integrity Resources - Thu, 12 Jul 2018 21:45:08 GMT - View all Kitchener, ON jobs
          Senior Developer - Jungle Scout - Vancouver, BC      Cache   Translate Page      
We save them time and make them money, while educating and providing phenomenal service along the way. Jungle Scout is killing it!...
From Jungle Scout - Thu, 14 Jun 2018 01:30:10 GMT - View all Vancouver, BC jobs
          Intermediate Full Stack Developer - Jungle Scout - Vancouver, BC      Cache   Translate Page      
We save them time and make them money, while educating and providing phenomenal service along the way. Jungle Scout is killing it!...
From Jungle Scout - Fri, 22 Jun 2018 01:46:23 GMT - View all Vancouver, BC jobs
          Full Stack Developer - Ratehub - Kingston, ON      Cache   Translate Page      
Helping Canadians save money by empowering them with the tools to make smart financial decisions is what drives our work each day....
From RateHub - Fri, 31 Aug 2018 06:18:18 GMT - View all Kingston, ON jobs
          Front End Developer - Ratehub - Kingston, ON      Cache   Translate Page      
We love helping Canadians save money by empowering them with the tools to make smart financial decisions. We’re a talented team of product managers, digital...
From RateHub - Wed, 12 Sep 2018 20:56:04 GMT - View all Kingston, ON jobs
          Back End Developer - Ratehub - Kingston, ON      Cache   Translate Page      
Helping Canadians save money by empowering them with the tools to make smart financial decisions is what drives our work each day....
From RateHub - Fri, 07 Sep 2018 08:46:15 GMT - View all Kingston, ON jobs
          SQL Server: Security for Developers      Cache   Translate Page      
SQL Server: Security for Developers
SQL Server: Security for Developers
MP4 | Video: AVC 1280x720 | Audio: AAC 44KHz 2ch | Duration: 1.5 Hours | 183 MB
Genre: eLearning | Language: English

Learn how to protect databases and preserve the integrity of an organization's data by configuring the security settings in SQL Server. This course covers how to use built-in options on Microsoft platforms, including Azure AD, to secure database and network infrastructure.


          Riot Games, League of Legends, And Their Fans Need to Do Better – Twin Galaxies      Cache   Translate Page      
Twin GalaxiesThis one event that happened for one day at a FAN CONVENTION, not a networking conference, like PAX isn’t going to hurt your chances at becoming a game developer. This whole fiasco is very reminiscent of the ArenaNet situation that happened only two … …read more Source:: Game Developers Conference News By Google News
          Azure Machine Learning Development: 3 Deploying and Managing Models      Cache   Translate Page      
Azure Machine Learning Development: 3 Deploying and Managing Models
Azure Machine Learning Development: 3 Deploying and Managing Models
MP4 | Video: AVC 1280x720 | Audio: AAC 44KHz 2ch | Duration: 50M | 110 MB
Genre: eLearning | Language: English

Azure Machine Learning Studio brings the power of AI into the professional developer's hands. In this course, learn how to deploy and manage models in Azure Machine Learning Studio. Instructor Sahil Malik picks up from earlier Azure Machine Learning Development courses and dives directly into the more advanced topics of deploying, scaling, logging, and managing your trained models in production scenarios.


          Build a Java REST API with Java EE and OIDC      Cache   Translate Page      

Java EE allows you to build Java REST APIs quickly and easily with JAX-RS and JPA. Java EE is an umbrella standards specification that describes a number of Java technologies, including EJB, JPA, JAX-RS, and many others. It was originally designed to allow portability between Java application servers, and flourished in the early 2000s. Back then, application servers were all the rage and provided by many well-known companies such as IBM, BEA, and Sun. JBoss was a startup that disrupted the status quo and showed it was possible to develop a Java EE application server as an open source project, and give it away for free. JBoss was bought by RedHat in 2006.

In the early 2000s, Java developers used servlets and EJBs to develop their server applications. Hibernate and Spring came along in 2002 and 2004, respectively. Both technologies had a huge impact on Java developers everywhere, showing them it was possible to write distributed, robust applications without EJBs. Hibernate’s POJO model was eventually adopted as the JPA standard and heavily influenced EJB as well.

Fast forward to 2018, and Java EE certainly doesn’t look like it used to! Now, it’s mostly POJOs and annotations and far simpler to use.

Why Build a Java REST API with Java EE and Not Spring Boot?

Spring Boot is one of my favorite technologies in the Java ecosystem. It’s drastically reduced the configuration necessary in a Spring application and made it possible to whip up REST APIs in just a few lines of code. However, I’ve had a lot of API security questions lately from developers that aren’t using Spring Boot. Some of them aren’t even using Spring!

For this reason, I thought it’d be fun to build a Java REST API (using Java EE) that’s the same as a Spring Boot REST API I developed in the past. Namely, the “good-beers” API from my Bootiful Angular and Bootiful React posts.

Use Java EE to Build Your Java REST API

To begin, I asked my network on Twitter if any quickstarts existed for Java EE like start.spring.io. I received a few suggestions and started doing some research. David Blevins recommended I look at tomee-jaxrs-starter-project, so I started there. I also looked into the TomEE Maven Archetype, as recommended by Roberto Cortez.

I liked the jaxrs-starter project because it showed how to create a REST API with JAX-RS. The TomEE Maven archetype was helpful too, especially since it showed how to use JPA, H2, and JSF. I combined the two to create my own minimal starter that you can use to implement secure Java EE APIs on TomEE. You don’t have to use TomEE for these examples, but I haven’t tested them on other implementations.

If you get these examples working on other app servers, please let me know and I’ll update this blog post.

In these examples, I’ll be using Java 8 and Java EE 7.0 with TomEE 7.1.0. TomEE 7.x is the EE 7 compatible version; a TomEE 8.x branch exists for EE8 compatibility work, but there are no releases yet. I expect you to have Apache Maven installed too.

To begin, clone our Java EE REST API repository to your hard drive, and run it:

git clone https://github.com/oktadeveloper/okta-java-ee-rest-api-example.git javaee-rest-api
cd javaee-rest-api
mvn package tomee:run

Navigate to http://localhost:8080 and add a new beer.

Add beer

Click Add and you should see a success message.

Add beer success

Click View beers present to see the full list of beers.

Beers present

You can also view the list of good beers in the system at http://localhost:8080/good-beers. Below is the output when using HTTPie.

$ http :8080/good-beers
HTTP/1.1 200
Content-Type: application/json
Date: Wed, 29 Aug 2018 21:58:23 GMT
Server: Apache TomEE
Transfer-Encoding: chunked
[
    {
        "id": 101,
        "name": "Kentucky Brunch Brand Stout"
    },
    {
        "id": 102,
        "name": "Marshmallow Handjee"
    },
    {
        "id": 103,
        "name": "Barrel-Aged Abraxas"
    },
    {
        "id": 104,
        "name": "Heady Topper"
    },
    {
        "id": 108,
        "name": "White Rascal"
    }
]

Build a REST API with Java EE

I showed you what this application can do, but I haven’t talked about how it’s built. It has a few XML configuration files, but I’m going to skip over most of those. Here’s what the directory structure looks like:

$ tree .
.
├── LICENSE
├── README.md
├── pom.xml
└── src
    ├── main
    │   ├── java
    │   │   └── com
    │   │       └── okta
    │   │           └── developer
    │   │               ├── Beer.java
    │   │               ├── BeerBean.java
    │   │               ├── BeerResource.java
    │   │               ├── BeerService.java
    │   │               └── StartupBean.java
    │   ├── resources
    │   │   └── META-INF
    │   │       └── persistence.xml
    │   └── webapp
    │       ├── WEB-INF
    │       │   ├── beans.xml
    │       │   └── faces-config.xml
    │       ├── beer.xhtml
    │       ├── index.jsp
    │       └── result.xhtml
    └── test
        └── resources
            └── arquillian.xml

12 directories, 16 files

The most important XML files is the pom.xml that defines dependencies and allows you to run the TomEE Maven Plugin. It’s pretty short and sweet, with only one dependency and one plugin.

<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
         xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
    <modelVersion>4.0.0</modelVersion>

    <groupId>com.okta.developer</groupId>
    <artifactId>java-ee-rest-api</artifactId>
    <version>1.0-SNAPSHOT</version>
    <packaging>war</packaging>
    <name>Java EE Webapp with JAX-RS API</name>
    <url>http://developer.okta.com</url>

    <properties>
        <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
        <project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding>
        <maven.compiler.target>1.8</maven.compiler.target>
        <maven.compiler.source>1.8</maven.compiler.source>
        <failOnMissingWebXml>false</failOnMissingWebXml>
        <javaee-api.version>7.0</javaee-api.version>
        <tomee.version>7.1.0</tomee.version>
    </properties>

    <dependencies>
        <dependency>
            <groupId>javax</groupId>
            <artifactId>javaee-api</artifactId>
            <version>${javaee-api.version}</version>
            <scope>provided</scope>
        </dependency>
    </dependencies>

    <build>
        <plugins>
            <plugin>
                <groupId>org.apache.tomee.maven</groupId>
                <artifactId>tomee-maven-plugin</artifactId>
                <version>${tomee.version}</version>
                <configuration>
                    <context>ROOT</context>
                </configuration>
            </plugin>
        </plugins>
    </build>
</project>

The main entity is Beer.java.

package com.okta.developer;

import javax.persistence.Entity;
import javax.persistence.GeneratedValue;
import javax.persistence.GenerationType;
import javax.persistence.Id;

@Entity
public class Beer {
    @Id
    @GeneratedValue(strategy = GenerationType.AUTO)
    private int id;
    private String name;

    public Beer() {}

    public Beer(String name) {
        this.name = name;
    }

    public int getId() {
        return id;
    }

    public void setId(int id) {
        this.id = id;
    }

    public String getName() {
        return name;
    }

    public void setName(String beerName) {
        this.name = beerName;
    }

    @Override
    public String toString() {
        return "Beer{" +
                "id=" + id +
                ", name='" + name + '\'' +
                '}';
    }
}

The database (a.k.a., datasource) is configured in src/main/resources/META-INF/persistence.xml.

<?xml version="1.0" encoding="UTF-8"?>
<persistence version="2.0" xmlns="http://java.sun.com/xml/ns/persistence"
             xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
             xsi:schemaLocation="http://java.sun.com/xml/ns/persistence http://java.sun.com/xml/ns/persistence/persistence_2_0.xsd">
    <persistence-unit name="beer-pu" transaction-type="JTA">
        <jta-data-source>beerDatabase</jta-data-source>
        <class>com.okta.developer.Beer</class>
        <properties>
            <property name="openjpa.jdbc.SynchronizeMappings" value="buildSchema(ForeignKeys=true)"/>
        </properties>
    </persistence-unit>
</persistence>

The BeerService.java class handles reading and saving this entity to the database using JPA’s EntityManager.

package com.okta.developer;

import javax.ejb.Stateless;
import javax.persistence.EntityManager;
import javax.persistence.PersistenceContext;
import javax.persistence.Query;
import javax.persistence.criteria.CriteriaQuery;
import java.util.List;

@Stateless
public class BeerService {

    @PersistenceContext(unitName = "beer-pu")
    private EntityManager entityManager;

    public void addBeer(Beer beer) {
        entityManager.persist(beer);
    }

    public List<Beer> getAllBeers() {
        CriteriaQuery<Beer> cq = entityManager.getCriteriaBuilder().createQuery(Beer.class);
        cq.select(cq.from(Beer.class));
        return entityManager.createQuery(cq).getResultList();
    }

    public void clear() {
        Query removeAll = entityManager.createQuery("delete from Beer");
        removeAll.executeUpdate();
    }
}

There’s a StartupBean.java that handles populating the database on startup, and clearing it on shutdown.

package com.okta.developer;

import javax.annotation.PostConstruct;
import javax.annotation.PreDestroy;
import javax.ejb.Singleton;
import javax.ejb.Startup;
import javax.inject.Inject;
import java.util.stream.Stream;

@Singleton
@Startup
public class StartupBean {
    private final BeerService beerService;

    @Inject
    public StartupBean(BeerService beerService) {
        this.beerService = beerService;
    }

    @PostConstruct
    private void startup() {
        // Top beers from https://www.beeradvocate.com/lists/top/
        Stream.of("Kentucky Brunch Brand Stout", "Marshmallow Handjee", 
                "Barrel-Aged Abraxas", "Heady Topper",
                "Budweiser", "Coors Light", "PBR").forEach(name ->
                beerService.addBeer(new Beer(name))
        );
        beerService.getAllBeers().forEach(System.out::println);
    }

    @PreDestroy
    private void shutdown() {
        beerService.clear();
    }
}

These three classes make up the foundation of the app, plus there’s a BeerResource.java class that uses JAX-RS to expose the /good-beers endpoint.

package com.okta.developer;

import javax.ejb.Lock;
import javax.ejb.Singleton;
import javax.inject.Inject;
import javax.ws.rs.GET;
import javax.ws.rs.Path;
import javax.ws.rs.Produces;
import java.util.List;
import java.util.stream.Collectors;

import static javax.ejb.LockType.READ;
import static javax.ws.rs.core.MediaType.APPLICATION_JSON;

@Lock(READ)
@Singleton
@Path("/good-beers")
public class BeerResource {
    private final BeerService beerService;

    @Inject
    public BeerResource(BeerService beerService) {
        this.beerService = beerService;
    }

    @GET
    @Produces({APPLICATION_JSON})
    public List<Beer> getGoodBeers() {
        return beerService.getAllBeers().stream()
                .filter(this::isGreat)
                .collect(Collectors.toList());
    }

    private boolean isGreat(Beer beer) {
        return !beer.getName().equals("Budweiser") &&
                !beer.getName().equals("Coors Light") &&
                !beer.getName().equals("PBR");
    }
}

Lastly, there’s a BeerBean.java class is used as a managed bean for JSF.

package com.okta.developer;

import javax.enterprise.context.RequestScoped;
import javax.inject.Inject;
import javax.inject.Named;
import java.util.List;

@Named
@RequestScoped
public class BeerBean {

    @Inject
    private BeerService beerService;
    private List<Beer> beersAvailable;
    private String name;

    public String getName() {
        return name;
    }

    public void setName(String name) {
        this.name = name;
    }

    public List<Beer> getBeersAvailable() {
        return beersAvailable;
    }

    public void setBeersAvailable(List<Beer> beersAvailable) {
        this.beersAvailable = beersAvailable;
    }

    public String fetchBeers() {
        beersAvailable = beerService.getAllBeers();
        return "success";
    }

    public String add() {
        Beer beer = new Beer();
        beer.setName(name);
        beerService.addBeer(beer);
        return "success";
    }
}

You now have a REST API built with Java EE! However, it’s not secure. In the following sections, I’ll show you how to secure it using Okta’s JWT Verifier for Java, Spring Security, and Pac4j.

Add OIDC Security with Okta to Your Java REST API

You will need to create an OIDC Application in Okta to verify the security configurations you’re about to implement work. To make this effortless, you can use Okta’s API for OIDC. At Okta, our goal is to make identity management a lot easier, more secure, and more scalable than what you’re used to. Okta is a cloud service that allows developers to create, edit, and securely store user accounts and user account data, and connect them with one or multiple applications. Our API enables you to:

Are you sold? Register for a forever-free developer account today! When you’re finished, complete the steps below to create an OIDC app.

  1. Log in to your developer account on developer.okta.com.
  2. Navigate to Applications and click on Add Application.
  3. Select Web and click Next.
  4. Give the application a name (.e.g., Java EE Secure API) and add the following as Login redirect URIs:
    • http://localhost:3000/implicit/callback
    • http://localhost:8080/login/oauth2/code/okta
    • http://localhost:8080/callback?client_name=OidcClient
  5. Click Done, then edit the project and enable “Implicit (Hybrid)” as a grant type (allow ID and access tokens) and click Save.

Protect Your Java REST API with JWT Verifier

To validate JWTs from Okta, you’ll need to add Okta JWT Verifier for Java to your pom.xml.

<properties>
    ...
    <okta-jwt.version>0.3.0</okta-jwt.version>
</properties>

<dependencies>
    ...
    <dependency>
        <groupId>com.okta.jwt</groupId>
        <artifactId>okta-jwt-verifier</artifactId>
        <version>${okta-jwt.version}</version>
    </dependency>
</dependencies>

Then create a JwtFilter.java (in the src/main/java/com/okta/developer directory). This filter looks for an authorization header with an access token in it. If it exists, it validates it and prints out the user’s sub, a.k.a. their email address. If it doesn’t exist, or is in valid, an access denied status is returned.

Make sure to replace {yourOktaDomain} and {clientId} with the settings from the app you created.

package com.okta.developer;

import com.nimbusds.oauth2.sdk.ParseException;
import com.okta.jwt.JoseException;
import com.okta.jwt.Jwt;
import com.okta.jwt.JwtHelper;
import com.okta.jwt.JwtVerifier;

import javax.servlet.*;
import javax.servlet.annotation.WebFilter;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.io.IOException;

@WebFilter(filterName = "jwtFilter", urlPatterns = "/*")
public class JwtFilter implements Filter {
    private JwtVerifier jwtVerifier;

    @Override
    public void init(FilterConfig filterConfig) {
        try {
            jwtVerifier = new JwtHelper()
                    .setIssuerUrl("/oauth2/default")
                    .setClientId("{yourClientId}")
                    .build();
        } catch (IOException | ParseException e) {
            System.err.print("Configuring JWT Verifier failed!");
            e.printStackTrace();
        }
    }

    @Override
    public void doFilter(ServletRequest servletRequest, ServletResponse servletResponse,
                         FilterChain chain) throws IOException, ServletException {
        HttpServletRequest request = (HttpServletRequest) servletRequest;
        HttpServletResponse response = (HttpServletResponse) servletResponse;
        System.out.println("In JwtFilter, path: " + request.getRequestURI());

        // Get access token from authorization header
        String authHeader = request.getHeader("authorization");
        if (authHeader == null) {
            response.sendError(HttpServletResponse.SC_UNAUTHORIZED, "Access denied.");
            return;
        } else {
            String accessToken = authHeader.substring(authHeader.indexOf("Bearer ") + 7);
            try {
                Jwt jwt = jwtVerifier.decodeAccessToken(accessToken);
                System.out.println("Hello, " + jwt.getClaims().get("sub"));
            } catch (JoseException e) {
                e.printStackTrace();
                response.sendError(HttpServletResponse.SC_UNAUTHORIZED, "Access denied.");
                return;
            }
        }

        chain.doFilter(request, response);
    }

    @Override
    public void destroy() {
    }
}

To ensure this filter is working, restart your app and run:

mvn package tomee:run

If you navigate to http://localhost:8080/good-beers in your browser, you’ll see an access denied error.

blog/javaee-rest-api/tomee-401.png

To prove it works with a valid JWT, you can clone my Bootiful React project, and run its UI:

git clone -b okta https://github.com/oktadeveloper/spring-boot-react-example.git bootiful-react
cd bootiful-react/client
npm install

Edit this project’s client/src/App.tsx file and change the issuer and clientId to match your application.

const config = {
  issuer: '/oauth2/default',
  redirectUri: window.location.origin + '/implicit/callback',
  clientId: '{yourClientId}'
};

Then start it:

npm start

You should then be able to login at http://localhost:3000 with the credentials you created your account with. However, you won’t be able to load any beers from the API because of a CORS error (in your browser’s developer console).

Failed to load http://localhost:8080/good-beers: Response to preflight request doesn't pass access control check: No 'Access-Control-Allow-Origin' header is present on the requested resource. Origin 'http://localhost:3000' is therefore not allowed access.

TIP: If you see a 401 and no CORS error, it likely means your client IDs don’t match.

To fix this CORS error, add a CorsFilter.java alongside your JwtFilter.java class. The filter below will allow an OPTIONS request, and send access-control headers back that allow any origin, GET methods, and any headers. I recommend you to make these settings a bit more specific in production.

package com.okta.developer;

import javax.servlet.*;
import javax.servlet.annotation.WebFilter;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.io.IOException;

@WebFilter(filterName = "corsFilter")
public class CorsFilter implements Filter {

    @Override
    public void doFilter(ServletRequest servletRequest, ServletResponse servletResponse, FilterChain chain)
            throws IOException, ServletException {
        HttpServletRequest request = (HttpServletRequest) servletRequest;
        HttpServletResponse response = (HttpServletResponse) servletResponse;
        System.out.println("In CorsFilter, method: " + request.getMethod());

        // Authorize (allow) all domains to consume the content
        response.addHeader("Access-Control-Allow-Origin", "http://localhost:3000");
        response.addHeader("Access-Control-Allow-Methods", "GET");
        response.addHeader("Access-Control-Allow-Headers", "*");

        // For HTTP OPTIONS verb/method reply with ACCEPTED status code -- per CORS handshake
        if (request.getMethod().equals("OPTIONS")) {
            response.setStatus(HttpServletResponse.SC_ACCEPTED);
            return;
        }

        // pass the request along the filter chain
        chain.doFilter(request, response);
    }

    @Override
    public void init(FilterConfig config) {
    }

    @Override
    public void destroy() {
    }
}

Both of the filters you’ve added use @WebFilter to register themselves. This is a convenient annotation, but it doesn’t provide any filter ordering capabilities. To workaround this missing feature, modify JwtFilter so it doesn’t have a urlPattern in its @WebFilter.

@WebFilter(filterName = "jwtFilter")

Then create a src/main/webapp/WEB-INF/web.xml file and populate it with the following XML. These filter mappings ensure the CorsFilter is processed first.

<?xml version="1.0" encoding="UTF-8"?>
<web-app version="3.1"
         xmlns="http://xmlns.jcp.org/xml/ns/javaee"
         xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
         xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaee http://xmlns.jcp.org/xml/ns/javaee/web-app_3_1.xsd">

    <filter-mapping>
        <filter-name>corsFilter</filter-name>
        <url-pattern>/*</url-pattern>
    </filter-mapping>

    <filter-mapping>
        <filter-name>jwtFilter</filter-name>
        <url-pattern>/*</url-pattern>
    </filter-mapping>
</web-app>

Restart your Java API and now everything should work!

Beer List in React UI

In your console, you should see messages similar to mine:

In CorsFilter, method: OPTIONS
In CorsFilter, method: GET
In JwtFilter, path: /good-beers
Hello, demo@okta.com

Using a filter with Okta’s JWT Verifier is an easy way to implement a resource server (in OAuth 2.0 nomenclature). However, it doesn’t provide you with any information about the user. The JwtVerifier interface does have a decodeIdToken(String idToken, String nonce) method, but you’d have to pass the ID token in from your client to use it.

In the next two sections, I’ll show you how you can use Spring Security and Pac4j to implement similar security. As a bonus, I’ll show you how to prompt the user to login (when they try to access the API directly) and get the user’s information.

Secure Your Java REST API with Spring Security

Spring Security is one of my favorite frameworks in Javaland. Most of the examples on this blog use Spring Boot when showing how to use Spring Security. I’m going to use the latest version – 5.1.0.RC2 – so this tutorial stays up to date for a few months.

Revert your changes to add JWT Verifier, or simply delete web.xml to continue.

Modify your pom.xml to have the necessary dependencies for Spring Security. You’ll also need to add Spring’s snapshot repositories to get the release candidate.

<properties>
    ...
    <spring-security.version>5.1.0.RC2</spring-security.version>
    <spring.version>5.1.0.RC3</spring.version>
    <jackson.version>2.9.6</jackson.version>
</properties>

<dependencyManagement>
    <dependencies>
        <dependency>
            <groupId>org.springframework</groupId>
            <artifactId>spring-framework-bom</artifactId>
            <version>${spring.version}</version>
            <scope>import</scope>
            <type>pom</type>
        </dependency>
        <dependency>
            <groupId>org.springframework.security</groupId>
            <artifactId>spring-security-bom</artifactId>
            <version>${spring-security.version}</version>
            <scope>import</scope>
            <type>pom</type>
        </dependency>
    </dependencies>
</dependencyManagement>

<dependencies>
    ...
    <dependency>
        <groupId>org.springframework</groupId>
        <artifactId>spring-webmvc</artifactId>
    </dependency>
    <dependency>
        <groupId>org.springframework.security</groupId>
        <artifactId>spring-security-web</artifactId>
    </dependency>
    <dependency>
        <groupId>org.springframework.security</groupId>
        <artifactId>spring-security-config</artifactId>
    </dependency>
    <dependency>
        <groupId>org.springframework
          Build a Basic CRUD App in Android with Kotlin      Cache   Translate Page      

Kotlin was recently given official Android support status by Google, but it remains difficult to understand for many developers. The best way to start is by creating a complete app yourself, which you’ll do in this tutorial. In this tutorial, you’ll use Spring Boot for the API that powers your Android (+ Kotlin) mobile app. Spring Boot is a great way to create a robust REST API with a minimal amount of code.

I’m going to assume you have some Java experience and have at least played around with creating an Android app. If you don’t have any Android experience you should be able to follow along but you might have to Google a few things here and there.

Here is the complete code if you rather go straight to the end.

Before we start, let’s talk a bit about Kotlin.

Kotlin vs Java

Kotlin looks strange to newcomers. It resembles other languages you may have seen but some things look off, often because it is so concise!

Don’t panic - because it is so extensible there are many ways to write the same code, and many shortcuts that aren’t available in other languages. For example, often you’ll see curly brackets used as function parameters:

dialogBuilder.setPositiveButton("Delete", { dialog, whichButton ->
    deleteMovie(movie)
})

This is actually creating an anonymous function (a lambda) and passing it in. This function takes in two parameters which are here inferred. Take a look at the equivalent (pre-JRE 8) Java code:

dialogBuilder.setPositiveButton("Delete",
    new DialogInterface.OnClickListener() {
        public void onClick(DialogInterface dialog, int which) {
            deleteMovie(movie);
        }
    }
);

(Of course, now Java 8 has lambdas too).

Here is another example of some code we will use in a bit:

class MovieViewHolder(val view: View) : RecyclerView.ViewHolder(view)

In order to understand this you have to know several things:

Declaring a class with parentheses (i.e. (view: View)) means you are declaring the class’s primary constructor (and yes - there are secondary constructors as well). The colon : is similar to implements or extends but really is about Interfaces. Anything declared in the primary constructor is automatically declared as a property (member variable).

For clarity, this is the equivalent Java:

public static class MovieViewHolder extends RecyclerView.ViewHolder {
    public final View view;
    public MovieViewHolder(View v) {
        super(v);
        view = v;
   }
}

As a last example, look at the following bean:

package demo

data class Movie( val id: Int, val name: String )

That is the complete file. It declares a class with a constructor, two read-only properties (member variables), and assigns those in the constructor. Then data creates getters and setters for all our member variables, as well as equals(), toString() and others (see here if you want to see it in it’s full Java glory).

Now that you’ve got some background, let’s get started!

Create the Spring Boot API for Your Android + Kotlin Project

The official Spring Boot tutorials suggest you use the Initializr Website to create a starting skeleton but I find it easier to build projects from scratch.

To start, initialize an empty directory with Gradle (make sure you’ve installed Gradle and that it’s available on the command line).

C:\Users\Karl\Kotlin-Spring>gradle init

BUILD SUCCESSFUL in 3s
2 actionable tasks: 2 executed
C:\Users\Karl\Kotlin-Spring>

You should have two folders and four files.

.
├── build.gradle
├── gradle
│   └── wrapper
│       ├── gradle-wrapper.jar
│       └── gradle-wrapper.properties
├── gradlew
├── gradlew.bat
└── settings.gradle

2 directories, 6 files

Now change build.gradle to the following:

buildscript {
    ext.kotlin_version = '1.2.61' // Required for Kotlin integration
    ext.spring_boot_version = '2.0.2.RELEASE'
    repositories {
        jcenter()
    }
    dependencies {
        // Required for Kotlin integration
        classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:$kotlin_version"
        // See https://kotlinlang.org/docs/reference/compiler-plugins.html#kotlin-spring-compiler-plugin         
        classpath "org.jetbrains.kotlin:kotlin-allopen:$kotlin_version"
        classpath("org.jetbrains.kotlin:kotlin-noarg:$kotlin_version")
        classpath "org.springframework.boot:spring-boot-gradle-plugin:$spring_boot_version"
    }
}

// Required for Kotlin integration
apply plugin: 'kotlin'
// See https://kotlinlang.org/docs/reference/compiler-plugins.html#kotlin-spring-compiler-plugin
apply plugin: "kotlin-spring" 
apply plugin: 'kotlin-jpa'
apply plugin: 'org.springframework.boot'
apply plugin: 'io.spring.dependency-management'

jar {
    baseName = 'kotlin-demo'
    version = '0.1.0-SNAPSHOT'
}

repositories {
    jcenter()
}

dependencies {
    // Required for Kotlin integration
    compile "org.jetbrains.kotlin:kotlin-stdlib:$kotlin_version"
    compile "org.jetbrains.kotlin:kotlin-reflect" // For reflection
    compile 'org.springframework.boot:spring-boot-starter-data-rest'
    compile 'org.springframework.boot:spring-boot-starter-data-jpa'
    compile 'com.h2database:h2'
}

Here the Kotlin and Spring Boot plugins are imported, external repositories are declared, and dependency libraries are added.

If you haven’t used Spring Boot before you should know that it (or rather the Spring Framework) uses dependency injection at runtime. This means the entire application is wired up automatically based on the libraries you import. For example, at the end of our build.gradle you’ll see the Data REST and Data JPA libraries. Spring Boot will automatically configure your application as a REST server when it sees two these libraries. Furthermore, since you included the H2 database library Spring will use the H2 database engine to persist any of our REST data coming in and out of queries.

All you need to have a complete REST application, is to define a class with the @SpringBootApplication annotation. You don’t even need to specify it’s path - Spring will search for it!

Put the following into src/main/kotlin/demo/Application.kt:

package demo

import org.springframework.boot.SpringApplication
import org.springframework.boot.autoconfigure.SpringBootApplication

@SpringBootApplication
class Application

fun main(args: Array<String>) {
    SpringApplication.run(Application::class.java, *args)
}

Now if you run gradlew bootRun (./gradlew bootRun on *nix) everything should build (and download) and you should see somewhere in the enormous log Started Application. Now run curl in another window to see what is happening.

C:\Users\Karl>curl localhost:8080
{
  "_links" : {
    "profile" : {
      "href" : "http://localhost:8080/profile"
    }
  }
}

Amazingly, you’ve created a fully compliant REST server with Kotlin, all by editing just two files!

Add Objects with Kotlin

To create objects you just need the entity class and a repository.

Next to Application.kt put the following into Model.kt

package demo

import javax.persistence.*

@Entity
data class Movie(@Id @GeneratedValue(strategy = GenerationType.IDENTITY)
                 val Id: Long,
                 val name: String)

Here you’ve used the data idiom to create getters and setters for all the properties, as well as JPA annotations to specify how to generate the ids for your entity.

Note: The Id field must start with a capital I. If it doesn’t, the server won’t return the id field when doing queries. This will give you trouble down the line when hooking up to the client app.

Now put this into Repository.kt:

package demo

import org.springframework.data.repository.CrudRepository

interface ItemRepository : CrudRepository<Movie, Long>

And you’ve done it! Incredibly, we can now perform any CRUD operation on this server and it will work, persisting all changes to the database.

C:\Users\Karl>curl -X POST -H "Content-Type:application/json" -d " {\"name\":\"The 40 Year Old Virgin\"} " localhost:8080/movies
{
  "name" : "The 40 Year Old Virgin",
  "_links" : {
    "self" : {
      "href" : "http://localhost:8080/movies/1"
    },
    "item" : {
      "href" : "http://localhost:8080/movies/1"
    }
  }
}
C:\Users\Karl>curl localhost:8080/movies/1
{
  "name" : "The 40 Year Old Virgin",
  "_links" : {
    "self" : {
      "href" : "http://localhost:8080/movies/1"
    },
    "item" : {
      "href" : "http://localhost:8080/movies/1"
    }
  }
}

Load Initial Data in your Kotlin App

To finish up, let’s load some data. Again, as with Spring Boot everything can be done simply. Just put the following into src/main/resources/data.sql and it will be run on boot.

INSERT INTO movie (name) VALUES
  ('Skyfall'),
  ('Casino Royale'),
  ('Spectre');

To confirm it works, restart the server and run curl localhost:8080/movies.

And you are done with the back-end. Time to build out the client.

Build Your Android App with Kotlin

This will require a couple of steps: First you’ll create an empty Kotlin app with Android Studio. You’ll then create a list view (with add, edit and delete buttons) using RecyclerView, populating it with hard-coded data. Finally, you’ll use Retrofit to wire the view to the REST back-end you’ve just created.

Create a project in Android Studio. Make sure you’re using at least version Android Studio 3. Use the default values for each window except make sure you include Kotlin support. Name the project whatever you want - I called mine “Kotlin Crud”. At the end, select an Empty Activity.

When you press Play on the top icon bar you should see Hello World when you run it (you can either plug in your phone or run it on an emulator. Check online for how to set this up).

Hello World in Android

If you’ve made an Android app before using Java you’ll notice the only difference is the main activity: it’s called MainActivity.kt, not MainActivity.java, and the code looks a bit different.

package demo

import android.support.v7.app.AppCompatActivity
import android.os.Bundle

class MainActivity : AppCompatActivity() {

   override fun onCreate(savedInstanceState: Bundle?) {
       super.onCreate(savedInstanceState)
       setContentView(R.layout.activity_main)
   }
}

Here are the differences:

  1. The class is not specified as public (in Kotlin this is the default)
  2. Types are specified with a colon : - the class is of type AppCompatActivity (or rather it implements AppCompatActivity, as you would say in Java) and the savedInstanceState is of type Bundle
  3. Methods are just called fun instead of function
  4. override is not an annotation
  5. The question mark means a parameter is optional (which is not possible in Java)

The last point is one of the most talked about when discussing the importance of Kotlin vs Java: it’s one of the various ways the language ensures null safety.

Import Additional Android Libraries

You need to add extra libraries to your application’s build.gradle file: one for the recycler view (which you’ll use in a second), one for the card view, and another for the floating action button. Place these next to the others in the dependencies section.

implementation 'com.android.support:design:27.1.1'
implementation 'com.android.support:cardview-v7:27.1.1'
implementation 'com.android.support:recyclerview-v7:27.1.1'

Android Studio should ask you to Sync Now. Click that and see that everything builds without error.

Note: Make sure the version is the same as the other support libraries (e.g. appcompat-v7:27.1.1). Also, because you’ll be using built-in icons (which you should avoid doing in the future) you need to put the following into the defaultConfig section of your build.gradle as well.

vectorDrawables.useSupportLibrary = true

Add Icons in Kotlin

You’ll need some icons for buttons - one for add and another for refresh. Go to the Material Icons site and select the one you like. I’m choosing the add button half the way down. When you click on it a grey and blue download section should appear on the button left. Click the grey box Selected Icons control to open the download options. Now there should be a drop-down where you can select Android as the type.

Change drop down to Android

Change the color to white and download the PNG option. Extract the contents of the ZIP file to app/src/main (you should see the ZIP file has a res folder in it).

Now you can use the new icons in your layouts. They’re called things like baseline_add_white_36.

Finally do the same thing for the loop icon, also white.

Create the View XML

You need an XML view for each list item. Place the following into src/main/res/layout/list_item.xml.

<?xml version="1.0" encoding="utf-8"?>
<android.support.v7.widget.CardView
    xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:card_view="http://schemas.android.com/apk/res-auto"

    android:id="@+id/card_view"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:layout_marginBottom="3dp"
    android:layout_marginLeft="5dp"
    android:layout_marginRight="5dp"
    android:layout_marginTop="5dp"
    android:padding="3dp"
    card_view:cardElevation="2dp"
    card_view:cardMaxElevation="2dp">

    <RelativeLayout
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:padding="5dp">

        <TextView
            android:id="@+id/name"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:padding="5dp"
            android:text="lastname"
            android:textSize="16dp" />

        <TextView
            android:id="@+id/btnDelete"
            android:layout_width="wrap_content"
            android:layout_height="35dp"
            android:layout_alignParentRight="true"
            android:drawableLeft="@android:drawable/ic_delete"
            android:padding="5dp" />

        <TextView
            android:id="@+id/btnEdit"
            android:layout_width="wrap_content"
            android:layout_height="35dp"
            android:layout_marginRight="2dp"
            android:layout_toLeftOf="@+id/btnDelete"
            android:drawableLeft="@android:drawable/ic_menu_edit"
            android:padding="5dp" />
    </RelativeLayout>

</android.support.v7.widget.CardView>

Here you’re using a Card View which is the popular way of creating lists in Android. Almost all of the XML is layout settings to ensure proper alignment. Note the android:id values which you use to connect these to our Kotlin files. Also, I’ve used some built in Android icons for our edit and delete buttons.

Note: this is not the recommended way of doing it since those icons can change between Android Studio versions - rather download the icons as we did previously !

Now for the main activity XML. Here is what src/main/res/layout/activity_main.xml should look like.

<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    xmlns:app="http://schemas.android.com/apk/res-auto">

    <android.support.v7.widget.RecyclerView
        android:id="@+id/rv_item_list"
        android:layout_width="match_parent"
        android:layout_height="match_parent" />

    <android.support.design.widget.FloatingActionButton
        android:id="@+id/fab"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:src="@drawable/baseline_add_white_36"
        android:layout_gravity="bottom|end"
        app:elevation="6dp"
        android:layout_alignParentBottom="true"
        android:layout_alignParentRight="true"
        android:layout_alignParentEnd="true"
        android:layout_margin="20dp"/>

</RelativeLayout>

It’s pretty straight forward. You’ve now got a recycle view and a floating action button inside of a relative layout and have assigned baseline_add_white_36 as the source for the button. Note that the id of the recycler view is rv_list_item (you’ll be using this soon).

Add Refresh to the Action Bar

To fill things out lets put a refresh button on the action bar. This requires a new piece of XML in res/menu/buttons.xml:

<menu xmlns:android="http://schemas.android.com/apk/res/android"
      xmlns:app="http://schemas.android.com/apk/res-auto">

    <item
        android:id="@+id/refresh"
        android:icon="@drawable/baseline_loop_white_48"
        android:title="@string/refresh"
        app:showAsAction="ifRoom"/>

</menu>

Note it has an id called refresh. Also, I’ve used the loop icon from the Android Icons site (the white variant) - you’ll have to download this as before. Also, I’m using a string from the resources so you’ll have to change res/values/strings.xml:

<resources>
    <string name="app_name">Kotlin Crud</string>
    <string name="refresh">Refresh</string>
</resources>

Display Lists in Kotlin

Now to display a list of item using our views. The canonical way of doing this is the relatively new RecyclerView which supplanted the original ListView. The basic idea of a RecyclerView is to create only enough views to show on screen - if the screen can fit five items then only five are created. As you scroll through the list these views are re-used (recycled), replacing their contents with the appropriate (new) values.

How do you get started with this ? The first thing you need is a bean. Let’s call it Movie.kt.

package demo

data class Movie( val id: Int, val name: String )

Note: for all the following classes make sure the package matches that of MainActivity.kt.

Was that not easy? Next, you need an Adapter. This is a class with three methods: one to return how many items in total are being displayed (getItemCount()), one that creates an Android View control for a particular item (onCreateViewHolder()), and one that populates an existing view with an instance of your data (onBindViewHolder()).

Put this into MovieAdapter.kt.

class MovieAdapter : RecyclerView.Adapter<MovieAdapter.MovieViewHolder>() {

    var movies: ArrayList<Movie> = ArrayList()

    init { refreshMovies() }

    class MovieViewHolder(val view: View) : RecyclerView.ViewHolder(view)

    override fun onCreateViewHolder(parent: ViewGroup,
                                    viewType: Int): MovieAdapter.MovieViewHolder {

        val view = LayoutInflater.from(parent.context)
                .inflate(R.layout.list_item, parent, false)

        return MovieViewHolder(view)
    }

    override fun onBindViewHolder(holder: MovieViewHolder, position: Int) {
        holder.view.name.text = movies[position].name
    }

    override fun getItemCount() = movies.size

    fun refreshMovies() {
        movies.clear()

        movies.add(Movie(0, "Guardians of the Galaxy"))
        movies.add(Movie(1, "Avengers: Infinity War"))
        movies.add(Movie(2,"Thor: Ragnorok"))

        notifyDataSetChanged()
    }
}

When you paste this into Android Studio it will highlight certain things as red. You need to ALT-ENTER (Option + Enter on Mac) several times to pull in the imports you need. Eventually this is the list of imports you should have:

import android.support.v7.widget.RecyclerView
import android.view.LayoutInflater
import android.view.View
import android.view.ViewGroup
import kotlinx.android.synthetic.main.list_item.view.*

A lot is going on in MovieAdapter.kt. Besides just implementing the three methods needed to implement RecylcerView.Adapter, you created a property called movies, a list, and initialise it in the init{} constructor. Also, you declared an inner class called MovieViewHolder. That is what gets instantiated for each view needed to be displayed (in the example discussed, five views). As you can see, onCreateViewHolder actually returns an object of this type. The class is quite simple - it takes into its constructor a View (which is now also a property), and returns a Holder type object. This object is what you then use when you fill in data using onBindViewHolder - in our case, setting the text of our display.

This does seem complicated at first. It good way to look at all this is the following: how does this connect to your main code class (i.e. MainActivity.kt), and how does it connect to the views you’ve defined in XML ?

For the first part, this is what main activity should now look like:

class MainActivity : AppCompatActivity() {

    lateinit var adapter:MovieAdapter

    override fun onCreate(savedInstanceState: Bundle?) {
        super.onCreate(savedInstanceState)
        setContentView(R.layout.activity_main)

        adapter = MovieAdapter()    
    
        rv_item_list.layoutManager = LinearLayoutManager(this)
        rv_item_list.adapter = adapter
    }
}

So here you’ve defined the adapter as a lateinit variable - lateinit is telling Kotlin that you want to initialize this at some stage after creation, not the default in Kotlin classes - normally you have to initialize things immediately.

In the constructor you assign an instance of your adapter to this property (note you don’t need to use new in Kotlin) and assign two things to rv_item_list - a LayoutManager (which is used for positioning), and an Adapter (which we’ve just created).

We should talk about rv_item_list. This is just the id of a control inside of activity_main.xml, specifically the recyclerview. Normally you would need to use findViewById (a pain for Android developers) but with Kotlin you can just specify its name. When Android Studio complains about imports and you ALT-ENTER (or your platform equivalent) it will automatically import kotlinx.android.synthetic.main.activity_main.*, bringing in all the ids into the namespace.

Lastly, add the following two functions to MainActivity:

override fun onCreateOptionsMenu(menu: Menu): Boolean {
    val inflater = menuInflater
    inflater.inflate(R.menu.buttons, menu)
    return true
}

override fun onOptionsItemSelected(item: MenuItem) = when (item.itemId) {
    R.id.refresh -> {
        adapter.refreshMovies()
        Toast.makeText(this.baseContext, "Refreshed", Toast.LENGTH_LONG).show())
        true
    }
    else -> {
        super.onOptionsItemSelected(item)
    }
}

That will inflate the menu xml you defined as well as tying the button to your adapter’s refresh function (and give a convenience toast to say it worked).

That should be it ! Run our code and you should see the following.

Completed Android app with movie list

Wiring Your Android + Kotlin App Up

Next you need to replace the hard-coded values with data coming from your API server, as well as wiring the different buttons to their respective API calls. For that you will be using Square’s Retrofit library.

Start by adding the following to your build.gradle dependencies:

implementation 'com.squareup.retrofit2:retrofit:2.3.0'
implementation 'com.squareup.retrofit2:converter-gson:2.3.0'
implementation 'com.squareup.retrofit2:adapter-rxjava2:2.3.0'
implementation 'io.reactivex.rxjava2:rxandroid:2.0.1'
implementation 'com.squareup.okhttp3:logging-interceptor:3.9.1'

Now take a look at what happens when you call your server for a list of movies:

C:\Users\Karl>curl http://localhost:8080/movies
{
  "_embedded" : {
    "movies" : [ {
      "name" : "Skyfall",
      "id" : 1,
      "_links" : {
        "self" : {
          "href" : "http://localhost:8080/movies/1"
        },
        "movie" : {
          "href" : "http://localhost:8080/movies/1"
        }
      }
    }

I’ve only shown one since it’s quite long (Spring follows something called HATEOAS which adds links to json responses). As you can see, the response is wrapped in an _embedded object, and your movies come as a list in movies. You need to represent this in your Kotlin model so Retrofit can know what to expect. Change Movie.kt to this:

import com.google.gson.annotations.SerializedName

data class Movie( val id: Int, val name: String )
data class MovieList (
    @SerializedName("movies" )
    val movies: List<Movie>
)
data class MovieEmbedded (
    @SerializedName("_embedded" )
    val list: MovieList
)

Now you need to create a new class to setup Retrofit. Let’s call it MovieApiClient.kt:

import io.reactivex.Completable
import io.reactivex.Observable
import retrofit2.Retrofit
import retrofit2.adapter.rxjava2.RxJava2CallAdapterFactory
import retrofit2.converter.gson.GsonConverterFactory
import retrofit2.http.*

interface MovieApiClient {

    @GET("movies") fun getMovies(): Observable<MovieEmbedded>
    @POST("movies") fun addMovie(@Body movie: Movie): Completable
    @DELETE("movies/{id}") fun deleteMovie(@Path("id") id: Int) : Completable
    @PUT("movies/{id}") fun updateMovie(@Path("id")id: Int, @Body movie: Movie) : Completable

    companion object {

        fun create(): MovieApiClient {

            val retrofit = Retrofit.Builder()
                    .addCallAdapterFactory(RxJava2CallAdapterFactory.create())
                    .addConverterFactory(GsonConverterFactory.create())
                    .baseUrl("http://10.0.2.2:8080/")
                    .build()

            return retrofit.create(MovieApiClient::class.java)
        }
    }
}

Here you define all the endpoints using annotations as well as their expected return types (Completable, part of RxJava, just means nothing is returned). You also declare a companion object (which is like a static class) which instantiates a Retrofit builder with the details of our API. Note the base url uses the IP 10.0.2.2 which allows emulators to connect to localhost.

Now in MovieAdapter change the header to include a context property (so you can attach toasts for our API results) as well as adding a lazy client property initialized with your previous create() method.

class MovieAdapter(val context: Context) :  RecyclerView.Adapter<MovieAdapter.MovieViewHolder>() {

    val client by lazy { MovieApiClient.create() }
    var movies: ArrayList<Movie> = ArrayList()

Lazy takes in a function (note the curly brackets) and says “when someone first tries to use this property, run this function and assign it”.

To initialize the context, change the adapter initialize statement to include the main activity context:

adapter = MovieAdapter(this.baseContext)

Now change refreshMovies() in the adapter to the following:

fun refreshMovies() {
    client.getMovies()
        .subscribeOn(Schedulers.io())
        .observeOn(AndroidSchedulers.mainThread())
        .subscribe({ result ->
                movies.clear()
                movies.addAll(result.list.movies)
                notifyDataSetChanged()
        },{ error ->
                Toast.makeText(context, "Refresh error: ${error.message}", Toast.LENGTH_LONG).show()
                Log.e("ERRORS", error.message)
        })
}

So you’re using the client’s getMovies() function which is declared at the top of MovieApiClient.kt. To understand what is going on here is an entire discussion on it’s own. Basically it’s using Reactive Programming which is a new way to wi

          4 Bed Land for Sale      Cache   Translate Page      
400000
** ATTENTION DEVELOPERS ** EXISTING 2 BED PROPERTY WITH PLOT TO SIDE FOR THE ERECTION OF A FURTHER 2 BED PROPERTY WITH PARKING CIRCA 680sqft ** COVENANT VARIATION LIABILITY HAS BEEN DEALT WITH ** CIL LIABILITY - ?6531 - TO BE PAID BY DEVELOPER **...
oven parking garden freezer fridge shower
Mon, 10 Sep 2018 19:29:20 -0400
          1 Bed Cottage for Sale      Cache   Translate Page      
60000
!! ATTENTION DEVELOPERS!! This stone cottage is ripe for renovation and would create a beautiful and cosy home when completed. Currently comprising lobby, through lounge. kitchen, bathroom, double bedroom and second room, which could be a single...
heating oven garden shower
Mon, 10 Sep 2018 19:28:31 -0400
          9/13/2018: Opinion: Medich Jr in clear on hotel fraud      Cache   Translate Page      

THE daughter of millionaire property developer and convicted killer Ron Medich has been cleared of fraud charges after her drug-addicted boyfriend admitted to paying for their luxury Sydney hotel stay with a stolen credit card. Denise Allison Medich,...
          Apple seeds GMs of iOS 12, tvOS 12 & watchOS 5, 11th macOS Mojave beta      Cache   Translate Page      
Article Image

Prepping for launch, Apple on Wednesday released golden masters of iOS 12 and tvOS 12 to developers and the public, as well as new developer-only seeds of watchOS 5 and macOS Mojave.
          #14195 Analyst/Developer III (Need 2) (No C2C)      Cache   Translate Page      
TX-Houston, TWO NEW OPENINGS TODAY!! # 14195 CHEVRON Analyst/Developer III, 6+ months contract, Houston 77002 Rate: $65-70/hr. on W2 only (no 1099, C2C or H1B candidates – TN and OPT EAD ok). See Manager’s Notes. Deadline to submit your resume to me is tomorrow, FRIDAY, 9/14 at 9pm CST – Chevron’s deadline is early Monday morning. Call Kathy 281-655-0200 for details or questions. If this is not for you, pleas
          Oh, poor Jimmy!      Cache   Translate Page      

From the Commercial Observer:

City councilman Jimmy Van Bramer presides over one of New York City’s hottest real estate markets: western Queens. And one of its submarkets, Long Island City, is on track to get 6,200 new residential units by next year and sits at the heart of crucial zoning, infrastructure, transportation and urban planning issues that affect much of the city.

The 49-year-old councilman, who represents LIC, part of Astoria, Sunnyside and Woodside, was raised in his district by a printer father and painter mother, both union members. Since taking office in 2009, he has found himself facing down developers and community activists alike, while trying to stay true to both his core principles and his working-class neighborhood roots.

Over the past few years, he’s netted some victories for his district, like a new modern library for Hunters Point South in LIC and protected bike and bus lanes along Queens Boulevard. He’s also run into controversy over development and transit issues, like when he refused to greenlight a 2016 rezoning for a 200-unit affordable apartment building developed by Phipps Houses in Sunnyside. And last year he clashed with neighbors and businesses along Skillman Avenue in Sunnyside for proposing protected bike lanes there and along 43rd Avenue after two cyclists were killed by motorists. (After getting pushback from local merchants and the community board over bike lanes replacing parking spots, he abandoned the plan. Congressman Joe Crowley—recently unseated in a surprise victory by democratic socialist candidate Alexandra Ocasio-Cortez—even weighed in on Twitter to oppose the bike lanes.)

          Senior DevOps Developer - 260343 - Procom - Toronto, ON      Cache   Translate Page      
Senior DevOps Developer On behalf of our client in the Consulting Sector, PROCOM is looking for a Senior DevOps Developer Senior DevOps Developer- Job...
From Procom - Wed, 12 Sep 2018 21:04:55 GMT - View all Toronto, ON jobs
          Web Developer - Healthcare - 260345 - Procom - Markham, ON      Cache   Translate Page      
Web Developer - Healthcare On behalf of our client in the Healthcare Sector, PROCOM is looking for a Web Developer - Healthcare Web Developer - Healthcare-...
From Procom - Wed, 12 Sep 2018 21:04:55 GMT - View all Markham, ON jobs
          Senior DevOps Developer - 260343 - Procom - Toronto, ON      Cache   Translate Page      
Design and implement appropriate environments for those applications, engineer suitable release management procedures and provide production support....
From Procom - Wed, 12 Sep 2018 21:04:55 GMT - View all Toronto, ON jobs
          Salesforce Developer, Digital Technology - Investors Group - Winnipeg, MB      Cache   Translate Page      
The Developers will have an opportunity to work across the Investors Group and Mackenzie digital portfolio and join our multi-disciplinary Agile teams in close...
From Investors Group - Tue, 04 Sep 2018 20:18:42 GMT - View all Winnipeg, MB jobs
          Full-Stack PHP Developer - FlightHub - Montréal, QC      Cache   Translate Page      
Write, maintain and deploy great code for our ServPro Squad, who is responsible for creating our internal SPA to ensure our call center agents are able to...
From FlightHub - Thu, 23 Aug 2018 14:30:24 GMT - View all Montréal, QC jobs
          Software Developer - iQmetrix - Winnipeg, MB      Cache   Translate Page      
In the Enterprise Services circle, we are building customized, scalable solutions that meet the complex needs of our partners, carriers, and enterprise clients....
From iQmetrix - Wed, 01 Aug 2018 18:48:19 GMT - View all Winnipeg, MB jobs
          3070 – Senior iOS developer Contractual or permanent - Le Groupe TGC - Montréal, QC      Cache   Translate Page      
GIT, Android SDK, UX design, SPA, Building custom API’s and libraries, HTML5, CSS, JavaScript, jQuery....
From Le Groupe TGC - Sun, 03 Jun 2018 08:42:07 GMT - View all Montréal, QC jobs
          Labware Developer - UL LLC - Laramie, WY      Cache   Translate Page      
Experience in .Net, C#, HTML/CSS, VB, Domino, Java, Ext JS, and Ruby on Rails a plus! Contribute to a Safer, More Secure, and More Sustainable World....
From UL LLC - Wed, 11 Jul 2018 03:22:36 GMT - View all Laramie, WY jobs
          Labware Developer - Underwriters Laboratories - Laramie, WY      Cache   Translate Page      
Experience in .Net, C#, HTML/CSS, VB, Domino, Java, Ext JS, and Ruby on Rails a plus! Contribute to a Safer, More Secure, and More Sustainable World....
From Underwriters Laboratories - Tue, 10 Jul 2018 22:54:24 GMT - View all Laramie, WY jobs
          .NET Software Developer - All States Ag Parts, LLC - Downing, WI      Cache   Translate Page      
All States Ag Parts, LLC is a leading supplier of used, new, and rebuilt tractor, combine and agriculture equipment replacement parts. We are seeking a...
From Indeed - Wed, 01 Aug 2018 13:19:49 GMT - View all Downing, WI jobs
          Software Developer (SAP, ABAP, .NET) - ASAP Talent Services - Schofield, WI      Cache   Translate Page      
ASAP Talent Services is the leading SAP Focused Search Firm in the U.S. Our SAP Recruiting Team has been engaged by a client near Schofield, WI to recruit &... $85,000 - $115,000 a year
From ASAP Talent Services - Tue, 14 Aug 2018 05:15:25 GMT - View all Schofield, WI jobs
          IT Software Developer - Bay Tek Games, Inc. - Pulaski, WI      Cache   Translate Page      
Description: Position Summary: This role is to define, develop, test, analyze and maintain new software applications to support the organization. This...
From Bay Tek Games, Inc. - Tue, 22 May 2018 22:00:42 GMT - View all Pulaski, WI jobs
          IT Applications Programmer (.net Developer) - 4198BR - Green Bay, WI      Cache   Translate Page      
WEC Business Services, a subsidiary of WEC Energy Group, is seeking a IT Applications Programmer (.Net Programmer) in our Green Bay, WI location. A dynamic...
From We Energies - Wed, 29 Aug 2018 21:23:27 GMT - View all Green Bay, WI jobs
          1. MonoGame - Why MonoGame?      Cache   Translate Page      

Originally posted on: http://ferventcoder.com/cwilliams/archive/2017/02/06/232975.aspx

Why MonoGame?

You’re thinking about getting into game development, and you’re trying to decide how to get started. There are a number of great reasons to go with MonoGame.

  • Maybe you found Unity to be confusing and even a bit overwhelming.
  • Maybe you prefer to “live in the code.”
  • Maybe you’ve used XNA in the past, and want to work with something similar.
  • Maybe you want to create a game that can run on Macs, Windows PCs, Android phones or tablets, iPhones and iPads, or even Xbox & Playstation… with minimal alterations or rewrites to your existing code base.

MonoGame offers game developers an opportunity to write their game once, and target MANY different platforms.

MonoGame is the open source “spiritual successor” to XNA, which was a great game development framework that is no longer supported by Microsoft.

There have been a number of quite successful games created in XNA and MonoGame. You can see a few here.

In the next post, I’ll cover what you will need, and where to find it. If you came directly to this page, you can find the complete list of articles here.


          2016 Syntax Code & Craft Conference      Cache   Translate Page      

Originally posted on: http://ferventcoder.com/cwilliams/archive/2016/04/26/174983.aspx

If you're in the SC Lowcountry, or not too far away, you should check out the Syntax Code & Craft Conference (www.syntaxcon.com) the weekend of May 6.

We've got quite the lineup (including yours truly...)  My talk...

AN INTRODUCTION TO MONOGAME

Is there a technology game developers are looking at for not only the Windows ecosystem, but also cross-platform opportunities? MONOGAME! Looking to support iOS, Android, OUYA, PSM, Windows and more? MONOGAME!

In this talk we’ll cover the basics of MonoGame, it’s similarities to Microsoft’s gaming development platform XNA, the differences, how to get started and any tricks and traps to watch out for. Fun talk with plenty of code and demos.

Learning Objectives

  1. What is MonoGame?
  2. How/where to get it and set it up?
  3. How/where to use it?


          upcoming user group / conference visits      Cache   Translate Page      

Originally posted on: http://ferventcoder.com/cwilliams/archive/2014/02/26/155536.aspx

The next 6 months are going to be pretty fun (and by fun, I mean hectic.) In addition to a couple of interesting side projects (writing & video), I'm also going back on the speaker circuit. Fortunately, I'll be able to tie a few of these stops to some "vacation" destinations.

3/18: GSP Developers (Greenville, SC)
4/22: Enterprise Developers Guild (Charlotte, NC)
5/15: WNC.NET (Asheville, NC)
7/11: Codestock (Knoxville, TN) TENTATIVE
8/07: RV.NUG (Roanoke, VA)
8/28: DevLink (Chattanooga, TN) TENTATIVE
9/13: Code Impact (Jacksonville, FL)


Taking the mystery out of CryptoCurrencies

Maybe you've heard of BitCoin, but what about LiteCoin, DogeCoin, AmericanCoin or BBQCoin? (Yes, really.) These are just a few of the available CryptoCurrencies that are showing up. If you've wondered what they are, how to get them, how they work, or what Bitcoin Mining is, then this is the talk for you.

Once you've got them, what do you do with them? We'll cover some code and show ways to leverage BitCoin and other CryptoCurrencies in your applications. Whether it's taking payments, or buying and selling the coins themselves.Taking the mystery out of CryptoCurrencies

Maybe you've heard of BitCoin, but what about LiteCoin, DogeCoin, AmericanCoin or BBQCoin? (Yes, really.) These are just a few of the available CryptoCurrencies that are showing up. If you've wondered what they are, how to get them, how they work, or what Bitcoin Mining is, then this is the talk for you.

Once you've got them, what do you do with them? We'll cover some code and show ways to leverage BitCoin and other CryptoCurrencies in your applications. Whether it's taking payments, or buying and selling the coins themselves.

          Build me a website that has search engine characteristics      Cache   Translate Page      
Developer is going to build a website with Login - My Favorite Websites Homescreen - Most Popular Websites Search Is going to choose one of the two projects and modify from there, apply it on a server... (Budget: $30 - $250 USD, Jobs: Graphic Design, HTML, Javascript, PHP, Website Design)
          Senior Developer - Jungle Scout - Vancouver, BC      Cache   Translate Page      
Ruby on Rails, Node, React (or other Javascript frameworks), Postgres, Redis. Jungle Scout is killing it!...
From Jungle Scout - Thu, 14 Jun 2018 01:30:10 GMT - View all Vancouver, BC jobs
          Intermediate Full Stack Developer - Jungle Scout - Vancouver, BC      Cache   Translate Page      
Ruby on Rails, Node, React (or other Javascript frameworks), Postgres, Redis. Jungle Scout is killing it!...
From Jungle Scout - Fri, 22 Jun 2018 01:46:23 GMT - View all Vancouver, BC jobs
          Lead Security Software Developer / Programmer - Digital Boundary Group - London, ON      Cache   Translate Page      
Web programming and frameworks – Ruby on Rails (Rails), JQuery, Javascript. Founded in 2003, Digital Boundary Group is a professional services firm providing...
From Digital Boundary Group - Tue, 28 Aug 2018 18:09:03 GMT - View all London, ON jobs
          Verifone vx670 Project      Cache   Translate Page      
Looking to Hire Software Developer for Verifone & Ingenico POS System Software Application Development.. Person should have experience in Software Development & Architecture of Verifone & Ingenico POS... (Budget: $1500 - $3000 USD, Jobs: C Programming, C# Programming, Java, PHP, Software Architecture)
          Rails Developers Meetup 2018: Day 2 で「リモートなチーム開発」というタイトルでお話しました      Cache   Translate Page      

リモートワーク…というよりかは、リモートが前提となっている状態で自分がどういうことを考えながら(また、実践しながら)チーム開発と付き合っているかというお話でした。

speakerdeck.com

"リモートワーク"という言葉が指す範囲がすごく広くなってきている(し、ひとによっても違う)ので、ちょっと紐解いてみると上手くやるためのヒントが見つかるかもしれません。

イベントページの概要がよくまとまっているので、転記しておきます。

ここ数年でリモートワークを導入している会社はだんだんと増えてきましたし、その良さと難しさについては各所で語られるようになってきました。

わたしはここ七年間、リモートワークという働き方で多くのチーム多くのプロダクト開発に関わってきました。
その経験を通してわかったことは、リモートワークとは個人の働き方ではなくチームのあり方だということです。

リモートワークをしたいモチベーションはひとによって様々でしょう。
しかしチームが違えば価値観が違うように、チームに合うリモートワークのやり方も違ってきます。

この発表では、わたしのいままでの経験から見えてきたリモートなチーム開発をよい感じにするための心がけをお話しいたします。
これからリモートワークを始めようとしているチームにとってなにかのヒントになれば幸いです。

techplay.jp


また、今回登壇のお声をかけてくださった平野さん(@yoshi_hirano)たいへんありがとうございました!素晴らしいイベントでお話する機会をいただいて感謝するばかりです。


          EmberFest 2017 参加レポート day 2      Cache   Translate Page      

前回に引き続いて、EmberFest の二日目のまとめです。

f:id:tricknotes:20171024024436j:plain

本記事公開時点では多くの発表資料が未公開のため、詳しい説明や具体例がほしくなる部分があるかと思いますが気持ちで補って読み進めてください。

The Revolution will Not Be Centralized

  • 話者 : Edward Faulkner - @ef4

アニメーションライブラリのデファクトである liquid-fire の作者である @ef4 による "ambitious"1 なアプリケーション開発のための技術スタックの発表。

  • 前提: アプリケーション開発において、自分が書く必要があるコードは少ない方がよい
    • SPA 開発の文脈だと、まずサーバサイドの実装にはかなりの労力を割く必要がある。
    • 例えば、、、
      • Authentication
      • API endpoint
      • Data serialization
      • ...
    • これらを毎回自分たちで実装するのはほんとうに必要なのだろうか?
  • そこで Cardstack
    • Server Side App + Storage を置き換えることができる
    • これはクライアントサイドの Ember だけでアプリ開発が完結する状況になるということ
    • Cardstack のための Ember Addon があるので、自分が書かないといけないコードというのはほんとうに少なくなるはず
    • Ember の領域でも、これから共通化可能なものは見出されるはずなので、みんなで共有してアプリ開発を加速させていこう

Cardstack 自体は Ember に依存するものではなく、分散型インターネットを実現するためのアーキテクチャプロトコルだそうです。2 Ember コミュニティ発3のプロジェクトということですが、特定の企業に非依存である点4はとても興味深かったです。5

Adopting better Ember patterns

話者は Ember を始めて一年とのこと。 これまでの経験の中での学びを紹介します。

  • いくつかのパターンを紹介する
    • Avoid CHATTY templates
      • 条件分岐が多いようなテンプレートは、ヘルパーやコンポーネントを使って読みやすくしよう
      • 同じような DOM 構造を繰り返すような場合はイテレータを使かおう
    • Don't abuse services
      • ビジネスロジックやストレージに関係するようなものをなんでもサービスにするのはやめよう
    • Use moar ember-data methods
      • 検索クエリのための Ajax のような処理は Ember Data のアーキテクチャにのせよう
      • 例えば、Adapter / Serializer
    • Don't indulge in observer
      • なんでも observer はやめよう
      • よく考えると、computed property / lifecycle メソッドで十分な場合が多い
    • Send data down & actions up
      • 子のコンポーネントの中で親からもらったデータを気軽に更新してしまうと、状態管理が複雑になる

Ember を使ったことがある開発者であれば、誰もが頷けるような内容でした。 経験の浅いメンバーに対してパターンとして紹介するときに参照したい発表内容でした。

Improving the UX is the developers job

SPA でのよい UX と、Ember でのその実現方法についての話。

  • SPA でのよい UX とは?

    • Fast
      • Non blocking data fetching
      • Rendering on server
    • Native
      • homescreen
      • Splash
      • Notification
      • Offline
    • Indicate current state
    • Handle errors
      • Caught and wrapped errors
  • Working on UX with Ember

    • リソースではなく、画面で URL を組み立ましょう
    • 似たような画面であっても、UI/UX の観点から別の画面なのであれば別の URL を割り当てましょう
    • Ember Data のモデルとサーバサイドのモデルは 1:1 で対応するものではないので、それぞれでモデルを考えましょう
      • partial model / full model
    • Fastboot で初期画面の表示を早くしましょう
    • オフラインでも使えるように、Service Worker を検討するものありです
    • エラー発生をユーザーにフィードバックするために、 Promise の catch を忘れないように!

本編では時間の制約もありあまり踏む込んだ具体例はなかったですが、 SPA の開発者であれは常に意識しておきたいポイントがとてもよくまとっまっていました。 SPA 開発の際にはチェックリストとして見返したい資料です。

Writing tests like a speed demon with data builder patterns

Data Builder Pattern を用いて高速でメンテナブルなテストの書き方の話。

  • テストデータの準備をシンプルにしたい
    • 例えば、ツリー型タブのように木構造を形成するデータのセットアップは面倒
    • 参照関係を設定しつつデータを準備すると、どうしても多くのコード行数を必要としてしまい、これはテスト対象の本質ではない部分が増えてしまう
  • そこで Data Builder Pattern6
    • 一連のテストデータの準備をオブジェクト化して、テストコードをシンプルに保てる
    • 木構造のデータについても、参照関係を Data Builer に渡すようにすると、具体的な設定はカプセル化できる
  • テストフィクスチャについて
    • Mirage は HTTP リクエストに対するクライアントサイドのモックなので、データを加工するのがやりづらい場合がある
    • そこで、 FactoryGuys7
    • これは Ember Data の store を直接参照するので、 Mirage の 5~7x 高速に動作する

Data Builer Pattern は今回初めて知ったのですが、古くから確立されているパターンなのですね。 資料では Pattern 適用後の具体的なコードがわかりやすく解説されていたので、公開されたらご参照いただければと思います。

SDK... Ambitious... What about a RAD tool for the web?

サーバサイドとクライアントサイドで似たようなコードを書かなくて済むように、SPA のための RAD tool8 のご提案。

  • Ember でフロントエンドを開発するにあたっては多くの仕事が必要となる
    • DB / ORM にスキーマと定義する
    • そのモデルをフロントに渡すための REST API をサーバサイドに作成する
    • バックエンドのモデル構造を Ember の世界にも複製する
    • そのモデルに対応するフォームを作成する
    • フォームにレイアウトを設定する
  • これらの仕事の大半は重複であり、自動生成することで解決可能になるのでは

動作するアプリケーションをいかに早くリリースするか、という観点でとても興味深い内容でした。 REST API を重複とみるかフロントエンドのためのモデリングとみなすかは議論が分かれる点だとは思いますが、RAD tool としての話者の割り切りは一理あるなと感じました。 またデモがリッチなアプリケーションだったので、資料と合わせてデモ(資料中にリンクがあります)を試してみるとより雰囲気がわかりやすいかと思います。

Hybrid Apps with Ember/Glimmer

Ember.js/Glimmer.js を使ったハイブリッドアプリ(PWA とネイティブどちらとしても配布可能なアプリ)の実装の話。

  • 話者が開発中の corber のご紹介
    • cordova ための CLI
    • 特定の JS ライブラリに依存していない
      • 現在は Ember, Vue, React/Webpack, Glimmer をサポートしている
      • 以前は ember-cordova として開発していたが、現在は corber に移行した
    • PWA とネイティブアプリでの差異をきれいに分離できる
    • ビルド、ライブリロード、アイコンスプラッシュなど、ハイブリッドアプリの開発で毎回必要になるであろう手間な部分をサポートしている

おぉっ、なんだかよさそう!という印象でした。 ドキュメントがしっかりしているのと、積極的に開発が進められていることからも、今後にも期待できそうな感触です。

Testing against Time - Meaningful testing in Ember apps when timing matters

非同期のテストに立ち向かうための Tips の話。

  • 話者について
  • 非同期のテスト
    • Ember には組み込みのacceptance test 用のヘルパがいくつか用意されている
      • 同期・非同期のヘルパが存在するので、記述した順に実行されるとは限らない
      • 非同期のヘルパ Ember の run loop 内で実行される
      • 同期ヘルパは即時実行されるので、非同期ヘルパと組み合わせる場合は andThen 関数でラップする
        • run loop 内だと、実行順序が保証される
  • テストダブル
    • 外部の API を呼び出すような場合は testdouble を使う
    • また、async / await で書けば、ネストが深くなることはなく、可読性を保てる
  • Grand Testing Unification
    • まだ RFC の段階だが、いままでは各レイヤごとに違ったテストでの非同期の扱いを統合していきたいという議論がなされている
    • これが実装されると、Ember 本体が提供する機能でさらにシンプルなテストが書けるようになる
  • 時間のテスト
    • 時間に依存するテストは Date をモックするとよい(ember-cli-timecop)

Ember のテストはちゃんと書いたことがなかったので、なるほどという感じでした。 Grand Testing Unification が入ると、またテストの世界が変わってきそうで楽しみです。

LT

@turbo87

実装に依存しない抽象度の高いテストを書きましょう、という話

  • High Level Abstructions Assertions
  • DOM のアサーションだと、改行や空白文字を考慮しなくてはいけない場合が多々あるが、これはテストの本質ではない
    • chai / chai-dom を使うと、よく書ける
    • さらに、話者の所属する Simplab 作の qunit-dom を使うともっとよく書ける

?

?

コード + トークのみで、上手く聞き取れませんでした 😵

@michalsnik

  • ember-content-placeholders のご紹介
    • データ読み込みの間、枠だけ表示してくれる Ember Addon (話者作)
    • Facebook の読み込み中の UI がイメージに近い

@bardzusny

  • eslint-plugin-glimmer のご紹介
    • まだ作りたてなので、これからどんどん機能追加していく予定
    • ⭐ してね!

Closing Keynote

  • 話者 : Eric bryan - @ebryn

Ember のコアコミッターである @ebryn によるキーノート。コミュニティの話。

  • みなさん、Ember コミュニティにようこそ
  • 有名のライブラリの多くは特定の企業がホストしているけど、Ember はコミュニティベースの OSS
    • コミュニティベースの OSS は (JS の世界だと) 珍しい
    • 特定の企業が中心にいないということは、民主主義による決断が行われるということ
  • "Ember is for the children"
  • コントリビューションはとても小さなことから始められる
    • 自分の場合は fix typo だった
    • コントリビューションは、フレームワークを学ぶための偉大な一歩だ
  • "Driving standards"
  • 革命は Ember 本体からだけではない、コミュニティからすばらしいライブラリが生まれている
  • また、OSS コミュニティはコードだけというわけではない
    • ミートアップ
    • ドキュメント
    • ニュースサイト
  • みなさん、ぜひぜひもっと参加してね!

今でこそコミュニティをコードでリードしている話者ですら、最初のコントリビューションが fix typo だったというのはなかなか感じ入るところがありました。 たしかにここ数年で、Ember と取り巻くコミュニティは豊かになったように感じます。 これからコミュニティがどんな風に進化していくか(もしくはわたしたちがどんな風に参加していくとよいか)を考えると、とても楽しみだなと思えました。


二日目の記事も、Ember.Sapporo (特に @ursm@tmaeda) から多くのアドバイスをもらった上で作成されました。

わたしの速記の発表メモに対して、詳しく分析と解説をしてくれてとても理解が深まりました。 ほんとうにありがとうございました。

EmberFest の二日間のまとめはこれで終わりです。 参加しそびれて残念だった…、という方に少しでも内容をお届けできていると幸いです。

最後に、EmberFest の雰囲気をもっと感じてもらうために、当日の様子を写真で紹介してこの記事を締めくくりたいと思います。

f:id:tricknotes:20171024024541j:plain 会場の外観です。 オシャレな建物ですが、ふつうの多目的施設だそうです。

f:id:tricknotes:20171024024039j:plain 休憩時間、二階からの風景です。 いい感じに壇上と客席の距離が近いですね。

f:id:tricknotes:20171024024031j:plain 懇親会(?)の様子です。 会場から徒歩一分の場所にあるふつうのビアバーの一画で懇親しました。 各自ビールを買って着席するスタイルだったので、みんな自由に来て自由に帰っていきました。

f:id:tricknotes:20171024025202j:plain お昼ごはんは、会場にハンバーガーを売ってるワゴンショップが来てくれました。 好きなメニューを注文するともらえます。代金は参加費に含まれています。

ハンバーガーを手にしたら、近くのベンチで他の参加者の方々と自由に喋ります。

f:id:tricknotes:20171024025206j:plain 休憩時間には、好きなコーヒーを好きなだけ淹れてもらえます。 これも参加費に含まれています。 ちなみに、この隣にはソフトドリンクが好きなだけもらえるバーカウンターもありました。

f:id:tricknotes:20171024025038j:plain Ember コミッターの ebryn, locks, ef4 と記念写真を取ってもらいました。 以前から GitHub 上では交流があったのですが、オフラインでお会いするのは初めてだったので感無量でした。

f:id:tricknotes:20171024030150j:plain 懇親会への道中の様子です。 滞在中は、毎日こんな感じのいい感じの夕焼けが見られて癒やされました。

f:id:tricknotes:20171024030203j:plain EmberFest 恒例(らしい)のナイトクルーズでの懇親会です。 船の乗り場の周りは本当に真っ暗でちょっと怖い。

f:id:tricknotes:20171024030215j:plain お酒が入ると、まぁふつうの懇親会になりますね。 窓の外の景色がゆるやかに変わるのと、たまに花火が見えたりするのがよい感じでした。


  1. Ember.js のキャッチフレーズである “A framework for creating ambitious web applications.” より

  2. 公式サイトによると、"Cardstack is building an open-source software architecture and protocol, to bring the decentralized Internet to the masses by offering a Cohesive User Experience (CUE) that spans the blockchain and the cloud.“ とのこと

  3. https://github.com/cardstack/cardstack#project-wide-policy-and-community-governance 参照

  4. Closing Keynote でも語られていますが、Ember.js はコミュニティベースの OSS であるため、特定の企業に非依存であることはひとつの価値だ、とみなされることが多いです。

  5. もちろん、メリット・デメリットはあるのですが…

  6. http://wiki.c2.com/?TestDataBuilder

  7. これは Ruby のデータ生成ライブラリである factory_bot (factory_girl からリネームされました) インスパイアのライブラリです

  8. 参考: https://ja.wikipedia.org/wiki/Rapid_Application_Development


          Metix Ltd: Web Developer      Cache   Translate Page      
Metix Ltd: Glasgow based Metix is an established and successful medical technology company that is currently developing the next-generation of medical devices that have the potential to improve medical care in pre-hospital care settings. We are looking for engineer Glasgow
          Diagnosing Heart Diseases with Deep Neural Networks      Cache   Translate Page      

The Second National Data Science Bowl, a data science competition where the goal was to automatically determine cardiac volumes from MRI scans, has just ended. We participated with a team of 4 members from Ghent University and finished 2nd!

The team kunsthart (artificial heart in English) consisted of Ira Korshunova, Jeroen Burms, Jonas Degrave, 3 PhD students, and professor Joni Dambre. It’s also a follow-up of last year’s team ≋ Deep Sea ≋, which finished in first place for the First National Data Science Bowl.

Overview

This blog post is going to be long, here is a clickable overview of different sections.

Introduction

The problem

The goal of this year’s Data Science Bowl was to estimate minimum (end-systolic) and maximum (end-diastolic) volumes of the left ventricle from a set of MRI-images taken over one heartbeat. These volumes are used by practitioners to compute an ejection fraction: fraction of outbound blood pumped from the heart with each heartbeat. This measurement can predict a wide range of cardiac problems. For a skilled cardiologist analysis of MRI scans can take up to 20 minutes, therefore, making this process automatic is obviously useful.

Unlike the previous Data Science Bowl, which had very clean and voluminous data set, this year’s competition required a lot more focus on dealing with inconsistencies in the way the very limited number of data points were gathered. As a result, most of our efforts went to trying out different ways to preprocess and combine the different data sources.

The data

The dataset consisted of over a thousand patients. For each patient, we were given a number of 30-frame MRI videos in the DICOM format, showing the heart during a single cardiac cycle (i.e. a single heartbeat). These videos were taken in different planes including the multiple short-axis views (SAX), a 2-chamber view (2Ch), and a 4-chamber view (4Ch). The SAX views, whose planes are perpendicular to the long axis of the left ventricle, form a series of slices that (ideally) cover the entire heart. The number of SAX slices ranged from 1 to 23. Typically, the region of interest (ROI) is only a small part of the entire image. Below you can find a few of SAX slices and Ch2, Ch4 views from one of the patients. Red circles on the SAX images indicate the ROI’s center (later we will explain how to find it), for Ch2 and Ch4 they specify the location of SAX slices projected on the corresponding view.

sax_5 sax_9 sax_10 sax_11 sax_12 sax_15
2Ch 4Ch

The DICOM files also contained a bunch of metadata. Some of the metadata fields, like PixelSpacing and ImageOrientationm were absolutely invaluable to us. The metadata also specified patient’s age and sex.

For each patient in the train set, two labels were provided: the systolic volume and the diastolic volume. From what we gathered (link), these were obtained by cardiologists by manually performing a segmentation on the SAX slices, and feeding these segmentations to a program that computes the minimal and maximal heart chamber volumes. The cardiologists didn’t use the 2Ch or 4Ch images to estimate the volumes, but for us they proved to be very useful.

Combining these multiple data sources can be difficult, however for us dealing with inconsistencies in the data was more challenging. Some examples: the 4Ch slice not being provided for some patients, one patient with less than 30 frames per MRI video, couple of patients with only a handful of SAX slices, patients with SAX slices taken in weird locations and orientations.

The evaluation

Given a patient’s data, we were asked to output a cumulative distribution function over the volume, ranging from 0 to 599 mL, for both systole and diastole. The models were scored by a Continuous Ranked Probability Score (CRPS) error metric, which computes the average squared distance between the predicted CDF and a Heaviside step function representing the real volume.

An additional interesting novelty of this competition was the two stage process. In the first stage, we were given a training set of 500 patients with a public test set of 200 patients. In the final week we were required to submit our model and afterwards the organizers released the test data of 440 patients and labels for 200 patients from the public test set. We think the goal was to compensate for the small dataset and prevent people from optimizing against the test set through visual inspection of every part of their algorithm. Hand-labeling in the first stage was allowed on the training dataset only, for the second stage it was also allowed for 200 validation patients.

The solution: traditional image processing, convnets, and dealing with outliers

In our solution, we combined traditional image processing approaches, which find the region of interest (ROI) in each slice, with convolutional neural networks, which perform the mapping from the extracted image patches to the predicted volumes. Given the very limited number of training samples, we tried combat overfitting by restricting our models to combine the different data sources in predefined ways, as opposed to having them learn how to do the aggregation. Unlike many other contestants, we performed no hand-labelling .

Pre-processing and data augmentation

The provided images have varying sizes and resolutions, and do not only show the heart, but the entire torso of the patient. Our preprocessing pipeline made the images ready to be fed to a convolutional network by going through the following steps:

  • applying a zoom factor such that all images have the same resolution in millimeters
  • finding the region of interest and extracting a patch centered around it
  • data augmentation
  • contrast normalization

To find the correct zooming factor, we made use of the PixelSpacing metadata field, which specifies the image resolution. Further we will explain our approach to ROI detection and data augmentation.

Detecting the Region Of Interest through image segmentation techniques

We used classical computer vision techniques to find the left ventricle in the SAX slices. For each patient, the center and width of the ROI were determined by combining the information of all the SAX slices provided. The figure below shows an example of the result.

ROI extraction steps
ROI extraction steps

First, as was suggested in the Fourier based tutorial, we exploit the fact that each slice sequence captures one heartbeat and use Fourier analyses to extract an image that captures the maximal activity at the corresponding heartbeat frequency (same figure, second image).

From these Fourier images, we then extracted the center of the left ventricle by combining the Hough circle transform with a custom kernel-based majority voting approach across all SAX slices. First, for each fourier image (resulting from a single sax slice), the highest scoring Hough circles for a range of radii were found, and from all of those, the highest scoring ones were retained. , and the range of radii are metaparameters that severely affect the robustness of the ROI detected and were optimised manually. The third image in the figure shows an example of the best circles for one slice.

Finally, a ‘likelihood surface’ (rightmost image in figure above) was obtained by combining the centers and scores of the selected circles for all slices. Each circle center was used as the center for a Gaussian kernel, which was scaled with the circle score, and all these kernels were added. The maximum across this surface was selected as the center of the ROI. The width and height of the bounding box of all circles with centers within a maximal distance (another hyperparameter) of the ROI center were used as bounds for the ROI or to create an ellipsoidal mask as shown in the figure.

Given these ROIs in the SAX slices, we were able to find the ROIs in the 2Ch and 4Ch slices by projecting the SAX ROI centers onto the 2Ch and 4Ch planes.

Data augmentation

As always when using convnets on a problem with few training examples, we used tons of data augmentation. Some special precautions were needed, since we had to preserve the surface area. In terms of affine transformations, this means that only skewing, rotation and translation was allowed. We also added zooming, but we had to correct our volume labels when doing so! This helped to make the distirbution of labels more diverse.

Another augmentation here came in the form of shifting the images over the time axis. While systole was often found in the beginning of a sequence, this was not always the case. Augmenting this, by rolling the image tensor over the time axis, made the resulting model more robust against this noise in the dataset, while providing even more augmentation of our data.

Data augmentation was applied during the training phase to increase the number of training examples. We also applied the augmentations during the testing phase, and averaged predictions across the augmented versions of the same data sample.

Network architectures

We used convolutional neural networks to learn a mapping from the extracted image patches to systolic and diastolic volumes. During the competition, we played around a lot with both minor and major architectural changes. Our base architecture for most of our models was based on VGG-16.

As we already mentioned, we trained different models which can deal with different kinds of patients. There are roughly four different kinds of models we trained: single slice models, patient models, 2Ch models and 4Ch models.

Single slice models

Single slice models are models that take a single SAX slice as an input, and try to predict the systolic and diastolic volumes directly from it. The 30 frames were fed to the network as 30 different input channels. The systolic and diastolic networks shared the convolutional layers, but the dense layers were separated. The output of the network could be either a 600-way softmax (followed by a cumulative sum), or the mean and standard deviation of a Gaussian (followed by a layer computing the cdf of the Gaussian).

Although these models obviously have too little information to make a decent volume estimation, they benefitted hugely from test-time augmentation (TTA). During TTA, the model gets slices with different augmentations, and the outputs are averaged across augmenations and slices for each patient. Although this way of aggregating over SAX slices is suboptimal, it proved to be very robust to the relative positioning of the SAX slices, and is as such applicable to all patients.

Our single best single slice model achieved a local validation score of 0.0157 (after TTA), which was a reliable estimate for the public leaderboard score for these models. The approximate architecture of the slice models is shown on the following figure.

2Ch and 4Ch models

These models have a much more global view on the left ventricle of the heart than single SAX slice models. The 2Ch models also have the advantage of being applicable to every patient. Not every patient had a 4Ch slice. We used the same VGG-inspired architecture for these models. Individually, they achieved a similar validation score (0.0156) as was achieved by averaging over multiple sax slices. By ensembling only single slice, 2Ch and 4Ch models, we were able to achieve a score of 0.0131 on the public leaderboard.

Patient models

As opposed to single slice models, patient models try to make predictions based on the entire stack of (up to 25) SAX slices. In our first approaches to these models, we tried to process each slice separately using a VGG-like single slice network, followed by feeding the results to an overarching RNN in an ordered fashion. However, these models tended to overfit badly. Our solution to this problem consists of a clever way to merge predictions from multiple slices. Instead of having the network learn how to compute the volume based on the results of the individual slices, we designed a layer which combines the areas of consecutive cross-sections of the heart using a truncated cone approximation.

Basically, the slice models have to estimate the area (and standard deviation thereof) of the cross-section of the heart in a given slice . For each pair of consecutive slices and , we estimate the volume of the heart between them as , where is the distance between the slices. The total volume is then given by .

Ordering the SAX slices and finding the distance between them was achieved through looking at the SliceLocation metadata fields, but this field was not very reliable in finding the distance between slices, neither was the SliceThickness. We looked for the two slices that were furthest apart, drew a line between them, and projected every other slice onto this line. This way, we estimated the distance between two slices ourselves.

Our best single model achieved a local validation score of 0.0105 using this approach. This was no longer a good leaderboard estimation, since our local validation set contained relatively few outliers compared to the public leaderboard in the first round. The model had the following architecture:

Layer Type Size Output shape
Input layer   (8, 25, 30, 64, 64)*
Convolution 128 filters of 3x3 (8, 25, 128, 64, 64)
Convolution 128 filters of 3x3 (8, 25, 128, 64, 64)
Max pooling   (8, 25, 128, 32, 32)
Convolution 128 filters of 3x3 (8, 25, 128, 32, 32)
Convolution 128 filters of 3x3 (8, 25, 128, 32, 32)
Max pooling   (8, 25, 128, 16, 16)
Convolution 256 filters of 3x3 (8, 25, 256, 16, 16)
Convolution 256 filters of 3x3 (8, 25, 256, 16, 16)
Convolution 256 filters of 3x3 (8, 25, 256, 16, 16)
Max pooling   (8, 25, 256, 8, 8)
Convolution 512 filters of 3x3 (8, 25, 512, 8, 8)
Convolution 512 filters of 3x3 (8, 25, 512, 8, 8)
Convolution 512 filters of 3x3 (8, 25, 512, 8, 8)
Max pooling   (8, 25, 512, 4, 4)
Convolution 512 filters of 3x3 (8, 25, 512, 4, 4)
Convolution 512 filters of 3x3 (8, 25, 512, 4, 4)
Convolution 512 filters of 3x3 (8, 25, 512, 4, 4)
Max pooling   (8, 25, 512, 2, 2)
Fully connected (S/D) 1024 units (8, 25, 1024)
Fully connected (S/D) 1024 units (8, 25, 1024)
Fully connected (S/D) 2 units (mu and sigma) (8, 25, 2)
Volume estimation (S/D)   (8, 2)
Gaussian CDF (S/D)   (8, 600)

* The first dimension is the batch size, i.e. the number of patients, the second dimension is the number of slices. If a patient had fewer slices, we padded the input and omitted the extra slices in the volume estimation.

Oftentimes, we did not train patient models from scratch. We found that initializing patient models with single slice models helps against overfitting, and severely reduces training time of the patient model.

The architecture we described above was one of the best for us. To diversify our models, some of the good things we tried include:

  • processing each frame separately, and taking the minimum and maximum at some point in the network to compute systole and diastole
  • sharing some of the dense layers between the systole and diastole networks as well
  • using discs to approximate the volume, instead of truncated cones
  • cyclic rolling layers
  • leaky RELUs
  • maxout units

One downside of the patient model approach was that these models assume that SAX slices nicely range from one end of the heart to the other. This was trivially not true for patients with very few (< 5) slices, but it was harder to detect automatically for some other outlier cases as in figure below, where something is wrong with the images or the ROI algorithm fails.

sax_12 sax_15 sax_17 sax_36 sax_37 sax_41
2Ch 4Ch

Training and ensembling

Error function. At the start of the competition, we experimented with various error functions, but we found optimising CRPS directly to work best.

Training algorithm. To train the parameters of our models, we used the Adam update rule (Kingma and Ba).

Initialization. We initialised all filters and dense layers orthogonally (Saxe et al.). Biases were initialized to small positive values to have more gradients at the lower layer in the beginning of the optimization. At the Gaussian output layers, we initialized the biases for mu and sigma such that initial predictions of the untrained network would fall in a sensible range.

Regularization. Since we had a low number of patients, we needed considerable regularization to prevent our models from overfitting. Our main approach was to augment the data and to add a considerable amount of dropout.

Validation

Since the trainset was already quite small, we kept the validation set small as well (83 patients). Despite this, our validation score remained pretty close to the leaderboard score. Also, in cases where it didn’t, it helped us identify issues in our models, namely problematic cases in the test set which were not represented in our validation set. We noticed for instance that quite some of our patient models had problems with patients with too few SAX slices (< 5).

Selectively train and predict

By looking more closely at the validation scores, we observed that most of the accumulated error was obtained by wrongly predicting only a couple of such outlier cases. At some point, being able to handle only a handful of these meant the difference between a leaderboard score of 0.0148 and 0.0132!

To mitigate such issues, we set up our framework such that each individual model could choose not to train on or predict a certain patient. For instance, models on patients’ SAX slices could choose not to predict patients with too few SAX slices, models which use the 4Ch slice would not predict for patients who don’t have this slice. We extended this idea further by developing expert models, which only trained and predicted for patients with either a small or a big heart (as determined by the ROI detection step). Further down the pipeline, our ensembling scripts would then take these non-predictions into account.

Ensembling and dealing with outliers

We ended up creating about 250 models throughout the competition. However, we knew that some of these models were not very robust to certain outliers or patients whose ROI we could not accurately detect. We came up with two different ensembling strategies that would deal with these kind of issues.

Our first ensembling technique followed the following steps:

  1. For each patient, we select the best way to average over the test time augmentations. Slice models often preferred a geometric averaging of distributions, whereas in general arithmetic averaging worked better for patient models.
  2. We average over the models by calculating each prediction’s KL-divergence from the average distribution, and the cross entropy of each single sample of the distribution. This means that models which are further away from the average distribution get more weight (since they are more certain). It also means samples of the distribution closer to the median-value of 0.5 get more weight. Each model also receives a model-specific weight, which is determined by optimizing these weights over the validation set.
  3. Since not all models predict all patients, it is possible for a model in the ensemble to not predict a certain patient. In this case, a new ensemble without these models is optimized, especially for this single patient. The method to do this is described in step 2.
  4. This ensemble is then used on every patient on the test-set. However, when a certain model’s average prediction disagrees too much with the average prediction of all models, the model is thrown out of the ensemble, and a new ensemble is optimized for this patient, as described in step 2. This meant that about ~75% of all patients received a new, ‘personalized’ ensemble.

Our second way of ensembling involves comparing an ensemble that is suboptimal, but robust to outliers, to an ensemble that is not robust to them. This approach is especially interesting, since it does not need a validation set to predict the test patients. It follows the following steps:

  1. Again, for each patient, we select the best way to average over the test time augmentations again.
  2. We combine the models by using a weighted average on the predictions, with the weights summing to one. These weights are determined by optimising them on the validation set. In case not all models provide a prediction for a certain patient, it is dropped for that patient and the weights of the other models are rescaled such that they again sum to one. This ensemble is not robust to outliers, since it contains patient models.
  3. We combine all 2Ch, 4Ch and slice models in a similar fashion. This ensemble is robust to outliers, but only contains less accurate models.
  4. We detect outliers by finding the patients where the two ensembles disagree the most. We measure disagreement using CRPS. If the CRPS exceeds a certain threshold for a patient, we assume it to be an outlier. We chose this threshold to be 0.02.
  5. We retrain the weights for the first ensemble, but omit the outliers from the validation set. We choose this ensemble to generate predictions for most of the patients, but choose the robust ensemble for the outliers.

Following this approach, we detected three outliers in the test set during phase one of the competition. Closer inspection revealed that for all of them either our ROI detection failed, or the SAX slices were not nicely distributed across the heart. Both ways of ensembling achieved similar scores on the public leaderboard. (0.0110)

Second round submissions

For the second round of the competition, we were allowed to retrain our models on the new labels (+ 200 patients). We were also allowed to plan two submissions. Of course, it was impossible to retrain all of our models during this single week. For this reason, we chose to only train our 44 best models, according to our ensembling scripts.

For our first submission, we splitted of a new validation set. The resulting models were combined using our first ensembling strategy.

For our second submission, we trained our models on the entire training set (i.e. there was no validation split). We assembled them using the second ensembling method. Since we had no validation set to optimise the weights of the ensemble, we computed the weights by training an ensemble on the models we trained with a validation split, and transferred them over.

Software and hardware

We used Lasagne, Python, Numpy and Theano to implement our solution, in combination with the cuDNN library. We also used PyCUDA for a few custom kernels. We made use of scikit-image for pre-processing and augmentation.

We trained our models on the NVIDIA GPUs that we have in the lab, which include GTX TITAN X, GTX 980, GTX 680 and Tesla K40 cards. We would like to thank Frederick Godin and Elias Vansteenkiste for lending us a few extra GPUs in the last week of the competition.

Conclusion

In this competition, we tried out different ways to preprocess data and combine information from different data sources, and thus, we learned a lot in this aspect. However, we feel that there is still a room for improvement. For example, we observed that most of our error still hails from a select group of patients. These include the ones for which our ROI extraction fails. In hindsight, hand-labeling the training data and training a network to do the ROI extraction would be a better approach, but we wanted to sidestep doing a lot of this kind of manual effort as much as possible. In the end, labeling the data would probably have been less time intensive.

UPDATE (March 23): the code is now available on GitHub: github.com/317070/kaggle-heart


          Full Stack Developer (React.JS)      Cache   Translate Page      
CA-Agoura Hills, · Work experience of Object Oriented JavaScript design pattern and JavaScript MVC Patterns with Angular JS · Work Experience with Responsive Web design, UI Development using Angular JS · Work experience of developing UI with Web3.0 and W3C standard · Skills of handling Confluence, JIRA and documentation skills · Work experience of Agile delivery model with Sprints · Experience writing and debuggin
          .Net Developer      Cache   Translate Page      
MI-Lansing, PROLIM Global Corporation (www.prolim.com) is currently seeking .NET Developer for location Lansing, MI for one of our Top client. These positions would be working on the re-write of legacy software and provide production/operational support using Microsoft Visual Studio. Senior level .net developer will be expected to perform the following tasks. These tasks include but are not limited to: Develo
          TrackWise Developer      Cache   Translate Page      
CA-Thousand Oaks, Cognizant is hiring " TrackWise Developer for Multiple location ”. Interested candidates who are local and willing to relocate can apply. Job Title: TrackWise Developer Location: Tampa or Thousand Oaks Mandatory skills: TrackWise, SQL, Crystal Reports, Java WebServices, Validation Job Role: • Administration, configuration, development, and support of TrackWise version 8 above. • TrackWise versions
          9/12/2018: BUSINESS: Game called off at Wembley as Quintain proves too dear      Cache   Translate Page      

SIGN of the times that US private-equity firm Lone Star has pulled Quintain off the market. Jamie Ritblat’s Delancey couldn’t agree a price for the Wembley developer and Spy’s moles say £2.3 billion was always a bit rich given a wobbly London property...
          .NET Developer      Cache   Translate Page      
FL-Miami, RESPONSIBILITIES: Kforce has a client in search of a .NET Developer in Miami, Florida (FL). Summary: As a .NET Developer, you will be a critical part of the services that the client provides worldwide. This position will be responsible for the design and development of new applications as well as taking a lead role. You will need to have the keen ability to understand the full SDLC model and what
          Reduce your Azure Development Subscription Cost      Cache   Translate Page      
Azure VMs Usually you should convey to developers and testers to shut down the VMs manually when they are not using non production virtual machines. Also there some ways to automatic shutdown the VMs ... - Source: www.sqlservercentral.com
          Revenue Management Data Solutions Developer      Cache   Translate Page      
FL-Miami, RESPONSIBILITIES: Kforce has a client in search of a Revenue Management Data Solutions Developer in Miami, Florida (FL). Basic Purpose: The Developer will be responsible for designing, developing, configuring new highly visual analytical tools and dashboards for Revenue Management. The candidate will work closely with all areas of the department to understand user's needs, gather requirements, and
          Aardman and Sally partner on new 'Shaun the Sheep' dark ride      Cache   Translate Page      
By Robert Niles: One of the great mysteries of the theme park business continues to be why some major theme park chain hasn't bought the rights to Aardman's animation franchises. Wallace and Gromit, Shaun the Sheep, and Chicken Run feature engaging characters and delightful world-building — the key elements in supporting a successful theme park attraction. Aardman's movie and TV specials long have been favorites in my family, and the studio's four Academy Awards speak to its critical and popular appeal.

Wallace and Gromit feature in a dark ride at England's Blackpool Pleasure Beach, and Chicken Run was featured in a walk-through briefly at Universal Studios Hollywood ages ago. The one-time Paramount-themed park planned for the London suburbs also was to include an Aardman-themed land, too. But I suspect that many theme park fans would like to see more Aardman-themed attractions in more parks.

Now Sally Corporation has stepped up to satisfy that demand. It has announced a new Shaun the Sheep-themed dark ride that it will be making available to parks and family entertainment centers, starting at the European Attractions Show in Amsterdam later this month.

"Shaun the Sheep loves new adventures and we’re thrilled by the opportunity to provide Shaun's global family audiences with a completely unique way to immerse themselves in the world of our characters," Ngaio Harding-Hill, Senior Manager of Attractions and Live Experiences at Aardman, said. "Integrating Shaun's slapstick humour and farmyard antics into a thrilling dark ride experience promises to be an exciting creative partnership that we hope audiences will adore."

Ride concept
Concept art courtesy Sally Corp.

"With Sally’s ability to scale dark rides to any budget or footprint, the possibilities are endless. This attraction is perfect for any park or FEC looking to satisfy their family demographic," Lauren Weaver, Sally’s Director of Marketing & Business Development, said. "From farm-themed attractions and play parks, to cafes and stage shows, people are noticing the universal appeal of this popular IP and integrating it into attractions world-wide. Now, Sally gets the opportunity to join in the fun and create a fully immersive Shaun the Sheep dark ride that will be nothing short of a flockin’ good time."

Ride layout
A look at one potential ride layout

The four-minute ride features several scenes around the Mossy Bottom Farm — featuring practical sets, media, and animatronics — but Sally says that it can customize the layout of the attraction to meet a client's site needs. That points out this is not yet a "done deal" attraction that will be coming to a specific park on a specific date. Ultimately, it's a product for sale.

But Sally is known for developing popular theme park attractions, including the Theme Park Insider Award-winning Justice League: Battle for Metropolis as well as dozens of other interactive dark rides, so this is a match of a proven developer with a popular IP. So who will step up to buy it?


          NVIDIA DLSS Provides ‘Huge’ Performance Boost at 4K in Dauntless; Developer Talks About 1.0 and Console Release      Cache   Translate Page      

While raytracing may have been the star of the GeForce RTX reveal and showcase, there’s another side to the ‘reinvention of graphics’ that NVIDIA has been touting and it’s the one provided by the Tensor Cores. These specialized cores allow the new Turing based GPUs to perform much faster deep neural network processing than what […]

The post NVIDIA DLSS Provides ‘Huge’ Performance Boost at 4K in Dauntless; Developer Talks About 1.0 and Console Release by Alessio Palumbo appeared first on Wccftech.


          Senior Android Programmer/Software Developer - Buchanan Technologies - Toronto, ON      Cache   Translate Page      
Buchanan Techonologies is responding to a request for services from our federal government client to supply resources for a Software Developer/Programmer....
From Buchanan Technologies - Thu, 26 Jul 2018 20:50:54 GMT - View all Toronto, ON jobs
          Download tvOS 12 GM for Apple TV 4 and Apple TV 4K [How to]      Cache   Translate Page      

Developers and public beta testers can download tvOS 12 GM for Apple TV 4 and Apple TV 4K right away. tvOS 12 GM Arrives for Apple TV with Improvements and Dolby Atmos Support Probably the biggest highlighting feature of tvOS 12 is the added support for Dolby Atmos. Of course, that is only possible if […]

The post Download tvOS 12 GM for Apple TV 4 and Apple TV 4K [How to] by Uzair Ghani appeared first on Wccftech.


          Download watchOS 5 GM for Apple Watch Series 1, Series 2 and Series 3      Cache   Translate Page      

You can now download watchOS 5 GM for Apple Watch Series 3, Series 2 and Series 1 devices if you are a registered developer with Apple. watchOS 5 GM is Finally Available for Download with New Features and Improvements The wait is finally over for Apple Watch users and you can go ahead and update […]

The post Download watchOS 5 GM for Apple Watch Series 1, Series 2 and Series 3 by Uzair Ghani appeared first on Wccftech.


          Jr. SQL Developer and Support Analyst - Buchanan Technologies - Mississauga, ON      Cache   Translate Page      
Jr. SQL Developer and Support Analyst Mississauga, ON The successful candidate will be assisting global customers with their current platforms and...
From Buchanan Technologies - Sun, 09 Sep 2018 08:50:46 GMT - View all Mississauga, ON jobs
          Download iOS 12 GM on iPhone, iPad, iPod Right Now Without a Developer Account, Here’s How      Cache   Translate Page      

Want to download iOS 12 GM without a developer account on your iPhone, iPad iPod? Here’s how you can do it right away. You Don’t Need a Developer Account to Download iOS 12 GM Right Away – We’ll Show You How to Go About it As you might have figured by now: iOS 12 GM […]

The post Download iOS 12 GM on iPhone, iPad, iPod Right Now Without a Developer Account, Here’s How by Uzair Ghani appeared first on Wccftech.


          iOS 12 Release Date is Now Official – Get Ready to Update on September 17th      Cache   Translate Page      

Apple has officially revealed the release date of the final version of iOS 12 and it’s set for September 17th, which is just a few days away from now. Apple Will Release the Final Version of iOS 12 on September 17th – Gold Master Build Will be Seeded Today to Developers and Testers Having announced […]

The post iOS 12 Release Date is Now Official – Get Ready to Update on September 17th by Uzair Ghani appeared first on Wccftech.


          Software Developer Intern, BS, Winter 2019 - Google - Waterloo, ON      Cache   Translate Page      
Research assistant, teaching assistant, personal projects, etc) programming in 2 or more of the following languages:....
From Google - Wed, 11 Jul 2018 14:22:45 GMT - View all Waterloo, ON jobs
          Software Developer Intern, MS, Winter 2019 - Google - Waterloo, ON      Cache   Translate Page      
Research assistant, teaching assistant, personal projects, etc) programming in 2 or more of the following languages:....
From Google - Wed, 11 Jul 2018 14:22:59 GMT - View all Waterloo, ON jobs
          Project Coordinator - Administrative Assistant 3 (AESES) - University of Manitoba - Winnipeg, MB      Cache   Translate Page      
Coordinates and sources quotes from outside suppliers, i.e. media suppliers, printers, photographers, videographers, web developers, designers, etc.... $29.42 - $38.45 an hour
From University of Manitoba - Tue, 11 Sep 2018 21:19:58 GMT - View all Winnipeg, MB jobs
          Senior Software Developer Ireland - Overstock.com - Ireland, WV      Cache   Translate Page      
Benefits vary based on location, position, tenure, and employee election. Do you want to make an impact on the future of eCommerce and blockchain technologies?...
From Overstock.com - Sat, 08 Sep 2018 11:36:47 GMT - View all Ireland, WV jobs
          Senior Front End Developer - Overstock.com - Ireland, WV      Cache   Translate Page      
Benefits vary based on location, position, tenure, and employee election. Do you want to make an impact on the future of eCommerce and blockchain technologies?...
From Overstock.com - Fri, 07 Sep 2018 11:41:46 GMT - View all Ireland, WV jobs
          Front End Developer - Overstock.com - Ireland, WV      Cache   Translate Page      
Benefits vary based on location, position, tenure, and employee election. Do you want to make an impact on the future of eCommerce and blockchain technologies?...
From Overstock.com - Fri, 07 Sep 2018 11:41:45 GMT - View all Ireland, WV jobs
          iOS Developer - Overstock.com - Ireland, WV      Cache   Translate Page      
Benefits vary based on location, position, tenure, and employee election. Do you want to make an impact on the future of eCommerce and blockchain technologies?...
From Overstock.com - Wed, 20 Jun 2018 18:16:38 GMT - View all Ireland, WV jobs
          UI Developer      Cache   Translate Page      
KY-Louisville, Job Title: UI Developer Job Location: Louisville, KY Job Description: Brooksource in Louisville, KY is searching for a UI Developer for a Fortune 100 client in the healthcare industry. You would be working with one of our best client relationships in a fast paced, high energy agile hybrid environment in the Enterprise BI Solutions team. You will be responsible for assisting the team in creating da
          New iPhones, New Apple Watch, and…. Information on Apple’s September 12th 2018 Event      Cache   Translate Page      
  Here is what we have learned from Apple’s September 12, 2018 Event so far: (This page will be updated as the event takes place) LEAKS LEAKS LEAKS…… Looks like the web developer is going to get it to some major trouble as they have already leaked product names ahead of the launch through their […]
          Senior Software Engineer - .Net - Nugates - Shiliguri, West Bengal      Cache   Translate Page      
*Job Summary* *We are looking for an experienced Dot Net Developer (Min Exp: 2+ yrs)* *Position Vacant: 2 - 4* Need to work on project for Australian Govt. ... ₹18,000 - ₹30,000 a month
From Indeed - Sun, 29 Jul 2018 18:04:39 GMT - View all Shiliguri, West Bengal jobs
          Senior PHP Developer (possible temp-to-perm) - Amerit Consulting - Irving, TX      Cache   Translate Page      
*Job Summary* *Company Overview: * Creating value by bringing together the right people to achieve results is our motto. Our clients and employees say they...
From Indeed - Thu, 16 Aug 2018 18:19:18 GMT - View all Irving, TX jobs
          Salesforce.com Systems Developer - Amerit Consulting - Fort Worth, TX      Cache   Translate Page      
*Job Summary* *Company Overview: * Creating value by bringing together the right people to achieve results is our motto. Our clients and employees say they...
From Indeed - Tue, 04 Sep 2018 17:33:19 GMT - View all Fort Worth, TX jobs
          Développeur DevOps Automation Developer - Modis Canada - Westmount, QC      Cache   Translate Page      
Notre client est actuellement à la recherche d’un développeur DevOps automation qui se joindra à son équipe de Développement des TI de Montréal pour améliorer...
From Modis Canada - Wed, 12 Sep 2018 21:36:29 GMT - View all Westmount, QC jobs
          Mid-level Ruby Developer - Cendyn - Whistler, BC      Cache   Translate Page      
With offices in Boca Raton, Atlanta, Boston, San Diego, Toronto, Whistler, North Yorkshire, Munich, Tokyo and Singapore, Cendyn proudly serves more than 30,000...
From Cendyn - Sun, 02 Sep 2018 08:26:39 GMT - View all Whistler, BC jobs
          Top10 php framework used by php developer      Cache   Translate Page      
Added: Sep 12, 2018
By: Xteem_Solution
Views: 6
PHP is a programming language that used for web application development. If you are looking for PHP web development have a look to their vital framework

          Build me a website that has search engine characteristics      Cache   Translate Page      
Developer is going to build a website with Login - My Favorite Websites Homescreen - Most Popular Websites Search Is going to choose one of the two projects and modify from there, apply it on a server... (Budget: $30 - $250 USD, Jobs: Graphic Design, HTML, Javascript, PHP, Website Design)
          Build me a website that has search engine characteristics      Cache   Translate Page      
Developer is going to build a website with Login - My Favorite Websites Homescreen - Most Popular Websites Search Is going to choose one of the two projects and modify from there, apply it on a server... (Budget: $30 - $250 USD, Jobs: Graphic Design, HTML, Javascript, PHP, Website Design)
          Apple will release macOS Mojave on September 24. Here’s what's coming.      Cache   Translate Page      
TwitterFacebook

At today’s big event, Apple updated its “coming this fall” release of its latest operating system, macOS Mojave, and announced its official drop date: September 24, 2018.

First announced at the 2018 Worldwide Developers Conference earlier this year, the latest Apple operating system will be bringing some cool new features to Mac laptops and desktops. And we know they’re cool because developers have been playing with the beta versions of Mojave, which will officially be macOS version 10.14, since June of this year.

SEE ALSO: Apple unveils iPhone XS and massive iPhone XS Max

Perhaps one of the most anticipated features of macOS Mojave is dark mode. It seems like every application is getting a dark mode these days and the newest macOS is no exception. Dark mode will be able to turn everything from menu bars to app windows, well, darker, which some users find easier on the eyes. Read more...

More about Apple, Mac, Macbook Pro, Macos Mojave, and Apple Event 2018

          Programmer/Software Developer - Modis Canada - Ottawa, ON      Cache   Translate Page      
Programmer/Software Developer Level 2: long term contract Our Government of Canada client located in Gatineau has a requirement for a Programmer/Software...
From Modis Canada - Wed, 12 Sep 2018 21:36:28 GMT - View all Ottawa, ON jobs
          Senior Business Analyst - Capital Markets - 259885 - Procom - Toronto, ON      Cache   Translate Page      
Gathers requirements from business units and translates those to programmers and developers. Senior Business Analyst - Capital Markets....
From Procom - Wed, 05 Sep 2018 21:02:01 GMT - View all Toronto, ON jobs
          Full Stack Developer (React.JS)      Cache   Translate Page      
CA-Agoura Hills, · Work experience of Object Oriented JavaScript design pattern and JavaScript MVC Patterns with Angular JS · Work Experience with Responsive Web design, UI Development using Angular JS · Work experience of developing UI with Web3.0 and W3C standard · Skills of handling Confluence, JIRA and documentation skills · Work experience of Agile delivery model with Sprints · Experience writing and debuggin
          Lead Security Software Developer / Programmer - Digital Boundary Group - London, ON      Cache   Translate Page      
We are looking for a Lead Security Software Developer / Programmer to join our team! Founded in 2003, Digital Boundary Group is a professional services firm...
From Digital Boundary Group - Tue, 28 Aug 2018 18:09:03 GMT - View all London, ON jobs
          Senior ABAP Developer - Corporate - Graham Construction - Calgary, AB      Cache   Translate Page      
Has 5+ years of experience as an ABAP Programmer (ECC 6.0 and higher - EHP7 beneficial). Career Opportunity – Senior ABAP Developer – Corporate, Calgary....
From Graham Construction - Tue, 10 Jul 2018 03:30:02 GMT - View all Calgary, AB jobs
          Tools Programmer - IGG.com Canada - Vancouver, BC      Cache   Translate Page      
This position is a part of the growing IGG Canada Video Team, creating marketing content for IGG stable of hit games. Software Engineer/Tools Developer is...
From IGG.com Canada - Wed, 12 Sep 2018 20:35:22 GMT - View all Vancouver, BC jobs
          Service Desk Agent - Home Trust Company - Toronto, ON      Cache   Translate Page      
Become familiar with the Systems, Network, Database, Desktop Engineers, programmers, developers, and each team in the IT Department....
From Home Trust Company - Wed, 29 Aug 2018 20:33:28 GMT - View all Toronto, ON jobs
          Software/Web Developer - ITM Instruments Inc - West Island, QC      Cache   Translate Page      
ITM Instruments is looking for a full-time software/web programmer for its Sainte-Anne-de-Bellevue head office location....
From Indeed - Tue, 04 Sep 2018 13:18:06 GMT - View all West Island, QC jobs
          PHP Web Developer - Media32 Inc. - Lethbridge, AB      Cache   Translate Page      
You’ll be working in an open office alongside other designers and programmers, so you should be flexible enough to manage your own projects and also be...
From Indeed - Tue, 28 Aug 2018 18:57:56 GMT - View all Lethbridge, AB jobs
          Lead Developer - Achiga Inc. - Toronto, ON      Cache   Translate Page      
You should be comfortable with front-end development, programming in PHP, data design, as well as working with AWS such as Lambda, API Gateway, IAM, and SQS....
From Achiga Inc. - Thu, 21 Jun 2018 18:55:31 GMT - View all Toronto, ON jobs
          Software Developer – Senior - Vendasta - Saskatoon, SK      Cache   Translate Page      
BigQuery, Cloud Dataflow, Cloud Pub/Sub, Google Data Studio, Cloud IAM, Cloud Storage, Cloud SQL, Cloud Spanner, Cloud Datastore, Google Maps Platform,...
From Vendasta - Wed, 05 Sep 2018 13:14:51 GMT - View all Saskatoon, SK jobs
          Software Developer – Intermediate - Vendasta - Saskatoon, SK      Cache   Translate Page      
BigQuery, Cloud Dataflow, Cloud Pub/Sub, Google Data Studio, Cloud IAM, Cloud Storage, Cloud SQL, Cloud Spanner, Cloud....
From Vendasta - Wed, 05 Sep 2018 13:14:49 GMT - View all Saskatoon, SK jobs
          Sr Software Developer - Gartner - Québec City, QC      Cache   Translate Page      
Hands-onexperience with Amazon Web Services (AWS) such as IAM, EC2, EBS, ELB, RDS, S3,Route 53, NAT Gateways, VPCs, CloudWatch, Lambda scripts, highly desirable...
From Gartner, Inc. - Wed, 08 Aug 2018 14:17:54 GMT - View all Québec City, QC jobs
          Software Developer: IAM System - Hitachi ID Systems - Montréal, QC      Cache   Translate Page      
Develop enterprise-class HTML5 application code using Angular for the UI and a combination of C++ and SQL stored procedures for application logic and...
From Hitachi ID Systems - Mon, 10 Sep 2018 22:20:44 GMT - View all Montréal, QC jobs
          Object Design for Web-based Games - by Curtis Poe      Cache   Translate Page      
Many strong developers building their first Web-based game quickly discover that constructing items is not an easy task. This post shows how to modify the game loop driven Entity-Component-System pattern for click-driven games.
          Full Stack Developer / Développeur d’application par pile complète - Explorance - Montréal, QC      Cache   Translate Page      
À l’arrière-plan, vous développerez des applications, des serveurs et des bases de données qui représentent la structure de base avec C#, ASP.NET, Python et SQL...
From Explorance - Tue, 04 Sep 2018 20:56:02 GMT - View all Montréal, QC jobs
          Unity 3D virtual reality VR developer for Oculus RIft - Paraminerals Consulting - Home Based      Cache   Translate Page      
Additional skills in natural landscape artistry such as terrain painting and mesh brushes a bonus (please provide screenshot if so).... $30 - $40 an hour
From Indeed - Tue, 11 Sep 2018 22:18:13 GMT - View all Home Based jobs
          Embedded Software Developer - Test Automation - Newtrax Technologies - Montréal, QC      Cache   Translate Page      
Traitement centralisé à serveur Linux, système de gestion PostgreSQL DB, console Web à logiciel frontal php....
From Newtrax Technologies - Wed, 12 Sep 2018 19:52:49 GMT - View all Montréal, QC jobs
          Embedded C++ Developer      Cache   Translate Page      
CO-Colorado, Under general direction, participates as high-level technical expert in design development, coding, testing, and debugging new software or significant enhancements to existing software for third party customers, project leads, and management. Works with technical staff to understand problems with software and develops specifications to resolve them. Develops and/or provides technical leadership in
          Full-Stack PHP Developer - FlightHub - Montréal, QC      Cache   Translate Page      
Write, maintain and deploy great code for our ServPro Squad, who is responsible for creating our internal SPA to ensure our call center agents are able to...
From FlightHub - Thu, 23 Aug 2018 14:30:24 GMT - View all Montréal, QC jobs
          Research Engineer/Developer - Vision - Kinova - Boisbriand, QC      Cache   Translate Page      
Knowledge of vision libraries (OpenCV, PCL, etc.). When you’re welcomed onto our team, consider it the beginning of a rewarding career in an unquestionably...
From Kinova - Thu, 30 Aug 2018 21:39:34 GMT - View all Boisbriand, QC jobs
          Senior Software Developer - C++ - Microdrones - Vaudreuil-Dorion, QC      Cache   Translate Page      
Knowledge of *_geomatics _*libraries (GDAL, PCL, Eigen, etc.). Present in Quebec since 2014, Microdrones is a pioneer in the professional grade Drones industry....
From Indeed - Mon, 10 Sep 2018 14:07:02 GMT - View all Vaudreuil-Dorion, QC jobs
          3070 – Senior iOS developer Contractual or permanent - Le Groupe TGC - Montréal, QC      Cache   Translate Page      
GIT, Android SDK, UX design, SPA, Building custom API’s and libraries, HTML5, CSS, JavaScript, jQuery....
From Le Groupe TGC - Sun, 03 Jun 2018 08:42:07 GMT - View all Montréal, QC jobs
          9/13/2018: VIEWS: Protect the forests      Cache   Translate Page      

WAKE up people. ABC’s Foreign Correspondent program (11/9) was a timely wake-up call for the Far North. A 10,000ha stretch of biodiverse Californian coast was saved from developers and turned into a nature reserve when purchased by a billionaire...
          Software Developer - ATB Financial - Calgary, AB      Cache   Translate Page      
ATB Financial is an equal opportunity employer. And being part of ATB Financial you get:. Please click the following link for information on communities where...
From ATB Financial - Tue, 28 Aug 2018 17:09:12 GMT - View all Calgary, AB jobs
          The Test Facing Democratic Socialist Julia Salazar in New York      Cache   Translate Page      

For decades, the New York City Democratic machine has capitalized off of low-turnout elections to keep its members in power. However, a new generation of progressive New Yorkers is rejecting that model, arguing that mobilizing new voters can drive electoral success. As Alexandria Ocasio-Cortez’s shocking victory in June highlighted, this “mobilize the base” strategy can upend the political establishment.

Like Ocasio-Cortez, Julia Salazar, a 27-year-old state senate candidate, is mounting a volunteer-driven challenge to a long-time incumbent, running as an open democratic socialist and rejecting corporate money. In a city that has been confronted with a systemic housing crisis and mass displacement, many candidates from the Left see machine-affiliated incumbents as complacent and vulnerable to populist criticisms. Salazar is no different. At the heart of her campaign is a critique of her opponent’s proximity to New York real estate interests and his role in propelling a rent crisis in the district. Rent stabilization laws in New York State are up for renewal in 2019, making this a decisive election year. Among Salazar’s chief platform planks are ending vacancy decontrol and instituting universal rent stabilization.

Salazar’s opponent is 16-year incumbent Martin Dilan in New York’s 18th Senate District, which includes parts of Greenpoint, Williamsburg, Bushwick and Cypress Hill. Dilan is one of the last holdouts of the political machine of Vito Lopez, the now deceased former Brooklyn Democratic Party Chair. Lopez was a state assemblyman for 30 years. During his tenure, he turned his nonprofit, the Ridgewood Bushwick Senior Citizens Council, into a formidable political operation. At its height in 2010, the RBSCC held $100 million in city and state contracts and engaged in classic quid-pro-quo politics. Lopez resigned as Brooklyn Democratic Chair and Assemblyman in 2013, after facing highly credible sexual harassment allegations. Dilan and his son, Councilman Erik Dilan, were among the largest beneficiaries of Lopez’s machine, funneling taxpayer money to RBSCC in exchange for political support.

But Lopez’s machine is no more, and there are strong reasons to see strength behind Salazar’s challenge. In 2014, and again in 2016, activist Debbie Medina mounted spirited challenges against Dilan’s proximity to real-estate interests and his failure to effectively respond to skyrocketing rents. However, the summer before the September 2016 primary, child abuse allegations surfaced against Medina. Despite losing critical endorsements and suffering from a crippling deficit of volunteers, Medina still won nearly 41 percent of the vote.

Clearly, voters in the 18th District are open to change. The question is whether Julia Salazar can capitalize on it.

Past under scrutiny

Salazar’s personal biography has come under scrutiny in recent weeks. Her identity as an immigrant, her assertions of growing up working-class and her Judaism have all been questioned, revealing a complex series of accounts from the candidate that could be characterized as everything from deliberately misleading statements to forgivable lapses of judgment. It was additionally revealed that she was previously a leader in right-wing activism at Columbia University, and that she was questioned over impersonating a family friend to access their financial information. As with many questions of personal identity, the story is not entirely black and white.

While Salazar’s website referred to the candidate as a “proud immigrant,” in August it was revealed that she was actually born in Miami, Fla., though she traveled back and forth between the United States and Colombia as a child. Salazar says she “never intended to misrepresent my personal narrative or my immigration status,” and that while several outlets, and even she herself, had made reference to her immigrant status, her statements were the product of imprecise early childhood memories and a strong identification with Colombia and her father’s family. She expressed regret that she hadn’t more thoroughly interrogated her memories as she began to run for public office, saying that “when I set out to run for State Senate I wasn’t critically thinking about my biography, specifically what has been challenged in my early childhood.”

Her early childhood has come under scrutiny from another angle: her class status. She has positioned herself as coming from a working-class background. The first time we talked she described how her economic conditions are foundational to her politics. However, her father worked as a pilot, and her brother has strongly contested her narrative of a working-class upbringing. Salazar admits that her early childhood, until age six, when her parents separated, was not one of economic uncertainty. However, she told me that after the separation, her father paid child support inconsistently at best, and the family relied on Social Security once he became disabled. She said that her mother had to return to college and made $17,000 dollars in one year while raising two children, and that her family’s “economic status varied greatly throughout my upbringing. The background that my parents came from, paired with the financial experience I had in elementary school or middle school are very safe to describe as working class.”

She says that “the lines aren’t fixed when it comes to class status. But when I talk about having working-class or middle-class experience, I mean that I understand the financial insecurity that people in my district face.” She says that “it’s not helpful or meaningful to debate whether I was poor,” but rather that her campaign is “about building solidarity with people who have to work for a living with families that know that if someone gets sick they could lose their home.” Salazar claims that class isn’t a rigid identity, but that it varies with economic status, and the combination of financial precarity and security in her upbringing complicates discussions of her class.

Ultimately, she believes that “voters are more concerned with my record as an advocate and my ability to fight for constituents.”

Which is why her history as a right-wing college activist bears addressing. After first registering as a Republican in Florida in 2008, Salazar says that after moving to New York she intended to register as an Independent but instead accidentally registering for the state’s Independence Party.

At Columbia University, she was involved with both pro-Israel and pro-life activism. Columbia is where she embraced the Jewish faith, which she says was spurred on by the death of her father, who “had made allusions to a Sephardic surname.” Her integration in Jewish life at Columbia, through organizations like Challah for Hunger and Hillel, encouraged her to visit Israel. The details of her trip have also been a source of controversy about her Jewish identity, as the trip was planned by Christians United for Israel rather than a Jewish organization. Nevertheless, she cites her visit to Israel, in 2012, and seeing the separation barrier particularly, as disabusing her of her firm pro-Israel stance. Being “very disturbed by the violence I saw there,” she says she made “a significant decision to reject pro-Israel advocacy.”

She described her experience in pro-life activism, with Columbia Right to Life, as echoing her other right-wing commitments. Her allegiance was shifted in the controversy around the creation of a Columbia abortion fund, which every student would pay into as part of their university-provided health plan. Salazar led the Support Pregnant Students Initiative, aiming to provide support for students who choose to keep their pregnancy. After she published an op-ed in the Columbia Spectator arguing her position, she was confronted by a number of close friends who, through a series of “very hard conversations,” led her to “realize I was deeply miseducated and wrong about abortion.”

Moving left

When asked whys he hadn’t made her political evolution part of her campaign story, Salazar says she was more focused on the community that had encouraged her to run for office, and that she “didn’t think about my own narrative so much and my own evolution.”

As an outgrowth of her political evolution, Salazar helped organize a rent strike against an abusive and absent landlord during her junior year at Columbia. She and her fellow tenants took their landlord to court and won. Her victory, though, was fleeting: when her lease ended a few months later, her landlord declined to renew it. Accordingly, the event holds two meanings for her: while “it was empowering to see how people without law degrees, without any institutional power were able to fight management and win,” she “was still being displaced. It was a very vivid example of the need to fight for systemic changes to systemic problems.”

Salazar says that experience helped propel her run for office.

When we spoke the first time, Salazar expressed how she was “tired of having to ask the same elected officials over and over again to do the right thing.” Her work in Albany and New York City, along with the support of her community and fellow organizers, convinced her that the solution wasn’t bird-dogging her representatives, but replacing them.

Changing landscape

Julia Salazar’s campaign is just one hint that change may be on the horizon in the New York State Senate. Members of the Independent Democratic Conference, (IDC) a group of Democratic senators who caucused with Republicans for the past eight years, are appearing increasingly weak in the face of strong primary challenges. And, if he wins reelection, Gov. Andrew Cuomo may find himself between a rock and a hard place come 2019.

According to Bill Lipton, the New York State Director of the Working Families Party, a progressive, or even a Democratic majority in the state senate is just what Cuomo has been trying to avoid. “Andrew Cuomo has spent the last eight years doing everything he can to keep progressives out of power in Albany—from allowing the Senate Republicans to gerrymander their own districts after promising repeatedly not to, to refusing to campaign for Senate Democrats, to helping the IDC steal the Democratic majority away in 2012, to fostering division between IDC and the Democratic caucus.” This arrangement has allowed Cuomo to act as the power broker in the state senate while both helping block progressive legislation and retaining his Democratic credentials.

Lipton claims Cuomo has utilized this arrangement to masquerade as a progressive while keeping legislative threats to his moneyed friends dead in the water, all the while joking to Senate Republicans about how little he supports Democratic candidates. That Cuomo has managed to build one of the largest campaign war chests in the country through corporate donations speaks to the immense wealth that this arrangement has granted. Lipton says real estate is among the chief interests that pay into this racket: “Real estate is to New York what coal is to West Virginia—the lifeblood of oligarchy.”

Housing crisis

It may be difficult for many residents of the 18th District to square their soaring rents with the $200,000 in real estate money Sen. Dilan has raised during his tenure in office, especially in a district ravaged by pro-real estate legislation and ensuing gentrification. Dilan’s vote has been instrumental in both implementing vacancy decontrol in 1994 as a city councilman, and defusing attempts to repeal the law in 2010 as a state senator. Vacancy decontrol, which allows landlords to freely raise the rent on vacant rent-stabilized units, is at the center of the city-wide housing crisis. According to Salazar, the 18th District alone loses tens of thousands of rent stabilized and controlled units every year.

And considering the state of New York City’s rent laws, which are set on the state level, that isn’t surprising. Once rent on an apartment reaches $2,733.75, landlords can “free” a unit from its rent-stabilized status and instead charge market rates.

There are two main ways that landlords jack up the rent: when a renovation is made owners are allowed a commensurate increase in rent, and the rent can be raised when a tenant moves out. In practice, both of these regulations produce perverse incentives. In the first case, landlords are given very little oversight when reporting the added value of a renovation, meaning they often make small improvements while disproportionately increasing rent. As for the second, landlords are incentivized to rent to short-term tenants, like college students and young people who don’t have ties to the neighborhood, and to harass their rent-stabilized tenants.

The scale of tenant abuse is staggering: A New York Times investigation found stories of landlords who punched holes in the roofs and walls of occupied rent-controlled units, bombarded tenants with eviction suits and harassed them with loud construction. The investigation discovered that the agencies responsible for regulation were “fractionalized, divided among three city and state agencies” and “essentially passive.” This regulatory environment has had devastating impacts on the 18th District. In Bushwick, a family living on the median yearly income, just over $42,000, would have to spend more than 60 percent of their income to afford the average rent of a two-bedroom unit. In Williamsburg, that number is 65 percent.

While Dilan argues that he never thought his vote would come to harm his own constituents, Jennifer Lenow, a member of NYC-DSA’s organizing committee for the Brooklyn Housing Working Group, says that Dilan’s “thousands and thousands from real estate speaks louder than his rhetoric.”

Salazar has been endorsed by the New York City chapter of the Democratic Socialists of America, U.S. Rep. Nydia Velazquez and City Council Member Antonio Reynoso, as well as Cynthia Nixon and Alexandria Ocasio-Cortez. Michael Kinnucan, Salazar’s Deputy Campaign Director, is optimistic about her chances, citing the broad dissatisfaction with the political status quo, the support of local activist groups Make the Road Action and New York Communities for Change, and “one of the largest volunteer ground-organizations in the city.”

Polling shows state-wide enthusiasm for large-scale investment in public housing, signaling that New Yorkers would look favorably upon a more proactive approach to confronting the state’s housing crisis.

As part of their New Progressive Agenda Project, Civis Analytics, a data analytics firm, and the think tank Data for Progress (where I am a fellow) have shown that 59 percent of likely 2018 voters in New York support billions of dollars in investment in public housing, even after hearing Republican arguments against it and being presented with an explicit tax pay-for through tax hikes. “These numbers are pretty consistent with the very high levels of support we’ve seen for public housing ballot measures in cities like Portland and Seattle,” says David Shor, head of data science at Civis Analytics’ political practice.

Persona and policy

Salazar’s controversies, meanwhile, have continued in recent days. On September 6, allegations of an affair with former New York Mets player Keith Hernandez and an attempt to impersonate his then-estranged, now divorced wife, Kai, have come to light. Salazar had been family friends with Hernandez, and was arrested for, but ultimately not charged with, the felony impersonation of Kai. According to Salazar’s statement, the lawsuit was entirely the product of a vengeful ex-wife who had gone so far as to impersonate Salazar on the phone in an attempt to frame her for illegally accessing her finances. Kai’s motive, according to Salazar, was that while house-sitting at Kai’s request Salazar had found “a lot of drugs, syringes, and several guns.” Salazar says that after calling Keith and describing the condition of the house, he, along with local police came to document the scene. The next year she was called by local police and interrogated for allegedly impersonating Kai. After not being charged, in 2013, Salazar sued Kai Hernandez for damages and the two parties reached a settlement in 2017.

When asked for comment about the controversies surrounding Salazar, Martin Dilan’s spokesman Bob Liff said that while “Marty has been a progressive and stable champion for residents of the 18th district, his opponent will have to speak for herself.”

A victory by Salazar’s insurgent campaign would offer even more proof that the future of the Democratic Party is multi-racial, decidedly left, community-driven and not beholden to corporate interests. However, the narrative surrounding her has become thick with controversy, misrepresentation and outright lies. While it is quite possible, as many of Salazar’s supporters claim, that the candidate has been victim to a right-wing smear campaign, there remain legitimate questions about how she has publicly presented herself throughout her campaign.

In a district whose neighborhoods are synonymous with gentrification, the question facing voters in the 18th is this: To what extent is representative politics about personality, and to what extent is it about policy? Thursday’s election will help provide an answer. 


          Runtime GetDataBack Simple 5.01 + Portable      Cache   Translate Page      
Runtime GetDataBack Simple 5.01 + Portable
Runtime GetDataBack Simple 5.01 + Portable | 8.2/7.8 Mb

GetDataBack Simple is a completely redesigned and rewritten Data Recovery solution for Windows file systems. Our developers have combined decades of data recovery experience with the newest technologies.
GetDataBack is more than an undelete or file recovery program or a system restore.


          Full-Stack PHP Developer - FlightHub - Montréal, QC      Cache   Translate Page      
We are a group of passionate people who work hard and move quickly in the goal of redefining the flight shopping experience for the entire world....
From FlightHub - Thu, 23 Aug 2018 14:30:24 GMT - View all Montréal, QC jobs
          Mobile Developer (multiple positions) - Guestlogix - Toronto, ON      Cache   Translate Page      
You’ve likely had a similar on-board experience on every flight, and rarely found it to be modern and personalized....
From GuestLogix - Wed, 08 Aug 2018 05:56:12 GMT - View all Toronto, ON jobs
          Build me a website that has search engine characteristics      Cache   Translate Page      
Developer is going to build a website with Login - My Favorite Websites Homescreen - Most Popular Websites Search Is going to choose one of the two projects and modify from there, apply it on a server... (Budget: $30 - $250 USD, Jobs: Graphic Design, HTML, Javascript, PHP, Website Design)
          Enjoy a diverse range of Indie Highlights for Nintendo Switch at EGX 2018      Cache   Translate Page      

Covering a wide range of genres, Indie Highlights on Nintendo’s stand at EGX 2018 will showcase some of the best titles coming to Nintendo Switch from independent developers. From epic single player adventures and unique puzzle games to manic multiplayer brawls of various styles and sizes.

Running from 20th-23rd September 2018, attendees at EGX will be able to play all of these exciting independent games coming to Nintendo Switch:

As well as the games listed above, Stick Fight, Untitled Goose Game, Oddworld: Stranger's Wrath and Broken Sword 5: The Serpent's Curse will also be playable on the show floor. Attendees will also be able to watch, and get involved with, special demonstrations of hand-picked indie games on the Nintendo UK stage.

For anyone interested in indie games that can’t make it to EGX 2018, we will be livestreaming a special Indie Highlights Showcase featuring special guests from 11:30-13:00 on Sunday 23rd directly from the Nintendo UK stage at EGX. You can watch this by heading over to Twitch.tv/NintendoUK or YouTube.com/NintendoUK.

Alongside these playable indie titles Pokémon: Let’s Go, Pikachu!, Pokémon: Let’s Go, Eevee!, Super Mario Party and Super Smash Bros. Ultimate have already been announced as playable at the show.

Many more playable games will be announced in the lead up to the event, so be sure to follow @NintendoUKVS and @NintendoUK on Twitter to stay up to date with what you’ll be able to see, play, and get involved with at the Nintendo UK stand at EGX 2018.

We hope to see you there!


          Black and White Bushido Coming Soon To Switch      Cache   Translate Page      

It has been announced that 2D brawler Black and White Bushido will be coming to Nintendo Switch this autumn.

Black and White Bushido from games developer and publisher Good Catch, is a 2D arena brawler for 1 - 4 players that pits the forces of light and shadow against each other. Each team can disappear into their respective colours and move without being seen. Fight for control of the light or the dark in multiple arenas, hiding from your foes and seizing objectives. Pick up items and use them to surprise, maim and trap your opponents in a way only a true warrior can. Players choose a team, either Shadow or Light and compete to win based either on number of kills or territory captured. There is no energy, the game is one hit kill, though with the potential for endless respawns. Players may jump, dash, attack, creep, teleport and use items in their quest for victory.

FEATURES

Exclusive arena for Nintendo Switch “Haunted Forest”
3 modes: Team Deathmatch, Capture The Flag and Training
1-4 Local Multiplayer - 8 varied and dynamically changing arenas
Unlockable bonus level “Hell”

WEBSITE: https://www.goodcatchgames.com/game/black-white-bushido-game/
REGULAR PRICE: GBP 9.99; USD 12.99; EUR 12.99
DEVELOPER/PUBLISHER: Good Catch

The game was first released on Steam, via Green Man Gaming in 2015 with subsequent releases on PS4 and Xbox One in 2017. The console version added online multiplayer, two new difficulty levels, alongside gameplay and graphical enhancements. All of these additions were also patched to the PC version. The Nintendo Switch version takes the game back to its roots, playing to the platform’s strength of delivering a great local multiplayer experience. The Nintendo Switch version will include a new exclusive bonus arena: “Haunted Forest”.


          Verizon Rolls Out 5G to Select Cities      Cache   Translate Page      
Verizon recently announced the world's first commercial 5G service. "Verizon 5G Home" will roll out in Houston, Indianapolis, Los Angeles and Sacramento on October 1, with pre orders starting tomorrow. Verizon says the service will be free for the first 3 months, and cost $50 a month for existing Verizon customers. The company says users should expect speeds of "around 300 Mbps and, depending on location, peak speeds of nearly 1 Gig, with no data caps." Further advancing 5G, the company isn't waiting for the most recent technical standards to deliver 5G Home, pushing ahead with its own proprietary 5G standard in this initial commercial launch. "To be first, we encouraged others in the ecosystem to move more quickly at every step," said Vestberg. "We appreciate the partnership of network equipment makers, device manufacturers, software developers and chip makers in reaching this critical milestone. The entire wireless industry gets to celebrate." Discussion
          Front-End Web Developer ze znajomością języka niemieckiego      Cache   Translate Page      
Stanowisko: Front-End Web Developer ze znajomością języka niemieckiego
Nazwa firmy: Capgemini Software Solutions Center
Lokalizacja: Poznań
          Recruitment Drive_node JS Developer      Cache   Translate Page      
Gurgaon, Haryana - and strengthen its exceptional team at one of the most prime office spaces at DLF SEZ, Gurgaon. For details about Daffodil, you may visit our website... Date : Saturday, 15th Sep 2018 Interview Time : 9:00 AM-1:00 PM Venue: Daffodil Software Pvt. Ltd. 15th Floor, Building A2, DLF Silokhera SEZ, Sector...
          ASP.NET Core Developer - Vision33 - Burnaby, BC      Cache   Translate Page      
The ability to customize our solutions challenge the imagination as to how business owners can leverage information within SAP Business One to meet their unique...
From Vision33 - Mon, 28 May 2018 21:20:36 GMT - View all Burnaby, BC jobs
          Software QA Developer - Integrity Resources - Waterloo, ON      Cache   Translate Page      
Help save the world from the next financial crisis, literally. The new wave of change - “Blockchain Technology”....
From Integrity Resources - Thu, 21 Jun 2018 01:25:51 GMT - View all Waterloo, ON jobs
          Senior Software Developer (Blockchain) - Integrity Resources - Kitchener, ON      Cache   Translate Page      
Help save the world from the next financial crisis, literally. The new wave of change - “Blockchain Technology”....
From Integrity Resources - Thu, 12 Jul 2018 21:45:08 GMT - View all Kitchener, ON jobs
          Senior Developer - Jungle Scout - Vancouver, BC      Cache   Translate Page      
We save them time and make them money, while educating and providing phenomenal service along the way. Jungle Scout is killing it!...
From Jungle Scout - Thu, 14 Jun 2018 01:30:10 GMT - View all Vancouver, BC jobs
          Intermediate Full Stack Developer - Jungle Scout - Vancouver, BC      Cache   Translate Page      
We save them time and make them money, while educating and providing phenomenal service along the way. Jungle Scout is killing it!...
From Jungle Scout - Fri, 22 Jun 2018 01:46:23 GMT - View all Vancouver, BC jobs
          Senior Java Developer 3113993 - Morgan Stanley - Montréal, QC      Cache   Translate Page      
The developer will be the senior developer for the regulatory initiatives in the Resource and Resolution Program (RRP) based on Dodd Frank regulations....
From Morgan Stanley - Fri, 08 Jun 2018 15:18:18 GMT - View all Montréal, QC jobs
          Full Stack Developer - Ratehub - Kingston, ON      Cache   Translate Page      
Helping Canadians save money by empowering them with the tools to make smart financial decisions is what drives our work each day....
From RateHub - Fri, 31 Aug 2018 06:18:18 GMT - View all Kingston, ON jobs
          Front End Developer - Ratehub - Kingston, ON      Cache   Translate Page      
We love helping Canadians save money by empowering them with the tools to make smart financial decisions. We’re a talented team of product managers, digital...
From RateHub - Wed, 12 Sep 2018 20:56:04 GMT - View all Kingston, ON jobs
          Back End Developer - Ratehub - Kingston, ON      Cache   Translate Page      
Helping Canadians save money by empowering them with the tools to make smart financial decisions is what drives our work each day....
From RateHub - Fri, 07 Sep 2018 08:46:15 GMT - View all Kingston, ON jobs
          Het freelance ICT-ers discussie topic      Cache   Translate Page      
Replies: 7458 Last poster: DeveloperNL at 12-09-2018 23:50 Topic is Open Fable schreef op woensdag 12 september 2018 @ 08:34: Je zou als ''verzekering'' ook gewoon kunnen zorgen dat je iets op de plank hebt liggen. In de V&A staan best leuke dingetjes voor minder dan 500 euro. En anders van Apple de enterprise service nemen, die heeft wel next business day. https://www.apple.com/support/enterprise/onsite.htmlApple Enterprise is voor grote bedrijven toch? Niet voor een zzp'er. Ik ga voor een Dell XPS 15 met 3 jaar bussines support. Stuk goedkoper met betere specs (zit toch alleen in Windows omgeving). Mis ook wel een touchscreen en die kan ik bij Apple niet krijgen
          Développeur DevOps Automation Developer - Modis Canada - Westmount, QC      Cache   Translate Page      
Bonnes aptitudes en matière de programmation et de débogage d’Unix et de Linux. Notre client est actuellement à la recherche d’un développeur DevOps automation...
From Modis Canada - Wed, 12 Sep 2018 21:36:29 GMT - View all Westmount, QC jobs
          Software Developer – Engineering Support - Innovatia - Saint John, NB      Cache   Translate Page      
Windows / Unix / Linux. Utilize case management skills for problem solving while ensuring customer satisfaction....
From Innovatia - Fri, 07 Sep 2018 21:30:08 GMT - View all Saint John, NB jobs
          iOS Developer - Integricon Solutions Inc - Mississauga, ON      Cache   Translate Page      
Experience in developing for Windows and Linux server operating systems. On behalf of our client, a leader in their industry, we are looking for a Senior iOS...
From Integricon Solutions Inc. - Mon, 10 Sep 2018 09:26:01 GMT - View all Mississauga, ON jobs
          1 Bed Cottage for Sale      Cache   Translate Page      
60000
!! ATTENTION DEVELOPERS!! This stone cottage is ripe for renovation and would create a beautiful and cosy home when completed. Currently comprising lobby, through lounge. kitchen, bathroom, double bedroom and second room, which could be a single...
heating oven garden shower
Tue, 11 Sep 2018 01:28:31 +0200
          Senior Java Developer 3113993 - Morgan Stanley - Montréal, QC      Cache   Translate Page      
Web Development (Angular/ExtJS preferred)- DB2- Spring- Linux. Morgan Stanley is a leading global financial services firm providing a wide range of investment...
From Morgan Stanley - Fri, 08 Jun 2018 15:18:18 GMT - View all Montréal, QC jobs
          Back End Developer - Localcoin - Toronto, ON      Cache   Translate Page      
Expertise on Linux platforms and BashShell commands. Localcoin is a Toronto-based company whose mission is to provide a simple buying/selling experience of...
From Localcoin - Thu, 06 Sep 2018 21:02:00 GMT - View all Toronto, ON jobs
          iOS/Android Developer - Flex A.I. - Vancouver, BC      Cache   Translate Page      
Benefits are also included (MSP, Vision, Dental, etc), as well as a paid Platinum Membership at Steve Nash gyms, where most of us go as a team every Monday,... $60,000 - $100,000 a year
From Indeed - Wed, 12 Sep 2018 20:59:41 GMT - View all Vancouver, BC jobs
          Junior Software Developer - Prolucid Technologies - Mississauga, ON      Cache   Translate Page      
.NET / Mono / Linux is a plus. At Prolucid we provide products and services to help customers ranging from startups to large multinationals, build secure...
From Prolucid Technologies - Fri, 06 Jul 2018 17:43:43 GMT - View all Mississauga, ON jobs
          Full Stack PHP Developer - Corvisto Marketing Inc. - Oakville, ON      Cache   Translate Page      
Proficiency in a Linux command line environment. We are looking for a passionate Full Stack PHP Developer to join our team....
From Indeed - Mon, 10 Sep 2018 22:48:04 GMT - View all Oakville, ON jobs
          Change Location for eBooks      Cache   Translate Page      
Hello, First of all, I would like to thanks the developer(s) who participate in the Calibre project, it is a great software, I can no longer do without it to manage my books. Second, it's possible to change the path / folder of a eBook I added to Caliber? Example : I added my eBook, "Programming in C++" via Caliber Portable, so the book is in the ".\Caliber\Caliber Library" folder. *But I also have a copy in another folder.* Concerning eBooks that are not too heavy (1 - 99 MB), that's fine with me, but for heavy eBooks, larger than 100 MB, I'm starting to have a serious problem with the space on my hard disk. Is it possible to define a location for each eBook and therefore not 2 copies of it? Regards.
          Senior DevOps Developer - 260343 - Procom - Toronto, ON      Cache   Translate Page      
Redesign legacy applications for Linux, Tomcat, Docker implementation. Experience with designing applications for Linux, Tomcat, Docker implementation....
From Procom - Wed, 12 Sep 2018 21:04:55 GMT - View all Toronto, ON jobs
          Principal IoT Architect      Cache   Translate Page      
GA-Atlanta, Principal IoT Architect Skills/Experience: Bachelor’s Degree and deep understanding of IoT technology 5 years of experience leading teams of developers and solutions architects on IoT products and solutions 5 years of experience with Cloud Platforms such as Azure or AWS 5 years of experience with open source tools such as rabbitmg, Kafka, or influxdb Scope: Assist in the delivery of multi-layer sy
          NODEJS Developer      Cache   Translate Page      
FL-Deerfield Beach, Title: NODEJS Developer Location: Deerfield Beach, FL Duration: 6 Months Plus Compensation: $65.00 to $70.00 per hour Work Requirements: US Citizen, GC Holders or Authorized to Work in the US Overview: TekPartners has some of the most sought after Information Technology positions available. As a reputable company in the IT staffing industry, you can trust us to place you in the right position. We
          SharePoint Website Developer      Cache   Translate Page      
FL-Jacksonville, SharePoint Website Developer We are currently seeking an experienced SharePoint Website Developer to join our team in our Jacksonville, FL 32212 location. Who We Are: Concept Plus LLC is a growing SDB and 8(a) certified consulting firm headquartered in Fairfax, VA. We are an Oracle Gold Partner, offering deep technical expertise, combined with business insights and an experienced team focused on p
          Software QA Developer - Integrity Resources - Waterloo, ON      Cache   Translate Page      
The new wave of change - “Blockchain Technology”. If you are exceptional and enjoy working on new technologies you need to take us seriously and read on....
From Integrity Resources - Thu, 21 Jun 2018 01:25:51 GMT - View all Waterloo, ON jobs
          Senior Software Developer (Blockchain) - Integrity Resources - Kitchener, ON      Cache   Translate Page      
The new wave of change - “Blockchain Technology”. If you are exceptional and enjoy working on new technologies you need to take us seriously and read on....
From Integrity Resources - Thu, 12 Jul 2018 21:45:08 GMT - View all Kitchener, ON jobs
          Front-end Developer (Angular) - OTT Financial Group - Toronto, ON      Cache   Translate Page      
If you want to ride the Fintech wave,. OTT Financial Group (OTT)is a leading financial services provider in Canada that prides itself on integrity, experience,...
From OTT Financial Group - Wed, 12 Sep 2018 19:52:28 GMT - View all Toronto, ON jobs
          Web Developers (Wordpress) - ΑΘΗΝΑ      Cache   Translate Page      
We are looking for skilled Web Developers who will be responsible for developing and/or designing websites based on WordPress and the Presta platforms. You will be working alongside a team of other developers in creating, maintaining, and updating related websites. In order for you to succeed in this role, you will need to be proficient in JavaScript, HTML, CSS, and have solid knowledge and experience in programming applications. Location: Athens, Neo Psychiko
          Lead Angular UI Developer      Cache   Translate Page      
TN-Franklin, We are NGP, Nashville's "hometown" IT staffing & consulting firm, and we are currently searching for a Lead Angular UI Developer for a great full-time role based in the Nashville area. In this role, you'll be part of a fun, casual team, building modern, interactive websites using Angular 5. This person will be providing front-end technical guidance and leading the UI development efforts. If intere
          Senior Java Developer (NEW!)      Cache   Translate Page      
TN-Franklin, We are NGP, Nashville's "hometown" IT staffing & consulting firm, and we are currently searching for a Senior Java Developer for a great full-time role based in the Nashville area. In this role, you'll be part of a fun, casual team, designing & developing cutting edge healthcare software solutions for a global healthcare organization. This person will be designing, developing, testing & rolling ou
          Senior Java Developer 3113993 - Morgan Stanley - Montréal, QC      Cache   Translate Page      
A philosophy that balances personal lifestyles, perspectives and needs is an important part of our culture....
From Morgan Stanley - Fri, 08 Jun 2018 15:18:18 GMT - View all Montréal, QC jobs
          Media Developer - Pearson - North York, ON      Cache   Translate Page      
At Pearson, we’re committed to a world that’s always learning and to our talented team who makes it all possible....
From Pearson - Wed, 12 Sep 2018 21:32:33 GMT - View all North York, ON jobs
          Principal IoT Architect      Cache   Translate Page      
GA-Atlanta, Principal IoT Architect Skills/Experience: Bachelor’s Degree and deep understanding of IoT technology 5 years of experience leading teams of developers and solutions architects on IoT products and solutions 5 years of experience with Cloud Platforms such as Azure or AWS 5 years of experience with open source tools such as rabbitmg, Kafka, or influxdb Scope: Assist in the delivery of multi-layer sy
          SharePoint Website Developer      Cache   Translate Page      
FL-Jacksonville, SharePoint Website Developer We are currently seeking an experienced SharePoint Website Developer to join our team in our Jacksonville, FL 32212 location. Who We Are: Concept Plus LLC is a growing SDB and 8(a) certified consulting firm headquartered in Fairfax, VA. We are an Oracle Gold Partner, offering deep technical expertise, combined with business insights and an experienced team focused on p
          Campaigners hit out at developers over plans to demolish music venue      Cache   Translate Page      
CAMPAIGNERS fighting to save a popular music venue have slammed a housing developer after councillors approved plans to demolish the premises and build flats.
          Non- Specialized Senior Developer - Nexstaf - Toronto, ON      Cache   Translate Page      
Job ID: 6212-1 Our client, located in downtown Toronto, is looking for a Senior Developer (not specialized) for a 6 month contract. Responsibilities Modify... $60 an hour
From Nexstaf - Sat, 08 Sep 2018 06:45:58 GMT - View all Toronto, ON jobs
          Developer Senior - Nexstaf - Toronto, ON      Cache   Translate Page      
Job ID 6152-1 Our client, located downtown Toronto, is looking for a Senior Developer to join their team for a 6-month contract, with the possibility of... $60 an hour
From Nexstaf - Fri, 07 Sep 2018 06:45:35 GMT - View all Toronto, ON jobs
          SAS Developer/Programmer Intermediate - Nexstaf - Toronto, ON      Cache   Translate Page      
role #:6137-1 Our client, located in downtown Toronto,is looking for an IntermediateSAS Developer/Programmer to join their team for a 3-month contract. The... $50 an hour
From Nexstaf - Thu, 06 Sep 2018 06:46:43 GMT - View all Toronto, ON jobs
          Project Manager - Intermediate - Nexstaf - Toronto, ON      Cache   Translate Page      
We are looking to hire a Senior Vignette Developer for a 6 month contract to start with the potential to extend to 12-18 months. The candidate should have a... $75 an hour
From Nexstaf - Fri, 31 Aug 2018 06:47:29 GMT - View all Toronto, ON jobs
          Java Developer Senior - Nexstaf - Toronto, ON      Cache   Translate Page      
Senior Java Developer The contractor will be mainly responsible for the development and gathering of back end data found on existing client'swebsite in order... $80 an hour
From Nexstaf - Wed, 29 Aug 2018 06:44:24 GMT - View all Toronto, ON jobs
          JUNIOR INTEGRATION DEVELOPER - TUATARA SP. Z O.O. - Junior, WV      Cache   Translate Page      
ARE YOU: enthusiastic about translating business needs into solutions that are on the cutting edge of technology and pragmatic at the same time passionate...
From TUATARA SP. Z O.O. - Thu, 07 Jun 2018 05:07:33 GMT - View all Junior, WV jobs
          JUNIOR WEB DEVELOPER - TUATARA SP. Z O.O. - Junior, WV      Cache   Translate Page      
ARE YOU: enthusiastic about translating business needs into solutions that are on the cutting edge of technology and pragmatic at the same time passionate...
From TUATARA SP. Z O.O. - Wed, 30 May 2018 05:07:14 GMT - View all Junior, WV jobs
          Software developer ireland - Overstock.com - Ireland, WV      Cache   Translate Page      
Strong Java skills or other OO equivalent. R0001506 Software developer ireland....
From Overstock.com - Thu, 17 May 2018 21:08:02 GMT - View all Ireland, WV jobs
          Capital Markets Senior Developer - Nexstaf - Toronto, ON      Cache   Translate Page      
Our financial client is looking for Capital Markets Senior Developer for a 6 month contract located in downtown Toronto. This role with fall under the...
From Nexstaf - Mon, 27 Aug 2018 06:48:46 GMT - View all Toronto, ON jobs
          Enterprise Systems Application Developer - Artisan Partners - Milwaukee, WI      Cache   Translate Page      
Server-side OO development experience in Java, C#, or C++. The Enterprise Systems Application Developer will design, develop, test and support custom built web...
From Artisan Partners - Fri, 07 Sep 2018 14:35:37 GMT - View all Milwaukee, WI jobs
          Senior Web Developer - Nexstaf - Toronto, ON      Cache   Translate Page      
Our client is looking for a Senior Web developer for a 6 month contract to develop and design web applications and web sites. Required skills: -6+ years of... $40 an hour
From Nexstaf - Thu, 23 Aug 2018 06:45:40 GMT - View all Toronto, ON jobs
          Asp.net Developer in Milwaukee, WI and Mt Laurel, NJ - Blue7 Solutions - Milwaukee, WI      Cache   Translate Page      
Good knowledge on Design Patterns and a sound understanding of OO principles. Urgent need for ASP.NET Lead/Sr Developer for our direct client in Milwaukee, WI...
From Blue7 Solutions - Sun, 05 Aug 2018 06:34:52 GMT - View all Milwaukee, WI jobs
          Tibco BMP Application Support/Developer - Job ID 6984-1 - Nexstaf - Toronto, ON      Cache   Translate Page      
6 month Contract Location: Close to 1 Sheppard Avenue East We are looking for a SME of Tibco BPM that will be responsible for development as well as... $62 an hour
From Nexstaf - Fri, 17 Aug 2018 06:47:38 GMT - View all Toronto, ON jobs
          Software Developer - GMR Marketing - New Berlin, WI      Cache   Translate Page      
WHY YOU’LL LOVE THIS JOB // The internal IT team is seeking a Software Developer that is experienced in .NET development. This role is a key member of the...
From GMR Marketing - Fri, 22 Jun 2018 05:58:55 GMT - View all New Berlin, WI jobs
          Microsoft BI Developer - Job ID 6986-1 - Nexstaf - Toronto, ON      Cache   Translate Page      
We are looking for a Microsoft BI developer to assist in writing formulas in order to create new report and make modifications to existing ones for business... $63 an hour
From Nexstaf - Fri, 17 Aug 2018 06:47:37 GMT - View all Toronto, ON jobs
          School Supplies Mean Success Global Connections’ Committee of Awesomeness Throws “Back-to-School” Supplies Party      Cache   Translate Page      
Travel industry leader Global Connections, Inc. (GCI), the highly-respected resort developer, travel club fulfillment and service provider of Global Discovery Vacations, has its very own employee driven volunteer organization named the Committee of Awesomeness (C.O.A).
          JAVA DEVELOPER - Ace Technologies - Pleasant Prairie, WI      Cache   Translate Page      
Implement Java solutions using best OO heuristics. Must be local to WI, IL (driving distance to interview F2F)....
From Ace Technologies - Tue, 11 Sep 2018 22:54:42 GMT - View all Pleasant Prairie, WI jobs
          LTI Developer - Oslo Solutions LLC - Redmond, WA      Cache   Translate Page      
Skilled in HTML5, CSS3 &amp; OO JavaScript. Design and develop JavaScript solutions to integrate with the Learning Management System (LMS) in an agile development...
From Indeed - Wed, 08 Aug 2018 17:19:53 GMT - View all Redmond, WA jobs
          Construction starts today on KiwiBuild's first Buying Off The Plans project - 25 apartments in Onehunga      Cache   Translate Page      
An artist's impression of what the @340 apartments will look like when completed

Another tranche of KiwiBuild homes is coming on to this market, this time in the Auckland suburb of Onehunga.

Eligible KiwiBuild buyers will be able to go into a ballot next week for one of 25 apartments that are part of the @340 development in Onehunga.

They will include six studio apartments priced from $380,000, 12 one bedroom apartments priced from $490,000 and seven two bedroom apartments priced at $600,000.

Construction of the project starts today and is due to be completed in August next year.

Housing Minister Phil Twyford said the apartments would be built to a high standard and would have fittings such a blinds, dishwashers and washer/dryers included in the price.

The apartments are the first to be offered to the market under KiwiBuild's Buying off the Plans scheme, whereby the Government partially underwrites a development by guaranteeing to buy the finished apartments if the developer can't sell them at a certain price.

In return, the developer needs to offer a certain number of units to KiwiBuild buyers within the KiwiBuild price limits.

The scheme is designed to assist developers secure funding for projects while ensuring homes are made available under KiwiBuild's price limits.

Only eligible, pre-qualified buyers can enter the ballot for KiwiBuild homes, so anyone who is interested should visit the KiwiBuild website and begin the pre-qualification process.

Below: An artist's impression of the interior of one of the completed apartments.

You can receive all of our property articles automatically by subscribing to our free email Property Newsletter. This will deliver all of our property-related articles, including auction results and interest rate updates, directly to your in-box 3-5 times a week. We don't share your details with third parties and you can unsubscribe at any time. To subscribe just click on this link, scroll down to "Property email newsletter" and enter your email address.

 


          2D Metroidvania Timespinner Gets Release Date for PS4, PSV, PC      Cache   Translate Page      

Publisher Chucklefish and developer Lunar Ray Games announced 2D Metroidvania, Timespinner, will launch for the PlayStation 4, PlayStation Vita and Windows PC on September 25 for $19.99.

View the latest trailer below:


Here is an overview of the game:

With her family murdered in front of her and the ancient Timespinner device destroyed, Lunais is suddenly transported into a unknown world, stranded with seemingly no hope of return. Using her power to control time, Lunais vows to take her revenge on the evil Lachiem Empire, but sometimes the course of history isn’t quite as black and white as it seems…

Explore an intricate, connected world with beautifully drawn and detailed pixel art environments. Traverse between the barren present and luscious past of Lachiem, collecting elemental magic orbs and combining their power to destroy enemies with blades and spells. Befriend mysterious creatures called Familiars, such as the adorable dream dragon Meyef, and train them to aid you in battle. Test your skills and timing with intense boss battles, and you venture forth to take on the Emperor himself!

Key Features:

  • Stop time to evade foes, use them as platforms and solve puzzles
  • Discover a lovingly-crafted, beautiful pixel art world and uncover a rich story universe
  • Clobber enemies with Magic Orbs found throughout the world, which grow in power the more you use them
  • Befriend mysterious Familiars and train them to aid you in battle
  • Take on challenging boss battles with an emphasis on skill, timing and dodging
  • Locate hidden areas and treasures through secret walls and platforming puzzles
  • Invite a second player to join the adventure by controlling Lunais’ Familiar in local co-op mode
  • Gothic PS1-style soundtrack by Jeff Ball (composer for Tiny Barbarian DX and violinist for Steven Universe)
  • Full gamepad support on Windows, Mac & Linux

 A life-long and avid gamer, William D'Angelo was first introduced to VGChartz in 2007. After years of supporting the site, he was brought on in 2010 as a junior analyst, working his way up to lead analyst in 2012. He has expanded his involvement in the gaming community by producing content on his own YouTube channel and Twitch channel dedicated to gaming Let's Plays and tutorials. You can contact the author at wdangelo@vgchartz.com or on Twitter @TrunksWD.

Full Article - http://www.vgchartz.com/article/392528/2d-metroidvania-timespinner-gets-release-date-for-ps4-psv-pc/


          Stone Launches Next Week on Steam      Cache   Translate Page      

Developer Convict Games the "Hip-Hop Stoner Noir" game, Stone, will launch next week on Windows PC via Steam.

View a 15 minute gameplay video below:


Here is an overview of the game:

Stone is a passion project from Convict Games, a new Aussie-led global collection of developers who previously worked on major entertainment projects including Remedy’s Quantum Break and Control, as well as feature films such as GravityWorld War ZPrometheus, and more.

Key Features:

  • Inspired by classic stoner-noir films, underground art forms and writers such as Charles Bukowski, Ernest Hemingway, Hunter S. Thompson, and Thomas Pynchon.
  • Take a “hard ass” or “soft-touch” approach while conversing with an insane cast of characters with hilarious accents and an attitude problem to figure out what the fuck happened last night.
  • Spend time watching public domain films, exploring diverse locales, going clubbing, drinking, smoking, and chilling.

 A life-long and avid gamer, William D'Angelo was first introduced to VGChartz in 2007. After years of supporting the site, he was brought on in 2010 as a junior analyst, working his way up to lead analyst in 2012. He has expanded his involvement in the gaming community by producing content on his own YouTube channel and Twitch channel dedicated to gaming Let's Plays and tutorials. You can contact the author at wdangelo@vgchartz.com or on Twitter @TrunksWD.

Full Article - http://www.vgchartz.com/article/392526/stone-launches-next-week-on-steam/


          PIPELINES: Developers take 'all possible precautions' ahead of Florence      Cache   Translate Page      
Representatives for the developers of two major East Coast pipeline projects say the companies are taking appropriate steps to address flooding and erosion control risks from ongoing construction work, as the Eastern Seaboard prepares for a hurricane strike and possible major flooding.
          The Last Remnant comes to PlayStation, only 10 years late - Polygon      Cache   Translate Page      

Engadget

The Last Remnant comes to PlayStation, only 10 years late
Polygon
Square Enix promised that The Last Remnant, a role-playing game that launched in 2008 on Xbox 360, followed by a 2009 Windows PC launch, would one day come to PlayStation 3. That never happened, to RPG lovers' disappointment. But the developer ...
'The Last Remnant' finally comes to PlayStation a decade lateEngadget
The Last Remnant Remaster Heads to PS4Attack of the Fanboy

all 74 news articles »

          Every Souls-like game ranked from worst to best      Cache   Translate Page      
What happens when you make a game that becomes a genre? Do other developers surpass that original creation and beat you at your own game? Well, sometimes. Here is every Souls and Souls-Like game, ranked from worst to best.
          JavaScript Application Developer - Integricon Solutions Inc - Toronto, ON      Cache   Translate Page      
Application Development Tools-Knowledge of a variety of specific tools and toolkits for development and support of applications....
From Integricon Solutions Inc. - Thu, 16 Aug 2018 09:24:28 GMT - View all Toronto, ON jobs
          Senior Java Developer 3113993 - Morgan Stanley - Montréal, QC      Cache   Translate Page      
Corporate improves our operating environment and is made up of Legal, Compliance &amp; Corporate Governance, Digital &amp; Corporate Communications and Human Resources...
From Morgan Stanley - Fri, 08 Jun 2018 15:18:18 GMT - View all Montréal, QC jobs
          kss modified a comment on discussion Developers      Cache   Translate Page      
This is not cofigurable settings for each and no possibility add new or edit command in existing Currently open in ext browser and share from it
          kss posted a comment on discussion Developers      Cache   Translate Page      
thanks, may be in future will be check duplicates even by domain ?
          SSRS Developer - Silver Creek Software Ltd. - Edmonton, AB      Cache   Translate Page      
Experience with the Banking Industry. Successful candidates will be responsible for the development, maintenance, testing and on-going support of large scale...
From Indeed - Fri, 25 May 2018 16:51:03 GMT - View all Edmonton, AB jobs
          kss modified a comment on discussion Developers      Cache   Translate Page      
just reinstall Java for latest x64 build from off site and thanks, works
          kss modified a comment on discussion Developers      Cache   Translate Page      
under "tools / preferences / sharing" activate what you like then right click a news and go "share news".
          Senior Developer - Paradigm Quest - Toronto, ON      Cache   Translate Page      
2+ years’ experience in Canadian Banking or other Financial Services experience. Solid experience with Microsoft Studio development tools....
From Paradigm Quest - Sat, 07 Jul 2018 09:03:15 GMT - View all Toronto, ON jobs
          Front End Developer / Développeur d’applications frontales - Explorance - Montréal, QC      Cache   Translate Page      
Primary responsibilities include wire framing and frontend implementation, user experience, usability, CSS layout, DOM manipulation, progressive enhancement /...
From Explorance - Thu, 06 Sep 2018 21:05:01 GMT - View all Montréal, QC jobs
          Senior Developer - Paradigm Quest - Toronto, ON      Cache   Translate Page      
As Canada’s leading mortgage outsourcing company, Paradigm’s mandate is to enable new and existing lenders with a cost effective mortgage operation solution...
From Paradigm Quest - Sat, 07 Jul 2018 09:03:15 GMT - View all Toronto, ON jobs
          Forum Post: RE: CCS/AM3358: During debugging, need to single step several times before running      Cache   Translate Page      
Hi, You certainly have a very uncommon scenario. I really can't recall a similar situation where this happened, but the simple fact that a step operation slows down the code makes me believe that at its initial stages the code depends on an external peripheral or subcircuit that is "not ready" - either external memory, a serial port or something else. If your code is running from external memory, I would try to allocate it to the internal RAM and see if it works fine. If that is not possible due to size, you can try to move either the .text (code) memory section or the startup function of your code (by using the #pragma CODE_SECTION ). Apart from this, I am unsure what else may be at play in this scenario. I will try to think about additional possibilities and report back. Hopefully other developers may have additional ideas as well. Hope this helps, Rafael
          Support for a LoRaWAN Subsystem      Cache   Translate Page      

Sometimes kernel developers find themselves competing with each other to get their version of a particular feature into the kernel. But sometimes developers discover they've been working along very similar lines, and the only reason they hadn't been working together was that they just didn't know each other existed.

Recently, Jian-Hong Pan asked if there was any interest in a LoRaWAN subsystem he'd been working on. LoRaWAN is a commercial networking protocol implementing a low-power wide-area network (LPWAN) allowing relatively slow communications between things, generally phone sensors and other internet of things devices. Jian-Hong posted a link to the work he'd done so far: https://github.com/starnight/LoRa/tree/lorawan-ndo/LoRaWAN.

He specifically wanted to know "should we add the definitions into corresponding kernel header files now, if LoRaWAN will be accepted as a subsystem in Linux?" The reason he was asking was that each definition had its own number. Adding them into the kernel would mean the numbers associated with any future LoRaWAN subsystem would stay the same during development.

However, Marcel Holtmann explained the process:

When you submit your LoRaWAN subsystem to netdev for review, include a patch that adds these new address family definitions. Just pick the next one available. There will be no pre-allocation of numbers until your work has been accepted upstream. Meaning, that the number might change if other address families get merged before yours. So you have to keep updating. glibc will eventually follow the number assigned by the kernel.

Meanwhile, Andreas Färber said he'd been working on supporting the same protocol himself and gave a link to his own proof-of-concept repository: https://github.com/afaerber/lora-modules.

On learning about Andreas' work, Jian-Hong's response was, "Wow! Great! I get new friends :)"

That's where the public conversation ended. The two of them undoubtedly have pooled their energies and will produce a new patch, better than either of them might have done separately.


          Front End Developer - TELoIP - Mississauga, ON      Cache   Translate Page      
For over 15 years we’ve been a competitive choice providing leading-edge products and outstanding client service to an impressive list of clients from LEGO to...
From TeloIP - Tue, 17 Jul 2018 03:46:59 GMT - View all Mississauga, ON jobs
          PHP Developer - Bkom - Québec City, QC      Cache   Translate Page      
Does Hasbro, Disney, Lego and Wizards of the Coast ring a bell? Located in the beautiful city of Quebec (Canada), BKOM Studios is a full-service digital studio...
From Bkom - Sat, 01 Sep 2018 06:11:43 GMT - View all Québec City, QC jobs
          Need to Full-stack Python/Django Developer      Cache   Translate Page      
Our team of the Senior developer is looking for a teammate: full-stack Python/Django Developer (Middle+) This is a remote job offer for a full-time, long-term employment. Professional and friendly team!... (Budget: $8 - $15 USD, Jobs: Angular.js, Django, Javascript, NoSQL Couch & Mongo, Python)
          DRUPAL8 expert developer and API Travel integration      Cache   Translate Page      
As part of an OTA website project with DRUPAL 8, Data base: MariaDB 10.3 PHP 7.2 Symfony 3 + Angular We are launching a search for service provider for the development and integration of API flight and other with the characteristics specified below... (Budget: €1500 - €3000 EUR, Jobs: Drupal, HTML, MySQL, PHP, Software Architecture)
          FutureStack18: 10 Thoughts on Modern Software from RedMonk’s James Governor      Cache   Translate Page      
RedMonk co-founder James Governor dishes on on developer as the new kingmakers, the power of CI/CD, the “software paradox,” and much more.
          Big data Developer - Axius Technologies - Milwaukee, WI      Cache   Translate Page      
Axius Technologies was started in the year 2007 and has grown at a rapid rate of 200% year on year. Big data developer with hands-on experience designing and...
From Axius Technologies - Fri, 31 Aug 2018 03:29:56 GMT - View all Milwaukee, WI jobs
          Mobile Developer - Axius Technologies - Milwaukee, WI      Cache   Translate Page      
Axius Technologies was started in the year 2007 and has grown at a rapid rate of 200% year on year. This opportunity is with a multibillion $ Global giant based...
From Axius Technologies - Thu, 26 Jul 2018 17:27:25 GMT - View all Milwaukee, WI jobs
          Abap Developer - Axius Technologies - Milwaukee, WI      Cache   Translate Page      
Axius Technologies was started in the year 2007 and has grown at a rapid rate of 200% year on year. This opportunity is with a multibillion $ Global giant based...
From Axius Technologies - Fri, 22 Jun 2018 17:31:22 GMT - View all Milwaukee, WI jobs
          .Net Developer - Axius Technologies - Milwaukee, WI      Cache   Translate Page      
Axius Technologies was started in the year 2007 and has grown at a rapid rate of 200% year on year. Analyze, design, develop, test and deploy enterprise level...
From Axius Technologies - Thu, 14 Jun 2018 03:33:54 GMT - View all Milwaukee, WI jobs
          Dot Net Developer - Axius Technologies - Renton, WA      Cache   Translate Page      
Axius Technologies was started in the year 2007 and has grown at a rapid rate of 200% year on year. This opportunity is with a multibillion $ Global giant based...
From Axius Technologies - Wed, 01 Aug 2018 11:21:40 GMT - View all Renton, WA jobs
          Test Automation Developer - Axius Technologies - Renton, WA      Cache   Translate Page      
Axius Technologies was started in the year 2007 and has grown at a rapid rate of 200% year on year. JD:....
From Axius Technologies - Fri, 27 Jul 2018 17:27:17 GMT - View all Renton, WA jobs
          AS 400 developer - Axius Technologies - Renton, WA      Cache   Translate Page      
Axius Technologies was started in the year 2007 and has grown at a rapid rate of 200% year on year. This opportunity is with a multibillion $ Global giant based...
From Axius Technologies - Fri, 22 Jun 2018 03:31:42 GMT - View all Renton, WA jobs
          Entry Level Business Developer - Bilingual (French & English) - Cambridge Global Payments - Montréal, QC      Cache   Translate Page      
*DESCRIPTION DU POSTE* Cambridge Global Payments est à la recherche d’un(e) _Associé(e) Développement des affaires_ motivé(e) pour rejoindre leur équipe de...
From Indeed - Wed, 12 Sep 2018 14:02:41 GMT - View all Montréal, QC jobs
          Backend Developer - Eagle Professional Resources - Toronto, ON      Cache   Translate Page      
Please note that your application does not signify the beginning of employment with Eagle and that employment with Eagle will only commence when placed on an...
From Eagle Professional Resources - Wed, 12 Sep 2018 17:22:29 GMT - View all Toronto, ON jobs
          DevOps Developer - Eagle Professional Resources - Toronto, ON      Cache   Translate Page      
Please note that your application does not signify the beginning of employment with Eagle and that employment with Eagle will only commence when placed on an...
From Eagle Professional Resources - Wed, 12 Sep 2018 17:22:29 GMT - View all Toronto, ON jobs
          What We Know About the Three New iPhones      Cache   Translate Page      

On Wednesday, Apple held a product launch event at its headquarters in Cupertino, California. Along with a sneak peak at the Apple Watch Series 4, CEO Tim Cook and his deputies unveiled three new smartphones: the iPhone XS, the iPhone XS Max, and the iPhone XR.

The XS and XS Max are the higher-end models, while the XR is a (sort of) budget option. A bevy of rumors and leaks had been swirling around the yet-to-be-released devices over the past few weeks, and Apple’s launch event now gives us a clearer sense of their specs and features.

Here’s a rundown of what we know about the new iPhones:

iPhone XS

Price: $999

Release Date: September 21

Screen: 5.8 inches, OLED display

Capacity: 64GB, 256GB, 512GB

Colors: Silver, Gold, Space Gray

Features: The XS has a 7-megapixel front-facing camera and a dual 12-megapixel wide-angle camera with telephoto lenses that features a host of new photo-editing capabilities, such as a depth-of-field adjuster.

Its A12 Bionic chip is supposed to allow the phone to process 5 trillion operations per second—the A11 in the iPhone X could only handle 600 billion. The dramatic increase in processing power enables the device to run better graphics, faster Face ID functionality, and more sophisticated augmented reality apps.

During the event, developers showed off a basketball app that can sense whether or not a player has made a shot just by using the camera. The XS also can also host a physical SIM and an eSIM, which allows people to access two different lines on the same phone. Like the Galaxy Note phones, the iPhone XS now also has an IP rating of 68, which means that it can still function after being dropped in a pool or splashed by orange juice. Its battery life is 30 minutes longer than that of the iPhone X.

iPhone XS Max

Price: $1099

Release Date: September 21

Screen: 6.5 inches, OLED

Capacity: 64GB, 256GB, 512GB

Colors: Space Gray, Silver, Gold

Features: The XS Max has all the same camera and processing doodads as the XS. The main differences between the two are the size and the battery life. For $100 more, the XS Max’s screen is .7 inches bigger and can run an hour longer on a single charge than the XS.

iPhone XR

Price: $749

Release Date: October 26

Screen: 6.1 inches, LCD

Capacity: 64GB, 128GB, 256GB

Colors: Black, Yellow, Coral, Blue, White, Red

Features: The XR is supposed to be the slightly more affordable version of the XS models. It has the same A12 Bionic chip (thus more sophisticated Face ID and augmented reality apps) and dual SIM capabilities.

However, it only has a single rear-facing camera and lacks 3D touch, a feature in other iPhone models that can sense how deeply a user is pressing the screen. And, rather than the XS’s stainless steel frame, the XR instead has an aluminum one. Its battery life is an hour and a half more than that of an iPhone 8.


          Updated Apple System Takes on Smartphone Addiction      Cache   Translate Page      
Apple's polished iPhone line-up comes with tools to help users dial back their smartphone obsessions, amid growing concerns over "addiction" and harmful effects on children. An iOS 12 mobile operating system that will power new iPhones unveiled on Wednesday, and be pushed out as an update to prior models, has new features to reduce how much they distract people from the real world. Apple senior vice president of software engineering Craig Federighi said of iOS 12 at a developers conference earlier this year the new system offers "detailed information and tools" to help users and parents keep tabs on device use. A new "Screen Time" tool generates activity reports showing how often people pick up their iPhones or iPads, how long they spend in apps or at websites, and numbers of notifications received. Users will be able to set limits on time spent in apps. Parents will be able to get activity reports from their children's iPhones or iPads, and impose time limits on apps from games and news to social media and messaging. The operating system will also allow people to designate "down time" when iPhones or iPads can't be used — perhaps a child's bedtime or a grown-up's meditation hour. Activist investor Jana Partners and the California State Teachers' Retirement System (CalSTRS), which both have stakes in Apple, early this year called on the company to give parents more tools to ensure children are using its devices in ways that aren't hurting them. The investors reasoned that doing so would pose no threat to Apple, because the company makes the bulk of its money selling devices, not from how much people use them. Apple has been working to ramp up revenue from services and digital content such as music and movies, but most of the cash it takes in comes from iPhone sales. The letter cited a growing body of evidence that excessive smartphone use may be having negative consequences on young people. A study of teachers found the vast majority felt smartphones were a growing distraction at schools, eroding the ability of students to focus in class and a seeming cause of social and emotional difficulties.
          The King of Fighters GO – New AR mobile game based on fighting franchise begins Closed Beta 2      Cache   Translate Page      
Officially based on the popular fighting IP by SNK, Hong Kong developer Gameon Group recently announced the start of Closed Beta 2 for The King of Fighters GO, an augmented reality (AR) mobile game, along with the pre-registration campaign. Only available in Hong Kong, Taiwan, and Macau, The King of Fighters GO actually has actual maps of […]
          EDI Developer      Cache   Translate Page      
NY-Melville, EDI Developer/Analyst Melville, NY 12+ Months If interested, please send a word version of your resume to anita.olejnik@nttdata.com Requirements: Experience with data delivery mechanisms using (S)FTP, AS2, HTTPS, TCP, UDP protocols and other protocols Experience in IBM Sterling Integrator Cluster environment. Experience with data transformation processes in the Sterling Map Editor Familiarity with
          Senior Front End Web Developer - Aequilibrium Software Inc. - Toronto, ON      Cache   Translate Page      
We plan, design, architect and build technology platforms and products—delivering world-class technology solutions for both established companies (such as...
From Aequilibrium Software Inc. - Tue, 21 Aug 2018 04:13:48 GMT - View all Toronto, ON jobs
          Senior Java Backend Developer - Aequilibrium Software Inc. - Vancouver, BC      Cache   Translate Page      
We plan, design, architect and build technology platforms and products—delivering world-class technology solutions for both established companies (such as...
From Aequilibrium Software Inc. - Tue, 17 Jul 2018 19:07:31 GMT - View all Vancouver, BC jobs
          iOS Developer - Aequilibrium Software Inc. - Vancouver, BC      Cache   Translate Page      
We plan, design, architect and build technology platforms and products—delivering world-class technology solutions for both established companies (such as...
From Aequilibrium Software Inc. - Sat, 04 Aug 2018 01:13:04 GMT - View all Vancouver, BC jobs
          Android Developer - Aequilibrium Software Inc. - Vancouver, BC      Cache   Translate Page      
We plan, design, architect and build technology platforms and products—delivering world-class technology solutions for both established companies (such as...
From Aequilibrium Software Inc. - Sat, 04 Aug 2018 01:13:01 GMT - View all Vancouver, BC jobs
          Web Developer - iQmetrix - Vancouver, BC      Cache   Translate Page      
Last year’s iQmetrix Odyssey trip. Top 10 Reasons to Join iQmetrix (view the full list). Our YouTube channel including numerous videos on iQmetrix and what we...
From iQmetrix - Wed, 22 Aug 2018 16:06:32 GMT - View all Vancouver, BC jobs
          Software Developer - iQmetrix - Winnipeg, MB      Cache   Translate Page      
IQmetrix is the leading provider of innovative software solutions for the wireless market. IQmetrix has rated among the Top 50 Best Small &amp; Medium Employers in...
From iQmetrix - Wed, 01 Aug 2018 18:48:19 GMT - View all Winnipeg, MB jobs
          SharePoint Developer      Cache   Translate Page      
NY-Floral Park, Skill : Sr SharePoint Developer (GC & U.S. Citizen only) Location : Long Island, NY Duration : 4-6+ months Job description: Design, development, and support of software solutions based on Microsoft SharePoint, jQuery, WCF, REST APIs, and .Net Framework. The incumbent will also oversee the creation and maintenance of Microsoft SharePoint solutions to address the needs and challenges of the business
          Senior Software Developer - iQmetrix - Regina, SK      Cache   Translate Page      
Flexibility and the ability to adapt to an evolving environment will go a long way at iQmetrix. IQmetrix has rated among the Top 50 Best Small &amp; Medium...
From iQmetrix - Sat, 04 Aug 2018 01:03:01 GMT - View all Regina, SK jobs
          Senior Software Developer - iQmetrix - Vancouver, BC      Cache   Translate Page      
Flexibility and the ability to adapt to an evolving environment will go a long way at iQmetrix. IQmetrix has rated among the Top 50 Best Small &amp; Medium...
From iQmetrix - Sat, 04 Aug 2018 01:03:01 GMT - View all Vancouver, BC jobs
          Intermediate Software Developer - iQmetrix - Winnipeg, MB      Cache   Translate Page      
Last year’s iQmetrix Odyssey trip. Top 10 Reasons to Join iQmetrix (view the full list). Our YouTube channel including numerous videos on iQmetrix and what we...
From iQmetrix - Wed, 11 Jul 2018 18:54:32 GMT - View all Winnipeg, MB jobs
          Developers, Property Brokers to Seek Amazon HQ2 Clues in Bezos Talk      Cache   Translate Page      
It took four years for the Economic Club of Washington to confirm one of their most desired speakers: Jeff Bezos, founder of online retailer Amazon and owner of The Washington Post. But when he addresses the audience in the nation's capital Thursday evening, the crowd may be focused more on what he says about real estate than running the largest retailer or the influential daily newspaper. That’s because Amazon is expected to announce at any time...
          Senior Developer - PointClickCare - Canada      Cache   Translate Page      
I’ve never heard of PointClickCare. So what does a Software Developer at PointClickCare do? What do you do?...
From PointClickCare - Wed, 12 Sep 2018 15:49:33 GMT - View all Canada jobs
          Praha 5 schválila tři dohody s developery      Cache   Translate Page      

Praha 5 uzavře dohody se třemi developerskými firmami, které v souvislosti s připravovanými stavbami přislíbí investovat ve prospěch městské části. Radnice za to bude k projektům přistupovat vstřícně. Uzavření dohod dnes schválili zastupitelé Prahy 5.

 


          Liferay / Java Developer for Birmingham, AL Location      Cache   Translate Page      
AL-BIRMINGHAM, Position : Liferay / Java Developer Location : Birmingham, AL Job type : 6+ Months Contract Interview Mode : Telephonic + Skype Required Experience/ Skills: Primary Skill: Liferay Portal, Java / J2EE 4+ years of experience in Java / J2EE technologies 2+ years of experience in Liferay Enterprise Portal. Experience with Apache, Tomcat server and knowledge of UNIX. PL/SQL skills and good knowledge of
          SSIS Developer for Birmingham, AL location      Cache   Translate Page      
AL-BIRMINGHAM, Position: SSIS Developer Location : Birmingham, AL Job type : Long Term Contract Interview Mode: Telephonic + Skype Technical/Functional Skills: The candidate should have excellent hands-on experience on – Sound overall experience in Design, Modeling, Development, Implementation and Support of SQL Server 2000/2005/2008/2008 R2/2012/2016 Extensive Development experience in design, development and d
          Senior Java Developer 3113993 - Morgan Stanley - Montréal, QC      Cache   Translate Page      
Client Financing platforms provide technology and service to our hedge fund and Asia high-net-worth clients....
From Morgan Stanley - Fri, 08 Jun 2018 15:18:18 GMT - View all Montréal, QC jobs
          Tibco BW Developer - CBL Solutions - Milwaukee, WI      Cache   Translate Page      
*Job Summary* Job Description • Minimum of 3 + years of experience in TIBCO BW Development. • Must have experience on Tibco BW 6.x or BWCE (container...
From Indeed - Fri, 27 Jul 2018 16:37:48 GMT - View all Milwaukee, WI jobs
          SQL SSRS Developer(w2 or C2C) - CBL Solutions - Seattle, WA      Cache   Translate Page      
*Job Summary* Required – SQL SSRS Developer Location -Seattle, WA Visa: GC, USC No of positions: 10 *Responsibilities and Duties* Basic Qualifications:...
From Indeed - Fri, 31 Aug 2018 18:20:27 GMT - View all Seattle, WA jobs
          Dear Monty: Tips for dealing with real estate developers       Cache   Translate Page      
Reader Question: My property on the east coast has been re-zoned to high density. I have received many solicitations from “developer’s representatives.” I suspect that they do not have my best interests in mind. What agents-real estate attorneys, must I consult? Monty’s Answer: My interpretation of your question is that you want help determining the ...
          Unravel Two [v1.0.0.47008] (2018) FitGirl      Cache   Translate Page      
Unravel Two [v1.0.0.47008] (2018) FitGirl
Unravel Two [v1.0.0.47008] (2018) PC | RePack by FitGirl |Size:3.33 GB
Year of release: 2018
Genre: Adventure,Platformer,Puzzle
Developer: Coldwood Interactive
Publisher: Electronic Arts
Publication Type: RePack
Platform: PC
Language: English (no knowledge of the language required)
Language of the voice: - / -
Medicine: sewed (CODEX)


          Junior Software Developer - Prolucid Technologies - Mississauga, ON      Cache   Translate Page      
We value team and culture at the highest level and believe in a strong work life balance and fund a variety of social events including northern Ontario off...
From Prolucid Technologies - Fri, 06 Jul 2018 17:43:43 GMT - View all Mississauga, ON jobs
          Pinball FX3 Star Wars Pinball Solo (2018) PLAZA      Cache   Translate Page      
Pinball FX3 Star Wars Pinball Solo (2018) PLAZA
Pinball FX3 Star Wars Pinball Solo (2018) | PLAZA| Size: 5.88 GB
Release Date: 12 Sep, 2018
Genre: Simulation,
Developer: Zen Studios
Languages: Multi
Medecine:PLAZA


          Project CARS 2 Deluxe Edition [v 7.0.0.0.1095] (2017) xatab      Cache   Translate Page      
Project CARS 2  Deluxe Edition [v 7.0.0.0.1095]  (2017) xatab
Project CARS 2: [v 7.0.0.0.1095] Deluxe Edition (2017) PC | Size:29.86 GB | RePack by xatab
Released : 2017
Genre : Racing , Simulator , 3D
Developer : Slightly Mad Studios
Publisher : BANDAI NAMCO Entertainment's
Publication Type : RePack
Language : Multi
Voice set Language : ENG
Tablet: sewed (CODEX) attached


          Senior Developer - Paradigm Quest - Toronto, ON      Cache   Translate Page      
As Canada’s leading mortgage outsourcing company, Paradigm’s mandate is to enable new and existing lenders with a cost effective mortgage operation solution...
From Paradigm Quest - Sat, 07 Jul 2018 09:03:15 GMT - View all Toronto, ON jobs
          iOS 12: UK release date, new features and beta access      Cache   Translate Page      
Apple is gearing up to reveal more details about its upcoming iOS 12 operating software this afternoon, along with the expected unveiling of the new iPhone XS range.  The iOS 12 system was first announced at the Worldwide Developers Conference...
          Software Developer - DGI Supply, A DoALL Company - Houston, TX      Cache   Translate Page      
PHP Web Developer will be responsible for converting and migrating an Intershop (website in a box) E-Commerce website to a PHP platform on a Linux server....
From DGI Supply, A DoALL Company - Fri, 31 Aug 2018 19:24:47 GMT - View all Houston, TX jobs
          Senior Hybris Commerce Developer - Accenture - Minneapolis, MN      Cache   Translate Page      
Experience working with relevant WCM or eCommerce packaged solutions such as Adobe AEM (CQ), SDL Tridion, Sitecore, Fatwire, CrownPeak, hybris, Oracle/ATG,...
From Accenture - Mon, 10 Sep 2018 05:51:51 GMT - View all Minneapolis, MN jobs
          Java Developer - Search Leaders, LLC - Minneapolis, MN      Cache   Translate Page      
SAP Hybris or Intershop Ecommerce configuration and administration. Do you want to develop code in an environment with multiple technologies and systems...
From Search Leaders, LLC - Wed, 18 Jul 2018 16:05:50 GMT - View all Minneapolis, MN jobs
          Senior Hybris Commerce Developer - Southeast - Accenture - Atlanta, GA      Cache   Translate Page      
Experience working with relevant WCM or eCommerce packaged solutions such as Adobe AEM (CQ), SDL Tridion, Sitecore, Fatwire, CrownPeak, hybris, Oracle/ATG,...
From Accenture - Tue, 11 Sep 2018 05:55:19 GMT - View all Atlanta, GA jobs
          Software Development / ecommerce Manager - Criterion Executive Search - Orlando, FL      Cache   Translate Page      
5+ years experience with eCommerce (B2B/B2C) platforms including Intershop and Magento required. Manages a team of analysts, developers and consultants...
From Criterion Executive Search - Fri, 20 Jul 2018 01:41:14 GMT - View all Orlando, FL jobs
          Mindful Tracking Cookie Policies Improve K—12 Data Security      Cache   Translate Page      
Mindful Tracking Cookie Policies Improve K—12 Data Security eli.zimmerman_9856 Wed, 09/12/2018 - 12:18

Current web browsing policies in K–12 schools may be allowing third parties to collect and sell student data, creating a need for schools to update and maintain safe internet use protocols.

From unencrypted browsing during a class activity to embedding videos into presentations, schools can inadvertently compromise student privacy by exposing them to tracking cookies, according to a recently issued report from the Consortium of School Networking.

There have been 361 cybersecurity incidents involving public schools since 2016 according to the K–12 Cybersecurity Resource Center, and with rates increasing year over year, schools need to be more aware of issues with data privacy and enact targeted solutions to keep student data safe.

Find more best practices for maintaining student data privacy!

Tracking Cookies Create Profiles Through Browsing History

While teachers and parents can help control what content students can access, many sites have an invisible threat that may compromise student privacy: tracking cookies.

Cookies can be used to make web browsing more streamlined. But they are able to collect student information, including location information, building profiles that can be used for targeted advertising and marketing purposes. 

“We talk about this in terms of URLs and tracking, but what we are tracking is bits and pieces of people’s lives being sent off into black boxes to be used in ways that we don’t know,” Bill Fitzgerald, a blogger who discovered tracking cookies hidden in an education product from Edmodo, told EdSurge. “Next time you are picking your kids up from school, or if you pass a playground, think of each of those kids and the bits and pieces of their lives that are getting pushed out over the internet.”

With students spending an increasing amount of time on the internet, it is important that schools do their best to prevent students from unwittingly giving away this information.

Best Practices to Keep Student Tracking to a Minimum

Some companies are already offering clear pathways to help cut down on tracking cookies so schools can feel more confident in maintaining their students’ privacy while still encouraging the use of online resources and devices in classrooms.

Microsoft has instructions on their website for cookie management that can be useful for classrooms that either allow students to bring in personal devices or use the company’s tablets as part of a one-to-one device program. For Chromebook users, Google has similar information available.

School websites are also points of vulnerability, with a large percentage riddled with tracking cookies, according to a study by EdTech Strategies

When creating school websites, schools should make sure to use HTTPS encryption to ensure “critical security and data integrity for both your websites and your users' personal information,” writes Kayce Basques, technical writer for Google.

Finally, talk with students to help them understand best practices on sites that have a high number of tracking cookies. Social media platforms, for example, will usually deploy cookies when students click a “like” or “post” button. Training students to be more aware of the information they are revealing while using these websites may help them avoid giving up unnecessary data.

Eli has been eagerly pursuing a journalistic career since he left the University of Maryland's Philip Merrill School of Journalism. Previously, Eli was a staff reporter for medical trade publication Frontline Medical News, where he experienced the impact of continuous education and evolving teaching methods through the medical lens. When not in the office, Eli is busy scanning the web for the latest podcasts or stepping into the boxing ring for a few rounds.


          (Senior) Developer / Lead Developer (m/f) - Intershop Communications - San Francisco, CA      Cache   Translate Page      
Intershop is a leading provider of innovative e-commerce solutions. Using Intershop 7 applications to successfully deploy projects on time....
From Intershop Communications - Wed, 23 May 2018 10:20:22 GMT - View all San Francisco, CA jobs
          Java Developer (m/f) - Intershop Communications - San Francisco, CA      Cache   Translate Page      
Opportunity As a Java Developer, you will be challenged to apply your experience and know how to extend and enhance INTERSHOP’s ecommerce platform, Enfinity...
From Intershop Communications - Wed, 23 May 2018 10:20:22 GMT - View all San Francisco, CA jobs
          Sr. Demandware Developer/Tech. Lead - Jarvis Cole - Boston, MA      Cache   Translate Page      
Experience with mainstream e-Commerce platforms such as Hybris, Demandware, GSI, Intershop, IBM WebSphere, ATG or Magento;... $130,000 - $200,000 a year
From Indeed - Wed, 12 Sep 2018 13:26:17 GMT - View all Boston, MA jobs
          Senior Java/AEM Developer (Minsk) - Axamit - Montréal, QC      Cache   Translate Page      
1+ years’ experience with CQ 5.x/AEM 6.x.; Our AEM team is looking for Senior Java/AEM Developer to our office who is interested in Adobe AEM/CQ platform...
From Axamit - Mon, 03 Sep 2018 15:48:37 GMT - View all Montréal, QC jobs
          Middle Java/AEM Developer (Minsk) - Axamit - Montréal, QC      Cache   Translate Page      
1+ years’ experience with CQ 5.x/AEM 6.x.; Our AEM team is looking for Middle Java/AEM Developer to our office who is interested in Adobe AEM/CQ platform...
From Axamit - Mon, 03 Sep 2018 15:48:36 GMT - View all Montréal, QC jobs
          Junior Java/AEM Developer (Minsk) - Axamit - Montréal, QC      Cache   Translate Page      
Understanding of CMS and CQ 5.x/AEM 6.x.; Our AEM team is looking for Junior Java/AEM Developer to our office who is interested in Adobe AEM/CQ platform...
From Axamit - Mon, 03 Sep 2018 15:48:36 GMT - View all Montréal, QC jobs
          Développeur DevOps Automation Developer - Modis Canada - Westmount, QC      Cache   Translate Page      
Plusieurs éléments livrables sont des inhibiteurs pour le reste de l’entreprise. Faire valoir le développement piloté par les tests (connaît la pyramide d...
From Modis Canada - Wed, 12 Sep 2018 21:36:29 GMT - View all Westmount, QC jobs
          Senior Data Scientist Consultant - GI Research - Milano, Lombardia      Cache   Translate Page      
The successful candidate will be a valid partner of the Business Developer Data Services contributing and developing the current retail and supplier client...
Da GI Research - Thu, 23 Aug 2018 17:20:19 GMT - Visualizza tutte le offerte di lavoro a Milano, Lombardia
          API Developer - Valnet Inc. - Montréal, QC      Cache   Translate Page      
As the API Developer at Valsoft, you will be working with our Travel &amp; Leisure team on developing new web applications and integrations with third party...
From Valnet Inc. - Fri, 31 Aug 2018 00:09:04 GMT - View all Montréal, QC jobs
          Facebook partners with vegan company      Cache   Translate Page      

Facebook launches a pilot program with Raise Vegan, Inc. to promote vegan diets to parents and students from conception to adulthood.

Yesterday, I blogged about how the checkoff is promoting beef in schools to student athletes, and I expressed how supportive I am of this educational effort.

Today, I’m even more grateful that my checkoff dollar is being used this way because Facebook has just launched a new pilot program with vegan company, Raise Vegan, Inc. to promote plant-based diets to students and parents.

READ: Checkoff beefs up schools & sports teams

The pilot program is subscription-based with virtual courses offered through the Facebook app in partnership with Google and Apple. Courses including vegan pregnancy, vegan parenting, vegan nutrition and veganism from conception to adulthood.

So what is Raise Vegan, Inc? According to the company website, “The vegan company that started just a year ago, is an all female-led team based in New York, with offices in Ireland, Australia, and the United Kingdom. Seeing a much-needed service for parents, they grew from just a few members, to millions of parents around the world in a matter of months.

“They issue the leading print and digital vegan parenting magazine worldwide, while hosting the largest private meet-up groups, and virtual chat groups supporting parents as they raise their families on plant-based diets. Raise Vegan has been working closely with Facebook developers since 2017, it was a natural progression to hosting the educational vegan groups for the tech giant.”

READ: How vegans got it wrong on cattle & climate change

The pilot is currently being tested by 25 groups around the world, and for $9.99, users can subscribe to the virtual educational courses, which are led by Dahlia and James Marin, of a vegan company called, “Married to Health.”

This is quite concerning to me, not just as a beef producer, but as a parent, too. This is pure ideological indoctrination that is based on poor science, popular trends and misinformation about animal welfare and the environment.

What’s worse, a vegan diet, if done incorrectly and without B12 supplementation, could be damaging to a child’s growth and development.

According to a Daily Mail article titled “Trendy vegan diets can wreck a child’s health,” Colin Fernandez explains how a lack of nutrients as the result of a vegan lifestyle can cause ‘irreversible damage’ and malnutrition.

Here’s an excerpt: “Vegan diets, devoid of meat, fish or dairy, can lead to 'devastating' health effects and, in the worst cases, death. Children following vegan diets are 'leaner and smaller' than children who eat meat – or even those on vegetarian diets which allow milk, eggs and cheese.

“The greatest hazard is of vitamin B12 deficiency which 'can have devastating effects' on the brain, nervous system and blood. Too little protein can lead to stunted growth while too much fiber – another concern in vegan diets – can cause children to feel full too quickly, stopping them getting enough of other nutrients in their food.”

READ: Despite meatless propaganda, beef is great for your health

This only highlights the increasing importance of further health education in our schools and of common sense nutrition that isn’t based on unfounded ideologies that are disconnected from reality.

And without the checkoff, where would our concentrated efforts come from in this area? Who would man the ship that could sway consumer perceptions about beef in a positive way?

It’s going to take every one of us being active in our kids’ schools, attending beef council meetings to drive the direction of how the checkoff dollar is spent and responding to articles in the paper and online that paint beef in a negative way.

The opinions of Amanda Radke are not necessarily those of beefmagazine.com or Farm Progress.


          Senior Compiler Developer - Irdeto - Ottawa, ON      Cache   Translate Page      
Why join Irdeto? We are on a mission! A mission to secure the world’s digital platforms. Why? Because a secure platform allows our clients to produce and...
From Irdeto - Fri, 31 Aug 2018 02:49:34 GMT - View all Ottawa, ON jobs
          UX Developer Intern - Winter 2019 - Shopify - Ottawa, ON      Cache   Translate Page      
Loves challenging yourself with projects or hacking just for fun. About the role....
From Shopify - Tue, 11 Sep 2018 14:44:20 GMT - View all Ottawa, ON jobs
          iOS Developer - Atlantis Consulting Group Inc - Toronto, ON      Cache   Translate Page      
Partner closely with our design and product team to architect a gorgeous application flowsseamlessly and works intuitively with our users....
From Indeed - Wed, 12 Sep 2018 18:16:08 GMT - View all Toronto, ON jobs
          throwing away 20 years of c++      Cache   Translate Page      

Since '98 (the past millenium), I've spent a ton of hours learning the ins and outs of C++. As of late I even started giving a 'C++03 to C++14' course now and then.

I loved it and I hated it.

sometimes I'm sick and tired of
the company that hired me
but today is the day that I'm gonna make it work

That was a little song I would hum while biking to the office in the morning.

As of late I dove into functional programming as well, interested myself in design patterns, monads, functors, to improve robustness and maintainability of my C++.

And yet, I felt like there should be something more. Like this luxurious life of function overloading, lambdas, generics, metaprogramming... was a little... decadent?

So I asked my boss to search me another assignment, one with Linux, C, scarce resources.

And here I am.

Linux development makes me shout for joy. But C makes me weep. I have to trust entirely on convention to know if it is me who should free some memory. Or worse, I should read the code, instead of the api, to find out if this piece of raw memory is mine. I should write goto's to clean stuff up in case something fails mid-function.

My appreciation for the C developer skills has risen sky high.

But my distrust for all the stuff written in that language grows every day.

And to think that all these newly shiny IoT devices are programmed this way...

Will be continued.


          QA Automation Developer - Asigra - North York, ON      Cache   Translate Page      
Asigra welcomes and encourages applications from people with disabilities. Learn and understand the technical details of all the Asigra products and gain hands...
From Asigra - Fri, 06 Jul 2018 11:37:27 GMT - View all North York, ON jobs
          Forum Post: RE: Simplest and efficient method to create excel (.xlsx or .xls) file and export data      Cache   Translate Page      
Although not free (developer license required), www.spreadsheetgear.com/ is very good. We were having performance issues using the com automation approach, something that was taking hours to complete takes seconds using this library. It also does not require you to have Excel installed for it to work.
          Programmer/Software Developer - Modis Canada - Ottawa, ON      Cache   Translate Page      
Produces technical specification documentation, writes new or modify existing code, writes and updates documentation on application systems, software, tools,...
From Modis Canada - Wed, 12 Sep 2018 21:36:28 GMT - View all Ottawa, ON jobs
          Java Developer - Eagle Creek Software Services - Gillette, WY      Cache   Translate Page      
An Eagle Creek Software Consultant will work in a team environment for the successful development and implementation of Java applications from project...
From Eagle Creek Software Services - Mon, 27 Aug 2018 06:45:12 GMT - View all Gillette, WY jobs
          Contract Android Developer - TravelStorysGPS - Jackson Hole, WY      Cache   Translate Page      
Position: Android Developer Company: TravelStorysGPS Location: Jackson, WY (Remote Available) Duration: Contract (10-20 Hours Per Week, Ongoing)...
From Indeed - Wed, 29 Aug 2018 17:35:03 GMT - View all Jackson Hole, WY jobs
          Web Developer Aide - University of Wyoming - Laramie, WY      Cache   Translate Page      
Please Note Hours per week may be variable based on work load. In addition to standard application, applicants must also complete the supplemental form at... $14 an hour
From University of Wyoming - Thu, 07 Jun 2018 15:49:04 GMT - View all Laramie, WY jobs
          Java Developer - Eagle Creek Software Services - Cheyenne, WY      Cache   Translate Page      
An Eagle Creek Software Consultant will work in a team environment for the successful development and implementation of Java applications from project...
From Eagle Creek Software Services - Mon, 27 Aug 2018 06:45:12 GMT - View all Cheyenne, WY jobs
          Software Developer - Matric - Morgantown, WV      Cache   Translate Page      
About MATRIC MATRIC is a strategic innovation partner providing deep, uncommon expertise and infrastructure to solve the most challenging problems of science...
From MATRIC - Tue, 11 Sep 2018 00:02:33 GMT - View all Morgantown, WV jobs
          Senior Applications Developer - Attain, LLC - Morgantown, WV      Cache   Translate Page      
A minimum of 2 years of hands on Microsoft.NET development experience using C#,ASP.NET (2.0 through 4.0), LINQ, XML, CSS, HTML, JavaScript, and Ajax in Windows...
From Attain, LLC - Thu, 09 Aug 2018 19:41:23 GMT - View all Morgantown, WV jobs
          Développeur DevOps Automation Developer - Modis Canada - Westmount, QC      Cache   Translate Page      
Advocate of Test Driven Development (knows the test pyramid). Faire valoir le développement piloté par les tests (connaît la pyramide d’essais)....
From Modis Canada - Wed, 12 Sep 2018 21:36:29 GMT - View all Westmount, QC jobs
          Associate Software Developer - WVU Medicine - Morgantown, WV      Cache   Translate Page      
JOB TITLE & CODE: Associate Software Developer (100942) DEPARTMENT: Information Technology REPORTS TO: Manager FLSA STATUS: Exempt POSITION SUMMARY:...
From WVU Medicine - Wed, 15 Aug 2018 23:45:37 GMT - View all Morgantown, WV jobs
          Senior React JS Developer (St. Louis) - Perficient - National, WV      Cache   Translate Page      
Overview At Perficient you’ll deliver mission-critical technology and business solutions to Fortune 500 companies and some of the most recognized brands on...
From Perficient - Wed, 29 Aug 2018 02:47:45 GMT - View all National, WV jobs
          Senior Developer - Paradigm Quest - Toronto, ON      Cache   Translate Page      
As Canada’s leading mortgage outsourcing company, Paradigm’s mandate is to enable new and existing lenders with a cost effective mortgage operation solution...
From Paradigm Quest - Sat, 07 Jul 2018 09:03:15 GMT - View all Toronto, ON jobs
          Applications Developer - .NET 3 (THPS) / Développeur d'applications .NET 3 (TSSP) (11940) - emergiTEL Inc. - Mont-Saint-Hilaire, QC      Cache   Translate Page      
Description: Client is looking for talented Senior Developer-Analyst contractor with a experience in developing C# applications. Supported by the client...
From EmergiTel Inc. - Mon, 03 Sep 2018 06:49:14 GMT - View all Mont-Saint-Hilaire, QC jobs
          Développeur d'applications .NET / Applications Developer - .NET - 254916 - Procom - Montréal, QC      Cache   Translate Page      
Développeur d'applications .NET Dans le cadre de ses ententes avec ses différents clients, Procom est actuellement à la recherche d'un Développeur d...
From Procom - Tue, 04 Sep 2018 09:01:09 GMT - View all Montréal, QC jobs
          network developer      Cache   Translate Page      
Hi, I am looking for network developer. skills: . routing protocols(BGP, OSPF, RIP) . VMWare ESXi 5.5+ . Server Networking (1-GbE, 10-Gb SFP+) (Budget: $15 - $25 USD, Jobs: Cisco, Linux, Network Administration, System Admin, VMware)
          Senior Software Developer Ireland - Overstock.com - Ireland, WV      Cache   Translate Page      
Onsite salon services, massages, &amp; auto-detail services. Do you want to make an impact on the future of eCommerce and blockchain technologies?...
From Overstock.com - Sat, 08 Sep 2018 11:36:47 GMT - View all Ireland, WV jobs
          Runtime GetDataBack Simple 5.01 + Portable      Cache   Translate Page      

Runtime GetDataBack Simple 5.01 + Portable | 8.2/7.8 Mb

GetDataBack Simple is a completely redesigned and rewritten Data Recovery solution for Windows file systems. Our developers hav...

          Senior Front End Developer - Overstock.com - Ireland, WV      Cache   Translate Page      
Onsite salon services, massages, &amp; auto-detail services. Do you want to make an impact on the future of eCommerce and blockchain technologies?...
From Overstock.com - Fri, 07 Sep 2018 11:41:46 GMT - View all Ireland, WV jobs
          Front End Developer - Overstock.com - Ireland, WV      Cache   Translate Page      
Onsite salon services, massages, &amp; auto-detail services. Do you want to make an impact on the future of eCommerce and blockchain technologies?...
From Overstock.com - Fri, 07 Sep 2018 11:41:45 GMT - View all Ireland, WV jobs
          Software Developer II - Overstock.com - Ireland, WV      Cache   Translate Page      
Onsite salon services, massages, &amp; auto-detail services. R0002281 Software Developer II....
From Overstock.com - Wed, 20 Jun 2018 18:16:38 GMT - View all Ireland, WV jobs
          Point Solutions Developer      Cache   Translate Page      
MD-BALTIMORE, Software Engineer This is a full-time, permanent position we are placing at CRISP, Maryland's state-wide health information exchange. Position Title: Point Solutions Developer Reports Directly To: Director of Innovation Location: Columbia, MD Hours Per Week: 40 Description: Exciting opportunity to develop cutting edge software in ASP.Net Core, ASP.Net MVC 5 and Azure in a team-based agile environm
          Oari Collab Pvt. Ltd Recruitment 2018 : Software Developer      Cache   Translate Page      
Oari Collab Pvt. Ltd.
Last Date: N/A.


Oari Collab Pvt. Ltd. invites applications from candidates with BE, B.Tech (in CSE or IT) or MCA with minimum  3 years experience for interview for Software Developer position at its Guwahati Development branch.

Name of post: Software Developer
Experience: 
3+ years
Pay: No bar for suitable candidate

Age :
25 to 35 years
Educational qualification:  BE, B.Tech (in CSE or IT) or MCA
    a) Java
    b) Javascript
    c) Angular Js
    d) PhoneGap
    e) CSS / SCSS
    f) PHP (preferable)

Application Fee:
Nil

How to apply:
Interested candidate may send their resume with their current and expected CTC to this mail id mintu@oari.co

Address: Oari Collab Pvt. Ltd., House No. 1 (second floor), Rajgarh , Bye Lane - 4, Chandmari, Guwahati 781003

Website: http://oari.co.

          KISSsoft 03/2017E (SP5) Update 180913      Cache   Translate Page      
KISSsoft 03/2017E (SP5) Update 180913


KISSsoft 03/2017E (SP5) Update | 142.0 mb

KISSsoft AG, a developer design software for engineers and designers in a wide variety of fields, has...

          Carlson Civil Suite 2017 180912      Cache   Translate Page      
Carlson Civil Suite 2017 180912


Carlson Civil Suite 2017 | 2.5 GB


Carlson, a developer quality software solutions for land development professionals in the ...

          Health Canada approves Exact Imaging's FusionVu      Cache   Translate Page      
Health Canada has approved ultrasound technology developer Exact Imaging's...Read more on AuntMinnie.comRelated Reading: Exact Imaging secures urology group purchasing contract FDA OK's Exact Imaging's FusionVu Exact Imaging completes Va. install Exact Imaging launches microultrasound/MRI device Exact Imaging wins Canadian approval for ExactVu (Source: AuntMinnie.com Headlines)
          The World’s Largest Snow and Ski Resort is Coming to Shanghai      Cache   Translate Page      
Helmed by the developers of Ski Dubai, this new resort will feature three ski slopes and 25 non-ski activities.
          Software Developer - C# - Encore Travel - Montréal, QC      Cache   Translate Page      
*Do you want to make an impact?* Are you ready for a new opportunity where you’ll be recognized for your contributions, build meaningful relationships and...
From Indeed - Fri, 07 Sep 2018 20:41:26 GMT - View all Montréal, QC jobs
          Senior PHP Developer - Singapore Press Holdings - North Singapore      Cache   Translate Page      
It is in the aged care sector and owns Orange Valley, Singapore’s largest private nursing home operator. Incorporated in 1984, main board-listed Singapore Press...
From Singapore Press Holdings - Wed, 29 Aug 2018 10:40:16 GMT - View all North Singapore jobs
          Software Developer - PHP, Python, Perl, Linux - Fibernetics - Cambridge, ON      Cache   Translate Page      
_Fibernetics prides itself on being a disruptive force in the Telecommunications industry and its this drive that fuels our innovation to deliver high tech,...
From Indeed - Tue, 24 Jul 2018 14:39:08 GMT - View all Cambridge, ON jobs
          IMAGING Systems Engineer      Cache   Translate Page      
CA-Santa Clara, Description: Client Company is a recognized leading developer of advanced high-sensitivity digital sensors, cameras and systems that primarily serve the defense industry. We are the sole source provider of integrated digital imaging systems for most U.S. military night vision programs. In our Equipment business, we are a leader in the design and development of high productivity, thin film processi
          Full Stack Developer for Natural Language Processing - Huawei Canada - Montréal, QC      Cache   Translate Page      
Located in Hong Kong, Shenzhen, Beijing, London, Paris, Montreal, Toronto and Edmonton, Noah’s Ark Lab is the flagship AI research lab of Huawei Technologies....
From Huawei Canada - Wed, 12 Sep 2018 17:46:44 GMT - View all Montréal, QC jobs
          MACHINE LEARNING HARDWARE RESEARCHER OR DEVELOPER - Huawei Canada - Montréal, QC      Cache   Translate Page      
We thank all applicants for their interest in career opportunities with Huawei. Machine Learning Hardware Researcher or Developer....
From Huawei Canada - Wed, 06 Jun 2018 23:47:32 GMT - View all Montréal, QC jobs
          Machine Learning Software Developer - Huawei Canada - Montréal, QC      Cache   Translate Page      
We thank all applicants for their interest in career opportunities with Huawei. ML Software developer....
From Huawei Canada - Wed, 06 Jun 2018 23:47:31 GMT - View all Montréal, QC jobs
          Transport Software Developer - Huawei Canada - Ottawa, ON      Cache   Translate Page      
Responsibilities: Support the goal of being number one in the competitiveness of transport products (including but not limited to WDM and microwave products)...
From Huawei Canada - Wed, 05 Sep 2018 17:46:43 GMT - View all Ottawa, ON jobs
          Sr. SQL Developer      Cache   Translate Page      
OR-REMOTE, Our client is currently seeking a Sr. SQL Developer for a remote position. This job will have the following responsibilities: Able to take a collegial, collaborative, analytical approach to project solutions in an Agile Scrum environment. Proficient with technical analysis of user stories, business rules and visual specifications to accurately size user stories Proficient in speedy and accurate co
          Intermediate Full Stack Developer - CTL Law - Richmond Hill, ON      Cache   Translate Page      
Expert level knowledge of HTML5, HTML,PHP and CSS, image compression and sprites. CTL Law is looking for an Intermediate Full Stack Developer, we are looking...
From Indeed - Tue, 17 Jul 2018 02:35:34 GMT - View all Richmond Hill, ON jobs
          Front-End Developer - Blake & Partners - Brussels      Cache   Translate Page      
An ambitious start-up located in Brussels Centre is actively looking for a Developer. With this revolutionary vision, this company is growing at an incredible speed. Get the chance to become one of the pillars of this company. So, you will always be growing at the same time as the company. In addition to the salary, if you have show results and unlimited involvement in your projects, you will have the opportunity to obtain stock options of the company. This start up gives you the...
          JOB DEVELOPER (EMPLOYMENT MARKETING SPECIALIST) POSITION - Progress Career Planning Institute - Toronto, ON      Cache   Translate Page      
 Working as part of a team to develop a communication plan to increase employers awareness and implement strategies to tap into the hidden job market....
From Indeed - Wed, 12 Sep 2018 14:33:59 GMT - View all Toronto, ON jobs
          Pipeline Developer - Rocket Science VFX - Toronto, ON      Cache   Translate Page      
The Final Chapter, Hell on Wheels, Killjoys, Into the Badlands and The Expanse. Rocket Science VFX is an internationally recognized studio, collaborating with...
From Rocket Science VFX - Tue, 10 Jul 2018 21:24:36 GMT - View all Toronto, ON jobs
          SQL SSIS ETL Developer      Cache   Translate Page      
PA-Norristown, job summary: We are seeking an ETL Specialist with Alteryx expertise and someone who can work well within the business to gather requirements and build curated data sets and work on building out the Enterprise Master Data Management with ITS support. This role is actually on the business side of the house, so it is imperative the contractor can hit the ground running. This project is highly-visibl
          Steamforged Previews Skatha For Season 4 of Guild Ball      Cache   Translate Page      

Winter is coming... No, really, in just a couple months. Also, Season 4 of Guild Ball is coming. In this preview, we get a little bit of both. Skatha is one of the captains of the Hunter's Guild. She's gotten some tweaks in preparation for the new season. Let's check out what the ice queen has been up to and how she's been changed.

From the post:

The Hunters have something of a troubled history. When they were first released back at the start of Season 2, the Hunters were overly complex and among the weaker Guilds in the game. Back then, we were aggressively exploring the limits of our own rules system and discovering what areas we could push and which we couldn’t. To this end, the original Hunters are an example to us of where we explored a number of new things that didn’t go so well. This is still overall a benefit to us as developers, since at the very least we can use those data points to help guide future projects.

We corrected a number of the issues with the original Hunters models with an errata document last year. The Hunters have since stabilised themselves as one of our fan favourite Guilds. However, in Season 3 the Hunters were still feeling a few of the smaller echoes of their troubled past. The ‘Winter’s Moon’ expansion to the Hunter’s Guild, featuring Skatha, Snow, Veteran Hearne, and Ulfr, were largely designed along similar lines to the original Hunters, particularly from a power level perspective. So when we released our erratum for the original Hunters, those belonging to the Winter’s Moon were unfortunately largely left behind.

In a similar vein to what we saw with the Farmers, when we’ve made changes to Hunter models, we’ve primarily made them less complex to use in one way or another as well as paying particular attention to the power level of certain models. However, their overall playstyle has not been changed. This is where our changes to Skatha come into play.

Source


          Skirmisher Publishing Releases Mutant Plant Monsters Supplement      Cache   Translate Page      

Who knew botany could be so dangerous? Skirmisher Publishing has released Mutant Plant Monsters, a new supplement for the Mutant Future setting. As the name implies, it includes all sorts of mutations you can throw on plants to... well... turn them into truly horrifying monsters.

From the website:

It is possible to use plant creatures much more effectively than usual by using some real plant biology in conjunction with new mutations, and this publication shows how to do that. 

“Mutant Plant Monsters” includes 80 plant mutations, discussions of plant strengths and weaknesses, and six sample monsters that demonstrate how to use the various elements that appear in this sourcebook. 

Material in this publication was written specifically for the Mutant Future retroclone of Gamma World and can be used as-is with it and any other sci-fi, fantasy, or post-apocalyptic games that use the "Basic" version of the OGL system, and easily adapted to other games using the same core rules. It was written by prolific game developer Derek Holland. 


          Quant Developer      Cache   Translate Page      
NY-New York, Quant Developer Grab the opportunity to achieve your full potential! Eclaro is looking for a Quant Developer for our client in New York, NY. Eclaro’s client is one of the world's largest financial institutions, committed to providing the tools and services that bridge the gap between customers and their goals. If you’re up to the challenge, then take a chance at this rewarding opportunity! Positio
          20180912      Cache   Translate Page      
Oh hey it’s my first keynote without the streaming timeline 😤 Will have to see it in person but the Watch’s new super-rounded edges make it look sooo much better. Dear European customer: please enjoy your ECG-capable Watch with ECG capability disabled. 2017: Dear developers, please don’t hide the notch in your apps.2018: Default lock-screen wallpaper, used in all product shots, hides the notch.🤨 @GenePark:Me, every birthday in my Jony Ive voice: "Simply put, never before have I been as old as I am this year. Unprecedented. This is the oldest I have ever been." @BenedictEvans:The nightmare for operators is that your phone pops up each Monday morning telling you who has the cheapest data this week, and automatically switches the virtual SIM, and you use your actual PSTN phone number so little (thanks to messaging apps) that you don't care if it changes “Oh yeah no one needs 3D Touch anyway. And you don’t really need two cameras to do Portrait mode. What have you idiots been buying from us all this time?” This lineup is positively absurd. The only proper reason not to buy the Xr is that it doesn’t look as good with the bigger bezel. I suppose economies of scale are involved but it’s insane that it has the same CPU as Xs. @jacknicas:Last year's iPhone prices: $700, $800 and $1,000.This year's iPhone prices: $750, $1,000 and $1,100.#AppleEvent @BalestraPatrick:Very nice, the new iPhone lineup supports background NFC tag communication which can wake up your iOS app! [developer.apple.com]
          Everything Apple Announced at Today's 'Gather Round' Event in 6 Minutes      Cache   Translate Page      
Apple today held its annual iPhone-centric event, and this year's keynote saw the debut of impressive new iPhone and Apple Watch models.

It took Apple two hours to introduce the iPhone XS, iPhone XS Max, iPhone XR, and Apple Watch Series 4 models, but we've recapped the entire event in just six minutes for our readers who want a no-frills overview of all the announcements.

Subscribe to the MacRumors YouTube channel for more videos.

The $999 iPhone XS and and $1,099 XS Max, Apple's two OLED devices in 5.8 and 6.5-inch sizes, were the star of the event, but Apple also introduced the 6.1-inch $749 iPhone XR and impressive new Apple Watch Series 4 models with larger displays, tweaked designs, and an ECG function for better than ever health monitoring.

We've rounded up all of our coverage of today's event in the post below, so make sure to check out everything so you don't miss any of the updates.

iPhone XS, XS Max and XR

Apple Watch Series 4

Software

Other Announcements

The iPhone XS, iPhone XS Max, and Apple Watch Series 4 will be available for pre-order on Friday, September 14, at 12:01 a.m. Pacific Time ahead of a September 21 launch.

Apple's new iPhone XR will be available for pre-order on October 19 ahead of an October 26 launch.

Buyer's Guide: Apple Watch (Caution)

Discuss this article in our forums


          Apple Seeds iOS 12 Golden Master to Developers and Public Beta Testers Ahead of September 17 Launch Date      Cache   Translate Page      
Apple today seeded the golden master (GM) version of iOS 12 to developers. The golden master represents the final version of iOS 12 that will be released to the public, and it comes after a beta testing period that saw Apple release 12 betas over the course of the beta testing period.

Registered developers can download the iOS 11 golden master from the Apple Developer Center or over-the-air once the proper configuration profile has been installed, while public beta testers can download the update over-the-air.

Subscribe to the MacRumors YouTube channel for more videos.

iOS 12 is a significant update for the operating system designed for the iPhone, iPad, and iPod touch. It introduces multiple new features, with with Apple revamping the operating system from top to bottom to make iPhones and iPads, especially the older models, faster and more responsive.

On the iPhone X, there are new Animoji characters (Ghost, Koala, Tiger, and T-Rex) along with "Memoji," which are customizable, personalized, humanoid Animoji that can be used both in Messages and in FaceTime, plus there are fun new camera effects in both of those apps.


Apple originally planned to introduce Group FaceTime support in iOS 12, but the feature was removed in iOS 12 beta 7 and will not be reintroduced until later this fall in a future iOS 12 update.

Siri is smarter than ever in iOS 12 with a new Shortcuts feature designed to let you create multi-step customized automations using first and third-party apps that can be activated with Siri voice commands. Shortcuts can be created through the Shortcuts app, which will be released alongside iOS 12, and Siri will offer up Shortcuts suggestions.


Apple built comprehensive time management and monitoring tools into iOS 12 with Screen Time, allowing you to keep track of how much time you're spending in apps on your iPhone and iPad. App limits can help you cut back on iOS device usage, and robust parental controls are included for families.


Updated Do Not Disturb options make activating Do Not Disturb more intuitive and simple, and a new Do Not Disturb at Bedtime feature cuts down on nighttime distractions and sleep interruptions by hiding notifications at night.


Grouped Notifications make incoming notifications easier to view and manage, while a new Instant Tuning feature lets you tweak your notification settings right on the Lock screen on a notification-by-notification basis to cut down on the number of notifications you receive.


Apple News has a new Browse feature, the Stocks app has been redesigned and brought to the iPad, iBooks has been overhauled with a new look and a new name - Apple Books - and Voice Memos has been revamped with iCloud support and an iPad app.

ARKit 2.0 introduces new capabilities like shared experiences that let two people see the same AR environment on separate devices, and persistence, which allows AR experiences to be saved across multiple sessions. There's also a new Apple-built Measure app for measuring objects using AR functionality.

iOS 12 includes a revamped and rebuilt Maps app that uses a new Apple-designed Maps engine that displays foliage, pools, buildings, pedestrian pathways, and other map elements more accurately. The new Maps also includes significant improvements to traffic, real-time road conditions, construction, and more, plus it lets Apple push out changes and fixes more quickly.


The updated Maps app is available in the Northern California area during beta testing and at launch. Following iOS 12's public release, Apple plans to continue rolling out the new Maps app to additional U.S. locations.

iOS 12 will be released to the public on Monday, September 17, four days ahead of the official launch date of the new 2018 iPhones. For more details on all of the new features included in iOS 12, make sure to check out our iOS 12 roundup.

Related Roundup: iOS 12

Discuss this article in our forums


          Apple Seeds Eleventh Beta of macOS Mojave to Developers      Cache   Translate Page      
Apple today seeded the eleventh beta of an upcoming macOS Mojave update to developers for testing purposes, two weeks after releasing the tenth beta and more than two months after introducing the software at the Worldwide Developers Conference.

macOS Mojave introduces a new method of installing software updates, so after the initial beta has been installed using the appropriate profile from the Developer Center, additional betas can be downloaded through opening up System Preferences and choosing the "Software Update" option.

Subscribe to the MacRumors YouTube channel for more videos.

Apple's macOS Mojave update introduces a systemwide Dark Mode, with Mojave users able to choose between a light theme or the new dark theme, which changes the color of the dock, menu bar, apps, and other elements. Dark Mode is accompanied by Dynamic Desktops, aka wallpapers that subtly change throughout the day.

Stacks, a new desktop organization system, keeps all of your desktop files neat and organized, while Finder has been enhanced with a Gallery View, a Sidebar, a revamped Quick Look option and Quick Actions, so you can do more in the Finder window than ever before.

Screenshots can now be edited using Markup tools and a new management options that also allow for easy screen recording, while Continuity camera, a new feature, allows you to import photos and document scans directly from an iPhone or iPad to the Mac.


The Apple News, Stocks, Home, and Voice Memos apps have been ported from iOS to macOS as part of a multiyear project Apple is working on to make it easier to bring iOS apps to Macs, and Apple has introduced several new privacy protections to keep your data safer than ever.

Apple is also making it harder for websites to track you with a range of new Safari tools, and it's also easier to make and store secure, hard-to-guess passwords for each and every website.

Apple has added an entirely revamped Mac App Store to macOS Mojave that makes it easier to discover apps with a featured section and specific categories for games, creative apps, productivity apps, apps for developers, and more.


macOS Mojave was initially supposed to include a Group FaceTime feature that includes support for chatting with up to 32 people at one time, but it was removed in macOS Mojave beta 7 and the feature won't be available until later in the year.

macOS Mojave is available to developers and public beta testers to work out bugs and other issues ahead of an upcoming public release on September 24.

Related Roundup: macOS Mojave

Discuss this article in our forums


          Live Coverage of Apple's iPhone XS, iPhone XR, and Apple Watch Event      Cache   Translate Page      
Apple's "Gather round" event at the Steve Jobs Theater at Apple Park begins at 10:00 a.m. Pacific Time, where it is widely expected to unveil three new iPhones (XS, XS Max, and XR) as well as new, slightly larger Apple Watch models.

Steve Jobs Theater via Apple CEO Tim Cook

We should also be hearing final details and the official release date for iOS 12, and likely macOS Mojave, watchOS 5, and tvOS 12 as well. And, of course, there may be other announcements and surprises in the cards.

Apple itself leaked a number of details this morning by prematurely updating its store site maps, and we have a summary of what's been revealed right here.

Apple is providing a live video stream on its website, via the Apple Events app on Apple TV, and on Twitter. We've shared instructions on how to watch along with a list of when the keynote starts in time zones around the world.

In addition to Apple's video stream, we will be updating this article with live blog coverage—no need to refresh—and issuing Twitter updates through our @MacRumorsLive account as the keynote unfolds.

Highlights from the event and separate news stories regarding today's announcements will go out through our @MacRumors account.

Sign up for our newsletter to keep up with Apple news and rumors.



Apple's online store is currently down in advance of the event. It should be accessible again shortly after the keynote.

Live blog in chronological order is after the jump.

8:26 am: Members of the press are checking in and milling around waiting to be admitted to the theater. As usual, Apple is providing light breakfast options.










8:31 am: Apple staff members currently blocking access to the actual theater.

9:15 am: The crowd is continuing to gather. Apple should be opening up the theater shortly.

9:22 am: Apple has opened the stairs, and members of the press are now heading down to the theater.




9:56 am: Five minutes to showtime!

10:01 am: Event is getting started with a video showing people heading down to the theater.

10:03 am: Mission: Impossible themed video showing someone rushing a last-minute item from Apple Park to the theater. Kevin Lynch beams himself directly to the theater using his watch.

10:04 am: Apple employee's badge denied access to backstage at the theater, but Kevin Lynch materializes to let her in. Tim Cook opens the briefcase and takes out his presentation clicker.


10:06 am: Cook giving an intro. We've reinvented several product categories, retail, etc. Showing Apple Piazza Liberty in Milan. Over 500 million visitors per year at Apple stores. We love that so many customers have the chance to experience our products there. We aim to put the customer at the center of everything we do.


10:07 am: We're about to ship our 2 billionth iOS device. iOS has changed the way we live, learn, work. It's changed entertainment, how we shop, how we stay in touch with each other. It's only fitting that today we're going to tell you about two of our most personal products. The ones that go with you everywhere.

10:07 am: Starting with Apple Watch.




10:09 am: This category didn't even exist a few years ago. Apple Watch is now the #1 watch, period. It's redefined what a watch can do for you. It's become indispensable for millions of people around the world. Jeff Williams on stage.

10:10 am: Apple Watch is becoming indispensable in three areas: communication, fitness, and health. Talking about heart rate monitoring..."an intelligent guardian for your health."

10:10 am: We're taking Apple Watch to the next level in all of these areas.

10:11 am: Intro video for next generation of Apple Watch.




10:12 am: Apple Watch Series 4. Everything about it has been redesigned and reengineered. It's just beautiful.




10:13 am: Stunning new display pushed right to the corners. Screens are significantly larger...over 30% larger. Minimal size increase, but it's thinner, so volume is actually less.




10:14 am: Brand-new watch face with up to 8 complications. Customize with the things you care about. Add loved ones and tap their faces to connect. Track time zones. Create the ultimate health and fitness watch. Modular face also redesigned with more detail from stock and third-party apps.


10:14 am: Breathe app is now available as a watch face. Raise your wrist, and it will guide you through a breathing sessions. Three breathe faces available.


10:15 am: New fire, water, and vapor faces offer dynamic visuals behind the watch hands.



10:16 am: Digital crown reengineered with haptic feedback. Speaker is 50% louder, which is great for phone calls, Walkie-Talkie, and Siri. Back is made entirely of black ceramic and sapphire crystal. Radio waves can now pass through front and back for improved cellular reception.




10:17 am: Series 4 is just as impressive on the inside. S4 package with 64-bit dual-core processor up to 2x faster.

10:18 am: Accelerometer and gyroscope have 2x the dynamic range with 8x faster sampling and up to 32 g-forces.







10:19 am: Apple Watch Series 4 can automatically detect falls. We did studies with thousands of people and captured data on real-world falls. There are repeatable motions involved to falls, trips, and slips, and the watch can detect them. It can then alert you and offer an Emergency SOS call. Will start call automatically if you're immobile for a minute after the fall.


10:21 am: Optical heart sensor has been integral since the beginning. Count calories, measure heart rate, and high heart rate notifications. Announcing three new heart features. First, low heart rate notification. Low heart rate can be a sign of something serious if not enough blood being pumped.


10:21 am: Second, Apple Watch can screen heart rhythm in the background and can notify you if it detects atrial fibrillation.


10:22 am: Third feature is with a new electrocardiogram (ECG) sensor in the back of the watch. First over-the-counter ECG product offered directly to consumers.





10:23 am: Can take an ECG anytime, anywhere. Open the app, and put your finger on the digital crown. Takes 30 seconds and gives you a heart rhythm classifications...sinus rhythm, atrial fibrillation. Results all stored and can be shared as a PDF with your doctor.

10:25 am: Ivor Benjamin, president of the American Heart Association, on stage. Applauds Apple's commitment to health. People often report symptoms that are absent during a doctor's visit. On-demand ECG is game-changing, especially for atrial fibrillation, which can increase risk of stroke, heart failure, and other complications.




10:27 am: Jeff Williams back on stage. It's great to have the support of the AHA, and we've also received clearance from the FDA. This is the first of its kind. Also, the irregular heart rhythm feature has received FDA clearance. Both features will be available in the U.S. later this year.


10:27 am: It's amazing to think the watch you wear everyday can now take an ECG.

10:28 am: Your personal data remains protected. You should decide who gets to see it. All data is encrypted on device and in the cloud.






10:29 am: Recapping features of the Apple Watch Series 4. You're probably wondering about battery life. Same 18-hour battery life customers have become used to. Increased outdoor workout battery life to six hours.

10:29 am: Showing another Apple Watch video. Jony Ive discussing the redesign and reengineering.


10:31 am: We've developed and refined the form, also making it thinner. New display is seamlessly integrated. The interface has been redesigned for the new display...more information with richer detail. Navigating with digital crown has been entirely reengineered with haptic feedback. New Apple-designed electrical sensor for ECG...a momentous achievement for a wearable device.


10:32 am: Accelerometer, gyroscope, and altimeter give you the ability to track more. Cellular capabilities give you more freedom. Series 4 is a device so powerful, personal, liberating...it can change the way you live each day.






10:33 am: Jeff Williams back on stage. Series 4 available in silver. gold, and space gray aluminum. Stainless steel is even more beautiful...silver, space gray, and gold. All band styles fit all generations of Apple Watch.


10:34 am: Nike+ has been optimized with full-screen interface. Nike Sport Loops have reflective yarn for better visibility. New Hermes models.

10:34 am: Series 4 starts at $399, cellular at $499. Series 3 sticking around starting at $279.










10:35 am: Order starting Friday, available September 21. Series 3 at new prices available right after the show. watchOS 5 available September 17. That's Apple Watch, and now back to Tim.

10:36 am: Showing Apple Watch Series 4 commercial set to the Hokey Pokey.


10:37 am: We love what Apple Watch is doing to get the world moving. Now let's talk about iPhone.


10:38 am: Recapping iPhone X technology and capabilities. So many technologies, all powered by most advanced mobile operating system. iPhone became number one smartphone in the world. Also most loved with 98% customer satisfaction.

10:38 am: Today we're going to take iPhone X to the next level. By far the most advanced smartphone we've ever created. Showing intro video of new iPhone with gold finish.




10:39 am: This is iPhone Xs. Phil Schiller coming up to tell you about it.






10:40 am: It is made of surgical grade stainless steel. Gorgeous new gold finish. Most beautiful iPhone we've ever made. Most durable glass ever in a smartphone. Three finishes: gold, silver, space gray. IP68 protects against water up to 2 meters up to 30 minutes.

10:41 am: Tested in many different liquids, even beer. Some of the most fun, intense testing we get to do.


10:41 am: 5.8" Super Retina OLED display. Plus-size display in a smaller design. So many customers love that. And it looks incredible.








10:43 am: 60% greater dynamic range in display. Not just one, but two sizes available. New 6.5" model. 2688x1242. Same size phone as current Plus size, but bigger display. What's bigger than plus size? iPhone Xs Max.




10:44 am: HDR displays, 120 Hz touch sensing, 3D Touch, tap to wake, True Tone, Wide color.




10:44 am: Stereo sound better than any iPhone to date. Wider field...great for movies, games, and music.




10:45 am: Face ID is a huge step forward. So much technology in that little space. Designed with multiple neural networks so it's secure and seamless. On iPhone Xs has faster algorithms and faster Secure Enclave. Most secure facial authentication ever in a smartphone.


10:46 am: Powering Face ID is our A-series chip. What the team has done is truly breakthrough. A12 Bionic. Industry's first 7nm chip.




10:48 am: Packed with 6.9 billion transistors. 6-core CPU, 4-core GPU, neural engine. CPU has 2 high performance and 4 high efficiency cores. GPU is up to 50% faster. Real blow away thing is the neural engine. 8-core dedicated machine learning engine with smart compute to determined where to run a task.


10:48 am: A11 could process 600 billion operations per second. A12 can process 5 trillion.


10:49 am: Next-generation image signal processor, HEVC encoder/decoder, faster memory controller for up to 512 GB of storage.


10:49 am: A12 Bionic without question the smartest and most powerful in a smartphone. Enables so many great experiences that weren't possible before.


10:52 am: Apps launch up to 30% faster on A12 Bionic. Apps and processes that rely on machine learning...we've used it for years, but what's remarkable this year is it unlocks the power of real-time machine learning. Portrait mode, Animojis, immersive AR, and new Clips app coming this fall will all benefit.

10:53 am: Siri Shortcuts will let you get more done. Demoing "keynote day" shortcut. Launches Home app scene, orders coffee, starts Apple Music playlists, gets directions.






10:54 am: Opening up neural engine to Core ML, which gets up to 9x faster on 1/10th the energy. Frees up GPU for other features like AR, which is another area we're focusing on this year.

10:55 am: ARKit 2, new Measure app, AR Quick Look brings items into the real-world with just a tap.

10:55 am: A12 Bionic enables next-generation apps. We've got three developers to briefly show you. Todd Howard from Bethesda Game Studios on stage for a demo.


10:56 am: I wrote my first game when I was 12 on an Apple II. It's amazing how far we've come. We can now start reaching for games that are more than simple diversions. Let's take a look at new Elder Scrolls game, Blades.


10:57 am: We can pull out all of the detail you'd usually miss from the light and the dark. Lighting can bounce off of the wall. Even reflect off of your sword. We can use stereo widening on the new iPhone to hear the forest around you without headphones.


10:58 am: What used to be limited to your living room is now available on your phone. We can pull off some incredible environments that just weren't possible before.

10:59 am: It's not just immersive, it transports you. Blades coming to iOS this fall. Available for pre-order now.


11:00 am: David Lee from Nex Team and NBA hall of famer Steve Nash on stage to talk about Homecourt.




11:01 am: New tool to revolutionize basketball training. Recognizes hoop and court automatically, then tracks makes and misses, drawn as an overlay on the court. Real-time player detection. Shot science...measures shooting form and more to analyze performance.

11:02 am: Gives players immediate feedback on form, release time, and more. As players train with real-time feedback, they gain muscle memory. Great for beginners and pros. Shipping as an update this fall.




11:03 am: Atli Mar from Directive Games on stage to introduce AR-generated arcade cabinet. And with multi-player AR, everybody can experience it together. Showing Galaga AR.


11:06 am: Now back to Phil. Talking about camera. You all know it's the most popular smartphone camera, and for great reason.

11:06 am: Showing a portrait mode photo that appeared on the cover of Time magazine.


11:09 am: You are going to be blown away with iPhone Xs dual camera system. 12MP wide-angle with all-new sensor, 12MP telephoto. Improved True Tone flash. On the front, TrueDepth 7MP camera has new sensor as well. Image signal processor works with CPU to set exposure, white balance, focus, noise reduction, etc. A12 Bionic does this better than before, but also connects it to the neural engine to do better face detection, facial landmarking with instant red-eye reduction, and better segmentation for portrait mode. 1 trillion operations per photo.






11:10 am: New Smart HDR feature. Takes HDR so much further. If subject is moving, A12 shoots a 4-frame buffer and interframes to bring out details. Plus a long exposure for better shadow detail. Automatically selects best parts of each and combines them for beautiful photos.












11:14 am: Showing examples of Smart HDR photos. Now showing breakthrough bokeh capabilities. New depth slider in portrait mode to adjust depth of field after taking the picture.




11:16 am: iPhone Xs has four microphones to record stereo sound. Showing demo video of cyclists.








11:17 am: Battery life: iPhone Xs has up to 30 minutes more than iPhone X. iPhone Xs Max up to 90 minutes longer than iPhone X.




11:19 am: Dual SIM capability...keep two phone numbers, two different plans, or travel with local plan. Dual SIM Dual Standby (DSDS): both lines are active, and whichever gets the call goes active. Uses eSIM, and software helps you easily keep track od which line is which. Needs carrier support, and we're working with many to roll it out this fall. Physical SIM and eSIM worldwide on Xs and Xs Max, except in China, where it's dual physical SIMs.


11:21 am: Recapping iPhone Xs features. Lisa Jackson on stage to talk environmental friendliness.

11:23 am: Apple now runs on 100% renewable energy. That includes Apple Park with solar panels and directed biogas. But also our data centers. People said it couldn't be done, but we did it. Now we're on to our next challenge...ending mining of materials. So let's take a look at material innovations in iPhone Xs. Now using recycled tin in the logic board. This prevents mining of over 10,000 tons of tin ore per year. Reducing use of traditional plastics and transitioning to recycled and bio-based.

11:25 am: Focus on durability. Everything back to the iPhone 5s runs iOS 12, and keeping devices longer is the best thing for the planet. And when you're done, we have Apple GiveBack. Bring it in or mail it in, and we'll assess it. Either give you value if it can be reused, or recycle it.

11:26 am: Phil back on stage. So iPhone Xs, iPhone Xs Max. They are stunning, best phones we've ever made. We want to reach as many customers as we can, so that's why we're excited to show you one more iPhone. Video time!






11:27 am: So excited to introduce you to the iPhone Xr. 7000 series aerospace grade aluminum. Incredible new finishes...white, black, blue, coral, yellow.






11:29 am: Even a Product Red one. All of these have IP67 protection against dust and liquids. Display is what strikes you. LCD, but for the first time goes edge to edge. Most advanced LCD ever in a smartphone...calling it Liquid Retina. 6.1" on the diagonal 1792x828, 326 ppi.






11:30 am: Tap to wake, 120 Hz touch sensitivity, True Tone, wide color, no home button. Same gestures as iPhone X. No 3D Touch, but new feature called Haptic touch. Face ID.






11:32 am: Faster Face ID algorithms, faster Secure Enclave. A12 Bionic chip with real-time machine learning. 12MP single camera. Same exact wide-angle camera as in Xs and Xs Max.




11:32 am: Can do portrait mode photos, showing examples. Same bokeh as Xs and Xs Max, and depth control.


11:34 am: TrueDepth camera with portrait selfies. Battery life 90 minutes longer than iPhone 8 Plus.




11:35 am: Huge day for iPhone...three new models. Showing a product video with Jony Ive.


11:38 am: iPhone Xs is completely uncompromising. iPhone Xs Max has the largest display ever on an iPhone. Custom developed stainless steel in three finishes including new gold. Better water and dust resistance, most durable glass ever on a smartphone. Face ID reinvents secure unlock, login, and payments. A12 Bionic is the smartest and most powerful chip ever in a smartphone. More advanced dual camera system and neural engine takes us to a new era of photography. Smart HDR gives us images like never before.


11:39 am: iPhone Xr integrates the same breakthrough technologies. Entirely new range of finishes. All-screen Liquid Retina display is most advanced and color accurate display in smartphone. Machine learning can recognize subjects, depth of field is adjustable, and more.

11:40 am: iPhone Xr in 64/128/256 GB options starting at $749. Pre-order October 19, shipping October 26.










11:41 am: iPhone Xs in 64/256/512 GB, starts at $999. iPhone Xs Max in same configurations starting at $1099. Pre-order September 14, ships September 21. Second wave comes just a week later on September 28. Fastest geographic rollout we've ever had.


11:41 am: iPhone 7 and 7 Plus from $449, iPhone 8 and 8 Plus from $599.






11:42 am: iOS 12 launches Monday.


11:43 am: Tim Cook back on stage with brief HomePod update. Talking about stereo pairing and AirPlay 2. Identify songs by lyrics, multiple timers, make and receive calls, find your iPhone. Apple TV to get Dolby Atmos. Updates coming Monday.


11:44 am: macOS Mojave coming September 24.

11:44 am: Tim is now recapping today's announcements.


11:46 am: Tim thanking everyone for watching, and everyone at Apple. Event is over.


Discuss this article in our forums


          Embedded Linux Developer - Au-Zone Technologies - Calgary, AB      Cache   Translate Page      
*About Us* *Au-Zone Technologies* is a leading provider of development tools, engineering design services, and enabling IP used for the design of intelligent...
From Indeed - Thu, 12 Jul 2018 17:44:50 GMT - View all Calgary, AB jobs
          Comment on Facebook Error: Invalid Scopes: publish_actions. by Raviteja      Cache   Translate Page      
I was also faced the same error, but i managed to sort it out by making the facebook app status to "In development" from "Live" in "www.developers.facebook.com/apps". Now, i am able to post content on facebook.
          WMS Developer - Securepeoplebase Inc - San Francisco Bay Area, CA      Cache   Translate Page      
Experience with JDA integration. Development experience with JDA (Red Prairie). Provide JDA WMS support including analysis, development, testing, tracking and...
From Indeed - Tue, 28 Aug 2018 18:08:31 GMT - View all San Francisco Bay Area, CA jobs
          JDA (Red Prairie) WMS Developer - Securepeoplebase Inc - San Francisco Bay Area, CA      Cache   Translate Page      
Experience with JDA integration. Development experience with JDA (Red Prairie). Provide JDA WMS support including analysis, development, testing, tracking and...
From Indeed - Mon, 27 Aug 2018 20:56:02 GMT - View all San Francisco Bay Area, CA jobs
          Junior Business Intelligence Developer - Vista Projects Limited - Calgary, AB      Cache   Translate Page      
Vista offers all employees. An opportunity with Vista is not just a job; By submitting this application, you consent to our Privacy Policy, and you consent to...
From Vista Projects Limited - Wed, 05 Sep 2018 02:31:30 GMT - View all Calgary, AB jobs
          Supply Chain Integration Developer - Western Digital - Milpitas, CA      Cache   Translate Page      
Experience with integration of JDA applications (Demand Manager/Planner, Supply Chain Planner, Factory Planner, etc.). We deliver the possibilities of data....
From Western Digital - Tue, 03 Jul 2018 21:18:38 GMT - View all Milpitas, CA jobs
          Technical Coop - Java Developer - Lockheed Martin Corporation - Montréal, QC      Cache   Translate Page      
Visual Interactive Simulation Training Application (VISTA™) applications are interactive simulations of complex electrical and mechanical systems that are...
From Lockheed Martin Corporation - Wed, 12 Sep 2018 19:39:32 GMT - View all Montréal, QC jobs
          J & J acquires 3D-printed spinal implant maker EIT      Cache   Translate Page      
Johnson & Johnson (NYSE:JNJ) said today it acquired spinal fusion implant developer Emerging Implant Technologies for an undisclosed amount. Norderstedt, Germany-based EIT produces 3D-printed titanium interbody implants specifically for spinal fusion surgery. The company’s devices use proprietary cellular titanium which J&J said consists of an open and interconnected porous structure intended to promote bone growth into the implant. Johnson & Johnson said that the acquisition will enhance its subsidiary DePuy Synthes‘ interbody implant portfolio, and that EIT’s technology complements its existing spinal interbody implant segment. “Our goal is to offer a complete portfolio of interbody solutions that provides surgeons with even more options for the tre...
          Business Developer to grow our operations in Hong Kong by Uprise Credit      Cache   Translate Page      
As Business Development Manager, you will be generating new business opportunities, leads and develop lending opportunities with SMEs here in Hong Kong. You will also be responsible for maintaining, growing and leveraging key relationships with both partners and business referral sources. We are looking for someone passionate about providing an innovative financing solution for new economy entrepreneurs in Asia that are underserved by banks. Here at Uprise, you will collaborate directly and frequently with the internal team and third party strategic partners to co-create solutions for merchant customers. The ultimate customers are SMEs especially online merchants who use certain types of online payment gateways.
          Software Engineer that will be core member to a Fintech SME Lender by Uprise Credit      Cache   Translate Page      
Software Engineers will be the core of our online financing solution. We’re looking for someone passionate about building new applications from the ground up to develop an innovative financing solution for new economy entrepreneurs in Asia that are underserved by banks. Here at Uprise, you’ll work closely with your peers in a flat structure to share responsibilities. The technology team should move fast, celebrate great ideas, inspire testing and learning, and stretch for new solutions. This pivotal role is responsible for building the online SME lending platform from top to bottom, collaborating directly and frequently with the internal team, outsourced developers, and third party strategic partners to co-create solutions for merchant customers. The ultimate users of the product are currently targeted at online merchants who use certain types of online payment gateways. We expect to expand the user-base to offline merchants as well through partnership with other of e-payment solution providers. Requirements - 3+ years solid software development experience - Have expert knowledge in one or more languages such as Javascript, Python, Ruby, Java, C#, Golang - Knowledge in one or more popular framework such as Rails, React, Play, NodeJS. - Familiarity with databases, e.g. MySQL / MongoDB / PostgreSQL / Redis.Knowledge and experience in building online / offline payment gateway or financing solutions - Demonstrated interest and passionate in bridging the financing gap faced by SMEs and entrepreneurs in Asia - Proficient in English and Chinese (either Mandarin or Cantonese) - Must be willing to occasionally travel to Hong Kong, Singapore, Taiwan and other Southeast Asian countries.
          .Net Developer      Cache   Translate Page      
MD-Fort Meade, Our client is currently seeking a .Net Developer in Hanover, Maryland. This job will have the following responsibilities: Responsible for participating in all phases of the design and development life cycle of analytic applications and reporting tools, utilizing various BI technology platforms. Maintains active relationships with customers to determine business requirements. Anticipates opportunit
          Exclusive - U.K. developer seeks peaking portfolio debt      Cache   Translate Page      
A thermal power developer has launched a non-recourse debt-raising process for a portfolio of 12 natural gas-fired power projects in England.
          Java Developer - Eagle Creek Software Services - Gillette, WY      Cache   Translate Page      
Bachelors degree in Computer Science, Information Systems, Software Engineering, Business Management, Finance, Marketing, Mathematics....
From Eagle Creek Software Services - Mon, 27 Aug 2018 06:45:12 GMT - View all Gillette, WY jobs
          API Developer      Cache   Translate Page      
CA-Walnut Creek, RESPONSIBILITIES: A Kforce client in Walnut Creek, California (CA) is looking for an API Developer to join their team! This is a contract to hire opportunity. All candidates must be able to convert without visa sponsorship needed. No remote work, needs to be in office 5 days a week. REQUIREMENTS: 3-5 years of experience Need an API developer Needs SOAP/REST based services, scripting in python or J
          Seeking Java Developers - F1 OPT Welcome to Apply (Pivotal Cloud Training/Certification in STL) - Perficient - National, WV      Cache   Translate Page      
Passionate coder with 4+ years of application development experience. At Perficient you’ll deliver mission-critical technology and business solutions to Fortune...
From Perficient - Fri, 31 Aug 2018 20:47:42 GMT - View all National, WV jobs
          Sr. Java Developers - St. Louis, MO (Pivotal Cloud Training Offered) - Perficient - National, WV      Cache   Translate Page      
Passionate coder with more than 6 years of application development experience. At Perficient you’ll deliver mission-critical technology and business solutions...
From Perficient - Mon, 27 Aug 2018 20:47:37 GMT - View all National, WV jobs
          Lead Java Developers willing to travel up to 100% - Perficient - National, WV      Cache   Translate Page      
Passionate coder with more than 10 years of Java development experience (including 3 yrs experience leading projects)....
From Perficient - Mon, 27 Aug 2018 20:47:31 GMT - View all National, WV jobs
          UI developer - Perficient - National, WV      Cache   Translate Page      
Passionate coders with 8-10 years of application development experience. At Perficient you’ll deliver mission-critical technology and business solutions to...
From Perficient - Thu, 09 Aug 2018 14:47:50 GMT - View all National, WV jobs
          DevCo Internship Programme at Sterling Bank      Cache   Translate Page      
Sterling Bank Plc "Your one-customer bank" is a full service national commercial bank in Nigeria. In over 50 years of operations, Sterling Bank (formerly NAL Bank) has evolved from the nation's pre-eminent investment banking institution to a fully-fledged commercial bank; and completed a merger with 4 other banks - Indo-Nigeria Merchant Bank, Magnum Trust Bank, NBM Bank and Trust Bank of Africa - as part of the 2006 consolidation of the Nigerian banking industry.Detailed Description The Sterling Bank DevCo 6-month Internship programme is open to Mobile App Developers, Backend (Application) Developers/Programmers, Front End Developers and User Experience Designers who possess technical & creative skills which will transform our business. We offer an environment that equips you with the required experience and helps hone your skills. This internship is open but not restricted to individuals waiting to be enrolled into the NYSC program or have completed the NYSC program.
          Content Developer (Intern) at STARTUPROOM      Cache   Translate Page      
Startup Room started as a university project at Smith's School of Business at Queen's, but quickly became both a creative outlet and a platform to provide crucial information for young professionals and students who's vision is to found a start-up. Currently, the organization operates as a blog.Details: Excellent creative Content Creation skill. General Digital Marketing Skill Must live in Ikeja or Maryland environ.
          Software Developer at Appzone Limited      Cache   Translate Page      
AppZone is Africa's leading provider of Integrated Banking and Payment software platforms and incidentally creator of BankOne; the world's leading cloud infrastructure for Banking and Payment processing targeted at Small and Medium financial Institutions.Details:Expectations Develop, Implement, and Support software products and solutions that integrate with in-house and third party systems Provide support to business analysts in the conversion of individual client business requirements into software functionality Provide assistance to relevant functional teams by identifying requirements and improvements to architectural design of new/existing applications Provide training to client end users with relevant tools and technical documentation. Lead a technical work stream as a component of a larger project Provide subject-matter expertise, customer advocacy, and analysis through all phases of the development lifecycle Communicate effectively well with internal/external parties. Required SkillsThe skills and competencies required to accomplish your career move are: Bachelor's degree or corresponding combination of education and work experience in software development. 3+ years of programming experience with Web, Windows .NET framework and C# 3+ years experience WPF applications, ASP.NET, MVC, C#, .Net, Web API, JSON, REST, and SQL Server. Good communication skills. Excellent interpersonal & analytic skills. An aptitude for analytical problem-solving Ease and ability to learn fast and solve complex problems Proficiency in object-oriented design and development using software development best practices. Experience with Microsoft SQL database design, T-SQL and stored procedure programming. Experience working on Agile teams using Agile methodologies such as SCRUM Ability to provide technical input for designs, functional specifications, and other project requirements Ability to design, and build, high quality unit tests.
          Software Tester at Hamilton Lloyd and Associates      Cache   Translate Page      
Hamilton Lloyd and Associates - Our client is an Information Technology Consulting Company. Due to internal expansion, they have decided to hire a qualified candidate to fill the position below:Job Description The Software Tester's role is responsible for the testing and quality assurance for software development and deployment. You'll conduct automated and manual tests to ensure the software created by developers is fit for purpose. Software testing involves the analysis of software, and systems, to avert risk and prevent software issues. Job Responsibilities To test modifications to products to ensure they are fit for purpose, consistent, and compliant with published standards and guidelines. You will ensure modifications are fully regression testable and delivered on schedule. Translate functional requirements and specifications into documented test plans, cases and steps. Rigorously planning, writing and executing test scripts. Perform manual regression testing. Creation and maintenance of test data, tools and scripts. Execute test plans manually and conduct manual functional and exploratory testing. To understand the industry requirements of customer base and develop a thorough understanding of how those requirements are met. To complete testing in line with agreed time frames by following the documented business processes using the appropriate test management and automation tools. Identifying issues, risks and dependencies, Escalating and managing where appropriate. To provide product handovers to both technical and nonâ€ÃƒÂƒÃ‚ƒÃ‚¯Ã‚¿Â½technical audiences. Continually update skills by learning new technologies relevant to the role. Evaluate testing tools, monitoring applications and software systems stress testing, performance testing, functional testing, scalability testing Promote and advocate best practices within the team and throughout the business. Technical Skills Required: Practical and systematic approach to testing. Experience working with financial software or from working in the financial sector. Exposure to Microsoft Test Manager. Proven experience in a true agile delivery environment (Scrum, XP, TDD, BDD). • Basic coding/scripting skills (VB.net/C#). Ability to write simple SQL scripts to create and manipulate data. Experience with test automation frameworks Ability to document and troubleshoot errors Working knowledge of test management software (e.g. qTest, Zephyr) and SQL Soft Skills Required: Excellent communication and interpersonal skills. Able to work well individually as well as in a highly collaborative team. Demonstrated interest in learning new technologies. Familiarity with Agile methodologies (especially Scrum) . Enterprise Software Development Lifecycle. Direct work in applications that serve a very large number of users along with handling highly secure information. Person's Specification Education: Minimum of a Bachelor's Degree in any of the Physical Sciences with a minimum of Second Class Lower Division (2.2). Master's Degree would be an added advantage Experience: Minimum of 6 years' experience in software development. Experience in project management and QA methodology. At least 6 year's commercial experience testing client server (Window) and Web applications (ideally in a .net based environment). Special Requirements: May be required to travel occasionally; overtime and weekend work maybe required.
          Mobile/Web Developer at Hamilton Lloyd and Associates      Cache   Translate Page      
Hamilton Lloyd and Associates - Our client is an Information Technology Consulting Company. Due to internal expansion, they have decided to hire a qualified candidate to fill the position below:Job Summary The Mobile/Web Developer's role is to design, code, test, and analyze software programs and applications. This includes researching, designing, documenting, and modifying software specifications throughout the production lifecycle. The software developer will also analyze and amend software errors in a timely and accurate fashion and provide status reports as required. Job Responsibilities Design and development of mission critical mobile and web applications Deliver across the entire app life cycle -concept, design, build, deploy, test, release to app stores Build prototypes at tech scoping stage of projects. Liaise with product development team to plan new features. Work with other developers and stakeholders to create and maintain a robust framework to support the mobile and web apps. Work with the front-end designers to build the interface with focus on usability features. Create compelling mobile device and/or browser specific user interfaces and experiences. Optimize performance for the mobile and web apps. Technical Skills Required. Proven development experience in desktop and mobile web development. Excellent knowledge in information architecture, human computer interaction and mobile usability design principles Excellent programming skills in frontend technologies and frameworks like HTML, JavaScript, CSS3, JQuery, PhoneGap/Cordova and frontend MVC frameworks. Expertise in full stack JavaScript frameworks include Angular, Vue etc. Multiple years of server-side programming experience in C# and .Net Experience in database technologies like MSSQL Server, Oracle, MongoDB etc. Experience in native and hybrid Android and iOS development frameworks (e.g. Ionic 2, Xamarin framework etc.) Familiarity with designing, creating and consuming RESTful and SOAP web services. Familiarity with version control systems e.g. GIT, SVN. Familiarity with build systems (e.g. Gradle, Maven), Continuous Integration tools (e.g. Jenkins, Artifactory, Nexus). Hands on experience with cloud technologies (including Azure, Oracle Cloud, IBM Bluemix, AWS etc.) Ability to switch among multiple projects, multiple languages, and multiple IDEs in short periods of time. Exposure to Java is a plus 2 Soft Skills Required: Excellent communication and interpersonal skills. Able to work well individually as well as in a highly collaborative team. Demonstrated interest in learning new technologies. Familiarity with Agile methodologies (especially Scrum). Enterprise Software Development Lifecycle. Direct work in applications that serve a very large number of users along with handling highly secure information. Person's Specification Education: Minimum of a Bachelor's Degree in any of the Physical Sciences with a minimum of Second Class Lower Division (2.2). Master's Degree would be an added advantage Experience: Minimum of 6 years' experience in software development. Special Requirements: May be required to travel occasionally; overtime and weekend work maybe required
          Marketing Manager (Female) at Mario Consulting      Cache   Translate Page      
Mario Consulting Limited - Our client is a Real Estate Development Company. As a result of its growth and expansion of scale of operation, requires competent experienced and self-driven individuals for the position of:Job Description Plan, develop and execute sales & marketing strategies; Oversee implementation of integrated marketing strategy including innovative campaigns and digital marketing; Plan, develop and oversee production of company marketing and communication materials; Lead company sales and marketing functions to achieve required sales targets; Conduct Market Research to develop an understanding of the competition, opportunities and customers; Maintain social media presence at product level and at a corporate level; Manage and maintain accurate information on company website updates in conjunction with the Website Developer/ Manager; Draft Press Releases; represent the company to media outlets; Establish and maintain appropriate budgets for sales and marketing campaigns and initiatives; Procure and manage external sales agencies as required; Review and provide input into sales documentation and agreements; Analyze and evaluate the effectiveness of sales methods, costs, and results; Prepare sales reports (enquiry rate, type etc.) for Senior Management periodically, or as may be required; Seek to minimize marketing expenses, develop annual forecasts. Qualifications The Marketing Manager who must be a FEMALE will be reporting to the Executive Director, the ideal candidate must have a good B.Sc or HND in Estate Management, Marketing or any other Social Sciences from a recognized institution with a recognized professional qualifications in Estate Management, Marketing and minimum working experience of 3-5 years in similar/related position. Possession of MBA will be added advantage. Skills and Abilities: Strategic planning and execution of real estate investment sales and marketing Knowledge of digital marketing, social media strategy and implementation Proficiency with Microsoft Office suite, Adobe, Adobe Photoshop etc. Management of internal and external resources to produce quality materials within tight timeframes. Excellent written and verbal communication in English Language Ability to work well in a team environment Ability to prioritize multiple projects and tasks Good interpersonal skills Proven attention to detail Remuneration Remuneration attached to this position is generous and in line with industry standards.
          Script Writer / Content Developer (Contract) at Medcourt Support Services Limited (MSS)      Cache   Translate Page      
Medcourt Support Services Limited (MSS) - We are a wholly indigenous Health Solutions company based in Lagos, Nigeria. The company was established to bring a paradigm shift to the medical support services industry in Nigeria through the adoption of innovative technologies, exceptional customer service and an onerous dedication to healthcare improvement.Job Description To work on a series of Projects developing contents, write ups etc. Requirement Interested candidates should possess relevant qualifications.
          PRACTICAL SQL 2017 Online Training (Delhi)      Cache   Translate Page      
SQL School is one of the best training institutes for Microsoft SQL Server Developer Training, SQL DBA Training, MSBI Training, Power BI Training, Azure Training, Data Science Training, Python Training, Hadoop Training, Tableau Training, Machine Learning ...
          Trend Micro Research ajuda fabricantes de dispositivos IoT a enfrentar desafios dia zero      Cache   Translate Page      
Trend Micro Research ajuda fabricantes de dispositivos IoT a enfrentar desafios dia zero

A Trend Micro Incorporated, líder global em soluções de cibersegurança, reafirma o seu compromisso com a segurança da Internet das Coisas (IoT) através de um novo programa desenhado para aproveitar a liderança mundial da sua divisão Zero Day Initiative (ZDI) com o objetivo de minimizar o impacto das vulnerabilidades associadas ao desenvolvimento de produtos inteligentes.

A Trend Micro convida os fabricantes a que enviem os seus dispositivos para receber ajuda no processo de avaliação de possíveis vulnerabilidades antes de lançá-los ao mercado, tarefa que será executada pelas principais equipas de investigação da empresa.

Segundo a Gartner, "O uso do IoT Industrial (IIoT) em instalações e o rápido crescimento do número de dispositivos conectados significa que com maior frequência os eventos no mundo digital podem ter um efeito no mundo físico. A Gartner prevê que em 2021 haverá aproximadamente 25.000 milhões de dispositivos IoT conectados, valores que continuarão a aumentar num futuro próximo. Mesmo que apenas uma percentagem muito limitada desses dispositivos sejam IIoT que controlem ou supervisionem processos industriais, como o fabrico, a mera quantidade e omnipresença de IIoT provavelmente levará a um aumento dos incidentes de segurança."

Os dispositivos inseguros estão a alimentar inadvertidamente uma série de ameaças emergentes, incluindo roubo de dados corporativos e intrusões de rede, interrupções relacionadas com ransomware, sabotagem de equipamentos industriais e ataques DDoS causados por botnets e mineração de cripto moedas.

"Como demonstrado pelo sucesso do Mirai, Brickerbot e outros ataques, os cibercriminosos e os agentes dos estados nação prestam cada vez mais atenção à exploração das vulnerabilidades dos dispositivos IoT", explica Eva Chen, CEO da Trend Micro. "O problema aqui é que corrigir e reparar falhas após a descoberta é altamente problemático. É possível que muitos fabricantes não disponham de um mecanismo de atualização de software e, mesmo que os patches possam ser disponibilizados, os clientes podem ter dificuldade em aplicá-los, especialmente em grandes empresas com milhares de endpoints IoT executados em ambientes de missão crítica."

A ZDI da Trend Micro é um programa de investigação de vulnerabilidades que tem uma grande reputação no setor e ajudou as organizações a tornarem-se mais seguras nos últimos 13 anos. Até ao momento, gere o maior programa de recompensas para a identificação de vulnerabilidades para fornecedores independentes no mundo, com mais de 3.500 investigadores externos que complementam os esforços e o trabalho da equipa interna.

Só no primeiro semestre de 2018, a ZDI publicou 600 avisos, 33% mais em comparação com o mesmo período de 2017. As vulnerabilidades do SCADA e do IoT Industrial (IIoT) foram responsáveis por cerca de 30% dos comunicados até ao momento este ano, sendo o ICS-CERT o fornecedor número um de falhas nos sistemas SCADA / ICS para ZDI.

Graças ao nosso novo programa, os fabricantes de dispositivos têm acesso imediato a amplas e relevantes pesquisas sobre IoT, contam com ajuda para avaliar possíveis vulnerabilidades antes de lançar os seus dispositivos no mercado e implementam um processo de tratamento e gestão de vulnerabilidades que lhes permite seguir em frente", continua Eva Chen. "É possível que muitos fabricantes de IoT possam estar a lutar para ocupar posições-chave com profissionais de segurança qualificados na empresa, por isso faz sentido trabalhar com especialistas para que os seus produtos saiam da linha de fábrica o mais robustos e resilientes possível."

A Trend Micro Research e a ZDI são apenas um elemento de foco do ecossistema da Trend Micro para proteger a Internet das Coisas (IoT). Além da pesquisa contínua sobre ameaças emergentes em âmbitos como das alto-falantes conectados, sistemas robóticos, gestão do tráfego e carros conectados, a Trend Micro trabalha com empresas de telecomunicações, clientes corporativos, developers de sistemas informáticos integrados e outros parceiros chave.

A Trend Micro Deep Security oferece proteção completa no centro de dados de back-end, enquanto que as appliances de prevenção de intrusões Trend Micro Tipping Point e de deteção de lacunas Deep Discovery, melhoram a segurança na capa de rede. A Trend Micro Safe Lock aproveita o software de segurança de bloqueio para proteger aplicações específicas ou terminais com sistemas operativos (OS) herdados em ambientes de IIoT.

A Trend Micro está plenamente comprometida em estender o seu conhecimento e liderança para compreender e assegurar os riscos associados ao crescente mercado da segurança de IoT através do investimento em investigação e desenvolvimento.

 


          Mistweaver Updates Recap      Cache   Translate Page      
Mistweaver Updates Build 26871 (June 19) Vivify Direct healing is now 105% of spell power, down from 120%. Cleave healing is now 70% of spell power, down from 80%. Renewing Mist Now heals for 140% of spell power, down from 175%. Soothing Mist Now heals for 320% of spell power, down from 360%. Build 26903 (June 22) Leg Sweep is now learn