An intro to NetSuite

From the last few month I have been working on NetSuite (Web-Based Business Software Suite) so this is my brief review about NetSuite.

As far as the NetSuite Environment is concerned one has to admit that it is a very mature and functional one. UI is very intuitive and customizable. Many of the organizational needs have already been catered on the UI level so you don’t have to write a single line of code to accomplish much complex tasks. You can create custom records and link them with other records, use custom forms and validations without any coding.

Apart from the built in features Netsuite is much customizable too. SuitFlex provides a sophisticated toolbox to make netsuite work on your way.  SuiteScript (Netsuite’s programming language) is based on JavaScript syntax with an API to handle UI, Database Level operations. Unlike popular programming languages like PHP, you are not going to have many resources on the internet for SuiteScript.

You can also make your own web services using java, .net or php and these scripts can connect to netsuite and fetch  or update data on netsuite server.

Resources:

UserGroup (https://usergroup.netsuite.com/netflex/index.php)

Twitter (http://twitter.com/NetSuite , http://twitter.com/NetSuite_KK , http://twitter.com/NetSuite_Corp , http://twitter.com/NetSuite_Inc )

Optimize FireFox for small screens

mian

Recently I spent some time to optimize my FireFox so that I can have maximum working space.  The target was to change the FF interface so that it gets closest to Chrome. I used following Firefox addons to accomplish the task.

Fission ( https://addons.mozilla.org/en-US/firefox/addon/1951)

This addon optimizes your address bar so that all the info you get from your status bar will be accessible through the status bar like hover link, connection status. (no need to have the status bar visible on the bottom. Just disable it from the view menu.)

Hide Caption (https://addons.mozilla.org/en-US/firefox/addon/9256)

Removes the mostly useless caption or title bar. This addon also does some other useful tweaks.

Hide Menubar (https://addons.mozilla.org/en-US/firefox/addon/4762)

Hides the menu bar which can be shown temporarily by pressing the ALT key.

Getting richer with Flex

The First Glance

WOW!!  After viewing the sample application on Adobe site one has to be get impressed by the power and magic of it. This sample app gives you an idea what you and your users can have with Flex.

So is it all about Visuals?

RIA (Rich Internet Applications) doesn’t mean only visually rich but also flourishing from the application architecture point of view. In Flex world everything is arranged and placed together so you have to look-after less number of things but you get better results not only visually but also form architectural point of view.

Learning Curve

For a Web Developer having idea of HTML, JavaScript and CSS, it is not difficult to start getting your hand on Flex. MXML is much like HTML and you also have FLEX CSS for styling your components. Talking of ActionScript, it is like a super set of Javascript. OOP is a must for an ActionScript programmer.

Decision Time

So should you really opt for it? It depends upon the application requirements and the complexity of the user interface. Just don’t use it because every one in the town is talking about it. There are many things you can do using AJAX but can’t do with FLEX but its vicevarsa is not quite true.

A presentation about Enterprise architecture

Venue

Folio3 ( the Where I used to work at)

Speaker

Shafi Mansoori (Enterprise Architect at Kaiser Permanente).
Previously an Enterprise Architect at the American Automobile Association
& Director of Enterprise Architecture at Accenture.

Subject

Enterprise architecture, CRM and Data Warehousing.

Outline

Steps for developing an Enterprise Architecture

  • Current State
  • Future State
  • Identify Gaps
  • Strategic Initiatives (Identify Project and their dependencies so road map can be devised)

Architecture BluePrint

  1. Infrastructure
  2. Application
  3. Data
  4. Integration
  5. Security

New Concepts I learned

ODS(Operational Data Store ) works as a datastore. The main difference between ODS and DataWare House is that no data cleaing is being done at ODS.

Heights and Widths of a Developer

A lot of people are afraid of heights. Not me, I’m afraid of widths. Steven Wright

Being a geek we all are overwhelmed by technologies and technicalities. Our gatherings and gossips, our jokes and judgments, our delights and distresses, our feelings and fears are all centered towards computing. Many of us have become so oriented towards these things that we tend to forget that Softwares are for people and people are not for softwares.

In this scenario it is not surprising that our criteria to judge a developer just comprise on programming skills (like design patterns, development tools, frameworks or programming languages). Assessments of human feelings, knowing expected behavior of user from different backgrounds on different occasions and making softwares more acceptable for people are also the skills that are very important.  Industry giants also recognize this.

I’d love to have people who come to these jobs wanting to think of it as an exercise in people management and people dynamics, as well as the basic engineering skills. That would be absolutely amazing. (Bill Gates)

The same also goes for enhancing self expertise. Most discussed methods for it are like learning a new programming language, study certain frameworks or study algorithms. These things will deepen the expertise of one but there are certainly some other important ways to grow your skills. How to Become a Better Programmer by Not Programming. If we develop high-level skills, we may create working applications but only a developer with skills spread over wider domains can create friendly applications.

My Ultimate and Usable Web Development IDE

During the past two years I have been using different IDEs for PHP Development. I used Dreamweaver, Eclipse PDT, PHP Designer and NetBeans IDE but lately I faced some problems when I do some extensive JavaScript coding. This took me to re-enumerate the IDEs for me.

In short I concluded that NetBeans IDE for PHP fulfilled most of my needs.

What I Found Great

  • Usability and easiness of use
  • Extensive Code assistance not only for PHP but also for CSS and JavaScript
  • Easy adding and removing of plugins
  • Very lighter than Eclipse
  • Many of good features of Eclipse are here (like Local History )
  • Built in support for JQuery and other JavaScript Libraries
  • Its free!!!!

Fight of the Century (Usability VS Reusability)

Lately I was reading a very though provoking article 97 Things Every Software Architect Should Know

Besides some other great points, the guys came up with a really thought provoking point.
Simplicity before generality, use before reuse

This really gave voice to one of my thoughts. I always think that Developers also need usability in the code as user in an application, So it is easy for them to use and enhance the code. Whenever we add some reusability in the code we lose some usability from it.

By The Way Some other really appreciable points in the article were

•    Simplify essential complexity; diminish accidental complexity
•    Chances are your biggest problem isn’t technical
•    Communication is King
•    Architecting is about balancing
•    Quantify
•    One line of working code is worth 500 of specification
•    There is no one-size-fits-all solution
•    It’s never too early to think about performance and resiliency testing
•    Continuously Integrate
•    Try before choosing
•    Understand The Business Domain
•    Time changes everything
•    Everything will ultimately fail
•    Know all the rules — so you know which ones you’re breaking
•    Learn to be humble
•    Design for limited resources
•    Be the Dreamer of Dreams
•    Do not use technology for technology’s sake

Stroke it (Make XP work on your gestures)

So guys I am really fond of FireGestures add-on for Firefox. Some days earlier I thought there should be some utility for windows explorer that works like fire Gestures.

I Google it for such a utility and I found a near perfect solution. Stroke it is a must have.

StrokeIt is an advanced mouse gesture recognition engine and command processor. Click and hold down the right mouse button and then draw the mouse gesture you want performed.

Left :
Back
Right :
Forward

Some of the many qualities are

  • No integration problems.
  • Can add or remove applications.
  • Can add customize gestures
  • Really easy to use
  • Application specific gestures

Softec 2008 @ Fast Lahore

Last month I had the privilege to represent my university (University of Karachi) at Softec 2008 in Speed Programming Competition. Well in my previous blogs I have written a lot about the programming competitions I have participated in, so it would be good to discuss some other aspects of the Mega Event.

Although the weather was hot but good arrangements made the overall experience a pleasure. Accommodation arrangements were good so were the ceremonies which were all started at time.

The main pitfall was the competition itself which lacked a lot of things. Mismanagement and late start were the main weak points in the programming competitions. Frequent power failures were also a big cause of hindrances.

The tasks in the programming competition were written by the organizers themselves so they were not so professional. Mostly in other programming competitions, tasks are copied from likes of ACM as they are richer in test cases and possess almost zero error.

In the end I would say that it was a good and none the less We learned a lot from the event.

What Google lost after Chrome?

Well Google definitely gained a lot from Chrome but what it lost because of it…

The answer is Our trust. Most of us considered Google as a faithful contributor in the web world but this step by Google to launch its browser named Chrome is a real shaker. It can be considered as a step taken to establish the monopoly on the web. Firefox loaded with addons already fullfills our 70% needs. Launching a browser that targets the remaining 30% needs and fullfills only some of them is not a clever step.

There are few things that this new browse offers. Every tab having its own process which can be controlled through task manager. Another of the feature is its sleekness which I appreciate in all Google products. But if not all most of these things can be achieved with Firefox.

Well what is done can not be undone so lets hope that Chrome brings a positive competition in browser market and we will see a lot of new features in browser shortly.

[PS] After a lot of criticism in the comments, I thought I should clarify some of my points. First of all nothing can be perfect so we should just pay heed to all sides of the scenario. Secondly it takes time for any software to become excellent. Chrome has to have some drawbacks at this point of time. So let the time decide.