Essential BlackBerry tips

Wipe It!

Replacing your BlackBerry smartphone is like selling a used car – you need to make sure you clear it out first! Here are three easy ways to do that:

  1. Wipe your BlackBerry smartphone data.
  2. If you have a BlackBerry® Internet Service account, contact your carrier and ask them to remove it. If you don’t, your emails will keep being sent to your old smartphone even after you wipe it.
  3. If you have a corporate BlackBerry smartphone, ask your IT admins to remove the IT policies. The new owner will thank you!

Protect It!

Of course, smartphones are also easy to lose, and many are stolen each day. To protect your personal information in case your BlackBerry smartphone is lost or stolen:

  1. Make sure you set a password. By default, an attacker only has 10 tries to get it right, so making it hard to guess is very important. Here some useful tips on choosing a strong password.
  2. Use content protection to encrypt all of your personal data. You can enable this by selecting Options -> Security Options -> General Settings on most BlackBerry smartphones.

Designing Application Prototypes using Sketchflow (Expression Blend 3)

Expression 3 — > Blend 3; wow! .. Download a 60 days trial version of Blend 3 and experience it NOW!.

Visio & others are a great tools but don’t actually target Prototyping and then i came to know that if i was suppose to build some phase1 (RE) diagrams it was perfect, but since i had to show prototypes which are suppose to be the simulation of actual software and need to give a look & feel of reality and have to be interactive and user should be able to provide their feedback on them.

Sketchflow allowed me to do the following:

Developing a site map which cleared the site flow

UI Screens using, actual controls and drawing tools
Programming & Scripting the controls & screens
Interconnecting those screens
Developing component screens, to be called on other screens
Running the output in a test player (browser)
Getting the end user ink feedback on my screens and saving that feedback and sharing internally
Automatically generated the document of my prototype project

.NET, C# Datatable get a Distinct Value

You can get it through a single line statement, which is as follows:

abcDataTable.DefaultView.ToTable(“abcDataTable”,True,”fieldName”)
first parameter is the name of the datatable,
second parameter is a boolean, by default it is false, on selecting true it returns distinct elements
third paramenter is the name of field from which we want to get distinct elements

Happy Programming!!

SFTP in SSIS using WINSCP

I had a requirement of fetching data files (.txt) from client server using sftp and insert them in our own databases. Initially i thought it would be easy, i just have to configure FTP task in SSIS and get it going but later i realized that SFTP is not supported in SSIS.

A little googling / binging (i have started prefering bing for microsoft related searches and also because i love bing wall papers, they are very appealing and informative) took me to www.winscp.com

Its a free utility sftp software and can be used through SSIS

Let me explain how it was done.

1. drag and drop execute process task from the Toolbox – > control flow item
2. drag and drop for each loop container from the Toolbox – > control flow item
3. drag and drop data flow task from the Toolbox – > control flow item and drop it inside for each loop container
4. connect Execute process task with for each loop container
5. you will have a picture something like this

6. Right click on for each loop container and click edit. Following picture will appear. Mention the folder on which to enumerate and define the type of files. (you can use *.* if you want to enumerate all types of files)

7. Click on the variable mappings and following screen will appear. Add a variable with the name str_FileName.

8. You are done with configuring for each loop container. Now move to Execute process task.
Right click execute process task and following screen will appear. Move to the process tab.
In the executable part, mention the location of WINSCP exe
In the arguments part, mention the credentials
(In my case, i have mentioned the FTP address saved in my WINSCP profile. its format is like this username@FtpUrl.com). After mentioning the credentials, mention the WINSCP scripting file location. so the whole value is Arguments section is

abc@abc.com /script=C:\filegetter.txt

This scripting file contains the information to connect WINSCP and get the required files and save in our directory. I will show you the content of that file laters.

Now move to Working Directory portion and enter the file location where you want to keep the files that are obtained from the ftp

9. Now you are done with configuring Execute process task. Lets move on to Data flow task inside for each loop container and right click it and press edit.
It will take you to DATA FLOW tab.
Drag and Drop Flat File Source from the Data Flow sources (from toolbox) and drop Ole Db Destination from the data flow destination (from toolbox).
Link flat file and Old Db. You will get something like the below.

10. Right click on the Flat file source and click Edit. Enter flat file connection manager name (FileConn) and press ok.

11. At the bottom, in the connection managers portion, a FileConn icon will appear. Right Click it and press edit. In the advanced tab, enter the column names. When done, press okay.
It will open up the below screen.

12. Click On FileConn, right click it and press properties.
Go to the Expressions, click on the elipses as followed

13. After clicking, following image appears. click on the property combo, select connection string, after this, click on expression combo’s ellipse.

14. After clicking it, following image appears. It is expression builder. Drag the User::str_FileName to the Expression text box. This will map the User::str_FileName variable with the file name which is forwarded by the for each loop container. Thats why we define one variable at for each loop container and use it in the connection string property for FileConn to map them. Click OK

15. Now right click Ole Db icon and press edit. Make a connection to Database and provide the table name where data needs to be inserted. Make sure you map the column names correctly.
You would be seeing the below screen. Press okay.

16. You are good to go now. Run the package and it will work.
Last but not the least, the WINSCP script, that connects the SFTP client. It is like this. It is very much self explanatory so no need to explain.

iPhone Gains Gaming Market Revenue Share

Software market research firm Flurry Analytics has posted some interesting information about where Apple’s iPhone stands in regards to the gaming market at large. The report also includes details about how the iPhone is stacking up in the mobile market against its two major rivals, the Nintendo DS and the Sony PSP.

In 2008, Apple’s iPhone OS accounted for only one percent of the overall gaming market, compared to 20 percent for other portable games, and 79 percent for console. 2009 saw a definite swing towards portable gaming overall, with Apple alone reaping about half of the benefit of that shift.

Apple’s overall share of video game software sales climbed to five percent in 2009, which represents an impressive 500 percent growth rate for the year. The general portable market, which seems to include not only the Nintendo DS and PSP, but also other mobile gaming platforms like cellular devices, grew by five percentage points as well, taking 24 percent of the market in 2009. The home console market, by comparison, dropped to just 71 percent. The numbers seem to indicate a growing portable market, of which Apple is currently taking the lion’s share.

According to Flurry Analytics’ estimates, using information from the NPD group, which details gaming revenue, the market overall took in $11 billion in 2008, and had a lightly less lucrative 2009, taking in only $9.9 billion. That means Apple’s take grew from $115 million in 2008 to somewhere around $500 million in 2009. With the introduction of the iPad in 2010, that number stands grow at an even faster rate as a whole new market segment is opened up to App Store gaming.

Zooming in on how the iPhone is doing relative to its two strongest competitors in portable gaming, the Nintendo DS and the PlayStation Portable, we see an even more dramatic picture of tremendous growth. Where the iPhone accounted for only five percent of the revenue share of the three platforms in 2008, in 2009 it took 19 percent. That means that it surpassed the PSP, which fell from 20 percent to 11 percent market share year over year. The DS stayed strong at 70 percent in 2009, but that still represents a fall of 5 percentage points from 2008.

The PSP is in big trouble, but it also looks like Nintendo may only be doing better because it had such a hefty head start to begin with. Recently, Apple announced that its next generation portable console, the Nintendo 3DS, is set for release in the not-too-distant future, so that could help its prospects. The PSP, on the other hand, had a very disappointing year with the release of the PSP Go, which wasn’t very well received, and no plans have been announced about the device’s next iteration as of yet.

Apple’s iPhone platform, on the other hand, is set to make some major leaps forward this year. There’s the very concrete and tangible benefit the iPad will have when it comes out early next month, compared to Nintendo’s vague plans regarding a new device somewhere on the horizon. Then there’s the near-certainty that Apple will be releasing a new iPhone in late Spring/early Summer, which should bring at the very least better processor power and graphics rendering for more impressive and ambitious games.

Therein lies Apple’s main advantage, besides its appeal to casual gamers: new hardware every 12 months, at least. The iPhone, iPod touch, and presumably the iPad, too, all get annual refreshes at the very least. And those refreshes often mean more muscle under the hood, which translates to more for game developers to work with. Significant performance updates to Sony’s and Nintendo’s platforms are few and far between.

The iPhone platform is still struggling to find purchase with core gamers, but I think the iPad, especially with its support for Bluetooth keyboards, might finally make significant inroads with that crowd. Watch for 2010 to be the year Apple dominates portable gaming.

IPad or Netbook?

With all of the netbook hoopla, it’s worth remembering that Apple really hasn’t filled the need for a full-featured, really small laptop. With Steve Jobs saying that they simply can’t build a cheap netbook without sacrificing quality, Mac lovers who still want one are left, quite literally, to their own devices.

myMacNetbook.com is here to help — it has all of the latest news about getting OS X to run on a netbook in one place. It also has a valuable chart that shows you which netbooks work best with OS X, and links to the software that you will need to use in order to get a netbook up and running with our favorite operating system, and valuable, step-by-step directions for turning a netbook into your OS X dream machine.

The compatibility chart assumes that you want to install Snow Leopard, and shows you which features will and won’t work on a particular piece of hardware. As of today, it looks like there are 10 different netbooks that are completely happy with an OS X install. I’ll probably hold out for generation 2 of the iPad, even though I am very tempted to buy one now. On the other hand, getting something smaller than my MacBook Pro that does everything that I need it to do, and for a lower or similar cost, sounds pretty sweet too.

How many of you have already gone with an OS X netbook, or are planning to go that direction rather than getting the iPad?

Working on the go will be top iPad use

A new survey by Sybase says that 2,443 of adults with a mobile phone, when polled, claim that their number one use case for an iPad would be working while out and about. 52.3% of those polled say they would work from a device like the iPad, 48.2% said they would use it to watch movies and television, and 35.4% said that they would use it to play games. Those are some interesting numbers — we’ve already heard that a full third of potential iPad users would use it to read books (though of course for some people, reading books would be considered work), and we’ve even heard that 44% of the iPhone apps being tested so far are actually games.

So basically, no one has any idea what we’ll be doing with our iPads when we actually get them. No, my guess is that people suspect that they will use an iPad for working, but in practice, they’ll use it more for what Apple expects them to use it for: games and consuming media. It could also be that “work” apps take longer to develop on the iPad, which would explain why we’re seeing games made when most users believe they’ll be working. But of course, we’ll have to see — it’s possible that we may not know the main use for the iPad yet, as even Apple seems to be torn on what the real focus of the computer will be.

In Defense of Single-Tier Applications

You put all of your code in the code file of your ASP.NET pages — but other developers keep kicking sand in your face because you’re not doing n-tier development. Peter’s here to say that you’re not (necessarily) being dumb.

I tend to build multi-tier applications with a layer of middle-tier business objects that are called from a little bit of code in my pages’ code files. However, there are any number of ASP.NET developers who don’t use that model. Instead, these developers put most of their code into their pages’ code file.

I’m here to say: That’s OK. There are three conditions that need to be in place before it will make sense for you to use a multi-tier development strategy.

Condition 1: Team Environment
The first condition is whether you’re working in a team environment. One of the beauties of multi-tier development is that you can divide the application code up into several different code files and (though class libraries) into several different projects. As long as team members settle on what methods, properties and events each class will expose, developers can work more-or-less independently on the same application.

If you’re working by yourself and you don’t have much overlap in functionality between pages, then multi-tier development won’t offer you much help. If you do have overlap in functionality (for instance, if customer data can be updated from several different pages), then there’s a danger that those different pages will implement the functionality in different ways. Having a Customer object allows you to keep that code in one place and have it managed by one developer. Even if you’re a lone developer, using class files like this can reduce the amount of duplicate copy-and-paste code in your application.

Condition 2: Complex Business Logic
The second condition to consider is whether you have to support complex business logic. As business logic becomes more complex, each If… Then statement you add doubles the number of paths through your application and increases the testing required. If, in addition, all testing must be done through the application’s UI, testing becomes a bottleneck.

Object-oriented development (along with applying well-known design patterns) reduces this problem. Rather than a few big hunks of complex code, you end up with lots of simple objects that can be tested individually: logic is replaced with objects. But note that I said business logic. If most of your complex logic is related to workflow or handling the UI, then a single-tier model may still be valuable to you.

Closely related to this precondition is whether your application will see much modification and/or extension over the course of its life. Multi-tier applications are easier to extend and modify than single tier applications. For instance, if you’ve used the right design pattern you can often add new functionality just by dropping a new DLL into the application and modifying a single line of code. This is a non-benefit, however, if your application is static after its release.

Condition 3: Scalability
The third precondition is scalability. Using multi-tier development allows you to distribute your application over several different computers, letting you to throw more CPUs at performance problems. Data access is also centralized in a few objects, making it easier to optimize data access (the usual cause of poor performance).

I have to admit that I consider scalability to be the least important precondition, because (a) many scalability problems can be addressed by creating a Web farm and installing multiple copies of the same site on several different computers, and (b) ASP.NET is so darn fast that it may require hundreds of users simultaneously hitting their submit buttons to actually slow down your application to a critical point. How many sites have that problem?

I won’t mention re-use as a benefit of multi-tier development because, quite frankly, it doesn’t happen much. Social and political pressures within an organization usually limit re-use to a single team and a single application.

The only wrinkle in this set of preconditions is that you do need to worry about the future of your application. While all three of these preconditions are in place now, one or more of them may be violated in the future. In that case (and at that point) it would have been better to go with a multi-tier model from the start.

If you are a single-tier developer and are considering moving to multi-tier development, the next few Practical ASP.NET columns are for you: I’m going to walk through the process of creating objects that will integrate with the ObjectDataSource

Oracle Pushes Java Modularization

Two executives from Oracle — one veteran, one newly acquired — kicked off the annual EclipseCon conference, underway this week in Santa Clara, Calif., with a keynote Tuesday focusing on the future of Java under the stewardship of Oracle.

“Java is certainly the crown jewel of this acquisition,” said Steve Harris, senior vice president of Oracle’s application server group. “It brings together a tremendous base of developers and a tremendous community, and it’s incredibly important to our business.” Harris joined Oracle in 1997 to manage development of the Java virtual machine for the Oracle8i release.

“Developers are the life blood of Java,” said Jeet Kaul, who joined Oracle with the Sun acquisition to serve as vice president of the company’s client software development group. “Nine million developers are using Java, and we want to grow that community. And how do you grow that community? We have to make sure that Java is available in as many places as possible… and we want it to be a competitive platform.” While at Sun, Kaul led the team that created Java FX, Java ME, Java SE and Java Card, among others.

The two execs were short on specifics, but touched on several areas, including an overarching plan to push Java modularity based on the Open Services Gateway Initiative (OSGi) specification.

The module-based design principles defined by the OSGi have emerged as the defacto means of componentizing enterprise Java, RedMonk analyst Michael Coté told this in an earlier interview. OSGi provides a common model for writing and deploying applications to local or remote computers in modularized form. The spec frees developers from the need to create monolithic applications and facilitates collaboration among many small components.

Both Eclipse and the Glassfish application server are built on the OSGi spec.

Oracle wants the Java Platform to support OSGi modules alongside the base Java platform modules, Harris said, and the company is working with the group to make that happen. According to Harris, Oracle’s plan involves a module system framework that gives developers a consistent API for accessing and manipulating modular systems, and implements underneath the covers the Java Platform module system. This arrangement would eliminate the need to choose between these systems, he said.

“OSGi is an incredible part of the ecosystem and the platform overall,” Harris said. “So the commitment here with building this Java Platform modular implementation is that it will support OSGi modules alongside the base platform modules. The way we’ll do this is with a module system framework that gives you a consistent API for accessing and manipulating modular systems, and implements underneath the covers the Java Platform module system, which can be alongside OSGi.”

Kaul told attendees that Oracle is currently working on a roadmap for the Glassfish app server. The timing of the 3.1 release and the roadmap details would be available in the next few days, he said.

Kaul, who confessed to being a “bona fide Java bigot,” promised to push for improvements in things like generics, additional support for dynamic languages and enhancements of JavaFX RIA platform, which he described as a reaction to developers’ need for a new graphics pipeline in Java.

Oracle’s acquisition of Sun Microsystems was completed in January in a deal valued at more than $7 billion. The Redwood Shores, Calif.-based company is nearing the end of its “Hundred Day Plan” to integrate the assets of its neighbor from Santa Clara, Kaul said.

Microsoft Ups Exchange Online Mailbox Storage to 25 GB

Microsoft increased the mailbox storage capacity for users of its hosted business productivity online suite (BPOS) of applications.

Mailboxes have expanded from 5 GB to 25 GB at no extra cost to BPOS and Exchange online users, according to an announcement issued by Microsoft on Wednesday. The mailbox storage capacity boost was hinted at last month in a talk by Kayvaan Ghassemieh, a senior technical product manager for Microsoft Online Services.

Ghassemieh said that the next BPOS updates to expect include the addition of single sign-on capability and a fix for calendar coexistence in hybrid deployments. Microsoft issues its BPOS updates every six to eight weeks, he explained.

The new boosted mailbox storage capacity brings Microsoft up to speed with Google, which offers the same 25 GB mailbox storage capacity as part of its Gmail and Google Apps services. Google Apps Premier service for businesses includes hosted e-mail, calendar and Office-like applications for $50 per user per year.

IBM lists a paltry storage capacity of 1 GB for its LotusLive Notes e-mail service offering, which costs $9 per user per month.

Microsoft boasts of offering Exchange online, SharePoint online and Office Communications online as part of its BPOS offering for $10 per user per month. In addition, Live Meeting Standard is included in the suite, which can support 250 non-BPOS users for Webinars, according to a Microsoft blog.

Hosted E-mail may prove to be one of the top software-as-a-service applications adopted by businesses because of scalability issues, including limited e-mail server storage space on premises. According to a prediction made in April by analyst firm Gartner, about 20 percent of the business market will use software-as-a-service for e-mail by the end of 2012.