Top all-time · #3717
maxtaco's Blog
Personal blog · maxtaco.github.ioprogrammingsecurity
maxtaco's Blog is a personal blog at maxtaco.github.io about programming and security. Since 2013, 21 different Hacker News readers have linked it 22 times, most often “IcedCoffeeScript - CoffeeScript with Promises”. The last post was in 2014, but the archive is still widely read.
Too few sampled comments (16) to say how often HN recommends it.?
Why HN links it
Mostly cited as the reference page for IcedCoffeeScript, a CoffeeScript dialect with await/defer for async control flow. Comments also point to its errify error-handling pattern and a bitcoin wallet security article.
Summarised by Claude from a sample of 16 HN comments that link here. Each comment is marked recommending, critical or neutral (citing without judging); how this works.
Most-linked posts?
- IcedCoffeeScript - CoffeeScript with Promises12 people · 12 mentions · first linked 2013-06-20
- /coffee-script/3 people · 3 mentions · first linked 2015-12-27
- How Jason Bourne Stores His Bitcoin3 people · 3 mentions · first linked 2014-01-18
- Handling errors in IcedCoffeeScript2 people · 2 mentions · first linked 2014-09-18
What Hacker News says?
iced-coffee-script has a similar solution. http://maxtaco.github.io/coffee-script/
Comment linking /coffee-script/
on “Callbacks as our Generation's Goto Statement”Submitted How Jason Bourne Stores His Bitcoin as a story · 107 points
HN discussionOh yeh sorry I didn't mean to give the impression I thought you were wrong. I 100% agree with you. I remember the first time I experienced "callback hell" (2016, for me, but I'm sure it was a huge problem for others before then) when I was doing some JavaScript stuff implementing Keybase's library for GPG support - I learned they'd built a whole separate JavaScript thing called IcedCoffeeScript[1] specifically to ad…
Comment linking /coffee-script/
on “JavaScript for Shell Scripting”Submitted Handling Errors in IcedCoffeeScript as a story · 38 points
HN discussionThis is how I've been writing Iced Coffeescript for years. I still believe it's a major improvement over the typical promise syntax. And to make the error handling even cleaner, check out the errify/errorCallback pattern: http://maxtaco.github.io/programming/2014/09/18/handling-err... https://www.npmjs.com/package/errify https://github.com/nextorigin/express-rendertype/blob/master...
Comment linking /programming/2014/09/18/handling-errors-in-iced-coffee-script/
on “Async and Await”Submitted IcedCoffeeScript - CoffeeScript with Promises as a story · 5 points
HN discussionIt appears to be very similar to icedcoffeescript: http://maxtaco.github.io/coffee-script/
Comment linking /coffee-script/
on “Kal – a clean JavaScript alternative without callbacks”Submitted Handling errors in IcedCoffeeScript as a story · 4 points
HN discussionI think you're looking for this http://maxtaco.github.io/coffee-script/ .
Comment linking /coffee-script/
on “Generators in Firefox now 22 times faster”Submitted IcedCoffeeScript as a story · 4 points
HN discussionAlso IcedCoffeeScript http://maxtaco.github.io/coffee-script/ It's just CoffeeScript with await and defer keywords, essentially. I personally would never touch toffeescript/coco and friends as they differ too much for CoffeeScript, which already segregates the JS userbase enough. I figure IcedCoffeeScript is the lesser evil for compile-time control flow as it's not adding a bunch of other changes to the language tha…
Comment linking /coffee-script/
on “Why I am switching to promises”Submitted How Jason Bourne Stores His Bitcoin (2014) as a story · 3 points
HN discussionHave you tried IcedCoffeescript? http://maxtaco.github.io/coffee-script/ if so, how do you think it compares to ToffeeScript?
Comment linking /coffee-script/
on “Why I am switching to promises”I wrote a little blog article on how to store the majority of your bitcoin using a security-enhanced brainwallet. Part of the argument is that exchanges and online wallets are and will continue to be magnets for good XSS/CSRF attacks. Mt.Gox/Coinbase Engineers are fighting a difficult fight against well-incentivized enemies. http://maxtaco.github.io/bitcoin/2014/01/16/how-jason-bourne...
Comment linking /bitcoin/2014/01/16/how-jason-bourne-stores-his-bitcoin/
on “Account hijacking on MtGox”1. In open source, everyone plays lip service to how you can just fork things, but nobody wants to do the hard, infinite work of building a new ecosystem. You'll just rediscover the exact thing that burned evancz out. 2. Elm's stance on sync vs async ffi isn't a big deal. A fork is like when there was that IcedCoffeeScript spin off on CoffeeScript: https://maxtaco.github.io/coffee-script/ -- it's more of a gimmick i…
Comment linking /coffee-script/
on “Why I'm leaving Elm (2020)”Here http://maxtaco.github.io/bitcoin/2014/01/16/how-jason-bourne...
Comment linking /bitcoin/2014/01/16/how-jason-bourne-stores-his-bitcoin/
on “Frozen Funds”Just transform it to continuation-passing style[1] and call/cc is no problem (neither are non-local exits). Granted your compiled code will be somewhat large and not much like 'regular' code in the language. That can be solved by doing selective CPS transform (IcedCoffeeScript[2] does this), but that gets slightly less straightforward. Compiling continuations to a dynamic language is actually really easy. -- 1: http…
Comment linking /coffee-script/
on “Making a Mini-Lisp: Introduction to Transpilers in JavaScript”I very much like this model, but I wonder how necessary it is when we have IcedCoffeescript [1], ES6 generators + co [2], and ES7 async/await [3] as viable ways of managing async control flow within mostly synchronous-looking code, all as dialects of languages that have strong adoption. I actually think generators + co is a really strong model. Async/await gives you a slight bit of sugar, but I've realized that if y…
Comment linking /coffee-script/
on “Pogoscript – a compile-to-JS language that emphasises concurrency, readability”Yeah, I think the big difference for me is the language support. You can just await a method call instead of having to wrap the remainder of your block in a function. Perhaps I should look into IcedCoffeeScript ( http://maxtaco.github.io/coffee-script/ ) instead of plain CS.
Comment linking /coffee-script/
on “Promises/A+”I thought this was going to be yet another 'compiles to JavaScript' language. I was pleasantly surprised to see that it isn't. Unfortunately, there is an "Iced CoffeeScript": http://maxtaco.github.io/coffee-script/
Comment linking /coffee-script/
on “The Future of Iced Coffee”CoffeeScript isn't really supposed to offer new features, just syntactic sugar. And in my opinion it excels at that. IcedCoffeeScript, on the other hand, does introduce a few new interesting features: http://maxtaco.github.io/coffee-script/ It's still technically sugar, but it changes the way you think about and write code.
Comment linking /coffee-script/
on “Ask HN: CoffeeScript or ClojureScript for writing a game in JS?”I can finally use this little brain worm that has lived in my head for more than a decade now: IcedCoffeeScript has existed for ages https://maxtaco.github.io/coffee-script/ since well before ES got it.
Comment linking /coffee-script/
on “ClojureScript Gets Async/Await”