fazzone's comments

fazzone | 6 years ago | on: Clojure’s Approach to Identity and State (2008)

This is pretty much how clojure atoms [0] work. It's basically a Clojure wrapper around a Java AtomicReference, but Clojure's immutable data structures make an atomic reference type really useful because it is very cheap to read a "snapshot". It doesn't do upfront allocation, because like you mentioned, that requires you to have some knowledge about how the accessing code works. Additionally, whatever you are doing in Clojure is pretty likely to allocate memory anyway, so it probably wouldn't be that beneficial.

[0] https://clojure.org/reference/atoms

fazzone | 7 years ago | on: Mathigon – an interactive, personalized mathematics textbook

Some years ago I worked at a technology-oriented summer camp where I personally taught several bright young children to program. Minecraft mods were an incredibly popular project and a big driver of interest for many of the kids. Many of my counselor colleagues got into programming themselves modding Warcraft III and other games of that era. The absolute conversion rate may be low because the playerbase is so huge, but I think something like Minecraft is definitely the first (or zero-th) step in the journey of a lot of kids these days who become interested in technology and will later develop into the next generation of programmers & technologists.

fazzone | 7 years ago | on: Clojure at Netflix (2013) [slides]

In Clojure unresolved names are a compile failure, and Spec would not be involved. Spec is just a nice library for writing runtime assertions about data. An example would be calling a third-party API and then validating the response with Spec to make sure it matches your expectations, or even validating the responses you are about to return from your own API. Similar to a type system the Spec can also serve as a sort of documentation about what's in the data structure.

fazzone | 7 years ago | on: The Growth of Reddit

Wow, I really can't imagine an acquisition that I would less rather learn about than FB hypothetically buying reddit. Considering how FB has all the money in the world it is probably wise to start editing/deleting all my reddit comments now because once FB slurp the whole DB it's already over - the fact that I would never visit reddit again wouldn't save me.

fazzone | 8 years ago | on: Clojurecademy is now open source

To expand on the debugging bit, Datomic knows and can tell you the exact transaction responsible for every piece of data in the database. You can also see the complete state of the DB as of any transaction, but the complete history is more useful. It's like git blame for the database.

fazzone | 8 years ago | on: There's No Fire Alarm for Artificial General Intelligence

I think the strongest point in the article is this: "After the next breakthrough [in AI], we still won’t know how many more breakthroughs are needed, leaving us in pretty much the same epistemic state as before." That means that if we aren't prepared to start work on AI alignment now, there's not likely to be any sort of future event that will convince us of that.

fazzone | 8 years ago | on: Show HN: Sourcetrail – Get productive on unfamiliar source code

I am playing around with an idea like this for editing Clojure in Emacs with cider-mode. You have to manually build the 'thread' that such a code unravel-er would return, but then you can read and edit functions from many files in one buffer. You start with the highest-level function you are interested in, and then pull the definitions of functions it calls into view as needed.

https://github.com/fazzone/multifiles.el/tree/cider-hacks

fazzone | 9 years ago | on: Programming in the Point-Free Style

A guideline like "three arguments to a function" says nothing about the type of those three arguments. You are right that there are many jobs that require 8 or more pieces of information, but often those parameters can be grouped into structures which each hold multiple pieces of information. The point is not to create types for every function just to hold their arguments, but that well-thought-out data abstraction can simplify things by factoring data into named structures that are used in multiple functions. For example you could have a drawRectangle function which takes four parameters (x1, y1, x2, y2) of some primitive numeric type, or you could create a Point type and use just two of those. This improves clarity because it is obvious just from the signature of drawRectangle(Point a, Point b) that you are specifying the endpoints of the rectangle, whereas four numeric arguments could mean (x1, y1, x2, y2) or (x, y, width, height).

fazzone | 9 years ago | on: Fewer than 3% of cars sold in the U.S. have manual transmissions

My point is that they far over-prioritized fuel economy. If you actually drive like that you will be spending a lot more time changing gears than necessary, and that almost any acceleration will require a downshift. I wouldn't recommend trying to stretch the gas mileage in the snow, for example, since you might need power to recover if you start to slide.

fazzone | 9 years ago | on: Fewer than 3% of cars sold in the U.S. have manual transmissions

>gear-shift indicator in the dash.

My VW has this. It's useless, I never look at it. It is very simple and clearly intended only to give the best results on the controlled gas mileage testing - I believe that if a manual car has a gear-change indicator, the EPA test drivers are supposed to follow it. The advantage of a human selecting gears is that they can use more information than just the speed and engine rpm; for instance there is no point shifting into 6th gear if you see a big hill right in front of you. It also never indicates for the driver to skip a gear. Maybe you will save a few bucks on gas if you follow the indicator religiously but you'll probably break even after you have to replace your clutch early.

fazzone | 9 years ago | on: The Neural Network Zoo

Well, a lot of the papers published in the field present results like "We designed a neural net to perform <task> and achieved X% accuracy." The design of the net is novel and interesting enough to merit its own publication. If there was some sort of theoretical framework, results like that would not be interesting, because presumably the theory would explain which NN architectures are good at different tasks and why. I think that we will get there eventually, but right now I don't we have enough data for patterns to emerge and hint at some sort of Theory.
page 1