Overbearing mechanical genius father; family caught in the storm of his moods. What happens when an adult never lets go of the absolute self righteousness that the young feel? In other environments might have been a a "Great Man". Ends up being a crank and bully brought down by the "small world".
Not an enjoyable film; but might give you something to think about.
William was seeking a redemption arc in a measured and controlled way, not sure that is possible. Probably needed the "river" to come up the way it did, completely trashing his plans (hand). Only by loosing control of the situation could he get closure.
Good beginning, bit bored in the middle, and an above average ending.
The cutout scene where they fought in the bus was fun. I wonder if they made it purposely look like a platform game at points? Both the bus and the bamboo scaffolding fight scenes kind of reminded me of similar scenes from "God of Gamblers" (I think).
1996: "Huh-huh, Huh-huh, Huh-huh, Huh-huh"
2021: One "Huh-huh" is sufficient!
I think I liked this film more when I saw it in theaters. It was a well placed film at its release; accurately captured the "corporate counterculture" of MTV.
You know exactly what you are getting. Well done, but nothing you are going to think about after walking out of the theater.
I thought this fight scenes were a little dark (literally), sometimes had trouble making out who is doing what. The monsters were visually fun but were often difficult to discern from one another.
Whelp. This was worse than I had hoped for. Everything "fits", it is just kind of getting stale.
There was a moment when Roman and Tej were kind of waxing philosophical about how they keep surviving completely absurd things. Like really really really, entirely impossible situations. I was kind of hoping that the plot would go in the direction of:
St. Elsewhere Snow Globe type scene
Redshirts (novel) type plot
I'll even take a matrix-you-are-plugged-into-the-machines type ending
Yeah, I don't know, when I start daydreaming about directions your film could have taken while the movie is playing... we have a problem.
Eh, you shouldn't watch it. But I had some fried chicken and a beer and skipped through it a bit and it was... passable. Some of the goofy fight choreography kind of grows on you. Memorable scene at end with Jackie playing Chun Li from Street Fighter.
The last 2 months have seen a decline in my output. To combat this, I am implementing a new process that I hereby name the "CAR|CDR" system of productivity. CAR & CDR come from LISP Lore. I picked the name because I like saying CARKIDER phonetically.
It is really quite simple. I have a dynamic list of everything that is important to me. From projects to people to ideas to consumption to whatever. I enumerate every alternating day as either being a CAR (Head of the list) or CDR (rest of the list) day. For instance, this week MWFU are CAR (Head) days and TRS are CDR (Rest) days.
How?
On CAR day, I shouldn't be doing anything other than the most important task on my list. I purposely choose, and in doing so free myself, to ignore all the other task in life that I deem important. It means that I don't pencil in any other things that day, I don't try to squeeze some other concern in there. I also attempt to limit the number of decisions I need to make on CAR days to only things concerning the CAR item. It is a CAR day, that is its all encompassing purpose.
CDR days are for everything other than the head of your list. For this reason I am fairly flexible about what I should do within the rest of the list. Your CDR list should always contain basic things like "exercise", "enjoy life", "have fun", "socialize", as well as directly actionable things like "pay taxes", "study category theory", etc. I really just let whim and urgency dictate what I do on CDR days. CDR days are for inspiration, they should be the opposite of focusing on a singular purpose.
Why?
There are so many things going on in my own life and in the world as a whole that I don't have a good why. Explaining why is too big a question, and I suspect I could not do it if pressed. All I am sure of is that I am not able to focus on tasks like I once could. I think partially it is my brain rebelling against the monotony of my current life; the constraint of spending almost my entire day in a 13' x 17' room as we wait out this pandemic. Without a clear path forward, I am trying random strategies I think up and seeing if they help.
As for the question of why this strategy? I think it has to do with the idea of focused vs diffuse thought. I think my mind/personality is being softened as contact with much of my previous environment diminishes. It isn't just the lose of people, it is also the roles and activities and parts that I previously played. The CAR day gives me time to put my full intellect and focus towards a task, shutting out the outside world. The CDR day gives me time to softly adjust to the new world, without having to think about my most important thing upon that day.
This book, I assume, is supposed to be parody? Right?
I am not sure at what point speculative fiction becomes parody. Similar to the line between erotica and pornography, it may be one of those "I can't tell you what it is, but I know it when I see it" kind of situations.
This book has 2 broad halves, the Chinese half and the Chinese + American half.
Up to the limits of the Chinese half, I was constantly asking myself questions like "Wait, are children really this selfless? Can children really do these things? Are children really this emotionally stable?" I was constantly asking myself if Chinese children are this exceptional compared to American children. The self reflection, maturity, and insight the Chinese children possessed was incredulous. I felt a vague sense of unease that Chinese children might be so superior to American children (my birthplace). What future can the United States have when the youth of other nations are so superior to our own?
The second half (Chinese + American) of the book put those fears to rest... In a big way. I cannot comment on the emotional makeup and resiliency of Chinese children. I can however comment on American children. Yes, I agree, there are broad cultural differences between the two groups. Yes, American culture has its share of problems, same as anybody else. Yes, children are reflections of the culture they were raised in. However, his portrayal of American children paints them as little more than narcissistic conniving psychopaths. It is so over the top that it becomes... I don't know, almost an exploitation of American culture rather than a reflection of it. In short, I felt his generalization of American children were significantly off. So far off that I felt the American children were written as parody.
You start the book thinking that there is only one plot element that you must take as a given, that there could be a stellar event with an incredibly specific type of radiation that only kills people over 13. However, about half way through (maybe sooner if you are less naive than I am) you discover that there are actually three such plot elements. The stellar event itself, the characterization of American Children as little monsters, and presumably the characterization of Chinese children as miniature adults.
With all that said, it was still an enjoyable read. Prose sometimes felt a little "literal" for lack of a better word. It is a quick read, so I would be comfortable recommending it to most.
*** Real Plot spoilers below - Don't continue
Things I really liked or noted:
The quantum-whatever-star-trek-AI that the Chinese kids had was a bit of a deus ex. Whatever.
With that said, I loved the idea of a "real time chat" between millions of people. Where the AI would summarize the message of a large group of people and split them into separate singular "speakers" in real time. Allow any number of people to communicate but limit the expressive speakers to a number that is human understandable. Why can't we have something like that?
Prove me wrong, but there are many things that children simply can not do. They require emotional maturity, strength, or intelligence that children do not posses. I found the idea that most jobs could be taken over pretty ludicrous.
Maybe, with the help of an all seeing AI and the "best of the best" of China, you could have a functional society as outlined in the book. But I think a big part of this is the AI.
The American child society seemed entirely unstable. I had a really hard time believing that the characters on the American side of things could possibly do anything as complicated as launching a battle fleet, hosting a summit, or even keeping themselves fed. With those sort of characters, you would rapidly devolve into tribalism. Nothing of note could be accomplished with such a society.
I did enjoy the brutality that the children were allowed to express. I think we can all recognize at some level that empathy is something that develops for many people later in life (often around adolescense) . I did appreciate that it didn't characterize the children as being little angels. With that being said, I don't think that the "natural state" of children is even close to as terrifying as that expressed in this book.
I was especially confused why persistent automated monitoring and enforcement was not introduced as a final gift to the children from the adults. If they can build an all powerful AI, why not have the AI monitor what work is being done, chide, scold, punish and eventually exclude children who are negligent. Basically force compliance by pushing out children who choose not to work within the system. Many children would die, but many would choose to work with the AI as it assures stability for them. Seemed like a pretty large blind spot.
This book, I assume, is supposed to be parody? Right?
I am not sure at what point speculative fiction becomes parody. Similar to the line between erotica and pornography, it may be one of those "I can't tell you what it is, but I know it when I see it" kind of situations.
This book has 2 broad halves, the Chinese half and the Chinese + American half.
Up to the limits of the Chinese half, I was constantly asking myself questions like "Wait, are children really this selfless? Can children really do these things? Are children really this emotionally stable?" I was constantly asking myself if Chinese children are this exceptional compared to American children. The self reflection, maturity, and insight the Chinese children possessed was incredulous. I felt a vague sense of unease that Chinese children might be so superior to American children (my birthplace). What future can the United States have when the youth of other nations are so superior to our own?
The second half (Chinese + American) of the book put those fears to rest... In a big way. I cannot comment on the emotional makeup and resiliency of Chinese children. I can however comment on American children. Yes, I agree, there are broad cultural differences between the two groups. Yes, American culture has its share of problems, same as anybody else. Yes, children are reflections of the culture they were raised in. However, his portrayal of American children paints them as little more than narcissistic conniving psychopaths. It is so over the top that it becomes... I don't know, almost an exploitation of American culture rather than a reflection of it. In short, I felt his generalization of American children were significantly off. So far off that I felt the American children were written as parody.
You start the book thinking that there is only one plot element that you must take as a given, that there could be a stellar event with an incredibly specific type of radiation that only kills people over 13. However, about half way through (maybe sooner if you are less naive than I am) you discover that there are actually three such plot elements. The stellar event itself, the characterization of American Children as little monsters, and presumably the characterization of Chinese children as miniature adults.
With all that said, it was still an enjoyable read. Prose sometimes felt a little "literal" for lack of a better word. It is a quick read, so I would be comfortable recommending it to most.
*** Real Plot spoilers below - Don't continue
Things I really liked or noted:
The quantum-whatever-star-trek-AI that the Chinese kids had was a bit of a deus ex. Whatever. With that said, I loved the idea of a "real time chat" between millions of people. Where the AI would summarize the message of a large group of people and split them into separate singular "speakers" in real time. Allow any number of people to communicate but limit the expressive speakers to a number that is human understandable. Why can't we have something like that?
Prove me wrong, but there are many things that children simply can not do. They require emotional maturity, strength, or intelligence that children do not posses. I found the idea that most jobs could be taken over pretty ludicrous.
Maybe, with the help of an all seeing AI and the "best of the best" of China, you could have a functional society as outlined in the book. But I think a big part of this is the AI.
The American child society seemed entirely unstable. I had a really hard time believing that the characters on the American side of things could possibly do anything as complicated as launching a battle fleet, hosting a summit, or even keeping themselves fed. With those sort of characters, you would rapidly devolve into tribalism. Nothing of note could be accomplished with such a society.
I did enjoy the brutality that the children were allowed to express. I think we can all recognize at some level that empathy is something that develops for many people later in life (often around adolescense) . I did appreciate that it didn't characterize the children as being little angels. With that being said, I don't think that the "natural state" of children is even close to as terrifying as that expressed in this book.
I was especially confused why persistent automated monitoring and enforcement was not introduced as a final gift to the children from the adults. If they can build an all powerful AI, why not have the AI monitor what work is being done, chide, scold, punish and eventually exclude children who are negligent. Basically force compliance by pushing out children who choose not to work within the system. Many children would die, but many would choose to work with the AI as it assures stability for them. Seemed like a pretty large blind spot.
I wanted the opportunity to try out Planck(User Guide)(SDK), which lets you write shell scripts in clojurescript.
Wrote a small script to upload my blog into Github hosting.
Like the fact that it mixes the clojurescript code with the shell commands (sh ...). One can use simple shell commands and compose them with clojurescript. Loose the value of pipping and shell expansions, but sometimes that is a reasonable trade-off.
contains? will check (in the case of a map) for a key within a map. (contains? data v) returns true when v is :a or :f. (contains? data :c) will return false as :c is not a top level key in data.
Problem
I want to ask "containment" questions about the keys at ALL levels within a map. I want to be able to determine not just that :a and :f are within the map but also that :b, :c, :d, :e, and :g are "contained" as well. Conversely, I want to know that :z is not a key within any map in data.
Solution
(defn- add-children-metadata [m]
(->> m
vals
(map (comp :all-keys meta))
(apply clojure.set/union (-> m keys set))
(assoc (meta m) :all-keys)
(with-meta m)))
(defn map->containment-map
"Sets :all-keys metadata for every map in m; :all-keys holds every key in this map and for all submaps"
[m]
(-> (fn [acc k v]
(assoc acc k (if (map? v)
(-> v map->containment-map add-children-metadata)
v)))
(reduce-kv {} m)
add-children-metadata))
The difference is that contained-data has the :all-keys key within its metadata.
(-> contained-data meta :all-keys)
Examples
With this metadata, you can ask containment questions about keys at all levels. Each submap within contained-data also contains :all-keys in their metadata.
contained-data contains the key :f
(-> contained-data meta :all-keys (contains? :f) (= true))
contained-data does not contain the key :x
(-> contained-data meta :all-keys (contains? :x) (= false))
Key :a under contained-data has keys :b:c:d and :e
(-> contained-data :a meta :all-keys (= #{:b :c :d :e}))
Conclusion
That's it. You can use the :all-keys metadata to either:
Do fast containment lookup of all keys within a map.
I need something that converts a particular key/value within a sequence of maps into a single map. this->that will do nicely.
(defn this->that [this that vs]
"Build a map out of sequence vs; taking `this` as the key and `that` as the value from each"
(reduce
(fn [acc v] (assoc acc (this v) (that v)))
{}
vs))
;; -> {:key-1 :value-1, :key-2 :value-2}
Within this->that the arguments this and that are being called. This must mean that keywords (:id, :email, and :name in our case) are callable as functions! this->that actually takes two functions as the this and that arguments. this->that can take a sequence of any type in vs, provided that you can write functions to pull values from every element in vs.
Let's illustrate the equivalency of keywords and functions below.
Trying to get back into the swing of things in terms of writing. It is a muscle I need to exercise and all that. Start easy by just posting a movie review.
I think Hellboy (2019) is the second most frenetic movie I have ever seen (First goes to Crank 2 High Voltage). It is the most "Russian Doll"'ed plot in my recollection; felt like one backstory introduced every 15 minutes. Lots of exposition. Fair share of flashbacks. Narratively, it was a mess.
I could spend time ripping it appart on the above, but why waste both our time? You should know that it has a awful review on rotten; if you are looking for fodder to critique the film, it is available. Let's see if there is anything interesting here.
Animate it?
Watching a movie sourced from comic book material, one of the biggest questions I have is "Why don't they do animation instead?" Budget on this was ~50 million dollars. Spider-Man: Into the Spider-Verse was excellent with a budget of 90 million. How good can an animated movie be with a budget of 50 million? I don't honestly know.
But here is the interesting thing. I suspect that the art assets and know how from doing one animated film also transfer to its sequels. This is of course also true for live action film. But live action films have significant cost that animated films do not. Beyond the cost of getting actors, building sets, equipment, post processing, etc, you have the simple fact that most artifacts built for the film will not be used in subsequent films.
Animation is different. Once you have worked out the software to do character kinematics, once you have the right textures, once you have figured out the proper lighting, you just keep using it. The cost to store the know-how you have accumulated over previous films is negligible. You need to save your software (and yes, even 2d animation is made with extensive software these days) and you documentation. Maybe the first film in a series cost 100 million because of novel development in your tech stack. But the next film can be made for substantially less because you are just going to use the same software and tweak it for every release to use newer (and cheaper) hardware.
In favor of animation
I suspect one reason animation is ignored is that animated movies have a low return of a few hundred millions. They rarely generate billion dollar returns. It feels like Hollywood is more interested in making 300M movies that have a 20% chance of making billion than a 50M movies that has a almost 100% chance of making 60M.
In favor of "malleable" material
It is also the case that Hollywood seems to be obsessed about making franchises these days. I get it, you need something that won't just pay the bills today, but might also keep the lights on tomorrow. Comic book material is perfect for franchises. The material is already so malleable and the constraints of the world are so soft that it is easily and endlessly re-mixable for all of eternity.
What's your point?
Animation & comic book source material are a match made in heaven for diversified risk. When you can make 6 to 10 NEW animated movies for the cost of a single live action movie, you can take a lot more risk.
It is a pretty simple program:
Make an animated movie of a comic book property at a low enough cost that you almost certainly will recoup expenses.
If your movie is franchisable, then go to 3, else go to 4
Release a new film in the franchise. Ruthlessly focus on being profitable AND cutting cost for future releases. Rely on the fact that you can re-use assets and depend on the loyalty of die hard fans to generate a certain amount of revenue. Before every cycle, ask "Is expected return greater than expected cost?", if "yes" go to 3, otherwise go to 4.
Pick another comic property and go back to Step 1.
Datastore (Google App Engine) does not let you lock the database. So how do you map across every element in Datastore? Here is a very rough and tumble solution to that problem.
Usage
Assume you have a ndb.Model named Widget
Begin pagination using the following (note that Widget is case sensitive)
I have never been much of an academic. In high school, all my friends were accelerated 1 year and allowed to test out of algebra 2; my scores were too low to allow me to skip it. Not wanting to be left behind, I resolved to take algebra II over summer.
That was a mistake.
That Summer I took algebra II with some laughably bad students at an inner city school. It was surreal. We would spend 4 hours a day in class, doing almost no real learning. I believe one kid was actively jerking off in the back of the room. One girl was pregnant and was taking life advice from another teen mother. By the end, we had covered maybe 3 out of 15 chapters. It was a complete failure. Somehow everyone who showed up passed. I later heard that Texas had so many "super seniors" clogging up the system that they created summer classes like this which were guaranteed passes; the goal was not education, the goal was to move people out of the system.
Like an idiot, I then took my "pass" in algebra II to my own school. I was happy, I could stay with my friends! Mathematically, things quickly fell apart. I realized that I was in over my head. The prospect of admitting that I couldn't hack it was even worse than my previous fear of being left behind (teen logic at its finest). For the next 3 years, rather than understand anything, I built elaborate workarounds to avoid exposing my ignorance. I didn't know how to actually solve most problems, I did however understand that my TI-83+ calculator could approximate the solution to most everything. With a little bit of flourish I could provide something that looked like I worked through a problem, despite the fact that the only thing I really had was a solution and an understanding of my calculator.
I graduated missing around 4 years of high school mathematics.
I feel like failing to understand some of the basic concepts in Algebra II substantially retarded my progress in mathematics. I lacked the basics that were necessary to move forward.
Mathematical Learning
The plural of anecdote is not data. With that said, this video resonates with me. I like the idea of mathematics being a small graph of deeply connected nodes. Failing to understand one of the axiomatic/deeply-networked nodes can make understanding the interconnected nodes very difficult.
Contrast this to history with its much larger number of nodes. These nodes are interconnected, but not as dependent on each other. They might provide context or contrast relative to one another, but they are not required for understanding.
I found the following intriguing because it unified the notion of habits and the notion of self. I have always viewed my habits as external things, there is me and then then there are my habits. Habits are something external to me. "I am attempting to practice the guitar every day." "I am attempting to give up eating dessert every meal." I view habits as something outside of myself; something I do with willpower.
It is a powerful shift in perception to consider that you are a collection of habits. That the emergent notion of you is a complex interweaving of habits; some so fundamental that you have "subsumed" them into your definition of self.
I find it comforting to consider that all reactions to the world are just a matter of habits. Skills are habits that help you react properly to the world. Addictions are habits that have become too ingrained and lack nuance. All problems can be tackled by thinking of them as habits that need to be internalized (or broken) to allow you to get to your desired outcome.
The central premise of 2017's "The Circle" is that the world has been fully connected through a network of always on, always watching, tiny, cheap, inocuous cameras.
It is technically sci-fi, though all the elements I observed are more than reasonable. More a matter of minitiuarization and falling hardware prices than actual technological breakthroughs.
The Good
I am very forgiving of things that cause me to change my perception, or open me to a new way of thinking. Did this movie have flaws? Absolutely. I'll get to those later. Let's talk about what it did well.
Use of a character as a proxy for popular culture
Emma Watson went through the stages of acceptance of an omnipotent society in an extremely collapsed timeline. What she did in a matter of months most people in developed nations are still aclimatizing to.
At one point Tom Hanks turns to her and gets her to "admit" that having experiences that you do not share with others is a form of theft. A form of emotional hording. At this moment in history, such an idea seems ludicrous. Almost perverse. Only celebrities and politicians have no right to privacy? Right?
I don't know.
I am not sure people 15 years from now will agree. How would someone from 15 years ago feel about selfie sticks? Snapchats of your dinner? Tweeting by politicians. Sexting. Facebook friends. Online Dating. Etc. Probably seems pretty ludicrous. Inhuman. Disconnected. Shallow. And yet, here we are.
Accounting the cost and benefits of omnipotence
Yeah, a lot of great things could occur. From the trivial to the fundamental.
Immediate reactions as machines watching our feeds recognize violence, injury, and danger and automatically notify and dispatch emergency responders.
Automatically and constantly dealing with fundamental weaknesses in society. Making sure that people don't get too isolated; too lonely. That people who exhibit sighs of mental disorders are regularly visited by health care professionals. Checking in on everyone with the (literal) persistence of a machine.
Violent crime does not make sense. Only physical crime that would still exist would be crimes of passion. Crimes that law enforcement was incapable of negating due to being sudden and unexpected. Although tragic, when a violent crime occurs, it would almost always be evident what occured and who was responsible.
Ask yourself? How much would you be willing to give up for such a world?
Open Goverment
Movie makes a big deal about having a open (probably puppet) politician.
Prisons
Here is one that I fully agree with. Prisons should be places that have cameras literally everywhere. In a high risk environment like a prison, I would happily trade my privacy for the knowledge that I am not going to be raped or assaulted.
Police Officers
This is already occuring. I forsee that in the next decade, the cost of insuring a police officer who refuses to wear (and use) a full body camera will be so high that departments will require police officers to have them running at all times.
Politicians
Heh, I don't know. It would be interesting. Could most of the goverment be entirely opened? Would we allow "black boxes" like the CIA, FBI, NSA, etc? Would it turn out that backroom negotiations by our nations actually do benefit citizens more than they hurt? Would it cut corruption? Hard to say.
The Bad
What was John Boyega constantly looking at on his phone?
Why did John Boyega show her the basement? What was the significance of mentioning the water at the end of the tunnel?
What the hell was John Boyega's problem? Why did he seem to have all this power to do all these things, and he literally just stood around the entire movie doing... what? Waiting for Emma Watson to make a decision about the future of our "omnipotent" distopia/utopia? It made little sense.
Software engineers tend to be pretty opinionated. There would be a lot of dissent about some of the things that "Circle" was doing. It was a little unrealistic how "united" (cult like) the "Circle" corporate family was.
Ellar Coltrane was a rather odd inclusion. From the scene where he comes to the Circle campus to complain about being a "deer killer" onward, it just didn't fit.
The Ellar Coltrane rising action and denouement was pretty lame.
Emma Watson's transformation from being a skeptic of the omnipotence to a supporter did not really feel earned. Might have played a little more to why she is putting away her previous skepticism and what particular benefits she thinks a fully connected society will bring.
Honestly, too many ideas, not enough time to give each of them their own merrit. This is a difficult and multifaceted question with most of its sharp corners filled down.
Conclusion (spoil the last scene in the movie here)
Yes, it has some serious flaws. But it gives you things to think about, and it honestly resolved the ending in a rather novel way. Rather than fighting the system, Emma Watson instead fully opens and embraces it. Basically making the case that if such a system exist, it needs to be placed under open rather closed controlers.
If you are going to have a system that is going to audit the world, then you must audit everyone in control of that system.
I went to clojurewest 2017 in Portland, Oregon. Good conference, lots of good information. Here are my observations, my notes, and a few pictures.
The Good
The conference was well managed. The talks were mosty interesting. The community continues to be friendly, open, and inclusive.
The Bad
I wish there had been a few more "This is something I worked on that is very cool" type presentations, but you can't force those. Maybe there just wasn't as much cool stuff in 2017 compared to previous years. I guess every year can't be a "Clojure now compiles to javascript" or "core.async, use it" kind of year.
The City
Portland is an interesting city. I didn't actually realize how small and walkable the core of the city is. In San Francisco, I have practially forgotten what it is to see families with kids on the street. It is certainly a nice place to visit. I liked the eating, the literary/craft tradition, the beer, and the people. It did have a number of younger homeless (kind of reminded me of Berkeley). It did have the feeling of a place that gets a lot of tourist (that can be tiring when you live there). I could see myself being very happy there, but I haven't heard a whole lot about the tech scene there. The public transportation is excellent and the lack of traffic is a pleasure. I don't know if it is a place to "see and be seen" but it certainly felt like a place to "live and let live". Kind of like the kind of "weird" that Austin aspires to.
Count is O(n) on a concat, as concat is lazy and only closes over two collections
Recommends understanding transducers if you are going to continue using core.async.
If you are going to use async code, then consider writing a framework such that the asynchronous code is hidden from the user.
High Level:
Keep userspace code pure
Move complexity out of user space
Make dependencies explicit
Leverage this for easier testing
Use core.async to enable cleaner abstraction, not as an end in itself.
With Great Composition Comes Great Responsibility - Elizabeth Engelman
Datomic data is immutable
Datomic is ACID
Datomic is very flexible
You can of course just concat if you want to put where clauses together
Using spec to Transparently Replace a Legacy System - Daniel Solano Gómez
Capture a day’s worth GET and generate specs for them. Now you can generate inputs used on your system automatically.
Maybe this is an example of actually being able to do full rewrites. If you have a endpoint system than you should be able to replace it by specing it out.
In a odd way, kind of another argument to keep the API of your old customers live. Even if you do upgrade the code, be sure to have a backwards version of the API that older customers can continue using forever.
Testing Made Simple - Tony Kay
In order to test something, you often end up writing a second version (generative).
General principles
Don’t clump
Don’t involve more than 2 layers at once
Name the thing under test and use a “sentence completion” around each test
Design is more important than most things. If you ever say that your design is really hard to test, then that probably means your design is bad.
When testing macros in can often be beneficial to use clojure.spec to write conformance. Macros should be tested for the actual code transformations, not for the side effect, that way lies madness.
https://github.com/untangled-web/untangled-spec
Practical Clojure Profiling in Production - Gregory Sizemore
YourKit - Great for profiling
You should profile on production data!
Reflection is really slow
Usually does not matter
Type hints can help
Criterium - benchmarking library for clojure
Be sure to measure and RECORD every time. You need to be able to “remember” what the performance measures were previously. Don’t rely on yourself remembering how long things took. (NewRelic is recommended)
Clj-newrelic - gives you a macro that lets you easily trace functions
Navigating ClojureScript's Fire Swamps - Peter Schuck
:infer-externs true
Library cljs/oops
Fx oget, oset, ocall, oapply
https://github.com/binaryage/cljs-oops
Soft-access ?, punching !,
Prefer CLJS library or externs files, when neither exist use clojurescript externs inference or cljs-oops
Google closure compiler can now compile node modules
Npm-deps
Modules have existed for 2 years! They are really good at splitting. They really suck in terms of all the boilerplate OO code you have to write in order to use them…. Probably still not worth it.
Library conwip.modules
Fearless JVM Lambdas - John Chapin
Austin conference on May 8
Backend as a Service: Firebase, Cognito, Auth0
Functions as a Service: AWS Lambda, Microsoft Azure FUnctions, Google Cloud Functions (run in response to events)
Serverless = Backend as a Service + Frontend as a Service
Excellent Serverless use cases
Latency Tolerance, asynchronous - Data Pipelines
Latency tolerant, synchronous - web apps, API’s
Glue
So if you have to use them, then go ahead and use them.
Robot Repair - give the gift of Boolean Satisfiability
Constraint Programming deals with variables that can take on a finite number of integer values, multi-valued variables + logical and arithmetic constraints
Full Stack Teleport Testing with Om Next & Datomic - António Monteiro, Mike Kaplinskiy
At one point they said a parser query can be a mutation? Seems weird.
Use integration test for correctness in parallel for load testing
Run test in parallel using multiple databases
Something about cloning the state of the database so that you can for datomic actions.
https://github.com/vvvvalvalval/datomock
Takeways
Datomic is awesome
Homoiconicity
Om Next reified state transitions (as data!)
Immutability (structural sharing)
ClojureScript in Your Pocket - Dom Kiva-Meyer, Lily M. Goh
ReactNative - Fast Iterations, Familiarity, Cross-platform, Performance, Large Ecosystem
Could you only develop ReactNative and just ignore the web
Expo - Provides additional API’s and allows you to use without needing Mac dependencies. Is somewhat of a “walled garden” of audited features.
http://graphql.org/
Graphql voyager
GraphiQl
Lacinia - https://github.com/walmartlabs/lacinia
Datomic
Rest - swagger is probably best / graphql tooling so much better
http://swagger.io/ - Might be good for gaend
I still really don’t get how you go about deciding on the schema?
Power to the (Mobile) People: Clojure and GraphQL - Howard Lewis Ship
GraphQL resultant is the same “shape” as the query
Some queries are mutations…
SCHEMA defines the data from graphql’s point of view
Your job is largely to define functions that handle the different queries
It's Just Data - Bob Calco
These are good slides, you should look at this more
A human being with a good visualization can currently understand many things more efficiently than any amount of machine learning.
Datomic is a great story for understanding the flows of anything through time, including bad data, which can be important for understanding the worlds understanding through time
Datomic does not have a required field for the same reason it does not have a null value.
Irrevocable Trust are kind of cool.
“Objects and entities are total figments of our imaginations”
Datomic allows you to simply add attributes as the facts of those models are revealed to you.
Emulators, Immutability, and Time Travel - Angus Fletcher
NES Emulator
E.T. almost killed video games
Nintendo Entertainment System saved it
** PPU is a fancy clock
Cycle (vertical) (0-40)
Scan Line (Horizontal) (0-261)
Keeping everything in one place (atom) works really well
Synthesis and Verification for All - Emina Torlak
A solver-aided tool
Rusette allows you to implement an interpreter for your language which somehow makes your failing cases pass. I am lost.
DSL’s are good because
They result in less code for humans
They have additional constraints that allow tools (like solver-aided languages) that can be exploited.
The verify logically goes through all paths of the program and ask if any symbolic variables can be given values that cause things to not assert correctly.
I took a 3 week trip to Japan from January 21 from February 12. I didn't have an itinerary, exploring as I saw fit and moving on when the mood struck me. Through the trip, I stayed in Tokyo, Tanabechuo, Kyoto, Osaka, Hiroshima, and Nagasaki.
Purchases
I made several purchases before the trip:
Japan Rail Pass
The Japan Rail Pass (Green) is a Japan Rail (JR) pass that lets you ride most trains in Japan. My most "Japan specific" purchase that I would recommend to anyone. The (Green) designation means that it is business class (effectively), which means better seats and reservations. I bought the 21 day pass for $700.
You have to buy this pass outside of Japan! It is only available to tourist to Japan. Purchase it before you leave, activate it when you get there.
This pass lets you ride most intercity trains at no cost. Intracity trains probably are not covered, but they are around $2.
You can save a little money by NOT using the pass and instead buying the tickets at the station. You can also of course pay less if you take a slower train or a less desirable route. It is up to you to decide whether this is worth your time.
The pass is the ultimate in flexibility. Just walk up to any JR office and tell them where you want to end up. They book all connecting trains for you then and there. They book you on the next (could be in 5 minutes) train that will get you there as fast as possible. If you have the Green pass they also reserve a seat for you on almost all trains. It is just so easy. You don't need to read local maps, you don't need to plan ahead, just point on your phone where you want to end up.
I think I basically broke even, but you could go wild on this thing and take a JR trip every day. It is really unlimited.
Google Fi
Google Fi worked out normally. When I landed in Japan it told me that I would pay the standard $10/gig data rate and I believe $0.20/minute. Use your Wifi call if at all possible. Coverage seemed pretty good everywhere. Was able to use it on most of the high speed trains, spotty between Hiroshima and Nagasaki.
Tortuga Outbreaker
The Tortuga Outbreaker 35L was a altogether worthwhile purchase. Most compeling features is the ability to open it fully (not just from the top) like a conventional suitcase. You don't think about it, but not having to pack and unpack your backpack is a real time saver. I also thought the compartment for the laptop with easy access was convenient, as you will be taking that out on a regular basis throughout the day.
Other feature true of the 35L is that it counts as cary on in all airlines (even small planes). It is convenient not having to wait for any lugage after a long day of travel.
hostelworld.com
I used hostelworld.com. Easy to use website. Clean interface. I would book my next hostel 5 days before actually arriving. Never had a single issue. They take I think like 10% as deposit on booking, you then pay the rest upon arrival at the hostel.
Bose QuietComfort 35
I recently bought some Bose QuietComfort 35 headphones for work. This is my best product purchase of 2016. They made air travel more pleasant (shut that baby up!). They made watching the landscape flow by on the trains more moody. They gave me a slight taste of home when I am feeling a bit lonely. Seriously. Great. Headphones.
And now, without further ado, I present... a silly number of pictures: