Software Development

Correcting The Future

Project V Refactored

Been working on Project V a lot this past week. Mostly putting my new skiplist library to good use. I've refactored Project V to use it and things are indeed much simpler now. Compiled it and it ran fine. As I've been planning for ages, I will finish my text editor GUI component (something simple) so that I build a command line. This way, I can implement something much faster than building GUI interface for everything I need. The 'connect' and 'execute' commands are what I'm most interested in.

Looks like there will be a new release for my skiplist library. Funny how the only things I did not have unit tests for each had a bug. Iterators for the composite list weren't tested and its refresh() method wouldn't even compile. That's the deal with templates. It doesn't compile what you don't use emphasizing the need for unit tests. And the two extra delegate containers for the composite lists also had a couple issues. The comparison predicates weren't initialized properly and the scan_key() routine assumed the key was the element itself (reused from containers that act like a set). Now, scan_key() uses the key() method that invokes the proper predicate, if any, to obtain the key.

This has all been fixed and I'm actually using these containers so the quality of the skiplist library should improve quickly, if needed. I'll likely release the new version sometime this week. If you don't use composite containers, the existing version works fine.

I'll post more updates as work on Project V progresses.

New Version of SkipList Library ReleasedTransition

Comments

Unregistered user Thursday, January 27, 2011 4:56:10 AM

Anonymous writes: I've been following your blog for a while now and i just got done watching the new tron so i have to ask if there is any news on project v and if at the end of it will the programs created with it try and enter our world?

Vorlath Thursday, January 27, 2011 12:34:34 PM

I'm working on another contract right now. But Project V is advancing. I'm working on the command line right now so as to let me implement functionality without having to have all the GUI interface stuff ready. I'll be able to implement those later.

As for the programs entering our world, this will only happen when we can create a bridge to their world and where *WE* can enter their realm. This will allow them to steal our consciousness and duplicate and enhance it for their own nefarious schemes to take over the real world. That is the ultimate objective after all. However, I hold the key. I am the creator.
bigsmile

Unregistered user Tuesday, March 29, 2011 10:23:44 PM

Anonymous writes: I was wondering, What would make project v different from something like labview? What would you keep and what would you change?

Vorlath Wednesday, March 30, 2011 10:29:41 AM

Labview can take advantage of a lot of stuff I've talked about. I think where Project V differs is how it works at a fundamental level. The developer will have more access to how everything works if you want to go there. It's also not a simulator. The way implementations works is that they can be automatically upgraded in some cases. I've mentioned many times if your video card can process the data, then it'll use that if it's faster (or better according to some other specification). So portability is important to me when it comes to different kinds of hardware.

You can write your own runtime. You'll even be able to write your own dataflow engine if you want and have it linked to other networks that use a different dataflow engine. You can change it while it's executing.

I don't know if Labview can do all those things, but there are some design decisions in Project V that will enable it to do anything in Labview and more.

Another design consideration is that ANYTHING can be part of the network. For example, user interfaces can actually include the user within the network itself. So you pass data to the user component (that's you), and the response from the user will continue the dataflow network. It doesn't even need to be the same network. So you can have networks that are no longer locked into just modeling machines. Shipping companies could use this. Heck, anything where people are involved and move around or commit tasks.

There's lots more at the fundamental level, but that should give you a general idea.

Write a comment

New comments have been disabled for this post.

June 2012
S M T W T F S
May 2012July 2012
1 2
3 4 5 6 7 8 9
10 11 12 13 14 15 16
17 18 19 20 21 22 23
24 25 26 27 28 29 30