Are you ready to start developing applications using the new Windows Phone 7 Series? In this article I will explain the tools available today and walk through creating a basic application.
Making your own reputation recognized on the web can be challenging. You can find an incredible number of websites available all wanting to always be number one within search engine rank.
Please redirect me if this is a duplicate. I haven't been able to find a suitable question.
I really suck at graphics / music / 3D modeling / animation and it's a must-have when you have a hundred hobby game development projects you're working on. I'm looking for different quality sources on the web that provide free resources.
[EDIT]
Some resources given by the answers: (I'll complete it with time)
MUSIC
Jamendo (need to ask for permission for uses)
OpSound
SOUND EFFECTS
FreeSound
StoneWashed
SPRITES
LostGarden
The protagonist domain
Reiner's Tilesets (also contains a couple of 3D models
OpenGameArt (beta, not many resources but promising)
Flying Yogi
ANIMATED SPRITES
The Spriters Resource
MODELS
archive3d
TurboSquid
3Dvia
Google Sketchup
ShareCG
Gamasutraexchange.com
ANIMATED MODELS
TurboSquid
TEXTURES
CG Textures
OpenFrag
Other precompiled lists
FreeGameDev.net
How can i get a table view in which whn i click on a cell a text view should expand just below that cell it should look like clicking on a button an it will create a text view in between clicked button and its below button...
i m trying to create a pictorial view...
tabel view:
button 1
button 2
button 3
table view:
button 1
button 2 v
.
.
. text view
.
button 3
plz solve my problem i m new for iphone app development....
reply me on
[email protected]
advance thnx
Vivek Sharma
India
My team is developing a new DotNetNuke web application and would like to know what is recommended to setup a development environment with source control and automated builds? We would like to keep the DNN source code separate from our custom modules and extensions source code.
The DotNetNuke Compiled Module template for Visual Studio wants us to store the source code in the DesktopModules directory of the DNN source code and output to the DNN source code bin directory. Is this the recommended structure? I would rather keep the files in different locations, but then it becomes more difficult to run and debug locally as it would require an install of the module for each change. Also, how should an automated build deploy any changes?
How have others set this up? Is there a recommended best practice?
Is there any project estimation tool which gives estimates for web design/ development work? I don't have to calculate Price just want to calculate estimated time.
Just for example, for things like:
Page creation (layout in XHTML)
CSS creation
Content creation (Word to HTML,
including images in some pages)
Bulk PDF upload
PHP Script for Form
Testing all pages
I need like
Items Quantity Time for each task(min) Estimated total (in hour)
PDF upload x 30 = 2 min = 60 Min
pages with images x 30 = 15 min for each = 60 Min
Is there any simple JQuery calculator power with JQuery? Where we can add add/remove custom thing to calculate time? Or any other free online/offline tool
?
I realize that this is a subjective question, so I've marked it as a community wiki. I think that it is pretty specific to programming teams, though, so I've posted it here as opposed to somewhere else.
I'm leading a small game development team (four people) as a side project. We are a disjoint team, with everyone in different places, but we do have some of the mainstays of an organized team.
Source Control
Continuous Integration
Bug Tracking
Document Workspace
Regular Meetings
Calendar / Schedule
How do you keep your small, disjoint teams on-track? I tend to agree with Joel's opinion about when and how to micromanage and know that my team is motivated, but it can be easy to fall off-course when everyone isn't connected in a physical way and doesn't see what other people on the team are doing. Suggestions, feedback, or criticisms are welcome!
Edit: I'm managing the team; I'm not looking for automated tools or anything to do my job for me, just ideas for approach or process that might help everyone feel more "connected" and involved.
OK, so that's maybe not the best title, but I don't know exactly what I want to do, so, please, hear me out.
I've used Windows pretty much all my life although I played with Linux on several occasions. At work everyone does web development with php on Windows using the same IDE and stuff.
I would like to experience the powerful Linux command line as well as test my web apps locally running the Linux version of php, however I prefer to keep using the IDE because I feel that version control, FTP, code completion etc. are helpful to my productivity. Eventually I would also like to dive into Ruby and Python and I hear that they're not really suited for Windows users.
Is running a Linux distro in a virtual machine my best bet? Should I try something like Wubi (Ubuntu running inside Windows)? Or are there any other options out there?
I might be missing something here but am unable to understand the true purpose of link shortener services like bit.ly or is it just a lot of hype!
Truly if you type nyti.ms on your URL bar on the browser it takes you to www.nytimes.com, but still what is so hard in typing "nytimes.com! which is far much comprehensible to read and understand leave alone to remember!
Does shortening URL serve any purpose in web development?
Why should someone want use obscure shortened URL?
Hi,
I'm working as a QA (Software Tester with 3 years of experience) and was thinking of getting some certifications for my career. I already have the ISTQB certification and was thinking of doing SCJP along with MCTS 70-433 certification (SQL Server 2008 Database Development) as the next move.
So my question is this:
1) Who should go for the 70-433 certification and is it worth going for, for a career in QA?
2) What would be a good book to study for this?
I'm just looking for a simple book that is written just to the point and not much bloated up such as technical bibles. Not that they aren't good but they just take up too much of time. Maybe something similar to the one written by Kathy Sierra & Bert Bates for SCJP. It is written in a very simple language and is enough to do SCJP.
Edit: I'm still searching for answers to this.
Thanks.
Hi,
I want to create a simple site for my personal usage. And this only in python based technologies. So I want to get a expert oponian on this topic.
What should i used as platform? I did a search for available options and found Django, grok, web2py and many more of these. Which one a novice use should use? If I choose to use only the basic python scripts then what option i have to work on?
http://wiki.python.org/moin/WebBrowserProgramming. This link on python site confused me more, instead of solving my curiosity about the topic. Please give some pointer to accurate and easy to understand reading materials.
I have got a idea of developing java based web applications using either spring-webmvc and struts. Can I relate Java process to python process for web development?
I'm wondering if its possible to find supplementary development work on line? I have some time available to me in the evenings and I thought it might be good to use it productively. It'd be great if there was a site that I could apply to do some ad-hoc coding for anyone who needs it. Something like 'I need a class that does XY & Z', and I could do that.
Is there anything like this out there? Can somebody supply me with some info? Thanks
When programming sites you usually have one set of config files for the development environment and another set for the production server (or one file with both settings). I am assuming all projects should be handled by version control like git or svn. Manual file transfers (like FTP) is wrong on so many levels.
How you enable/disable the correct settings (so that your system knows which ones to use) is a problem for me. Each system I work on just kind of jimmy-rigs a solution. Below are the 3 methods I know of and I am hoping that someone can submit a more elegant solutions.
1) File Based
The system loads a folder structure based on the URL requested.
/site.com
/site.fakeTLD
/lib
index.php
For example, if the url is http://site.com then the system loads the production config files located in the site.com folder. However, if I'm working on the site locally I visit http://site.fakeTLD to work on the local copy of the site.
To setup this I edit my hosts
file and add site.fakeTLD to point to my
own computer (127.0.0.1/localhost) and then create a vhost
in apache.
So now I can work on the codebase locally and then push to the server without any trouble. The problem is that this is susceptible to a "host" injection attack. So someone loading site.com could set the host to site.fakeTLD and then the system would load my development config files instead of production.
2) Config Based
The config files contain on section for development - and one for production. The problem is that each time you go to push your changes to the repo you have to edit the file to specify which set of config options should be used.
$use = 'production'; //'development';
This leaves the repo open to human error should one of the developers forget to enable the right setting.
3) File System Check Based
All the development machines have an extra empty file called "development.txt" or something. Each time the system loads it checks for this file - if found then it knows it is in development mode - if missing then it knows it is in production mode. Since the file is NEVER ADDED to the repo then it will never be pushed (and checked out) on the production machine.
However, this just doesn't feel right and causes a slight slow down since all filesystem checks are slow.
Is there anyway that the server can auto-detect wither to use the development or production configs?
We have a client who has requested a new project with development to be done on a CREON terminal (Spectra Technologies). Can anyone recommend some good resources about terminal and in particular CREON development. Or know of a reputable development team specializing in CREON development. I have done a fair bit of googling / binging without much success.
I have done a little django development but it has all been in a text editor. I was curious what more advanced development tools others are using in their django development. I am used to using Visual Studio for development and really like the intellisense, code completion, and file organization it provides and would like to find something (or a combination of tools) that would provide some of this in the django/python environment.
I just upgraded my MacBook Pro to Mavericks and my local Ruby on Rails development environment isn't running straight off the bat, when I visit localhost I see It works! and remembered I needed to start Phusion Passenger, so when I run passenger start it checks all the requisites and fails when it gets to the PCRE Development Headers:
* Checking for PCRE development headers...
Found: no
It tells me to go to http://www.pcre.org/ to download them so I downloaded 8.33 from here which went to my Downloads folder, so I unzipped it, cd'd to the folder and ran:
./configure
make
make install
Then cd'd back to my rails app directory on my Desktop and re-ran passenger start but it's still the same. Tried a new Terminal window but that didn't make any difference.
I must have done this before to get my dev environment working but can't seem to solve it this time.
I also tried brew install pcre but it says Warning: pcre-8.33 already installed.
I am fairly experienced with the .NET family of languages, as well as web development (from a PHP perspective.)
I am home for winter break and have limited internet access but would like to learn ASP using C#.
Am I able to do development for ASP (and see the results) for free on my laptop (with no internet access), and if so what tools do I need?
Ideally I'd like to do development in Visual Studio and see the results in my browser via localhost. Extra tools I might need would be helpful as well.
I really liked flexibility of emacs but it is really annoying to make it work. I want to use it for web development html, css, javascript, php. I first tried emacs-starter-kit . It didn't included nXhtml. Also C-g key binding does not work (they call it starter kit but basic key command does not work). I think it is mapped for git control. That's a frustration for a beginner. Then I replaced emacs-starter-kit with nXhtml. At least C-g is working. But code completion sucks, M-tab does not work. I tried code completion from nXhtml menu with no success. Also NXhtml mode did'nt colorized my file if css is mixed with html. Isn't it recommended for mixed html, css,php files. So why it doesnt work?. Why Emacs folks do not aware of convention over configuration? Dam! ship it something works! Please help me before I am getting crazy. I use Ubuntu 10.04 and emacs-snaphot-gtk 23.1.50-1. Please guide me step by step with your working dotfile url. Even I accept I am a dummy, it is really annoying and frustrating to use emacs.
What items go into a software shop's development environment, how do you document it, and what processes do you follow to make changes?
I thinking about this from the standpoint where I want to make it easier to bring new hires up to speed quickly by having all this on a checklist we follow when setting them up, and then while I'm at it making it easier for the new hires or existing team members to bring new powerful toolkits and ideas into the environment without disrupting things.
I want to keep this platform agnostic, so even though I'm currently at a microsoft shop where Visual Studio would be assumed I'll go ahead and list compiler/IDE as one of the items:
Here are some ideas for part 1:
[edit]: I'm keeping this updated based on the better suggestions.
Source Control access
Issue/Bug/Project tracker
System Documention, or references to find the system documentation in source control or in a wiki, including:
build document/environment covered by this question
design documents / technical notes
Coding Style guidelines
Deploy for review/testing/QA/staging/production procedures
Licensing details for your tools and your product
Team Calendar, including the project schedule(s), deadlines, vacation time, and support/on-call schedule (if required)
compiler/IDE
compiler/IDE extensions (things like source control plugins or visual studio add-ins)
3rd party SDKs/toolkits
Database connection and tools
Testing Frameworks
Internal libraries
communication tools (chat, wiki, etc)
Static analysis tools (FxCop, FlawFinder, etc)
Virtual machines (holding dev environment or for testing)
Specialized editors (modeling, xml, etc)
Other tools
What else goes in this list, and how do you document it and vet changes?
What should a teen dev do for practical experience?
If you want more details , then read on:
I learnt programming when I was 9 , with GWBASIC (which I now hate) , which was what was taught @ school. That was done in a month. After that I learnt C++ and relearnt it (as I didn't know of templates and the STL before that) Recently I learnt PHP , SQL and Python. This was around the time I switched over to Ubuntu. I'd always loved the "GNUish" style of software development so I jumped right in. However , most of the projects that I found required extensive knowledge of their existing codebase.
So , right now I'm this guy who knows a couple of languages and has written a couple of small programs ... but hasn't gone "big", if you get it.
I would love suggestions of projects that are informal and small to medium sized , and do not require much knowledge of the codebase.
Also note that I've looked at things like Google Summer of Code and sites like savannah.gnu.org and the first doesn't apply , since I'm still in school and the latter either has infeasable projects , or things that are too hard.
The characters in the fable of the Tortoise and the Hare can easily be used to demonstrate the similarities and differences between the Waterfall and Prototyping software development models. This children fable is about a race between a consistently slow moving but steadfast turtle and an extremely fast but unreliable rabbit.
After closely comparing each character’s attributes in correlation with both software development models, a trend seems to appear in that the Waterfall closely resembles the Tortoise in that Waterfall Model is typically a slow moving process that is broken up in to multiple sequential steps that must be executed in a standard linear pattern. The Tortoise can be quoted several times in the story saying “Slow and steady wins the race.” This is the perfect mantra for the Waterfall Model in that this model is seen as a cumbersome and slow moving.
Waterfall Model Phases
Requirement Analysis & Definition
This phase focuses on defining requirements for a project that is to be developed and determining if the project is even feasible. Requirements are collected by analyzing existing systems and functionality in correlation with the needs of the business and the desires of the end users. The desired output for this phase is a list of specific requirements from the business that are to be designed and implemented in the subsequent steps. In addition this phase is used to determine if any value will be gained by completing the project.
System Design
This phase focuses primarily on the actual architectural design of a system, and how it will interact within itself and with other existing applications. Projects at this level should be viewed at a high level so that actual implementation details are decided in the implementation phase. However major environmental decision like hardware and platform decision are typically decided in this phase. Furthermore the basic goal of this phase is to design an application at the system level in those classes, interfaces, and interactions are defined. Additionally decisions about scalability, distribution and reliability should also be considered for all decisions. The desired output for this phase is a functional design document that states all of the architectural decisions that have been made in regards to the project as well as a diagrams like a sequence and class diagrams.
Software Design
This phase focuses primarily on the refining of the decisions found in the functional design document. Classes and interfaces are further broken down in to logical modules based on the interfaces and interactions previously indicated. The output of this phase is a formal design document.
Implementation / Coding
This phase focuses primarily on implementing the previously defined modules in to units of code. These units are developed independently are intergraded as the system is put together as part of a whole system.
Software Integration & Verification
This phase primarily focuses on testing each of the units of code developed as well as testing the system as a whole. There are basic types of testing at this phase and they include: Unit Test and Integration Test. Unit Test are built to test the functionality of a code unit to ensure that it preforms its desired task. Integration testing test the system as a whole because it focuses on results of combining specific units of code and validating it against expected results. The output of this phase is a test plan that includes test with expected results and actual results.
System Verification
This phase primarily focuses on testing the system as a whole in regards to the list of project requirements and desired operating environment.
Operation & Maintenance
his phase primarily focuses on handing off the competed project over to the customer so that they can verify that all of their requirements have been met based on their original requirements. This phase will also validate the correctness of their requirements and if any changed need to be made. In addition, any problems not resolved in the previous phase will be handled in this section.
The Waterfall Model’s linear and sequential methodology does offer a project certain advantages and disadvantages.
Advantages of the Waterfall Model
Simplistic to implement and execute for projects and/or company wide
Limited demand on resources
Large emphasis on documentation
Disadvantages of the Waterfall Model
Completed phases cannot be revisited regardless if issues arise within a project
Accurate requirement are never gather prior to the completion of the requirement phase due to the lack of clarification in regards to client’s desires.
Small changes or errors that arise in applications may cause additional problems
The client cannot change any requirements once the requirements phase has been completed leaving them no options for changes as they see their requirements changes as the customers desires change.
Excess documentation
Phases are cumbersome and slow moving
Learn more about the Major Process in the Sofware Development Life Cycle and Waterfall Model.
Conversely, the Hare shares similar traits with the prototyping software development model in that ideas are rapidly converted to basic working examples and subsequent changes are made to quickly align the project with customers desires as they are formulated and as software strays from the customers vision.
The basic concept of prototyping is to eliminate the use of well-defined project requirements. Projects are allowed to grow as the customer needs and request grow. Projects are initially designed according to basic requirements and are refined as requirement become more refined. This process allows customer to feel their way around the application to ensure that they are developing exactly what they want in the application
This model also works well for determining the feasibility of certain approaches in regards to an application. Prototypes allow for quickly developing examples of implementing specific functionality based on certain techniques.
Advantages of Prototyping
Active participation from users and customers
Allows customers to change their mind in specifying requirements
Customers get a better understanding of the system as it is developed
Earlier bug/error detection
Promotes communication with customers
Prototype could be used as final production
Reduced time needed to develop applications compared to the Waterfall method
Disadvantages of Prototyping
Promotes constantly redefining project requirements that cause major system rewrites
Potential for increased complexity of a system as scope of the system expands
Customer could believe the prototype as the working version.
Implementation compromises could increase the complexity when applying updates and or application fixes
When companies trying to decide between the Waterfall model and Prototype model they need to evaluate the benefits and disadvantages for both models. Typically smaller companies or projects that have major time constraints typically head for more of a Prototype model approach because it can reduce the time needed to complete the project because there is more of a focus on building a project and less on defining requirements and scope prior to the start of a project. On the other hand, Companies with well-defined requirements and time allowed to generate proper documentation should steer towards more of a waterfall model because they are in a position to obtain clarified requirements and have to design and optimal solution prior to the start of coding on a project.
Abstraction can be defined as a general concept and/or idea that lack any concrete details. Throughout history this type of thinking has led to an array of new ideas and innovations as well as increased confusion and conspiracy. If one was to look back at our history they will see that abstraction has been used in various forms throughout our past. When I was growing up I do not know how many times I heard politicians say “Leave no child left behind” or “No child left behind” as a major part of their campaign rhetoric in regards to a stance on education. As you can see their slogan is a perfect example of abstraction because it only offers a very general concept about improving our education system but they do not mention how they would like to do it. If they did then they would be adding concrete details to their abstraction thus turning it in to an actual working plan as to how we as a society can help children succeed in school and in life, but then they would not be using abstraction.
By now I sure you are thinking what does abstraction have to do with software architecture. You are valid in thinking this way, but abstraction is a wonderful tool used in information technology especially in the world of software architecture. Abstraction is one method of extracting the concepts of an idea so that it can be understood and discussed by others of varying technical abilities and backgrounds. One ways in which I tend to extract my architectural design thoughts is through the use of basic diagrams to convey an idea for a system or a new feature for an existing application. This allows me to generically model an architectural design through the use of views and Unified Markup Language (UML). UML is a standard method for creating a 4+1 Architectural View Models.
The 4+1 Architectural View Model consists of 4 views typically created with UML as well as a general description of the concept that is being expressed by a model.
The 4+1 Architectural View Model:
Logical View: Models a system’s end-user functionality.
Development View: Models a system as a collection of components and connectors to illustrate how it is intended to be developed.
Process View: Models the interaction between system components and connectors as to indicate the activities of a system.
Physical View: Models the placement of the collection of components and connectors of a system within a physical environment.
Recently I had to use the concept of abstraction to express an idea for implementing a new security framework on an existing website. My concept would add session based management in order to properly secure and allow page access based on valid user credentials and last user activity. I created a basic Process View by using UML diagrams to communicate the basic process flow of my changes in the application so that all of the projects stakeholders would be able to understand my idea. Additionally I created a Logical View on a whiteboard while conveying the process workflow with a few stakeholders to show how end-user will be affected by the new framework and gaining additional input about the design. After my Logical and Process Views were accepted I then started on creating a more detailed Development View in order to map how the system will be built based on the concept of components and connections based on the previously defined interactions. I really did not need to create a Physical view for this idea because we were updating an existing system that was already deployed based on an existing Physical View.
What do you think about the use of abstraction in the development of software architecture? Please let me know.