Lately I’ve been toying with AngularJS and I wanted to share my findings in a short practical presentation. I will be building a small SPA (single page application) with AngularJS and run through the most commonly used directives and features of the framework.
If you are in Bucharest on 8th of December, after work (19:00) drop by and have a look The presentation will be in the ADCES group, the location being Electronic Arts (AFI Park 2).
Entrance is free, just register on this event either via Facebook or via Meetup. Hope to see you there
PS: Did I tell you that we’re having beers afterwards?
I held a presentation at UBISOFT Buchares headquarters for the RONUA local programmers user group recently as I’ve announced earlier.
Here’s the contents, step-by-step, final code and slides.
————- [scroll way down for the downloads]
I was recently tasked with rewriting an app component by leveraging Reactive Extensions. I knew little about Rx (the short form of Reactive Extensions) and all I remembered was that it has two interfaces IObservable and IObserver and it seemed dull at that time.
Basically the component enables search without needing to hit ENTER or a “Go!” button, although provides for these. After the user finishes typing an async request goes to the data store and searches for the phrase entered and fetches the results. In the original implementation the component used a lot of timers, event handlers, private fields all making up a nice spaghetti bowl of code.
Let’s do this step by step and see how our little (demo) app develops. Fire up Visual Studio 2012 and start a new WPF project (.NET 4.5 preferrably). The very next thing we’ll install Rx. Right click on the project in the Solution Explorer and select “Manage NuGet Packages” (you can also use the Package Manager Console if you like it better). Search online for “Reactive Extensions”.
In the result lists (this requires a functional internet connection) select ‘Reactive Extensions – WPF Helpers‘ (the nice thing about NuGet packages is that it automatically resolves and installs all the dependencies). Accept the license(s) (you know what’s the most common lie told these days? “I have read and accepted the terms of the license” ).
In our demo we will use Bing as the data store which we’ll target through our searches (sorry, Google was too difficult to setup, offered less search requests per month and no C# demo code. Thanks Google, thanks again.). In order to do this you will need a Microsoft Account (I guess we all have one these days). Go to http://www.bing.com/developers/ and then select “Search API” -> Start now (this will lead you to https://datamarket.azure.com/dataset/5BA839F1-12CE-4CCE-BF57-A49D98D29A44 ). There are paid subscriptions and a free subscription. Hit signup and go through the process (leave a comment if you are unable to go through this process).
In the end you will need to obtain the (Primary) Account Key and the Customer ID. These are available under “My Account” -> Account Information ( https://datamarket.azure.com/account ). We’ll use these later so save them. Also, don’t share them with other people because these are your credentials. Also visit “My Data” ( https://datamarket.azure.com/account/datasets ) and click on “Bing Search API”‘s “Use” link (far right, https://datamarket.azure.com/dataset/explore/bing/search ). Capture the “URL for current expressed query” : “https://api.datamarket.azure.com/Bing/Search/v1/Web“. We’ll also need these later.
Read more »
Next Tuesday (May 14th, 2013) I will be presenting a small demo of how Reactive Extensions can help you out in a desktop application.
I’ll develop a small WPF app that will do internet searching via Bing.
Anyone in Bucharest is free to drop by and watch my demo or my colleague’s demo (Alexandru Gatej will be presenting “Aspects of plan caching and recompilation in Microsoft SQL Server”).
Location and time :
Beginning at 18:30 (Alexandru’s presentation will go first) at UBISOFT Romania ( <- click for map ), 2 Expozitiei Boulevard, district 1, Bucharest.
Hope to see many people!
This will be a local user group talk that I’ll be having, in Bucharest on Tuesday 13th of November.
Storing large binary objects (usually image files) in the RDBMS has been a blessing but for some is unconceivable. We will explore different ways to do this, from worse to best and we will take advantage of a new feature introduced by SQL Server 2012.
The location is TeamNet Int’l HQ – Sema Parc, Splaiul Independenţei nr. 319, clădirea RiverView, etaj 8
Except an ID there is nothing else that you need to bring in order to participate to the event.
Further geographical details.
The most popular way to get there is by taking the subway as there is a station right near the building.
The official announcement can be found on RONUA’s site.
See you there!
Later edit : It’s been great! Not too many people but keen to learn new stuff. Here’s two pictures from the talk. Notice a new generation of programmers forming
Tuesday, July 10th, I’ll hold a small presentation on the new features of SQL Server 2012 for the database developer, consisting mainly of the sequences, new paging semantics and filetables.
I’ll post the code
and slides soon after the presentation. I decided to drop (oh the irony) the slides.
Anyone close to Bucharest is more than welcome to come! Details can be found here.
The opening of the evening will be made by Alex Peta, presenting a cool notification system built upon JS and ASP.NET MVC 3.
Saturday, November 26th, there will be a session of presentations at Microsoft’s Bucharest Headquarters.
Free entrance, drinks and lunch on the house.
The event agenda :
- 09:30 – 10:00 Arrival
- 10:00 – 11:00 MVC / EF (Andrei Ignat)
- 11:00 – 12:00 WCF Streaming (Andrei Rinea)
- 12:00 – 13:00 SQL Server Denali (Cristian Lefter)
- 13:00 – 13:30 LUNCH
- 13:30 – 14:00 A lap around Windows 8 (Mihai Nadăș)
- 14:00 – 15:15 Hyper-V 3.0 și SCVMM 2012 (Valentin Cristea & Răzvan Rusu)
- 15:15 – 16:30 Office 365 și Lync Online & On-Premise (Alexandru Dionisie & Paul Roman)
I will be presenting WCF Streaming at 11:00. But I assure you the other presentations will be just as interesting as this!
Come and join us and you won’t regret it! But first register at the event site first! Only 22 seats available at the time of the writing.
Hope to see you there!.