My new memory came in from NewEgg.com, and as I thought, the installation was a breeze! Here I have the computer on a flat surface, and I’m grounded and have made all efforts to reduce static electricity. I’ve unplugged the computer, removed the battery, and opened up the memory slot. Here we see the one old memory stick, with room for another one:
Here is one of the new sticks. The maximum that the Thinkpad T30 can handle is 1GB, meaning 512MB on both sides. And they needed to be 200-pin DDR SODIMM sticks. Here is what I found:
I went with PC3200/DDR 400 because memory is backwards compatible. So even if I get something a little too powerful for my laptop, it can’t hurt it! Removing the old memory is incredibly easy. You just pull the plastic outer pieces outward, and the entire stick pops out, as shown below:
Then pull out the old memory – and take note of the orientation of the stick, and the little slot towards the left. You will want to put the new memory in the same way!
New stick #1 is going in!
To get it in, I basically pulled those two same outer pieces outward while pushing the piece in, and then it snapped right into place. I gave it a little extra push even when it clicked in to ensure that everything was in place.
And stick #2 is in place as well!
When you restart the computer, you can press F2 or F12 to enter setup, and see what your computer is registering for your memory. So when I started this up again, it was registering 1024MB of memory, meaning that both of my sticks were being read. Hooray! It was also apparent how much faster/better the computer was running overall.
·I’m just putting this here so I can copy paste it the next time that I need it. It’s a little ditty that better organizes our Processed output folders. Navigate to the top directory of all the individual subject folders and run from there!
for file in *
do
cd $file
mkdir -p Scripts
for output in *.out *.m
do
mv $output --target-directory=Scripts
done
cd ..
done
·
Haha, this is my first little go at releasing something that is moderately useful, a script that helps FSL or SPM users check the coverage for each single subject before jumping into a group analysis. Here are the details!
Overview
When doing a group analysis in FSL or SPM, if any one subject is missing coverage due to signal loss, this means that the group map will not have this area either (only voxels that ALL subjects have are included in the group analysis). This presents us with the problem of seeing a bad group mask, and not having any idea which individual subject is responsible for the loss in coverage. Since there is no methodical way to look through individual subject masks (the mask.img for each subject in the first level output directory) I created this script to help find subjects with poor coverage, and create a list of good subjects to use for the group analysis.
Variables
This matlab script checks the coverage for a group of subjects that have completed single subject analysis, and are ready for a group analysis. The script takes in:
An experiment directory (AHABII.01, DNS.01, FIGS.01, etc)
The task (Cards, Faces –> block vs affect)
The number of subjects
An ROI mask that the user wants to use for group analysis (can be created in SPM with pickatlas, or however you like)
A percent coverage minimum, which is the minimum coverage of the ROI that is acceptable to include a subject in the group analysis. For example, if our mask has 5000 voxels and we specify a % coverage minimum of .95, then only subjects with .95 X 5000 voxels (minimally) will be included.
Order of Operations
Here we are selecting the output directory
the task…
the number of subjects…
the percent coverage desired…
the subjects (I just chose 5 to keep it quick for this example)…
and finally, the ROI (region of interest) mask.
We calculate the number of voxels in the ROI, and multiply that by the % coverage specified to get the minimum number of acceptable voxels for each subject.
The subject data (the mask.img and mask.hdr file) is copied from the Analysis directory of each subject into the output directory under “masks.” Each subject is assigned a mask number, so the new files are saved as “mask_#.img” and “mask_#.hdr.” This number will be important for identifying the subject in the output text files, and matching masks with subject IDs. Here is a quick shot of the top and lower levels of a freshly run output directory:
and here we ask the user if graphical output should be printed to file:
Here is a 3D view of a subject flagged for elimination, so the user can compare the individual subject mask with the area of the brain he/she is interested in. This happens to be a VS mask, which is a big round blob 😛 We can see that there is a chunk taken out of the bottom of the blob, which represents an area that coverage was lost in for this particular subject.
We then can click Slice View –> “View” to see the slice View:
and then you can see above that the user is prompted to choose to eliminate or keep the subject.
If we eliminate the subject, they are added to the “ELIMINATED” list. If we don’t eliminate them, they are added to the “INCLUDED” list.
Finally, the lists of subjects that are missing, eliminated, and included are printed to text files under “logs.” Each log includes the Subject ID, Mask ID number, and Voxel count for each subject. The included subjects are under (included.txt), the missing subjects are under (missing.txt), and the eliminated subjects are under (eliminated.txt). Here is a quick shot of the eliminated and included logs for the test run with 5 subjects:
and of course, the raw image files are available for all of these graphics so you can mess around with them to your heart’s desire! The idea is that you would then take the list of “included” subject IDs and use those subject’s in a group analysis to get the same coverage that is predicted by the script. Cool!
The script
To run, make sure that it is saved in a scripts directory that is part of your MATLAB path. Our standard is to save it under DNS.01/Scripts/MATLAB
To run, simply type “cov_check()” in the MATLAB window, and it will prompt you for all of your variables
cov_check: I’m unfortunately not going to post it on here, because I’m not sure about the rules of scripts and lab property. If you are curious about the script, however, I’d be glad to share!
I recently have been playing with writing variables in MATLAB to a text file for a coverage checking script that I’m working on. After doing many different calculations, I have a list of structures and variables that I want to print to file for the user.
First, you need to initialize your text file for writing. Because I only write a text file given that a particular structure exists, I first check to see if it exists:
if exist('ELIMINATED','var')~= 0
So we only enter the loop if the expression above is true, meaning that the variable ELIMINATED exists.
Then we need to initialize the text file that we want to write to, putting it into a variable called “fid” – file identifier. fopen “opens” the file “eliminated.txt” for writing (‘wt’).
fid = fopen('eliminated.txt', 'wt');
And here is an example of how to write a variable (the date) to file:
fprintf(fid, 'Date: ');
fprintf(fid,'%s\n', date');
We use the function fprintf, which first takes the file identifier (fid), and then a format string (%s\n), and then the variable name(s), or things to write (date). The first line simply prints the string ‘Date: ‘ and it is immediately followed by the variable date. The second line prints the variable called date. %s is part of the format string, and tells us that the variable “date” should be printed as a string, and the \n will create a carriage return (new line) after the print. Since there is no instruction for a new line after the string ‘Date’, the output will look something like “Date: 09-Jul-2010”
Here is a similar example of setting up a few headings:
fprintf(fid, 'Subject_ID Mask_Number Voxels\n');
And lastly, we loop through the structure called ELIMINATED, and print three fields to file: a Subject_ID, a Mask_number, and a Voxel count. You can just think of these as various strings and numbers inside of a structure. The use of fprintf is the same, however our formatting is a little more complex.
for i=1:numel(ELIMINATED)
fprintf(fid, '%s\t%d\t\t%d\n', ELIMINATED(i).Subject_ID(1,elim_start:elim_end), ELIMINATED(i).Mask_Number, ELIMINATED(i).Voxels);
end
%s\t%d\t\t%d\n – tells it the format – %s means a string, /t means a tab, %d means double, and the \n is a new line
the variable ELIMINATED is a structure that holds a list of people who don’t pass certain criteria. There are equivalent structures for INCLUDED, and MISSING.
it’s going through a loop, so ELIMINATED(i) represents one subject.
The variables “elim_start” and “elim_end” are the start and end index of the subject ID, which is part of a longer file path to the folder. I calculated these values by using regexp to identify the last two “\”‘s, which enclose the Subject ID.
Lastly, we are done writing to the file, so we need to close it! That’s pretty simple.
fclose(fid);
end
·
Elena had an old Thinkpad T30 that was moments away from hard drive failure, and I offered to take it off of her hands. I had some devious plans for a new drive and a Linux system!
My excitement about fixing up an old Thinkpad T30 and installing a Linux OS has inspired me to create Tux the penguin out of clay.
To make the bib, I rolled out a small ball of shimmery white, and made it slightly oblong with one end thicker than the other. Then I squished it flat on the table, and shaped it as you see above.
The bib can be gently pressed into the white. I definitely made this piece too thick – it would have looked much better a bit thinner.
And here comes my perfectionist nature – he’s cute, but all I see is what is wrong with him! These are the things that I would do differently if I gave this a round 2:
I don’t think that anyone really needs a tutorial to demonstrate how to cut a piece of fruit. I wanted to create one anyway. Here are the basic tools that you will need:
1) The first step is to figure out the orientation of the seed. Mangos have giant, oblong seeds that span from the top to the bottom of the fruit. You are going to want to cut around the skinny side of the seed. It’s easy to find – orient the fruit so the thinner side is face up.
To make the first cut, you want to slice downward, slightly off center to the right to make room for the seed. It’s better to risk being too close to the center, and start cutting, hit the seed, and then curve the knife slightly to go around it.
Here are the two pieces directly after the first cut. The piece on the left has the seed. Matter of fact, if you look closely at the center, you will see that I just grazed it.
This past weekend I went on my very first Geocaching excursion with Matt! Let me set the scene. We printed out a list of coordinates, and started out adventure on main West. It’s a blistering 90+ degrees, I made the mistake of wearing open shoes and a black shirt, and our navigation device (my non-phone i-phone) is having a little trouble working as a GPS. There was a moment of hesitation when we weren’t sure if we could go geocaching at all, but thanks to download a quick, free app, we had something that would work.
So we proceeded to use my 3G Network lacking i-phone to input coordinates and attempt to locate the caches. The GPS doesn’t require an internet connection, however producing the original map did, so we would squeeze next to a building on campus, grab the wireless signal, input the coordinates and produce the map, and then start our search.
Our first attempt was with a cache that was supposedly near the Perkins and Bostock libraries. After ten minutes of digging around in brambles and bushes, we decided to move on. There were just too many muggles around and we looked suspicious! Oh, and the use of the word “muggles” is very much part of the geocaching online culture. You don’t want to be caught snooping around by these… non-geocaching-muggle-folk, haha.
Attempt number two was somewhere around the Camel statue near the old Biology Building. The flashing dot led us towards the woods, away from the statue, and it was immediately apparent that the coordinates were directly on a very steep hill. Not only was it overgrown and impossible to get to, it occurred to us that the likelihood of this cache falling down the slope during a rainstorm was very high. After a good search, we gave up on this one as well, and decided to head over to the Nasher.
We were originally worried that the title “Nash ‘Er Teeth” would imply that this geocache would be a hard find, but it wasn’t at all! It must have been in the 90s, so we started our excursion by heading into the wonderfully chilly Nasher museum. Anyone that stops by here to look for this cache should definitely bring an ID to gain access to the galleries at the Nasher, or minimally stop at the cafe inside for a cool drink.
Once we were ready, we headed out the back door, past a triangular slab of stone, and down the path. We found a small cluster of woods within 100 feet of the museum, and then saw the aforementioned poison ivy, and then BOOM there it was! We had a few unsuccessful searches earlier in the day, and this was our first successful find as Team PumkinNappers, and what a great one it was!
The hiding spot was very cleverly constructed, and the log book incredibly cute. We traded a sheet of stickers with a very cool toy constructed out of an Altoids box (you’ll just have to find the cache to push it’s button and see what it does!) and carefully returned it to its home.
What a great first find! We then proceeded to head down Campus Drive and investigate a cache near the arts warehouse. We got slightly distracted by the cool new “Duke” sign on the building.
It sort of reminds me of the factory from Charlie and The Chocolate Factory!
So this Geocaching thing is excellent! You feel like an adventurer, with the goal of finding the treasure, and exchanging something to leave your mark. Since we wound up taking a sheet of pumpkin and candy corn stickers, we have decided to call ourselves the PumkinNappers. It just makes sense :O)
The official log can be found here.
·I saw a tall, cylindrical jar of mustard on the side of the road. It wasn’t even hidden amongst the road weeds, it was just directly on the road. It had to have been a fancy kind of mustard, because only specialty kinds come in that sort of jar. Someone must be missing their mustard.
I also found a small electrical circuit in the Duke Forest. It is basically two small bulbs hooked up to a chip with room for three batteries. I picked it up and carried it with me for the rest of my 8 miles. I played with the wires a bit, found some batteries lying around, and with a little prodding one of the lights came on. It was one of those intensely white lights that is tiny but could light up an entire road. I took it for one of my 4:00am runs, just for fun. I carried it in my left hand, enclosed like a magical bug trying to get out. I imagined that when cars drove by it looked like my hand was emitting light. Maybe they would be spooked out by the person running through the darkness with a glowing hand.
I let the Dell tech walk me through a recent OS reinstall that I did, however it was marginally awkward since I knew everything to do, but had to play along that I didn’t. I really just wanted to see what he had to say about the chipset that we installed. He didn’t say much, but he did forget about 3 essential drivers that I had to go back and find. And it was really fun when, mid-conversation, his entire computer decided to shut down and he was rendered sort of helpless. Poor tech guy! These guys are usually very sharp, but it can be hard to forget that they too are human beings in front of a computer, just like you and me. Either way, I will always have a soft spot in my heart for the Dell Tech Support.
I watched some of a show called “The Hills” and was very bored. It was really strange how these girls could have aspirations that were completely about obtaining status in a superficial world of fashion. And how they were rendered useless without a boyfriend. I use the term “aspirations” loosely since most of the characters are of the mindset that school sucks, partying is grand, and social status and money are the all encompassing goal. The type of work they did for their internships included stuffing event invitation envelopes, standing and guarding a couch at a party, answering phones, and order supplies for social events. That might make sense given that the job on the higher level would be appealing, but it’s essentially the same thing with slightly more power. I would die due to brain boredom. But maybe I shouldn’t speak poorly of something just because I don’t understand it. But I do wonder what occupies their thoughts, and why do they all have Farrah Fawcett floppy long blond hair, and this weirdly chill, drama-infused demeanor?
I decided this week that I’d like to declare an official war against fruit flies. Those little, nasty bug eyed creeps that spontaneously generate out of nothing – I’m after you!!
I’ve finally done away with GoDaddy for my domain – it’s the worst domain and site host that I’ve ever encountered in my 23 years. I’m happily hopping over to Bluehost, which is reliable, has great customer service, and intuitive. Perhaps GoDaddy needed a race car driver for their advertising to distract customers from the lameness, slowness, and unacceptably patchy service.
And lastly, I found a new freckle today, on my palm, of all places! Perhaps one day I will be beautiful and speckled!
·Once, there was a little scripty
Who fell in love with a 3D nifti
His demeanor, discreet
He processed him with FEAT
and showcased the output with glee
Alas, there was no carpe diem
All was revealed through SPM
His beloved was paired with a .hdr
who, by default, fit him much better
and scripty’s shell was ripped open
Bashful and broken is he
No longer to run on the queue,
A lonely, outdated piece of code
he remains uncompiled on the head node
infinitely echoing “poor little old me!”
After months of cold shoulders
A python script entered his folder
All was clear with a submit
the two would make quite a fit!
to process significant BOLD
This concludes our tale
Of the little scripty who did prevail
The two found love and behold!
They made many iterations on the head node
:O)
March 21, 2010
·Persimmony freckles
That’s who you are
Gooseberry speckles
Cutely bizarre
Mountains of dusk
Thats what you see
Tantifying orchards
Bug snow and pea
Glorious frazzle
Thats what you fear
Soft velvet tassle
Precious and dear
Marigold angles,
That’s how you think
Silver dipped dangles
Embellished by pink
Persimmony freckles
That’s who you are
Elusive those speckles
Wherever you are.
Decrepit sensling sworn in satin
Riddled heartbeat dancing Latin
Partial posies one less more
Chanting roses, forevermore
Prancing pickney draw your dress
Withhold these embers my caresss
Spice it lovely thoughtful, clear
Paint it vemish, paint it dear
Flattering follies, cluttered rust
Barely breaking wayward trust
Pinky nail princess, brightly adorned
Unbreakable story, lest be scorned
One two tree return to class
Puckered pencils, hasty lass
Velvet curtain, wisps of dream
Brushing closed, slowing stream
Miraging vision dance from hear
Until tomorrow, my vibrant dear!
January 31, 2010
·It was then under a brave full moon
I knew that blue love had come too soon
Counting and pebbles blessed to know
So many entrances desperate to go
Cradle and gypsy
Maverick and muse
Laughter and lady
Tally and twos
A mantric obsession, a primal duress
Fevered delinquence traced your caress
A melody greatly, jittered with skin
A purposed hatred, a remnant by sin
Spider and coral
Cluster and clear
Senseless and moral
Vanished and dear
I felt it crush as you moved away
A virtue so lush, a potions dismay
A dim rimmed lesson bestow my heart
A million mirages splayed apart
January 26, 2010
·Mangled dreamscapes shape destinys flower
Riddled in beauty, shame, and power.
Dare you twist deeper these rambles surpass
Hope without reason, enveloped by class
Caution to paper, you run to the task
Peppered with raindrops, along streets of glass
January 25, 2010
·Pale these shoulders rest in flight
Dark the sunlight kiss the night
Lank and dorsal seething rank
Until the mudhour mishap dank
All lop-sed brilliance and cankerous touch
Midnight shanty revealed as such
Pipsqueak trembles and yellow page
Hopping buttress and lilac sage
Gone these creed runs far from site
Dust en-sequent dares delight
January 25, 2010
·I usually write this little “last night” note on a small piece of colored paper, but thought I’d go for a digital version this year.
Not a lot to say, I’m learning so much, surrounded by humbling, interesting, and passionate people, and I feel empowered with my many flavors of independence and responsibility. I’m confident in my present and future self and goals, which is probably the ultimate challenge for someone my age. The things that I am doing, learning, screwing up, getting right, discovering, are just awesome, and the year to come is sure to be an exciting one. 22? Werd! 23? Here we come!
·It’s so easy to get caught up in little things, and when you only consider monetary costs, it seems that overall costs can still exceed benefits, even if you save money. Case in point? My trip to the storage place.
The woman that helped me was pretty nice, and her slowness didn’t bother me so much. I enjoyed the time standing at the counter and admiring the details of the characters on my lanyard, and looked for similarities between the shapes of my keys. I went to move my small load of things into my 5 X 10 sweetspot, and came back to find the couple that was waiting behind me arguing over a charge of 20 bucks. I was aware of the online discount, but didn’t think that it was worth troubling a perfectly good customer/salesperson relationship by complaining, having to re-do the transaction, can we think about it like opportunity cost of time? Opportunity cost of relationships? Opportunity cost of an ulcer? At what dollar amount do I care to say something?
I think the difference is that I looked at her as another human being and not someone that was there to give me what I wanted. I felt grateful for her giving me the opportunity to slow down for a few moments, and observe something that I hadn’t given attention before. I was grateful for her kindness. I could have easily looked at the entire situation from another viewpoint – a negative one – how slow she was! And she forgot my discount! The couple wound up storming out to go to another storage place, arguing with each other, and I said “I hope your day looks up, it’s pretty nice outside, bye!” and returned to my car. I wonder how the rest of the couple’s day went? Did they find a storage spot, and if so, was it worth it? Money wise? Mood wise? Time wise? Did they potentially just close the door for returning to that place? Is playing the role of the angry customer even worth it?
The question I really want to ask has to do with manipulation and using leverage and other manipulative strategies, maybe some passive agressive-ness, to get what you want. In a nutshell, it’s using people. I know a handful of people that get by with this strategy, and I find that when they ask me for something, the normal rewarding feeling that I get when helping someone that I care about just isn’t there. In a few of the cases, I can tell a relationship isn’t balanced, and my kindness is being taken advantage of, just by that feeling.
Is this idea of networking any different? No matter what you call it, I can’t stand it. At the end of the day, the item may be obtained, the money may be saved, you may get what you desire at the use or abuse or guilt of someone else, but it’s such a dirty game, and I can’t imagine the manipulator will have many friends in the long run.
In this case, we were in the same situation, but we acted upon it differently and as a result, wound up with two completely different outcomes and states of mind. Interesting.
·Spiders: There was a huge black spider that made his home, apparently in less than a day, in my bathtub. While I have no problem with spiders normally, even in my apartment, this just crosses the line. Said spider is now, I am content to report, a spider pancake.
Coffee: Dunkin Donuts has the best coffee lid design, hands down. The car can jump and bump around to its little engine’s content and the coffee will not spill one drop. The seal between the plastic and the foam is also tight. Any other open lid, however, will spill a little puddle of coffee on the top, and will leak out the tiny space between the paper seam on the cup and the lid. This makes me very pissed at my coffee.
Staring: If you stare at me while I’m working and it’s not welcome, I’ll first do my best to ignore you. Then I reserve all rights to glare you down until you feel just as violated by my gaze as I did by yours.
Exploring: The world is no longer conducive to people with my personality type, what I would call an explorer. I have just the right amount of what I call “rational” risk-taking and curiosity to always want to expand my mental map, the endurance to do it, and the comfort to go for long rates just being with myself. There is very little left (maybe minus under the sea) to explore, so the world is no longer my oyster.
Sleep: The sun rises around 6 AM. Why people don’t wake up with (or slightly before) the sun, and instead choose to adapt to a pattern of staying up like night gremlins until god knows when, I will never understand. We’re supposed to be awake when it’s light out, and sleep when it’s dark, and that’s what makes sense to me.
Independence: Feels better than anything and everything. Working, running, and maintaining a solid routine makes me very happy. Research is indeed the best avenue for the more intellectual, quiet, and thoughtful of our species to feel like a part of something fantastic, to feel the satisfaction of helping the world in a big way, and to feed the eternal intellectual hunger that lives in the mind.
Things: The Spongebob watch for $10.99 at Kroger, I’ve been seeing it for quite some time now, and I want it more than anything. I like to stop and pick it up, imagine it on my wrist. But you know what? Wanting it is a lot more exciting than having it. Imagining owning it, and what that would feel like, and always having the possibility of making those dreams a reality, makes life unpredictable, rich, and hopeful. The second the fantasy becomes a reality, all of that is lost. The same could be said about relationships, goals, and romance.
Places: I don’t feel much excitement about these so called “vacations,” or “roadtrips” or “traveling.” I like a quick day jaunt to go for an exploratory run, but I know that I’ll always be happiest where I am right here, right now. Because no matter where you go, there you are, and expecting that the quality of your daily experience might change “if you only could go there, or have this” is going to lead to a life of chronically anticipating a future moment, and never getting there. So find a place, make some little roots, and bask in your sun.
Time for some work… Cheers! Happy Sunday 😀
·What do I love to do during the time when I can’t run or work? Let my brain relax (and dinner is always better) with some hulu or surfthechannel! Favorite shows are in italics!
The Bachelorette
TED (always, eternally, in progress)
30 Rock
Ace of Cakes
Ally McBeal
Alias
Bleach
Castle
Chuck
Cupid
Dead Like Me
Family Guy
Gilmore Girls
Hell’s Kitchen
House
The Goode Family
Grey’s Anatomy
Hell’s Kitchen
House(love this show)
Kitchen Nightmares
The Listener
LOST
NOVA (not all)
The Office
Project Runway
Psych
Samantha Who (mediocre)
Scrubs
The Simpsons
Top Chef
Ugly Betty (mediocre)
Veronica Mars
The Unusuals (mediocre)
Weeds
The Bachelorette
Better off Ted
The Chopping Block
Dating in the Dark
Desperate Housewives (blah)
The Dollhouse (meh)
Here Come the Newlyweds (stupid!)
Real Housewives of New Jersey
The Daily Show
Jimmy Kimmel Live!
Late Night with Conan O’brien
The Colbert Report
Back to work! I’ll try to keep this updated
·This is absolutely fascinating.
http://www.childandfamilypolicy.duke.edu/calendar/Conferences/geneintera…
The val/met polymorphism on the COMT gene, which has been known about for quite some time. If you have the val allele, you have a lot less dopamine in your prefrontal cortex, which means that your memory, IQ, and executive cognition is impaired. So the val allele makes you sort of dumb, so why doesn’t it go away?
The val allele is actually more common than mets.
Having the met allele, although it brings higher intelligence, IQ, memory, and executive function, makes you a little neurotic. It is associated with higher risk for depression, anxiety, schizophrenia – the met is the more emotional, deep thinker. The val allele is the more “guns and muscles” brain, with poorer executive function like memory, but he is emotionally a lot more stable.
The COOL thing is that this is a prime example of a gene environment interaction, or balanced selection. The one polymorphism leads to two different types of people, both of which we need. We might need the mets for laying down the law and solving problems, and the vals for keeping the walls of the fort up.
Haha, so how introspective are you? Are you possibly a val, or a met?
·