James Ward

jamesward.com · Personal blog · on HN since 2010

James Ward, a developer relations engineer, writes about Java, the JVM, Play Framework, web app deployment and security.

What HN saysHN commenters link it for practical JVM material, such as GraalVM native-image tips for running Java on a scratch container, and Play Framework posts.
21HN people shared it
5linked it in comments
30stories submitted
633story points
4 years agolast shared
2010people per year2026

Most-shared posts

  1. 1
    The Modern Java Platform – 2021 Edition
    2 people · 267 points · first shared 2021 · 253 comments on HN
  2. 2
    Java Doesn’t Suck
    2 people · 191 points · first shared 2014 · 205 comments on HN
  3. 3
    When you hear ‘Monad’, think ‘Chainable’ (2017)
    2 people · 24 points · first shared 2017 · 6 comments on HN
  4. 4
    Securing Single Page Apps and REST Services
    2 people · 8 points · first shared 2013 · 3 comments on HN
  5. 5
    Tutorial: Play Framework, JPA, JSON, jQuery, & Heroku
    1 people · 64 points · first shared 2011 · 7 comments on HN
  6. 6
    An Alternative to Required API Keys
    1 people · 30 points · first shared 2013 · 22 comments on HN
  7. 7
    Comparing Application Deployment: 2005 vs. 2015
    1 people · 7 points · first shared 2015 · discussion on HN
  8. 8
    Amf.js – A Pure JavaScript AMF Implementation
    1 people · 6 points · first shared 2010 · discussion on HN
  9. 9
  10. 10
    Refactoring to Microservices (2015)
    1 people · 3 points · first shared 2015 · discussion on HN
  11. 11
  12. 12
    Introducing Gulp Launcher
    1 people · 3 points · first shared 2014 · discussion on HN
  13. 13
    Easing function fun
    1 people · 3 points · first shared 2011 · discussion on HN
  14. 14
  15. 15
    Architectural Evolution: From Middleware to The Cloud
    1 people · 3 points · first shared 2011 · discussion on HN

What HN people wrote when they linked it

EzGraphs · 2013-06-26
Most web development workflows emerged in an era of monolithic, server-side driven application development. Lots of server side code (as well as navigation logic and session state), relatively small amount of browser side code. In recent web app development, client side now has a larger proportion of the code and complexity. Developers tend to make incremental changes to their workflow rather than "starting from scratch" seem to miss the shift that has taken place. One of the best examples of an efficient workflow (at least in theory) that I have seen is the Play framework, along with a browser plugin that causes the browser to refresh every time source code is saved (http://www.jamesward.com/2013/05/15/auto-refresh-for-play-framework-ap…
dredmorbius · 2012-08-15
Exactly how precious are those CPU cycles? I mean, really. Can you put a dollar figure on them? And then contrast that with the dollar figure for consultant / employee / remote hands time to figure out WTF went wrong? There are numerous systems for managing services: monit is the best known, mon and several proprietary systems also exist. Nagios can tell you if the service is running or not (though it doesn't handle the start/stop logic). These are small details and extensions on top of the existing SysV init foundation. Ubuntu's boot time is already down to 8.6 seconds -- a restore from suspend is barely less than that (and restore from disk is considerably longer), though both restores preserve user state. You know, what applications / files you had open, and what was in them when you left off, positions of windows on your desktop. All that jazz. http://www.jamesward.com/2010/09/08/ubuntu-10-10-boots-in-8-6-seconds/ The socket management is kind of nifty, but doesn't add a whole lot that xinetd didn't already offer (systemd does allow multi-socket services and d-bus-initiated services). I'm not convinced these couldn't be hacked into xinetd while preserving the simplicity and stability of init. My desktop state (and its preservation) is worth a lot more than fast boot. Yes. I've heard of inane gratuitous questions. As I said: if you're forcing average users to reboot with any frequency, you're Doing It Wrong.
arafalov · 2021-04-22
For JVM, you have to bend a bit backwards and use still-evolving toolchain, but it is actually possible to create native-image of a Java program that will run on top of SCRATCH: https://jamesward.com/2020/05/07/graalvm-native-image-tips-tricks/
lanna · 2012-09-15
jlward4th · 2012-07-02
I built a little JS library that just does that part: http://www.jamesward.com/2012/06/15/dynamically-rendering-github-files

Keyboard shortcuts

/Search
j kNext / previous blog
EnterOpen selected blog
vVisit the blog site
fFollow / unfollow
lSwitch grid / list view
dSwitch dark mode
g hHome
g pTop posts
g tTopics
g fFollowing
g lLiked
g yHistory
g qFAQ
EscBack / close