Jump to content
Xtreme .Net Talk

Merrion

*Experts*
  • Posts

    269
  • Joined

  • Last visited

Everything posted by Merrion

  1. How would I go about integrating my .CHM files into the visual studio help system? Any ideas?
  2. Freelance systems analyst/programmer. Mostly VB5/6 on Sybase with a tad of VB.Net and SQL Server
  3. Aha -put System.Runtime.CompilerServices.MethodImplAttribute attribute on the function signature and specify Synchronised...sweet.
  4. I have a single function that may be called by more than one thread at once but I want it to be a critical region i.e. if one thread is already in it make the other thread wait for the region to be freed before entering. Any ideas?
  5. Version 1.3 is up now ... enjoy
  6. The situation is that my current contact ends 23 of this month. It's easy steady work but it's VB5 and no prospect of upgrading my knowledge. Should I instead take a month or two off and learn VB.Net in the hope of picking up a VB.Net contract?
  7. In case anyone is interested, version 1.1 (the first "Release" build ) was posted today. Numerous bug fixes and enhanced operation.
  8. IEnvironment / IGenome / IGene Public MustInherit Class IEnvironment Public MustOverride Function GetPopulation() As IPopulation End Class #Region "IGenome base class" '\\ --[iGenome]---------------------------------------------------------------------------- '\\ The genome defines the number of genes a member of a population has and their explicit '\\ locations. These locations have an explicit meaning in relation to the problem being '\\ tested by the environment and are not interchangeable '\\ ---------------------------------------------------------------------------------------- Public MustInherit Class IGenome Inherits System.Collections.DictionaryBase End Class #End Region #Region "Individuals type safe collection" '\\ --[individuals]------------------------------------------------------------------------- '\\ A collection of IGenome based objects '\\ ---------------------------------------------------------------------------------------- Public Class Individuals Inherits System.Collections.CollectionBase End Class #End Region '\\ --[iPopulation]------------------------------------------------------------------------ '\\ The population represents a set of potential solutions to the problem. It can be '\\ created from a randomly generated, or seeded by a predefined set, of individuals. '\\ ---------------------------------------------------------------------------------------- Public MustInherit Class IPopulation Inherits System.Collections.CollectionBase Public MustOverride Function Breed(ByVal Parents As Individuals) As IGenome #Region "Public constructors" Public Sub New() End Sub Public Sub New(ByVal Seedgroup As Individuals) End Sub #End Region End Class '\\ --[iGene]------------------------------------------------------------------------------- '\\ The gene holds the current value for an individual variable that is used to compute the '\\ gene set's fitness to solve the environment's problem '\\ ---------------------------------------------------------------------------------------- Public MustInherit Class IGene Public MustOverride Property Value() As Integer Public MustOverride Property MinimumValue() As Integer Public MustOverride Property MaximumValue() As Integer End Class
  9. I am making a control which monitors the print queue and allows you to get information on the jobs as they are added (see http://www.merrioncomputing.com/Download/PrintQueueWatch.htm ) but there doesn't seem to be any way of finding out what the margins settings for the print job are - any ideas?
  10. Keep learning .NET etc. and then shaft them the minute the market picks up...
  11. It does get better - especially when you do something in VB.Net that was nigh-on impossible in VB6, like multi-threading or directly accessing the control or form's message queue etc. etc.
  12. Anybody got any of Daniel Appleman's E-books? I am interested in buying this one but wanted to know if anyone has experience with them (or buying E-books in general). I realise that $9.95 is little money but I do like to have a look at a book in a store before I buy it...
  13. I've added the "compile the toolbox icon into the component" to the ever expanding todo list...apparently it is done like this....
  14. Originally MerrionComputing.info was a custom licensing requirement - but I have removed this. Just haven't updated the documentation as my upgraded version of Document!X hasn't arrived. There are lots of holes in the .Net framework that still require API coding - for example there seems to be no way to add/remove users from user permissions from a DACL without recourse to the AddAccessAllowedAce type API stuff. I'm sure the framework will support this as soon as I have committed another hundred hours to getting it working :(... Do you know how to compile the toolbox bitmap into the application? The attribute <ToolboxBitmap()> seems to require a filename, which is a bit odd. I suppose the default component bitmap isn't too bad anyway...
  15. A large number of the API calls have been subsumed into the .NET framework but the syntax is nearly exactly the same so if you learn the API it isn't a total waste...also this is a good way to learn how the OS works which is handy for tracking down the more eosoteric bugs.
  16. But answer came their none... It turns out that they are not part of the .NET framework. There is a C# example on GotDotNet and for completeness I am going to rewrite this in VB.Net...so much for the quiet life.
  17. Anybody know if the functionality of the discretionary access control lists is in th emanaged framework anywhere --- i.e. can I programatically add or remove user permissions for a given shared printer without getting down and dirty with the API?
  18. There's a new version up on the site that exposes the print job collection (so you can iterate through it and do whatever) and the printer information (status i.e. out of paper, off line etc and location, comment, job count etc.) and it's licensed until 2003-06-06 if anyone would like to give it a look-see ;)
  19. I think an intermediary between Individual and Gene is needed because the position of a gene in the set is also an important factor.... IGeneSet A known-layout collection of genes that is constant across all individuals belonging to the same population.
  20. I'll have you know I haven't had a cont all night drinkstable ;) Now the terrarium is a simulation type thing which is all well and good but what I want to do is use the .NET programming env. to do what these eggheads are doing. I'm only Irish by marriage...but sure that's close enough ;)
  21. At the moment I only envisage one population which is a collection of like typed individuals, because until I have that sorted there is no way I will be able to work out any predator-prey type interactions between populations. OK - the individual has a collection of genes. Each gene has a value and a name and affects one aspect of the problem space. All individuals have the same set of genes by name, but perhaps different values. When two individuals breed (probably implemented by IPopulation as it doesn't make sense for individuals to be in charge of their own breeding - or does it?) then the offspring has a gene pool that contains genes randomly selected from either parent (plus a random error factor determined by the environment?).
  22. It's a good start. OK - the environment determines the health of the individual. In the real world of evolution for example if the individual is a short-legged zebra then the environment will cause it to be eaten by lions. Interface IEnvironment Sub CalculateIndividualsViability(Individual As IIndividual) Readonly Property Population() As IPopulation End Iterface When an individual is passed to this subroutine it can either be passed as viable or killed off as being unviable. ... *goes off to seek stronger coffee....*
  23. An evolutionary computing framework is one that facilitates the principles of evolution for solving problems. The main players are: IEnvironment - The interface that defines the environment of the problem. The environment is responsible for defining the viability of individuals. IPopulation is a type safe collection class with additional methods for querying the population as a whole (such as the average viability and viability spread etc.) and affecting it (culling). IIndividual is a single individual that represents a possible solution in the problem. An individual has a set of genes that define it's solution to the problem space and individuals may breed which will result in offspring with genes selected at random from each parent. IGene represents a parameter that affects a part of the solution. For example, suppose we have a chess board with a game in play and want to select the best next move. Our class that inherits IEnvironment needs to supply a method that returns the viability of an individual - i.e. how sensible a move is. Genes are created that specify which piece to move and which of it's possible end positions to chose. The population is seeded with a random set of individuals with a random mix of these genes. The population is allowed to breed and then the bottom half are culled. This process is repeated a number of times until the population has a zero (or prechosen very low) viability spread. An individual in this population fits our best move. The power of this framework is that it can be mapped to a huge range of problems by setting the environment and genes and the same underlying processes can be used to solve these problems. Anyway - that is where I have got to. Any thoughts?
  24. You know how there's that [ a p i ] tag on the other forum that takes you to the relevant API declaration in AllApi.net...what are the chances of an [ m s d n ] tag here that takes you to the class definition in MSDN. e.g. becomes
  25. It's not really a simple collection - I am overstating that part of things...it is a DictionaryBase derived collection of PrintJobs which have readonly, conditional read/write and should not be bound properties...
×
×
  • Create New...