Search This Blog

Loading...

Thursday, August 7, 2014

I'm back after the Long Break

First of all, I can say that I am officially back (from a long break in writing blog entries). Many things have been going on in my life (such as working at Wal-mart temporarily while still looking for a full-time software developer role, both contract work and full-time work both work for me, and contemplating going into the priesthood), and I really haven't had the time to put in to writing a good blog post.

I have not forgotten about updates to my Windows Phone programs. My main project right now is working on an update for Mobile Media Manager for Windows Phone 8.1 (and that update is overdue, I know). In the currently released version, I was plagued with the restrictions that Microsoft had put in place for third party access to the Zune media queue. Thankfully, now with Windows Phone 8.1, Microsoft has finally opened up all of the functionality I need to make a fully-featured media player app. One of the major goals of this major update is full integration with Microsoft's storage solutions. Besides being able to play songs from local storage, I am also working on including integration with Xbox Music so you will be able to play your music downloaded with Xbox Music and being able to use music stored on Skydrive (excuse me, Onedrive) as well.

For those of you that are using my prayer app, Prayer Aid, I am also working on an update for it. Besides little fixes like a part of the text of the Angelus, I am adding in some new prayers too. You will also be able to go ad-free and..have access to audio of the rosary that is in sync with where you are on the rosary counter I provide. If that goes well, I might add in audio support for the Divine Mercy Chaplet as well.

For my boy scout app, BSA Eagle Tracker, an update is being worked on for you. This update will update the merit badge list to be recent and include many user interface tweaks. If I don't get to it in this next update I will release, I will include in the update following it the requirements for the various merit badges, both eagle-required and optional.

To give you all a sneak peek at some new stuff I have in the works, I have a social media app for Windows 8(.1) that I am currently working on as well. The goal of the app is to be able to pull all of your information from various social networking sites and be able to see it all in one place, organized by time. If it goes well, I will also turn it into a universal app so windows phone will also have a version of it. Development of the command line app for Windows Phone that I am working on has been put on hold temporarily until I push out updates for existing programs.

As I said before, a lot has been going on in my life since my last post. I felt that it is right for me to give everyone an update of what has been happening so people don't think I have dropped of the face of the earth. I will try to post blog entries on a regular basis now, so stay tuned.

Thursday, February 6, 2014

Great Reference Resource for Windows Phone Development

Recently, while I was searching on the internet, I came across a poster which breaks down the windows phone api into categories so you can easily find the part of the api that you want. I see this as helpful for people who are (relatively) new to Windows Phone programming. For those of you who are already experienced with Windows Phone programming, this is a quick guide to find what you need (and so you can go searching on MSDN for the documentation that you need).

The download is a pdf file. You can download it here at: http://go.microsoft.com/fwlink/?LinkId=272110

In other news, I have a few updates for you regarding my Windows Phone apps. I finally finished a long awaited update for my media player, Mobile Media Manager. The update is already live for the paid version, but the update for the free version is still in certification.. I expect it to be out in a day or two.

My prayer app, Prayer Aid, is now out. Please check it out and leave me a review + rating in the store so I can improve it. It is meant to help you grow your prayer life with God. It should also give you some new ideas for prayer as well. It also can help you find a church while on vacation. Since God never takes a vacation from you, why should you take a vacation from him?

My eagle scout app is currently being worked on. I hope to have the update for it out soon.

If you want to go ahead and get my existing apps now (while I'm working on the updates), please use the following links:

Mobile Media Manager (paid version) download: http://bit.ly/y3rf6VMobile Media Manager (free version) download: http://bit.ly/xGCsWE
Prayer Aid: http://bit.ly/Mg7Mnk

Tuesday, January 21, 2014

Book Review: A Review of Windows Phone 8 Application Development Essentials

First, I realize that this should have gone up sooner. Anyway, I got a copy of Windows Phone 8 Application Development Essentials by Tomasz Szostak. I have been looking for good guides to help student developers (or others that are new to Windows Phone programming). If you are also getting into developing for Windows 8(.1), many concepts in this book are also applicable to development for Windows 8(.1).

The book is broken up into 5 chapters. The first chapter deals with the basics of XAML (the markup language used to design user interfaces in Windows Phone. If you have done programming for Silverlight in the past, most of this will be familiar to you, but I still recommend that you skim through it for the Windows Phone-specific parts. The chapter describes the various controls available to you for your app's user interface and also gives a look into the basics of data binding which is important for the later chapters, as MVVM thrives on data binding. The only comment I have with the chapter is in the part for PhoneApplicationFrame. As a general rule, there are only a handful of times when setting the Content property of PhoneApplicationFrame is a more appropriate option then using the Navigate() function. If anyone disagrees with me on this, I would like to hear your argument for the contrary.

The second chapter deals with best practices when trying to design your app. The first part of the chapter is focused on just trying to think through your app idea, what you want to do with the app and how you want to accomplish it. As someone who has tutored underclassmen computer science majors at the college level, I always try to stress that you never get your program requirements and just start coding away; you have to think first and then start coding once you have your "plan of action" for your program in place. It also looks at the various "methods of navigation" that your app can use. On the pivot section, that could be simplified a little more. The Pivot control is made up of PivotItem controls and the user swipes in either the left or right direction to switch between PivotItem controls. Each PivotItem has a header used to identify it and its content can only contain 1 child. Visual Studio has a template for a PhoneApplicationPage with a Pivot control in it all ready to go. In the best practices section for Pivot and Panorama controls it makes a good point in avoiding content that scrolls if possible (if not, you should be fine with vertical scrolling , but not horizontal scrolling at all). Fonts and tiles are also touched upon.

The third chapter dives into MVVM. When you create a new Windows Phone application (with data?) project in Visual Studio, Visual Studio will try to organize files for MVVM. How you organize everything is up to you. In the model section, I noticed it uses the CallerMemberName attribute for the RaisePropertyChanged() function. Their example is different then how I have implanted my models with INotifyPropertyChanged interface. I have usually implemented it as


public string sampleProperty {
    get { return sample; }
    set { 
           sample = value;
           RaisePropertyChanged("sampleProperty");
    }
}

private void RaisePropertyChanged(string propertyName) {
    if(PropertyChanged != null) {
          PropertyChanged(this, new PropertyChangedEventArgs(propertyName);
    }
}

with the book omitting the parameter on the call to RaisePropertyChanged(). To show the difference, see the following:


public string sampleProperty {
    get { return sample; }
    set { 
           sample = value;
           RaisePropertyChanged();
    }
}

private void RaisePropertyChanged([CallerMemberName] string propertyName = "") {
    if(PropertyChanged != null) {
          PropertyChanged(this, new PropertyChangedEventArgs(propertyName);
    }
}

The chapter also covers other things applicable to MVVM such as ObservableCollection<T> for collections in binding view models, data templates for the Listbox control and other controls which use ItemsControl, and Value Converters for those types which just don't work by themselves in XAML such as DateTime. Not only that, but MVVM Light is also covered in detail. Unit testing for Windows Phone is covered so you can create unit tests for components in your Windows Phone app.

The fourth chapter deals with integration with the Windows Phone system. Writing to isolated storage (both file and settings), launchers and choosers, the two kinds of background agents, toast notifications, and live tiles are covered in detail. Something to note is that while you can use IsolatedStorageFile in a Windows Phone 8 app like you can in Windows Phone 7 (actually, that's the only way you can write files to storage in Windows Phone 7), Microsoft has enabled part (probably most) of the filesystem api found in WinRT in Windows Phone 8 as well. The newer filesystem api is what should be used from now on in a Windows Phone 8 app. For live tiles, ShellTile.ActiveTiles.FirstOrDefault() will always return the primary tile, whether it's pinned to the start screen or not. To search for a given (secondary) tile, you can use ShellTile.ActiveTiles.First() or ShellTile.ActiveTiles.FirstOrDafault() with a lambda expression such as ShellTile.ActiveTiles.FirstOrDefault(x => x.NavigationUri.ToString().Contains("texttosearchfor"));

The fifth and final chapter is devoted to integration with social networking. The two social networking services covered in this chapter are Facebook and Twitter. The Facebook section is good except for one thing left out. In the dyamic-type data received from the GetTaskAsync() function of the FacebookClient class, it is possible to cast that (or parts of it) to either a List<T> or a Dictionary<T1, T2>, and yes, it can be debugged it in Visual Studio too. In the Twitter section, they use a library called "TweetSharp" in the book, but I have used a library for Twitter access called "LinqToTwitter". Each one has its pros and its cons. No matter which library you use to connect to social networking services, you can always find more information via the documentation of the library you are using.

In closing comments, I am surprised that they didn't cover styles for controls in the basics section. However, there are enough resources on the internet that cover that anyway. Overall, it gives a good start for someone who is just starting Windows Phone development. The book is available at http://www.packtpub.com/windows-phone-8-application-development-essentials/book.

Wednesday, November 27, 2013

A Reminder about the Christmas Season and Black Friday

First, I would like to wish everyone (early) Happy Thanksgiving. Next, I have a reminder about Christmas.

Please note that Christmas has not started yet despite some commercials saying the contrary. I am amazed at how many tv commercials I have seen this early with Christmas as a theme. Thanksgiving hasn't even come and gone yet. The pre-Christmas period is long enough, so why must we make it longer?

On Sunday, we, in the Roman Church, will enter into the Advent season (I am aware that Advent has already started for Eastern Catholics). Advent comes from a combination of two Latin words, "ad", which means "to", and "venio", which is the first-person present indicative of "venere", which means "to come". This is a time used to prepare ourselves for Christ to come to Earth once again. Christmas is more than a day, it's a whole season. The Christmas season starts with Christmas Day at 12:00 a.m. (00:00) on December 25, not sooner than that.

Black Friday also has an "early start" this year. No longer do stores want to wait for the Friday after Thanksgiving to actually start. Instead, I find all the Black Friday specials starting as early as 8:00 p.m. (20:00) on Thanksgiving itself. This is time which should be spent with family and friends, not shopping for merchandise. Remember: friends and family will not always be around to spend time with, so make the most of the time you do have with them.

We all know that no sane person would do what happens on Black Friday at any other time in the year, so why do we give Black Friday a pass? Yes, stores have what seem to be "amazing" deals on Black Friday, but odds are that you can find the same merchandise for less at some other time in the year. As for fighting for merchandise, why don't we all do that adult thing and realize that it's only merchandise? It can be reproduced. and you will still live without taking advantage of the "big deal". If supply of the item you want is low and the deal is just too good to pass up, you might consider asking if you can order your item and take advantage of the deal at the same time.

This is just some good advice to take advantage of this Thanksgiving  (and Friday after it). On Thanksgiving, we should show our thanks to God for everything he has given us by going to Mass that day and worthily receiving the sacraments (this includes Confession if you are in a state of mortal sin). The word Eucharist means "thanksgiving" and it makes sense to go to Mass the day set aside for thanksgiving.

Monday, November 4, 2013

The Extraordinary Form of the Roman Rite: The Prayers at the Foot of the Altar

It is important that Catholics know everything they can about their faith. This includes (for Roman Catholics) the Mass and its various forms. Even though people may not prefer the Extraordinary Form of the Roman Rite (also known as the "Tridentine Mass"), they should at least be knowledgeable about it. To aid in the catechesis on the Mass, this article is the first of several articles I hope to write about giving some explanation of parts of the Extraordinary Form of the Roman Rite. This first article deals with the prayers at the foot of the altar, the event which starts the Mass, both with or without the Asperges (the sprinkling rite) first. If you haven't heard of them before, the prayers of the foot of the altar were taken out of the Mass when the ordinary form was conceived.

The prayers at the foot of the altar start with a "mini Divine Office session". The psalm used for this session is Psalm 42, Judica me, Deus (or in English, Judge me, O God) with the antiphon "Introibo ad Altare Dei. Ad Deum, qui laetificat juventutem meam". Like the psalms used in the hours of the Divine Office, the psalm used in this "session" is split into parts. If you have never participated in the recitation of one of the hours of the Divine Office with a group before, the people are divided into 2 groups (a left side and a right side) and each of the psalms in the hour is divided into "paragraphs", with each side alternating paragraphs of the psalm. The same happens here with the priest taking one side and the other ministers taking the other. The psalm ends (like it does in hours of the Divine Office) with the Gloria Patri  (Glory Be) and then repetition of the antiphon for the psalm again.

The only time that this "mini Divine Office session" is not done is in Masses for the Dead and any Masses said between Passion Sunday (Palm Sunday) until the start of the Mass for Holy Thursday. After that, the priest adds "Adjutorium nostrum in nomine Domini." ("Our help is in the name of the Lord"), which the other ministers reply with "Qui fecit coelum et terram." ("Who made heaven and earth.").

After that, the priest says his Confiteor. The Confiteor in the extraordinary form is separated into the priest's and the people's Confiteor unlike in the ordinary form where there is no separation. Another thing you might notice is that compared to the Confiteor in the ordinary form, there is a bigger list of saints which you are confessing to. In the ordinary form, the Confiteor omits the extra saints in the first part and shortens it in the second part to "omnes Angelorum et Sanctos" ("all the angels and saints"). After the priest is done with his Confiteor, the other ministers will say "Misereatur tui omnipotens Deus, dimissis peccatis tuis, perducat te ad vitam aeternum", and the priest responds with "Amen". Here is a table showing the changes to the Confiteor (in the Latin):

1962 Roman Missal

Confiteor Deo omnipotenti, beatæ Mariæ semper Virgini, beato Michaeli Archangelo, beato Ioanni Baptistæ, sanctis Apostolis Petro et Paulo, omnibus Sanctis, et vobis, fratres: quia peccavi nimis cogitatione, verbo et opere: mea culpa, mea culpa, mea maxima culpa. Ideo precor beatam Mariam semper Virginem, beatum Michaelem Archangelum, beatum Ioannem Baptistam, sanctos Apostolos Petrum et Paulum, omnes Sanctos, et vos, fratres, orare pro me ad Dominum Deum nostrum.
1970 Roman Missal

Confiteor Deo omnipotenti, et vobis fratres, quia peccavi nimis cogitatione, verbo, opere et omissione: mea culpa, mea culpa, mea maxima culpa. Ideo precor beatam Mariam semper Virginem, omnes Angelos et Sanctos, et vos, fratres, orare pro me ad Dominum Deum nostrum.

The other ministers then begin the people's Confiteor. The wording is similar to the priest's Confiteor, but the words "et vobis, fratres", "et vos, fratres" ("and you, brethren") with "et tibi, pater" and "et te, pater" ("and you, Father"). When the other ministers are finished with the people's Confiteor, the priest says "Misereatur vestri omnipotens Deus, dimissis peccatis vestris, perducat vos ad vitam aeternum", and the other ministers respond with "Amen".

The priest then says "Indulgentiam, absolutionem, et remissionem peccatorum nostrorum, tribuat nobis omnipotens et misericors Dominus.". These words that the priest says are not present in the ordinary form. While the priest says the words "Indulgentiam, absolutionem, ...", the other ministers make the sign of the cross. If you have ever wondered why many people (in the ordinary form) incorrectly make the sign of the cross as the priest is saying "May Almighty God have mercy on us, forgive us our sins, and bring us to life everlasting", it is because it was done during the "Indulgentiam, absolutionem, ..." in the older form of the Mass. The correct posture in the ordinary form when the priest says the "May Almighty God..." is to continue to keep your hands folded as in prayer.

After this, there is a series of exchanges between the priest and the other ministers. After this series of exchanges is complete, the priest says "Oremus" ("Let us pray"), and ascends to the altar where he says in a low voice the "Aufer a nobis" prayer. Once he has said the "Aufer a nobis", the priest then proceeds to reverence the altar with a kiss saying before the kiss, "Oramus te, Domine, per merita Sanctorum tuorum", and then after the kiss, "quorum reliquiae hic sunt, et omnium Sanctorum: ut indulgere digneris Omnia peccata mea. Amen.".

At this point then, the prayers at the foot of the altar are finished and Mass starts to look just like it does in the ordinary form at this point with the start of the Introit (usually done by the choir unless it is a Low Mass). After the introit, the priest starts the Kyrie. However, unlike the 2-part call and response method of the Kyrie with each part of the Kyrie being said once by both priest and people, starting with the priest, in the ordinary form, the Kyrie in the extraordinary form is done with each part of the Kyrie being said 3 times (altogether), alternating between the priest and the other ministers starting with the priest. My point is made here:

1962 Roman Missal

Kyrie, eleison
Kyrie, eleison
Kyrie, eleison
Christe, eleison
Christe, eleison
Christe, eleison
Kyrie, eleison
Kyrie, eleison
Kyrie, eleison
1970 Roman Missal

Kyrie, eleison
Kyrie, eleison
Christe, eleison
Christe, eleison
Kyrie, eleison
Kyrie, eleison


With the fact that the prayers at the foot of the altar were done by (only) the priest and the other ministers in the sanctuary (along with the prevalence of the Low Mass), I can see how many people would not "pay attention and pray the rosary" at Mass. I would encourage you to attend an extraordinary form Mass in your area. If you don't "get it" the first time, go back again the next time it is offered. Eventually, you will have an appreciation for the older form of the Mass even though you may like the ordinary form much more.

So, have you gained anything from this article? If so, please share it in the comment box below. I realize I can't cover every little detail in a single blog post, but I try to cover as much as I can. I will also be writing an article covering active participation by the laity in the extraordinary form in the future as well.

Now that you know a little more about the Mass, why not try some delicious Mystic Monk Coffee? Mystic Monk Coffee (use this link or click on the picture below to access the store and purchase) is what you really need when it comes to coffee. Trust me, it's good coffee (in most instances, much better than Starbucks coffee) and you won't regret buying some (just keep it away from your computer keyboard or laptop/tablet). If you like tea more than coffee, they also offer tea. If you have a Keurig machine, the monks also have k-cups for purchase as well (known as "monk shots") Using the link (or picture below) to buy the coffee (or tea) helps the monks out and helps me with my endeavors as well. The coffee (or tea) also makes for great gifts for friends and family as well.




Right now, I don't have any updates for you in the way of app updates for my windows phone apps. Yes, I am working on app updates. The reason for me taking a long time between updates is that I want to do some extra testing so I can be sure that I can squash as many bugs as I can before starting a new major version of my media player app and my boy scout app and things have have been somewhat hectic for me around home. I am also just about finished with a prayer app designed for (primarily) Catholics (and other Christians can use it too).

Wednesday, October 23, 2013

Google's Double Standard for Youtube

If you own a Windows Phone device, you are probably well aware of the drama between Google and Microsoft regarding a native Youtube app for Windows Phone.

To recap, first, everything started when Microsoft (due to Google's lack of love and support for Windows Phone) came out with its own native Youtube app which was much better than what was available via the web interface for Youtube. It had the ability to play video from Youtube in portrait mode or landscape mode (you could watch the video and view the list of comments or the list of related videos while you were in portrait mode). It also integrated with your Youtube account (so you could still access your playlists and the like) and had some extra goodies such as no ads and being able to download video to play while offline as well.

Google got word of this and claimed that some of the extra features such as the no ads and the video downloading were against its terms of service. It claimed that circumventing the ads were robbing content creators of revenue. It then asked Microsoft to make some changes to the app such as removing the video download feature and add support for Youtube's ads. Microsoft released an updated version of the Youtube app which was more in-line with Google's terms of service, but that wasn't good enough for Google.

Some time after the updated Youtube app was released, Google revoked the api key that the Youtube app was using. This broke the native app and made it useless since it could not download data from Youtube. Google then put up an a new list of requirements that Microsoft's app had to meet such as being totally in HTML5. Google makes no such requirement for the Youtube app for it's own Android operating system or for Apple's iOS operating system.

There was backlash against Google on the internet for these decisions (mostly for revoking the api key) and there still is. Microsoft was willing to make further changes to its Youtube app to meet Google's list of requirements, but one sticking point still keeps Microsoft from meeting Google's demands. Microsoft claims that it cannot (properly) implement Youtube's ads because Google has not made the api for accessing the ads available. Even now, Google still has not given Microsoft access to the Youtube ad api.

Now today, I found an article on Ars Technica saying that with the latest release of the Youtube app for Google, it is implementing features that Microsoft tried to implement and was told were against Google's terms of service. With these moves, Google has created a double standard. Anything goes for it's own Android app, but it refuses to make a proper Youtube app for Windows Phone (or let Microsoft attempt to make one itself). Google cannot continue to disregard Windows Phone users for much longer. If someone wants to make the argument of "just use the website", I will reply back that not all videos are available for playback on the mobile site. I think Google fears the potential of Windows Phone for the future, and that is why it has created a double standard.

As of now, there is a Youtube "app" in the windows phone store right now, but it is mostly a link to the mobile Youtube site. What do you think of this? Please let me know in the comment box below.

Why not try some delicious Mystic Monk Coffee while watching your favorite Youtube videos? Mystic Monk Coffee (use this link or click on the picture below to access the store and purchase) is what you really need when it comes to coffee. Trust me, it's good coffee (in most instances, much better than Starbucks coffee) and you won't regret buying some (just keep it away from your computer keyboard or laptop/tablet). If you like tea more than coffee, they also offer tea. If you have a Keurig machine, the monks also have k-cups for purchase as well (known as "monk shots") Using the link (or picture below) to buy the coffee (or tea) helps the monks out and helps me with my endeavors as well. The coffee (or tea) also makes for great gifts for friends and family as well.



Rig

Thursday, October 10, 2013

GDDR2 Amber Update for Nokia Phones on AT&T Network is Finally Out

Well folks, after 15:00 e.s.t., AT&T has finally put out the GDDR2 Amber update from Nokia for the Lumia 820 and 920. All of those weeks of constantly bickering at AT&T paid off.

You can get the Update by going into the Settings and choosing "Check for Update". Nokia's update check page reflects this.

Since my Lumia 820 only has 8gb of onboard storage space, I will think I will be one of the more adventurous ones and download the new rom image (with the updates in it) and flash it for a clean install. Now if only Microsoft allowed for apps to be able to backup their program data to skydrive. It's a shame that I am going to loose all of my progress on my games if I flash the new rom image instead of getting it through "check for update" (but I guess that is the price I have to pay).

ShareThis