BNR exchange rates

Please select your desired exchange currency to see its chart and then modify the period range as desired. The default range is from 3 January 2006 until now.

For help you can go visit article »


Curs valutar BNR

Selectati valuta dorita pentru a vedea graficul ei si apoi modificati durata dupa dorinta. Perioada initiala este de la 3 ianuarie 2006 pina acum.

Pentru ajutor puteti vizita articol »

My work

jQuery-logo

jQuery – Newbie mistakes

0

Today is a lazy Sunday, so I will be quick. It happened to me. Newbie or not, for sure Saturday has its own way to throw it back to you. jQuery. Me lazy, zipping my coffee. Bad combination.

The code:

onLoad="$('#item_id').trigger('click');"

Nothing works. Why? My mind was lacking more coffee. Go and make some more.

Got coffee, inhaled it. Still no clue. Should work, right? No, it doesn’t! Leave aside IE, try Firefox! Suddenly, it works!

The solution is to move the code AFTER the jQuery was loaded, in a specific file or a script tag on the same page! Don’t forget, AFTER jQuery library was loaded! Otherwise, $ selector will not be available.

$(function() {
       $('#item_id').trigger('click');
});

Conclusion: there’s no life before coffee!

Conclusion 2: better more coffee than less!

 

jQuery-logo

jQuery – Syncronize two dropdown lists

0

One of the biggest problems in web UI is to synchronize page elements one upon each other, but by far the hardest is when dealing with multiple dropdowns. A good, clean User Interface is the key to your customer’s heart! This can be achieved in several ways, such as:

  • on the change of the first dropdown, a new page request is issued to the server, with the selected item as current item and the server will figure out which element(s) need to be selected in the subsequent synchronized dropdowns – old style, not so used anymore because it takes time and bandwidth to send and receive the complete page;
  • with AJAX - on the change of the first dropdown, a partial page request is issued to the server, with the selected item as current item; the server will figure out which element(s) need to be selected in the subsequent synchronized dropdowns; it returns just the relevant part of the page ( not a complete one like before); just this new part of the page will be overridden in the current page, creating the user the impression of “real time” action.
  • with jQuery, moving the logic of synchronization to the client side – the advantage is no bandwidth/time consumption, but a huge disadvantage is that the client (the browser) might have Javascript disabled. This concern, although low, might make your page not to work as expected.

jQuery - write less, do more!Today’s choice – jQuery

We’ll explore today the last option, using jQuery. For this we will consider two dropdowns, each one with 3 items. Our target will be simple today, we’ll change the second dropdown to reflect the first one’s selection. Let’s consider that our page contains the following fragment of code with these two dropdown boxes, first one containing the countries and the second their capital. (more…)

I am Senior Software Engineer in the Interplay MAM team at Avid company, Kaiserslautern branch.

Joined Avid Technology

0

On 1st of August 2011 I joined Avid Technology, Kaiserslautern branch as Senior Software Engineer. Another chapter in my professional life opens, now as a full time employee of an German branch of a United States company. After I finished my master and presented my master thesis, I am glad that now I will work only 8 hours per day!

What I will do there? Since I will work on the core of Interplay MAM, I will extensively use the ASP .Net framework, WCF, JQuery and Microsoft SQL. The team does not only that, but also maintains and updates additional administrative tools, so I will put in practice also Silverlight, WPF, Windows Forms skills. Not to mention that the company’s culture promotes in-house training and workshop presentations!

 

Breiny – Master thesis application

1

Yesterday I did the last step in my Media Informatics master endeavor: I presented my master thesis. After quite a few months of development on the Microsoft Surface, the application that resulted was a good start for a (possible) commercial product.

We started from the idea that a multitouch table device would offer more space, possibilities and opportunities to improve the collaboration and communication in the brainstorming phase of any project. This evolved very much during the development and conceiving the master thesis. It became a tool which not only supported and enhanced collaboration, but also, to name a few:

  • offered clues gathered from Twitter and Flickr images,
  • free drawing and sketching,
  • text input using the virtual keyboard,
  • audio recognition features,
  • save / load of session,
  • integration with a CRM, serving as repository;
  • user-friendly navigation in sessions using also the CRM repository interface.
Come back later or subscribe by e-mail/RSS, there might be other announcements on the availability to try / purchase this application.

 

Master thesis – Conclusions

0

This article presents an overview of my Master thesis. It summarizes the work by presenting the contributions to the research field and also the future work based on the already created prototype. The Breiny application is meant to support the Brainstorming process by using computers in a modern way – Natural User Interface. After creating the prototype, a User Evaluation was used to prove or disprove the theoretical hypotheses.

In the Related work is presented the relevant work on which my master thesis relyies on and the systems that are the basis for comparison with the developed prototype. It considers several already available collaboration and brainstorming systems and compares their features with the proposed Framework for analysis. As a conclusion of the chapter, none of the considered systems fulfill all the requirements from the proposed Framework. (more…)

Read more on RaduPoenaru.com about ASP .Net MVC

ASP .Net MVC – patterns of the Microsoft framework

0

Read more on RaduPoenaru.com about ASP .Net MVC

These days I decided to dig a little more into ASP .Net MVC. At a first glance, resembles very much with Ruby on Rails - although same idea, I find it more close to my stile. Maybe I am biased towards it because I am already working on Microsoft stack for the last 9 years. The framework is created by Microsoft employees and it is freely available for download, including sources, on Codeplex. That says pretty much about the open source initiative inside Microsoft. Bravo!

Another thing that I liked a lot is the fact that in order to start development, using a freshly installed machine or one without any Microsoft development tools, one needs only to download and install Web Platform Installer, which will continue with the tools download and all the required settings. The developer can grab a cold beer and check his mail or start learning about the Microsoft’s MVC implementation.

Yes, it is the Microsoft supported implementation of a well known pattern by several of its employees, started and continued as an opensource initiative.

The original MVC pattern

The pattern was created at the end of seventies by Trygve Reenskaug, who was part of the research team at Xerox PARC, as part of the Smalltalk system. The pattern is quite simple and separates the key components of a system into 3 distinctive areas (quoted from Wikipedia):

In addition to dividing the application into three kinds of components, the MVC design defines the interactions between them.[8]

  • controller can send commands to its associated view to change the view’s presentation of the model (e.g., by scrolling through a document). It can also send commands to the model to update the model’s state (e.g., editing a document).
  • model notifies its associated views and controllers when there has been a change in its state. This notification allows the views to produce updated output, and the controllers to change the available set of commands. A passive implementation of MVC omits these notifications, because the application does not require them or the software platform does not support them.[9]
  • view requests from the model the information that it needs to generate an output representation.

The Microsoft version – ASP .Net MVC

Among all flavours of MVC and its brothers (Model View ViewModel, Model–view–adapter, Model–view–presenter, Observer pattern, Presentation–abstraction–control, Hierarchical model–view–controller), the Microsoft implementation of the pattern in .Net MVC framework is based on Front Controller pattern and Model 2 patterns ["Programming Microsoft ASP.NET MVC" by Dino Esposito]. Front controller pattern involves a centralized dispatcher that handles all incoming requests towards a component in the pipeline to service that request. Since we’re in patterns area, closely related is the Page Controller. As opposed to Front Controller, the Page controller (implemented in WebForms) manages the incoming requests on URL basis = the reuse of the code is quite limited. Thus, you have to create and maintain several individual pages and their underlying logic as opposed to focus on a central controller and several views which will be used and reused as necessary.

Difference between Page controller and Front controller patterns

See original image and article on http://www.developerfusion.com/article/9450/controller-patterns-for-aspnet/

Read more on RaduPoenaru.com about ASP .Net MVC

Overloading methods in ASP .Net MVC

0

Read more on RaduPoenaru.com about ASP .Net MVC

Today is another ASP .Net MVC day, and as always, I encountered a challenge. Being so used with overloading methods from OOP, I asked myself what if I would do the same with the Controller’s. The sad answer is no, you can’t have two methods with the same name and SAME verb to which they will respond. The rational is simple – routing engine tries to map the request for a controller, and then will try to get the action and the verb. Since there are two methods with the same verb, you run into trouble! Let’s examine a little bit the problem and see several workarounds.

The problem

The compiler will show “Type YourController already defines a member called YourAction with the same parameter types” in the following example:

[HttpPost]
public ActionResult Show()
{
  // implementation
}

[HttpPost]
public ActionResult ListOrders( string userName )
{
  // implementation
}

Solutions – ASP .Net MVC 3

1. Just change for a method the request verb that will map it to a certain route – be careful to change also the calls to this action!

[HttpGet]
public ActionResult ListOrders()
{
   // implementation
}

2. Another alternative would be to keep the name of the method, but decorate it with ActionName. This will map the method (valid both as name and signature for .Net, but invalid for .Net MVC framework) with another name. But be careful at the route, which will not map on the name of method, but rather on the name from the ActionName parameter:

[HttpGet]
public ActionResult ListOrders()
{
   //implementation
}

[HttpGet]
[ActionName("ListOrdersForCustomer")]
public ActionResult ListOrders( string userName )
{
   // implementation
}

3. Create a single action method which will be responsible with both use cases, switching between them on the incoming Request type:

[HttpGet]
public ActionResult ListOrders( string userName = null)
{
   // OPTION 1 - handling by request type
   if (Request.HttpMethod.ToUpperInvariant() == "GET") {
    // do the get handling
   }
   else if (Request.HttpMethod.ToUpperInvariant() == "POST") {
     // do the post handling  
   }

   // OPTION 2 - handling by optional parameter
   if ( !String.IsNullOrEmpty( userName ) ) {
    // do the parameter handling
   }
   else {
     // alternate handling  
   }
}

More about how an method becomes an action you can read in Phil Haack’s blog, one of the main contributors of the ASP .Net MVC frameworks.

004

Master thesis – User evaluation

1
Be careful when copying information from this article! The paper is already published and you will be charged with plagiarism!

The Users for the first session were 5 males and 1 female, with age ranging from 27 to 49. For the second, there were 4 males with age ranging from 26 to 52, with significant Brainstorming sessions experience, using Mind-mapping software, whiteboard computer based systems. The room setup consisted from a large space around Surface, with chairs surrounding it. All users were in the Contributor role and they had the opportunity to switch to Session Master any time. The application was started, with no Brainstorming Ideas on the tabletop.

The Evaluation session started with the Prototype presentation. This was targeted only on the User Interfaces, explaining how and which actions can be performed with each area of interest (UserControls and Main SurfaceWindow from Implementation Chapter). The users were encouraged to experience the interface and ask questions during the presentation, in order to understand better the interaction with the prototype.

Following the presentation phase was designed as a game, in order to exercise the prototype’s interface and evaluate the system and its features. The game was built around a imaginary, newly created, travel agency. The participants should create the company’s portfolio in a Brainstorming session, composed from the four phases (scenarios) presented in Typical use cases. They were disclosed one by one, in order to not affect the brainstorming process.


(more…)

Master thesis – Theoretical evaluation

0
Be careful when copying information from this article! The paper is already published and you will be charged with plagiarism!

The theoretical evaluation of the thesis work starts with by assessing in which measure the research questions were answered by the proposed concept. Then, the analysis will focus on the comparison of the implemented prototype’s features with the ones presented in Related work, in order to see which ones were implemented and how the prototype’s features map on the array of desired ones. Finally, this chapter will conclude with a matrix in which the implemented functional requirement are marked, giving a final overview on the capabilities of the prototype to fulfill all the requirements stated in Requirement elicitation. (more…)

Master thesis - Breiny Class Diagram

Master thesis – Implementation of Breiny

4
Be careful when copying information from this article! The paper is already published and you will be charged with plagiarism!
The prototype’s architecture implementation

The architecture was already presented in the Prototype application architecture and now we’ll see the actual implementation. The prototype implementation tries to follow as close as possible the recommended architectural patterns and guidelines. To support the argumentation, a class diagram will be presented to give a visual orientation through the prototype implementation presentation.

The built prototype supporting Brainstorming Sessions on Microsoft Surface, further named Breiny, was developed as part of this thesis and uses all the above framework features. Thus, it is creating the basis for future work by being flexible in development yet fully packed with features.

Master thesis - Breiny's Architecture

Breiny’s class diagram

(more…)

Go to Top