Wednesday, March 6, 2013

Mac OSX | Installing PHP Composer under MAMP

Install MAMP:
This Assumed that you already install MAMP. If not just download and install from here.

Setup Bash Profile:
Open a terminal (Launchpad > Other > Terminal)

Biboyatienza-MacBook-Pro:~ biboyatienza$ open ~/.bash_profile


Then add/append the line below, at the time of this writing my MAMP is using php5.4.4

export PATH=/Applications/MAMP/bin/php/php5.4.4/bin:$PATH


Check PHP Setup And Install PHP Composer:
 Last login: Wed Mar 6 06:58:28 on ttys000  
 Biboyatienza-MacBook-Pro:~ biboyatienza$ php --version  
 PHP 5.4.4 (cli) (built: Jul 4 2012 17:28:56)   
 Copyright (c) 1997-2012 The PHP Group  
 Zend Engine v2.4.0, Copyright (c) 1998-2012 Zend Technologies  
   with XCache v2.0.0, Copyright (c) 2005-2012, by mOo  
 Biboyatienza-MacBook-Pro:~ biboyatienza$ curl -s https://getcomposer.org/installer | php  
 #!/usr/bin/env php  
 All settings correct for using Composer  
 Downloading...  
 Composer successfully installed to: /Users/biboyatienza/composer.phar  
 Use it: php composer.phar  
 Biboyatienza-MacBook-Pro:~ biboyatienza$  

Tuesday, March 5, 2013

C# | How to write entry to Windows Event

Here's a sample code on how to write to Windows Event Logs.
Keep an eye on variable maximumCharacterThatTheWindowEventLogsCanHandled where I used 30,000 but for it's actually 32,766 :)

     private static void WriteToWindowsEventLog(string logs)  
     {  
       const string source = "biboyatienza Sample Windows Services";  
       const string log = "Application";  
       const int maximumCharacterThatTheWindowEventLogsCanHandled = 30000;  
       if (!EventLog.SourceExists(source))  
         EventLog.CreateEventSource(source, log);  
       string message = (logs.Length >= maximumCharacterThatTheWindowEventLogsCanHandled  
                   ? HttpUtility.HtmlEncode(logs).Substring(0, maximumCharacterThatTheWindowEventLogsCanHandled)  
                   : HttpUtility.HtmlEncode(logs));  
       EventLog.WriteEntry(source, message);  
     }  

Windows Event Logs | Log entry string is too long. A string written to the event log cannot exceed 32766 characters

 Date/Time: 05.03.2013 10:55:43  
 Method Name: CbtImportFromStaService.RunImportFromSta()  
 Error Details: Log entry string is too long. A string written to the event log cannot exceed 32766 characters.  
 Source: System  
 Stack Trace:  at System.Diagnostics.EventLog.InternalWriteEvent(UInt32 eventID, UInt16 category, EventLogEntryType type, String[] strings, Byte[] rawData, String currentMachineName)  
   at System.Diagnostics.EventLog.WriteEntry(String message, EventLogEntryType type, Int32 eventID, Int16 category, Byte[] rawData)  
   at System.Diagnostics.EventLog.WriteEntry(String source, String message, EventLogEntryType type, Int32 eventID, Int16 category, Byte[] rawData)  
   at System.Diagnostics.EventLog.WriteEntry(String source, String message)  
   at CBTImportFromSTA.WindowsService.Helpers.LogHelper.WriteToWindowsEventLogs(String logs)  
   at CBTImportFromSTA.WindowsService.Helpers.LogHelper.LogErrorsWindowsEventLogs(String exceptionContent)  
   at CBTImportFromSTA.WindowsService.Helpers.MailHelper.SendEmail(String exceptionContent, String optionalSubject)  
   at CBTImportFromSTA.WindowsService.CbtImportFromStaService.GetFirstXmlAttachmentOfEachEmail(MailMan mailman)  
   at CBTImportFromSTA.WindowsService.CbtImportFromStaService.FetchEmailsFrom_cbtresults_dot_import_at_osm_dot_biz_AndExtractOneXmlFileFromEachEmail()  
   at CBTImportFromSTA.WindowsService.CbtImportFromStaService.RunImportFromSta()  

Thursday, August 9, 2012

Merak 9.4.2, CLSID {FBD995D1-EA68-4BD0-909D-461102F67E8F} problem

OS Version:Windows 7 64 bit

Visual Studio:Visual Studio 2010

Language:C#

Component:
Merak 9.4.2

Problem:

System.Runtime.InteropServices.COMException (0x80040154): Retrieving the COM class factory for component with CLSID {FBD995D1-EA68-4BD0-909D-461102F67E8F}


Resolution:
Compile using x86, that solved my problem for the past 3 days =)

Monday, June 11, 2012

Javascript | How to disable/enable the href functionality

Problem:
It's been a couple of days since I started solving the issue of href = "#", what I want is to disable it on certain occasion. Means there would be no active link will be shown on "Visit biboyatienza blogspot!" link, it should be display as a normal text no underline no mouse over.

From : Visit biboyatienza blogspot!


To : Visit biboyatienza blogspot!


Solution:
 var chk = document.getElementById('chkShoulBeActive');  
 if(chk != null)                 
 {  
                var hl = document.getElementById('hlSite');  
                if(hl != null)  
                {  
                     if(chk.checked)  
                          hl.addAttribute('href');  
                     else       
                          hl.removeAttribute('href');  
                }  
 }  

Hope you find it helpful

MS SQL | Enable/Disable All Database Triggers on a given Server

Problem:
A simple script that capable of enabling or disabling all databases triggers on a given Microsoft SQL Servers

Solution:
 DECLARE @Status VARCHAR(20)  
 -- Switch to enable/disable:   
 SET @Status = 'DISABLE'  
 -- SET @Status = 'ENABLE'  
 CREATE TABLE #tempTriggerToBeDeleted (RowId int IDENTITY(1,1), SqlTrigger VARCHAR(255))  
 DECLARE @dbName VARCHAR(255)  
 DECLARE @strSQL NVARCHAR(2000)  
 DECLARE ListDbs CURSOR  
 -- Insert into a temp database table:  
 FOR  
      SELECT name FROM master..sysdatabases       
 OPEN ListDbs  
 FETCH NEXT  
      FROM ListDbs  
      INTO @dbName  
 WHILE @@fetch_status = 0  
 BEGIN  
 SELECT @strSQL =   
 '  
      USE ' + @dbname + '  
      SELECT db_name()  
      INSERT INTO #tempTriggerToBeDeleted  
      SELECT   
           ''ALTER TABLE ' + @dbname + ''' + ''.'' + SU.name + ''.'' + SO2.[name] + '' '+ @Status +' TRIGGER '' + SO1.[name] AS DisableTrigger   
      FROM sysobjects SO1   
      JOIN sysobjects SO2 ON SO1.parent_obj = SO2.[id]   
      INNER JOIN syscomments Comments On SO1.id = Comments.id  
      INNER JOIN sysusers SU ON SO1.uid = SU.uid  
      WHERE SO1.xtype=''TR''  
 '  
 EXEC sp_executesql @strSQL  
 PRINT db_name()  
 FETCH NEXT  
      FROM ListDbs  
      INTO @dbName  
 END   
 CLOSE ListDbs  
 DEALLOCATE ListDbs  
 SELECT * FROM #tempTriggerToBeDeleted  
 DECLARE   
      @EndCount INT,  
      @CurrentCount INT  
 SET @EndCount = 0  
 SET @CurrentCount = 1  
 SELECT @EndCount = COUNT(RowId) FROM #tempTriggerToBeDeleted  
 WHILE @CurrentCount <= @EndCount  
 BEGIN  
      DECLARE @SqlTrigger NVARCHAR(2000)  
      SET @SqlTrigger = ''  
      SELECT TOP 1 @SqlTrigger = SqlTrigger FROM #tempTriggerToBeDeleted WHERE RowId = @CurrentCount  
      PRINT @SqlTrigger       
      EXEC sp_executeSQL @SqlTrigger  
      SET @CurrentCount = @CurrentCount + 1  
 END        
 DROP TABLE #tempTriggerToBeDeleted  
 -- Check Triggers Status on current Database:  
 /*  
 SELECT   
      T.[name] as TableName,   
      TR.[Name] as TriggerName,   
      CASE WHEN 1=OBJECTPROPERTY(TR.[id], 'ExecIsTriggerDisabled')THEN 'Disabled' ELSE 'Enabled' END AS Status   
 FROM   
      sysobjects T   
      INNER JOIN sysobjects TR on t.[ID] = TR.parent_obj   
 WHERE   
      (T.xtype = 'U' or T.XType = 'V')   
      AND (TR.xtype = 'TR') ORDER BY T.[name], TR.[name]   
 */  

Wednesday, December 7, 2011

Rooting Kindle Fire using Ubuntu 11.10

1. Download KindleFireRootMacLinux.zip from http://downloadandroidrom.com/file/KindleFire/root

2. Extract KindleFireRootMacLinux.zip

3. Open Terminal (Ctrl+t)

biboyatienza@ubuntu11.10:~$ cd Downloads/
biboyatienza@ubuntu11.10:~/Downloads$ cd KindleFireRootMacLinux/
biboyatienza@ubuntu11.10:~/Downloads/KindleFireRootMacLinux$ cp adb_usb.ini ~/.android
biboyatienza@ubuntu11.10:~/Downloads/KindleFireRootMacLinux$ sudo cp adb_usb.ini ~.android
[sudo] password for biboyatienza:
biboyatienza@ubuntu11.10:~/Downloads/KindleFireRootMacLinux$ sudo sh runmelinux.sh
---------------------------------------------------------------
Easy rooting toolkit (v2.0)
created by DooMLoRD
Modified for Kindle Fire for Linux/Mac by Max Lee at RootKindleFire.com
using exploit zergRush (Revolutionary Team)
Credits go to all those involved in making this possible!
---------------------------------------------------------------
[*] This script will:
(1) root ur device using latest zergRush exploit (10 Nov)
(2) install Busybox (1.18.4)
(3) install SU files (binary: 3.0.3 and apk: 3.0.6)
[*] Before u begin:
(1) enable USB DEBUGGING
from (Menu\Settings\Applications\Development)
(2) enable UNKNOWN SOURCES
from (Menu\Settings\Applications)
(3) [OPTIONAL] increase screen timeout to 10 minutes
(4) connect USB cable to PHONE and then connect 2 computer
---------------------------------------------------------------
--- STARTING ----
--- WAITING FOR DEVICE
* daemon not running. starting it now *
* daemon started successfully *
--- cleaning
rm failed for *, No such file or directory
--- pushing zergRush
566 KB/s (23056 bytes in 0.039s)
--- correcting permissions
--- executing zergRush

[**] Zerg rush - Android 2.2/2.3 local root
[**] (C) 2011 Revolutionary. All rights reserved.

[**] Parts of code from Gingerbreak, (C) 2010-2011 The Android Exploid Crew.

[+] Found a GingerBread ! 0x00015118
[*] Scooting ...
[*] Sending 149 zerglings ...
[+] Zerglings found a way to enter ! 0x10
[+] Overseer found a path ! 0x000151e0
[*] Sending 149 zerglings ...
[+] Zerglings caused crash (good news): 0x40119cd4 0x0054
[*] Researching Metabolic Boost ...
[+] Speedlings on the go ! 0xafd195cb 0xafd3937f
[*] Popping 24 more zerglings
[*] Sending 173 zerglings ...

[+] Rush did it ! It's a GG, man !
[+] Killing ADB and restarting as root... enjoy!
--- WAITING FOR DEVICE TO RECONNECT
if it gets stuck over here for a long time then try:
disconnect usb cable and reconnect it
toggle USB DEBUGGING (first disable it then enable it)
--- DEVICE FOUND
--- pushing busybox
4702 KB/s (1075144 bytes in 0.223s)
--- correcting permissions
--- remounting /system
--- copying busybox to /system/xbin/
2099+1 records in
2099+1 records out
1075144 bytes transferred in 0.074 secs (14528972 bytes/sec)
--- correcting ownership
--- correcting permissions
--- installing busybox
--- pushing SU binary
542 KB/s (22228 bytes in 0.039s)
--- correcting ownership
--- correcting permissions
--- correcting symlinks
--- pushing Superuser app
1995 KB/s (785801 bytes in 0.384s)
--- cleaning
--- rebooting
--- WAITING FOR DEVICE
5841 KB/s (3104805 bytes in 0.519s)
Error: Could not access the Package Manager. Is the system running?
All Done, Kindle Fire ROOTED!!!
Check out RootKindleFire.com for more cool hacks!