Agree and Disagree with Hearding Code Podcast

by percent20 28. August 2008 11:50

Was looking at the lazycoder blog and saw a post on Herding Code podcast, sounding cool, I saw he posted on a "Back to the Basics" episode.   I just want to be clear as I start this.  I am a beginnermediate (not quite a begginer, but defintely not an intermediate developer) developer.  I look and listen in my world at that level and base my conclusions on my skill level.  The purpose of this post is to show a bit of the discrepency between what an advanced developer would consider basics and what a beginner would consider basics. I do agree these are all basics, but I believe there are levels to them that should be clarified.  

Below, I have categorized things the podcast hit on as basics.  I tried my best to put it in a linear fashion as what you should learn first to last.  I have also included a short opinion on each of these.

Beginner

Memory Management

This is defintely something a beginner _needs_ to know.  Not necessarily every part, but have a good idea of what is going on.

References (pointers)

This I agree is another thing to learn so you get a better idea of what is going with Memory Management.

Requirements

Here is the gold of what a beginner needs to learn.  If you don't know the requirements or can't translate those requirements to code then you will most likely fail as a developer.

Beginnermediate

Floating Point Math

This is one thing that should be learned and is important, but not quite as important as not knowing the above.  This tends to be an extensive thing to figure out and to really grok so I put it in the beginnermediate area once you know the beginner level and the general basics of developing like: if, then, for, varaiables and the like.

OOP

This is one thing that is a basic to learn. However, it is HARD to learn for the real world.  I learned OOP in a college class in one semester no problem.  It has taken me well over a year to translate, effectivly, that knowledge into real world applications, that aren't games.  This is a big must, but can be put on hold to learn whats above first.

Source Control

To me this is kind of a debateable topic as when to learn.  I think before you move to intermediate level programming level you should learn the basics of source control because it is at this point that you are going to be writing more sophisticated programs that are going to need Source Control.


Intermediate

Data Structures

Data Structures being an intermediate skill to learn is kind of misnomer.  I think you should learn 2 to 3 basic data structures like an array or in .net generic List<>. Just something to get you by then later once you understand more and more go back and really learn other data structures.  I believe this really would work out well because then you have probably coded quite a bit and will learn the data structures quicker and really know when and where to use them.

Design Patterns

This is most definitely an intermediate skill to learn.  Design patterns are important to writing smooth pretty and effective software, but until you learn OOP really well or a few other things you are stuck in the land of "please just work".  Understanding and using design patterns from what I have seen just takes time and writing quite a bit of code before they make sense.  I saw this because I have yet to be able to use them effectively and really understand when and where.

Dependency Injection

I put this in intermediate because I still don't know what it is and everytime I ask I just get confused which means it is something beyond my skill level so I am defaulting it to the top of the list.  Because of the not understanding problem I personally don't think this is a basic, but I will listen to those more experienced than me and consider it a basic.

 

Concolusion

I guess I mostly wanted to do this post to kind of come up with a way to organize what and when to learn the basics.  From reading and research ALL of the above basics are things that are used daily and very important to know, but not all of it is easy and can be learned quickly so it is good to break it down. I really loved this podcast episode because it is honestly not often I get to hear pro's talk about the basics.  The basics are something I strive to help people understand because it isn't taught a lot online usually and _most_ of the time not well.

Be the first to rate this post

  • Currently 0/5 Stars.
  • 1
  • 2
  • 3
  • 4
  • 5

Tags:

DICEP★TICON

by percent20 27. August 2008 12:33

Most anime fans should get a kick out of this.  If you cross Lucky Star and Transformers this is what you get.

Hope you enjoyed that.

Be the first to rate this post

  • Currently 0/5 Stars.
  • 1
  • 2
  • 3
  • 4
  • 5

Tags:

Vista Media Center Not Displaying Videos in Menu - My Solution

by percent20 23. August 2008 20:03

I have been wanting to watch my videos that I have on my hard drive on my TV for a looooong time, but never seemed to have the right equipment that actually worked.  Well yesterday a friend finally hooked me up with the right equipment and I have been playing with Vista Media Center since then.

First off, Vista Media Center rocks. I am loving it.  I used to have to get up every so often and switch videos on my computer to watch from my chair or bed, not to mention mess with rotating the flat panel monitor.  Well, now with media center and the IR Remote that is hooked up to the computer I basically have a TiVo like system going, minus recording tv.

Now along the way I ran into a problem, was user error.  If you hit the power button on the IR remote it would send the computer to sleep mode.  Not to big of a problem except the setting for windows was to prompt the user for a password upon resume.  Normally that wouldn't be a problem for I couldn't seem to login or even get anything to display on the TV or my computer once I hit the power button on the remote again.  So, I did the one last thing I could think of.  Hard turn off of the computer.

That is when the problems started.  Once I got it back up apprentely some db got corrupted that no longer let me view the videos.  So after reading for a few hours on the internets i came accross the solution, and with a bit of guessing, to just delete the db's.  Only probloem is I didn't know where they were located as no where explicitly said where.  After some searching I found out 2 things that are kind of important.

  1. Media Center information and stuffs are stored in "Microsoft\ehome" folder
  2. The media library database is stored in the "Microsoft\Media Player" folder

You can find the main stuff for Media Center at "C:\Windows\ehome". That is where the executables and other things are located.  Other stuffs are in "C:\Users\Buddy\AppData\Local\Microsoft\ehome" that will be important for other thigns besides this problem. Just letting you know file locations.

What is the most interesting though is that the media center library is stored at "C:\Users\Buddy\AppData\Local\Microsoft\Media Player".  I was amazed because I figured they would store that info in the ehome folder.

Anyway, the problem specifically that I had was when I would go to the videos  area of the menu in Media Center it would try to display all the folders, but wouldn't.  I could actually get it to do anything.  Once I decided to delete the database information it reset everything back and I could finally add files through the monitoring folders of settings.  Well once I did that it still didn't work properly as the videos would only display in the "Date Captured" view.

So what was my solution?

  1. Delete the database files at "C:\Users\Buddy\AppData\Local\Microsoft\Media Player" 
  2. Unmonitor all video locations
  3. Install 3rd party MCE application called Video Browser

That is it.  Now I just use video browser app that I installed into Media Center as it works a lot better, but a bit different.

 

Install and Use Video Browser

Installing Video Browser is super simple.  Just visit the site "http://code.google.com/p/videobrowser/" download the installer and install it.  After that go to the Pictures+Video section of your Media Center menu and you should see a tab to the left called Video Browser.  

Now the most important part to not is. VB only monitors your "C:\Users\<user>\Videos" folder.  So to add vides from other locations just simply create a shortcut to that folder or file and it will work.  This works out great for me as I have a lot of things I need to watch so I only put shortcuts to my "To Watch" videos.

 

I suggest giving the Media Center stuff a try in vista it is a lot of fun.  So much fun infact if I am not careful I might make an app for it.

Be the first to rate this post

  • Currently 0/5 Stars.
  • 1
  • 2
  • 3
  • 4
  • 5

Tags: ,

Ionics ISAPI Rewrite module with Code Igniter

by percent20 16. August 2008 21:37

One thing that apache has is mod_rewrite, but IIS doesn't seem to have it nativly.  However, Ionics made an ISAPI filter and submitted it to CodePlex for people to use for free.  To get it to work in Code Igniter is pretty easy once you do it for the first time.  As a note it is best to do it per site.  Here are the steps and some images.

1) Download files from codeplex site (http://www.codeplex.com/IIRF)

2) Unzip IsapiRewrite4.dll

3) Put IsapiRewrite4.dll in folder of the top level of the website (wwwroot/default site)

4) create .ini file named IsapiRewrite4.ini (Must be named IsapiRewrite.ini)

5) Open IIS Manager


6) Right-click on site -> properties


7) Isapi Filters Tab

8) Add...

9) Name filter what ever you want. I named it IONICS Rewrite

10) Click browse and load the IsapiRewrite4.dll in the top level of the site

11) add the code below to the .ini file

RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ /index.php/$1 [L]

12) recycle the application pool and all should work.

 

I got the snippet for the ini file from the CodeIgniter forum, but can't seem to find exact post to link to.  There are a lot of things that you can do with this rewrite module much similar to mod_rewrite for apache.

Also as a side note this works awesom for wordpress blogs too to get good permalinks.

Be the first to rate this post

  • Currently 0/5 Stars.
  • 1
  • 2
  • 3
  • 4
  • 5

Tags: ,

Subtitles for Video

by percent20 13. August 2008 16:18

As many of you may know from my last post, yeah a long time ago, I like anime a lot.  One thing that was always interesting to me was how fansubbers did subtitles.  Well the other day I actually spent about 20 or 30 minutes and figured out how to do basic subtitles.

What I learned was softsubs. Basically an external file (*.srt) that you add your subtitles to and load them up when you play the raw video with no subtitles.  The site I learned off of was from a post on afterdawn website.  They are a great resource when it comes to audio video stuff. Anyway the directions are fairly simple.

1) Get video file.
2) Create a new textfile in that folder. I prefer to call it the video name with srt at the end. so (videoname.srt)
3) Add special codes and text
4) watch video and load the srt file.

Step 3 is what is the most difficult and it really isn't difficult at all. To do it all you need is the start frame and end frame of when you want the text to appear.  Followed by the text.

{1}{200}Hello World How are you Today

That would display "Hello World How are you Today" from frame 1 to 200 then stop displaying it.  You can also change colors and do bold, italic, and underline.

{201}{300}{y:i}I'm Italic
{301}{400}{y:b}I'm bold
{401}{500}{y:u}I'm underlined

You can also do colors too. So something like:

{501}{600}{c:$333333}I'm A different color.

Finally you can even do different fonts too.

{601}{700}{f:Arial}I'm A different font.

So if you wanted to copy paste into a text file all of the above to test it. It would look something like:

{1}{200}Hello World How are you Today
{201}{300}{y:i}I'm Italic
{301}{400}{y:b}I'm bold
{401}{500}{y:u}I'm underlined
{501}{600}{c:$333333}I'm A different color.
{601}{700}{f:Arial}I'm A different font.
{701}{800}{y:i}{c:$333333}I'm several combined into 1

After you have that done you are ready to view them. I personally use windows media player classic and the best way to use them, once the video is loaded, is:

File->load subtitles->(Browse to subtitles and open)

Here are some pictures

 














If you have wanted to do basic Subtitles this gives you a good start.  I am going to look up how to do embeded subtitles next and will post on that, hopefully soon.

Be the first to rate this post

  • Currently 0/5 Stars.
  • 1
  • 2
  • 3
  • 4
  • 5

Tags:

PowerShell Can Browse a Network Share

by percent20 10. April 2008 13:51

If you follow me on twitter then you probably know that I like Anime. If you don't follow me, you should, then to let you know. I like Anime.  Recently, a friend in #alt.net channel on freenode.  Was helping me with a script to do some specific renaming to strip out extra crap from anime I download.

Anyway, I have a network share on my anime folder so I can access it from anywhere on my network and watch.  Well last night without thinking I just opened up PowerShell CD'd to the network share and ran the script, since I have full control set on the share.  After the shows were renamed I closed it and went about finishing Bamboo Blade.

Later I realized I browsed a network share in PowerShell.  That is SOOOOO freaking cool that you can do that.  Here is an image proving it:

powershellNetworkShare

Basically, I am starting in my "My Documents" folder on my computer and CD'ing to the remote computer and it works.  Then I do a pwd for the path, and viola it works.

This is cool to me and might allow some cool scripts to be run for copying local files to remote servers with a simple click.

When I get the script a little more refined I'll go ahead and post it up with a blog post.

Here is a silverlight video of it in action. 

[silverlight:PowerShell_BrowseNetworkShare.wmv]

Be the first to rate this post

  • Currently 0/5 Stars.
  • 1
  • 2
  • 3
  • 4
  • 5

Tags: ,

Luanchy the Launcher

by percent20 3. April 2008 10:08

For a long time I have been against launchers like Launchy not because I thought they were bad, but because I thought they were useless.  Anyway I decided on day that I would give it a shot.  After figuring out how to use it and using it for a couple of months now I can honestly say.  I like it.  I also miss it when I am on another computer without it.  It has become and main part of how I use the computer without me realizing it.  When I had to redo my computer I didn't have Launchy installed and constantly kept hitting the buttons to use it.  I also realized how much time I save using it.  It is definitely a tool that increases productivity.

So, since I was wrong and I admit it I will do a walk through on setting it up and configuring it for you to use.  Please, download the app and give it a shot it really is a good product.  Best of all it is free.

Install Steps (most are just visual with my config options please read what is typed)

Visit http://www.launchy.net

launchy.net 

When going to download area you will be forwarded to SourceForge to finish the download.

Launchy.net download

Launchy SourceForge Download 

Next is the Install it is just a typical next next next install please these are the screens for it.

CropperCapture[5]

Eula

Install Location

CropperCapture[9]

CropperCapture[11] 

Now we are done so lets configure and use it.

 

Configure

I am just going to show a couple of screenshots and am going to explain basically what they are and what to do.  I'll let you explore the rest.

At this point Launchy should be running.  To use launch all you need to do is:

ALT + SPACE

That will bring up something like this: (could be different as there are different skins)

launchy-1

At this point just right click with your mouse and choose options.

A new window should appear and looking like this:

Launchy options

Basically to configure this to launch you applications in the directories area you need to add all the directories you have have applications you want to use.  I personally do:

  • C:\Program Files\
  • C:\Documents and Settings\Buddy\My Documents\Programs
  • C:\Windows\System32\

Once you are done with that you should go back and on each direcotry you have chosen go to the left and choose file types you want to launch in each.  I usually chose for each.

  • *.exe
  • *.lnk
  • *.pdf

Once you have those done hit the Rescan Catalog button and it will scan all the folders and sub-folders making an index of you applications to launch.  After that just hit ok and you are good to start using Launchy.

Once you get done go ahead and to ALT + SPACE and start typing the application name.  It should look like.

launchy-2

 

If you decide to download and install it please leave a comment with what you think.

Be the first to rate this post

  • Currently 0/5 Stars.
  • 1
  • 2
  • 3
  • 4
  • 5

Tags:

Email Account Activation with ASP.NET Membership part 1

by percent20 21. March 2008 10:02

This is something that a lot of sites have to verify that the user's e-mail is valid and seems like it would be complex, but there is a very easy way to do it.  This is going to be a 2 part series, maybe a 3rd still thinking about it.  First, I will give you the resources to learn about and setup the asp.net membership system and explain the concept of how we are going to activate the account.  Part 2 will be a re-explanation along with code.

Membership System

I wanted to actually explain all the steps to doing the membership system setup, but I just can't beat 4guysfromrolla.com. Here are the links to there multi-part series on most everything about the membership system.  I use it every time I need to get started with the membership system.

Examining ASP.NET 2.0's Membership, Roles, and Profile:

  • Part 1 - learn about how the membership features make providing user accounts on your website a breeze. This article covers the basics of membership, including why it is needed, along with a look at the SqlMembershipProvider and the security Web controls.
  • Part 2 - master how to create roles and assign users to roles. This article shows how to setup roles, using role-based authorization, and displaying output on a page depending upon the visitor's roles.
  • Part 3 - see how to add the membership-related schemas to an existing database using the ASP.NET SQL Server Registration Tool (aspnet_regsql.exe).
  • Part 4 - improve the login experience by showing more informative messages for users who log on with invalid credentials; also, see how to keep a log of invalid login attempts.
  • Part 5 - learn how to customize the Login control. Adjust its appearance using properties and templates; customize the authentication logic to include a CAPTCHA.
  • Part 6 - capture additional user-specific information using the Profile system. Learn about the built-in SqlProfileProvider.
  • Part 7 - the Membership, Roles, and Profile systems are all build using the provider model, which allows for their implementations to be highly customized. Learn how to create a custom Profile provider that persists user-specific settings to XML files.
  • Part 8 - learn how to use the Microsoft Access-based providers for the Membership, Roles, and Profile systems. With these providers, you can use an Access database instead of SQL Server.
  • Part 9 - when working with Membership, you have the option of using .NET's APIs or working directly with the specified provider. This article examines the pros and cons of both approaches and examines the SqlMembershipProvider in more detail.
  • Email Activation Concept

    The overall concept is fairly simple.  You register then receive an e-mail that you have registered along with an activation URL.  When you click on the URL it goes to the site and activates your account proving that you are real and there is a real e-mail address.

    The easiest way to do this is the following.

    1. User Registers
    2. Once registration guid is created
    3. guid is put into a table associated with a username
    4. E-Mail is sent to user with a url based on the GUID something like ( http://example.com/Activate.aspx?key=1234-1234-1234 )
    5. User Opens Email and click link
    6. Person comes to activation page
    7. Activation page reads querystring and associates the string with guid in db.  If a match executes code to "approve" account for use
    8. User can login.

    There are a few key things:

    1. You need an association table.  Something that will hold the guid and username for later verification.
    2. Create the GUID and get username _after_ account has been created and commit to above table.
    3. Build the activation URL and Send the e-mail
    4. On the activation page read the query string and find association in association table and retrieve the username if association exists between username and guid.
    5. if a username is returned call the membership api and activate the account.

    Remember though that when building the site be sure to set the property where when the user registers the account is not automatically approved.

    Conclusion

    This is a very useful and needed feature in some respects and highly used.  The concept is fairly simple and with the membership system it continues to stay fairly simple.  Please feel free to try this on your own and report back any issues you came across and how you overcame them. 

    I will post part to in a couple of days.  I am hoping on Sunday as a present to you all on my Birthday though we will see how that turns out.

     

    Happy Coding

    Be the first to rate this post

    • Currently 0/5 Stars.
    • 1
    • 2
    • 3
    • 4
    • 5

    Tags:

    Use Examples in your Applications

    by percent20 16. March 2008 16:00

    Usability is one thing, for some reason, I continue to pay attention to when I got to sites.  I may not be able design graphically, but I'd like to think that usability is one thing I consistently get right.  The biggest reason I pay attention is because your application is useless unless someone can actually use it.

    Recently I went to pay for my college tuition online and had to enter in my card number and expiration date.  Ok no problem except it took me literally a minute to figure out what I was supposed to do so I took a screen shot.

    DumbExample

    The credit card isn't so hard to figure out, but the expiration date drove me nuts.  I had to read it about 3 times and THINK about it, and I am technology savvy.

    Recently I wrote quick registration app for people coming to our paintball game, and used a bit of my usability knowledge to help users not have to think about anything except there information.

    Lets go through my thought process though first.

    I needed to get 2 key pieces of information.

    1. First and Last Name
    2. Phone Number

    This presented a few problems:

    Do I ask for first and last name in separate text boxes thus being sure to get proper information? Problem here is it puts more work on the user when they only need to add information.

    If I have them do it in one text box how can I guarantee a good clean output in the back end and be reasonably sure they will put in their first and last name?

    When it comes to phone number there are a lot of ways to write your phone number and in a huge list it could get annoying looking at all the different numbers done different ways.  Plus, I need their area code because some are coming from out of state.

    First thing I thought of to do was show them how to do it with an easy to use example.

    GoodExample

    Conclusion

    Using and easy to understand example based on other how many other sites do it.  You can increase the usability quickly of your forms and application in general.  All the people that have registered have all included their first and last name and phone number just like I have as examples above.  So please when writing your applications go ahead and take a few extra seconds and think about how you want the data to look and see if there is a way to literally show the user the format you would like.

    Currently rated 5.0 by 1 people

    • Currently 5/5 Stars.
    • 1
    • 2
    • 3
    • 4
    • 5

    Tags:

    I'm still here

    by percent20 24. February 2008 16:14

    So apparently my site hasn't been up for a week, i have known.  I am so busy lately with a lot of personal stuff I was unable to rectify the situation.  The site is back up now and I am ready to start blogging again.

    The main issue was that the dns record on the dns server got wiped out so the internets didn't know where to go :(

    Sorry for the inconvenience.

    Be the first to rate this post

    • Currently 0/5 Stars.
    • 1
    • 2
    • 3
    • 4
    • 5

    Tags:

    Powered by BlogEngine.NET 1.4.5.0
    Theme by Mads Kristensen

    RecentComments

    Comment RSS