Tuesday, July 10, 2012

mochahost.com - the worst hosting ever experienced - sleeping servers - a hosting journal

So I finally decided to get hosting for my new freelancing position I have recently taken by quiting my day job. After a search and compare I have chosen them:



They promised 100% up time, 24/7 LiveChat blah blah blah....... 
They must...after all they are #1! 
They are full of shit!!! 


Look what i went through trying to setup a simple WordPress blog:


I have signed up for their service on the 5th of July 2012:
ACCOUNT INFORMATION: 
Plan: Business 1y (Linux) G28
Domain: ndroidians.com


That same day I registered, they contacted me for a duplicate Payment that occurred by mistake and they did cancel it... But along with the duplicate payment cancellation they :
Thank you for choosing MochaHost as your hosting provider. We appreciate your business. I see you have made a duplicate identical account activation request. Unfortunately you proceeded with the payment for both of them. I have activated your first account order. You should receive a Welcome e-mail with all information needed to start using the service. What I can offer you is to add a credit to your activated account with us. When a credit is applied to an account its amount gets automatically deducted from all future generated invoices until it is over. Please, advice if this is a suitable solution for you. Looking forward to your reply. Best regards! Gabriela P.


My response:


Greetings & Salutations to U 2 Gabriela P.
Thank you for your mail.
I understand you only processed on activation request and one credit charge. Thank you.
As for c.c. details, we will see if the first year goes well with you guys...
I've had some hard time with the previous support team....
Lets hope with your team it goes better as stated in by registration remark. :-)
That said, I hope all of us have success wherever they do....well.
I also requested for JSP/TOMCAT activation but the mail bounced back with error.
Please activate them...:-) thank you.


The next day, Friday the 6th I logged on to my new hosting service happy to the chance of a new start setting up my new livelihood....
The day after, Saturday the 7th all hell broke loos with the service....
It started @ about 21:00 (GMT+2) time...



And lasted well until midnight:


Nice picture - 100% Uptime...only when the server is asleep....

And you don't even want to begin to know the LiveChat attitude...

I will attach transcripts of all conversation at the bottom...as well as a list of support tickets opened...
This one was: multiple tickets
Ticket ID: SMJ-525807
        Subject: Very slow connection to website - as we speak
        Department: MochaHost  - Tech Support
        Priority: High
        Status: Open

Ticket ID: GDV-356159
Department: MochaHost  - Tech Support
Priority: High



Ticket ID: JBJ-122012
        Subject: Logging out
        Department: MochaHost  - Tech Support
        Priority: High
        Status: Open

I couldn't login while I was already in, and not logout.....
The server took a break....probably dinner...


So a day goes by and I am exhausted from the hassle of this awful communication with the support team....
I had a feeling this was not the end...

Monday, the 10th of July, 2012....
I have already managed to set-up alot of services around my new blog such as:
flatter
PayPal
Different API keysGoogle analytics
WordPress widgets & plugins
etc...

15:00 (GMT+2)....surprise.....


In case you forgot our servers need their rest...after all, word-pressing is a heavy lift...

Take a good look at the support person's response:

My Blog 2 B



















The time and date are clear at the top of each snapshot....

SLEEEEEEEEEEEEP!!!


Oops! google...
This last for about 3~4 hours...well until 19:00

At the end of this session the support guy offered I fill-out a Credit Request...
So I did, and this is the response I got today:

Hello,

We need you to provide us with the ticket you have submitted in our Technical department for the issue you have faced.

Please, provide me with it, so I can give you a proper compensation.

Thank you in advance.

Regards,
Alvina D.

Ticket Details
===================
Ticket ID: BKS-313695

Department: MochaHost - Billing
Priority: Low
Status: Open


And after I did here is what came in the mail:


Thank you for your cooperation the matter.

I have reviewed the tickets provided and found out that they are all related to the slow server performance you experienced.
The issue was solved by our Technical Support and everything is working as intended.

At this point I can not provide you with any kind of compensation as there was no downtime, just slow performance.
I deeply apologize for any inconvenience we might have caused you.

Have a great day!
Gabriela P.
MochaHost~




And me again:

Hello,

I think we are going the wrong way on this one since I have attached pictures of your support status server announcing the server is down!!!!
So what are you talking about??? 'after reviewing'...
What did you review???

I sent the snap shots...the server was down twice!!! for at least 3 hours at a time...

'Thank you for your cooperation' you're telling me and then you say there was NO DOWN TIME???!!!

If you would have really checked you would have found out even from transcripts with your LiveChat support team that the server was down TWICE!!!

See, this is what I was talking about when I first registered and you asked for my CC details....

I had a feeling you would screw-up as most of you do...so un-authentic to reality and life...

You are wasting my time and not doing your job!!! that is what you're doing...support...you've got a thing or two to learn.

Seems that after you get the money in your pocket - customer service is like the last thing you remember....

Treat me just...that is all I ask....
I deserve to be compensated!

The server WAS DOWN....!

Please check transcripts of you team saying this on both occasions!!!
See attached pictures - 
First 7/7 - started @ 21:00 and ended @ aprox. 00:00
Second 9/7 - started @ 15:00 and ended @ aprox. 19:00

Stop wasting more of my time as the DOWN TIME has caused me enough hassle as is...

Awaiting your prompt reply.




And after this has happened I did manage to start my blog and write for a few hours...

And then....I let you guess...

Today, Tuesday the 10th of July, 2012:







No ftp....no wp-admin login...NOTHING...

How would you feel being treated like this for a paid service, when what you gave your money for, does not really exist!!!

The past 5 days have cost me labor lose of 1500 USD....

Who will pay for my work, time and lose of income???

This is the story of mochahost....

Some related files:


Shared for admin@ndroidians.com



Thursday, June 7, 2012

android, refresh image thumbnails, or sd card before calling an intent to choose an image, or rescan image folder in gallery

Hello every1...
So I had looked and search and read and....I guess you all know the routine when you're looking for something android related online and how long sometimes it takes for you to find it working as you want it to....


Case:
Your application uses the camera to take a picture.
U then enable the user to go to a gallery preview you have created, and do what ever with the pictures he has just taken.


Situation:
The thumbnail gallery preview does not show the recent photo/s the user has taken.


Solution:
So here is the code I created:
  1. Your camera Activity saves the image file to a specific location.
  2. Then you wish to update the thumbnail gallery db.
  3. The user switches to the gallery preview.
  4. You need to call addImageGallery(file) right after image file has been saved.

Code:

1
2
3
4
5
6
 private void addImageGallery(File file) {
     ContentValues values = new ContentValues();
     values.put(MediaStore.Images.Media.DATA, file.getAbsolutePath());
     values.put(MediaStore.Images.Media.MIME_TYPE, "image/jpeg");
     getContentResolver().insert(MediaStore.Images.Media.EXTERNAL_CONTENT_URI, values);
 }


Hope that was helpfull....
Full code will be sent upon request....
In-joy...


Saturday, March 24, 2012

Android: Show soft keyboard with EditText on android

So you wish to show or hide virtual (soft) keyboard in your Android app.

You are executing action that places focus into the EditText field.

You the need to bring up a soft keyboard on your android (or emulator).

Note:
EditTexts are focusable while the system is in 'touch mode'.
The first click event focuses the control, while the second click event actually fires the OnClickListener. If you disable touch-mode focus with:
(xml) View attribute
1
android:focusableInTouchMode
OR
(java)
1
freeText.setFocusableInTouchMode(false);

Then OnClickListener should fire as expected.
--- o --- o --- o --- o --- o --- o --- o ---

To launch the keyboard requires the following additional code:

xml:
------
1
2
3
4
5
6
7
8
9
<EditText android:id="@+id/freeText"
android:layout_width="@dimen/freeTextBox_width"
android:layout_height="@dimen/freeTextBox_height"
android:layout_weight="1"
android:inputType="textShortMessage|textAutoCorrect|textCapSentences|textMultiLine"
android:imeOptions="actionSend|flagNoEnterAction"
android:maxLines="4"
android:maxLength="2000"
android:hint="@string/compose_hint"/>


Notice the imeOptions: actionSend|flagNoEnterAction:
The tell you android to apply the SEND button action to the EditText and not to accept ENTER on soft keyboard.

Java:
-------
1
2
3
final TextView freeText = (TextView)findViewById(R.id.freeText);

freeText.setFocusableInTouchMode(true);

FIRST POSSIBILTY USING THE setOnClickListener:
----------------------------------------------
 1
 2
 3
 4
 5
 6
 7
 8
 9
10
freeText.setOnClickListener(new OnClickListener() {
   
 public void onClick(View v) {
  // Set keyboard
  InputMethodManager imm = (InputMethodManager)getSystemService(INPUT_METHOD_SERVICE);
    // Lets soft keyboard trigger only if no physical keyboard present
    imm.showSoftInput(freeText, InputMethodManager.SHOW_IMPLICIT);
    getWindow().setSoftInputMode(WindowManager.LayoutParams.SOFT_INPUT_STATE_VISIBLE);
   }
  });

SECOND POSSIBILTY USING THE setOnFocusChangeListener:
-----------------------------------------------------
 1
 2
 3
 4
 5
 6
 7
 8
 9
10
freeText.setOnFocusChangeListener(new View.OnFocusChangeListener() {
      public void onFocusChange(View v, boolean hasFocus) {
          if (hasFocus) {
//              getWindow().setSoftInputMode(WindowManager.LayoutParams.SOFT_INPUT_STATE_ALWAYS_VISIBLE);
           getWindow().setSoftInputMode(WindowManager.LayoutParams.SOFT_INPUT_STATE_VISIBLE);
          } else if (!hasFocus) {
           getWindow().setSoftInputMode(WindowManager.LayoutParams.SOFT_INPUT_STATE_HIDDEN);
          }
      }
  });

You do not need to use both...they can be implemented for other use.


Jud Luck...


Friday, March 23, 2012

Compiling & Building the GTK+ libraries on UNIX-like systems


Hey you all...

In the past few days I had to install gtk+-3.2.0 so I can share some of my new python code with you to make life a bit easier.
I built a database migration tool in python to ease the migration of old websites databases to open-cart.
The process of installing GTK from sources was long and took some research of all the requires libraries throughout the net.
You will need to get the GLib, Pango, Gdk-Pixbuf, ATK and GTK+ packages to build GTK+.
I put all the needed libs here including their download links.

I had an error while compiling and installing that required pixman-I so I included that as well.

Hope you find this useful and a time saver...

General compile and install:

# unpack the sources

$ gzip -cd glib-2.29.4.tar.gz | tar xvf -                             
OR tar xvzf OR xvfj on the local folder
# change to the toplevel directory
$ cd glib-2.29.4
# run the `configure' script
$ ./configure
# build GLIB
$ make
[ Become root if necessary ]
* The following line is ONLY FOR GLib
$ rm -rf /install-prefix/include/glib.h /install-prefix/include/gmodule.h
# install GLIB
$ sudo make install                                                                   


Details of libraries:




1. GLib-2.30.2

--------------

Introduction to GLib

The GLib package contains a low-level core library. This is useful for providing data structure handling for C, portability wrappers and interfaces for such runtime functionality as an event loop, threads, dynamic loading, and an object system.
This package is known to build and work properly using an LFS-7.1 platform.


Package Information



GLib Dependencies

Required



2. Pango-1.29.4

---------------

Introduction to Pango

The Pango package contains the libpango libraries. These are useful for the layout and rendering of multilingual text.
This package is known to build and work properly using an LFS-7.1 platform.

Package Information



Pango Dependencies

Required


3. gdk-pixbuf

-------------

Introduction to gdk-pixbuf

The gdk-pixbuf library is a toolkit for image loading and pixel buffer manipulation. It is used by gtk+-2 and gtk+-3 to load and manipulate images. In the past it was distributed as part of gtk+-2 but it was split off into a separate package in preparation for the change to gtk+-3.
This package is known to build and work properly using an LFS-7.1 platform.

Package Information



gdk-pixbuf Dependencies

Required




4. atk

------

Introduction to atk

The interface definitions of accessibility infrastructure.

Package Information



5. GTK+-3.2.0

-------------

Package Information


  • Download (HTTP): http://ftp.gnome.org/pub/gnome/sources/gtk+/3.2/
  • Download sha256sum: gtk+-3.2.0.tar.xz - bce3c1a9be6afd7552c795268656d8fdd09c299765a7faaf5a76498bb82ed44c
  • Download sha256sum: gtk+-3.2.0.tar.bz2 - b285074ffefb4ff4364f6dd50fe68c7e85b11293e0c1dd3bdeac56052344dadb
  • Download size: 16.6 MB


resources:

  1. GTK+ 3.2 - http://www.gtk.org/download/linux.php
  2. Glib - http://www.linuxfromscratch.org/blfs/view/cvs/general/glib2.html
  3. Pango - http://www.linuxfromscratch.org/blfs/view/cvs/x/pango.html
  4. gdk-pixbuf-2.24 - http://www.linuxfromscratch.org/blfs/view/cvs/x/gdk-pixbuf.html
  5. atk - http://mail.gnome.org/archives/ftp-release-list/2011-August/msg00068.html
  6. pixman-I - http://cairographics.org/releases/
  7. Compiling the GTK+ libraries, Building GTK+ on UNIX-like systems - http://developer.gnome.org/gtk3/stable/gtk-building.html
GTK+ 3.2, build GTK+ 3.2, GNU, Linux, Unix, Glib, Pango, gdk-pixbuf, atk, pixman-I, build GTK+ 3.2 from sources, python, open-cart, Compiling the GTK+ Libraries, How to compile GTK+ itself

Saturday, March 17, 2012

What does Ubuntu stand for?


Oneness: humanity, you and me both - I am, because U R..

Ubuntu is a Nguni word which has no direct translation into English, but is used to describe a particular African worldview in which people can only find fulfillment through interacting with other people. Thus is represents a spirit of kinship across both race and creed which united mankind to a common purpose.

Archbishop Emeritus Desmond Tutu has said "Ubuntu is very difficult to render into a Western language…It is to say. 'My humanity is caught up, is inextricably bound up, in what is yours'…" *

* No Future Without Forgiveness: A Personal Overview of South Africa's Truth and Reconciliation Commission , Desmond Tutu, © 2000.

“Ubuntu is a concept in the Bantu Language.
It is about the essence of Humanness.
Simply put: ‘people are people through other people’
I am human because I belong. This concept acknowledges both the rights and the responsibilities of each citizen in promoting individual and societal wellbeing."

Ubuntu means "I am, because you are". In fact, the word ubuntu is just part of the Zulu phrase "Umuntu ngumuntu ngabantu", which literally means that a person is a person through other people. Ubuntu has its roots in humanist African philosophy, where the idea of community is one of the building blocks of society. Ubuntu is that nebulous concept of common humanity, oneness: humanity, you and me both.

The Nguni languages are a group of Bantu languages spoken in southern Africa by the Nguni people.


Sources:

Friday, March 16, 2012

Add 3D tag cloud to blogger


So you want to add this cool gadget to page....
Its easy, just follow me:
Login to your blogger and go to the dashboard OR click the 'More options' little triangle next to the 'Go to post list' button,
Click on 'Overview'
Then on your left hand side-bar click 'Template' and the under your blog thumb you will have 2 options:
Customize & Edit HTML
Click on 'Edit HTML' and Procced...


Remember! this is under your own responsibility!!! so don't mess-up!
Use at your own risk!
I take no responsibility if you mess up your blog!


Remember to always use the 'Preview' option before saving the template.
If anything goes wrong just click 'Close' and when asked 'You have unsaved changes that will be lost.' click OK!


Look for the line that says:
<b:section class='sidebar' id='sidebar' preferred='yes'>
OR the line:
<b:widget id='PageList1' locked='false' title='Pages' type='PageList'/>


And paste the following right after:
Remember! always use the 'Preview' option before saving the template.
Click 'Preview' and see if it apears currectly....


<b:widget id='Label99' locked='false' title='Labels' type='Label'>
<b:includable id='main'>
<b:if cond='data:title'>
<h2><data:title/></h2>
</b:if>
<div class='widget-content'>
<script src='http://sites.google.com/site/bloggerustemplatus/code/swfobject.js' type='text/javascript'/>
<div id='flashcontent'>Blogumulus by <a href='http://www.roytanck.com/'>Roy Tanck</a> and <a href='http://www.bloggerbuster.com'>Amanda Fazani</a></div>
<script type='text/javascript'>
var so = new SWFObject(&quot;http://sites.google.com/site/bloggerustemplatus/code/tagcloud.swf&quot;, &quot;tagcloud&quot;, &quot;240&quot;, &quot;300&quot;, &quot;7&quot;, &quot;#ffffff&quot;);
// uncomment next line to enable transparency
//so.addParam(&quot;wmode&quot;, &quot;transparent&quot;);
so.addVariable(&quot;tcolor&quot;, &quot;0x333333&quot;);
so.addVariable(&quot;mode&quot;, &quot;tags&quot;);
so.addVariable(&quot;distr&quot;, &quot;true&quot;);
so.addVariable(&quot;tspeed&quot;, &quot;100&quot;);
so.addVariable(&quot;tagcloud&quot;, &quot;<tags><b:loop values='data:labels' var='label'><a expr:href='data:label.url' style='12'><data:label.name/></a></b:loop></tags>&quot;);
so.addParam(&quot;allowScriptAccess&quot;, &quot;always&quot;);
so.write(&quot;flashcontent&quot;);
</script>
<b:include name='quickedit'/>
</div>
</b:includable>
</b:widget>


Resources:
http://www.bloggerbuster.com/2008/08/blogumus-flash-animated-label-cloud-for.html
http://forums.digitalpoint.com/showthread.php?t=1899698