jVectorMap
06 Αυγούστου 12 12:21 μμ | spantos | 0 σχόλια   
Before HTML5 when it came to creating rich interactive maps where one could hover or click any region and see details about them, Flash was the right tool for the job. Right now, though, it is much easier to create maps with JavaScript and, thanks to JS frameworks, it even gets much simpler and jVectorMap [...]
Δημοσίευση στην κατηγορία: , ,
Privacy Policy Generator
23 Ιουλίου 12 12:25 μμ | spantos | 0 σχόλια   
For those of you that built Windows 8 applications one thing you’ll find out (probably the hard way as I did) is that you’ll need a Privacy Policy in order to publish your app to the Windows 8 app store. So if you don’t currently have those legal documents Termsfeed will come very handy as [...]
Δημοσίευση στην κατηγορία: ,
Icons for metro UIs
23 Ιουλίου 12 11:54 πμ | spantos | 0 σχόλια   
If you’re into metro development (windows phone or Windows 8) I’m sure you’ll appreciate another set of cool mono-colored very simplistic yet beautiful icons. iconmonstr offers a set which includes over 600 items with multiple variations for almost each element. Icons are mostly focused for web apps as most of them are actions, charts, badges [...]
Δημοσίευση στην κατηγορία: , ,
Fast Multidimensional Filtering for Coordinated Views
16 Ιουλίου 12 04:25 μμ | spantos | 0 σχόλια   
Crossfilter is a JavaScript library for exploring large multivariate datasets in the browser. Crossfilter supports extremely fast (<30ms) interaction with coordinated views, even with datasets containing a million or more records; Since most interactions only involve a single dimension, and then only small adjustments are made to the filter values, incremental filtering and reducing is [...]
Δημοσίευση στην κατηγορία: ,
Welcome to a more beautiful web
10 Ιουλίου 12 01:43 μμ | spantos | 0 σχόλια   
Δημοσίευση στην κατηγορία:
TechEd 2012 wrap up
09 Ιουλίου 12 12:07 πμ | spantos | 0 σχόλια   
Last week I attended TechEd Europe 2012 held in Amsterdam. This was my 6th TechEd but my first time in Amsterdam and the experience was, as always, great. Although there weren’t any announcements (the announcements were made earlier this month) most of the content presented had something new to teach, a small surprise for every [...]
Δημοσίευση στην κατηγορία: , ,
Events Content
04 Ιουλίου 12 12:33 πμ | spantos | 0 σχόλια   
A couple of weeks back I had the chance to speak at a Microsoft Dev Day event about all the cool new features announced for windows azure June release and especially those that had to do with IaaS. The room was packed and everyone seemed very interested on these long awaited new features. I had [...]
Δημοσίευση στην κατηγορία: ,
Meet Windows Azure
16 Μαΐου 12 04:58 μμ | spantos | 0 σχόλια   

Yesterday I had the chance to speak about windows azure at a Microsoft Azure camp event. People seemed very exited and stayed till late in the evening asking questions, writing code and publishing services to the cloud. Attendees also showed great anticipation for the spring release, and the future of the platform. So when I saw the announcement of the Meet Windows Azure online event this morning I thought “…damn missed that for a day, I could have let everyone know yesterday about the release date” Smile

Anyway this is something that you should not loose, register now and find out what’s the future of Microsoft’s cloud platform.

image

Δημοσίευση στην κατηγορία:
Bring your data to any app, any platform, any device
05 Μαΐου 12 10:55 μμ | spantos | 0 σχόλια   

Five years ago my primary hard disk failed taking some of my precious data like family pictures, videos, personal files and code away for ever. I was able to recover some but had to pay a hefty fee to the service guys. After the “melt down incident” I’ve decided to keep triplicates of my data to 2 more disks to avoid this from ever happening again. Setting this up though was quite a pain since I use a laptop and I’m constantly on the move, so I had to remember to sync everything the minute I got home to avoid losing anything.

From time to time I considered moving my data to the cloud to avoid all the hassle and worries of syncing the data but to also be able to access those from where ever I was. There were a couple of services I’ve looked at but two things were keeping me from going through with this, the price, and the trust (not that someone would steal my data – who would care about my children photos after all, but what happens if the company is sold, closes, its hardware fails and so on).

Microsoft’s SkyDrive would have been the perfect solution for my problems, it was free (now it’s very cheap - free for 25GB and 100$/year for 125GB) and I could trust Microsoft with my data, but it didn’t have a desktop client that would automatically sync those to the cloud, well… that is till last week. Last week Microsoft released preview versions of SkyDrive for Windows and Mac, along with updates for iOS and Windows Phone. With SkyDrive on my desktop, I can now store and access files in the cloud right from any of my PCs or anywhere in the world and not worry of loosing anything.

But that’s not all, what’s most important is that together with the release of SkyDrive desktop app Microsoft released a set of REST based APIs - the next version of the Live Connect APIs and the newly created Live SDK that can be consumed by any platform and device bringing my data to all my devices Desktop, Windows 8 Tablet and Windows Mobile Phone 7.

0654_User_Content_Model_thumb_05057890

Here is a sample HTTP request to retrieve a list of a user’s entire set of folders in SkyDrive:

GET https://apis.live.net/V5.0/me/skydrive/files?access_token=ACCESS_TOKEN 
HTTP/1.1
User-Agent: Fiddler
Host: apis.live.net 

The above request returns the following JSON result set for my SkyDrive account: 

{"data": 
 [{
    "id": "folder.616444ee7a34f417.616444EE7A34F417!12045",
    "from":{"name": "Dare Obasanjo",
    "id": "616444ee7a34f417"},
    "name": "Wave 4 Feedback",
    "description": null,
    "parent_id": "folder.616444ee7a34f417",
    "upload_location": "https://apis.live.net/v5.0/folder.616444ee7a34f417.616444EE7A34F417!12045/files/",
    "count": 14,
    "link": "https://skydrive-df.live.com/redir.aspx?cid=616444ee7a34f417&page=view&resid=616444EE7A34F417!12045&parid=616444EE7A34F417!1967",
    "type": "album",
    "shared_with":
    {
       "access": "Everyone (public)"
    },
    "created_time": "2010-07-14T13:28:48+0000",
    "updated_time": "2011-07-18T03:40:07+0000"
 }
]} 

Uploading files is similarly straightforward. Applications can use either HTTP PUT or POST requests to upload documents, photos or videos to SkyDrive at the folder’s upload location. It should be noted that not all file formats are supported for upload to SkyDrive.

Below is an example of uploading a text file using HTTP PUT:

PUT https://apis.live.net/v5.0/me/skydrive/files/HelloWorld.txt?access_token=ACCESS_TOKEN 
Hello, World! 

and here’s what the same upload looks like using HTTP POST:

POST https://apis.live.net/v5.0/me/skydrive/files?access_token=ACCESS_TOKEN 
Content-Type: multipart/form-data; 
boundary=A300x
--A300x
Content-Disposition: form-data; 
name="file"; 
filename="HelloWorld.txt"
Content-Type: application/octet-stream 
Hello, World!
--A300x--

These are just a few examples of how easy it is to interact with SkyDrive using nothing but regular HTTP. Other operations such as editing, copying or sharing files are similarly straightforward. For an easy way to try the Live Connect REST API for yourself, visit the interactive SDK.

So what do you think, ready to write your application using SkyDrive as the storage engine?

Cloud Ninja Multi-Tenant Metering Block (CNMB)
02 Μαΐου 12 02:30 μμ | spantos | 0 σχόλια   

One of the challenges any company faces when developing multi tenant applications based on Windows Azure is how much will the tenant be charged for the services offered. The problem is more apparent in cases where the customer is not charged with a fixed monthly rate but according to the service usage (pay as you go model). Till today one had to manually track and monitor service consumption in order to be able to establish each tenant cost and adjust the billing accordingly.

meteringToday though the Azure ISV team in DPE announced public availability of Cloud Ninja Multi-Tenant Metering Block (CNMB).  CNMB enables SaaS ISVs to meter tenant-level consumption of various Windows Azure resources such as bandwidth, storage, SQL Azure, and compute.  CNMB provides tenant-level meters, application level aggregates, rich query model based on OData, extensibility to implement customer meters.  It comes with out-of-box meter providers for bandwidth, storage, SQL Azure, and compute.  In future CNMB will add providers for Tomcat and CDN.  Also it is very easy to write custom provider if ISV wants to meter application specific resources.  CNMB includes an HTML5 portal to visualize tenant and app level usage.  But all data can be queried using OData API, which enables interesting mash-ups in PowerPivot and integration with external systems like billing. 

mettering2You can try Live Demo here and download full source code from CodePlex.  The live demo is currently metering our Cloud Ninja application.  When you try the demo, check out links on home page to app-level, tenant-level usage, PowerPivot dashboard, and OData feed.

CNMB is:
1.    Easy to Use: CNMB works with existing multi-tenant SaaS application in a non-intrusive manner.  It needs simple configuration to point to SaaS application’s storage account and SQL Azure database and simple regular expressions to associate tenants with resource consumption. 
2.    Economical:  CNMB can be deployed in a single web role, which hosts UI, Web Services, and metering workers.  Data schema is optimized so that 1GB SQL Azure database can hold an entire year’s worth data for thousands of tenants.
3.    Standards Based: All data in and out is via authenticated OData API.  OData allows rich query model on top of meter data.  We support both JSON and Atom payloads.  This enables 3rd party apps like PowerPivot and external systems like billing to consume meter data through industry standard API.
4.    Extensible: CNMB has multiple levels of extension points from writing your own tenant resolver, defining customer meters, and developing customer meter providers.

Another great tool added in our arsenal to help us maximize our cloud usage benefits by adopting the Multi-Tenant model for our applications.

Δημοσίευση στην κατηγορία: ,
Windows Azure Media Services announced
16 Απριλίου 12 06:37 μμ | spantos | 0 σχόλια   

Today I’m really excited as Microsoft announced Windows Azure Media Services, a new collection of PaaS services coming soon to Windows Azure.  Windows Azure Media Services simplifies the creation, management, and delivery of media to almost any device including Microsoft Xbox, Windows Phone handsets and Windows PCs, as well as non-Microsoft platforms such as smart TVs, set-top boxes, MacOS, iOS, and Android.  Content providers and media partners can take advantage of the cost benefits and cloud capacity found with Windows Azure, and provide customers massive amounts of digital media in the variety of formats they require, when they require it.  Windows Azure Media Services’ ready-to-use services allow customers to simplify the creation of complex media workflows built on the Microsoft Media Platform and third-party technologies.

For additional details on today’s announcement, please take a look at the following resources:

Can’t wait to get my hands on this and start testing.

Δημοσίευση στην κατηγορία:
Patterns &amp; Practices Symposium
19 Μαρτίου 12 05:34 μμ | spantos | 0 σχόλια   

Windows-Live-Writer_Join-us-online-on-April-24-for-the-patte_EEC6_image_7

Microsoft patterns & practices symposiums are held regularly in the U.S. and abroad, with top speakers on current topics. Most of the speakers are from Microsoft patterns & practices (p&p) team. The event is aimed primarily at software architects, developers, and technical managers. Patterns & practices develops applied engineering guidelines to help software developers and architects build great solutions on the Microsoft platform.
The April 24th online p&p symposium program 2012 will include keynote sessions and technical sessions focusing on building scalable applications in Azure, mobile development, node.js, CQRS, .NET Gadgeteer and a general overview of p&p roadmap.*

Planned Schedule: *

schedule

All sessions will be streamed live, but we will also record them all for those unable to attend the event.

* Currently planned and approved sessions. Topics and times subject to change. All times pacific.

Twitter hashtag #pnpsym

Δημοσίευση στην κατηγορία: ,
Patterns & Practices Symposium
19 Μαρτίου 12 05:34 μμ | spantos | 0 σχόλια   
Microsoft patterns & practices symposiums are held regularly in the U.S. and abroad, with top speakers on current topics. Most of the speakers are from Microsoft patterns & practices (p&p) team. The event is aimed primarily at software architects, developers, and technical managers. Patterns & practices develops applied engineering guidelines to help software developers and [...]
Δημοσίευση στην κατηγορία: ,
WM7.5 Hackathon
19 Φεβρουαρίου 12 11:32 μμ | spantos | 0 σχόλια   

image

This weekend I had a chance to participate in the first Athens Windows Mobile 7.5 Hackathon. This was the first time Microsoft hosted an event that aimed in helping and encouraging developers in building actual applications and I have to say that I was really impressed with the participation and outcome.

I’m guessing that more than 150 developers patiently attended the whole two days event, listened to 20 mini tutorial style sessions and finally 32 of them came up with very interesting ideas and application for the windows mobile platform, although some of my favorite applications didn’t make the top 6 (I guess my criteria are different from the judging committee one’s Smile).

If you didn’t make it, you can catch a glimpse of what happened from the following image gallery.

I was assigned three slots where I presented

  • Application Bar & System tray
  • Isolated Storage
  • Launchers and Choosers
  • Live Tiles & Push notifications

You can find the slide decks as well as the demo code I used here:

Δημοσίευση στην κατηγορία: ,
Memory management in .Net
17 Ιανουαρίου 12 07:03 μμ | spantos | 0 σχόλια   

MemManagement

taken from http://www.red-gate.com/products/dotnet-development/ants-memory-profiler/learning-memory-management/memory-management-poster

Δημοσίευση στην κατηγορία: ,
Catching up
31 Δεκεμβρίου 11 08:28 μμ | spantos | 0 σχόλια   

A lot has been going on for the past couple of months that prevented me from keeping this blog up to date, so I feel it’s time to do some catching up and let you all in on some of the cool things that I’ve been involved with since my last post back in September.

This is going to be an ongoing list that’s going to be updated as soon as posts get published, so stay tuned for updates..

September 2011

Build Windows Conference

October 2011

ArabGames 2011 Info System

November 2011

Annual Digital Dialogue Microsoft 2011

PaoBC Azure Deployment

ITProDevConnections 2011

CloudCom International Conference Azure Presentation

December 2011

AskADev intervew

Three day Azure Workshop

Azure Web Camp

Δημοσίευση στην κατηγορία:
Enterprise Library Integration Pack for Windows Azure Announced
31 Δεκεμβρίου 11 06:17 μμ | spantos | 0 σχόλια   

One of the questions I always got when presented Windows Azure “..is there a way to auto scale our windows azure based services?” with the answer being that unfortunately one will have to build its own custom logic for that at least till Wasabi is released.

Well the wait is over, the final release of the Enterprise Library Integration Pack for Windows Azure is now available, according to the blog post, “Announcing the Enterprise Library Integration Pack for Windows Azure with Autoscaling, Transient Fault Handling and more”, which posted last Friday to Microsoft Senior Program Manager Grigori Melnik’s “Thoughts on Agile Software Engineering and Beyond” blog.

According to the blog post, this release includes a comprehensive set of technical content, including:

  • Two new application blocks:
    • Autoscaling Application Block (“Wasabi”) to help you to automatically scale both web and worker roles in Windows Azure by dynamically provisioning/decommissioning roles or throttling.
    • Transient Fault Handling Application Block (“Topaz”) to help you make your Windows Azure application more resilient to transient errors when you are using these cloud services: SQL Azure, Windows Azure Storage, Windows Azure Caching, and Windows Azure Service Bus.
  • One new configuration source:
    • Blob configuration source to load configuration information from a blob in your Azure Storage account so that you can modify it without having to redeploy your application to Windows Azure.
  • Windows PowerShell cmdlets to browse and manipulate the Autoscaling Application Block settings directly from Windows PowerShell.
  • Protected configuration provider to allow you to encrypt sections of your configuration files in Windows Azure.
  • Updated database creation scripts so that you can migrate your code using the database trace listeners of the Logging Application Block and the Caching Application Block.
  • A substantial collection of experience guidance help you ramp up quickly, including:

The recommended way to obtain the Enterprise Library Integration Pack for Windows Azure is as NuGet packages. You can also download self-extracting zip files with binaries, sources (including tests) and the reference implementation from MSDN. The configuration tool is available as a Visual Studio extension package (VSIX) from the Visual Studio Gallery.

Rejoice …

Δημοσίευση στην κατηγορία:
Speaking at ITProDevConnection 2011
10 Σεπτεμβρίου 11 01:08 πμ | spantos | 0 σχόλια   

WebSiteLogoV3If you liked the IT Pro | Dev Connections 2010 ... get ready to upgrade to version 2011! The technical community of Greek IT professionals, autoexec.gr, in cooperation with the relevant community of developers, dotNETZone.gr, are joining forces once again and will present an event with five parallel catting edge technical tracks!

The event is exclusively focused on professionals and developers who don’t want to lose time in presentations of products with information that can be found on the Internet.

I’m also going to participate in the event with a talk which is going to be titled

The Producer(s) - the most outrageous $1.000.000 scheme in the annals of... Windows Azure”

Here’s a small teaser of where the idea came from Smile (more will follow)

Looking forward to seeing you there at the 26th and 27th of November 2011 in the Educational Centre of the National Bank of Greece!

Δημοσίευση στην κατηγορία: ,
www.meteo.gr adopts Silverlight Bing maps
04 Ιουνίου 11 07:07 μμ | spantos | 0 σχόλια   

BingMapsOne of the projects we had the chance of working with a while back, but hadn’t gone live due to licensing and policy reasons, finally made it and is now publicly available at www.meteo.gr/bingmaps/.

We had a lot of fun in this project as there were a few challenges we had to overcome, let me give you the insights on one of them to get an idea and possibly help your future Bing maps projects Smile.

The biggest challenge we faced was how we were going to draw Contours over the map. To that end we read the very useful Practical C# Charts and Graphics book and found out all about Triangulation a technology widely used in Topography. Using Triangulation we’ve eventually developed a solution, only to find that it didn’t work as expected. The algorithm was correct, but when dealing with millions of points to draw shapes (vector graphics) over Bing maps performance degraded rapidly and this was unacceptable.

So next we thought that instead of drawing shapes over the map, it would be faster if we could just place another tile layer over the map, where all shapes would be pre-rendered. We were right the navigation was very fast but generating the Tiles still took very long and consumed a lot of resources which was a problem. The algorithm was still very complicated.

TileGenerationFinally, Dimosthenis had a very cool idea, that solved our problem. Since the data points are so close to each other, if we just drew a small rectangle (as you shown in the image) with the appropriate color for each point, the rectangles’ edges would create an area that with the proper imaging ease function would appear as a contour. We’ve started working on it and it truly not only drastically reduced the tile generation but also the result was very satisfying.

We hope you like it and use it.

Δημοσίευση στην κατηγορία:
Techaholics part of Windows Azure Early Adopters
29 Μαΐου 11 04:56 μμ | spantos | 0 σχόλια   

KathimeriniAs our company motto clearly suggests we are addicted with technology, whenever a new technology is introduced we’re the first to check it out and use it in our software. So when Microsoft announced its Cloud Computing platform, we almost immediately started exploring it. It didn’t take us long to see the huge business opportunity, so we’ve decided that we’re also all in Smile.

We’ve started working on making all our software Cloud Enabled. We’ve worked hard, hit a few walls, had fun, learned a lot, managed to earn the MVP (Most valuable professional) award from Microsoft on Windows Azure and were able to produce ContentCommander.

ContentCommander is an enterprise level Content Management and E-Commerce platform that is the first in Greece (and among the few rest in Europe) that fully supports Microsoft Windows Azure. It’s designed using the ten year accumulated experience of working with similar systems discovering their strengths and weaknesses and built with a clear focus and target on cutting edge Microsoft Technologies.

Today we were very happy to see that our efforts on the particular area, were recognized by Microsoft in a full page article at the economy section of one of the largest Greek Newspapers, namely Kathimerini.

Δημοσίευση στην κατηγορία:
Windows Azure DevDay material
26 Μαΐου 11 01:06 μμ | spantos | 0 σχόλια   

Yesterday I had the chance to talk about the Microsoft Windows Azure platform for a Microsoft hosted developers’ event called devdays.

I met and had a chance to chat with a lot of new faces which was very inspiring, as this means that more people become interested about cloud computing and Microsoft’s offering in this area, as time passes. What is more interesting is that many of them did not come from a Microsoft Computing background.

For those of you that couldn’t make it yesterday, I’m posting

my slide deck

and demos

Soon you’ll also be able to watch the recorded session from www.techdays.gr

Δημοσίευση στην κατηγορία: ,
MVPs vs Blue badgers
11 Μαΐου 11 12:03 πμ | spantos | 0 σχόλια   

Are you anxiously waiting this years Champions League final game between Barcha and MU? Well this doesn’t even come close to the ultimate football game of the year.

mvps

Can’t wait to see Messi, Iniesta, Xavi, Rouney, Giggs and Nani? Why bother, when you’ll get the once in a lifetime chance to see stars like djsolid, hyper-vangelis, spantos, ipplos, gvarakis, dstellakis, grandpa and others on the field.

Don’t miss it!!!

Δημοσίευση στην κατηγορία:
Exception handling! #FAIL
05 Μαΐου 11 06:42 μμ | spantos | 0 σχόλια   

CaptureHow do you handle exceptions in your live web app?

Windows Event Logs?

Log files on the web server?

Log tables on a relational database?

Are you using an exception handling framework?

Of course not….. why bother when you can let your users know what the exception was and how they can exploit it to bring your system down?!!!!!

Δημοσίευση στην κατηγορία:
WindowsPhone 7 DevDay
30 Απριλίου 11 12:26 μμ | spantos | 0 σχόλια   

I had the chance to speak at a Microsoft event this month (on April 6th) about the new mobile phone development platform unfortunately and due to my blog maintenance I wasn’t able to blog about it. Now that everything is back in order though, I can let you know about it and share some of the event’s content with you.

The event had three sessions and a demo fest where developers presented their applications.

On the first session Dimitris Gkanatsios gave an intro to the platform and spoke about the Pivot control, sensors (GPS, Accelerometer, Vibration), HTML parsing, WCF, Media Library, Navigation, Launchers and choosers, Isolated Storage and briefly talked about the market place and how can someone upload an application.

On the second one I got to speak on more advanced topics like Data Binding, Panorama Pages, RSS, Video, Notifications, Application Bars, Application Lifecycle, and the Web Browser control. You can find my slide deck here.

The third session was about XNA and how someone can use it to build killer gaming apps in 2D and 3D for WP7and was given by Ioanins Panagopoulos.

In the demo fest slot I got the chance to speak about the news application I’ve developed for www.zougla.gr that is going to be published really soon.

FrontPage

Categories

Publications

CategoryStories

If you missed the event, don’t worry you can still watch most of the sessions videos at www.techdays.gr really soon.

Δημοσίευση στην κατηγορία: ,
Windows Azure appFabric Caching Released
29 Απριλίου 11 12:48 μμ | spantos | 0 σχόλια   

Microsoft announced today that the Caching service has been released as a production service.

The Caching service is a distributed, in-memory, application cache service that accelerates the performance of Windows Azure and SQL Azure applications by allowing you to keep data in-memory and saving you the need to retrieve that data from storage or database.

There are going to be 6 different cache size options for you to choose from, varying from 128MB to 4GB.

The prices of the different cache sizes are the following:

· 128 MB cache for $45.00/month

· 256 MB cache for $55.00/month

· 512 MB cache for $75.00/month

· 1 GB cache for $110.00month

· 2 GB cache for $180.00/month

· 4 GB cache for $325.00/month

In order for you to be able to start using the service and evaluate your needs though, there is a promotional period in which you will not be charged for the service for billing periods prior to August 1, 2011.

The service is billed on a monthly basis, based on the cache size you sign up for. You can also sign up for more than one cache and use these multiple caches in order to get a total cache size that is different or bigger than the standard cache sizes we provide.

To learn more about the Caching service please use the following resources:

· Windows Azure AppFabric Caching availability announced!! blog post

· Video: Introduction to the Windows Azure AppFabric Cache

· Video: Windows Azure AppFabric Caching – How to Set-up and Deploy a Simple Cache

· Windows Azure AppFabric FAQ on MSDN

· MSDN Documentation

You can access the service at: http://appfabric.azure.com.

Δημοσίευση στην κατηγορία:
Περισσότερες Δημοσιεύσεις « Προηγούμενη - Επόμενη »

Search

Go

Το Ιστολόγιο

Ιστορικό Δημοσιεύσεων

Συνδρομές