So I've found a way to embed flash movies in python. Yay.
The problem is it won't work with games. I will look here tomorrow to see if they have a way of doing it.
**UPDATE**
I checked out those links and all were broken. *SIGH*
Thursday, April 7, 2011
Technology Business Plan Competition
Amr let me know about the TBPC which will be held tomorrow. We are too late to present our own ideas, but we can go there and learn from the current presenters and judges.
My business contact let me know that he was able to go to the Self-Employment Fair the Tuesday before last, when my car had broken down. He was able to talk with the President of the New Mexico Angels, John Chavez, for about half an hour one-on-one. Tomorrow he will be at the TBP Competition, so hopefully I can meet him then.
My business contact let me know that he was able to go to the Self-Employment Fair the Tuesday before last, when my car had broken down. He was able to talk with the President of the New Mexico Angels, John Chavez, for about half an hour one-on-one. Tomorrow he will be at the TBP Competition, so hopefully I can meet him then.
Monday, March 28, 2011
Requirements for our code
Completeness, correctness, unambiguousness, reliability, consistency, and traceability.
Any module should ideally fit in a single page.
If you're copying and pasting code, it's wrong.
How well do we understand system boundaries?
Aesthetics.
Reusable components in our code.
Any module should ideally fit in a single page.
If you're copying and pasting code, it's wrong.
How well do we understand system boundaries?
Aesthetics.
Reusable components in our code.
Thursday, March 24, 2011
literate programming and the rational unified process
The wikipedia article on literate programming is very well laid out and was a good read. There are a lot of literate programming "languages" out there! I wonder if there is any style that generates test cases as well as code. It may be good and all to interweave thoughts and comments with the code in a natural-language type flow, but I think it would be hard to debug this, given the amount of text you have to search through, and all of the chunks of the same piece of code being scattered about. Maybe you compile it into source code, and then debug it, and then figure out the pieces you debugged and inject them into the original? Sounds a little too hard...
I would like literate programming if we designed a language that could take natural language and produce code, resolving ambiguities in the natural language by waiting until the last moment to evaluate and dynamically type any portion of the program, interpreting the language by the surrounding state at the time of execution. If it still can't be resolved, throw an error and let the user revise their language, or be more specific, or whatever.
Of what is out there right now, I think noweb would be good to learn.
On to RUP:
Developed by IBM, this process is very detailed, and seems interesting to learn. A summary of it is very interesting (about 20 pages). It turns out that it is all about using UML as a way to communicate design, requirements and architectures across teams. A bunch of tools are employed to keep the models up to date and to support bookkeeping.
I definitely see how important an easy tool for bookkeeping would be!
And the IBM 6 best practices for a software development team are:
1) Develop software iteratively -- agile methods I think work just as well here
2) Manage requirements -- they emphasize use cases and scenarios, as in agile!
3) Use component-based architectures -- I think Python is a great example of this in practice; developers of Python have made dozens upon dozens of robust and useful components for the language
4) Visually model software -- this is where UML comes into play. I think we need to use this more.
5) Verify software quality -- Here I think agile is better - test first!
6) Control changes to software -- this is what good version control software is all about, right?
Here's a visual of how they envision the "process":

I think our team could do better with a vision document and a bigger overall picture of what we want to create.
The rest of the doc goes into details about this process.
I definitely see how important an easy tool for bookkeeping would be!
And the IBM 6 best practices for a software development team are:
1) Develop software iteratively -- agile methods I think work just as well here
2) Manage requirements -- they emphasize use cases and scenarios, as in agile!
3) Use component-based architectures -- I think Python is a great example of this in practice; developers of Python have made dozens upon dozens of robust and useful components for the language
4) Visually model software -- this is where UML comes into play. I think we need to use this more.
5) Verify software quality -- Here I think agile is better - test first!
6) Control changes to software -- this is what good version control software is all about, right?
Here's a visual of how they envision the "process":

I think our team could do better with a vision document and a bigger overall picture of what we want to create.
The rest of the doc goes into details about this process.
Wednesday, March 23, 2011
class monday
I've been watching the video from Monday's class. My team has done a great job responding to what Joe brought up, based on our conversations in our meeting today.
I am very impressed by what everyone has accomplished, and it makes me committed to work harder this next week to output as much as everyone else is.
Tuesday, March 22, 2011
long, empty week
Somehow I accomplished nothing over spring break.
Well, I got my job back. Took a drug test. Read a computer science book. Accepted a counteroffer from a bank. Wrote a script for the Independent Sets problem. Wrote some variations on a self-assembler and missile in the Linden language. Spent some time on the next kaggle competition.
What has been delaying me here? Poor time management, I guess. Not focusing on this as my priority. I catch up on what my team is doing, and then I run out of energy. Often not having access to the internet -- I fixed that problem yesterday. I will renew my focus tomorrow.
Thursday, March 10, 2011
Asana collaboration tool
http://asana.com/2011/02/asana-demo-vision-talk/
this talk is about a cool new tool. Their goal is to have a product that is as fast as notepad, that updates immediately across the network, that holds all "truth" about a project with multiple ways of distilling and viewing the data, and that keeps all conversations about the project attached to the actual tasks in the project.
I like how it is very notepad-like in updating and changing things. Every task has a chat attached to it, where people can "follow" the task and be emailed when a note about it updates. Responding to the email also updates the task chat, like in google groups. It is easy to move assignments around to people. When a task is finished, all the followers are notified.
Very social-appified, which makes sense because they came from Google then Facebook.
This tool could really help us with our team meetings and coordination, much better than Google sites. It looks like they also built in ways to collaborate your software and components with other developers, so you can use your social networking to get tools, information and help you need to progress as a company. Their goal is to have "business to business virality".
They also developed an in-house web app programming language to speed the design and deployment of that kind of software, called "lunascript".
I applied to see if our team can beta-test their product.
Subscribe to:
Posts (Atom)