-
New Year And Interesting Changes
Posted on January 23rd, 2012 by alfredo
The new year came in and few things have changed in my life for once. I decided to resign at Microsoft to take care of some personal issues. At the moment i ‘m still dealing with the change of moving from the workforce into a more personally driven situation.
In part due to my new found time I have been taking a look around at the new technologies that are coming and I’m convinced that this year is going to be the the year that html 5 blows up our minds. Perusing the web I found this two web sites and they did just that.
http://www.kevs3d.co.uk/dev/
He shows his 3d library and creates some interesting demos is worth looking at it.http://apps.nahklick.de/cnc/
This one on top recreated c&c in html 5 showing off the possible gaming capabilities of the environment.Seeing this type of technology advancements have made me question two things
First – What the heck have I been doing in this last couple of years since it made me realize I’ve been not contributing much.Second – As software developers we might actually be a bit out of focus with what is needed to advance society. We are spending our time creating software for advertisement, games and advancing it day to day but leaving behind many fields like infrastructure creation, economics , resource distribution , medicine with only a few advancements.
In a lot of cases when we have approach this field due to the constraint of money we have become part of the system. Like in medicine a lot of the Emr or bi systems are not for the betterment of the patient or to help the provider make less mistakes. But to enforce that correct billing is being done to the Insurance companies.Which brings me to the point maybe for the next year computer engineer / scientist should spend at least some of their time helping another industry that is not their own
. Best of wishes on the new year.
Alfredo
-
Xna Resources collected over time
Posted on October 25th, 2011 by alfredo
A list I’ve compiled over the years let me know if you got any more that are useful.
3d models
http://www.blendswap.com/3D-models/characters/cartoon-character-pack-1/
Free game 2d art for game developers and indies
Website to look for game inspiration:
http://www.freewebarcade.com/game/jezzball/
Three hundred game designs
http://www.squidi.net/three/index.php
Tool used to pack the sprites together:
http://spritesheetpacker.codeplex.com/
Free sprites
http://www.dumbmanex.com/bynd_freestuff.html
Shooter Game tutorial covers the basics
http://create.msdn.com/en-US/education/tutorial/2dgame/drawing_user_interface
Map Editor
physics engine for Silverlight and XNA
http://farseerphysics.codeplex.com/
Samples
http://farseersimplesamples.codeplex.com/
A Platformer tutorial using farseer.
-
What To Do When Inheriting A Code Base: Part 2 Understanding The System
Posted on October 7th, 2011 by alfredo
Alright Last Article we got the code base working and now we are ready to actually understand what our system does. The first step that I take is to not look at the provided Diagrams for the project. Why you may I ask because I have found that most of the time they are not completely correct which only causes confusion when you don’t know the system. So what would I do:
First check if I have a functional environment that I can thinker with. If I do then I try to figure out what is the main point of entrance for the main function of this system and what is the output the orange boxes. After Identifying that I try to find Where does the workflow happen and this I what I really care about.
By Watching the Workflow happen slowly either debugging or reading a log in verbose you can get a pretty good picture of what goes on in the system. This is really easy to do on WCF service and SQL in particular. In SQL people have a task table which is a common pattern well lets place the profiler to see the changes then make sense of what all that means. On the WCf service watching the messages come in and the responses it gives should give a fairly clear idea of what the routing it looks like.
After you understand the system routing is easy to dissect what happens in each component in a need to know basis.
Normally after I understand this I look at the documentation and see how close it is to what I understood from analyzing the system.
To understand the support system to me is important to isolate them and see them individually to be able to gather the reason for them and not just the side effects they cause or the support they give.
This is a really time consuming action and you should document everything you find during this for your own sake.
-Alfredo Out
-
What To Do When Inheriting A Code Base: Part 1 Inspecting the code
Posted on August 3rd, 2011 by alfredo
Hey Everyone,
I’ve been on more than one occasion on the situation in which I inherit a gigantic code base and its my job to support it and write some new functionality for it. I want to outline a few steps and practices I like to follow in order to get to the point that I’m confident making changes to the system in place. Note is that I use MS products in most of my development so I’m doing the article with those in mind.
My Steps are the following and I will discuss them in different articles.
1.Inspecting the code
2.Understanding the system
3.Preparing to make changes.
-Legacy
-NonLegacy1.Inspecting the code base
A.Create A New BranchMaking a new branch allows you to be able to check out files and work with them in a manner that is easy to see the changes you have done. When you actually got something that is worth you can reverse integrate into the main branch and delete yours.
B.Make sure the code compiles on the first download or lets you know how to set up the machine.
If the projects has a dependency check script run it. If it does not this is the first thing that needs to be done create a script that looks into the build machine and makes sure that all the dependencies that are needed for compilation are install and in the right place in reference with the script. By dependencies I mean libraries or GAC dll’s or simply cross compile configurations in your settings. In the case that the script is not provided a bit of investigative work will have to occur inside of the compilation errors which leads to the next point.
Make sure that all the projects that I have been given compile. It’s my practice to actually have a local compile script. This script just makes an entire build of all the project one for VSTF using batch could look as follows:
for /R %%i in (*.sln) DO (
REM echo %%i
msbuild /clp:ErrorsOnly /nologo "%%i"
)In the case that compilation is not occurring I make a list of all the problems and try to see which ones group together for example a library is missing. An important part during this step is to look out for orphaned solutions. If proper procedure are not followed sometimes in the branch you can find solutions that are no longer used. There is no easy way of finding this out. Except opening the projects and see duplicated projects in a solution.
C.Make sure that the leftover solution bindings in visual studio are correctly installed.
Try editing a file in each of the projects that are relevant and see if you get auto check out in the IDE if it does not work. You need to refresh the bindings.
Todo this follow this steps :
Open the solution
Go File>SourceControl>Change Source Control Remove the bindings
Then Go back to the same location and on the screen that lets you bind per project do binding for each one of them and the solution
CheckinD.Make sure the unit test runs
You can do it by following the steps to compile but using the mstest tool on the mstest projects the files should be the same is normal that some dependencies on the test project might be broke and some investigation will need to happen.E.Create a dependency script Now that you went through all the work and figure what needs to be installed in a machine make it easy for everyone else. My example of that script in batch checking for Pex to be installed.
REM VALIDATING DEPENDENCIES TO BE ABLE TO COMPILE CODESIGN SET /a NumberOfErrors = 0
SET /a NumberOfErrors +=1
Echo %NumberOfErrors%
del temp1.txt temp2.txt
REM CHECK FOR PEX
reg export HKEY_CLASSES_ROOT\Installer\Assemblies\Global temp1.txt
find "Microsoft.Pex" temp1.txt
IF %ERRORLEVEL% EQU 0 (
@ECHO PEX INSTALLED
)
IF %ERRORLEVEL% NEQ 0 (
@ECHO PEX NEEDS TO BE INSTALLED DOWNLOADED FROM http://research.microsoft.com/en-us/downloads/d2279651-851f-4d7a-bf05-16fd7eb26559/default.aspx
SET /a NumberOfErrors +=1
)
del temp1.txt temp2.txt
In the next part I will address how to find information about your system when no documentation is there.
-
Blender day 20 (actually day 10 since I had gotten 0 done in the last 10 days)
Posted on July 30th, 2011 by alfredo
Well seems life caught to me and I had to get away from blender a bit also had my parents visit for a week which was pretty awesome. I got back to it today and decided to go back an revisit the robot that I was working on last time and give it some legs.
Just so its written somewhere is you do control p to a shape while also selecting the camera you can set to follow. note you have to select the camera first the the path. Also in the object data tab the one that looks like a curve you can go to path animations and set the seconds it take to run through it.
Below a picture and a link to a video showing it. Also a screen Shot of the mesh.
MESH
-
Blender day 9 randy the robot
Posted on July 20th, 2011 by alfredo
I did not get to do anything on day 7 and 8 on day 9 I did randy the robot because of a challenge on reddit here is my render and below a photo of the mesh.
Commands Learned
shift + A for add mesh
-
Blender Day 6
Posted on July 16th, 2011 by alfredo
Today I only have like an hour to use the Blender therefore instead of finishing the tutorial will I ever I have decided to Try and put what I have learned in the past few days together therefore I revisited my first project the robot and tried to conceptualize a new one.
Thought it would be cool to make him steampunk style therefore the colors are going to be somewhat rusty and so on.
I did not manage to finish it but fairly satisfied with what I got after an hour and can feel the progress on blender actually happening.
Alfredo Out. Also on monday I will take a break from doing a blender post and go back to do a normal post on the blog(Going to talk a bit about unit testing).
A Render that I did a few minutes ago since I wanted to see if I was capable at this point. First day ever like 3 months ago when I tried blender and gave up I tried to render Eva she looked really bad so I tried again. It still meh but a lot better this one I dare show.
-
Blender day 5 more balloons
Posted on July 15th, 2011 by alfredo
Got a lot of good pointers at http://www.reddit.com/r/blender/comments/iqjlm/blender_day_4balloons_critique_request/ Did that today instead of doing a tutorial since i was running low on time really loving the experience the community is helpful the program is nice even if it has a bit of a barrier to entry. Work has been a bit intense so tomorrow i will probably pick up and learn about rendering layers. Need to work on my software engineering final. Below a video and a pic to make everyone happy.
Also on a final note I learned how to circle the camera and that is why I made the video not to show the scene which was meant to be look at from the pic below. Happy weekend
-
Blender Day 4 Balloons
Posted on July 14th, 2011 by alfredo
Did 30 minutes of the next tutorial in the blender series had some serious issues following seems like they skip a few tutorials in the middle and went for awesome in one I like the result. In the second part he talks about render layers which I think I will do tomorrow. It looks good the knots are kind of funky.
Commands for the day
Z in edit mode lets you see wireframes
Also use the camera view to move the camera.
B left click and drag lets you select and area
Control H adds a hook which allows you to make things be attached to it.
Ctrl T lets u track to an object so that it can follow an object while moving.
N in edit mode opens display menu ctrl + shift + n flips normals
-
Blender day 3 camera animation and some scenery
Posted on July 13th, 2011 by alfredo
Added a table to my hookah scene and a Floor i ‘m still not convinced I like the floor. Tried placing some walls had some weird effects.
Learned that I can move the camera for the video so I had a blast doing that and making a little animation out of it. It looks like crap but makes me feel like progress is happening.
Tricks I learned for the day
- The top menu lets you select the layout
- Using the cross in the corner you can divide the interface
- Ctrl alt lets you split for an extra window
I watched this video today was pretty good.
http://www.blendtuts.com/2010/06/blender-25-interface.html
Tomorrow by looking at the tutorial site looks like I will be doing baloons.
Alfredo out.