Posts

Showing posts with the label Projects

Entity Framework 6: Pull in Child Entities with Async WebAPI 2.0

Just a quick piece of code to get all the children under a given parent. The solutions is pretty straight forward but took sometime to think about since I wanted to keep the result asynchronous. I was also thinking of how I would use scaffolds creates other apis with my models.

Code:

db.Product.Include(x=>x.ProductChildren).SingleOrDefaultAsync(x => x.Id == id);
Notes:
Its late at nite (so no judging...) but I wanted to get my thoughts down and explore this code for a bit. The piece code is async but my question is does it pull the child entities after it has filter down on the parent id? Or does it pulls in all the children before it has filtered down on a particular partent id and if not wouldn't a more proper way to do it be more something like...

db.Product.FindAsync(id).Include(x=>x.ProductChildren);
This code doesn't work of course, since the Include doesn't exist for 'FindAsync' but either way alternative I believe might be with the 'ContinueWi…

Unity3D: Notes for My Next Game Part 6

Image
Continuing from my last note on my game and where I've landed on a few problems. This has become one of my projects on the bottom of the list. However I've been making it number two as of lastly and couldn't be happier with the break I took from it. Some of my designs were quickly being scrapped at I was developing so I took a step back. It might seem like I'm stalling on this project and honestly I think I am but I want it to actually be fun to play and that my only concern. Local Network Multiplayer I'm not sure how far I want to go with it but I have a basic setup.Platform based CameraI will go over this in a video in the future.Character Movementlimited to walking and power ups that randomly appear on the field.Objects are random positions and different speeds.Music for splash screen is a perfect fit! I'm concern about some of my code not functioning in multiplayer mode, even if its only local.
https://www.youtube.com/watch?v=AIgwZK151-A
https://www.asse…

Project: Raft Draft for Data-Steamer

Image
The purpose of this project is to wrap a set of d3js "graphics" and make them easier to create for non-javascript developers. The second reason is to standarize interactions and styles that are acceptable to the site and types of graphs needed. The final result of this project will simple be a wrapper for d3js with well defined graphs that can be marked up withhtml or with model binding (razor syntax).

P.S. this Project will be located here!

Details:
There are currently four types of graphs, a line-chart, side-chart, pie-chart and bar-chart. All are used within a div tag and used as an attribute. Styling is always handled with the css (if it can be helps) and compliant with the css libraries like bootstrap. The coloring is based on a base color scheme provided by 3d but I might also base it on whatever css library is being used. From example bootstrap's primary color but I'm just thinking out load on this.
Example:
      <div line-chart></div> or for razor…

Project: DuckSauce Notes Part 5

I've been secretly working on this project again (of course there's my game I am still working). However I wanted to take a step back and look at what this project has done for me. The biggest thing is that it has done is get me to question my work follow and think about how to improve it.

This project must
create filescreate templatesclean up code build manual.New Approach
Working with the chrome work-space has its limits and it appears there is a method to set the contents of a particular however it is not implemented and is filed as a bug. This is a long outstanding bug so chances are slim.

The guts
https://github.com/GoogleChrome/chrome-app-samples/blob/master/samples/filesystem-access/js/app.js

Reference
https://www.npmjs.org/package/livereload
https://github.com/livereload/livereload-extensions/tree/master/Chrome/LiveReload

Resources
https://github.com/GoogleChrome/chrome-app-samples/tree/master/samples/filesystem-access
http://stackoverflow.com/a/15197993/1265036

Project: Aptitude-Words Update 1.2.5

Image
Recently returned to my chrome extension because I had some features I wanted to see and needed improving. I like to pretend I'm the only person who really uses this extension because I really don't know who my users are or what they would like to see but I'm open to suggestions. There is stats for the extension on weekly users but I don't think much of it.

You will need to re-enable with this update since I added Google Analytics but not using it yet.
Features ( Live now!)
Trash button (rather than click checkbox)Donation button (I'm doing this with all my free apps)This is a one time purchase in the app, I'm looking to get rich.Redrawing words after delete.In the Future  New Logo (working on the art with a material design look).Google Analytics (I'm curious to know what popular words ppl are captured.)Page to display - word of the day, logic to prevent bad words from showing so dont try it...Reordering words - Just a really nice thing to have but watc…

Unity: Notes for My Next Game V

Image
So I broke one of my own rules, which was staying on task. With a lot of my notes being scattered all over the place the last few weeks it has been difficult to keep track of things. I have accomplish a lot, but I think I will go back to publishing my notes to better focus on my deadline. I could have written the notes and just not publish them but I think it would be a waste of time, especially since I was already using a issue tracker. Publish these article forces my hand to show what I've got (which may not look like much for this article but I'll let you be the judge). 

Notes:    I wanted to start getting my game in a playable state and since a lot of the small things bugged me. I just had to get them working right. I started worked on the things that just make it difficult to control my player but I did spend too much time on the player's character model.

Controls on Android are not helpful with PC controls.

Pc to android conversion (input),Unity3D input conversion -…

Project: DuckSauce Notes Part IIII

A lot of this article not going to make sense to people because it relates to my thoughts as I wrote them down and what I researched or tried to understand. Some of it is wrong, and looking back probably could have approached somethings better but that's just a natural way of learning. Also a lot of my notes are going to appear as if I'm going in circles (or that's just how I see it). Previous articles can be found here.

Day 1- 10/2/14
    I started looking at thechrome.devtools.panels.openResource, by resources I think the docs means a web page's resources not the devtool's resources (something that work-spaces might have access to). The next part, "Requests DevTools to open a URL in a Developer Tools panel." 
"The real power of Work-spaces lies in being able to map a local file to a URL (or “Network Resource”). Whenever Chrome loads the mapped URL, it displays the work-space folder contents in place of the network folder contents. It’s as if it’s…

Project: DuckSauce Notes Part III

It's been a couple of weeks since I've released an update on this project, but much of it is due to the fact that I have completely reimplemented my approach. I now have a better understanding where browserify will come into place and where grunt will come into place. Most importantly I understand the v8 javascript engine which runs underneath the chrome browser; this is a major win for me. Here is my previous article...

Day 1 Day 7: GruntJS LiveReload--Take Productivity to the Next Level | Openshift BlogI basically want to remove the need for LiveReload.Moving from CodeKit to Grunt Watch + LiveReload for Real-time JavaScript/LESS/SASS Compilation - Justin KlemmAnother great example what LiveReload can do.Chrome Apps Office Hours: NodeJS in Chrome packaged apps - YouTubeExample with Browserify but you can't using it against Grunt.Iced Blog - node js in chromehttp://stackoverflow.com/questions/16788731/grunt-watch-multiple-files-compile-only-changedhttp://stackoverflow.co…

Project: DuckSauce Notes Part II

Working on the second part of my project... I now need to automate bootstrap builds and compare the bootstrap's unmodified version of bootstrap to the new styles that I have added or modified on the bootstrap compiled css. From there DuckSauce should separate the style changes and place them in a .less file and recompile, which will then override or append the proper styles.
Day 3Managing module dependencies - How To Node - NodeJS
package.json - More reading...
Getting started - Grunt: The JavaScript Task Runner - Docs, docs and more docs
Moving from CodeKit to Grunt Watch + LiveReload for Real-time Compilation - Lots of help
Day 4gruntjs/grunt-contrib-watch - This is the direction I am heading now! No compatible version found: chalk@'0.4.0'  - Helping myself.

This week had to cut my research a little short but I feel I am really close to a solution with little effect on my part since a lot what I need is already built and simply needs to be configured to my preferences.

Project: DuckSauce Notes

What is Ducksauce
    Ducksauce is a small pet project I am working on to make everyday work easier with css and javascript cleanups. The hope is to automate those cleanups in controllable way I see fit, and to also make my code more scalable with third party libraries.

Mission
Listen to CSS changes and separate them into a .less file.

Features (Just for starters focusing on css cleanups)
Console system to attach files/directories.Listen to CSS filesRemove changes and separate into a less file.Compile new less files with Unmodified Third party styles (Overridering the css results)Log changes.Refresh page to see the changes? I would like this but it might get annoying.Day 1

Challenges: Listening to file, watch changes, find what those changes are.
filesystems - Node.JS: How does "fs.watchFile" work? - Stack OverflowNode.js: Event Emitters and Listeners | ScribblingsAccessing the File System in Node.jsObserve file changes with node.js - Stack OverflowIssues: No issues.

Day 2Challeng…

Penguins Rising: Caching in Google App Engine

Image
One day while I was exploring Google's Page-speed Insights to determine whether there was anything I could possibly improve with Penguins Rising. I discovered that I was not Leveraging the browser cache. Up to this point the only type of caching I had done was with the HTML5 cache manifest, however this was different than what Page-speed insight was advising me with and this was also what lead me to my question that is the majority of what this article is about. QuestionLucky for me, I am not the only person to have asked this, but "What is the difference between a Cache Manifest and a Cache header?" As it stand with Page-speed Insight my current results with Penguins Rising (will vary) as you can see for yourself.

Using Expiration in the Content Header
You can set the expiration time however you like, I tested my application with 10 minute expiration date.
//Inside the app.yaml default_expiration:"10m"


Warning
Once you set the expiration in the header it will…

Setting up QunitJs for Asp.net MVC Debugging

Using QUnit is important for me on some of my projects that are more front-end driven. So developing, debugging and testing all need to happen in javascript but without being in the final production. One thing I do not want to do is include the QunitJs in my bundles and would serve no purpose because the bundling and minifying does not happen for debugging. Instead what I did was create an extension method and return a bool, like the one shown in the resources.
//Location ../Helpers/IsDebuggingpublic static bool IsDebugging(this HtmlHelper helper) { #if DEBUG return true; #else return false; #endif } //Location ../Views/Shared/_Layout.cshtml//These two files are not apart of any bundled packages.@if(Html.IsReleaseBuild()) { @Scripts.Render("~/Scripts/qunit-1.14.0.js") @Styles.Render("~/Content/qunit-1.14.0.css") }Side Notes
The intellisense will do some weird things with the coloring for code inside the else statement but it will have …