Thursday, June 5, 2014
Quick Thoughts on Wearable Technology
Thursday, May 8, 2014
Quick Thoughts on Mobile UX
Tuesday, May 6, 2014
JIRA (not Jeera)
Friday, April 18, 2014
Republishing Stuck Blogger Posts
This post is slightly off-topic for this blog but it can be classified as technical and also, I want to share this workaround with other users of the Blogger Android app. I managed to find it on the Google Product Forums but it's not an easy one to reach.
Sometimes, especially while traveling, you lose your net connection just before you hit "Publish" on a post. This causes the post to be forever stuck in "publishing" status. You aren't able to republish it even after your net connection gets restored, because the post is "greyed out" in the app.
In such cases, you can use the below workaround after your net connection is restored:
"User would need to use both thumbs as you are trying to force the system to do something with one while clicking on the affected post at the same time. User can hit any published/draft post with left thumb and follow it quickly with tapping on affected row with right thumb. It should happen quickly so that the published/draft post actually doesn't get the tap and rather the affected post row registers a tap event." Now edit the post just like any other draft and publish it.
Friday, March 28, 2014
3D Printing for Dummies
Thursday, March 27, 2014
Big Data for Dummies
Where does Big Data Come From: Wikipedia says, "Data sets grow in size in part because they are increasingly being gathered by ubiquitous information-sensing mobile devices, aerial sensory technologies (remote sensing), software logs, cameras, microphones, radio-frequency identification readers, and wireless sensor networks." According to McKinsey, "The increasing volume and detail of information captured by enterprises, the rise of multimedia, social media, and the Internet of Things will fuel exponential growth in data for the foreseeable future."
Who works with Big Data: Again from Wikipedia, "Scientists regularly encounter limitations due to large data sets in many areas, including meteorology, genomics, connectomics, complex physics simulations, and biological and environmental research. The limitations also affect Internet search, finance and business informatics." Another category of Big Data users are law enforcement agencies across the world who have to work with multiple local databases containing different categories of information about various criminals and terrorists.
Why Big Data Matters: McKinsey maintains that "From the standpoint of competitiveness and the potential capture of value, all companies need to take big data seriously." SAS believes that organizations can analyze Big Data "to find answers that enable 1) cost reductions, 2) time reductions, 3) new product development and optimized offerings, and 4) smarter business decision making". They have given the example of UPS who started analyzing Big Data in the 1980s, long before the term was coined, and used it to achieve major savings.
How to work with Big Data: Since Big Data can't be processed by traditional database management tools or data processing applications, a new set of applications have evolved to specifically deal with Big Data. Some examples are Hadoop (by the Apache Foundation), MongoDB and Splunk. From a hardware point of view, practitioners of Big Data analytics prefer the faster and cheaper Direct-attached storage (DAS) over the traditional shared storage architectures such as Storage area network (SAN) and Network-attached storage (NAS).
Whether Big Data matters to You: Some companies claim that Big Data analysis is the hottest new practice in the field of BI today. McKinsey predicts that "By 2018, the United States alone could face a shortage of 140,000 to 190,000 people with deep analytical skills as well as 1.5 million managers and analysts with the know-how to use the analysis of big data to make effective decisions." Clearly, if you an IT employee at a technical or lower-to-middle management level, knowledge of Big Data analytics could help you in the future.
Wednesday, December 11, 2013
RoR Music Database Project
rails new MusicDatabase
cd MusicDatabase
rails generate scaffold Album albumname:string albumartist:string albumyear:datetime
rake db:migrate
Edit the file "config\routes.rb" to open "views\albums\index" by default, by adding the line:
root :to => "albums#index"
rails generate model Song songname:string album:references
rake db:migrate
rails generate controller Songs index show new edit
Edit the file "controllers\song_controller.rb" to have the standard methods for showing, adding, editing and deleting songs
Edit the files under the "views\songs\" directory to have the standard forms for showing, adding, editing and deleting songs
Wednesday, December 4, 2013
Steps Taken to Revive Galaxy Tab 2 P3100
When my tab recently suffered a battery drainout issue, these are the steps I took to revive it:
Charge battery to 99%
Perform factory reset
Connect to Wi-Fi
Provide Samsung account settings
Provide Google account settings
Update Samsung apps
Power off
Insert SIM card and Micro SD card
Power on
Save GPRS settings
Install essential apps only (Clean Master, Facebook, Blogger, MyMail in my case)
Update stock Android and Samsung apps as needed
Add apps and widgets to home screen as needed
Friday, November 22, 2013
SOLVED: Rails with MySQL on Windows
Tuesday, November 19, 2013
Hi, Ruby!
(Note: An easier way is to visit the RailsInstaller website and install Ruby, Rails and many other packages at one go)
Friday, November 1, 2013
Excel output from Perl script
my $workbook = Spreadsheet::WriteExcel->new('music_list.xls');
}
}
Tuesday, October 22, 2013
Object-Oriented Programming in Perl
Friday, October 18, 2013
Excel output from PHP script
$objPHPExcel->getActiveSheet()->getStyle($header_range)->getFont()->setBold(true);
$bgColorArray = array(
'fill' => array(
'type' => PHPExcel_Style_Fill::FILL_SOLID,
'color' => array('rgb' => '6D7B8D')
)
);
$objPHPExcel->getActiveSheet()->getStyle($header_range)->applyFromArray($bgColorArray);
Friday, October 4, 2013
Parsing HTML pages using Mojo::DOM
Wednesday, September 25, 2013
Perl & Curl have my Head in a Whirl
* Ensure a C compiler is installed and available on the PATH. If not, get GCC by installing the Perl MinGW package:
ppm install MinGW
* Download the latest cURL libraries for mingw from the cURL website:
http://curl.haxx.se/download.html
* Unzip the folder somewhere (say C:\curl-7.32.0)
* Download the CPAN module WWW::CURL from CPAN:
http://search.cpan.org/~szbalint/WWW-Curl-4.15/
* Unizp the folder somewhere (say on your Desktop). Edit the Makefile.PL, making the following changes:
1. Comment the lines following the comment "This is a hack."
2. Change the "my @includes..." line to:
my @includes = qw(C://curl-7.32.0//include);
3. Change the "my ($cflags..." line to:
my ($cflags,$lflags, $ldflags) = ('-I"C://curl-7.32.0//include"','-L"C://curl-7.32.0//lib"','-lcurldll -lcurl');
4. Change the "open(H_IN, "-|", "cpp"" line to:
my $cmd = "cpp $curl_h";
open(H_IN, $cmd) and $has_cpp++;
5. Change the "'LIBS' => "$ldflags $lflags..." line to:
'LIBS' => "$lflags $ldflags", # e.g., '-lm'
* Run the command:
perl Makefile.PL
* Run the command:
dmake
* Run the command:
dmake install
Saturday, September 14, 2013
Defeat Browser Hijackers!
Thursday, September 12, 2013
A Small XSLTip
My XML code was as follows:
<lines>
<line name="Company" linetext="Capgemini Consulting India Pvt. Ltd." />
<line name="Description" linetext="Capgemini is a global leader in consulting, technology, outsourcing and local professional services. It employs more than 83,000 employees globally." />
<line name="My tenure" linetext="2004-2012" />
<line name="My role" linetext="Manager" />
<line name="Comments" linetext="Cap was my first big break and the career growth I got was phenomenal. Indeed, the Capgemini stint totally changed me at a personal level." />
<line name="Website" linetext="http://in.capgemini.com" />
</lines>
<xsl:template match="line">
<tr>
<td width="30%" align="right" valign="middle" class="itemtext">
<b><xsl:value-of select="@name" />:</b>
</td>
<td width="70%" align="left" valign="middle" class="itemtext">
<xsl:if test="@name='Website'">
<a href="{@linetext}">
<xsl:value-of select="@linetext"/>
</a>
</xsl:if>
<xsl:if test="@name!='Website'">
<xsl:value-of select="@linetext" />
</xsl:if>
</td>
</tr>
<tr>
<td colspan="2" align="center" valign="middle"> </td>
</tr>
</xsl:template>
Hopefully the above XSLT code is self-explanatory. If not, feel free to contact me for a discussion
Wednesday, August 14, 2013
Tips on Converting PHP to Perl-CGI
* Added the Perl shebang line at the top of the page
* Added the standard line to print the content type
* Enclosed all other HTML code within multi-line prints
* Replaced all instances of the PHP "echo" with the Perl "print"
* Replaced the database connection PHP code with the corresponding Perl code
* Replaced the database query PHP code with the corresponding Perl code
* Added a subroutine for getting the CGI parameters, something that PHP automatically did
* Replaced the PHP built-in hash "%POST" to the hash "%form" created by my subroutine
* Replaced the square brackets used for PHP hashes with the curly brackets used in Perl
* Removed the single or double quotes that were used to reference the hash values in PHP
* Replaced the not equal to operator "<>" of PHP with the Perl equivalent "ne"
Tuesday, August 13, 2013
Tips on Converting Python-CGI to Perl-CGI
* Converted the shebang line from #!/Python27/python to #!/Perl/bin/perl
* Added a semi-colon after every line of Python (now Perl) code
* Added a $ sign before every Python (now Perl) scalar variable
* Converted the multi-line prints from Python format (print """) to Perl format (print <<HTML)
* Removed the Python import line for "sys"
* Removed the Python import line for "time". Used Perl's localtime() function to get date and time
* Removed the Python import line for "cgi". Used a downloaded Perl code snippet to get the CGI parameters, choosing one that takes care of both GET and POST parameters
* Converted the Python "if-elif-else" syntax to the equivalent Perl "if-elsif-else" syntax
* Converted the Python "try-except" code for opening a text file to the normal Perl file opening code, as Perl does not currently support "try-except"
* Converted the single-line file open and read code of Python to the equivalent Perl code
* Converted the Python syntax [filename.write("abc")] for writing to text file to the equivalent Perl syntax [print FILENAME "abc"]
* Replaced Python's text concatenation operator "+" with the equivalent Perl operator "."
* Removed Python's str() function, as Perl automatically takes care of converting variables based on the context
* Ensured use of "eq" operator instead of "==" operator in "if" conditions involving string variables
Tuesday, July 30, 2013
Introduction to SharePoint
The most basic element in SharePoint is an Item (calendar entry, task, contact) or a Document (Word, Excel, PDF). Both Items and Documents can have metadata associated with them. They can be arranged using Folders
Items are stored in Lists while Documents are stored in Libraries. A List or Library uses Views to display information. VIews depend on context but the standard view is as rows and columns. Each row represents an Item or Document while its metadata is displayed in the columns. Metadata can be grouped into Content Types
Each List or Library is part of a Site, which is a container for data. Sites can be Team Sites, Project Sites or Internet Web Sites. They can be arranged in hierarchies and collected into Site Collections with a Root Site at the top and common site settings. Each Site has a default page (Homepage), along with various other Pages
Sites are viewed using a web browser. Hence there are Web Applications, which can contain several Sites or Site Collections and are hosted on Web Servers. Multiple SharePoint servers can be grouped into a Sharepoint Farm
In short, SharePoint provides a solution to all your information management needs with a secure and remote access. Andreas Glaser's website provides some good SharePoint tutorials that are very useful for beginners. Note that the content of this post has been adapted from his pages, and the SharePoint Wikipedia page