John Graham-Cumming

blog.jgc.org · Personal blog · on HN since 2007

John Graham-Cumming, a programmer and former Cloudflare CTO, writes about code, GNU Make, security, watches, and assorted technical projects.

What HN saysCommenters mention his site's personal, behind-the-screens style and his homemade watch designs; the given comments offer little opinion on specific posts.
161HN people shared it
96linked it in comments
699stories submitted
25Kstory points
3 months agolast shared
2007people per year2026

Most-shared posts

  1. 1
  2. 2
    Write your passwords down
    6 people · 134 points · first shared 2010 · 120 comments on HN
  3. 3
  4. 4
    Why im not supporting campaign for
    5 people · first shared 2011
  5. 5
    Your last name contains invalid characters
    4 people · 223 points · first shared 2010 · 207 comments on HN
  6. 6
    GAGA-1: The Flight
    4 people · 34 points · first shared 2011 · 2 comments on HN
  7. 7
  8. 8
  9. 9
    A downloadable nanosecond
    4 people · 9 points · first shared 2012 · discussion on HN
  10. 10
    There's a ridiculous amount of tech in a disposable vape
    4 people · 5 points · first shared 2026 · discussion on HN
  11. 11
    John Graham-Cumming's Blog
    4 people · 1 points · first shared 2012 · discussion on HN
  12. 12
    More fun with toys ikea lillabo train
    4 people · first shared 2010
  13. 13
  14. 14
  15. 15
    How I ended up with so much Hacker News karma
    3 people · 202 points · first shared 2012 · 91 comments on HN

What HN people wrote when they linked it

justmarc · 2025-07-19
Thank you, John. Coincidentally, your web site https://jgc.org/ is truly a lovely example of https://news.ycombinator.com/item?id=44613625 which was just discussed today as well. Love your behind the screens stuff!
clebio · 2017-02-24
not trolling, I followed your HN profile link: what blog post? http://blog.jgc.org/
arajnoha · 2026-01-14
yes! F9 on his website links to this very blog https://jgc.org/
jgrahamc · 2025-10-18
If the idea is this: "Many quartz watches do their best to hide away any electronic components from view. The design concept for this watch was to embrace those digital components instead [...]" then I'd argue this watch that I built fulfils the requirement better: https://blog.jgc.org/2022/12/the-rogers-watch-retro-display-and-all.ht…
LinuxBender · 2024-06-16
The CTO's email is sortof in his profile [2]. I assume he would want to know if there is a business impact on someone assuming in good faith everything stated in the submission is accurate. CEO & co-founder of CloudFlare. [1] Cloudflare CTO [2] Not listing their individual contributors. [1] - https://news.ycombinator.com/user?id=eastdakota [2] - https://news.ycombinator.com/user?id=jgrahamc https://jgc.org/
mturmon · 2022-10-31
John Graham-Cumming (who's in this thread) wrote this book which I recommend: https://nostarch.com/gnumake I just noticed he did some screencasts that make up a course: https://cloudflare.tv/shows/the-gnu-make-course And here's links to a bunch of blog posts, from which I learned a lot: https://blog.jgc.org/2013/02/updated-list-of-my-gnu-make-articles.html Of course, the manual itself is really very good!
wlkr · 2017-02-24
> The CTO should resign over this terrible advice. Whether or not he does I hope companies who use CloudFlare strongly consider alternatives. His comment certainly isn't out of ignorance, he has blogged at length on the necessity of password security and lambasted other companies for their behaviour in situations such as this. http://blog.jgc.org/
AceJohnny2 · 2016-08-17
I'm glad you included RMS, but what about JWZ [1], GKH [2] or JGC [3] ? :] [1] https://www.jwz.org/about.html [2] https://plus.google.com/+gregkroahhartman [3] http://blog.jgc.org/
FiloSottile · 2016-07-24
So, a couple days ago I shared a Makefile with John, meant to become the standard Go project Makefile at CloudFlare. Here are the comments: > John: This is very expensive. Can't it be calculated once (:=)? > Me: The problem is that we don't want to calculate it if we don't need it, because we might run make before go is installed, and that would fail. > John: http://blog.jgc.org/2016/07/lazy-gnu-make-variables.html I think he wrote this piece to answer my question. That's working with great people right there.
DanBC · 2016-05-12
mutagen · 2013-12-19
For those that don't know their RFCs / compression algorithms (like me): Original paper: http://citeseerx.ist.psu.edu/viewdoc/download?doi=10.1.1.11.8470&r… RFC: http://tools.ietf.org/html/rfc3284 John Graham-Cumming's amusing blog post applying the algorithm to everyone's favorite Rick Astley song: http://blog.jgc.org/2012/06/compression-of-lyrics-of-never-gonna.html
ColinDabritz · 2013-09-01
JGC followed up with a downloadable nanosecond. http://blog.jgc.org/2012/10/a-downloadable-nanosecond.html This is also my favorite Grace Hopper bit.
crntaylor · 2012-10-16
It's worth reading JGC's blog post about Ada Lovelace [1]. He argues that she shouldn't be famous for being "the first computer programmer" (in fact it's not clear that she ever really understood the difference engine/analytical engine at all). Instead, he says that she should be remembered for being the first person to realize that calculating machines weren't limited just to problems of arithmetic - that they might eventually be applied to music, art and other areas. Very prophetic! [1] http://blog.jgc.org/2011/09/lovelaces-leap.html
onetwothreefour · 2012-08-03
It took about 1 minute to load. Then I got this: This page (http://www.jgc.org/) is currently offline. However, because the site uses CloudFlare's Always Online™ technology you can continue to surf a snapshot of the site. We will keep checking in the background and, as soon as the site comes back, you will automatically be served the live version.
eastdakota · 2012-07-03
John proposed the title and I thought it was great. He wrote a blog post about it: http://blog.jgc.org/2012/02/programmer.html
0x12 · 2011-10-05
JGC will be pleased as punch with this: http://blog.jgc.org/2010/01/1000-for-bletchley-park-thanks-to-geek.htm… Great to see that Bletchley Park will live on, it's one of very few historical sites that have meaning to those that are interested in our digital beginnings.
wzdd · 2011-09-14
I'd add that the pie charts you converted in this post are actually the sorts of pie charts you were okay with in your first blog post, where you said "pie charts are really only useful when a small number of categories of data are far, far greater than others" (http://blog.jgc.org/2009/08/please-dont-use-pie-charts.html), with "republicans" being, arguably, an exception.
s3b · 2011-08-31
Apparently they are not allowed to operate at altitudes higher than 60000 ft and speeds greater than 1000 knots. http://blog.jgc.org/2010/11/gaga-1-cocom-limit-for-gps.html
konad · 2010-10-08
And a heart rending message too from Tuesday's Babbage installment http://blog.jgc.org/2010/10/babbages-other-woman.html: His wife, Georgiana died age 31, Ada Lovelace died aged 36 and Countess Teleki died a year before Babbage aged 34. Only three of his 8 children survived into adulthood.
glymor · 2010-02-10
It's easy to be so strident. I agree freedom of information requests should always be respected (if nothing else it's the law). That doesn't mean it's useful on it's own. Unintelligible source code isn't much more useful than none. See CRU's own source code for example: http://www.jgc.org/blog/2009/11/about-that-cru-hack.html It's nice that some spend the time to clean up code and format data. But scientists progress on their career track by total number of papers; so they're being somewhat asked choose between the greater good and their own. Most research is publicly funded. If open access is important to you then write to your government representative and ask them to require it.
ojbyrne · 2008-02-01
The original article accused Canadians of being too concerned with "proving themselves to their big brother." I would just like to point to the following blog post: http://www.jgc.org/blog/2008/02/digg-heat-map.html to show why we do that. The article basically makes the assertion that most digg users are American, because most of the signups happen during times where Americans are at work. Not like there is another country sharing those same timezones.
OhMeadhbh · 2025-08-01
Looks like it's better now... I can get back into the dashboard for work and personal accounts. (And I double checked against https://jgc.org/ and https://www.amctheatres.com/ as random sites behind CloudFlare, and they seem to work.) I don't know if it's cause some support person saw John's request or if it was just a random thing that fixed itself. But if say... one third of the top 1000 web sites are behind CloudFlare and CloudFlare only has five-nines, that probably means tens of thousands of people are getting false positives every day. I understand wanting to defend against bad guys, but if there's no way to contact CloudFlare support because CloudFlare blocked you from contacting their support... Though... yeah... I was able to get in to the support portal on my mobile phone. There's got to be a better way. I'll likely be at IETF 124 if any CF folk want to spitball ideas about making the experience less bad.
jcroberts · 2010-10-01
I mostly wanted to say I've enjoyed your blog in recent weeks, but only through your HN submissions (I'm not one to "follow" a blog). I know very little about monetizing web sites, so even I would not follow my own advice without having someone smarter than me look it over. Google AdSense is easily defeated/filtered, and technical users tend to be more inclined to use filtering. Similarly, users who do not employ technical means of filtering have generally adopted "mental filtering" of AdSense. In short, they ignore it since it is often misleading. Pushing your own book on Amazon doesn't hurt, but I sincerely doubt it will help very much. A working solution is potentially more work. You could use amazon affiliate links to * RELEVANT * books/products mentioned in your posts. For example, the following blog post mentions IDL: http://www.jgc.org/blog/2009/11/about-that-cru-hack.html It took a simple google search to find out there is a book on the topic sold through amazon. http://www.amazon.com/Introduction-Programming-IDL-Interactive-Languag… When your advertising is essentially part of your content, as well as complimentary to your content, it should be more effective (in theory). You are the one who knows your content best, so allowing others to decide what to advertise on your site is a dubious proposition. Unless advertising is effective in its goal of making money for you, then there's no point in having it on your site. If you have to do more work…
jlgbecom · 2010-09-23
There are a lot of lessons to be learned from Diaspora, beyond the (brilliant) points made about security. 1. When media hype provides you with $200k, you're still best served by bringing people's expectations down to earth. There was no way they were going to be able to build anything approaching a Facebook killer in 3 months, and it would have been best if they would have made that clear in the beginning. 2. There are a number of projects like Diaspora that have been working for years towards the same exact goal. The only way Diaspora could have succeeded where those have failed (or not-yet-succeeded), is if they had properly articulated where they would go right where others had gone wrong. If you can't do that, you probably don't have the perspective necessary to take on such a huge project. 3. We all need to be less susceptible to the story of the "boy wonders" taking on the establishment. Between Diaspora and Haystack+, these should be sobering lessons about the dangers of hype and a good human-interest story when the result we need is stable, well-written code. + http://blog.jgc.org/2010/09/myth-of-boy-wizard.html 4. Open source isn't magic. Rails isn't magic. Having a good idea and a whole lot of heart isn't magic. It's true that the software world isn't exactly a meritocracy, but at the same time, we need to recognize that you have to be able to build something generally usable, and if you can't, there's nothing that will save you except for harder work…
devmonk · 2010-09-20
We don't all get the time to setup beautiful open-source projects with beautiful tests and code. I have a number of projects I've started or contributed significantly to that anyone can peruse if they want, but I'm definitely not proud of the code in all of them. If you use this type of post ( http://blog.jgc.org/2010/09/weve-read-your-code.html ) as a wakeup call to make your code better, that's fine. But, would it make sense to remove open-source projects that aren't your best work, with the rationalization that few if any are using them and they are a bad reflection on your coding skills? If your code is bad and is misleading/doesn't work and provides no benefit to others, take it down or fix it. Otherwise, I say leave it alone, and feel free to leave it attached to your name. I've met more developers who were afraid (imo) to start or share anything open-source even though they certainly could have (because I was working with them, and I did, without any harm coming to me yet). As Frank Herbert once wrote, "Fear is the mind-killer." Don't let the fear of sharing overtake you.
LarsDu88 · 2026-05-20
Look up DOOM Esp32 for numerous examples of doom running on a $2 microcontroller. Also see this article on the types of arm cortex chips actually found in a disposable vape pen: https://blog.jgc.org/2026/01/theres-ridiculous-amount-of-tech-in.html If someone hasn't gotten native doom to run in a vape, I think I have my next weekend project.
campbel · 2025-05-07
From the linked Programmer blog [1]: > It might seem lowly to be a Programmer, but in a world where so much is driven by computers there's nothing shameful in being the person who makes them go. I find it interesting that in 2012 he thought the title of "Programmer" was shameful. In 2012 I was a somewhat recent grad and definitely more junior, at that time I thought programmers were the smartest folks at my company, exactly because they were "the [people] who make [computers] go". [1] https://blog.jgc.org/2012/02/programmer.html

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