Git and Dropbox Comment

1:39 am on February 9, 2011

I started a couple of projects recently, both iPhone apps with Ruby on Rails backends – one I am working on by myself and the other with a friend. In both cases I am using Git as the source control and needed a central repo. After looking at Github, which is a great service, I decided I did not want to pay to host a private project considering the infant stage both these projects were in. So I decided to try and use Dropbox as the remote repository instead. This has worked out surprisingly well for both projects (so much so and to my surprise I decided to write something about it). To set up a project this way you will need to do something like this:

In the project directory …
cd ~/project
git init
git add .
git commit -m "initial commit"

In the Dropbox folder …
cd ~/Dropbox/git
mkdir project.git
cd project.git
git init --bare

Push project to remote …
cd ~/project
git remote add dropbox ~/Dropbox/git/project.git
git push dropbox master

To update your local copy …
git pull dropbox master

Dropbox obviously takes care of the syncing between machines and/or different users and unless you are on a really slow network connection or committing very large amounts of data the syncing takes no time at all.

My main worry about using Dropbox as a git remote repo was that pushing or pulling code while someone else is committing would cause corruption to the repo or my own local version. So far I have not come across this problem and I even tried to git pull during dropbox syncing.

Bring to Light – Greenpoint, Brooklyn Comment

8:26 am on October 3, 2010

http://bringtolightnyc.org/

Bring to Light is New York City’s first-ever Nuit Blanche festival. A Nuit Blanche is an all night arts festival of installations and performances celebrating the magic and luminance of light.

HTML5 Flashcards (iPhone/mobile) Comment

2:31 pm on August 30, 2009

A simple iPhone flashcard site. The flashcards are meant to help with learning words on a mobile phone rather than the traditional physical cards; I wanted to take the cards with me at all times so my phone was a natural choice. All along this project has really been an experiment of trying some different technologies and ideas to implement the flashcard functionality to aide with learning words for the GRE exam.

In the current incarnation I wanted to improve the flashcards web app usability by making it available while offline and take advantage of the swipe gesture to improve moving between cards. As well as taking advantage of features that are usually found in an iPhone application rather than a web site, I decided to changed the looks and feel so it would feel more like a native iPhone application, but without having to build a device dependent application in Objective C. Most the modern smart phone browsers are supporting HTML5 features, which includes local storage/database and cache manifest. With these features it is possible to create offline capable web apps that can support multiple devices and platforms without the need to develop individual apps for each platform (e.g. iPhone, Android etc). A lot of the device specific features such as detecting the touch interfaces and accessing to geo-locations are available through javascript.

Another technology I wanted to get to grips with better during this web app was the javascript language as I had recently been reading the Douglas Crockford’s “Javascript The Good Parts” and JQuery in Action. The iPhone look and feel was implemented using the jQTouch javascript plugin library to JQuery

The server side part of this application is implemented in Ruby on Rails; this was chosen out of the pure interest of trying the Rails framework and learning Ruby. In the last release of Flashcards I simplified the server side code by moving a lot of the functionality to the client (browser). This made the application more responsive to use without the need for a round trip to the server each time a new word was requested. Now all the server side provides is a single html page as the UI and a set of JSON APIs for the flashcards card.

To make this feel even more like a native application on the iPhone navigate to gre.plasticcube.com in the iPhone Safari browser and ‘Add Bookmark to Homepage’. This will open the web application without the address bar being present and it will truly look like a native application.

http://gre.plasticcube.com

BrowserAdd to Home ScreenHome Screen iconNative-like App

Random Bit Comment

12:24 pm on June 30, 2009

A nearly useless site which returns you a random bit – and when you reload the page, you get another brand new random 0 or 1. This is very helpful if you are indecisive or really bored – although the excitement and suspense of what will come next is not for the faint hearted.

Programmatic access to vast set of random bit features are available through the API. Formats available are JSON, YAML and XML.

http://www.rndbit.com

Or follow us on twitter to receive a “Bit of the Day” …

http://twitter.com/BitOfTheDay

NewsPro iPhone application Comment

12:43 pm on April 2, 2009

This was Thomson Reuters first iPhone application that we built and was built on top of the Spotlight APIs. This project resulted in a lot of interesting discovery about cellular network latency and delivery content over the limited bandwidth. The characteristics of the NewsPro application, which allows offline reading, meant that there were potentially a huge number of requests being made for all the articles and their subsequent images to download all the content onto the phone. Given the network latency between requests on the cellular network this was not acceptable, so to improve the performance the Spotlight APIs were updated to enable batching of content so once you got a connection as much content as possible could be downloaded to the phone in one go.

NewsPro iPhone and NewsPro iPad.

Reuters Spotlight APIs Comment

9:15 am on November 9, 2008

Reuters Spotlight service provides a non-commercial community platform to allow users to innovate and develop their ideas by harnessing the content Reuters publishes, which includes news, video, pictures and multimedia articles. The Reuters Spotlight service provides access to Reuters content through standards based XML APIs feeds and provides a community around them to showcase, share and collaborate around your ideas.

Although the Labs version of Spotlight is no longer taking on new users, the APIs were graduated and I extended them to solely feed all the content to the the Reuters NewsPro iPhone and NewsPro iPad applications.

Reuters Labs Comment

9:07 am on February 2, 2008

Reuters Labs showcases some of our latest product innovations and developments. It’s a test site where you can discover, use and comment on products and services still in progress (this was my previous day job, although looking a little stale these days since the team all moved on to other endeavors).

http://labs.reuters.com

Carla E. Reyes site Comment

8:45 am on January 19, 2008

This is a artist site created using Flickr.com as the image CMS. It still needs a lot of work, but the next step is probably to write a WordPress plugin (or look to adapting an existing WordPress plugin) so I can convert the whole site to WordPress and let Carla completely manage her site largely without my input.

carlaereyes.com

Related to the Updated cloudTagFlickr post.

CSS popup image IE link workaround Comment

2:48 pm on May 13, 2007

While implementing a CSS pop up image functionality using CSS’s “:hover” pseudo class to show a larger image on rolling over a thumbnail image I noticed that IE 6.0 (not tried other versions) has a bug that does does not allow the popped up larger image to used as a link to some where else – it appears that the image is hiding the link!

The solution was to place a onClick in the image tag – see example

Here is the code:

CSS code:

.thumbnail{
position: relative;
z-index: 0;
}

.thumbnail:hover {
background-color: transparent;
z-index: 50;
}

.thumbnail span{ /*CSS for enlarged image*/
position: absolute;
background-color: white;
padding: 5px;
left: -1000px;
border: 1px solid gray;
visibility: hidden;
color: black;
text-decoration: none;
}

.thumbnail span img{ /*CSS for enlarged image*/
border-width: 0;
padding: 0px;
}

.thumbnail:hover span{ /*CSS for enlarged image on hover*/
visibility: visible;
top: -50px;
left: -30px; /*position where enlarged image should offset horizontally */
display: block;
text-decoration: none;
position: absolute;
cursor:pointer;
}

HTML code:

<a class=”thumbnail”
href=”http://www.flickr.com/photos/carlaereyes/118436826″><img alt=”Urban Impressionism: NYC Study II” src=”http://farm1.static.flickr.com/38/118436826_6ba4a73d1e_t.jpg” /><span><img alt=”Urban Impressionism: NYC Study II” src=”http://farm1.static.flickr.com/38/118436826_6ba4a73d1e_m.jpg” /></span></a>

See this site for full implementation of usage.

Updated cloudTagFlickr to use phpFlickr v. 2.10 Comment

1:34 pm

I have taken Dan Steingart’s cloudTagFlickr and updated it so that it will work with the latest version of the Dan Coulter phpFlickr 2.1.0 API component.

Download cloudTagFlickr.php