The surface is a plasma membrane composed of 2 layers of fat molecules (phospholipid molecules) and protein channels (protein molecules) controlling the flow of ions (water, oxygen, sodium, potassium, calcium chloride, etc) into the cell.
They consist of a nucleus (except red blood cells) with chromosomes, mitochondrion (metabolic activities), robosomes (synthesizing new protein molecules), and the endoplasmic retriculum a thin network of tubes that transport newly synthesized proteins to other locations.
Large neurons have: dendrites, a soma (cell body), an axon, and presynaptic terminals. Note: tiny neurons lack axons, and some well-defined dendrites. For example a sensory neuron (sensitive to some form of stimulus, aka light, sound, touch) generally have a small soma that is directly on the main trunk of the axon (see image below).
A motor neuron on the other hand has a clear nucleus at the end of it’s axon. To compare a picture of it below:
Dandrites are branching fibers (word from Greek dendrite meaning “tree”) that have synaptic receptors to receive information. Some contain dendritic spines that increase the surface area available for synapses. The shape of dandries varies according to a type of neuron and even given time. A neuron can have any number of dandrites, but only one axon (that may have branches).
Soma (cell body, Greek word “body”, pl.:somata), contains the structures found basic structure of the animal cell. The body ranges from 0.005mm to 0.1mm in mammals.
Axon (Greek word meaning “axis”) thin fiber of constant diameter and generally longer than dendrites. This conveys a pulse towards other neurons. It is often covered with a myelin sheath with interruptions known as nodes of Ranvier (pronounced RAHN-vee-ay). Axons have many branches and swells at its tip, forming a presynaptic terminal (aka. end bulb or bouton) and is the point it releases chemicals that cross through the space between one neuron and the next. Axons vary in length and can be more than a meter, but branches generally depart from its trunk far from the cell body near the terminals.
Afferent Axon = brings information into a structure
Efferent Axon = carries information away from a structure
Intrinsic Neuron (aka interneuron) = cell’s dendrites and axon are entirely contained within a single structure
“Show me the money” seminar was a one-day event discussing how to make money as a designer. Its main focus was on how designers can market their material so that it has the maximum potential for the client and also allows a designer to earn a living of it. There were many opinions on the topic ranging from a socialist earning model where the government grants sustain a designer/artist to making the right agreements (copyrights) with customers so that money can be made on the artwork. It was interesting to see that all the panelists had their own opinion the matter. Outi Somervuori talked about designing and making art that has the greatest value for the customer. Laura Molloy talked about the importance of digital objects and how they can make money for you by having the right copyright agreements with customers. And Teemu Mäki discussed about an interesting socialist government model where an artist’s task is to make art for everyone and to be supported by the government with grants to do art. The whole event consisted of talks in the morning followed by workshops and to end a panel discussion to wrap things up.
The varied opinions were a refreshing view on the topic and allowed me to ponder my own future plans as an artist and possible working life. It seems to be a never ending struggle to get payed for ones’ work. One has to be creative and very diligent in getting copyrights in place, licenses and other factors to have a pay check at the end of the day. Also a united force of not giving art for free has to be there between artists so that the public doesn’t come to expect free art. Now this is one opinion on the subject. Teemu Mäki had a radically different view. To him artist artists make art not because they want to make money, but because that’s their way of life. Therefore, it’s ok to have art for free, but this should be encouraged and supported by public funds. Now this brought along a lot of questions about the morality in the sense that, just because we are artists are we meant to not earn better depending on our skill level? And couldn’t an artist at some point become a millionaire based on their work instead of relying on a welfare system? And should our work really belong to the public for free? Wouldn’t this affect negatively on the respect people have for art if everything is free? After an internal battle personally an earning model from art seems to be a better choice in terms of livelihood. Even though money is not everything or even close to the top of the list when making art, but living comfortably is definitely something everyone strives for in life. And relying on a social system feels like being supported by parents and never standing on one’s own two feet.
Interestingly enough for the workshops choosing Laura Molloy’s “Mapping Your Workflow to Understand Your Practice” was a great fit as I was able to explore my own way of working and approaching projects. By realizing the chaos and messiness of my thought patterns and then seeing the logic within that jumble it became clear that the starting point and the first questions are key (see figure 1). From the center looking out we realize there are many important resources that are needed to get inspiration from Pinterest to Stack Overflow and even the magical properties of tea. Everything is a digital artifact and only a few aspects marked with purple are analog in nature. This contrasted drastically with others workflows and allowed for a deeper understanding that not everyone has the same work flow. For example, there was a work flow based completely on time and being able to wake up after 5am to go for a run. This seemed incredible to even imagine in my eyes, but was completely logical to another. Coming to realize that everyone is different, even though this is obvious in itself, is every now and again a real eye opener and should be administered to everyone at regular intervals.
To conclude the overall day was a success in bringing new ideas and different views onto the table. It gave rise to more thought on the future of artists and how to conduct a small business in itself. Outi Somervuori’s discussions on making art earn by analyzing buyers’ behavior in relation to pricing, how customers see prices, process the price information and react to changes in prices. This is definitely the way to go to have a product that will create revenue flow for artists. We have to make art be important for the business/audience group it is created for. From the final panel discussion hearing Teemu Keisteri’s talks on his Ukkeli character brought hope that one can really make a living doing art even in this time and age. Also joining in was Jukka-Pekka Timonen to tell us about copyright and advising everyone to have their copyrights to whatever they put in the world. This way we don’t make it hard for other artists who are trying to earn and create a united front that art should be appreciated and payed for just like any other form of work (refer to figure 2). “Shoe me the money” was a fun and creative event that can still be viewed online (“Show Me The Money Videos”).
You can checkout the seminar at “Show Me The Money Videos”. Powered by Panopto. Web. 17 Nov. 2016.
Pure Data (or Pd) is a real-time graphical programming environment for audio, video, and graphical processing. Pure Data is commonly used for live music performance, VeeJaying, sound effects, composition, audio analysis, interfacing with sensors, using cameras, controlling robots or even interacting with websites. flossmanuals Pure Data
Pd is a data flow programming language and supports four basic types of text entities: messages, objects, atoms, and comments. Atoms consist of either a float, a symbol, or a pointer to a data structure and are the most basic unit of data in Pd. In Pd, all numbers are stored as 32-bit floats. Messages provide instructions to objects and are composed of one or more atoms. To initiate events and push data into flow, much like pushing a button, a special type of message with null content called a bang is used.
Pure Data (Pd) is a visual programming language developed by Miller Puckette in the 1990s for creating interactive computer music and multimedia works. While Puckette is the main author of the program, Pd is an open source project with a large developer base working on new extensions. It is released under a license similar to the BSD license. It runs on GNU/Linux, Mac OS X, iOS, Android and Windows. Ports exist for FreeBSD and IRIX. wikipedia Pure Data
You can download Pd from here. The learning curve is quite steep, but once you pick up and remember by heart the graphic syntax and know a lot about audio composing methods and science behind producing sound you’re good to go for Pd. Personally I struggled a lot to grasp the idea behind it.
First of all the code for this project can all be found here. It includes all the pure data pads used, socket.io code for running both the server and the wikipedia stream. There is also some extra things that i needed to submit in order to pass this course, but are in no way needed to run this project on your own.
It is important you have an older version (5) of node installed! Don’t install the newest one!
As of January 2015, RCStream implements version 0.9 of the Socket.IO protocol, not 1.0 (phab:T68232). See also socket.io 0.9 and socket.io-client 0.9 on GitHub for more information.
The wikipedia recent changes stream info can be found here. When starting the project i was able to get access to the stream but getting something from the stream to pure data was a challenge.
First I needed to create a local server so that I could have access to the wiki stream from pure data. This is because pure data only supports two ways of accessing external data. One is [netsend] and [netreceive] that are objects for transmitting and receiving messages over a network. The second is Open Sound Control (OSC) and these are objects for sharing musical data over a network. “Using OSC you can exchange data with a number of devices, such as Lemur, iPhone (through OSCulator), Monome, or applications such as Ardour, Modul8, Reaktor and many more. Most modern programming languages are OSC enabled, notably Processing, Java, Python, C++, Max/MSP and SuperCollider.” Open Sound Control (OSC). When we send the data to the netsend port I make sure i send only the first letter of the title that we get from the wikipedia stream.
1 | // port setup |
Next we create the actual wiki stream so that we can connect it to the opened server port. Here we just connect to the provided RC Stream and when there is a change in data we feed the title of the change.
1 | var io = require( 'socket.io-client' ); |
In Pure Data using the [netsend] and [netreceive] I access the port 8006 to read the data and covert the input to ascii values using the object [spell]. Then with [iter] we split a list of ascii codes into a series of numbers. Depending on this number we are able to produce different sounds. For the sounds i’m using Matt Davey’s DIY patches. To get these onto a personal Pd project one has to copy the necessary patches completely (Check picture below).
Lastly I wanted to connect what ever music was produced into Processing to make graphics out of the live stream data. I was able to make the connection using OSC, but time ran out to actually create any cool graphics with the data i was sending with Pd. I’ll just leave you with some inspiration before i can come back to making mine awesome too.
Some great Processing examples and inspiration for future projects by Joshua Davis. He also created Hype library with James Cruz. It is a collection of classes that performs heavy lifting tasks while using a minimal amount of code writing using Processing and ProcessingJS.
]]>Exciting to start my masters studies at Finland’s best university for arts and engineering! The Orientation program for Master students was on Monday 22.08. U2 Hall, Otakaari 1 and Tuesday 23.08. Hämeentie 135 C, Helsinki. The weather was clear and sunny for the 2 day program and the feeling up in the clouds with presentations from inspirational figures in Finnish society, group photos and after parties to get to know your peers. All info found here!
Also had some fun talking to Aalto Venture program and they asked to make a short introduction video for them that can be found here.
When the team got together for the first time we had no idea of what to do. Then ideas started popping up from Plato all the way to defining the definition of error. In the end we wanted to focus on the very clear scientific meaning of an error where it can be clearly said to be one in terms of comparing to a perfect model. We defined it as:
An error is a deviation from a standard, specification or model. It is a calculable, observable or otherwise difference from what is defined as being perfection.
This definition goes back very strongly to Plato’s idea of “Theory of Forms” that states forms to be “archetypes or abstract representations of the many types of things, and properties we feel and see around us, that can only be perceived by reason” wikipedia - Theory of Forms.
With this starting point we took the human form as a starting point and wanted to express the “errors” we observe in ourselves. To make the art work interactive we allowed anyone anonymously the freedom to speak their flaws/errors out into a sound cloud and place a sticker where they perceive the error to be.
The team split up to collect materials for the project and the hunt for a mannequin began. In the end we found a perfect one from tori.fi that was a white, tall, slim, ripped, male. This fit perfectly as an “perfect person” as in todays society perfection is to be all of that. Now all we needed was input from the visitors to cover our perfect person with imperfections!
Derek Holzer - Derek Holzer (1972) is an American instrument builder and sound artist, whose current interests include DIY analog electronics, the relationship between sound + space, media archaeology and the meeting points of electroacoustic, noise, improv and extreme music. linkedin profile & personal website
Hanna-Maija Matikainen - linkedin profile
Laura Koivunen - linkedin profile
Marie Kumpulainen - linkedin profile
Rita Anttila - Photography student at Aalto University
Somar Salloum - New Media Design and Production student at Aalto University
All together there was 10 teams all with unique ways of looking at error. There where tons of ideas and some of there where: cultural errors, scientific error, optical illusions, mutations, curated error, evolution, miscommunication, technical errors, behavioural errors, subjective behaviour, subjective idea of error (is it possible to actually have an error), etc.
]]>This will be in two parts piece with this being the first about the coding aspect of the project. I wanted to start with the coding because the logic was the most important implementation for this customer. The design aspect of it will be discussed on the second posting that will be published sometime at the end of august. But as of now you can already check out the github repository for this project: here
I got a request from my local church community about building a script that would fetch event data from their website and display this on a a big TV screen. This was to promote the church events to passerby and anyone who saw the display. Because of the requirements i knew 1) i needed to fetch html data, 2) to parse it and get the data i wanted and 3) to clean it up if needed. And because of the same-origin policy there had to be either a service in-between or i had to write my own back-end script to do this. The reason for this is that html data of this kind can not be fetched from front-end to another front-end if they are not from the same origin (URI scheme, hostname or port number). And yes, they where not going to be under the same origin. I didn’t have access to the church webpage and i wasn’t going to build the application onto their server because i wanted to make this as simple as possible.
Because of these known requirements i knew that the simplest way was to make a script that runs on a browser and locally on a machine. It should use an external service to fetch html data that can then be parsed and be able to refresh itself to keep the page up to date.
I have to be honest i was quite naive in the beginning thinking that i could just use jQuery’s wonderful AJAX methods to fetch me some event data :P Ha isn’t so easy! Came to the same Same-origin policy problem as mentioned above. And as mentioned in a wonderful answer on stackoverflow it was simply said that “due to browser security restrictions, most Ajax requests are subject to the same origin policy; the request can not successfully retrieve data from a different domain, subdomain, port, or protocol.” I also loved the answers detail on way to overcome this same policy restrictions and as i read i went with YQL because even though it is a third party provider and “using third-party proxies is not a secure practice because they can keep track of your data”, but because i am never the less playing with public information it wasn’t a concern to me.
I thought about a lot of writing my own back-end script for fetching data from the external church site using php or python, but this became a very complicated way of doing things when i found out about Yahoo’s YQL service. Also by reading more about cross domain requests and searched hits on stackoverflow i found answers to questions like ‘Can Javascript read the source of any web page?’ and Loading cross domain html page with AJAX. Here I came to decide to use YQL.
I haven’t done much SQL so YQL was just as new to me, but the query language is apparently very close to SQL. I went on to reading the documentation, but i also found a former employee of Yahoo’s (Christian Heilmann) blog post on the subject here.
My client side solution was to run a javascript calculating the necessary dates (monday and sunday of the week) for the query string.1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35//The current dates for today:
function todaysDates(){
var today = new Date();
var dayOfTheWeek = today.getDay();
var day = today.getDate();
var month = today.getMonth()+1;
var year = today.getFullYear();
$(".year").append(year);
weekForQuery(today, dayOfTheWeek, day, month, year);
}
//function for getting the monday and sunday in query format:
function weekForQuery(today, dayOfTheWeek, day, month, year){
var dayOffset;
var daysToOffsetBy = function(offsetBy){
var newToday = new Date();
var offset = newToday.setDate(newToday.getDate() + offsetBy);
return newToday;
}
if(dayOfTheWeek === 1){
dayOffset = daysToOffsetBy(7);
startOfWeek = day + '%2F' + month + '%2F' + year;
endOfWeek = dayOffset.getDate() + '%2F' + (dayOffset.getMonth()+1) + '%2F' + dayOffset.getFullYear();
}else if(dayOfTheWeek === 0){
dayOffset = daysToOffsetBy(-7);
startOfWeek = dayOffset.getDate() + '%2F' + (dayOffset.getMonth()+1) + '%2F' + dayOffset.getFullYear();
endOfWeek = day + '%2F' + month + '%2F' + year;
}else{
var fromMonday = 1-dayOfTheWeek; //negative number
var fromSunday = 7-dayOfTheWeek; //positive number
dayOffset = daysToOffsetBy(fromMonday);
var dayOffsetSunday = daysToOffsetBy(fromSunday);
startOfWeek = dayOffset.getDate() + '%2F' + (dayOffset.getMonth()+1) + '%2F' + dayOffset.getFullYear();
endOfWeek = dayOffsetSunday.getDate() + '%2F' + (dayOffsetSunday.getMonth()+1) + '%2F' + dayOffsetSunday.getFullYear();
}
}
I knew that the only div’s i needed where the one’s with class name event-list-wrapper that contained within it event-item-list and in that there was the classes for event-date, event-time and event-location.
Yahoo YQL provided a testing tool for queries so i ran a lot of tries to minimize the returned XML. What i came up with in the end looked something like this:
1 | select * from html where url="www.karkkilanseurakunta.fi/tapahtumat/-/haku/0/11/7/2016/_/17/7/2016/week/1#events" and xpath='//div[@class="event-list-wrapper"]/div[contains(@class, "event-item-list")]' |
The testing tool is here.
After i have the correct Monday and Sunday of this week i built the query string with the correct format:1
2
3
4
5
6function buildQueryString(startOfWeek, endOfWeek){
//the query:
var requestQuery = "https://query.yahooapis.com/v1/public/yql?q=select%20*%20from%20html%20where%20url%3D%22www.karkkilanseurakunta.fi%2Ftapahtumat%2F-%2Fhaku%2F0%2F" + startOfWeek + "%2F_%2F" + endOfWeek + "%2Fweek%2F1%23events%22%20and%20xpath%3D'%2F%2Fdiv%5B%40class%3D%22event-list-wrapper%22%5D%2Fdiv%5Bcontains(%40class%2C%20%22event-item-list%22)%5D'&format=xml&callback=?"
console.log(requestQuery);
doAjax(requestQuery);
}
And then do the necessary request to the service:1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22function doAjax(requestQuery){
var resultData;
var dataLenght;
if(requestQuery.match('^http')){
$.getJSON(requestQuery, function(data){
resultData = data;
dataLenght = resultData.results.length;
if(dataLenght != 0){
for(i=0; i<dataLenght; i++){
var eventData = filterData(resultData.results[i]);
$('#events').append(eventData);
}
}else {
var errormsg = '<p class="error">Error: could not load the page.</p>';
$('#events').append(errormsg);
}
});
}else {
console.log("check the query request");
}
}
Lastly I filter the JSON string as required:1
2
3
4
5
6
7
8
9
10function filterData(data){
//filter away the sharing links and images
data = data.replace(/<div class="share"[^>]*>[\S\s]*?<\/div>/,'');
//get the index of the images that don't have their root path
var indexOfImage = data.indexOf('/seurakunta-theme');
var rootUrl = "http://www.karkkilanseurakunta.fi";
//place the root path into the string so that we have the images to display
var output = [data.slice(0, indexOfImage), rootUrl, data.slice(indexOfImage)].join('');
return output;
}
The page has to be kept up-to date with the latest event news, but it doesn’t require refreshing more then once or twice a day. So at first thought about using a javascript for this to calculate the amount of time a page has been inactive and then just reload it, but then found out that there is a very nice meta-tag for this too! Here is the page where i found out about this.
1 | <meta http-equiv="refresh" content="5" > |
As explained in the answer on stockoverflow.
There are some ways to overcome the cross-domain barrier:
CORS Proxy Alternatives
Ways to circumvent the same-origin policy
Breaking The Cross Domain Barrier
There are some plugins that help with cross-domain requests:
Cross Domain AJAX Request with YQL and jQuery
Cross-domain requests with jQuery.ajax
He wonderfully noted also the bast hand duty way of doing things:
The best way to overcome this problem, is by creating your own proxy in the back-end, so that your proxy will point to the services in other domains, because in the back-end not exists the same origin policy restriction.
The script works and it’s very simple, but the design of the event display has to still be negotiated with the client. I will be doing my next post about that publishing it at the end of August.
The important and relevant links:
]]>Welcome to My Blog! This is my first post and I’m quite excited. I’ll be writing about my projects and everything in between. Check my personal website for more info about me. I have a github account where I’ll try to put all my code and assets that go along with my posts. You can find it here: github or and possible videos from here: vimeo.
Aalto University is a prestigious university located in the Greater Helsinki in Finland and harbors nearly 20 000 students and 4 500 employees. Aalto University was founded in 2010 from 3 old universities (Helsinki University of Technology, the Helsinki School of Economics and the University of Art and Design). The university is named in honor of Alvar Aalto, a prominent Finnish architect, designer and alumnus of the former Helsinki University of Technology, who was also instrumental in designing a large part of the university’s main campus in Otaniemi.
Since graduating from Media Engineering from Metropolia University of Applied sciences, graduating with my thesis Making Data Accessible: An Overview of Interactive Data Visualization Using D3.js as Applied to a Scientific Dataset : Making a Static Visualization Interactive (project code: and site) and working as a full time front-end programmer at canter I’ve learned a few things about being an engineer and about best programming practices, but I was feeling the lack of having an official degree in anything visual. I’m a self-taught graphics designer with playing with Photoshop from the age of 11 and first website at the same time.
Over the Christmas break of 2015 I went ahead and just looked through the possible masters degrees out there and focusing on a possible hybrid between engineering and art. I found Media Lab Helsinki in Aalto offered masters and doctoral degrees in various fields and took the plunge. I had a week and a half to write my letter of intent and scrape together all the rest of the needed documents, from samples of work and recommendations. It was tough, but i just made it and submitted without much thought. I even decided I’m not going to make a big fuss about it and didn’t mention or tell about it to anyone except my husband. Not even my parents knew. I was certain this was going to be just a try and that I would apply next year with more conviction. I was happily surprised when i was requested to submit the tasks and then passed onto the final stage of the interview. In these second (assignments) and third (interview/portfolio) phases I was beginning to take this application process seriously, but in the beginning it was more on the whim. The application process and needed documents can be found here and about the degree: here.
I hope this links stays at least for some time on the pages so here to the official instructions. I short there was 2 tasks with their own subtasks before the interview that was the third phase of the application. I’ll put these shortly descriptions below with links to what I did and how I proceeded with each task.
Based on the concepts around the ”Sharing Economy” as a starting point, create a piece dealing with the phenomena and give your piece a unique descriptive title.
Now don’t laugh. I had never heard the term “Sharing Economy” so after reading this i was like what?!?!? Next I of course googled it. Below is a quote from wiki that was the first hit. Then I realized the term refers to the business model that is used by the likes of Uber and Airb&b. Of course then i was like wow shoot what should i do? My mind was blank. I couldn’t build a whole new user platform with an idea, code, graphics, promotional material, etc. with only 14 days of time. Realistically only 2 weekends because I was working full time with partial evenings free. So for the first Monday to Friday I just thought what the hell am i going to do!
Sharing economy (also known as shareconomy or collaborative consumption) is a hybrid market model (in between owning and gift giving), which refers to peer-to-peer-based sharing of access to goods and services (coordinated through community-based online services). The concept is not new. Sharing economy - wikipedia
After a week of thinking I asked myself what do I love to do? If I made a service of some kind what would it be? And the answer was simple. I loved books and I’ve always loved reading so why not make something with that. So that’s where the idea came from. Next I thought yes I have 2 weekends so I’ll build the platform, make a promotional video, do all the graphics, etc. This of course wasn’t realistic as I found out in the end with only able to produce the practical code + the graphics, but I luckily decided to concentrate on the video and explain the concept through that with all the rest supporting it. I submitted with shaking hands having worked 26 hours straight from Sunday to Monday morning 8am getting everything done before the normal working day.
So I started by writing the code for the “to be full blown” web app. Yes unrealistic, but lets see how far I got. And yes it’s not anywhere near done so bear with me here. So I wanted to create something that was beautiful looking but also was easy to access with accounts that generally people already had. So I went with facebook (they have an api and used by almost everyone) and goodreads (because anyone who reads books have at least heard of the site even if they don’t have an account). I started with reading the facebook api. From there i created my own Facebook App ID.
1 | FB.init({ |
Then I started reading the facebook code they had in the documentation and worked myself to use it in my project. But I realized very quickly that I need to store information about the session somewhere so I started playing with cookies. I had to do some reading on this because I hadn’t used much of cookies to store user data, but I found that Mozilla had some great documentation on Document.cookie. From here I was able to build my cookie functions:
1 | function setCookie(cname, cvalue, exdays){ |
As you can see the cookies do exactly what their names suggest, but these would be needed in logging in and out of the application and other information when using the app. So this project is still an ongoing one, but the javascript can be found here.
Lets start by saying that this was the most work by far! First the filming, then the video editing, audio editing, and finally the graphics with the animations. I did the filming with my Canon iVIS HF M31 and Canon EOS 500D and audio recording with the Blue Yeti microphone.
Video editing I had done before so Premier was very familiar to me, but never the less found this tutorial really useful:
Also had to revise my knowledge of Rolling and crawling titles from the adobe website.
Next was the graphics and animations using After effects and this tutorial in “Creating shape layers from vector layers for easy animation“ really was helpful. I used the graphic assets from here: Bookshelf and open book.
Next for the audio editing and I had never done this before so everything from audacity to recording with a pop filter was new to me. These two tutorials where the key to my good voice over on the video and I just love all of the music radio tutorials:
And fantastic suggestions for removing the echo off of the sound that you get from your camera recorder:
Write an essay on the pros and cons on the debate surrounding “Free Basics” and ”Internet.org”.