I recently had a problem with Git on my Mac, and having eventually found the solution I wanted to post here for others.

I’m using git version 1.5.4.5 compiled from source, and I’m on Mac OS X 10.4.11.

Git compiled fine, and *seemed* to work fine. However when pushing or pulling from a remote git repository it reported an error:

[imac:~]$ mkdir git-test
[imac:~]$ cd git-test
[imac:~/git-test]$ git init
Initialized empty Git repository in .git/
[imac:~/git-test]$ touch README
[imac:~/git-test]$ git add README
[imac:~/git-test]$ git commit -m ‘first commit’
Created initial commit b6e6cb6: first commit
0 files changed, 0 insertions(+), 0 deletions(-)
create mode 100644 README
[imac:~/git-test]$ git remote add origin git@github.com:mkdynamic/git-test.git
[imac:~/git-test]$ git push origin master
Counting objects: 3, done.
Writing objects: 100% (3/3), 215 bytes, done.
Total 3 (delta 0), reused 0 (delta 0)
fatal: final sha1 did not match
error: unpack failed: unpacker exited with error code
To git@github.com:mkdynamic/git-test.git
! [remote rejected] master -> master (n/a (unpacker error))
error: failed to push some refs to ‘git@github.com:mkdynamic/git-test.git’

I confirmed that it was not an issue with the remote repository, as I got a similar ‘final sha1 did not match’ errors when I tried to do local fetches.

After tearing my hair out for a few days (plus googling, irc’ing and mailing), I finally found the solution to this problem. Somebody on the git maling list () had the exact same issue previoulsy the posted the solution in response to my earlier post:

I think I had the same problem yesterday. Do you have fink installed?
Specifically the openssl packages? Uninstalling those through fink
and recompiling git did the trick for me, though I’m not sure what the
real problem was.

You should also be able to define NO_FINK as well (see the beginning
of the Makefile).

Good luck,

Tarmigan

Following this advice, I removed *all* fink openssl packages (using sudo fink remove openssl) and recompiled Git (without the NO_FINK switch as I’d removed openssl anyway):


./configure –prefix=/usr/local && make all && sudo make install

And low and behold Git now works correctly! So beware of the dodgy SHA-1 implementation that obviously exists within a certain version of the Fink openssl packages.

Had a small problem with some contacts’ name details in my Apple Address Book recently. For some reason there were a few non-printing characters that had crept in to some of the names (probably during an import from my old Samsung D600 that I did a while ago).

iPhone woes…

This hadn’t really caused a problem until I tried to sync with my iPhone. All the contacts with funny characters in there ended up under the ‘123…’ section in the iPhone’s address book listing, which was a nuisance.

So I wrote this AppleScript to clean up the non-printing characters from the name fields in my Address Book. It has a little splash of ruby code to do the actual character replacement. Please forgive the repetition in this script – it’s my first AppleScript and I just wanted it to work… which it did!

Hope this helps somebody out there. I’m sure I can’t be the only one with this problem.

tell application "Address Book"
 repeat with this_person in every person
 	if exists (first name of this_person) then
 		set first_name to first name of this_person as string
 		set first_name_fixed to do shell script "/usr/local/bin/ruby -e 'print ARGV[0].gsub(/[^A-Za-z0-9 ]/,nil.to_s).strip’ \”" & first_name & “\”"
 		set first name of this_person to first_name_fixed
 	end if
 	if exists (last name of this_person) then
 		set last_name to last name of this_person as string
 		set last_name_fixed to do shell script “/usr/local/bin/ruby -e ‘print ARGV[0].gsub(/[^A-Za-z0-9 ]/,nil.to_s).strip’ \”" & last_name & “\”"
 		set last name of this_person to last_name_fixed
 	end if
 	if exists (middle name of this_person) then
 		set middle_name to middle name of this_person as string
 		set middle_name_fixed to do shell script “/usr/local/bin/ruby -e ‘print ARGV[0].gsub(/[^A-Za-z0-9 ]/,nil.to_s).strip’ \”" & middle_name & “\”"
 		set middle name of this_person to middle_name_fixed
 	end if
 	if exists (nickname of this_person) then
 		set nick_name to nickname of this_person as string
 		set nick_name_fixed to do shell script “/usr/local/bin/ruby -e ‘print ARGV[0].gsub(/[^A-Za-z0-9 ]/,nil.to_s).strip’ \”" & nick_name & “\”"
 		set nickname of this_person to nick_name_fixed
 	end if
 end repeat
end tell

P.S. If any AppleScript expert would like to condense and re-factor this to make it more beautiful and DRY please do.

I’m currently working on a Rails CMS for my current project, and I wanted to share a few glimpses of the interface with you.

Let me know your thoughts! If there is enough interest I am considering releasing it as a product. At the moment I’m not sure quite how I’d sell it (downloadable or hosted), but that all depends on whether there is sufficient enthusiam from you!

It’s focused on being easy to use and powerful. In that order. Check it out.

www.legendcms.com

I’m glad to share my textmate theme ‘Cool Glow’. Hope somebody likes it!

Download:
http://www.mkdynamic.co.uk/Cool%20Glow.tmTheme 

We’ve just refreshed the design of the mkdynamic website with a quick css revamp. Hopefully the site is a bit clearer and easier to use. It provides a bit more space for text, and looks neater by moving the main text to the left, and shifting the old menu to the right.

Changing the Design was Easy

As the site was built with web standards compliant xhtml and css, it was actualy pretty easy to rejig the design. Apart from a few changes to the overall xhtml template (like moving around 1 or 2 divs), it was all done from the master CSS file.

I’ve been passionate about designing with standards for a while now, and this has just reinforced my opinion that it is a great idea. The redesign took just 3 hours, and there’s no way this would have been so easy if it were not for the well structured css and xhtml code.

Please give us your feedback on the redesign, and tell us about your experiences with web standards.

After having spent years implementing various CMS solutions, we feel that there is still no easy to use system for small to medium sized websites. There are a lot of freelance and small sized web design businesses that build company websites that need a CMS - and the current selection of CMS solutions is vast.

The Open Source Systems

For small/medium sized websites, that are typical of many public company sites, there is no particular star. All of the Open Source systems have terrible user interfaces, and make it difficult for the client to manage their site. Clients want incredibly simple systems that do not require any training or user manuals - we think this is possible.

Commercial Systems

The market for commercial CMS is large, but again we have not found one clear leader. All of the systems have weaknesses, and all the ones we have tried are not simple enough in our opinion. They have to simple for the clients - that is the key to having the software become loved and subsequentally used!

Simple, Elegant & Useful

So, we are going to build The Perfect CMS. Obviously this is quite an ambition, but we feel confident that we know how to make it successful. Focus on the simplicity. That simple. You can hide all the complex stuff behind a really simple UI, so it is present but not confusing for someone who just wants to add a page or edit some content.

We’re aiming this product at small web design businesses who are producing non-ecommerce websites. This will be a hosted, subscription based solution.

Tell Us What You Need

We’re inviting you to help us compile a list of requirements. Tell us your opinions (especially if you are a designer), what makes the perfect CMS for you? Also, as this will be a commercial product, we’d like to get your idea on what kind of price you think is reasonable?

Please, help us to help you. Tell us what the web design community needs!

Our website has been listed on CSS Mania, a showcase of CSS websites using XHTML and CSS.

Read More »

This is the mkdynamic blog.

We intend to use this blog as a discussion forum for web design & development topics, as well as keeping you up to date with any of our recent activity.

We welcome any comments, and suggested topics for discussion.