How to fully remove/uninstall Zend server from OSX/Mac

To fully remove the Zend server from osX – and according to official documentation – here are the steps:
Stop all Zend Server processes
Delete all Zend Server installed files
Remove the .app from /Applications
Remove Zend users

so first – fire up the activity monitor – check out the zend processes. Make sure to check the username that runs them – usually zend and _zend
Also click on one of them and click “Sample process” – a new window will open – take note of the path – usually /usr/local/zend/

go to terminal:

sudo pkill -u <username> 

Go to /Applications – delete the zend folder.

Go to preferences – Users and Groups – delete any related zend users.
or
Go to Terminal

sudo dscl . delete /users/<username> 
rm -r /users/<username> 

– will delete the home folder

and now the last part removing the zend folders you found from the first step of sampling.
in terminal
cd /usr/local
sudo rm -f -R zend

and you should be done – restart – check out the processes – they should be clean of zendish things.
Let me know if I missed anything… i want to wipe it off as well ;p

Read More

Security tip: Batch cleaning/deleting EXIF data and geolocation from images

As webdev – to optimise images a common practice is to run them through jpegtran and pngcrunch – lossless image compression tools. This removes the EXIF data and geolocation and compresses the images without affecting the quality.

Today I ran into ImageOptim – a tool on OSX that supposedly removes the EXIF data and geolocation from images – but with an graphical user interface.

All you have to do is drag the image – it will crunch it – and the same image is replace with a new one – which looks exactly the same – minus the the EXIF data and geolocation. It is also a tad bit more compressed.

Here is a before/after of the same thing

As you can see – the what phone I used, color and additional info were removed (this one doesn’t have geo location, but if it was there,it would be gone too)

Read More

some long list of 27 jQuery plugins and other code snippets that I found fascinating

Lately – i’ve been working a lot with JQuery stuff – and as I was finding some cool plugins – I was tweeting them as a self bookmarking tool and well – to share them and spread the awesomeness.

It got to a point where I needed to really scroll scroll my twitter stream or search my twitter archive to re-find something to use. at which point, I thought, it is worth for my convenience at least to compile them into one post – resulting in yet-another-cool-jquery list.

So here it is – in no particular order or grouping:

Read More

How to fully embed the google data explorer sidebar/controls in your website/page

Google explorer is super neat – and you get to embed whatever you see on its fancy graph.

If you click the Embed button and copy/pase the code – usually the result is like this

Code

 <iframe width="400" height="325" frameborder="0" scrolling="no" marginwidth="0" marginheight="0" src="http://www.google.com/publicdata/embed?ds=d5bncppjof8f9_&amp;ctype=b&amp;strail=false&amp;bcs=d&amp;nselm=s&amp;met_x=sp_dyn_le00_in&amp;scale_x=lin&amp;ind_x=false&amp;met_y=sp_dyn_tfrt_in&amp;scale_y=lin&amp;ind_y=false&amp;met_s=sp_pop_totl&amp;scale_s=lin&amp;ind_s=false&amp;dimp_c=country:region&amp;ifdim=country&amp;hl=en_US&amp;dl=en_US&amp;ind=false&amp;icfg&amp;iconSize=0.5"></iframe> 

Result

But if you wanna embed google data explorer in your page and blog with the sidebar and controls here is one nasty little trick that you may not stumble upon easily (unless u are a dev)

in the above code – change the word “embed” in the iframe tag after src=”http://www.google.com/publicdata/embed?ds=d5bncppjof8f9
to
src=”http://www.google.com/publicdata/explore/fullembed?ds=d5bncppjof8f

here is the result where you can click and fiddle with the sidebar and results.

One small code edit – a whole lot of data for your readers to explore!

Read More

from alice to ocean

I read this here in 2010
I remember it at times

randomly

I am afraid not to find it again some day
In case time,internet
forgotten servers
swallow this up

So i am copying
To know it is safe.
———————-
2 or 3 things i know
———————-


this photograph / book
made such an impression
on me as a child.

from alice to ocean

the story of robyn davidson
and her 17,000 miles trek across
the australian desert with
her dog and 4 camels
in 1977.

i miss the influence
of national geographic

today we can
snap 1,000 pics of
a 4th of july bbq and
call it photography.

there is a difference
if you know what
i mean.

—————–
my edit

Read More

Example code : Realtime google chart with mysql / json / Ajax


Here is a litte code to help you in case you were looking how to use google charts to read from a mysql database and display the data in realtime (without refreshing page).
The google chart API documentation doesn’t provide direct documentation – so hope this is handy.

You need 2 files – index.php where the chart is displayed and a get_json.php that fetches the data.

You can download here (don’t you love big download links?) or copy paste the code below

Read More

Tips for creating email signature generator

I recently worked with 2 dear colleagues – Claudio Mendoca (graphic designer and a python person) and Felipe Estefan (communication) – on creating an email signature generator for our practice.

You create an interface, teammates enter their contact info, they click generate.
A code automatically generates a pre-designed html file with their info plugged into it.
This file is then imported on their email client – everyone has a nice, cool layout, unified signature with a consistent visual identity.

Simple, Nice!

well – we’ve come to realise the following

So here are 5 tips learned:

- IE compatibility
- Security
- lotus note
- mobile design
- inline table design + failing gracefully

Read More

“Lessons” from the private sector

In the last few days, I was part of a team that organized a conference that brought together people from govt, private sector, ngo etc.

One of the “topics” in the “conversation” was “what can we learn from the private sector?” and lots lots of theory about methodologies and approaches and importing one experience from one field to the other.

I am not sharing this with you – no matter how deep that conversation truly was. But Instead here is a very tangible/funny/real life thing “we can learn”.

Here is what happened – each of those “parties” (govt, private sector,NGO etc) were showcasing different projects and products they did in a “gallery” or a separate space.

After all has been said and done – I was passing by – the room dedicated to the private sector had NULL or ZERO amount of flyers/stickers/posters – it was technically clean of anything that had value.
Everything that could be taken away or was worth it – was taken away.

As I dropped by the Govt/NGO spaces – the place was full with the posters/flyers/stickers and papers and other random materials.

Small things – i Know – but it really made me smile – was a small “hah!” moment – but I think in those small things lie big truths.

Read More

FrontlineSMS 2.2.1 web connection API Documentation

If you are looking through frontlineSMS software – you are less likely to find this in the interface.
This file was lurking under /Applications/frontlinesms2.app/Contents/java/app/web-app/help/core/activities

If you are a developer and using frontline – I thought this might be worth putting out there.

# The FrontlineSMS Web Connection API

FrontlineSMS lets you set up Web Connections to external web services. The primary function of Web Connections is to trigger HTTP requests on the external service when messages are received. However, in addition to this, you can enable the FrontlineSMS API through a Web Connection Activity, which allows your external web service to trigger outgoing messages through FrontlineSMS.

## Enabling the API

In the Web Connection walkthrough, you will be given the option to enable the FrontlineSMS API for that Activity. The only required configuration is the API Key that the remote service will need to use in each request. See [Creating a Web Connection][] for details on setting up a Web Connection.

Read More