CfBlogs
 Data Grids  CF Overflow  Follow Us!  RSS

ColdFusion Posts Around the World.
assertTrue(
assertTrue("Test DSLs" == "Legacy")
James Ward
Over decades in programming I’ve had a few moments where I make big paradigm shifts, finding it very hard to go back. One of these moments was with Functional Programming and my latest is the move from Test Assertion DSLs to just using assertTrue with boolean-only tests. Let’s look ...
The Seven Artifacts of Developer Advocacy Projects
The Seven Artifacts of Developer Advocacy Projects
James Ward
Over the past 16 years, mostly as a Developer Advocate, I’ve developed a framework to help developers learn and get excited about something new.
The Modern Java Platform - 2021 Edition
The Modern Java Platform - 2021 Edition
James Ward
Many developers were burned by the overly complex world of Java back in the early 2000s. The Gang of Four patterns and middleware / J2EE / Java EE led ...
Running One-Off/Admin Jobs for Cloud Run Services
Running One-Off/Admin Jobs for Cloud Run Services
James Ward
Disclaimer: This is not officially supported by Google Cloud. Cloud Run hosts services that handle HTTP requests but sometimes you need a way to run one-off / admin jobs with the same settings and container image. At this time the managed Cloud Run service doesn’t provide a way to run those kinds o...
Container-based Serverless Scheduled Jobs on Google Compute Engine
Container-based Serverless Scheduled Jobs on Google Compute Engine
James Ward
Most of my compute workloads today are on Cloud Run, a serverless for containers platform. But some workloads like scheduled jobs don’t fit the service-oriented model of Cloud Run. There are many places I can run those workloads but I’d like to keep the serverless “pay for what you use” model and ...
GraalVM Native Image Tips & Tricks
GraalVM Native Image Tips & Tricks
James Ward
Elastic infrastructure that scales up & down based on demand is not just a “serverless” fad but an operational model which reduces cost and waste. Yet there is a little devil lurking under the covers… When an application / microservice needs to spin up based on demand there can be some lag as the ...
When you hear ‘Monad’, think ‘Chainable’
When you hear ‘Monad’, think ‘Chainable’
James Ward
There comes a point in every Functional Programmer’s life where they feel the curse of the Monad has lifted and they must now explain Monads to their friends who just don’t get it. What follows is probably wrong and confusing, cause there is no escaping the curse. But here goes… Suppose you have a s...
Thank You for 12 Years in Developer Evangelism
Thank You for 12 Years in Developer Evangelism
James Ward
Even though it was 12 years ago, I vividly remember sitting in a musty conference room with big-name analysts from Gartner. My palms were sweaty and I was almost too terrified to speak. Macromedia had brought me into this meeting to be the customer voice for their new programming platform, Flex. I w...
Connecting to the Salesforce REST APIs with Spring Boot and Java
Connecting to the Salesforce REST APIs with Spring Boot and Java
James Ward
Broadly speaking there are two types of integrations with Salesforce, either a system-to-system integration or a user interface integration. One of the primary ways to do these integrations is by using the Salesforce REST API. When using the Salesforce REST API you need to obtain an access token tha...
Quick & Easy ETL from Salesforce to MySQL with Workflow & Heroku
Quick & Easy ETL from Salesforce to MySQL with Workflow & Heroku
James Ward
While sometimes unfortunate it is often necessary to have data silos that share data. The Extract, Transform, and Load (ETL) pattern has been around for a long time to address this need and there are tons of solutions out there. If you just need a quick and easy way to copy new & updated records in ...
Add NPM Packages to Salesforce with a Few Clicks
Add NPM Packages to Salesforce with a Few Clicks
James Ward
I’ve built a little web-based tool called ForceNPM that makes it super easy to add NPM packages to Salesforce. Check it out: Give ForceNPM a try! The code is on GitHub so if you’d like to deploy this on your own Heroku app or other infrastructure, you can do that. Let me know how it goes!...
Scalable Continuous Delivery Pipelines
Scalable Continuous Delivery Pipelines
James Ward
Back when I first started building web apps we’d just “do it in production” by vi’ing Perl & PHP files on the server. This was fine because the risks and expectations were low. No big deal if I broke the app for a few hours. Good thing I made an app.php-bak copy! As software became more critical to ...
Reactive Web Request Batching with Scala and Play Framework
Reactive Web Request Batching with Scala and Play Framework
James Ward
At first glance it seems silly to do batching in the reactive world. When I first started with reactive programming I thought I wouldn’t have to worry about things like resource starvation. After all, the reactive magic bullet was *magical*! But my magic bullet fizzled when it hit downstream resourc...
Machine Learning on Heroku with PredictionIO
Machine Learning on Heroku with PredictionIO
James Ward
Last week at the TrailheaDX Salesforce Dev Conference we launched the DreamHouse sample application to showcase the Salesforce App Cloud and numerous possible integrations. I built an integration with the open source PredictionIO Machine Learning framework. The use case for ML in DreamHouse is a rea...
Combining Reactive Streams, Heroku Kafka, and Play Framework
Combining Reactive Streams, Heroku Kafka, and Play Framework
James Ward
Heroku recently announced early access to the new Heroku Kafka service and while I’ve heard great things about Apache Kafka I hadn’t played with it because I’m too lazy to set that kind of stuff up on my own. Now that I can setup a Kafka cluster just by provisioning a Heroku Addon I figured it was t...
Building a Mock HVAC for Smart Thermostat Demos
Building a Mock HVAC for Smart Thermostat Demos
James Ward
Recently I needed to create a mock HVAC system so that I could have a portable smart thermostat for various demos. I searched around but couldn’t find any such thing. So with some sleuthing and the help of my friend Bruce Eckel I was able to build a simple system that powers a smart thermostat and s...
The 6 Minute Cloud/Local Dev Roundtrip with Spring Boot
The 6 Minute Cloud/Local Dev Roundtrip with Spring Boot
James Ward
Great developer experiences allow you go from nothing to something amazing in under ten minutes. So I’m always trying to see how much I can minimize getting started experiences. My latest attempt is to deploy a Spring Boot app on Heroku, download the source to a developer’s machine, setup & run the ...
Pulling Go Code Colorado Data into Salesforce
Pulling Go Code Colorado Data into Salesforce
James Ward
This weekend I’m at the Go Code Colorado Challenge Weekend event in Durango. The purpose of Go Code Colorado 2016 is for teams to build something useful for businesses using one or more of the Colorado Public Datasets. Some teams are using Salesforce for the back-office / business process side of th...
Quick Force Java – Getting Started with Salesforce REST in Java
Quick Force Java – Getting Started with Salesforce REST in Java
James Ward
Recently I blogged about a toolchain that quickly gets you going with the Salesforce REST APIs. I believe developers should be able to get started with new technologies without having to install tons of stuff and struggle for days. That blog used Quick Force Node for those who want to use JavaScript...
Salesforce REST APIs – From Zero to Cloud to Local Dev in Minutes
Salesforce REST APIs – From Zero to Cloud to Local Dev in Minutes
James Ward
When getting acquainted with new technologies I believe that users shouldn’t have to spend more than 15 minutes getting something simple up and running. I wanted to apply this idea to building an app on the Salesforce REST APIs so I built Quick Force (Node). In about 12 minutes you can deploy a Node...
Winter Tech Forum 2016 – My Favorite Developer Conference!
Winter Tech Forum 2016 – My Favorite Developer Conference!
James Ward
I’ve been to a TON of developer conferences and by a landslide my favorite is the Winter Tech Forum (which used to be the Java Posse Roundup). Here is why… Learning for me is experiential. Typical eyes-forward conferences are like being a passenger on a sail boat. I can watch what is happening but I...
Dreamforce 2015 Video: Tour of Heroku + Salesforce Integration Methods
Dreamforce 2015 Video: Tour of Heroku + Salesforce Integration Methods
James Ward
This year at Dreamforce I presented a session that walked through a few of the ways to integrate Heroku apps with Salesforce. Here is the session description: Combining customer-facing apps on Heroku with employee-facing apps on Salesforce enables a whole new generation of connected and intelligent...
Smoothing the Cloud & Local Roundtrip Developer Experience
Smoothing the Cloud & Local Roundtrip Developer Experience
James Ward
Getting started with new technologies is usually a huge pain. Often I stumble around for hours trying to get an app’s toolchain setup correctly. Instructions are usually like: Things get worse when I lead workshops for hundreds of enterprise developers where many are on Windows machines and not very...
Comparing Application Deployment: 2005 vs. 2015
Comparing Application Deployment: 2005 vs. 2015
James Ward
Over the past 10 years the ways we build and deliver applications has changed significantly. It seems like much of this change has happened overnight but don't worry, it is perfectly normal to look up and feel disoriented in the 2015 deployment landscape. This article compares the deployment in 2005...
Redirecting and Chunking Around Heroku’s 30 Second Request Timeout
Redirecting and Chunking Around Heroku’s 30 Second Request Timeout
James Ward
In most cases a web request shouldn’t take more than 30 seconds to return a response so it is for good reason that Heroku has a 30 second request timeout. But there are times when things just take a while. There are different methods for dealing with this. Where possible, the best solution is to off...
Intro to Multi-Sensory Applications
Intro to Multi-Sensory Applications
James Ward
Recently Christophe Coenraets and I put together some thoughts on what we are calling “Multi-Sensory Applications” - a new way to think about how we build more deeply connected and engaging software. These news types of applications go way beyond typical CRUD apps by composing together a fabric of i...
Refactoring to Microservices
Refactoring to Microservices
James Ward
Right now there is a ton of hype and pushback around Microservices. Most of the current debate revolves around when Microservices make sense with smart people arguing all across the spectrum. As with all architectural topics the right answer is “it depends” so you should never blindly chose Microser...
NPM Packages in Maven Central with NPM WebJars
NPM Packages in Maven Central with NPM WebJars
James Ward
A few months ago I launched Bower WebJars which provides a way for anyone to deploy Bower packages into Maven Central through WebJars. Since then 539 packages have been deployed! Today I’ve added NPM WebJars which is built on the same foundation as Bower WebJars but for NPM packages. Give it a try a...
Auto-Deploy GitHub Repos to Heroku
Auto-Deploy GitHub Repos to Heroku
James Ward
My favorite new feature on Heroku is the GitHub Integration which enables auto-deployment of GitHub repos. Whenever a change is made on GitHub the app can be automatically redeployed on Heroku. You can even tell Heroku to wait until the CI tests pass before doing the deployment. I now use this on al...
Reactive Postgres with Play Framework & ScalikeJDBC
Reactive Postgres with Play Framework & ScalikeJDBC
James Ward
Lately I’ve built a few apps that have relational data. Instead of trying to shoehorn that data into a NoSQL model I decided to use the awesome Heroku Postgres service but I didn’t want to lose out on the Reactiveness that most of the NoSQL data stores support. I discovered ScalikeJDBC-Async which u...
Scaling the WebJars Project with On-Demand Bower Packages
Scaling the WebJars Project with On-Demand Bower Packages
James Ward
WebJars has been my hobby project for almost 3 years and thanks to tons of help from the community the project now has almost 900 JavaScript libraries in Maven Central. In February 2015 there were over 500,000 downloads of WebJars! Up until now all of the WebJars have been manually created, deployed...
Salesforce Canvas Quick Start for Java Developers
Salesforce Canvas Quick Start for Java Developers
James Ward
Salesforce provides a variety of different ways to integrate external apps into the Salesforce UI. Canvas is an iframe-based approach for loading externally hosted UIs into pages on Salesforce. The nice thing about Canvas versus a plain iframe is that Canvas has a JavaScript bridge which enables sec...
Introducing Force WebJars: Add JavaScript Libs to Salesforce With a Click
Introducing Force WebJars: Add JavaScript Libs to Salesforce With a Click
James Ward
The typical method of adding JavaScript and CSS libraries (e.g. jQuery, Bootstrap, and AngularJS) to Salesforce environments is to locate a library’s download, download it, then upload it to Salesforce, then figure out the structure of the files so that you can use them from Visualforce. Using WebJa...
Goodbye Java Posse Roundup – Hello WTF 2015
Goodbye Java Posse Roundup – Hello WTF 2015
James Ward
For the past 8 (maybe 9?) years the absolute best yearly conference I’ve attended has been The Java Posse Roundup in Crested Butte, Colorado. At most conferences my favorite parts are the conversations at the bar and writing code with other attendees. The Java Posse Roundup has always been a confere...
Introducing Gulp Launcher
Introducing Gulp Launcher
James Ward
Many developers already have the Node.js toolchain installed on their machines but when I lead workshops there are always a few who don’t. The process of installing Node build toolchains can take quite a bit of time for new users (especially on Windows). To simplify the process of getting the gulp t...
Java Doesn’t Suck – You’re Just Using it Wrong
Java Doesn’t Suck – You’re Just Using it Wrong
James Ward
Check out the Russian translation provided by Everycloudtech. Or check out a Ukrainian translation provided by OpenSourceInitiative. I’ve been building enterprise Java web apps since servlets were created. In that time the Java ecosystem has changed a lot but sadly many enterprise Java developers ar...
Dreamforce 2014: Wearables, Engagement Apps, $1M Hackathon
Dreamforce 2014: Wearables, Engagement Apps, $1M Hackathon
James Ward
Dreamforce 2014 is quickly approaching and this year is going to be amazing! I’ll be presenting a few sessions and helping at the $1 Million Hackathon. Here are my sessions: Integrating Clouds & Humans with the Salesforce Wear Developer Packs As smart watches and other human-integrated devices ma...
Jekyll on Heroku
Jekyll on Heroku
James Ward
Jekyll is simple static content compiler popularized by GitHub Pages. If you use Jekyll in a GitHub repo a static website will automatically be created for you by running Jekyll on your content sources (e.g. Markdown). That works well but there are cases where it is nice to deploy a Jekyll site on H...
An Architects Guide to the Salesforce1 Platform
An Architects Guide to the Salesforce1 Platform
James Ward
Salesforce.com was initially created as a Sales Force Automation (SFA) / Customer Relationship Management (CRM) application in the cloud but has evolved over the years into a modern platform for all types of enterprise applications. Now the Salesforce name is a legacy artifact of that past. This is ...
Building & Deploying Reactive Service Pipelines — Live in Salt Lake City
Building & Deploying Reactive Service Pipelines — Live in Salt Lake City
James Ward
This Wednesday (Aug 6, 2014) I will be presenting Building & Deploying Reactive Service Pipelines at the Utah Scala Enthusiasts group in Salt Lake City. Here is the abstract: Composition of micro-service is a modern integration pattern that couples nicely with Reactive and Continuous Delivery. Thes...
Going Reactive at OSCON 2014
Going Reactive at OSCON 2014
James Ward
This year at OSCON I will be leading a hands-on lab and presenting about Reactive, Play Framework, and Scala. Here are two sessions: Reactive All The Way Down (lab) - 9:00am Monday, July 21 In this tutorial you will build a Reactive application with Play Framework, Scala, WebSockets, and AngularJ...
Scala vs Java 8 at the Scala Summit
Scala vs Java 8 at the Scala Summit
James Ward
Bruce Eckel will be hosting the Scala Summit in Crested Butte again this summer. The Open Spaces conference will be September 15 - 19 which is a perfect time of year up in the Colorado Rockies. The theme of the Scala Summit this year is Scala vs. The New Features in Java 8. So there will definitely ...
Salesforce Gradle Plugin
Salesforce Gradle Plugin
James Ward
As part of the Salesforce Wear Developer Pack for Android Wear I created a Gradle plugin that fetches and deploys Salesforce code (Apex). Gradle is the default build tool for Android but it can also be used with many other languages. For instance, here is an example build.gradle file for a project t...
Create Webhooks on Salesforce.com
Create Webhooks on Salesforce.com
James Ward
Webhooks are the modern, web-oriented way for servers to receive notifications from other servers. For instance, when an event happens on a server, like Salesforce.com, your own custom application can receive the event via a web request. Salesforce already has a built-in way to handle events called ...
Cross-Origin Resource Sharing (CORS) for Salesforce.com
Cross-Origin Resource Sharing (CORS) for Salesforce.com
James Ward
By default browsers limit access to cross-origin resources. For instance, if a JavaScript app is loaded from foo.com then it isn’t allowed to access content from bar.com because this would be a significant security hole. Cross-Origin Resource Sharing (CORS) is the way to workaround this limitation i...
Integrating Clouds & Humans with Salesforce and Android Wear
Integrating Clouds & Humans with Salesforce and Android Wear
James Ward
Right out of the gate in my new job at Salesforce.com and I have been working on a pretty exciting new project to integrate clouds and humans using Salesforce.com and Android Wear. This week Salesforce launched six new open source developers packs for wearables. I created the Salesforce Wear Pack fo...
Testing Webhooks Was a Pain – So I Fixed the Glitch
Testing Webhooks Was a Pain – So I Fixed the Glitch
James Ward
Popularized by GitHub, Webhooks are the modern way for apps to receive notifications / events from other servers. But testing Webhooks has always been pretty painful, especially if you want to automate those tests. So I created a little app to make it easier. Before we get into that lets cover the b...
Building JavaScript Client Apps with gulp
Building JavaScript Client Apps with gulp
James Ward
Yesterday I started playing around with gulp which is a build tool for JavaScript applications. My goal was to have a build for a fully client-side application built with AngularJS and Bootstrap. In modern JavaScript apps we now need a build tool to compile various pieces, manage libraries, do produ...
Presenting Going Reactive with Java 8 Next Week in Boulder & Denver
Presenting Going Reactive with Java 8 Next Week in Boulder & Denver
James Ward
Next week I will be presenting Going Reactive with Java 8 at the Boulder and Denver Java User Groups. Here is the session description: Java 8’s lambdas make building Reactive applications a whole lot easier and cleaner. Through copious code examples this session will show you how to build event-dri...
Optimizing Static Asset Loading with Play Framework
Optimizing Static Asset Loading with Play Framework
James Ward
Modern web applications are a mix of a back-end services, dynamic web pages, custom static assets, and library-based static assets. To maintain a productive development process it is easiest to have all this stuff in one project. But in production there are a number of optimizations that can dramati...
New Adventures for a Technology Adventurer
New Adventures for a Technology Adventurer
James Ward
Over the past year and a half I’ve had the great privilege of working with some really amazing people and projects at Typesafe. I’m a huge fan of the Typesafe Platform and I’ve really enjoyed being part of Activator, Play Framework, Akka, Scala, Slick, and the Reactive Manifesto. But at heart I’m a ...
Going Reactive with Java 8 – Tonight at Triangle JUG
Going Reactive with Java 8 – Tonight at Triangle JUG
James Ward
Tonight I will be presenting Going Reactive with Java 8 at the Triangle Java Users Group. Here is the session description: Java 8’s lambdas make building Reactive applications a whole lot easier and cleaner. Through copious code examples this session will show you how to build event-driven, scalabl...
Presenting in SF: sbt-web & Reactive All the Way Down
Presenting in SF: sbt-web & Reactive All the Way Down
James Ward
This week I will be presenting twice in San Francisco at SF Scala: Thursday April 10: Introducing sbt-web - A Node & WebJar Compatible Asset Pipeline for the Typesafe Platform sbt-web is a new web asset pipeline for Play Framework and other sbt-based frameworks. It can pull dependencies from both...
Scala and Vaadin Webinar
Scala and Vaadin Webinar
James Ward
On Monday March 24th I will be co-presenting a Webinar about Scala and Vaadin. In this Webinar you will learn how to create great looking web UIs with Vaadin and Scala. No prior Scala experience is necessary. We will start with the basics. Hope to see you there!...
WebJars Now on the jsDelivr CDN
WebJars Now on the jsDelivr CDN
James Ward
WebJars were created to work well with Content Deliver Networks (CDNs) and now thanks to jsDelivr there is a great public CDN hosting all of the WebJar assets! jsDelivr is “a free super-fast CDN for developers and webmasters.” What a perfect match for WebJars! Here is how it works… Just prefix //cdn...
Presenting Building Reactive Apps in Denver
Presenting Building Reactive Apps in Denver
James Ward
This Thursday (March 20, 2014) I will be presenting Building Reactive Apps at the Reactive Programming Enthusiasts Denver. Here is the session description: Non-blocking, asynchronous, and reactive programming models are all the rage today. This session will explore in-depth why these patterns are i...
Official Support for RequireJS in WebJars
Official Support for RequireJS in WebJars
James Ward
WebJars Locator now has direct support for RequireJS! For a while the WebJars Play helper library has had support for RequireJS which was great but it had a few issues and wasn’t useful outside of Play. There is now a org.webjars.RequireJS.getSetupJavaScript(String webjarUrlPrefix) method that produ...
Presenting Play Framework and Reactive This Week in Boulder, Dallas, and Vancouver
Presenting Play Framework and Reactive This Week in Boulder, Dallas, and Vancouver
James Ward
This week I’ll be circling around North America presenting about Play Framework and Reactive Apps. Here is the lineup: Tuesday Feb 11 in Boulder, Colorado at the Boulder JUG: 6pm - Intro to Play Framework 7:30pm - Building Reactive Apps Wednesday Feb 12 in Dallas, Texas at the Java MUG: 6:30pm - Bu...
Building Reactive Apps in Boston
Building Reactive Apps in Boston
James Ward
Tomorrow night (Jan 15, 2014) I will be presenting Building Reactive Apps in Boston. There will be lots of live coding and only a couple slides. Hope to see you there!...
NightHacking with Play Framework and Scala
NightHacking with Play Framework and Scala
James Ward
At Devoxx 2013 Stephen Chin interviewed me on his NightHacking video podcast about Play Framework, Scala, and Reactive. Here is the recording with some live coding fun: ...
WebJars Took Off in 2013
WebJars Took Off in 2013
James Ward
A little over a year ago I launched WebJars with the goal of bringing some simplicity and sanity to how client-side JavaScript and CSS libraries are used in the JVM ecosystem. Since then WebJars has grown to 237 libraries and around 40,000 downloads per month! Check out the stats from Maven Central:...
Play Framework and IntelliJ IDEA 13
Play Framework and IntelliJ IDEA 13
James Ward
IntelliJ IDEA 13 has been released! My favorite new feature is the sbt project support that alleviates the need to generate project files for Play Framework apps. Here is a short screencast that will show you how to create a new Play app with Typesafe Activator and then open that project in IntelliJ...
From Ubuntu to Linux Mint with Cinnamon
From Ubuntu to Linux Mint with Cinnamon
James Ward
I’m becoming a technology curmudgeon. For as long as I can remember I’ve used a traditional window manager on Linux. Maybe I’m just stuck in my ways but I’m convinced that the combination of Focus Follows Mouse (with a 450ms auto-raise delay), the ThinkPad TrackPoint, and middle-click scrolling is t...
Intro to Reactive Composition with the Typesafe Reactive Platform
Intro to Reactive Composition with the Typesafe Reactive Platform
James Ward
Reactive apps are all the rage lately. The Reactive Manifesto now has over 2000 signatures and all of my recent presentations about Reactive have been packed. I’ve just recorded a screencast that explains the async and non-blocking aspect of Reactive. This screencast walks through how to do Reactive...
Building Reactive Apps in Austin
Building Reactive Apps in Austin
James Ward
Tomorrow night, October 15, I will be presenting in Austin Texas about Building Reactive Apps. Here is what I will be talking about: Non-blocking, asynchronous, and reactive programming models are all the rage today. This session will explore in-depth why these patterns are important in modern apps...
Play Framework and Reactive Presos in New York
Play Framework and Reactive Presos in New York
James Ward
This week I will be in New York presenting about Play Framework and Reactive Apps. Here is the lineup: Diving Into Play Framework’s Deep End - Tuesday, October 8 Play Framework is simple to get started with, but it also has some very advanced and powerful features. This session will explore some of...
JavaOne 2013 Hackathon, Presos & Webinar
JavaOne 2013 Hackathon, Presos & Webinar
James Ward
Next week I will be at and around JavaOne for a number of events and presentations. Here they are: On Monday I will be leading a BYOL Hackathon at the new Typesafe office, followed by a roundtable discussion and a party. RSVP now to get a spot! On Tuesday at JavaOne I will be presenting two sessions...
Going Reactive at the Denver Java Users Group
Going Reactive at the Denver Java Users Group
James Ward
Tonight (Sept 11, 2013) I will be presenting Going Reactive! Building Software for the Real-Time Generation at the Denver JUG. Here is what is on tap: Non-blocking, asynchronous, and reactive are all the rage today. This session will explore why the patterns are important in modern apps and how to ...
Building Reactive Apps at SpringOne 2013
Building Reactive Apps at SpringOne 2013
James Ward
Next week at SpringOne 2GX 2013 I’ll be presenting a session about Building Reactive Apps. Here is the description: Non-blocking, asynchronous, and reactive are all the rage today. This session will explore why the patterns are important in modern apps and how to apply them to event-driven web, mob...
Building Reactive Apps with the Typesafe Platform
Building Reactive Apps with the Typesafe Platform
James Ward
It is becoming pretty clear that Reactive is the next big thing in software. But there aren’t very many resources yet about how to actually build a Reactive application. Recently I hosted a webinar about “Building Reactive Apps with the Typesafe Platform” where I tried to explain Reactive in a tangi...
An Alternative to Required API Keys
An Alternative to Required API Keys
James Ward
Requiring API keys to JSON services for publicly available data is leading us down the unfortunate path to screen scraping and HTML parsing. The justification for requiring API keys is that abuses of these data APIs are rampant and without the keys there would be no way to deal with bad behavior. Ra...
OSCON Workshop: 6 Minute Apps! Build Your First Modern Web App
OSCON Workshop: 6 Minute Apps! Build Your First Modern Web App
James Ward
Next week at OSCON 2013 in Portland I’ll be leading a hands-on workshop on Monday at 1:30pm where we’ll build a modern web app with Play Framework and Scala. Here are the details: 6 Minute Apps! Build Your First Modern Web App The web application landscape is rapidly shifting back to a Client/Serve...
Scala Summit 2013
Scala Summit 2013
James Ward
This summer Bruce Eckel will be hosting the Scala Summit in Crested Butte on August 19 - 21. I’ve been to many of Bruce’s events and they are my favorites. The hallway conversations at regular conferences are always the best and most educational part, so why not have a conference that is just the in...
Auto-Refresh for Play Framework Apps
Auto-Refresh for Play Framework Apps
James Ward
Over this past weekend I built a little tool for Play Framework app developers which auto-refreshes an app in Chrome when the source code or static assets change. Check out a video demonstration: For information on how to set it up, check out the project on GitHub: https://github.com/jamesward/play...
Securing Single Page Apps and REST Services
Securing Single Page Apps and REST Services
James Ward
The move towards Single Page Apps and RESTful services open the doors to a much better way of securing web applications. Traditional web applications use browser cookies to identify a user when a request is made to the server. This approach is fundamentally flawed and causes many applications to be ...
Intro to Play Framework at Boulder Area Scala Enthusiasts
Intro to Play Framework at Boulder Area Scala Enthusiasts
James Ward
This Wednesday (April 24, 2013) I’ll be presenting an Intro to Play Framework at the Boulder Area Scala Enthusiasts meetup. Also, Dustin Whitney will be presenting an Intro to Scala. Hopefully see you in Boulder!...
Presenting Play Framework at Devoxx UK & FR 2013
Presenting Play Framework at Devoxx UK & FR 2013
James Ward
This week I’m at Devoxx UK and Devoxx FR presenting about Play Framework. Here are the sessions: Tuesday March 26 @ Devoxx UK: Mobile Apps with HTML5 & Play Framework - With Nicolas Leroux Wednesday March 27 @ Devoxx FR: 6 Minute Apps! Build Your First Modern Web App - With Nicolas Leroux Thursday ...
Intro to Play Framework This Week in Toronto, Ottawa, and Montreal
Intro to Play Framework This Week in Toronto, Ottawa, and Montreal
James Ward
This week I’ll be in Canada presenting an Introduction to Play Framework: Toronto Scala Meetup on Tuesday, March 19 Ottawa Scala Enthusiasts on Wednesday, March 20 Scala Montreal Meetup on Thursday, March 21 I’m looking forward to meeting our Scala northerly neighbors!...
Q&A at the Seattle Scala User Group Tonight
Q&A at the Seattle Scala User Group Tonight
James Ward
Tonight I will be doing a question and answer session at the Seattle Scala User Group. So bring your Scala, Akka, and Play Framework questions! Hope to see you there....
Utah JUG: Client/Server Apps with Play Framework, HTML5 and Java
Utah JUG: Client/Server Apps with Play Framework, HTML5 and Java
James Ward
Tonight (Feburary 21, 2013) I will be presenting at the Utah JUG about Client/Server Apps with Play Framework, HTML5 and Java. Here is the session description: The web application landscape is rapidly shifting back to a Client/Server architecture. This time around, the Client is JavaScript, HTML, a...
DevNexus 2013: Architecting Event-Driven Web, Mobile, and RESTful Apps & Introduction to Play Framework
DevNexus 2013: Architecting Event-Driven Web, Mobile, and RESTful Apps & Introduction to Play Framework
James Ward
At DevNexus 2013 I will be giving two talks: Architecting Event-Driven Web, Mobile, and RESTful Apps Non-blocking, asynchronous, and reactive are all the rage today. This session will explore why the patterns are important in modern apps and how to apply them to event-driven web, mobile, and RESTfu...
DeveloperWeek 2013: Modern Web Apps With Scala and Play
DeveloperWeek 2013: Modern Web Apps With Scala and Play
James Ward
Tomorrow (February 5, 2013) I will be presenting about Modern Web Apps With Scala and Play at DeveloperWeek in San Francisco. Here is the session description: The web application architecture is rapidly evolving to accommodate mobile, more interactive experiences, integrated real-time, and service ...
Video: Create and Run Play Framework Apps in IntelliJ
Video: Create and Run Play Framework Apps in IntelliJ
James Ward
The Play Framework community voted heavily to add support for Play Framework 2 in IntelliJ IDEA and JetBrains came through! Here is a short (3min) screencast that shows you how to create and run a Play 2 app in IntelliJ 12 (Ultimate Edition) with the Play Framework plugin: If you’d like to learn mo...
CodeMash 2013: Client/Server Apps with HTML5, Play, CoffeeScript
CodeMash 2013: Client/Server Apps with HTML5, Play, CoffeeScript
James Ward
Today I’ll be presenting at CodeMash 2013 about Client/Server Apps with HTML5, Play, CoffeeScript, and More. Here is the session description: The web application landscape is rapidly shifting back to a Client/Server architecture. This time around the Client is JavaScript, HTML, and CSS in the brows...
Presenting in Dallas: Play Framework, HTML5 and Java
Presenting in Dallas: Play Framework, HTML5 and Java
James Ward
Tomorrow (December 12, 2012) I will be presenting in Dallas at the JavaMUG about Client/Server Apps with Play Framework, HTML5 and Java. Here is the session abstract: The web application landscape is rapidly shifting back to a Client/Server architecture. This time around, the Client is JavaScript, ...
WebJars Officially Launched!
WebJars Officially Launched!
James Ward
Check it out: webjars.org Back in April I started an experiment called “WebJars” to see if it would be useful to package web libraries (JavaScript, CSS, etc) as Jar files. WebJars allow you to declaratively set client-side application dependencies just like we do for the server-side. A nice side eff...
Presenting at GraphConnect 2012: Building & Deploying Graph-based Web Apps
Presenting at GraphConnect 2012: Building & Deploying Graph-based Web Apps
James Ward
On November 6th I will be presenting Building & Deploying Graph-based Web Apps at the GraphConnect 2012 conference in San Francisco. Here is the session description: This session will teach you how to build a Graph-based web application with Java, Play Framework, and Neo4j. You will also lean how t...
JavaOne Video: Introduction to Play Framework
JavaOne Video: Introduction to Play Framework
James Ward
Check out the recording of my Introduction to Play Framework at JavaOne 2012. If you want to try Play Framework on your own you might want to start with my Play2torial for Java. There you will walk through all the major parts of building a modern web app: Models, Controllers, Views, Tests, JavaScrip...
JavaOne Video: Client/Server Apps with HTML5 & Java
JavaOne Video: Client/Server Apps with HTML5 & Java
James Ward
The recording of my JavaOne 2012 presentation, “Client/Server Apps with HTML5 and Java”, has been posted! In this presentation I walk through the modern web application architecture and how to build Client/Server style web apps with HTML5 and Java. Check it out and let me know what you think!...
New Adventures with Play, Scala, and Akka at Typesafe
New Adventures with Play, Scala, and Akka at Typesafe
James Ward
Today I'm heading out on a new adventure at Typesafe, the company behind Play Framework, Scala, and Akka! The past year and a half at Heroku have been really amazing. Not only have I enjoyed teaching others about Heroku, I've enjoyed my own frequent use of Heroku. It says something when a technology...



Footer Logo

Powered by Galaxy Blog

If you have an ideathat you want to share, please contact us! This community can only thrive if we continue to work together.

Images and Photography:

Gregory Alexander either owns the copyright, or has the rights to use, all images and photographs on the site. If an image is not part of the "Galaxie Blog" open sourced distribution package, and instead is part of a personal blog post or a comment, please contact us and the author of the post or comment to obtain permission if you would like to use a personal image or photograph found on this site.

Credits:

Portions of Galaxie Blog are powered on the server side by BlogCfc, an open source blog developed by Raymond Camden. Revitalizing BlogCfc was a part of my orginal inspiration that prompted me to design this site.

Version:

Galaxie Blog Version 3.0 (Toby's Edition) June 14th 2022 Tropical Wave theme