It’s been a Super ride!
It’s been a Super ride!
I have been working on this app full time for last 6 months and its the top rated resume builder available on Google Play. Today we have around half a million job seekers using our platform to get the best job. We get around 100k screen views every day and have been rated over 8200 times on Google play.
Imagine you are travelling in a public transport here in Mumbai. You see 10 people out of 15 sitting around you on their smart phones. Out of those 10 you see 7 playing candy crush. What if you were the developer of candy crush? People don’t know you there, but yes they know your work. They are using something you built. That feeling is priceless.
I thought over this idea and found it great as mobile is always with people and resume creation was a time consuming task. Would be great if people could create their resume on phone while they are travelling or listening to music and are not around their desktop.
We have also recently launched on iOS.
App url – http://superresumebuilder.com/
We have several features that enhance the job application process with your resume. One of the hot favorite feature is public url. Every user can publish his resume online on a unique url for others to view it.
While developing apps on android you may want to set custom titles on android and also want the app to be compatible with all android devices. I encountered an issue while making my app with custom title to be compatible with all device versions.
When I ran my application on Android device version 4+, I used to get the error – “You cannot combine custom titles with other features”. Frustrating
I had managed to resolve this bug by calling
This line disables the action bar. My style.xml went like :
<style name="AppTheme" parent="AppBaseTheme"> <!-- All customizations that are NOT specific to a particular API-level can go here. --> <item name="android:windowTitleSize">40dip</item> <item name="android:windowTitleBackgroundStyle">@style/CustomWindowTitleBackground</item> <item name="android:windowActionBar">false</item> </style>
When setting custom title you call
in your activity where you want to add custom title.
Latest version of android devices use Action bar instead of title, so when Window.FEATURE_CUSTOM_TITLE is called it throws an exception saying – “You cannot combine custom titles with other features”
Hence, disabling the action bar resolved it
If you have anything to ask, feel free to comment !!
While developing Android applications, we may need a way to hide fields in android. We may require this hidden field to store value which we do not want to display to users. We may require this to keep the track of some information that is not entered by the user.
Here is the code to add a hidden text view in Android. Attributes are normal, except a new attribute “android:visibility” which is set to value “gone“.
Note : Hidden components in Android do not consume any space on the layout
<TextView android:id="@+id/exp_hidden_id" android:layout_width="fill_parent" android:layout_height="wrap_content" android:visibility="gone" />
You can also achieve this within your Activity using Java as
View b = findViewById(R.id.button); b.setVisibility(View.GONE);
I came across the script posted by Robin Moffatt, over here (Rittmanmead’s blog) and wanted something similar to be implemented for AIX server. I downloaded both the .sh file and the .xml file and did the following modifications to make it compatible with OBIEE on my AIX server.
Values you need to change in the script:
MW_HOME - This is the installation directory of OBIEE
WLSHOST – Host name or ip address
WLSADMINPORT – Port number of weblogic server (Default: 7001)
WLSMGDPORT - Port number of Managed server (Default : 7001 for simple installation and 9704 for Enterprise install)
OPMN_PORT – Get the port number from <MW_HOME>\instances\instance_name\config\OPMN\opmn\opmn.xml in tag
<port remote="9501" local="9500"/></pre>
Put the value of remote property
Here the value will be 9501
WLSNODEMGR_PORT – Get the port number from C:\MWH\wlserver_10.3\common\nodemanager\ nodemanager.properties. Enter the value of “ListenPort” property.
Save it as StartStopServices.sh :
# Change these as necessary: export MW_HOME=<Middleware-Home Location> export WLSHOST=<IP-address or HostName> export WLSADMINPORT=<Weblogic Server Port> export WLSMGDPORT=<Managed Sever Port> # -------------------------------------------------- # Only change these if you are sure that you need to export WLSMGDNAME=bi_server1 export WLS_SINGLE_SERVER_INSTALL_FLAG= export BI_URL=http://$WLSHOST:$WLSMGDPORT/analytics export JAVA_HOME=$MW_HOME/Oracle_BI1/jdk export PRODUCTION_MODE=true export DOMAIN_HOME=$MW_HOME/user_projects/domains/bifoundation_domain export WLS_HOME=$MW_HOME/wlserver_10.3 export INSTANCE_HOME=$MW_HOME/instances/instance1 export ORACLE_BI_HOME=$MW_HOME/Oracle_BI1 export ANT_HOME=$MW_HOME/modules/org.apache.ant_1.7.1 # --------------------------------------- # Automagically determine listening ports export OPMN_PORT= #Get it as per instructions mentioned above export WLSNODEMGR_PORT= #Get it as per instructions mentioned above # --------------------------------------- # Initiate startup/shutdown BASEDIR=$(dirname $0) $ANT_HOME/bin/ant -f $BASEDIR/StartStopServices.xml $1 -DMW_HOME=$MW_HOME -DDOMAIN_HOME=$DOMAIN_HOME -DWLS_HOME=$WLS_HOME -DINSTANCE_HOME=$INSTANCE_HOME -DORACLE_BI_HOME=$ORACLE_BI_HOME -DPRODUCTION_MODE=$PRODUCTION_MODE -Dwls.host=$WLSHOST -Dwls.nodemgr.port=$WLSNODEMGR_PORT -Dwls.admin.port=$WLSADMINPORT -Dwls.mgd.port=$WLSMGDPORT -Dwls.mgd.name=$WLSMGDNAME -DOPMN_PORT=$OPMN_PORT -DBI_URL=$BI_URL $WLS_SINGLE_SERVER_INSTALL_FLAG
Transfer and save both the files on a particular folder on your AIX server and add the StartStopServices.sh on startup by editing the /etc/inittab file on the AIX Server
OBIEE services should start on system startup – A common buzz for OBIEE Consultants out there.
I came across an article here which installs OBIEE as a service on the server and adds it to startup. I thought of my own method and here are some of the simple steps I did to put OBIEE services on system startup.
Before performing the steps below make sure you have configured boot.properties file for auto logging in weblogic server
OBIEE services can be started by going in Start -> All Programs -> Oracle Business Intelligence -> Start BI Services. This action invokes the StartStopServices.cmd file located in <MWH-HOME>\instances\instance\bifoundation\OracleBIApplication\coreapplication. This script starts the Weblogic server, Managed server and OPMN Services.
Windows has a folder called startup in Start -> All Programs, which can be used to execute scripts or invoke programs on windows machine when system boots.
What we have done above is created a shortcut of the StartStopServices.cmd file and added it to startup folder for its execution on startup.
If you have any doubts/suggestions or need any further explanation feel free to comment or drop me a mail !!
Improper database design normally occurs when database is not properly designed or not normalized. Poor Database Design can lead to overhead in queries and hence will result in poor performance.
Let’s have an example of poor database design. Let consider a retail shop that stores the information of all the goods sold to the customer along with the payment information.
The first design stores all the customer and payment information in a single table. What happens here is,
For every customer information entered in the database, we have to enter payment info as well whether customer has done payment or not. This causes additional inserts overhead and consumes additional time.
If a customer pays in installment you will have to re insert the information of the customer again in the table along with the payment information
This will make query a bit slower, will consume more place on the disk.
|1||ABC||Street 101, Link Road||9865846521||12th June||1000||Purchase order|
|2||XYZ||Street 102, Khali road||9654585875||NULL||NULL||NULL|
The second design below divides the table above into two different tables (Customer and Payment) which enhances the above design, hence improving the performance of the queries and its readability. The payment table can be related to the customer table with the help of the key pointing to a record in customer table.
|1||ABC||Street 101, Link Road||9865846521|
|2||XYZ||Street 102, Khali road||9654585875|
|1||12th June||1000||Monthly goods|
1. XLC Complier (184.108.40.206).
2. Configure the TEMP and TMPDIR environment variables (in addition to TMP) to point to the desired temporary directory with adequate free space of 8 GB.
3. Account by which installation be done must have access to Root folders.
4. Static IP is required.
5. User’s limits should be set to unlimited as the default.
To change this for all sessions edit as root the file /etc/security/limits
ulimit -c unlimited (turn on core files with unlimited size)
ulimit -f unlimited (sets the file limit to unlimited)
ulimit -d unlimited (sets the user data limit to unlimited)
ulimit -n unlimited (allows an unlimited number of open file descriptors)
6. Ensure all the ulimit parameters to be specified as below
fsize = -1
core = -1
cpu = 3600
data = -1
stack = 1024
rss = 1024
nofiles = -1
threads = -1
nproc = -1
cpu_hard = -1
Note: The above mentioned values will be set in /etc/security/limits configuration file.
7. Install bos.loc.utf.EN_US Package for the Oracle BI locale setting english-usa language.
8. There are two thread types that can be configured i.e. GATEWAY and SERVER. (AIX Admin shall change values as per required OS configurations)
GATEWAY is used by a thread pool to call a database client library for establishing a DB connection.
The default size is 256KB; we require it to be raised to 512KB. (No performance penalty for over-configuring)
SERVER threads are used to run queries.
512 KB is the default size, 2 MB The recommended 64-bit setting. No performance penalty.
9. Available Memory (RAM): 32GB 64-bit operating systems
10. Temp Space: 8GB
11. Swap Space: 12GB
12. Configure the loop back adapter (Make changes in etc/host to accept hostname / IP)
13. The Bash Shell needs to be installed, as its required by OBIEE for certain scripts.
14. List of packages required by OBIEE application server installation.
(Note: – we are not aware of latest package version but consider the package name and install the latest version respective to Operating system or Yum repository (local repository) must be configured and OBIEE user shall have sufficient privileges’ to install packages, required for OBIEE installation.)
bos.adt.base bos.adt.lib bos.adt.libm bos.perf.libperfstat bos.perf.perfstat bos.perf.protocols rsct.basic.rte rsct.compat.clients.rte xlC.aix50.rte (version 220.127.116.11) xlC.rte (version 18.104.22.168)
15. Xming installed on AIX box, OBIEE installation requires input in GUI mod.
16. Stack and memory allocation to user from which installation is to be done; must be set to unlimited.
17. Open the <weblogic-server-home>/common/nodemanager.properties file in a text editor and set the StartScriptEnabled property to true from false.
18. Remove the entry of backup LAN entry from hosts.conf file on AIX.
What is Intelligence ??
We make decisions all the time, which directly impact our Life.
Intelligence + information = Right Decision.
Business people take decision all the time. The decision they take, have direct impact on the success and growth of their business. Some decisions are proactive while others are reactive.
Business intelligence simply means making your business intelligent.
What does a business people have ? – Data about their business
This data is of no use for business people unless and until it is presented in Intuitive and Structured way.
That’s where Business intelligence comes in !! Converting raw data to Legitimate information.
Lets consider an example of John, who is a CEO of Footwear manufacturing company,
John has to keep track of certain things on a day to day basis
He has to keep track of these things in order to know how well his business is doing. However, in order to get ready for future success, John has to know some additional things.
John can use two tools
Business Intelligence – which tells you your now
Business Analytics – Which helps you to do forecast
The above two tools will give john right information about his business in a very intuitive, Easily accessed, Structured and easily Managed way.
Quick Facts :
Cube – A Multidimensional Way to Look at Data – The cube is the primary OLAP structure used to view data. It is similar to a table in the relational database world. The term cube implies three dimensions, but OLAP have stretched the concept a little bit.
Dimensions - The Perspectives Used for Looking at the Data – Dimensions are the answer to the question “How do you want to see your data?”
Here are some examples of dimensions –
Levels & Hierarchies of Dimensions