Attention is a limited resource that intrinsically dictates our perceptions, memories, and behaviors. Our aim is to use attentional measures to enrich graphic novel narratives. FrameShift uses eye tracking to measure reader attention and changes text and visual elements later on in the story accordingly. We have built an extensible framework for using attention to introduce perceptual changes in narratives. We use attention as an indirect method for interactions and introduce shiftable frame nodes that change readers’ belief states over time.
At the start of every term, we try to get new students who are working at the DALI Lab onboarded. There's a lot to learn: the DALI Lab project process, design skills, development skills, team skills, and how to collaborate properly using git, slack, etc.
Usually we have a new member orientation which consists of an overview of the lab process and a team building hacktivity (which I'll write about later). However, last term in addition to the orientation we also introduced specific workshops to help with this onboarding.
The goal for this specific workshop was to get both designers and developers up to speed with coding collaboratively. CS classes at Dartmouth by and large don't teach any git flow or much about code version control, so I had to think about how to go through a lot of material quickly, yet enable everyone to feel comfortable with working together on some basic coding.
"Finding backbone substructures that match an arbitrary query structural motif, composed of multiple disjoint segments, is a problem of growing relevance in structure prediction and protein design" -- Gevorg Grigoryan.
I took on building a PyMol module and a server API component as a weekend project to allow his lab at first but then others to be able to use his _MASTER_ search database for building proteins.
Crafting 3D paper pop-ups can yield complex, expressive geometries, and can help develop spatial reasoning skills. However, designing the cuts and folds is often a frustrating process due to the strict geometric constraints. Foldlings is a tool that assists in this exploratory process, allowing a user to draw lines and be guided in creating well-defined pop-ups. We simulate the pop-up in 3D, allowing users to quickly preview their design before printing or laser cutting. We created an iOS app written in Swift, and performed informal user tests with 23 undergraduate students.
This is a Rails + Backbone app that was designed and built at the DALI Lab for the United States Holocaust Memorial Museum in 2013. The site is driven by statistical models developed by the Dartmouth Department of Government and the Center for the Prevention of Genocide. The models attempt to predict the risk of atrocities over time and place; our site aims to communicate this data to a large audience.
It has been a month since ChessInvaders was published in the App Store! It has "sold" (for free) more than 6k copies, and has been engaged with (played through at least one level) almost 15k times. The download rate has slowed to about 10 a day, but about double that are playing every day! I'm pretty happy with that given that it's a pretty hard and definitely beta quality game experience.
Coroutines are awesome. If you aren't familiar with them (particularly in the context of Unity3d) then you should be. In short, coroutines are methods that can suspend and resume execution. In the context of Unity what this means is that you can have methods that appear to run concurrently. Coroutines are **the** way to script a lot of things in Unity, however there are a few problems that you may run into if you use them heavily: exception handling, return values, and locking. Especially if you use nested coroutines! Here are some ways to extend coroutines to fix some of these issues.
I had a previous post about singletons in Unity3D and have since added a useful functionality to that class. One of the useful features of a singleton is that it is self instantiating. But what if you want to use the Unity editor to expose some public variables and have some other assets hooked into your singleton? So since you are probably using prefabs to manage game components in your scenes anyway, seems like it might be useful to have a self-loading prefab for components such as the player or a gui controller.
In Unity3D having a singleton class is very useful, whether for "global" state or simply for the convenience of having a static accessor so you don't have to have lots of: <code>FindObjectOfType(typeof(Builder)) as Builder;</code>
So you code up a C# singleton and then realize that you actually need it to be a MonoBehavior, not just a ScriptableObject -- say you want the singleton to run coroutines, or have a transform, or any other MonoBehavior feature. But monobehaviors can't be initialized with a constructor. So what you want is a monobehavior pseudo singleton pattern.
I used to do a lot of wood carving, chip carving in particular. This is a style of woodcarving found in traditional folk art around the world. Geometric patterns composed of 2, 3, or 4 sided pyramid shaped chips are carved out of the surface, usually with a single knife. Each chip comes out as a single piece. It can be used to decorate large building surfaces as well as more intricate pieces such as boxes or art frames.
Want to learn about why the dorsolateral prefrontal cortex is the coolest part of the brain? With the onset of modern neuroscience a common question often discussed is: where in the brain are self-regulation, executive control, free will, volition, selection, short-term memory, attention, planning, and overall consciousness located and by what neurological processes do they occur.
My eyes are glued to the screen. They rarely blink. They become irritated but I do not notice. I am in the zone. The force is with me. I feel it flow through me. I am coding. Even though the coding paradigm may not apply to everyone, we all know that feeling of hyper-attention. When an activity is so engrossing that the rest of the world fades away, we are left mano-a-mano, tête-à-tête, our ego and the task battling together for mutual gain.