<?xml version="1.0" encoding="utf-8"?>
<rdf:RDF
    xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
    xmlns:dc="http://purl.org/dc/elements/1.1/"
    xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
    xmlns:admin="http://webns.net/mvcb/"
    xmlns:cc="http://web.resource.org/cc/"
    xmlns="http://purl.org/rss/1.0/">

<channel rdf:about="http://www.sivas.com/aleene/">

    <title>Hovering Above</title>
    <link>http://www.sivas.com/aleene/</link>
    <description>looking down at the my world.</description>
    <dc:language>en</dc:language>
    <dc:creator>arnaud@sivas.com</dc:creator>
    <dc:date>2012-10-24T19:28:39+00:00</dc:date>
    <admin:generatorAgent rdf:resource="http://www.pmachine.com/" />
    
    <items>
      <rdf:Seq>
      <rdf:li rdf:resource="http://www.sivas.com/aleene/above/Images/" />
      
      <rdf:li rdf:resource="http://www.sivas.com/aleene/above/Tweets/" />
      
      <rdf:li rdf:resource="http://www.sivas.com/aleene/above/Scanning/" />
      
      <rdf:li rdf:resource="http://www.sivas.com/aleene/above/Tracks_on_iPad/" />
      
      <rdf:li rdf:resource="http://www.sivas.com/aleene/above/Filling_the_iPad/" />
      
      <rdf:li rdf:resource="http://www.sivas.com/aleene/above/IPad_printing/" />
      
      <rdf:li rdf:resource="http://www.sivas.com/aleene/above/iPad_documents/" />
      
      <rdf:li rdf:resource="http://www.sivas.com/aleene/above/iPad_blogging/" />
      
      <rdf:li rdf:resource="http://www.sivas.com/aleene/above/iPad_recipes/" />
      
      <rdf:li rdf:resource="http://www.sivas.com/aleene/above/iPad_banking/" />
      
      <rdf:li rdf:resource="http://www.sivas.com/aleene/above/iPad_experiences/" />
      
      <rdf:li rdf:resource="http://www.sivas.com/aleene/above/IExpression/" />
      
      <rdf:li rdf:resource="http://www.sivas.com/aleene/above/Chauffage_iPad_version/" />
      
      <rdf:li rdf:resource="http://www.sivas.com/aleene/above/Chauffage_app/" />
      
      <rdf:li rdf:resource="http://www.sivas.com/aleene/above/CS193p_wrapping_up/" />
      
      <rdf:li rdf:resource="http://www.sivas.com/aleene/above/CS193p_Assignment_6/" />
      
      <rdf:li rdf:resource="http://www.sivas.com/aleene/above/CS193p_Assignment_5/" />
      
      <rdf:li rdf:resource="http://www.sivas.com/aleene/above/CS193p_Github/" />
      
      <rdf:li rdf:resource="http://www.sivas.com/aleene/above/CS193p_Delegation_concepts/" />
      
      <rdf:li rdf:resource="http://www.sivas.com/aleene/above/CS193p_Assignment_4/" />
      </rdf:Seq>
    </items>

</channel>


    <item rdf:about="http://www.sivas.com/aleene/above/Images/">
      <title>Images</title>
      <link>http://www.sivas.com/aleene/above/Images/</link>
      <description>This week&#45;end I have been busy playing with images on the iPad. I wanted to u the iPad camera for detailed, macro like images. I was not happy with the results, the quality was not good enough for me. So I turned to my normal camera.

&amp;nbsp;

I have a dongle, which I can use with the iPad in order to import from an SD&#45;card. That worked flawless.

&amp;nbsp;

Then I used iPhoto on the iPad to edit these photo&#8217;s. That worked great. I really like to edit images on the iPad.

&amp;nbsp;

Then I wants to use these images in Bento to add to a database there. However the image picker does not see the images edited in iPhoto. I see this really as a flaw. My solution was to export the edits photo&#8217;s back to the Camera Roll. Not a very nice solution as it doubles the space used. And I did not find a way to delete photo&#8217;s from iPhoto.

&amp;nbsp;

In  Photos I wanted to add images to an album that I had imported from my iBook. I was not allowed. So albums are not really shared.

&amp;nbsp;

I might be a victim of my iCloud&#45;less solution. Need to investigate this later. In any case working with and sharing images is to complex.

&amp;nbsp;</description>
      <dc:subject></dc:subject>
      <dc:creator>Arnaud Leene</dc:creator>
      <dc:date>2012-10-24T19:28:39+00:00</dc:date>
    </item>

    <item rdf:about="http://www.sivas.com/aleene/above/Tweets/">
      <title>Tweets</title>
      <link>http://www.sivas.com/aleene/above/Tweets/</link>
      <description>I am not quite happy with my tweet solution. I am using Tweetbot on the iPad, and I am using YoruForuKou on my Mac. What I would like to see is that the read&#45;status is transported between applications. That does not happen now, I have not yet found a solution for this.</description>
      <dc:subject></dc:subject>
      <dc:creator>Arnaud Leene</dc:creator>
      <dc:date>2012-10-18T17:05:46+00:00</dc:date>
    </item>

    <item rdf:about="http://www.sivas.com/aleene/above/Scanning/">
      <title>Scanning</title>
      <link>http://www.sivas.com/aleene/above/Scanning/</link>
      <description>I have been looking for a scanning solution for the iPad. There are multiple solutions around, which make use of the camera. I tried JotNot Pro. It seems to work really well. However faster some usage the App becomes corrupt. When viewing a document, the menu&#45;items to add a new scan, or to go back to the documents page are no longer there. In addition to this I have lost several scans of things that are now lost forever. So this app is not reliable enough. So I have to search for another one.

 I tried Genius Scan, but that one was to simple. But for a free app I can not complain.

Now I am using Scanner Pro by Readdle. Seems like a good app that integrates with Evernote and Dropbox. I like the buttons to change brightness and switching from black/white to grayscale to color.</description>
      <dc:subject></dc:subject>
      <dc:creator>Arnaud Leene</dc:creator>
      <dc:date>2012-10-17T19:10:36+00:00</dc:date>
    </item>

    <item rdf:about="http://www.sivas.com/aleene/above/Tracks_on_iPad/">
      <title>Tracks on iPad</title>
      <link>http://www.sivas.com/aleene/above/Tracks_on_iPad/</link>
      <description>I am a fan of walking and have taken the habit of noting the route I took, the time it took, etc. I have an A+ iBlue GPS tracker, which I connect with my iBook in order to download the tracks. The A+ can record multiple days worthy of tracks, so I need to the select the day with data for my latest walk. I export this data then into a GPX&#45;formatted file, which I load into Google Earth (GE). In GE I create a new track inspired by the GPX&#45;file. Combining a map and a track gives a better record of the walk I did. The GPX&#45;data is just not accurate enough. This new track is then exported as KMZ&#45;file and uploaded to the Wikiloc&#45;site. Data on this site will appear as a layer on GE. I might also load it as one of my maps in Google Maps. And finally I create a dedicated page on my website for this walk.

Can I do the same on the iPad?

Already the first step fails. I need to crack the iPad if I wanted to have it connect to the iBlue. So I must continue download the data on the iBook.

I did not find a suitable App to create a track. The GPX Creator App comes close. I only miss the possibility to show a GPX&#45;file as a background layer. This App allows to export the track as GPX&#45;file in Dropbox.

Uploading to Wikiloc is another matter. There is an iPhone&#45;App for Wikiloc, but that does not support importing GPX&#45;files, so can not upload something I created elsewhere. I have not yet found a way to upload a track to Wikiloc from my iPad.

&amp;nbsp;Downloading tracks is another matter. I can download GPX&#45;files with the MyMedia App and move them to Dropbox if I want. If I have a track in Google Maps, I can download to The Google Earth app.Naturally there are other Apps that help working with tracks. Many of those take advantage of the GPS ability, which my iPad does not have. So can I partially use any of those Apps.

The Trails App comes closest to what I want. It can load GPX&#45;files from Wikiloc. And it has the added advantage that it gives details of the track, contrary to GE.</description>
      <dc:subject></dc:subject>
      <dc:creator>Arnaud Leene</dc:creator>
      <dc:date>2012-09-29T17:25:24+00:00</dc:date>
    </item>

    <item rdf:about="http://www.sivas.com/aleene/above/Filling_the_iPad/">
      <title>Filling the iPad</title>
      <link>http://www.sivas.com/aleene/above/Filling_the_iPad/</link>
      <description>Now that we have an iPad we need to fill it with data. There are multiple possibilities depending on what you have lying around.

If you start afresh, you probably start with the iTunes&#45;store to find music, videos, podcast, books, etc. these are more or less the accepted methods to get official data. Or take pictures with camera to fill your photo book.

However you have probably already a lot of data on your computer. So how to transfer the data from the computer to the iPad? I found and checked multiple Apps: iTunes, Mail, Evernote, Dropbox, Air Sharing, Google Drive and MyMedia. Let&#8217;s work backwards with then last app.

I hoped that MyMedia would let me download video&#8217;s from YouTube, but it did not. It might help you downloading stuff from the Internet, but I have not found where it could help me.

Google Drive allows me to see the documents I created with Google Docs. I can view the documents I created, which is neat. I can then download the spreadsheets as HTML&#45;files, which seems totally useless. I find the app not very useful. Maybe It is more useful for other type of documents.

Air Sharing allowed me to connect to my iBook through Bonjour or FTP. I can traverse my entire hard disk and transfer any document to the iPad. Some documents can be viewed. But if I want to edit a document I need to export them to the appropriate app. And there I get into another problem.

Dropbox can achieve a similar solution as Air Sharing. However now I have more control. Documents get synced between the various platforms connect to the Dropbox&#45;account. But I have to move to my computer to decide, which document I want to share. And with Dropbox a copy gets uploaded to the Dropbox&#45;cloud as well. This is a drawback for very large Keynote&#45;files. But I guess I must put those in the Apple&#45;cloud.

Evernote takes an approach which is a bit different. I can put multiple types of documents into Evernote&#45;notes, which get synchronized with all connected devices to the Evernote&#45;cloud. This seems a neat solution for project&#45;work where I want different document&#45;types together. Still need to experiment a bit more with this though.

A very easy solution is to use Mail and send yourself the document as attachment. Hopefully the iPad recognizes the document&#45;type and can transfer it to an appropriate app.

With the apps discussed above it turned out that I was not able to transfer my photos, videos and music to the appropriate iPad&#45;apps. At least I did not discover a way. It seems iTunes is really necessary. Luckily I found an update for the version I had already installed and a version that supports the iPad. So I have a solution for various file types.

After researching various options I am a bit underwhelmed. There is not one solution. I really need to define what I need and find an appropriate solution, i.e. several apps that suite. So I will turn the question on its head and start with the file types.</description>
      <dc:subject></dc:subject>
      <dc:creator>Arnaud Leene</dc:creator>
      <dc:date>2012-09-25T18:49:56+00:00</dc:date>
    </item>

    <item rdf:about="http://www.sivas.com/aleene/above/IPad_printing/">
      <title>IPad  printing</title>
      <link>http://www.sivas.com/aleene/above/IPad_printing/</link>
      <description>Printing on the iPad does not come out of the box unless you have a modern printer, which is AirPrint enabled. This is not the case with my HP5940. I have the printer connected to a HP print server.

Fortunately there is a solution to this problem through the &amp;lt;a href=&#8220;http://www.ecamm.com/mac/printopia/&#8221;&amp;gt;Printopia&amp;lt;/a&amp;gt; application. Once this runs on your Mac, the iPad sees the printer.

Unfortunately, it requires me to have a Mac running. Luckily the application still runs on my old iBook.</description>
      <dc:subject></dc:subject>
      <dc:creator>Arnaud Leene</dc:creator>
      <dc:date>2012-09-24T13:20:34+00:00</dc:date>
    </item>

    <item rdf:about="http://www.sivas.com/aleene/above/iPad_documents/">
      <title>iPad documents</title>
      <link>http://www.sivas.com/aleene/above/iPad_documents/</link>
      <description>Working with documents (text, presentations) turns out to be a totally different problem. I will discuss them one by one.

&amp;nbsp;

Text&#45;documents

On my iBook I am using Mellel, Pages and TextEditor. Mellel does not have a counterpart on the iPad. I am using an old version of Pages (1.02). It turns out that I can not open these files on the iPad version of Pages. I need a more recent Mac&#45;version to upgrade these files. I get sent Word&#45;files from time to time. I can read these files in Mail and export them to Pages. I also get ODT&#45;files, which I can not read.

&amp;nbsp;

Spreadsheet&#45;documents

I am using the Google Docs version to create my spreadsheets. It turns out that I can read the data in Numbers. However I lose all the graphic stuff.

&amp;nbsp;

Presentation&#45;documents

I am only using Keynote to create presentations. I guess I have a problem with opening these files as well. Upgrade time. Also I get PowerPoint&#45;files now and then. I assume Keynote can read these. I have no files to check this out at the moment.

&amp;nbsp;

&amp;nbsp;</description>
      <dc:subject></dc:subject>
      <dc:creator>Arnaud Leene</dc:creator>
      <dc:date>2012-09-24T11:49:41+00:00</dc:date>
    </item>

    <item rdf:about="http://www.sivas.com/aleene/above/iPad_blogging/">
      <title>iPad blogging</title>
      <link>http://www.sivas.com/aleene/above/iPad_blogging/</link>
      <description>I use MarsEdit to blog from my iBook and I have my personal installation of Expression Engine (EE). The latter supports the Metaweblog API.

&amp;nbsp;

I found an App that is specially geared for EE, however that is really for EE 2.1 or higher. And I am still on version 1. And for that version iExpression is not very good. So I headed for an alternative.

&amp;nbsp;

I found that one in Blogsy. I can setup multiple blogs for EE. I can edit posted blogs, etc.

&amp;nbsp;

I still have to figure Blogsy out a bit more, as I find it not quite natural yet.</description>
      <dc:subject></dc:subject>
      <dc:creator>Arnaud Leene</dc:creator>
      <dc:date>2012-09-23T16:15:47+00:00</dc:date>
    </item>

    <item rdf:about="http://www.sivas.com/aleene/above/iPad_recipes/">
      <title>iPad recipes</title>
      <link>http://www.sivas.com/aleene/above/iPad_recipes/</link>
      <description>The first trouble encountered is with the transfer of my recipes. I am using MacGourmet on my iBook. Luckily there is a version available on the iPad. However I can only transfer to the iBook by tethering with my iBook through iTunes. And that is just what I can not do. So I am stuck for the moment.

&amp;nbsp;</description>
      <dc:subject></dc:subject>
      <dc:creator>Arnaud Leene</dc:creator>
      <dc:date>2012-09-23T16:09:26+00:00</dc:date>
    </item>

    <item rdf:about="http://www.sivas.com/aleene/above/iPad_banking/">
      <title>iPad banking</title>
      <link>http://www.sivas.com/aleene/above/iPad_banking/</link>
      <description>The first iPad test is around banking. I have multiple bank accounts at multiple banks. Each bank can be accessed through the web (Safari), so no problem there. Each bank has also it&#8217;s own iPad app (Bankieren App for my Dutch ING bank accounts and Mon Budget for my French Credit Agricole bank accounts).

As far as I can see the Bankieren App works well and allows me to do the basic things. However I am not able to export my transactions, which I really want.

The Mon Budget is unclear. I have trouble synchronizing with their server. I tried multiple times, but no success as yet. So for the moment it&#8217;s is unusable.

Handling these bank accounts either through their Apps or their Websites present no problem. I can do what I want on my old iBook and iPad. It helps that the data is server&#45;based.

To manage my different bank accounts I have been using the Mac application iCompta. This application has an iPad counterpart. As the data now resides on the Mac I have an additional synchronization worry. Luckily they have a solution. By storing the database on Dropbox, I can&#8217;t use the same database on the iBook and iPad.

The iCompta app works very nice on the iPad. The only thing I am missing is the import function. This implies that I will use the iPad only for consumption. The creation must still be done on the iBook.</description>
      <dc:subject></dc:subject>
      <dc:creator>Arnaud Leene</dc:creator>
      <dc:date>2012-09-21T12:57:21+00:00</dc:date>
    </item>

    <item rdf:about="http://www.sivas.com/aleene/above/iPad_experiences/">
      <title>iPad experiences</title>
      <link>http://www.sivas.com/aleene/above/iPad_experiences/</link>
      <description>Finally I got me an iPad. My computer is really getting old, so I need a replacement. I will try to use the iPad as a replacement, although I already now that some things can not be replaced. I guess I will have to use both computers and I might even buy something else to replace my 10&#45;year old PowerPC&#45;based iBook.

Some first impressions to start with. It really works very well and seems faster than my iBook. Not all the apps I use on the iBook have an iPad counterpart. Synchronizing between iBook and iPad is not really there yet. And working without the iPad tethering to iTunes has some problems.</description>
      <dc:subject></dc:subject>
      <dc:creator>Arnaud Leene</dc:creator>
      <dc:date>2012-09-21T11:07:22+00:00</dc:date>
    </item>

    <item rdf:about="http://www.sivas.com/aleene/above/IExpression/">
      <title>IExpression</title>
      <link>http://www.sivas.com/aleene/above/IExpression/</link>
      <description>My first post from iExpression on the iPad.</description>
      <dc:subject></dc:subject>
      <dc:creator>Arnaud Leene</dc:creator>
      <dc:date>2012-09-20T15:29:43+00:00</dc:date>
    </item>

    <item rdf:about="http://www.sivas.com/aleene/above/Chauffage_iPad_version/">
      <title>Chauffage  iPad version</title>
      <link>http://www.sivas.com/aleene/above/Chauffage_iPad_version/</link>
      <description>I started working on the iPad&#45;version. It turns out to be much more work than I initially thought it would be. My detail view is quite complicated and requires a lot of dedicated TableCellViews. If I want to support landscape, I even need to double those. As many CellViews have TextFields in them, the delegate TextField method obtained a rather complex switch&#45;statement (as some other methods as well).
Some issues that I encountered:

Toolbar not visible &#45; for the detail view, I used a standard UITableViewController object on the storyboard. Unfortunately I was not able to add toolbars to the corresponding scene. I could have put a UINavagationController before the UITableViewController, however that resulted in other errors, which seemed difficult to solve. So I reverted to a standard UIViewController and added all the necessary objects. That needed some more wiring to do, but all works;

Initialisation in portrait orientation &#45; I have a problem with initialisation, when the iPad is in portrait orientation. The necessary data is then not set up as should. Problem is that the master splitView is not presented on screen and thus the initialisation is not done. It might be necessary to do this in awakeFromNib;

Enabling a button based on selected row &#45; I will enable a button based on whether a row is selected. But where should I disable it?

Next/Previous &#45; I had the idea of adding a next/previous button on the detail splitView. However what next and previous is, is only known by the masterSplitView. This is however off&#45;screen. I opted for a protocol, so that the current view is updated with a new client. I disable the next/previous button, when there is no longer something available, which turned out to be a bit fiddly to take care of the edges. I decided to change my initial implementation. Things are now a lot simpler: the less code, the more stable;

reloadData does not display &#45; I have the situation where I can change the entire contents of a tableView which is on display. So no pass through ViewWillAppear or ViewDidAppear. So I should force an update through [tableView reloadData]. Well that method is indeed called and it calls in turn cellForRowAtIndexPath: with the correct data, but still nothing happens. Not figures this one out yet;</description>
      <dc:subject>Computing</dc:subject>
      <dc:creator>Arnaud Leene</dc:creator>
      <dc:date>2012-04-03T20:12:41+00:00</dc:date>
    </item>

    <item rdf:about="http://www.sivas.com/aleene/above/Chauffage_app/">
      <title>Chauffage app</title>
      <link>http://www.sivas.com/aleene/above/Chauffage_app/</link>
      <description>I started working on my first real app, called Chauffage. This app should help us with our billing. It helps calculating the heating cost of our gites. This app should be fairly straightforward and involves Core Data and TableViews. I need to input various types of data (string, integers, floats, dates and a pick list). So it gives me a chance to dive a bit deeper into things. It should however be ready in a few days.
However I did come across a few issues and errors of mine that took more than average time to solve:

White startup screen &#45; the first time I stared the app, nothing happened. I just got a white screen. I discovered that even my first scene was not called. The I had the good idea to look in the app delegate. And by comparing with earlier apps, I discovered that there was some code that should not be there. Indeed deleting that code, did start my application. I guess that I started out with the wrong template;

Database not opened &#45; I had trouble accessing the database. After looking into the flow more deeply, I discover that the database was not opened yet, when I tried to access it. I just was to quick. So now I put the access part in the completion handler part;

Singleton not initialised &#45; at some stage I noticed that my context was not saved. I was smart enough to print an error in case. The error was however NULL. After looking around on Internet, I found that the issue was the context was nil, so it was not initialised. After following the flow around the singleton, I saw that I forgot to add this global database variable to the singleton;

Inline editing &#45; I wanted to add the possibility of inline editing of a tableview cell. After a lot of digging I decided to create a subclass of a UITableViewCell. I configured that cell with an UILabel and a UITextField properties. Then I created the corresponding view. In the tableview:cellForRowAtIndexPath:, I created a cell based this subclass and view (need to load the corresponding nib&#45;file). The cell&#45;properties allow me to fill in the label and the placeholder for the textField. And most importantly I set a textField.tag based on the row of the tableView. The class with the tableView is also the delegate for the textField. In the delegate method didFinishEditing I check the tag to find out the row of the tableView, so I can update the right properties;

NSMananagedDocumentContext changed &#45; a tried to insert a new Managed Object in the database, but was struck with an error without warning code. In the debugger I found an method where the bug roughly occurred. Searching on the Internet, I found that the problem was that the context changed. Next step was to find out where that happened in my code. It turned out that I re&#45;read my document&#45;files and was thus assigned with a new context. Getting rid of that solved the issue;

Defaults Bundle not used &#45; I created a bundle to hold the default values, which can be changed through Apple&#8217;s Preferences app. Took me a while to find the correct and understandable directions. I though I could subsequently access this bundle through the standardUserDefaults method. However that was not the case. One has to setup things before in the application delegate method AppDidFinishLoading (or something like that). Apple has a nice example, which I could use;

Localisation literals &#45; I did a localisation of all the texts occurring in the app. I thought I would be smart and use #define to create all the texts. Especially as the same text occurs now and then. However the &#8216;gentexts&#8217; macro does not like literals. So I had to change all again.

Button title localisation &#45; I thought being smart by creating all the button titles in the application and not the interface. I adapted the size of the button to accommodate the length of the titles. However this does not work well. The size of the text&#45;button label does not seem to be adapted, so text is still cut. Furthermore after pressing a button there is a relic of the title I put in the scene. Turns out that I have to set the title from code for all possible four states;

Read/Write mismatch &#45; I seem to have a problem reading and writing. I write some changes to disk and after that retrieve the data again. It seems however that the &#8216;after&#8217; happens after the retrieving, so I do not see the changes. However when I restart the app the changes are there. I added the CoreData controller used in the cs193p course, which helped a bit. The FetchedResultsController has to detect changes. However it does not seem to see all changes. Need to do some more testing.


I am about to wrap this phase up. The app is working. Now I can deploy privately and do some testing in practice.


&amp;nbsp;</description>
      <dc:subject>Computing</dc:subject>
      <dc:creator>Arnaud Leene</dc:creator>
      <dc:date>2012-03-23T18:10:46+00:00</dc:date>
    </item>

    <item rdf:about="http://www.sivas.com/aleene/above/CS193p_wrapping_up/">
      <title>CS193p wrapping up</title>
      <link>http://www.sivas.com/aleene/above/CS193p_wrapping_up/</link>
      <description>I am putting the last touches to assignment 6. There are only a few courses left, so it is slowly time to wrap things up. I started looking at these other courses.

Course 16 &#45; discusses alert and action sheets, which I used already. It explains animation a bit more. Not sure I will need that, but it might spice up some apps. The section on the camera and NSAcceleration was interesting. I will use that;

Course 17&amp;18; &#45; interesting introduction to the iCould. I guess I could use this stuff. have to look at the course again though.

AVFoundation &#45; had a look at this extra course. Looks interesting. I might have to use it for what I have in mind;

Smule &#45; the presentation by Ge Wang was very nice. Not many things in it that I will use though. However their openLibrary might contain some interesting things;

OpenGLES &#45; had a look at this presentation. Interesting, but for the moment I do not need it. When I do, it might be worthwhile to find an OpenGLES course;</description>
      <dc:subject>Computing, cs193p</dc:subject>
      <dc:creator>Arnaud Leene</dc:creator>
      <dc:date>2012-03-17T08:58:02+00:00</dc:date>
    </item>

    <item rdf:about="http://www.sivas.com/aleene/above/CS193p_Assignment_6/">
      <title>CS193p Assignment 6</title>
      <link>http://www.sivas.com/aleene/above/CS193p_Assignment_6/</link>
      <description>Again I record my progress on this assignment in this post. For this assignment one has to watch several courses. These are basically courses after lecture 11 (Core Location / MapKit):


Lecture 12 &#45; a lecture on persistence. Not sure if we&#8217;ll really need this, as we will work with Core Data. Furthermore several file system stuff taken from this lecture has already been used in Assignment 5;

Lecture 13 &#45; a lecture on Core Data. Looks complicated, but if you know SQL it is OK. This lecture also discusses notification and categories;

Lecture 14 &#45; a demo of Core Data. Was nice, have to use a lot;

Lecture 15 &#45; Watched this lecture. There might some lesson in it for the extra&#8217;s of this assignment (textField);

Lecture 16 &#45; Did not see anything that I might need.


The assignment 6 application is taking shape. I created a new branch to do this work in.

Storyboard &#45; all the necessary scenes and segues have been created. I added scenes for:the list of vacations, a vacation (static one), the itinerary, the tags and photos for the itinerary and photos for the tags;

Segue start point &#45; I am still confused where I should start the segue: from the prototype cell or the tableview object? Either one does work. However when I use the cell as start point, the prepareForSegue: method is not called at the right moment;

VacationTVC &#45; this one is really simple. It only shows the two possible sorting possibilities for vacations. Nearly everything can be setup in the storyboard. The only code I created was to set the title of the navigationItem dynamically. And I pass the vacation on to the next TVC. I had hoped to do this TVC with segue&#8217;s from each cell. But that did not seem to work right. So again I started from the TVC object and added a switch to didSelectRowAtIndexPath:;

PhotoURL &#45; the information stored on each photo in a vacation is insufficient to recover the real Flickr Photo dictionary. One could add all the other retrieved info, but is that worthwhile? So I added a new interface to the PhotoVC setPhotoUrl. This can now be used to retrieve the photo there. But I also had to make an inverse photo&#45;dictionary method. This allowed me to pass the title of the photo to the PhotoVC with the existing interface. I am not happy with this approach. I might redefine the PhotoVC interface to just the photo_title and the photo_url. I think I do not use any other info on the photo. Or I should look into other approaches (delegates?);

Tags &#45; I created a new entity Tag, which stores all found tags. The Tag has a n:m  relationship with Photo. So a tag can point to multiple photo&#8217;s and a photo can point to multiple tags. I set both in their category methods. The tag&#45;string taken from a photo is split in multiple tags using a space as delimiter. Still tags seem very messy, so I might clean up a bit more;

Database creation error &#45; I made an error in creating the database, which consequently resulted in all kind of errors in the predicate. It took me a while to find. I must be more careful;

n:m relationship &#45; I created an n:m relationship and wanted to use the inverse relationship in the predicate. when fetching the entity Photos, I used the Tag:hasPhotos attribute like &#8220;SELF IN %@&#8221;, tag.hasphotos. This will retrieve the given set (tag.hasPhotos) of photos;

Vacation class &#45; I wonder whether I need to introduce a vacation (data) class. In this class all initial file handling can be done. Now I have copies of this in four TVC&#8217;s. The same goes for a Vacations Data Class, but here there is no doubling of code. I did create a Vacation&#45;class, which is passed on between controllers;

Model classes &#45; I do not know which model classes I need for photo&#8217;s. In assignment 5 I used just the dictionary provided by the FlickrFetcher. In this assignment I created another class Photo for the same thing. The problem is that these two model classes meet each other and need to exchange data. What I really need is a single class that holds all the data and either gets it from core data or from Flickr. I do not yet know how to solve this;

Threading &#45; I have some trouble with threads. I need the application to wait on a finished process, which seems to take place in a separate thread. Not sure how to solve that yet. It seems I do not quite understand how things work. When I call performSegue: it seems to continue with the method in which it was called. I thought that it would do first the performSegue: and than come back to the calling method. I expected something totally synchronous. That does not seem to be the case. So at some stage it does do this modal segue and when I select something, it calls the delegate and I might have to do my stuff there. In case of a cancel, probably viewDidLoad is called again? Need to check. Solved by putting things at the right place;

NSPersistentDataStore &#45; I get an error that there is not such a store. Not sure what is happening and what it is in the first place. Turns out that the document was closed in the mean time. After opening it again I was able to write to it. The closing happened somewhere along the lines. I do not know when this happens. In any case I must now check always the closedStatus before explicitly writing. And I should explicitly write after each change to the database, as it might get into an unable state otherwise. Seems a bit cumbersome, as I would like to minimise disk&#45;access;

Incomplete photo description &#45; it seems I have an incomplete photo description somewhere, as the wrong thing is written to disk. Still need to figure this out with a lot of NSLog&#8217;s (solved);

Singleton &#45; I solved my earlier problem with the DataStore through a singleton. In fact later I found out that in the hints something similar is suggested. The code is now a lot cleaner. I could throw a lot away. I will experiment with throwing even more away;

New Vacation &#45; This is the first of the extra tasks. I implemented the first steps in creating a new vacation. It is created, but I still have a flow problem. I am not able to select it, after creation. I am not sure where I should update the tableView;

Empty entities &#45; The Tag and the Place entity should allows refer to at least one photo. Empty tags and places should not be allowed. Normally when I create a photo, the corresponding Place and Tags entities are created or extended. However what happens when I delete a photo? I am left with empty Tags and Places. How can I prevent that? I added code to check this happening, but I have a feeling that I can solve it in another manner, which is much more lean (do I delete the object in the right way? have I set the entity attributes right?);

Closed documents &#45; I am not sure how often I should check whether a document is open or not. Now I do it before each fetch. Seems a bit to much. Doing it less would make the code much more lean;

Top photo places &#45; when I retrieve the top photo&#8217;s, I do not get the place name. How can I retrieve the corresponding place names? I guess I need to add something to FlickrFetcher;

Storing top photos &#45; in assignment 5 it was demanded to store the top photos in a defaults database. I did not bother to do that. However it might add an added complexity, so I would implement this after all. Turned out to be not so difficult (and interesting). However I had an extra complexity due to an inheritance issue;

Itinerary by date &#45; I should order the itinerary places by date added. Need to extend the data model for this. Will implement this as it gives me a little bit of experience with date and time (not so much);

Re&#45;ordering &#45; the last thing that I need to do is supporting reordering places in an Itinerary. For that I created an entity Itinerary. This entity has a many link with Place, which is ordered. And each Place is part of an Itinerary. I each Vacation there is only one Itinerary. This Itinerary has the same name as the Vacation. In the corresponding tableView I retrieve all the itineraries (just 1) and use the relation to find all the. corresponding ordered Places. Moving a row in the table should redefine ordering of these places. I got it working thanks to code I found on the Internet;

Wrapping up&amp;nbsp; &#45; there are still some bugs in the application and it does need some clean&#45;up to remove old code. I could still experiment a bit. However I prefer to start with my own application and dive a bit deeper into that one;</description>
      <dc:subject>Computing, cs193p</dc:subject>
      <dc:creator>Arnaud Leene</dc:creator>
      <dc:date>2012-02-22T10:47:38+00:00</dc:date>
    </item>

    <item rdf:about="http://www.sivas.com/aleene/above/CS193p_Assignment_5/">
      <title>CS193p Assignment 5</title>
      <link>http://www.sivas.com/aleene/above/CS193p_Assignment_5/</link>
      <description>After watching lecture 11 and 12, I started working on this assignment. The lecture on version control is also useful, although I had already found out most things.


Threading &#45; I created 4 four threads for each time I access Flickr. Not sure if it is working though. I see that the threads are created. I can use the interface while the data is loading. So all looks good;

Concurrent loads &#45; I noticed that I could select another image during a load, which will turn into another image loading. Does not look very good, so I limit myself to onen load at the time. To detect a load I check whether the spinner exists. Probably not a good way to do this;

Spinner &#45; I copied the Spinner idea from the Lecture, but nothing happens. Do not know why. I changed the TabBarItemes.title to a recognizable text and NSLogged these titles. The titles do change as they should, but it is just the interface that does not update. I figured out the problem. I did put back the original spinner at the wrong place. Now I do it inside the main thread, within the data fetch thread. All seems OK;

Caching &#45; I figured out how to do the caching. I created a separate class to do all the lifting. I created methods to check the existence of an image, to put it in the cache and to retrieve it. Still need to see how I can do pruning based on size of the cache and oldness of images. The caching also introduced a problem (crash) with changing the titles of the photo view. An assumption seems to go wrong. Also need to see if I can streamline my fetch photo code and how the threading is now working. Should I put the threading inside the method or not?;

Pruning &#45; the pruning part of caching is working. Had to discover a lot about paths, file attributes and sorting. I put all the writing and pruning in a separate thread.

Caching crash &#45; the caching crash has been solved. It had nothing to do with caching. It turns out I deleted to often elements from the bar at the top, beyond what was there.

View switch &#45; I must switch between a list view and a map view of photo&#8217;s. I can implement that in various ways, but I do not know the best way yet. It is easy to go one way, but how to switch back? How to create something really symmetric? For the moment I just added a view above the table view and put a button in it. This button provokes a segue to a mapViewController;

Segue&#8217;s &#45; I had a fight with the segue, which should show the mapViewController scene. I think the problem was that I loaded this segue twice. You either define it from the button to the scene and do nothing in the mapViewController. Or you make the segue from the calling ViewController to the Scene and define in a button action that it should be called. But not both!!!

Map &#45; the MapView controller was easily implemented if you follow the corresponding course. This included the small (not really useful) thumbnails on the callout;

MapRegion &#45; I calculated the size and location of the Map by traversing all locations, calculating the minimum and maximum latitude and longitude. The average of these gives the center. The minimum and maximum can be used to define the span. This span includes a factor to have a nice area around the pins;

Inheritance &#45; this application can use a lot of inheritance, but I have not yet figured out how I should use it. But if I want to make maps coming from the places table and the favorite photo table, then I must solve this. I think I will create a sub&#45;class for the MapVC, so that I can disallow asking for images, although this might be solvable through returning a nil as image. And I will create a single class for all tableViewControllers. I then only need to implement a different Flickr retrieve algorithm for each specific tableView. Well at least that is my theory for now;

Error &#45; I encountered a very strange error: &#8220;Couldn&#8217;t register com.topPlaces.debug with the bootstrap server. Error: unknown error code. This generally means that another instance of this process was already running or is hung in the debugger.Program received signal: &amp;ldquo;SIGABRT&amp;rdquo;.&#8221; After searching on Internet I discovered that some zombie processes are running, which can only be killed by restarting the machine. That helped;

Inheritance scheme &#45; I implemented my inheritance scheme for the tableViewControllers. Also the placeTableViewController is part of this scheme. Thus I have now one MapViewDelegate;

Place annotations &#45; I create a separate class in order to calculate the annotations for places. I implemented this just like the photo annotations. However a place consists of three parts (city, region and country). I still need to add the third part. Advantage is that the TableViewController does not know anything anymore of the Flickr data keys;

Flickr retrieval &#45; One of the main difference between the three tableViewController classes is the call to retrieve the data. I do not know how can reduce the code any further with inheritance;

Accesory action &#45; if I press the accessory button on a pin, I need to call different methods depending on the data. Or have the delegate do different things. It seems I can not redefine the delegate method in a chiled. So I am a bit lost here. Update: I forgot to set the delegate and now all is well;

Place annotations 2 &#45; I solved this issue by subclassing the PhotoAnnotations class and redefining the methods. The third part was added to the parent class. This part took a long time, as I did not quite understand the MKAnnotation&#45;thing;

MapViewType &#45; changing the mapViewTypes was super simple;

Title issue I solved the title issues. Each screen now has a nice title, which is based on the current an previous viewController;

iPad/iPod &#45; things are still working on the iPad and iPod;

Resiliency I am not sure whether the app is resilient enough. I encountered several problems with the Flickr API, which I guard against. However there might be more to do;

Caching problem &#45; I suspected a caching problem. The system retrieved the same photo each time after switching to another one. I thought that the caching did not work. However it turned out that the cache was to small (or image to big) to keep it in the cache all the time. So a 10 MB cache is on the small side. I could also restart the app to remove all kinds of other stuff;


Seems that I am ready to move onto the next assignment.</description>
      <dc:subject>Computing, cs193p</dc:subject>
      <dc:creator>Arnaud Leene</dc:creator>
      <dc:date>2012-02-13T16:05:48+00:00</dc:date>
    </item>

    <item rdf:about="http://www.sivas.com/aleene/above/CS193p_Github/">
      <title>CS193p Github</title>
      <link>http://www.sivas.com/aleene/above/CS193p_Github/</link>
      <description>I created a github account to store my cs193p assignment results.

My first repository Calculator is to the store all the work on the calculator. This covers assignment 1 to 3. 

I intend to commit all small changes to the application closely following the parts of the assignment and documenting the hints from the assignment and the courses. Unfortunately I have to redo my assignements again to create the required commits.

&amp;nbsp;</description>
      <dc:subject>Computing, cs193p</dc:subject>
      <dc:creator>Arnaud Leene</dc:creator>
      <dc:date>2012-02-05T15:39:54+00:00</dc:date>
    </item>

    <item rdf:about="http://www.sivas.com/aleene/above/CS193p_Delegation_concepts/">
      <title>CS193p Delegation concepts</title>
      <link>http://www.sivas.com/aleene/above/CS193p_Delegation_concepts/</link>
      <description>Delegation is a rather difficult concept to understand. In order to get a better idea what it is I made a drawing.


Suppose we have three object: a square, a circle and a pentagram. The square has four white holes in itself (an oval, a 4&#45;pointer star (not quite white), a 5&#45;pointed star and a hexagram). It announces to the world that another object can fill these holes (the lines protruding the square). In fact it needs two other objects: one for the blue holes and one for the red holes.

The circle object announces that it will help the square object with its blue holes. And the pentagram object says it will help with the red holes. Thus the circle object fills the blue oval hole of the square object. And the pentagram object fills the red pentagram hole and the 5&#45;pointed star hole of the square object. The four pointed star has not been filled as it was optional (not quite white).

With this it is possible to explain the various delegation concepts:


delegator &#45; the square object is the object that delegates;
delegatee &#45; the round and the pentagram objects adopt the delegation responsibilities;
delegate property &#45; the square wants to know who his delegatees are. This is specified in his delegator properties (the two extrusions on the square). One of the extrusions is filled by the circle, the other by the pentagram;
protocol&#45; the set of holes in a specific colour define a protocol. The small square on the edge of the circles says that the circle adopts the blue protocol as defined by the square. The same goes for the red protocol on the pentagram; 

These leads to the five steps defined in course 7(?). Two steps are definition and three steps are adoption:

Protocol &#45; define the methods for a protocol;
Delegator &#45; define who needs to delegator a protocol;
Adoption &#45; a class (delegatee) should declare it adopts a certain protocol;
Implementation &#45; the delegatee should implement the methods required in the protocol by the delegator;
delegator properties &#45; the delegator properties that point to its delegatees should be set;</description>
      <dc:subject>Computing, cs193p</dc:subject>
      <dc:creator>Arnaud Leene</dc:creator>
      <dc:date>2012-02-04T11:47:58+00:00</dc:date>
    </item>

    <item rdf:about="http://www.sivas.com/aleene/above/CS193p_Assignment_4/">
      <title>CS193p Assignment 4</title>
      <link>http://www.sivas.com/aleene/above/CS193p_Assignment_4/</link>
      <description>I started working on Assignment 4 of the CS193 fall 2011 course.

Flickr API &#45; I got the Flickr API working and am able to access the top locations and photos per locations. I did have a bit of trouble figuring out the data structure that Flickr is giving. I got mixed up in Array&#8217;s and Dictionaries. Why does the flickrFetch API give an NSArray and not an NSDictionary?

Storyboard &#45; I had a lot of trouble getting a good storyboard. However after seeing Lecture 10, I decided to delete everything and restart from scratch. Just as Paul Hegarty did during the Lecture. And then everything went pretty smooth;

Place Photolist &#45; Getting the Photlist for a specifc place working got me bogged down for a while. Until I realised that I did not check the Segue identifier in the right way. I used &#8216;==&#8217; and not &#8216;isEqual:&#8217;. After that it worked well;

Description dictionary &#45; I was not able to get the information on the description through the &#8216;description._content&#8217;&#45;key. So I had to take the long way to retrieve it;

Title and description length &#45; the lenghts of these two items is much longer than the screen width. What is the best way to present them?

Photo location list segue &#45; I do not understand how this segue works. You do not have to set something up. Just add the segue to a table view controller seem to be enough to have it respond to a row selection? From where should I setup the segue? The window? the table? the cell? The window as anchor works with a performSegue: in didSelectRow:, but why?)

Titles &#45; I have been playing with the window titles a bit in order to display city name and or photo title. I would like to limit the number of characters and append a &#8216;...&#8217; at the end. If I use a minimum size that is to large I get an error message. So I must take into account the maximum allowed length. Still have to work on that;

Photo display &#45; I got the photo displaying working, but I was not able to set it to fill with UIContentMode. It turns out that I implemented conflicting procedures: in storyboard it was set to AutoFill, but in the methods I un&#45;implemented this fill by setting the image size and/or frame;

iPad &#45; I had to rewatch the course on the iPad to see how it worked again. Setting up the storyboard was reasonable straightforward. I had to remember to setup the photoViewController as detailedView. And to not use segue to present photo&#8217;s. It seems to be working. I have now to address the details;
Generic TabBarViewController &#45; just like in the course I created a generic TabBarViewController, in which I implemented the DetailedSplitViewController methods. I get the impression from the assignment that there is also another solution;

Subclassing &#45; I created a subclass for showing a list of photos: one for the most popular and one for a single place;

Sections &#45; I implement the extra requirement: sections in the Places&#45;list. I had a hard getting my head around it, fighting with arrays and dictionaries. My final approach was to enumerate all the places I had retrieved, extracted the country (careful here). Each country was added to a dictionary and each place an array in that dictionary. As the tableview does not like dictionaries, I had to convert it back to an array by enumerating over the keys. I added the name of the country as the title of a section. The provence is now the detail; 

NSRange &#45; To find the country from a place, I had to extract the last element in the location. Normally a location consists of three elements divided by comma&#8217;s. So I use rangeOfString: to find the location of the comma. However when there is no comma, I get a crazy number. So I can not trust it. However the length is then 0, so I can use this to see whether there is a comma in a string (anyway I no longer use this approach, see next item);

Location parts &#45; As noted a location can consist of three parts. NSString has a method (componentsSeperatedByString:) to extract these parts given a delimiter @&#8221;,&#8221;. This method provides an array. The first part will be the name of the city and the last part the name of the country. And if there are only two parts, it does not matter. I got these working after listening to lecture 11 (?). I needed to use the method ValueForKeyPath:;

Reset contentMode &#45; after loading an image one has to reset the contentMode for the imageView and scrollView, otherwise parts of the image can be cut off. I used a contentMode which fits the image to the size of the view. Also the zoomFactor must be reset to 1;

Image in TabBar &#45; I would like to suppress the tabbar when showing the image, but have not yet found out how;



&amp;nbsp;</description>
      <dc:subject>Computing, cs193p</dc:subject>
      <dc:creator>Arnaud Leene</dc:creator>
      <dc:date>2012-01-31T18:04:25+00:00</dc:date>
    </item>

    <item rdf:about="http://www.sivas.com/aleene/above/CS193p_Post_Assignment_3_thoughts/">
      <title>CS193p Post Assignment 3 thoughts</title>
      <link>http://www.sivas.com/aleene/above/CS193p_Post_Assignment_3_thoughts/</link>
      <description>I finished assignment 3 now, apart from the content scaling thing.

In course 9 the TableViewController was introduced. I added the instructions as given during the course. It all worked like a charm. I did however a few things a bit different: all buttons were added to the toolbar in the iPad storyboard.

Paul Hegarty was not able to all the relevant things in the course, so extra code was posted on the website. I folded all the posted code into my code. I used a slightly different approach to the iPhone storyboard: I added a toolbar at the bottom of the GraphView and put the formula, switch and add to favorites in there.

I am however left with one problem: the swipe gesture does not work. I still have to find a way to debug this. At the moment I am lost. It seems that the swipe&#45;gesture is not recognized.

&amp;nbsp;</description>
      <dc:subject>Computing, cs193p</dc:subject>
      <dc:creator>Arnaud Leene</dc:creator>
      <dc:date>2012-01-31T18:00:37+00:00</dc:date>
    </item>

    <item rdf:about="http://www.sivas.com/aleene/above/CS193p_fall_2011_resources/">
      <title>CS193p fall 2011 resources</title>
      <link>http://www.sivas.com/aleene/above/CS193p_fall_2011_resources/</link>
      <description>This post gathers interesting resources I found for the fall 2011 course.

The official material can be found on the course website at Stanford and on iTunesU. These lectures are based on Xcode 4 and iOS 5, so the older solutions are no longer applicable. There can be some help found in a corresponding Google Group.
There are multiple people that I are following the course:

DJ Chung &#45; explicit info on assignment 2;
Adam Lung
MobileDevvt &#45; on 25/2/12 he was at assignment 2;
Make With Touch &#45; on 25/2/12 on assignment 3;



I found various solutions on the web, which work as inspiration. You can find my solutions on Github.

Assignment 1 (Simple Calculator)

Implementing pi discussion
maxkostow &#45; combined code for assignment 1&#45;3;
macuenca &#45; assignment 1 only;
floating point &#45; some solutions;

Assignment 2 (Programmable Calculator):

Geekapproach &#45; looks like an interesting solution to evaluate the expression;
maxkostow &#45; combined code for assignment 1&#45;3;

Assignment 3 (Graphing Calculator):

maxkostow &#45; combined code for assignment 1&#45;3;
Jeffrey Lam &#45; solution does not seem to use a datasource;
Hung &#45; solution for assignment 1&#45;3;


&amp;nbsp;</description>
      <dc:subject>Computing, cs193p</dc:subject>
      <dc:creator>Arnaud Leene</dc:creator>
      <dc:date>2012-01-28T13:51:52+00:00</dc:date>
    </item>

    <item rdf:about="http://www.sivas.com/aleene/above/CS193p_Assignment_2_thoughts/">
      <title>CS193p Assignment 2 thoughts</title>
      <link>http://www.sivas.com/aleene/above/CS193p_Assignment_2_thoughts/</link>
      <description>In this post I gather some thoughts on the assignment 2:


protocols &#45; for the iPad application to work one has to define a protocol in a separate&#45;file. I just followed the directions in the lecture, but I am still at a loss how this works;
error handling &#45; in one of the earlier assignments one had to implement some error handling (division by zero). This should also propagate to the Graphing Calculator, which I did not implement;
Points vs. pixels &#45; the assignment asks to use this conversion in order to have the app working on retina displays. So I added this scale factor and thus doubled the number of calculations. However it does not seem to make any difference. So I am lost here;
drawing mode &#45; I had some problems implementing the drawing mode (line vs points). I added a segmented switch to the iPhone and iPad GraphController views. These call a method drawingModeChanged in the GraphController, which in turn changes the corresponding instance variable in Graph. But I was not sure in what method to set the drawing mode. After some experimenting I found the right one (tell you later which one);
Xcode crash &#45; I experienced a heavy Xcode crash. The application would no longer star with my project. I tried to use Time Machine to get a valid version back, but that did not work. So I recreated the project and pulled in the old files one by one. I was able to pull them all in without any problems. So I guess one of the project&#45;files got corrupted;
Profile &#45; the final part of this assignment involved optimizing the code for the pinching gesture. I did not finish this, as it seemed to involved a lot of rewriting. I guess that one has to use a CGContextScaleCTM to change the scale;</description>
      <dc:subject>Computing, cs193p</dc:subject>
      <dc:creator>Arnaud Leene</dc:creator>
      <dc:date>2012-01-27T18:38:48+00:00</dc:date>
    </item>

    <item rdf:about="http://www.sivas.com/aleene/above/IOS_programming/">
      <title>IOS programming</title>
      <link>http://www.sivas.com/aleene/above/IOS_programming/</link>
      <description>And again I started learning IOS&#45;programming. The last time I did finish the book by LaMarche for beginners. However I did not feel confident enough to work on my own. I started with the CS193p course that was then available, but got bogged down in mismatching courses and materials.

So a new year seem to be a good start to begin. I found out that in the mean time Xcode was heavily changed and IOS moved to version 5. This implied that I really had to start from the beginning. I am now up to course 7 and finished assignment 2.

&amp;nbsp;</description>
      <dc:subject>Computing, cs193p</dc:subject>
      <dc:creator>Arnaud Leene</dc:creator>
      <dc:date>2012-01-27T18:13:17+00:00</dc:date>
    </item>

    <item rdf:about="http://www.sivas.com/aleene/above/Bundle_time/">
      <title>Bundle time</title>
      <link>http://www.sivas.com/aleene/above/Bundle_time/</link>
      <description>It seems that it is the time of the year for all sorts of bundles.

The bundle of Productive Macs looks at productivity apps, such as Fantasical, BusyCal, Home Inventory, NotBook, Folder X, LaunchBar, Cashculator and Tags. They offer also some prize. Anyway the bundle is not for me, I have already enough related apps. I like the prizes though, such as Hype.

The MacUpdate bundle seems more interesting with TechTool Pro, IconBox, TotalFinder, Postbox 3, FontPack pro Master, Labels&amp;Adresses;, Mac DVDRipper Pro 3, Back in Focus, NeverWinter Nights, Hear, iClip 5 and FolderSynchronizer. I like TechTool as I have not really something comparable. TotalFinder looks interesting. A DVDRipper useful (Handbrake?). Back in Focus and iClip (have an old version).</description>
      <dc:subject>Computing</dc:subject>
      <dc:creator>Arnaud Leene</dc:creator>
      <dc:date>2011-12-15T10:38:48+00:00</dc:date>
    </item>

    <item rdf:about="http://www.sivas.com/aleene/above/Effect_of_eccentricity/">
      <title>Effect of eccentricity</title>
      <link>http://www.sivas.com/aleene/above/Effect_of_eccentricity/</link>
      <description>Simultaneous fitting two transits of an eclipsing binary is not evident. It is not allways clear how the various parameters interact. For SPH10003247 I used this approach:


start fitting the secondary (shallowest) transit by changing the relative luminosity of the stars. A luminosity ratio of 0.55 matches the secondary transit. And also the primary transit can be matched (black lines in figure). A further increase (say 0.52) of the luminosity difference will make the secondary transit to shallow. A decrease (0.6) will make the primary transit not deep enough.

 A shallow secondary transit can also be produced by having a size difference between the two stars. Increasing the size of the secondary star to 1.26, will produce the right secondary depth. However this will not produce the right depth of the primary transit. The advantage of a size ratio is also that we will have a flat transit as we have in the data.

Using a luminosity difference seems to be the preferred explanation. The next thing we need to explain is the shape of the bottom of the transits. Unfortunately any change to the size ratio will make the depths shallower, so a correction to the luminosity ratio must be applied as well. Thus we need to increase the size of the secondary star whilst decreasing the luminosity ratio. Unfortunately at a size ratio of 1.15 and brightness ratio of 0.72, the primary transit is no longer deep enough.

It is also possible to move in the other direction: decreasing size ratio and increasing the luminosity ratio. It is not possible to go below a luminosity ratio of 0.52. At this ratio the secondary star is fully occulted by the primary, and thus the depth of the secondary transit defines this luminosity ratio.

In order to explain the transits, I need to work with a third parameter: the linear limb brightening coefficient. Standard this is set at 0.6, but in practive it can vary wildly depending on the star. By decreasing this factor to 0, I can increase the lumiosity ratio to 0.46 and decrease the size ratio to 0.88. This still does not explain the observations: the secondary transit is to narrow and the primary transit is to shallow. The size ratio must be as small has 0.77 to explain the width of the secondary transit (red lines in figure).


Thus my current model does not work to explain these observations. I need to have other parameters that I can tune. There seems to be one assumption to many in my model.

This eclipsing binary has an eccenctric orbit as can be seen from the centers of the transits (0.0985 and 0.7561). Thus my assumption of a circular orbit does not hold. There might be a difference in apparent radii due to the orbit. A change from 0.95 to 0.77 is then needed, to explain the observations.

The difference in transit timings reveals at least a minimal eccentricity of 0.25, which corresponds to a relative distance variation between the two stars of 1.6. This might thus explain why my circular orbit does not work. So I need to refine my model to incorporate eccentricity. (Literature used Russell (1912) and Sterne (1939).</description>
      <dc:subject>Science</dc:subject>
      <dc:creator>Arnaud Leene</dc:creator>
      <dc:date>2011-11-16T17:52:39+00:00</dc:date>
    </item>

    <item rdf:about="http://www.sivas.com/aleene/above/Tatooine_star_analysis/">
      <title>Tatooine star analysis</title>
      <link>http://www.sivas.com/aleene/above/Tatooine_star_analysis/</link>
      <description>This a very interesting object: a double star with a planet circling around it. The excellent analysis of the previous posters seems to be the best solution. I wondered however if I would be able to expand on that by adding some numbers. Unfortunately most of the published formulae do not work here, as they all assume that the occulted star is stationary, which is certainly not the case here. So I had to invent some stuff to get to an extended explanation.


The first step involves the double star. As the transits have equal depth and are close to 50%, so both stars are assumed to be equal in size and the orbital plane (circular) has an inclination angle of 90 degrees. Thus we see the orbit edge on. The orbital period can be determined from two transits (i and i+1 &#45; the two green transits) and is 2.976 days. Normally the width of a transitcan be used to calculate the half&#45;major axis of the orbit. However formula 3 of Seager&amp;Mallen;&#45;Ornelas (2002) assumes however that the occulted star does not move, which it does in this case. Thus the observed width (0.13 days) must be doubled to get the correct one. From this the hal&#45;major axis can be determined as 11.3 stellar radii.

To determine the movement of the planet, better timings of the transits are needed. In order to make the three extra transits more clear I subtracted the LC of the double star. This was done by shifting and overlaying an adjacent LC and then subtracting the two. The blue and green lines show where the transits were. The dots shows the results of the subtraction. And you as well that the subtraction did not succeed 100%. 

Then these three transits were fitted to determine the transit times. The dermined values, such as the width (T) and impact parameter (b) have not much significance, as the formulae assume a static object. Using the start of the ingress of the first transit (day 55023.31) and the end of the egress of the third transit (day 55024.94), we can determined the speed of the planet. The model of the double star indicates where the stars are and by putting the planet next to the star, we set the position of the planet. I used the configuration indicated by @kianjin in his last animation as starting point.

This resulted in the following animation, which confirms @kianjin&#8217;s results. The first transit happens just as star 1 is turning prograde. The planet starts the transit and then star 1 speeds up and moves out under the planet. Transit 2 is when the planet passes in front of star 2. Star 2 is then retrograde, which results in a small transit width. Transit 3 happens when star 2 is retrograde.


Interestingly in the animation a fourth transit happens, when the planet transits star 2 again. This fourth transit really isn&#8217;t in the data. I checked whether there isn&#8217;t any small grazing one. It turns out that this transit only occurs due to the position of the viewer in this 3D&#45;animation. I am not able to undo this perspective (yet) and hence the animation does not allow to read the transit times.

I have a 2D&#45;animation as well, which allows me to put the observer at infinity. In this animation the blue line represents the planet and viewing direction. I can not determine the distance of the planet, as we have no period as yet.

To be continued&#8230;

&amp;nbsp;</description>
      <dc:subject>Science</dc:subject>
      <dc:creator>Arnaud Leene</dc:creator>
      <dc:date>2011-11-08T14:34:25+00:00</dc:date>
    </item>

    <item rdf:about="http://www.sivas.com/aleene/above/Transit_fit_evaluation/">
      <title>Transit fit evaluation</title>
      <link>http://www.sivas.com/aleene/above/Transit_fit_evaluation/</link>
      <description>This object is known under the identification of Kepler ID 6850504, SPH 21522290 and KOI 70. Four planets have been detected around this planet. This is a good object to check my algorithms against the official ones. The official data of the objects found here are:


ID durationdeptht0perioda/R r/R*b
(hr)(ppm)(day)
KOI 70.01 3.798102771.60910.85404220.0000.0300.49
KOI 70.022.47837567.5013.6961256.2000.0210.85
KOI 70.037.23879397.72977.60900083.3900.0260.198
KOI 70.042.7707468.9306.0985216.0000.0080.40

My data (algorithm 8):

ID durationdeptht0perioda/R r/R*b
(hr)(ppm)(day)
KOI 70.014.69990&#45;10.8545&#45;0.0410.93
KOI 70.022.98368&#45;3.6962&#45;0.0250.95
KOI 70.038.753869&#45;77.60&#45;0.0390.94
KOI 70.042.9383&#45;6.09852&#45;0.0120.94

The periods founds are similar to 4 decimal accuracy. Adding 7 quarters of data leads to a better accuracy of 2 extra decimals. The other basic parameter of a transit is its depth. The depth difference is &#45;4%, &#45;2%, 10% and &#45;10%. I regard this as OK for the data that I have.

The other three parameters: r/R*, b and duration are all related, so have to be viewed together. The most remarkable is that my detected radii are systematically to large (37%, 19%, 50% and 50%). But also my values for the impact parameter b are much larger. In fact the radii matches best, where the impact parameters do match (KOI 70.02). Thus the impact parameters seem to be the culprit of this difference. When I use the published impact parameters to calculate the radii, I get much smaller differences (9%, &#45;10%, 12% and 12%). These errors seem reasonable as they are comparable to the related errors in depth.

The problem seems to be related to the impact parameter that I determined and the limb darkening model that I used. For small impact parameters (</description>
      <dc:subject>Science</dc:subject>
      <dc:creator>Arnaud Leene</dc:creator>
      <dc:date>2011-10-30T13:57:38+00:00</dc:date>
    </item>

    <item rdf:about="http://www.sivas.com/aleene/above/Hunting_planets/">
      <title>Hunting planets</title>
      <link>http://www.sivas.com/aleene/above/Hunting_planets/</link>
      <description>A few ways back I started playing with the Zooniverse websites: doing astronomy at home. I started with hunting for ice planets and then moved to hunting for planet in the Kepler data (planethunters). And I am still working on that.

I like this site, as it allows me to download the corrresponding data and playing with it. I downloaded the Plot application and started writing macro&#8217;s in perl for my needs. This results in images such as this one:
Uploaded with Skitch!
This images shows a folded lightcurve, thus showing the passage of planet.

&amp;nbsp;</description>
      <dc:subject>Science</dc:subject>
      <dc:creator>Arnaud Leene</dc:creator>
      <dc:date>2011-09-13T18:20:48+00:00</dc:date>
    </item>

    <item rdf:about="http://www.sivas.com/aleene/above/Visiting_Copernic/">
      <title>Visiting Copernic</title>
      <link>http://www.sivas.com/aleene/above/Visiting_Copernic/</link>
      <description>Last tuesday I visited the Copernic observatory. Every tuesday in july and august they have an open evening when people from the public can use the telescopes and get some xplanation about the heavens. It was some time ago I went, so it ws very to see that they now have a 52 cm reflector. 

I used it to look at some open clusters and a globular cluster. Also M51 was nice, but even with such a telescope there is just some fluff. The small telescope was used to look at the the Dumbbell nebula and some close binaries (epsilon Lyrae and gamma (arrow)). I tried gamma later at home and was able to distinguish the two stars at 8 arcsec separation. I did not try epsilon lyrae as it was in the zenith, which is very awkward with my telescope.

Now I have to return to view the comet.

&amp;nbsp;</description>
      <dc:subject>Science</dc:subject>
      <dc:creator>Arnaud Leene</dc:creator>
      <dc:date>2011-08-25T15:51:22+00:00</dc:date>
    </item>


</rdf:RDF>