G
Greggman
games.greggman.com · Personal blog · on HN since 2011
Greggman is a game and web graphics developer who writes about programming, WebGL, typing debates, and old game development.
What HN saysHN mostly links it for the dynamic versus static typing post, where commenters cite its points on faster development and shorter code.
53HN people shared it
25linked it in comments
37stories submitted
2.4Kstory points
3 years agolast shared
2011people per year2026
Most-shared posts
- 1The Unreasonable Effectiveness of Dynamic Typing for Practical Programs10 people · 133 points · first shared 2016 · 159 comments on HN
- 2Chrome dev on WebGL security and Microsoft bullshit8 people · 179 points · first shared 2011 · 86 comments on HN
- 3Programming M.C. Kids (1992)6 people · 42 points · first shared 2011 · 5 comments on HN
- 4Zip – How not to design a file format5 people · 278 points · first shared 2021 · 162 comments on HN
- 5Gex (1997)3 people · 70 points · first shared 2014 · 32 comments on HN
- 6Done Answering Questions Stack Overflow2 people · 365 points · first shared 2021 · 214 comments on HN
- 7GitHub Has a Permission Problem2 people · 264 points · first shared 2020 · 120 comments on HN
- 8Could ImGUI Be the Future of GUIs?2 people · 224 points · first shared 2019 · 124 comments on HN
- 9ImHUI: Imgui-style library for the web using actual HTML output2 people · 95 points · first shared 2021 · 25 comments on HN
- 10Thoughts on asm.js vs PNaCl2 people · 16 points · first shared 2013 · 3 comments on HN
- 11WebGL Fundamentals (WebGL is a 2D API)2 people · 4 points · first shared 2012 · discussion on HN
- 12What If Google Was Like YouTube?2 people · 2 points · first shared 2020 · discussion on HN
- 13CSS Grid – Fail?2 people · 1 points · first shared 2017 · discussion on HN
- 14Why is Windows so slow?1 people · 338 points · first shared 2011 · 153 comments on HN
- 15React and Redux are a joke right?1 people · 120 points · first shared 2017 · 117 comments on HN
What HN people wrote when they linked it
ReflectedImage · 2022-12-01
Here's a study:
https://games.greggman.com/game/dynamic-typing-static-typing/
The key points are as follows:
* Development in Dynamically Typed Languages is faster
* Dynamically typed languages use less lines of code than statically typed languages by a significant margin
* The level of bugs is the same between Dynamically typed and Statically typed code.
"You can write almost completely typeless, highly performant, c and assembly code,"
Yes, I'm sure the LOAD instructions take pictures of cats as operands via their typeless instruction sets... What in earth are you on???
"completely typeless, highly performant, c"
well once someone does that let me know. The only thing near is Javascript and that is only faster for microbenchmarks not real programs.
greggman3 · 2021-05-19
I wrote up a blog post on an idea of what if google had a site that looked similar to youtube, but was links to webpages instead of videos. Like youtube it would let you "subscribe". Also like youtube if would recommend other articles based on your subscriptions and/or clicked links.
My "aha moment", assuming it was an aha moment, was noticing the number of views on certain youtube channels and believing that blog posts generally don't get a similar number of view. At first I thought the obvious reason is people like videos more than blog posts. But then I thought, well, maybe one reasons is because youtube recommends more things to watch as well as lets you subscribe and blog posts don't.
https://games.greggman.com/game/google-like-youtube/
ericfrederich · 2016-05-06
HIGHLY recommend watching this video
https://vimeo.com/74354480
linked to from:
http://games.greggman.com/game/dynamic-typing-static-typing/
linked to from:
https://news.ycombinator.com/item?id=10933524
javajosh · 2015-04-07
Great work. This is precisely the kind of site every web API needs. I would like to see one for Sockets, Workers, Canvas, SVG, etc. I think this format could even work for transpiled language documentation (although that's a little more doubtful).
My only suggestion is that the author[1] name himself, and date the content (at least month/year)! Both of these can be inferred from the github link, but it belongs on the page itself.
[1] http://games.greggman.com/game/
coldpie · 2015-04-02
Honestly, I don't remember how we got it. I was four years old when it was released. My mom used to go into Funcoland and just buy whatever looked good, or maybe what an employee recommended. Actually, I should ask her if she remembers.
And yeah, I'm a big fan. Aside from just growing up with it, it's a really solid NES-era platformer. If you're curious to learn more about it, one of the developers actually maintains a blog and has written about it a few times. He also posts on HN infrequently.
http://games.greggman.com/game/m_c_kids/
http://games.greggman.com/game/programming_m_c__kids/
Also he & the other two primary developers actually signed my cartridge:
http://gamesplusone.com/mckidscart.jpg
I'm a dork.
greggman · 2014-05-31
I'd recommend starting with WebGL. It's the same API minus the cruft. You can use it nearly anywhere.
Here's some tutorials I wrote to hopefully make it clear how things work
http://games.greggman.com/game/webgl-fundamentals/
Everything you learn there will be directly applicable to C OpenGL
slowmovintarget · 2016-11-24
Near future: Scala.
There is more professional work being done in Scala, and it makes it more palatable to managers that it runs on the JVM and allows them to leverage some of the existing knowledge of their Java programmers.
In the financial world, however, F# use is on the rise.
I currently work in F# but not in finance, and the lack of mature libraries for common things (like JSON serialization!) makes it a major pain in the behind.
Were I told to select a functional language, "quick!", I would select Clojure when caffeinated, and Javascript (ES7) when not.
FWIW: I subscribe to the notion that dynamic typing with unit testing will get you a correct and working program faster than static typing. In the case of Clojure, you now have clojure.spec, which means you can write conformance criteria as functions and generate tests and test data.
http://games.greggman.com/game/dynamic-typing-static-typing/
https://news.ycombinator.com/item?id=10933524
bluedino · 2024-04-22
Did they not compress the assets like they did in other games, like M.C. Kids?
https://games.greggman.com/game/programming_m_c__kids/
illinx · 2023-06-14
The guy who programmed MC Kids did a writeup on the game's engineering that serves as a wonderful introduction to programming for the NES.
https://games.greggman.com/game/programming_m_c__kids/
bombolo · 2022-12-20
I do have such experience and I really can't tell that. Which is why I wondered if anyone else was in fact saying that.
> But here is your internet source for this blatantly obvious fact: https://games.greggman.com/game/dynamic-typing-static-typing...
Ah no I meant a proper peer reviewed source. The claim that untyped code has fewer bugs is completely bonkers, so I was quite sure that no such source existed.
Why do you think microsoft, google and facebook are all in the business of typechecking python? If typechecking would actually introduce bugs, it'd be better not doing it right?
Using github for statistics is flawed. There are millions of 10 line js libraries. Yes it's easy to not make type mistakes in 10 lines. I suppose that type errors increase more than linearly with size.
mort96 · 2022-07-24
I wasn't saying tar is better than zip (though if you want to read about issues with the zip file format, have a look at this post: https://games.greggman.com/game/zip-rant/ -- HN discussion: https://news.ycombinator.com/item?id=27925393). I'm just saying there's nothing about the tar file format itself that makes you loathe it, you just loathe that Windows doesn't support it. That's not a problem with tar.
I don't even know if it's true that tar is less common than zip. I know zip is incredibly common, but truly, so is tar. In the UNIX world, _everything_ happens through tar. And as someone who almost exclusively operates in the UNIX world, I interact with zip files very rarely, while I work with tarballs all the time.
Just don't blame the format for a deficiency in your operating system, that's all I'm saying.
flohofwoe · 2021-05-26
Here's an experiment which implements an immediate mode UI on top of HTML instead of a triangle rendering engine:
https://games.greggman.com/game/imhui-first-thoughts/
The term "immediate mode" is only about the API, not about how things are implemented under the hood, e.g. an immediate mode UI can map to traditional stateful UIs, it's just not done yet very often because of ImGui's roots in the gamedev world (where it is important to easily integrate with existing game rendering engines).
pmarreck · 2021-02-17
douches get downvotes
https://games.greggman.com/game/dynamic-typing-static-typing/
The hard evidence that static typing is an overall-win is lacking. Period.
or, more succinctly,
https://i.imgur.com/zbU1wwH.jpg
wiredearp · 2017-09-19
> The question is: how much?
The article over on https://games.greggman.com/game/dynamic-typing-static-typing/ attempts to answer that and comes to a conclusion that is different from the study in question.
nickbauman · 2016-08-22
Except that the evidence points to the contrary.
http://games.greggman.com/game/dynamic-typing-static-typing/
Dr_tldr · 2016-07-24
http://games.greggman.com/game/dynamic-typing-static-typing/
So we've got data plus my experience plus my team's experience in a large, very successful enterprise on one side, and we've got snark and defense of existing habits on the other? I'll take the risk, I think.
ndesaulniers · 2016-01-22
> You can just close a demanding application
Sorry, I misspoke. Having a watchdog timer reset the GPU is indeed a useful feature.
I meant to say "you can just avoid such a site in the future." See greggman's point #1 on DoS: http://games.greggman.com/game/webgl-security-and-microsoft-bullshit/
corysama · 2015-10-30
Explained in greggman's blog
http://games.greggman.com/game/vertexshaderart-com/
kayoone · 2013-11-27
Please put down these Asm.js vs PNaCl arguments. We are all going to win in the end as both ASM.JS and PNaCl run on pure Javascript (PNaCl through a pepper.js fallback and ive heared asm.js is already a PNaCl target)[1]
In the end, some hugely popular cross compiled games will drive adoption of both technologies to the point where they are ubiquitous and supported by all major vendors. Apple doesnt want people saying "Wah look at how poorly Safari handles that game compared to Chrome/Firefox".
[1] http://games.greggman.com/game/thoughts-on-asm-js-vs-pnacl/#comment-11…
cmccabe · 2013-06-26
The security claims were bullshit. For details see:
http://games.greggman.com/game/webgl-security-and-microsoft-bullshit/
tl;dr: While it was talking up the security risk of WebGL, Microsoft was allowing Silverlight to permit untrusted code to access graphics APIs in exactly the same way. Chrome validates everything before calling the actual driver APIs, so the opportunities for fuzzing are limited.
mariuz · 2012-10-08
Microsoft and WebGL - Never in IE
http://games.greggman.com/game/webgl-security-and-microsoft-bullshit/
fridek · 2012-04-07
Or maybe IE-never. The official reason is "WebGL is unsafe"[1]. The unofficial is, of course, "We hate OpenGL and we would rather force our own, unsafe Silverlight 3D"[2].
[1] http://news.softpedia.com/news/Internet-Explorer-Won-t-Be-Supporting-W…
[2] http://games.greggman.com/game/webgl-security-and-microsoft-bullshit/
bri3d · 2011-10-22
I think your nervousness is well founded, and that's why Microsoft won't implement WebGL [1], but Chrome's developers seem to think they can make things secure [2].
[1]: http://blogs.technet.com/b/srd/archive/2011/06/16/webgl-considered-har…
[2] : http://games.greggman.com/game/webgl-security-and-microsoft-bullshit/
maercsrats · 2011-09-14
A google engineer says that the security reason is bullshit:
http://games.greggman.com/game/webgl-security-and-microsoft-bullshit/
orgomon · 2016-07-24
Where is the evidence that static typing results in a net benefit? There's some evidence that points in the opposite direction:
http://games.greggman.com/game/dynamic-typing-static-typing/
When a language imposes static types, it also imposes a development cost, possibly negating all the value it brings.
Typescript is a little in the middle in that static typing is optional, but then you also don't reap the supposed benefits wherever you don't use it. Any "tool-based" refactoring is now less reliable than a simple text search.
As for catching type errors, those are usually caught very early. If they aren't, that points to a lack of test coverage.
As for the "documenting" aspect: The article claims that by static typing, the documentation need not be consulted, which is rather irresponsible. If you use a function, you had better read the documentation. I know that's a bit much to ask from actual developers, but it's true.