Sunday, August 12, 2012

Got my PMP (8/11/2012)!!!

Hope this will help somebody...

A word of caution; my peers told me to memorize this chart for the exam...I tried, but understanding the process ITTOs trumps memorization.

Sunday, November 13, 2011

Another Poor Decision, Another Company Succumbs!

Oh is a sad day for Flash (on the mobile platform at least)! 
I always see these Chevy ads on TV showing sentimental values of old Chevy's (in a bad economy, I might add), instead of flaunting technical advances in the new ones! And I always wonder, who is making these decisions, and, who is supporting them, who is GM appealing to? 

I was dumbstruck, when HP bought Palm, even more so, when they came out with a WebOS tablet, and finally cringed when they discontinued it when they were selling like crazy at USD99.00!I always thought HP was a hardware company, they should've stuck to hardware. If they want to get into tablets (as a risky undertaking), they should have been into hardware for Android tablets. Let Palm, RIM and the likes, rise and/or sink on it's own merit.
Adobe, now they had a H.U.G.E. advantage in the RIA market. As far as I know they coined the term RIA (or had something to do with coining it at the very least)! The flash platform was everywhere. They were building a community, they had complimentary products like AIR, they were the answer to trendy interfaces. JavaScript ...eeeww!

Sunday, November 21, 2010

Nested AdvancedDataGrid

Flex them Grids! (AdvancedDataGrid as a subgrid with flat data)

A grid inside a grid is a common requirement; I thought. Yet, I scoured the internet for a solution and I couldn’t find it anywhere (…at least not something that could be done with “flat data”). The following is something I wanted to achieve.

Adobe LiveDocs show an example here where they put a chart in an itemrenderer. However they show this example with “Hierarchical” collection. Their data structure looks like:
   1: [Bindable]
   2:      private var dpHierarchy:ArrayCollection= new ArrayCollection([
   3:        {name:"Barbara Jennings", region: "Arizona", total:70, children:[  
   4:          {detail:[{amount:5},{amount:10},{amount:20},{amount:45}]}]},
   5:        {name:"Dana Binn", region: "Arizona", total:130,  children:[ 
   6:          {detail:[{amount:15},{amount:25},{amount:35},{amount:55}]}]},
   7:        {name:"Joe Smith", region: "California", total:229,  children:[ 
   8:          {detail:[{amount:26},{amount:32},{amount:73},{amount:123}]}]},
   9:        {name:"Alice Treu", region: "California", total:230, children:[ 
  10:          {detail:[{amount:159},{amount:235},{amount:135},{amount:155}]}
  11:        ]}
  12:      ]);      

However, this is almost never how one would get data from the server. We generally get a flat data-structure as ArrayCollection. The the trick would be to convert this flat structure into a Hierarchy of objects.

Wednesday, November 10, 2010

…and take that too Times of India

I noticed lots of downloads for times of india source code. If you would be so kind to leave a will be greatly appreciated.

I‘ve compiled an Android app to read the newspaper ad-free. It’s the same concept as before, but I have to parse the incoming HTML with regex (I hate RegEx….I spent so much time with it).
I’m well into the night, so I’ll skip the explanation and but do enjoy the screenshots.

Wednesday, October 20, 2010

Text Flow in Columns (CSS, HTML, JS)

I was helping someone get some text to automatically overflow into adjoining columns. Much like a news paper. This is possible to do at run time with simply some javascript.
   1: <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
   2: "">
   3: <html xmlns="">
   4:     <head>
   5:         <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
   6:         <title>Text Flow</title>
   7:         <!--jq UI -->
   8:         <link rel="stylesheet" type="text/css" href="./lib/lightness/jquery-ui-1.8.5.custom.css" />
   9:         <!-- jQuery -->
  10:         <script type="text/javascript" src="./lib/jquery/jquery-1.4.2.min.js"></script>
   2:         <script type="text/javascript" src="./lib/jquery/jquery-ui-1.8.5.custom.min.js">
   1: </script>
   2:         <!-- Custom JS-->
   3:         <script type="text/javascript" src="./lib/app-js/text-flow.js">
  12:         <style>
  13:             #container {
  14:                 width:1024px;
  15:             }
  17:         </style>
  18:     </head>
  19:     <body>
  20:         <p>
  21:             <div id="container">
  22:                 <div id="flow-container"></div>
  23:                 <div id="flow-button-container"></div>
  24:                 <div id="text-container">
  25:                     <h2>What is it?</h2>
  26:                     <p>Lorem Ipsum is simply dummy text of the printing and typesetting industry. Lorem Ipsum has been the industry's standard dummy text ever since the 1500s, when an unknown printer took a galley of type and scrambled it to make a type specimen book. It has survived not only five centuries, but also the leap into electronic typesetting, remaining essentially unchanged. It was popularised in the 1960s with the release of Letraset sheets containing Lorem Ipsum passages, and more recently with desktop publishing software like Aldus PageMaker including versions of Lorem Ipsum.</p>
  28:                     <h2>Why do we use it?</h2>
  30:                     <p>It is a long established fact that a reader will be distracted by the readable content of a page when looking at its layout. The point of using Lorem Ipsum is that it has a more-or-less normal distribution of letters, as opposed to using 'Content here, content here', making it look like readable English. Many desktop publishing packages and web page editors now use Lorem Ipsum as their default model text, and a search for 'lorem ipsum' will uncover many web sites still in their infancy. Various versions have evolved over the years, sometimes by accident, sometimes on purpose (injected humour and the like).</p>
  32:                     <h2>Where does it come from?</h2>
  34:                     <p>Contrary to popular belief, Lorem Ipsum is not simply random text. It has roots in a piece of classical Latin literature from 45 BC, making it over 2000 years old. Richard McClintock, a Latin professor at Hampden-Sydney College in Virginia, looked up one of the more obscure Latin words, consectetur, from a Lorem Ipsum passage, and going through the cites of the word in classical literature, discovered the undoubtable source. Lorem Ipsum comes from sections 1.10.32 and 1.10.33 of "de Finibus Bonorum et Malorum" (The Extremes of Good and Evil) by Cicero, written in 45 BC. This book is a treatise on the theory of ethics, very popular during the Renaissance. The first line of Lorem Ipsum, "Lorem ipsum dolor sit amet..", comes from a line in section 1.10.32.</p>
  36:                     <p>The standard chunk of Lorem Ipsum used since the 1500s is reproduced below for those interested. Sections 1.10.32 and 1.10.33 from "de Finibus Bonorum et Malorum" by Cicero are also reproduced in their exact original form, accompanied by English versions from the 1914 translation by H. Rackham.</p>
  38:                     <h2>Where can I get some?</h2>
  39:                     <p>There are many variations of passages of Lorem Ipsum available, but the majority have suffered alteration in some form, by injected humour, or randomised words which don't look even slightly believable. If you are going to use a passage of Lorem Ipsum, you need to be sure there isn't anything embarrassing hidden in the middle of text. All the Lorem Ipsum generators on the Internet tend to repeat predefined chunks as necessary, making this the first true generator on the Internet. It uses a dictionary of over 200 Latin words, combined with a handful of model sentence structures, to generate Lorem Ipsum which looks reasonable. The generated Lorem Ipsum is therefore always free from repetition, injected humour, or non-characteristic words etc.</p>
  40:                 </div>    
  41:             </div>
  42:         </p>        
  43:     </body>
  44: </html>