HNHacker News
TopNewBestAskShowJobs

aenigmaclamo

31 karma · joined January 11, 2018

submissionscomments
aenigmaclamo··on CS240 AI Cheating Retrospective

  * Do not use variable length array in this class
  * Some of are you are copying code and concepts from things outside of course material
     * `fgetc()`, `sizeof()`, `malloc()`, etc
     * You're probably cheating.
     * You're also making your life more difficult
I always found these sorts of instructions quite frustrating as a student. If I'm a student enthusiastic about learning a language, I would have definitely been one of the kids trying to figure out how to use malloc and creating novel approaches to the projects that are assigned to me. It's a university class, why the hell not? Besides, isn't that going to be an advantage towards me considering the code is going to be evaluated by a anti cheat engine?

The AI stuff aside, this comes across as a professor who feels threatened when his course isn't taken as doctrine. Being called a cheater for using external resources is ridiculous to me.

aenigmaclamo··on JS Visualizer – Visualize Context, Hoisting, Closures, and Scopes in JavaScript
I thought this would be really neat to display some simple recursion. But it seems like it's completely broken for that: https://javascriptvisualizer.com/?code=function%20f%28n%29%2...

Seems like someone's already reported the issue, though.

aenigmaclamo··on Debounce in Bash
This seems more like a throttle rather than a debounce:

https://css-tricks.com/debouncing-throttling-explained-examp...

aenigmaclamo··on TypeScript support for ES Next pipeline operator
It is fired on every instance of the component. However, if you create the arrow function in the render function, it'll be created for every render. Since React keeps the component instances around between renders, it can be a lot better.
aenigmaclamo··on Goodbye Microservices: From 100s of problem children to 1 superstar
Have you ever tried to go back to no longer writing SPAs?

Sure, it's easy to work with at first but then you start to realize that every framework and every language has different ways of doing all the niceties that you now expect. Asset pipelining, layouts, conditional rendering, and template helpers all end up becoming stuff that every language has to individually develop with varying levels of success.

Even with those features baked in, you probably still want to modify the page using JavaScript, anyway, so then you have to re-render parts of the page without the aid of the expansive view system that rendered your page. And, of course, the more JS you put in your app, the more you have some bastardized hybrid of a SPA and a server rendered page.

aenigmaclamo··on Ethereum programming for web developers
No, there isn't one. The reason is that you can do everything the blockchain data structure can without using blockchain by just putting it in a traditional database with more ease.

If we take a look at Bitcoin, think how much easier it is to implement if we just didn't use blockchain -- it's literally just a single SQL table of transactions and some sort of API to be able to submit transactions. From an application development perspective, all the extra cruft that Bitcoin needs to work makes blockchain less useful for normal application development.

The point of a blockchain is to essentially be able to do what we do normally in a centralized application in a decentralized way with a different set of controls in terms of trust. It also acts as a specific secure by design architecture that allows us to build these distributed applications using an established model.

Don't get me wrong, though, having a different trust model is significant. It can allow us to make applications which we otherwise couldn't make before because of non-technical reasons. For example, an application like secure voting isn't done (or is discouraged) with an immutable database because we don't trust the central authority -- but with blockchain, we can better trust that all votes are valid.