Wednesday, August 27, 2008 #

A stupid iPhone security flaw...

Today GizModo has published a huge security problem in the latest iPhone 2.0.2 software.

To reproduce the problem:

First, password protect your phone and lock it. Then slide to unlock and do this:

1. Tap emergency call.
2. Double tap the home button.

Done. You are now in your favorites. Here you have full access to your favourites calls and contacts. Then, from a contact if you tap on the blue arrows next to the names, it will give you full access to the private information in a favorite entry. And it goes downhill from there:

  • If you click in a mail address, it will give you full access to the Mail application. All your mail will be exposed.
  • If there's a URL in your contact (or in a mail message) you can click on it and have full access to Safari.
  • If you click on send text message in a contact, it will give you full access to all your SMS.

To solve this problem:

1. In the iPhone home, go to Settings.
2. Click on General.
3. Click on Home Button.
4. Click on either "Home" or "iPod" ("Home" is recommended).

Obviously, this problem is a risk only if you loose your iPhone or if you give it to bad hands... Apple is alerted and it will fix the "bug" in the next software update.

iPhone users alerted...

posted @ Wednesday, August 27, 2008 11:21 PM | Feedback (0)

Data Structures and Algorithms free eBook

Luca Del Tongo and Granville Barnett has published for free their Data Structures and Algorithms: Annotated Reference with Example eBook.

As said by the authors: "As this is just a preview don't expect it to be all finely polished, we know what we are lacking in terms of explanations. No chapter in the preview is the final version of that respective chapter. It's also worth mentioning that this is not the final list of chapters.

Our intended target audience are those who know how to use their respective language of choice, other than that you should be OK to follow the book. We have intentionally tried to keep the book compact and to the point.

The book is language independent. We use a form of pseudocode for all algorithms as such these algorithms can be easily ported to most imperative languages like C++, C#, and Java."

Good work guys... I hope to help you to spread the word...

posted @ Wednesday, August 27, 2008 8:06 PM | Feedback (0)

Why not an App Store for Windows Mobile?

As someone of you already know, I'm an iPhone user from a month. One of the coolest feature of this device is certainly the App Store, the place where you can find any type of application you want. iPhoneAppStore

With the 2.0 software update (out for the iPhone 3G launch) Apple has placed the App Store feature directly into the device (no need to go on an Apple website).

Why the App Store is so interesting? Because now you have a central location  where you can find all you need. The App Store permits you to browse for a software by directly searching the entire archive for keywords, by browsing different categories, by searching the Top 50 or the Top Downloaded.

Applications can be free of charge or under payment (normally a small fee). When you've found the application you need, just tap on it with your finger and it's downloaded to the phone via WiFi (if it's active) or via a cell network.

What is cool is that the App Store maintains your applications always update. If there's a new release available for an application that you've previously installed on your device, the App Store will automatically tell you that a new update is available and it permits you to automatically update your software "over the air". Installing or updating every type of application via App Store on the iPhone requires only a finger tap.

The App Store concept is interesting also under the hood. Apple certifies that application distributed via the App Store are 100% safe and compatible with your device. If you're a developer that wants to distribute an application via App Store, you've to pay an initial fee to be admitted and after the acceptance you're free to pick the application price (free or not). If your application is free, there's no charge for users and developers. If your application is not free, a developer gets 70% or the revenues monthly.

The App Store is the exclusive official way to distribute iPhone safe applications.

I think that this concept could be interesting also for Windows Mobile. Why not having a central repository where all "100% compatible" applications can be placed for distribution (free or not)?

If you need a Windows Mobile application, actually you need to search for it via a search engine, go on different websites (secure or not, it depends...) and download it (and hope that it works...). And if the application is not free of charge? You' ve to pay with your credit card on different websites instead of a central secure location.

I think that the App Store is a great idea that could be interesting also for Windows Mobile. If I have developed a mobile application that I want to share with the community for free, I can upload the installer not on my personal website for example, but on the Microsoft App Store (after registration and admittance). Then, everyone that wants my application can download it from the central location, maybe directly via their mobile device (Windows Mobile could include a native application exactly like the Apple App Store application installed on the iPhone, so no need to surf the web).

And if I want to gain something from my mobile application? I can decide the price, the a user that want to buy it could directly pay via the Microsoft App Store (central location for payments) and then Microsoft will pay me. So simple and more secure than pay different people on different websites.

I hope to see this idea also on the mobile Microsoft world... it's really useful for the end user but also useful for a developer I think.

P.S. Don't forget two simple things that makes the Apple App Store so used:

  1. Low cost for applications (lots are free and the most are between 2$ to 9$).
  2. Simplicity to install and update applications.

posted @ Wednesday, August 27, 2008 4:12 PM | Feedback (2)

Mozilla presents Ubiquity

Mozilla has launched an interesting new project called Ubiquity:

Today we’re announcing the launch of Ubiquity, a Mozilla Labs experiment into connecting the Web with language in an attempt to find new user interfaces that could make it possible for everyone to do common Web tasks more quickly and easily.

The overall goals of Ubiquity are to explore how best to:

  • Empower users to control the web browser with language-based instructions. (With search, users type what they want to find. With Ubiquity, they type what they want to do.)
  • Enable on-demand, user-generated mashups with existing open Web APIs. (In other words, allowing everyone–not just Web developers–to remix the Web so it fits their needs, no matter what page they are on, or what they are doing.)
  • Use Trust networks and social constructs to balance security with ease of extensibility.
  • Extend the browser functionality easily.

It's really interesting expecially because it's open source, so open for cooperations.

Will it be browser-independent?

posted @ Wednesday, August 27, 2008 2:32 PM | Feedback (0)

Monday, August 25, 2008 #

Microsoft Dynamics NAV: using ADO and SQL Stored Procedures to tune up your queries

I've discovered today that we in EID are not the ones that are using the ADO trick to tune up certain queries on Dynamics NAV.

There are cases where queries executed via C/AL can be more complex and less performant that queries directly performed via T-SQL. My personal case where I love to use this trick is for example if you have to do a SELECT DISTINCT query via C/AL: via NAV code, you have to use two at least two record variable and marks. Why not run a simple SELECT DISTINCT via T-SQL and reads the data from NAV?

This is possible by using Microsoft's ActiveX Data Objects (ADO), a set of Component Object Model (COM) objects for accessing data sources that provides a layer between programming languages and OLE DB.

The post I've linked shows exactly how to do. Basically:

  • Reference the "'Microsoft ActiveX Data Objects 2.8 Library"
  • Create a connection to your database by using an automation variable of the type "'Microsoft ActiveX Data Objects 2.8 Library'.Connection"
  • Launch your query and retrieve your data
  • Close the database connection

In this way you can use the standard ADO command inside NAV, so you can execute SQL instructions or directly stored procedures with parameters.

We have observed performance improvements on certain operations by directly using ADO from NAV, so this is a trick that you can have in mind.

Remember that, if you use SQL stored procedures inside NAV, they're not included on a backup launched directly from the NAV client...

posted @ Monday, August 25, 2008 8:42 PM | Feedback (0)

Friday, August 22, 2008 #

SQL Server 2008 is out: is my platform supported?

With the official release of SQL Server 2008, this is the "hottest" question that customers are asking to us. If I'll plan to move under the new database engine, is my business ready for this new platform?

This is the answer for the products that we support:

  • Microsoft Office Sharepoint Server 2007 (MOSS) and Windows Sharepoint Services 3.0 (WSS) support SQL Server 2008 with their Service Pack 1 version (MOSS 207 SP1 and WSS 3.0 SP1). SP1 is also a requirement for installing MOSS 2007 and WSS 3.0 on Windows Server 2008.
  • Microsoft Dynamics CRM 4.0 runs with SQL Server 2008. However, sign this links:
  • Microsoft Dynamics NAV will officially supports SQL Server 2008 only from the 5.0 SP1 version. 5.0 SP1 has lots of interesting improvements with SQL Server that is a must for big installations.

posted @ Friday, August 22, 2008 1:47 PM | Feedback (0)

Thursday, August 21, 2008 #

No Certification Training Kits for Windows Workflow...

Some days ago Gerry O'Brien published on his official Microsoft Certification blog a summary of the planned Training Kits for Visual Studio 2008 and .NET 3.5 Certifications and their current expected release dates (plus some news about Training Kits for SQL Server 2008).

My surprise was to see that in this list there's a planned Training Kit for WPF, a planned Training Kit for WCF but no planned Training Kits for Windows Workflow. Fortunately Microsoft has planned also an exam for this new technology (Exam 70-504: TS: Microsoft .NET Framework 3.5, Windows Workflow Foundation Application Development) so why not having an official Training Kit?

Gerry was so kind to answer my request for the Windows Workflow Training Kits with these words:

Hi Stefano,

As stated in the posting, if it isn't listed there, then MS Press will not create one.

I don't work directly in MS Press so I can't provide the business reasons for the decision unfortunately.  As the certification Product Planner I would like to see supporting study material for all my exams but there are many factors that affect that decision.

I'm curios to know what are these business reasons... Maybe MS Press thinks that the Training Kit for Windows Workflow will have less revenue ($$) then the other .NET 3.5 technologies Training Kits?

I don't agree on this decision and I hope that in the future something will change... Windows Workflow is an interesting technologies and his MCTS title needs an official Training Kit.

I hope that others in the community will leave feedbacks to MS on this direction...

posted @ Thursday, August 21, 2008 12:24 PM | Feedback (0)

Monday, August 18, 2008 #

Finally WPF has its own Datagrid!

With the release of .NET Framework 3.5 SP1 & Visual Studio 2008 SP1 there's a silent present from Microsoft: the first release (CTP) of the WPF Datagrid.

In the past I've blogged few times about this request: WPF is a step to the future for the UI world, but the grid is (in my opinion) the better way to show certain types of informations.

The new WPF Datagrid (the official one ) seems really interesting and here you can have more details (Jaime Rodriquez has a EXCELLENT 3 part series on how to customize the DataGrid (Part 1, Part 2 & Part 3)).

Thanks a lot and long life to the grid...

posted @ Monday, August 18, 2008 6:55 PM | Feedback (0)

Thursday, August 14, 2008 #

Visual Studio 2008 SP1 and .NET Framework 3.5 SP1 enhancements

As usual, the Visual Studio SPx and .NET Framework SPx are not only "Service Packs" for bug fixes, but they contains lots of new features and improvements to the entire platform.

What is interesting to know:

The .NET Framework 3.5 SP1 delivers:

  • Performance increases between 20-45% for WPF-based applications – without having to change any code
  • WCF improvements that give developers more control over the way they access data and services.
  • Streamlined installation experience for client applications
  • Improvements in the area of data platform, such as the ADO.NET Entity Framework, ADO.NET Data Services  and extensive support for SQL Server 2008’s new features.

Visual Studio 2008 SP1 delivers:

  • Improved designers for building WPF applications
  • Full support for SQL Server 2008 (formerly known as SQL Server Katmai)
  • ADO.NET Entity Framework and ADO.NET Data Services tooling
  • Visual Basic and Visual C++ components and tools (including an MFC-based Office 2007 Style ‘Ribbon’)
  • Improvements to TFS to respond to customer feedback on version control usability and performance, improved email integration with work item tracking and full support for hosting on SQL 2008.
  • Improvements for Web development including richer JavaScript support, enhanced AJAX and data tools, and Web site deployment.

And there's an interesting aspect under the hoods:

with .NET Framework 3.5 SP1 now you can execute a managed code from a network location.

posted @ Thursday, August 14, 2008 2:54 PM | Feedback (0)

Monday, August 11, 2008 #

Blog updated...

After lots of months of waiting, Subtext 2.0 is here...

I was thinking that Phil was too busy in this period to work on the Subtext project, but I was wrong: Phil and his friends have released another interesting major release of this wonderful blog engine.

I've just finished the upgrade process and it was simple and clean as usual. Now this blog works on Subtext 2.0!

Thanks a lot guys...

posted @ Monday, August 11, 2008 11:02 PM | Feedback (0)

Sunday, August 10, 2008 #

NAV 2009: how to run a NAV object as a web service

One of the biggest improvements in the future NAV 2009 three-tier platform will be the possibility to run a NAV object (a table or a codeunit for example) as an XML web service. The final result is that you will have a platform ready to be extended and integrated with external systems. The biggest news is that now you can invoke the NAV logic also from the external world... this is fantastic and extremely powerful for every type of integration.

Directly from the NAV Developer Team, a brief explanation:

In NAV 2009, run form 810 "Web Services". Select either a page or a codeunit, then click "Publish". The page or codeunit selected is now published as a web service.

And, a few more details:

First of all, make sure to start the service "Microsoft Dynamics NAV Business Web Services". This is the service that handles web service requests. It runs from the same folder as the service "Microsoft Dynamics NAV Server", which handles requests from the new client.

Then check the application log, to
  1) Make sure that the service started OK
  2) See what port it is listening to
Currently, the service will listen to port 7047. But this has changed and may change again, so just check the application log for an entry like this:

Service MicrosoftDynamicsNavWS is listening to requests at http://[MachineName]:7047/[InstanceName].

Open your Internet browser and go to this site:
http://[MachineName]:7047/InstanceName/WS/CRONUS_International_Ltd./Services
The site name is built by taking the link from the application log (see above), and then adding /WS/[CompanyName]/Services
Note that in the company name, space is replaced with _ (underscore). In my case - running on a machine called TEST - the link is:

http://TEST:7047/InstanceName/ws/CRONUS_International_Ltd./Services

Your internet browser should now show a page like this:

- <discovery xmlns="http://schemas.xmlsoap.org/disco/" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema">

<contractRef ref=http://TEST:7047/InstanceName/ws/CRONUS_International_Ltd/SystemService xmlns="http://schemas.xmlsoap.org/disco/scl/" />

</discovery>

It lists just one service called SystemService. The next step is to add a service from NAV:

  1) Start a classic client, open Object Designer, and run form 810 "Web Services".
  2) Select Object Type = Page, Object ID = 21, Service Name = Customer Card, and tick "Published".

Go back to your internet browser and refresh, and you should see your new service.

To see details of this service, copy the link into the address bar of your browser - in my case:
http://TEST:7047/InstanceName/ws/CRONUS_International_Ltd/Page/Customer_Card

This shows you all interfaces to this service. You will notice that this web service exposes the fields from the customer card page. In addition to this, it exposes the following system functions:

Read
ReadMultiple
Create
CreateMultiple
Update
UpdateMultiple
Delete

These are the functions that are available on any web service which is based on a page.

As indicated by the available object types in form 810 "Web Services", you can base a web service on either a page or on a codeunit. So just repeat the steps above, but select "Codeunit" instead of "Page" in "Object Type" in form 810 to publish a codeunit.

A web service is a method of integration based on a common framework. So a developer who knows about web services can now use your NAV webservices to develop integration without knowing anything about NAV. When using a NAV web service, it will run the same triggers as if the page or codeunit was used from a NAV client.

posted @ Sunday, August 10, 2008 1:29 PM | Feedback (0)

Wednesday, August 06, 2008 #

SQL Server 2008 RTM

Today is the day: SQL Server 2008 is officially released to manufacturing and the first bits are available to download on MSDN Subscriber Downloads and TechNet Subscriber Downloads.

SQL Server 2008 has lots of interesting news for the enterprise and personally I'm excited about the new Reporting Services 2008.

As explained by Robert Bruckner, in Reporting Services 2008 you'll find:

  • Improved Report Designer in Business Intelligence Development Studio

  • Report Builder 2.0 (stand-alone report designer, currently available as feature pack RC0 download)

  • Author reports with any structure, using the unique Tablix grouping and layout capabilities.

  • Leverage the enhanced Textbox (aka "RichText") to define mixed formatting within the same textbox.  In addition, HTML strings of text can also be imported into the report from a database or other source.

  • Enhanced scalability and performance; more details covered in a previous posting.

  • Render reports to Microsoft Office Word format.

  • SharePoint Integrated Mode
    Integrate Reporting Services with Microsoft Office SharePoint Server 2007 for central delivery and management of business insight, or run it stand-alone in native mode.

  • Data Visualization
    Gain insight into complex sets of data by displaying data graphically with enhanced visualization capabilities (chart, gauge).

  • New on-demand report processing and rendering architecture, including a new RenderingObjectModel.

  • New and enhanced data source types (Teradata)

  • New memory configuration options in the report server

  • No IIS dependency.  HTTP.SYS and ASP.NET are now directly hosted within the report server.

  • New and enhanced Reporting Services Configuration Tool.

Enjoy!

posted @ Wednesday, August 06, 2008 8:46 PM | Feedback (0)

Tuesday, August 05, 2008 #

Installing Sharepoint on a Vista system: now you can!

In these days on my favourite RSS feeds list is appeared a new blog community, Bamboo Nation (Sharepoint oriented).

By checking their old posts, today I've discovered something wonderful and unbelievable: How to install Windows Sharepoint Services 3.0 SP1 on Vista x64/x86.

Basically, the Bamboo Solutions Team has put together an installer that allows you to install WSS3.0 SP1 on a Vista system. This is a dream for me...

Actually, one of the biggest problem for a Sharepoint developer is that if you want to develop something for Sharepoint, you need to work on a Virtual Machine with at least Windows Server, Sharepoint and Visual Studio installed. If you are like me, with a Vista pc where you do all your daily works, you can imagine the noise when you're forced to work with Sharepoint: stop all your non-useful running programs, turn on Virtual Pc (or VMWare), start your WSS Virtual Machine, open Visual Studio and start work. Bleah...

Now, you have the chance to have WSS running on your Vista machine, so no need to change environment for development.

At the time of this writing, I've not tryed this installed, but I've read interesting feedbacks and I think that this is one of my next scheduled activities for this week: I want to have Sharepoint running on my daily development machine!

The setup procedure seems quite simple (it's like a standard WSS setup on a server machine) and this is the result:

Wonderful...

posted @ Tuesday, August 05, 2008 10:07 PM | Feedback (0)

Thursday, July 31, 2008 #

I'm on space...

Join me to the trip...

certificate_border01a

Nasa

Send Your Name into Space with the Kepler Mission

Send Your Name to the Moon

posted @ Thursday, July 31, 2008 9:55 PM | Feedback (0)

Saturday, July 26, 2008 #

iPhone-ized...

Thanks to a friend, I succumbed to the iPhone temptation...

I had the chance to have this gadget to a favourite price and so now it's on my hand. Unfortunately I'm one of that person that is always with the phone on its hands, so I think that after some days of usage I can say something about the iPhone 3G as a business phone.

If you want to play songs, video, playing with photos etc., the iPhone is absolutely great... but this is not my usage for a phone, so I don't want to spend words in order to describe the "fun" functionalities of this device (it lacks MMS and video recording at the moment, strange at least for an italian user).

iPhone3G

What about business functionalities? A phone that suits my business must have:

  1. 1) Possibilites to manage emails and calendars, with sinchronization to corporate servers.
  2. 2) Good navigation experience
  3. 3) WiFi
  4. 4) Long battery life

These are the aspects that I use when I'm on travel or out of office. I need to be always connected to what happens to my work.

So... what about the iPhone on these aspects?

  1. 1) The iPhone now supports the Microsoft Exchange ActiveSync protocol and it permits you to deliver push email, calendar, and contacts. It works really well: when you receive an email to the corporate account or you (or someone on your organization) set an appointment to your calendar, the iPhone is immediately sinchronized over the air (Push support is wonderful). You're always connected to your organization. A wonderful Windows Mobile feature that is missing on the iPhone is the possibility to view the next scheduled calendar appointments on the phone main screen: on the iPhone there's not this feature. Emails are viewed with rich HTML format and you can zoom the contents as you want (for example, yesterday I was out of office and I've received an email with a print screen error message; with the iPhone I was able to zoom the email contents, read the error message and answer to my customer.). What is missing (or at the moment I was unable to find) is the possibility to search the emails. You can scroll the emails with your fingers but you can't search them for words.
  2. 2) Safari is absolutely wonderful... the iPhone gives you a fantastic navigation experience and it's able to display every web page you want (it works well also with Sharepoint sites). You can zoom the page content or a page section with your fingers and you can turn the browser landscape or portrait for a better navigation. This was a surprise for me: you can see websites exactly as you can see them on your pc.
  3. 3) WiFi support is excellent. If you've the WiFi turned on, the iPhone is able to connect to your network and use it instead of using UMTS. When I'm at home or I'm at office, I turn on the WiFi and the device automatically joins my network and use them for every Internet operation I do. If you're outside office and you want to reach a WiFi network, the device shows you the list of WiFi network available and you can choose what network to join with a finger click.
  4. Battery life is always a problem for the last generation of mobile devices. Modern devices have WiFi, 3G, large screens with lots of colors etc. and all these features are really battery consuming. The iPhone battery is not super but I think it's exactly like the most 3G devices on the market. Actually I can do 2 days without recharging but obviously this time depends a lot on your usage. What I really hate is that the iPhone has not a quick way to change the battery (and so having a second battery to use). A battery with a longest life would be wonderful.

Another lack of the iPhone is a good file manager, useful if you want to bring with you some important files.

After some days of usage I can say that the iPhone suits well my business needs but if you're more "complicated" than me, I think that Windows Mobile 6.x is always the best choice.

posted @ Saturday, July 26, 2008 12:55 PM | Feedback (2)