Dictionary thread-safe-ness

2010-06-03 Thread Wallace Turner
Hi,

 

In short, could you encounter a deadlock whilst accessing a Dictionary
object in a thread-unsafe manner ?

 

Consider a class containing a Dictionary and a method to add to the
Dictionary. Assume 2 threads call Add( ) 

 

 

public class SomeClass

{ 

  private Dictionaryint, ListClassA _dictionary = new
Dictionaryint, ListClassA();

 

  private void Add(int id, ClassA someObj)

  {

ListClassA list = null;

if (!_dictionary.TryGetValue(id, out list))//thread1
hung here

{

  list = new ListClassA();

  list.Add(someObj);//thread2 hung here

  _dictionary.Add(id, list);

}

else

{

  list.Add(someObj);

}

  }

}

 

I encountered a deadlock recently. When I paused the debugger the threads
were hung at the indicated position. That is, one was trying to Get and the
other trying to Add.

 

The docs regarding Dictionary and Thread Safety state:

A DictionaryTKey, TValue can support multiple readers concurrently, as
long as the collection is not modified. Even so, enumerating through a
collection is intrinsically not a thread-safe procedure. In the rare case
where an enumeration contends with write accesses, the collection must be
locked during the entire enumeration. To allow the collection to be accessed
by multiple threads for reading and writing, you must implement your own
synchronization.

It says 'must be locked' without explaining the consequences. I am aware of
the non-deadlocking consequences but I didn't expect it to deadlock!
(perhaps it did not and it was something else, I had lots of threads and did
not investigate this at the time)

 

Regards

 

Wal



RE: Dictionary thread-safe-ness

2010-06-03 Thread Mitch Wheat
Yes, you could encounter a deadlock during threads writing un-synchronised
to a dictionary.

 

Not necessarily what happened in your case, but as an example imagine a
linked list having its links modified incorrectly, you could end up with 2
links pointing to each other with .Next  never terminating!

 

Mitch

 

From: ozdotnet-boun...@ozdotnet.com [mailto:ozdotnet-boun...@ozdotnet.com]
On Behalf Of Wallace Turner
Sent: Thursday, 3 June 2010 7:39 PM
To: 'ozDotNet'
Subject: Dictionary thread-safe-ness

 

Hi,

 

In short, could you encounter a deadlock whilst accessing a Dictionary
object in a thread-unsafe manner ?

 

Consider a class containing a Dictionary and a method to add to the
Dictionary. Assume 2 threads call Add( ) 

 

 

public class SomeClass

{ 

  private Dictionaryint, ListClassA _dictionary = new
Dictionaryint, ListClassA();

 

  private void Add(int id, ClassA someObj)

  {

ListClassA list = null;

if (!_dictionary.TryGetValue(id, out list))//thread1
hung here

{

  list = new ListClassA();

  list.Add(someObj);//thread2 hung here

  _dictionary.Add(id, list);

}

else

{

  list.Add(someObj);

}

  }

}

 

I encountered a deadlock recently. When I paused the debugger the threads
were hung at the indicated position. That is, one was trying to Get and the
other trying to Add.

 

The docs regarding Dictionary and Thread Safety state:

A DictionaryTKey, TValue can support multiple readers concurrently, as
long as the collection is not modified. Even so, enumerating through a
collection is intrinsically not a thread-safe procedure. In the rare case
where an enumeration contends with write accesses, the collection must be
locked during the entire enumeration. To allow the collection to be accessed
by multiple threads for reading and writing, you must implement your own
synchronization.

It says 'must be locked' without explaining the consequences. I am aware of
the non-deadlocking consequences but I didn't expect it to deadlock!
(perhaps it did not and it was something else, I had lots of threads and did
not investigate this at the time)

 

Regards

 

Wal



RE: Dictionary thread-safe-ness

2010-06-03 Thread Wallace Turner
Hi Mitch,

 

In my specific example are linked lists used? (curious on implementation)

 

Wal

 

From: ozdotnet-boun...@ozdotnet.com [mailto:ozdotnet-boun...@ozdotnet.com]
On Behalf Of Mitch Wheat
Sent: Thursday, 3 June 2010 10:24 PM
To: 'ozDotNet'
Subject: RE: Dictionary thread-safe-ness

 

Yes, you could encounter a deadlock during threads writing un-synchronised
to a dictionary.

 

Not necessarily what happened in your case, but as an example imagine a
linked list having its links modified incorrectly, you could end up with 2
links pointing to each other with .Next  never terminating!

 

Mitch

 

From: ozdotnet-boun...@ozdotnet.com [mailto:ozdotnet-boun...@ozdotnet.com]
On Behalf Of Wallace Turner
Sent: Thursday, 3 June 2010 7:39 PM
To: 'ozDotNet'
Subject: Dictionary thread-safe-ness

 

Hi,

 

In short, could you encounter a deadlock whilst accessing a Dictionary
object in a thread-unsafe manner ?

 

Consider a class containing a Dictionary and a method to add to the
Dictionary. Assume 2 threads call Add( ) 

 

 

public class SomeClass

{ 

  private Dictionaryint, ListClassA _dictionary = new
Dictionaryint, ListClassA();

 

  private void Add(int id, ClassA someObj)

  {

ListClassA list = null;

if (!_dictionary.TryGetValue(id, out list))//thread1
hung here

{

  list = new ListClassA();

  list.Add(someObj);//thread2 hung here

  _dictionary.Add(id, list);

}

else

{

  list.Add(someObj);

}

  }

}

 

I encountered a deadlock recently. When I paused the debugger the threads
were hung at the indicated position. That is, one was trying to Get and the
other trying to Add.

 

The docs regarding Dictionary and Thread Safety state:

A DictionaryTKey, TValue can support multiple readers concurrently, as
long as the collection is not modified. Even so, enumerating through a
collection is intrinsically not a thread-safe procedure. In the rare case
where an enumeration contends with write accesses, the collection must be
locked during the entire enumeration. To allow the collection to be accessed
by multiple threads for reading and writing, you must implement your own
synchronization.

It says 'must be locked' without explaining the consequences. I am aware of
the non-deadlocking consequences but I didn't expect it to deadlock!
(perhaps it did not and it was something else, I had lots of threads and did
not investigate this at the time)

 

Regards

 

Wal



RE: Dictionary thread-safe-ness

2010-06-03 Thread Mitch Wheat
It's a hashtable, and it uses an array of linked lists

 

From: ozdotnet-boun...@ozdotnet.com [mailto:ozdotnet-boun...@ozdotnet.com]
On Behalf Of Wallace Turner
Sent: Thursday, 3 June 2010 8:26 PM
To: 'ozDotNet'
Subject: RE: Dictionary thread-safe-ness

 

Hi Mitch,

 

In my specific example are linked lists used? (curious on implementation)

 

Wal

 

From: ozdotnet-boun...@ozdotnet.com [mailto:ozdotnet-boun...@ozdotnet.com]
On Behalf Of Mitch Wheat
Sent: Thursday, 3 June 2010 10:24 PM
To: 'ozDotNet'
Subject: RE: Dictionary thread-safe-ness

 

Yes, you could encounter a deadlock during threads writing un-synchronised
to a dictionary.

 

Not necessarily what happened in your case, but as an example imagine a
linked list having its links modified incorrectly, you could end up with 2
links pointing to each other with .Next  never terminating!

 

Mitch

 

From: ozdotnet-boun...@ozdotnet.com [mailto:ozdotnet-boun...@ozdotnet.com]
On Behalf Of Wallace Turner
Sent: Thursday, 3 June 2010 7:39 PM
To: 'ozDotNet'
Subject: Dictionary thread-safe-ness

 

Hi,

 

In short, could you encounter a deadlock whilst accessing a Dictionary
object in a thread-unsafe manner ?

 

Consider a class containing a Dictionary and a method to add to the
Dictionary. Assume 2 threads call Add( ) 

 

 

public class SomeClass

{ 

  private Dictionaryint, ListClassA _dictionary = new
Dictionaryint, ListClassA();

 

  private void Add(int id, ClassA someObj)

  {

ListClassA list = null;

if (!_dictionary.TryGetValue(id, out list))//thread1
hung here

{

  list = new ListClassA();

  list.Add(someObj);//thread2 hung here

  _dictionary.Add(id, list);

}

else

{

  list.Add(someObj);

}

  }

}

 

I encountered a deadlock recently. When I paused the debugger the threads
were hung at the indicated position. That is, one was trying to Get and the
other trying to Add.

 

The docs regarding Dictionary and Thread Safety state:

A DictionaryTKey, TValue can support multiple readers concurrently, as
long as the collection is not modified. Even so, enumerating through a
collection is intrinsically not a thread-safe procedure. In the rare case
where an enumeration contends with write accesses, the collection must be
locked during the entire enumeration. To allow the collection to be accessed
by multiple threads for reading and writing, you must implement your own
synchronization.

It says 'must be locked' without explaining the consequences. I am aware of
the non-deadlocking consequences but I didn't expect it to deadlock!
(perhaps it did not and it was something else, I had lots of threads and did
not investigate this at the time)

 

Regards

 

Wal



Re: .NET Obfuscator Software..free!

2010-06-03 Thread .net noobie
http://www.babelfor.net

*Protect software components realized with Microsoft .NET Framework in order
to protect intellectual property and makes reverse engineering difficult.*
* *
*Supports .NET Framework 4.0 and Visual Studio 2010*


I have never used it, just saved the link for a rainy day :)


from this blog post

http://www.andybeaulieu.com/Home/tabid/67/EntryID/198/Default.aspx
Obfuscating Silverlight (for free)



On Thu, Jun 3, 2010 at 8:11 PM, Anthony asale...@tpg.com.au wrote:

 I assume that if the client doesn’t ask for the code then i don’t give it
out.  I would increase my fee if they want the code anyway



 From: ozdotnet-boun...@ozdotnet.com [mailto:ozdotnet-boun...@ozdotnet.com]
On Behalf Of Michael Minutillo
 Sent: Thursday, 3 June 2010 3:07 PM
 To: ozDotNet

 Subject: Re: .NET Obfuscator Software..free!



 Well most clients I have dealt with in the past end up with the source
code.



  After all, clients have been accepting obfuscated code since time
immemorial already! (Well, at least since the 1980s.) That's what compiled
code is! Unless you wanted to reverse engineer to assembly language, pretty
much everything was obfuscated.



 In the form of a product that is true. But if that were the case I would
expect the OP would have wanted to obfuscate the entire solution. As there
is a single binary to be obfuscated (and it gets used a lot) it sounds more
likely that it is being used in custom software that is developed for a
single client. For the client:



 If they purchase a library then they get a support contract so if things
go wrong they get fixed

 If they use an open source library then they get the code so they can fix
issues or pass them on to someone to fix.

 If the developer hands them a library which is neither they could be in
trouble.



 If you are selling a product with support then this is OK because you have
an agreement with the client that you'll fix anything that goes wrong. If
you were to have a falling out with the client over an invoice or something
(it happens) then they effectively have a piece of software that only you
(someone they no longer wish to do business with) can maintain.



 As a client I would consider that an unacceptable risk.



 On Thu, Jun 3, 2010 at 12:48 PM, Dylan Tusler 
dylan.tus...@sunshinecoast.qld.gov.au wrote:

  That is potentially a pretty dangerous risk for a client to accept isn't
it? Unless it contains some kind of proprietary algorithm or something I'm
not sure it's a great idea.



 That's a pretty weird point of view.



 After all, clients have been accepting obfuscated code since time
immemorial already! (Well, at least since the 1980s.) That's what compiled
code is! Unless you wanted to reverse engineer to assembly language, pretty
much everything was obfuscated.



 Dylan.






-

 To find out more about the Sunshine Coast Council, visit your local
council office at Caloundra, Maroochydore, Nambour or Tewantin. Or, if you
prefer, visit us on line at www.sunshinecoast.qld.gov.au

 This email, together with any attachments, is intended for the named
recipient(s) only. Any form of review, disclosure, modification,
distribution and or publication of this email message is prohibited without
the express permission of the author. Please notify the sender immediately
if you have received this email by mistake and delete it from your system.
Unless otherwise stated, this email represents only the views of the sender
and not the views of the Sunshine Coast Regional Council.
 maile 3_1_0


 --
 Michael M. Minutillo
 Indiscriminate Information Sponge
 Blog: http://wolfbyte-net.blogspot.com


Re: .NET Obfuscator Software..free!

2010-06-03 Thread Joseph Cooney
Eazfuscator is OKaccording to the reverse-engineering forums pretty much
all the .NET obfuscators can be broken, but they seemed to rate
SmartAssembly (not free) the highest.

Joseph

On Fri, Jun 4, 2010 at 12:53 AM, .net noobie dotnetnoo...@gmail.com wrote:

 http://www.babelfor.net

 *Protect software components realized with Microsoft .NET Framework in
 order to protect intellectual property and makes reverse engineering
 difficult.*
 * *
 *Supports .NET Framework 4.0 and Visual Studio 2010*


 I have never used it, just saved the link for a rainy day :)


 from this blog post

 http://www.andybeaulieu.com/Home/tabid/67/EntryID/198/Default.aspx
 Obfuscating Silverlight (for free)



 On Thu, Jun 3, 2010 at 8:11 PM, Anthony asale...@tpg.com.au wrote:
 
  I assume that if the client doesn’t ask for the code then i don’t give it
 out.  I would increase my fee if they want the code anyway
 
 
 
  From: ozdotnet-boun...@ozdotnet.com [mailto:
 ozdotnet-boun...@ozdotnet.com] On Behalf Of Michael Minutillo
  Sent: Thursday, 3 June 2010 3:07 PM
  To: ozDotNet
 
  Subject: Re: .NET Obfuscator Software..free!
 
 
 
  Well most clients I have dealt with in the past end up with the source
 code.
 
 
 
   After all, clients have been accepting obfuscated code since time
 immemorial already! (Well, at least since the 1980s.) That's what compiled
 code is! Unless you wanted to reverse engineer to assembly language, pretty
 much everything was obfuscated.
 
 
 
  In the form of a product that is true. But if that were the case I would
 expect the OP would have wanted to obfuscate the entire solution. As there
 is a single binary to be obfuscated (and it gets used a lot) it sounds more
 likely that it is being used in custom software that is developed for a
 single client. For the client:
 
 
 
  If they purchase a library then they get a support contract so if things
 go wrong they get fixed
 
  If they use an open source library then they get the code so they can fix
 issues or pass them on to someone to fix.
 
  If the developer hands them a library which is neither they could be in
 trouble.
 
 
 
  If you are selling a product with support then this is OK because you
 have an agreement with the client that you'll fix anything that goes wrong.
 If you were to have a falling out with the client over an invoice or
 something (it happens) then they effectively have a piece of software that
 only you (someone they no longer wish to do business with) can maintain.
 
 
 
  As a client I would consider that an unacceptable risk.
 
 
 
  On Thu, Jun 3, 2010 at 12:48 PM, Dylan Tusler 
 dylan.tus...@sunshinecoast.qld.gov.au wrote:
 
   That is potentially a pretty dangerous risk for a client to accept
 isn't it? Unless it contains some kind of proprietary algorithm or something
 I'm not sure it's a great idea.
 
 
 
  That's a pretty weird point of view.
 
 
 
  After all, clients have been accepting obfuscated code since time
 immemorial already! (Well, at least since the 1980s.) That's what compiled
 code is! Unless you wanted to reverse engineer to assembly language, pretty
 much everything was obfuscated.
 
 
 
  Dylan.
 
 
 
 
 
 
 -
 
  To find out more about the Sunshine Coast Council, visit your local
 council office at Caloundra, Maroochydore, Nambour or Tewantin. Or, if you
 prefer, visit us on line at www.sunshinecoast.qld.gov.au
 
  This email, together with any attachments, is intended for the named
 recipient(s) only. Any form of review, disclosure, modification,
 distribution and or publication of this email message is prohibited without
 the express permission of the author. Please notify the sender immediately
 if you have received this email by mistake and delete it from your system.
 Unless otherwise stated, this email represents only the views of the sender
 and not the views of the Sunshine Coast Regional Council.
  maile 3_1_0
 
 
  --
  Michael M. Minutillo
  Indiscriminate Information Sponge
  Blog: http://wolfbyte-net.blogspot.com





-- 
Joseph Cooney

http://jcooney.net


Re: .NET Obfuscator Software..free!

2010-06-03 Thread Grant Maw
Interesting position. Your situation is obviously different to ours, but
when we write code for clients we always hand over the source code either at
the end of the job, or upon request. This is understood from the start. I
can't imagine doing it any other way.


On 3 June 2010 20:11, Anthony asale...@tpg.com.au wrote:

  I assume that if the client doesn’t ask for the code then i don’t give it
 out.  I would increase my fee if they want the code anyway



 *From:* ozdotnet-boun...@ozdotnet.com [mailto:
 ozdotnet-boun...@ozdotnet.com] *On Behalf Of *Michael Minutillo
 *Sent:* Thursday, 3 June 2010 3:07 PM
 *To:* ozDotNet

 *Subject:* Re: .NET Obfuscator Software..free!



 Well most clients I have dealt with in the past end up with the source
 code.



  After all, clients have been accepting obfuscated code since time
 immemorial already! (Well, at least since the 1980s.) That's what compiled
 code is! Unless you wanted to reverse engineer to assembly language, pretty
 much everything was obfuscated.



 In the form of a product that is true. But if that were the case I would
 expect the OP would have wanted to obfuscate the entire solution. As there
 is a single binary to be obfuscated (and it gets used a lot) it sounds more
 likely that it is being used in custom software that is developed for a
 single client. For the client:



 If they purchase a library then they get a support contract so if things go
 wrong they get fixed

 If they use an open source library then they get the code so they can fix
 issues or pass them on to someone to fix.

 If the developer hands them a library which is neither they could be in
 trouble.



 If you are selling a product with support then this is OK because you have
 an agreement with the client that you'll fix anything that goes wrong. If
 you were to have a falling out with the client over an invoice or something
 (it happens) then they effectively have a piece of software that only you
 (someone they no longer wish to do business with) can maintain.



 As a client I would consider that an unacceptable risk.



 On Thu, Jun 3, 2010 at 12:48 PM, Dylan Tusler 
 dylan.tus...@sunshinecoast.qld.gov.au wrote:

  That is potentially a pretty dangerous risk for a client to accept isn't
 it? Unless it contains some kind of proprietary algorithm or something I'm
 not sure it's a great idea.



 That's a pretty weird point of view.



 After all, clients have been accepting obfuscated code since time
 immemorial already! (Well, at least since the 1980s.) That's what compiled
 code is! Unless you wanted to reverse engineer to assembly language, pretty
 much everything was obfuscated.



 Dylan.






 -


 To find out more about the Sunshine Coast Council, visit your local council
 office at Caloundra, Maroochydore, Nambour or Tewantin. Or, if you prefer,
 visit us on line at www.sunshinecoast.qld.gov.au

 This email, together with any attachments, is intended for the named
 recipient(s) only. Any form of review, disclosure, modification,
 distribution and or publication of this email message is prohibited without
 the express permission of the author. Please notify the sender immediately
 if you have received this email by mistake and delete it from your system.
 Unless otherwise stated, this email represents only the views of the sender
 and not the views of the Sunshine Coast Regional Council.
 maile 3_1_0




 --
 Michael M. Minutillo
 Indiscriminate Information Sponge
 Blog: http://wolfbyte-net.blogspot.com



Re: .NET Obfuscator Software..free!

2010-06-03 Thread Arjang Assadi
Hi Anthony,

Please forgive my ignorance but my question is what is normal
practice? What is meant by work? When quoting hourly rate, I assume
that at the end they would get everything and since I have been paid
for the time to produce it, it belongs to them.

Kind Regards

Arjang


On 3 June 2010 20:11, Anthony asale...@tpg.com.au wrote:
 I assume that if the client doesn’t ask for the code then i don’t give it
 out.  I would increase my fee if they want the code anyway



 From: ozdotnet-boun...@ozdotnet.com [mailto:ozdotnet-boun...@ozdotnet.com]
 On Behalf Of Michael Minutillo
 Sent: Thursday, 3 June 2010 3:07 PM
 To: ozDotNet

 Subject: Re: .NET Obfuscator Software..free!



 Well most clients I have dealt with in the past end up with the source code.



 After all, clients have been accepting obfuscated code since time
 immemorial already! (Well, at least since the 1980s.) That's what compiled
 code is! Unless you wanted to reverse engineer to assembly language, pretty
 much everything was obfuscated.



 In the form of a product that is true. But if that were the case I would
 expect the OP would have wanted to obfuscate the entire solution. As there
 is a single binary to be obfuscated (and it gets used a lot) it sounds more
 likely that it is being used in custom software that is developed for a
 single client. For the client:



 If they purchase a library then they get a support contract so if things go
 wrong they get fixed

 If they use an open source library then they get the code so they can fix
 issues or pass them on to someone to fix.

 If the developer hands them a library which is neither they could be in
 trouble.



 If you are selling a product with support then this is OK because you have
 an agreement with the client that you'll fix anything that goes wrong. If
 you were to have a falling out with the client over an invoice or something
 (it happens) then they effectively have a piece of software that only you
 (someone they no longer wish to do business with) can maintain.



 As a client I would consider that an unacceptable risk.



 On Thu, Jun 3, 2010 at 12:48 PM, Dylan Tusler
 dylan.tus...@sunshinecoast.qld.gov.au wrote:

 That is potentially a pretty dangerous risk for a client to accept isn't
 it? Unless it contains some kind of proprietary algorithm or something I'm
 not sure it's a great idea.



 That's a pretty weird point of view.



 After all, clients have been accepting obfuscated code since time
 immemorial already! (Well, at least since the 1980s.) That's what compiled
 code is! Unless you wanted to reverse engineer to assembly language, pretty
 much everything was obfuscated.



 Dylan.





 -

 To find out more about the Sunshine Coast Council, visit your local council
 office at Caloundra, Maroochydore, Nambour or Tewantin. Or, if you prefer,
 visit us on line at www.sunshinecoast.qld.gov.au

 This email, together with any attachments, is intended for the named
 recipient(s) only. Any form of review, disclosure, modification,
 distribution and or publication of this email message is prohibited without
 the express permission of the author. Please notify the sender immediately
 if you have received this email by mistake and delete it from your system.
 Unless otherwise stated, this email represents only the views of the sender
 and not the views of the Sunshine Coast Regional Council.
 maile 3_1_0


 --
 Michael M. Minutillo
 Indiscriminate Information Sponge
 Blog: http://wolfbyte-net.blogspot.com


RE: .NET Obfuscator Software..free!

2010-06-03 Thread Paul Samways
We use Smart Assembly and it seems to work pretty well, haven't run into any
problems so far.

 

Also now that Red Gate have acquired both Reflector and Smart Assembly
they're in a unique position in the obfuscation market.

 

Paul.

 

From: ozdotnet-boun...@ozdotnet.com [mailto:ozdotnet-boun...@ozdotnet.com]
On Behalf Of Joseph Cooney
Sent: Friday, 4 June 2010 8:11 AM
To: ozDotNet
Subject: Re: .NET Obfuscator Software..free!

 

Eazfuscator is OKaccording to the reverse-engineering forums pretty much
all the .NET obfuscators can be broken, but they seemed to rate
SmartAssembly (not free) the highest.

 

Joseph

On Fri, Jun 4, 2010 at 12:53 AM, .net noobie dotnetnoo...@gmail.com wrote:

http://www.babelfor.net http://www.babelfor.net/ 

 

Protect software components realized with Microsoft .NET Framework in order
to protect intellectual property and makes reverse engineering difficult.

 

Supports .NET Framework 4.0 and Visual Studio 2010

 

 

I have never used it, just saved the link for a rainy day :)

 

 

from this blog post

 

http://www.andybeaulieu.com/Home/tabid/67/EntryID/198/Default.aspx

Obfuscating Silverlight (for free)

 

 

 

On Thu, Jun 3, 2010 at 8:11 PM, Anthony asale...@tpg.com.au wrote:

 

 I assume that if the client doesn't ask for the code then i don't give it
out.  I would increase my fee if they want the code anyway

 

  

 

 From: ozdotnet-boun...@ozdotnet.com [mailto:ozdotnet-boun...@ozdotnet.com]
On Behalf Of Michael Minutillo

 Sent: Thursday, 3 June 2010 3:07 PM

 To: ozDotNet

 

 Subject: Re: .NET Obfuscator Software..free!

 

  

 

 Well most clients I have dealt with in the past end up with the source
code.

 

  

 

  After all, clients have been accepting obfuscated code since time
immemorial already! (Well, at least since the 1980s.) That's what compiled
code is! Unless you wanted to reverse engineer to assembly language, pretty
much everything was obfuscated.

 

  

 

 In the form of a product that is true. But if that were the case I would
expect the OP would have wanted to obfuscate the entire solution. As there
is a single binary to be obfuscated (and it gets used a lot) it sounds more
likely that it is being used in custom software that is developed for a
single client. For the client:

 

  

 

 If they purchase a library then they get a support contract so if things
go wrong they get fixed

 

 If they use an open source library then they get the code so they can fix
issues or pass them on to someone to fix.

 

 If the developer hands them a library which is neither they could be in
trouble.

 

  

 

 If you are selling a product with support then this is OK because you have
an agreement with the client that you'll fix anything that goes wrong. If
you were to have a falling out with the client over an invoice or something
(it happens) then they effectively have a piece of software that only you
(someone they no longer wish to do business with) can maintain. 

 

  

 

 As a client I would consider that an unacceptable risk.

 

  

 

 On Thu, Jun 3, 2010 at 12:48 PM, Dylan Tusler
dylan.tus...@sunshinecoast.qld.gov.au wrote:

 

  That is potentially a pretty dangerous risk for a client to accept isn't
it? Unless it contains some kind of proprietary algorithm or something I'm
not sure it's a great idea.

 

  

 

 That's a pretty weird point of view.

 

  

 

 After all, clients have been accepting obfuscated code since time
immemorial already! (Well, at least since the 1980s.) That's what compiled
code is! Unless you wanted to reverse engineer to assembly language, pretty
much everything was obfuscated.

 

  

 

 Dylan.

 

  

 

  

 



-

 

 To find out more about the Sunshine Coast Council, visit your local
council office at Caloundra, Maroochydore, Nambour or Tewantin. Or, if you
prefer, visit us on line at www.sunshinecoast.qld.gov.au

 

 This email, together with any attachments, is intended for the named
recipient(s) only. Any form of review, disclosure, modification,
distribution and or publication of this email message is prohibited without
the express permission of the author. Please notify the sender immediately
if you have received this email by mistake and delete it from your system.
Unless otherwise stated, this email represents only the views of the sender
and not the views of the Sunshine Coast Regional Council.

 maile 3_1_0

 

 

 --

 Michael M. Minutillo

 Indiscriminate Information Sponge

 Blog: http://wolfbyte-net.blogspot.com

 




-- 
Joseph Cooney

http://jcooney.net



ADWS (Active Directory Web Services)

2010-06-03 Thread Iain Carlin
Hi Folks,

ADWS (Active Directory Web Services) is available in 2008 R2.

I am wondering whether it can be used as a means to interrogate/update AD
from a .Net application (i.e. by adding a web reference to the service)?

I can't find any examples of using it other than with Powershell.

Cheers,

Iain

Note: I'm aware that I can use the System.DirectoryServices namespace - I'm
specifically interested in whether ADWS will do what I want out of the box
before I go building my own web service to do the same thing.


Re: Code Ownership WAS: RE: .NET Obfuscator Software..free!

2010-06-03 Thread Arjang Assadi
Thank you Dylan,

Simon, I don't understand the code for the work done for a specific
customer(s), can be a gold mine. I am not sure what owning the code
means, anyone and everyone (competent programmer) can reproduce the
same effect with some variation.

Kind Regards

Arjang

On 4 June 2010 09:34, Simon Haigh simon_ha...@pillar.com.au wrote:
 I always thought that being a contractor is similar to being an employee and 
 therefore the codebase would belong to the person/company who employed you 
 (unless otherwise specified).  Would that be correct?

 If not, I'm potentially sitting on a goldmine.  :-)

 -Original Message-
 From: ozdotnet-boun...@ozdotnet.com [mailto:ozdotnet-boun...@ozdotnet.com] On 
 Behalf Of Dylan Tusler
 Sent: Friday, 4 June 2010 09:21 AM
 To: 'ozDotNet'
 Subject: Code Ownership WAS: RE: .NET Obfuscator Software..free!

 Disclaimer: IANAL

 Employee - Any code you write is the property of your employer.

 Consultant - Any code you write is your property unless you explicitly assign 
 ownership to your client.

 Company - Any software you sell, the codebase remains your property, not the 
 property of your customer, unless there is a specific license agreement 
 indicating otherwise.

 For what its worth, when I was consulting, I used to assign code to my 
 customer explicitly, so that they could freely engage other developers to 
 work on it at a later date.

 If you are working on TM or are working fixed price, I don't think it 
 matters. What matters is the arrangement that you have made between yourself 
 and your customer/client/employer.

 Here's an article on the US perspective. It mentions the concept of a work 
 for hire agreement, which is where you cross the line between employee and 
 consultant: http://articles.techrepublic.com.com/5100-10878_11-5034783.html

 Dylan.



 -Original Message-
 From: ozdotnet-boun...@ozdotnet.com [mailto:ozdotnet-boun...@ozdotnet.com] On 
 Behalf Of Arjang Assadi
 Sent: Friday, 4 June 2010 8:38 AM
 To: ozDotNet
 Subject: Re: .NET Obfuscator Software..free!

 Hi Anthony,

 Please forgive my ignorance but my question is what is normal practice? What 
 is meant by work? When quoting hourly rate, I assume that at the end they 
 would get everything and since I have been paid for the time to produce it, 
 it belongs to them.

 Kind Regards

 Arjang


 On 3 June 2010 20:11, Anthony asale...@tpg.com.au wrote:
 I assume that if the client doesn't ask for the code then i don't give
 it out.  I would increase my fee if they want the code anyway



 From: ozdotnet-boun...@ozdotnet.com
 [mailto:ozdotnet-boun...@ozdotnet.com]
 On Behalf Of Michael Minutillo
 Sent: Thursday, 3 June 2010 3:07 PM
 To: ozDotNet

 Subject: Re: .NET Obfuscator Software..free!



 Well most clients I have dealt with in the past end up with the source code.



 After all, clients have been accepting obfuscated code since time
 immemorial already! (Well, at least since the 1980s.) That's what
 compiled code is! Unless you wanted to reverse engineer to assembly
 language, pretty much everything was obfuscated.



 In the form of a product that is true. But if that were the case I
 would expect the OP would have wanted to obfuscate the entire
 solution. As there is a single binary to be obfuscated (and it gets
 used a lot) it sounds more likely that it is being used in custom
 software that is developed for a single client. For the client:



 If they purchase a library then they get a support contract so if
 things go wrong they get fixed

 If they use an open source library then they get the code so they can
 fix issues or pass them on to someone to fix.

 If the developer hands them a library which is neither they could be
 in trouble.



 If you are selling a product with support then this is OK because you
 have an agreement with the client that you'll fix anything that goes
 wrong. If you were to have a falling out with the client over an
 invoice or something (it happens) then they effectively have a piece
 of software that only you (someone they no longer wish to do business with) 
 can maintain.



 As a client I would consider that an unacceptable risk.



 On Thu, Jun 3, 2010 at 12:48 PM, Dylan Tusler
 dylan.tus...@sunshinecoast.qld.gov.au wrote:

 That is potentially a pretty dangerous risk for a client to accept
 isn't it? Unless it contains some kind of proprietary algorithm or
 something I'm not sure it's a great idea.



 That's a pretty weird point of view.



 After all, clients have been accepting obfuscated code since time
 immemorial already! (Well, at least since the 1980s.) That's what
 compiled code is! Unless you wanted to reverse engineer to assembly
 language, pretty much everything was obfuscated.



 Dylan.





 --
 ---

 To find out more about the Sunshine Coast Council, visit your local
 council office at Caloundra, Maroochydore, Nambour or 

Re: Code Ownership WAS: RE: .NET Obfuscator Software..free!

2010-06-03 Thread Iain Carlin
On 4 June 2010 09:18, Arjang Assadi arjang.ass...@gmail.com wrote:

 Thank you Dylan,

 Simon, I don't understand the code for the work done for a specific
 customer(s), can be a gold mine. I am not sure what owning the code
 means, anyone and everyone (competent programmer) can reproduce the
 same effect with some variation.

 Kind Regards

 Arjang


Because if the system is complex enough the customer is locked in to you for
support and enhancements.

We have a system where I work that was developed by a contractor and
enhanced over the years by the same contractor (who was assigned the IP
rights by my employer - bad mistake on their part).

To 'reproduce' the code would take months of work at great cost for us. It
is cheaper just to pay him for minor enhancements, even though his hourly
rate is exorbitant.

For him it's a gold mine.


Re: Code Ownership WAS: RE: .NET Obfuscator Software..free!

2010-06-03 Thread Liam McLennan
Hi Iain,

Curious what you are classing as exorbitant. Are we talking  $200?

On Fri, Jun 4, 2010 at 10:07 AM, Iain Carlin cut...@gmail.com wrote:

 On 4 June 2010 09:18, Arjang Assadi arjang.ass...@gmail.com wrote:

 Thank you Dylan,

 Simon, I don't understand the code for the work done for a specific
 customer(s), can be a gold mine. I am not sure what owning the code
 means, anyone and everyone (competent programmer) can reproduce the
 same effect with some variation.

 Kind Regards

 Arjang


 Because if the system is complex enough the customer is locked in to you
 for support and enhancements.

 We have a system where I work that was developed by a contractor and
 enhanced over the years by the same contractor (who was assigned the IP
 rights by my employer - bad mistake on their part).

 To 'reproduce' the code would take months of work at great cost for us. It
 is cheaper just to pay him for minor enhancements, even though his hourly
 rate is exorbitant.

 For him it's a gold mine.




-- 
Liam McLennan.

l...@eclipsewebsolutions.com.au
http://www.eclipsewebsolutions.com.au


Re: Code Ownership WAS: RE: .NET Obfuscator Software..free!

2010-06-03 Thread Iain Carlin
Yes, it's around the $200 per hour.

I guess it's all relative. I know that, given the source code, I could make
the changes just as quickly as the contractor.

My hourly rate is nothing like the $ he charges, and we wouldn't have to
wait for his availablility to make the changes. So in terms of turn-around
and cost we would be better off.

On 4 June 2010 10:05, Liam McLennan l...@eclipsewebsolutions.com.au wrote:

 Hi Iain,

 Curious what you are classing as exorbitant. Are we talking  $200?

 On Fri, Jun 4, 2010 at 10:07 AM, Iain Carlin cut...@gmail.com wrote:

 On 4 June 2010 09:18, Arjang Assadi arjang.ass...@gmail.com wrote:

 Thank you Dylan,

 Simon, I don't understand the code for the work done for a specific
 customer(s), can be a gold mine. I am not sure what owning the code
 means, anyone and everyone (competent programmer) can reproduce the
 same effect with some variation.

 Kind Regards

 Arjang


 Because if the system is complex enough the customer is locked in to you
 for support and enhancements.

 We have a system where I work that was developed by a contractor and
 enhanced over the years by the same contractor (who was assigned the IP
 rights by my employer - bad mistake on their part).

 To 'reproduce' the code would take months of work at great cost for us. It
 is cheaper just to pay him for minor enhancements, even though his hourly
 rate is exorbitant.

 For him it's a gold mine.




 --
 Liam McLennan.

 l...@eclipsewebsolutions.com.au
 http://www.eclipsewebsolutions.com.au



Re: .NET Obfuscator Software..free!

2010-06-03 Thread Craig van Nieuwkerk

 Also now that Red Gate have acquired both Reflector and Smart Assembly
 they’re in a unique position in the obfuscation market.


It's fair to say they have both ends of the market covered.

Craig.


Re: .NET Obfuscator Software..free!

2010-06-03 Thread Jason Finch
Different approach,

Don't obfuscate your code, give them the entire source code.
Then attach a restrictive usage license.

Then hope that they ignore the license and intergrate your code into their
critical systems.
Then audit their site a few years on, determine if your license has been
breached and have some interesting discussions over litigation or
retrospective licensing fees.

Isn't that how the big boys do it these days?


Re: Visual Studio output window

2010-06-03 Thread William Luu
I don't know if you can do that already, though my guess is you could
probably write a Visual Studio add in to parse the content in the output
window.

A quick search finds these links:
- How to: Create an addin -
http://msdn.microsoft.com/en-us/library/80493a3w%28VS.80%29.aspx
- How to: Control the Output Window -
http://msdn.microsoft.com/en-us/library/ht6z4e28%28VS.80%29.aspx


Will

On 3 June 2010 22:16, Wallace Turner w.tur...@fex.com.au wrote:

   Can the Output window in Visual Studio (any version) parse the output to
 provide quick links to the erroneous class(es) ?



 Eclipse has had this feature since forever; see screenshot below. I have
 only included this to explain what I mean (please no Eclipse vs VS fight!)



 Resharper has a feature called ‘Stack Trace Explorer’ however it is a bit
 clunky as you need to highlight the bit you want and then open the STE
 window.



 Eclipse:







image001.png

RE: Visual Studio output window

2010-06-03 Thread Dylan Tusler
Can't you just double-click on the error in the output window to go to the 
class?

Or am I missing something obvious...

Dylan.



From: ozdotnet-boun...@ozdotnet.com [mailto:ozdotnet-boun...@ozdotnet.com] On 
Behalf Of William Luu
Sent: Friday, 4 June 2010 11:52 AM
To: ozDotNet
Subject: Re: Visual Studio output window

I don't know if you can do that already, though my guess is you could probably 
write a Visual Studio add in to parse the content in the output window.

A quick search finds these links:
- How to: Create an addin - 
http://msdn.microsoft.com/en-us/library/80493a3w%28VS.80%29.aspx
- How to: Control the Output Window - 
http://msdn.microsoft.com/en-us/library/ht6z4e28%28VS.80%29.aspx


Will

On 3 June 2010 22:16, Wallace Turner 
w.tur...@fex.com.aumailto:w.tur...@fex.com.au wrote:
Can the Output window in Visual Studio (any version) parse the output to 
provide quick links to the erroneous class(es) ?

Eclipse has had this feature since forever; see screenshot below. I have only 
included this to explain what I mean (please no Eclipse vs VS fight!)

Resharper has a feature called 'Stack Trace Explorer' however it is a bit 
clunky as you need to highlight the bit you want and then open the STE window.

Eclipse:
[cid:451395201@04062010-1C5E]





-
To find out more about the Sunshine Coast Council, visit your local council 
office at Caloundra, Maroochydore, Nambour or Tewantin. Or, if you prefer,  
visit us on line at www.sunshinecoast.qld.gov.au

This email, together with any attachments, is intended for the named 
recipient(s) only. Any form of review, disclosure, modification, distribution 
and or publication of this email message is prohibited without the express 
permission of the author. Please notify the sender immediately if you have 
received this email by mistake and delete it from your system. Unless otherwise 
stated, this email represents only the views of the sender and not the views of 
the Sunshine Coast Regional Council.

maile 3_1_0
inline: image001.png

RE: Visual Studio output window

2010-06-03 Thread David Kean
It can parse the output. Put it in the same format as what the compiler splits 
out. It won't parse Exception stacks though.

From: ozdotnet-boun...@ozdotnet.com [mailto:ozdotnet-boun...@ozdotnet.com] On 
Behalf Of Wallace Turner
Sent: Thursday, June 03, 2010 5:16 AM
To: 'ozDotNet'
Subject: Visual Studio output window

Can the Output window in Visual Studio (any version) parse the output to 
provide quick links to the erroneous class(es) ?

Eclipse has had this feature since forever; see screenshot below. I have only 
included this to explain what I mean (please no Eclipse vs VS fight!)

Resharper has a feature called 'Stack Trace Explorer' however it is a bit 
clunky as you need to highlight the bit you want and then open the STE window.

Eclipse:
[Description: cid:image001.png@01CB034E.36BAB810]



inline: image001.png

[OT]Junior Designer/dotnet person required

2010-06-03 Thread Anthony
Where can i post a job requirement for students..is there a student bulletin
board or similar or do i just contact a RMNIT etc?

 

 http://www.intellixperience.com/signup.aspx Is your website being
IntelliXperienced?
regards
Anthony (*12QWERNB*)

Is your website being IntelliXperienced?

 

 



Re: [OT]Junior Designer/dotnet person required

2010-06-03 Thread Michael Minutillo
I'd get in contact with Andrew Parsons
http://blogs.msdn.com/b/andrewparsons/ as he's the Academic DPE guy in
Australia. Plus he was looking a while back to connect students with
workplaces.

On Fri, Jun 4, 2010 at 10:09 AM, Anthony asale...@tpg.com.au wrote:

  Where can i post a job requirement for students..is there a student
 bulletin board or similar or do i just contact a RMNIT etc?



 Is your website being 
 IntelliXperienced?http://www.intellixperience.com/signup.aspx
 regards
 Anthony (*12QWERNB*)

 Is your website being IntelliXperienced?








-- 
Michael M. Minutillo
Indiscriminate Information Sponge
Blog: http://wolfbyte-net.blogspot.com


Re: .NET Obfuscator Software..free!

2010-06-03 Thread mike smith
On 4 June 2010 11:19, Jason Finch jason.fi...@gmail.com wrote:
 Different approach,

 Don't obfuscate your code, give them the entire source code.
 Then attach a restrictive usage license.

 Then hope that they ignore the license and intergrate your code into their
 critical systems.
 Then audit their site a few years on, determine if your license has been
 breached and have some interesting discussions over litigation or
 retrospective licensing fees.

 Isn't that how the big boys do it these days?



And if you're SCO

Step 3 - don't profit
Step 4 - go broke

-- 
Meski

Going to Starbucks for coffee is like going to prison for sex. Sure,
you'll get it, but it's going to be rough - Adam Hills


Re: .NET Obfuscator Software..free!

2010-06-03 Thread Arjang Assadi
genius! :)

On 4 June 2010 11:19, Jason Finch jason.fi...@gmail.com wrote:
 Different approach,

 Don't obfuscate your code, give them the entire source code.
 Then attach a restrictive usage license.

 Then hope that they ignore the license and intergrate your code into their
 critical systems.
 Then audit their site a few years on, determine if your license has been
 breached and have some interesting discussions over litigation or
 retrospective licensing fees.

 Isn't that how the big boys do it these days?




RE: Code Ownership WAS: RE: .NET Obfuscator Software..free!

2010-06-03 Thread Dylan Tusler
Well, I specifically didn't mention Contractors, as this is generally a work 
for hire situation, but it can be a grey area.

It seems one of the delineating issues (apart from whatever may be written into 
your contract) is whether you use your client's tools and equipment, or whether 
you work on your own.

I've contracted in both ways. It usually pays to be explicit about it. In my 
(admittedly not very vast) experience, small companies usually don't even 
consider these issues themselves unless you bring it up.

Dylan.


-Original Message-
From: ozdotnet-boun...@ozdotnet.com [mailto:ozdotnet-boun...@ozdotnet.com] On 
Behalf Of Simon Haigh
Sent: Friday, 4 June 2010 9:34 AM
To: ozDotNet
Subject: RE: Code Ownership WAS: RE: .NET Obfuscator Software..free!

I always thought that being a contractor is similar to being an employee and 
therefore the codebase would belong to the person/company who employed you 
(unless otherwise specified).  Would that be correct?

If not, I'm potentially sitting on a goldmine.  :-)

-Original Message-
From: ozdotnet-boun...@ozdotnet.com [mailto:ozdotnet-boun...@ozdotnet.com] On 
Behalf Of Dylan Tusler
Sent: Friday, 4 June 2010 09:21 AM
To: 'ozDotNet'
Subject: Code Ownership WAS: RE: .NET Obfuscator Software..free!

Disclaimer: IANAL

Employee - Any code you write is the property of your employer.

Consultant - Any code you write is your property unless you explicitly assign 
ownership to your client.

Company - Any software you sell, the codebase remains your property, not the 
property of your customer, unless there is a specific license agreement 
indicating otherwise.

For what its worth, when I was consulting, I used to assign code to my customer 
explicitly, so that they could freely engage other developers to work on it at 
a later date.

If you are working on TM or are working fixed price, I don't think it matters. 
What matters is the arrangement that you have made between yourself and your 
customer/client/employer.

Here's an article on the US perspective. It mentions the concept of a work for 
hire agreement, which is where you cross the line between employee and 
consultant: http://articles.techrepublic.com.com/5100-10878_11-5034783.html

Dylan.



-Original Message-
From: ozdotnet-boun...@ozdotnet.com [mailto:ozdotnet-boun...@ozdotnet.com] On 
Behalf Of Arjang Assadi
Sent: Friday, 4 June 2010 8:38 AM
To: ozDotNet
Subject: Re: .NET Obfuscator Software..free!

Hi Anthony,

Please forgive my ignorance but my question is what is normal practice? What is 
meant by work? When quoting hourly rate, I assume that at the end they would 
get everything and since I have been paid for the time to produce it, it 
belongs to them.

Kind Regards

Arjang


On 3 June 2010 20:11, Anthony asale...@tpg.com.au wrote:
 I assume that if the client doesn't ask for the code then i don't give 
 it out.  I would increase my fee if they want the code anyway



 From: ozdotnet-boun...@ozdotnet.com
 [mailto:ozdotnet-boun...@ozdotnet.com]
 On Behalf Of Michael Minutillo
 Sent: Thursday, 3 June 2010 3:07 PM
 To: ozDotNet

 Subject: Re: .NET Obfuscator Software..free!



 Well most clients I have dealt with in the past end up with the source code.



 After all, clients have been accepting obfuscated code since time 
 immemorial already! (Well, at least since the 1980s.) That's what 
 compiled code is! Unless you wanted to reverse engineer to assembly 
 language, pretty much everything was obfuscated.



 In the form of a product that is true. But if that were the case I 
 would expect the OP would have wanted to obfuscate the entire 
 solution. As there is a single binary to be obfuscated (and it gets 
 used a lot) it sounds more likely that it is being used in custom 
 software that is developed for a single client. For the client:



 If they purchase a library then they get a support contract so if 
 things go wrong they get fixed

 If they use an open source library then they get the code so they can 
 fix issues or pass them on to someone to fix.

 If the developer hands them a library which is neither they could be 
 in trouble.



 If you are selling a product with support then this is OK because you 
 have an agreement with the client that you'll fix anything that goes 
 wrong. If you were to have a falling out with the client over an 
 invoice or something (it happens) then they effectively have a piece 
 of software that only you (someone they no longer wish to do business with) 
 can maintain.



 As a client I would consider that an unacceptable risk.



 On Thu, Jun 3, 2010 at 12:48 PM, Dylan Tusler 
 dylan.tus...@sunshinecoast.qld.gov.au wrote:

 That is potentially a pretty dangerous risk for a client to accept 
 isn't it? Unless it contains some kind of proprietary algorithm or 
 something I'm not sure it's a great idea.



 That's a pretty weird point of view.



 After all, clients have been accepting obfuscated code since time 
 immemorial already! 

RE: .NET Obfuscator Software..free!

2010-06-03 Thread Anthony
Well i treat software like a car.  When you buy a car they don't give you
the blueprints...

Client always gets what they pay for..which is usually a function piece of
software(code not always included) that helps them run their business...

-Original Message-
From: ozdotnet-boun...@ozdotnet.com [mailto:ozdotnet-boun...@ozdotnet.com]
On Behalf Of Arjang Assadi
Sent: Friday, 4 June 2010 8:38 AM
To: ozDotNet
Subject: Re: .NET Obfuscator Software..free!

Hi Anthony,

Please forgive my ignorance but my question is what is normal
practice? What is meant by work? When quoting hourly rate, I assume
that at the end they would get everything and since I have been paid
for the time to produce it, it belongs to them.

Kind Regards

Arjang


On 3 June 2010 20:11, Anthony asale...@tpg.com.au wrote:
 I assume that if the client doesn’t ask for the code then i don’t give it
 out.  I would increase my fee if they want the code anyway



 From: ozdotnet-boun...@ozdotnet.com [mailto:ozdotnet-boun...@ozdotnet.com]
 On Behalf Of Michael Minutillo
 Sent: Thursday, 3 June 2010 3:07 PM
 To: ozDotNet

 Subject: Re: .NET Obfuscator Software..free!



 Well most clients I have dealt with in the past end up with the source
code.



 After all, clients have been accepting obfuscated code since time
 immemorial already! (Well, at least since the 1980s.) That's what
compiled
 code is! Unless you wanted to reverse engineer to assembly language,
pretty
 much everything was obfuscated.



 In the form of a product that is true. But if that were the case I would
 expect the OP would have wanted to obfuscate the entire solution. As there
 is a single binary to be obfuscated (and it gets used a lot) it sounds
more
 likely that it is being used in custom software that is developed for a
 single client. For the client:



 If they purchase a library then they get a support contract so if things
go
 wrong they get fixed

 If they use an open source library then they get the code so they can fix
 issues or pass them on to someone to fix.

 If the developer hands them a library which is neither they could be in
 trouble.



 If you are selling a product with support then this is OK because you have
 an agreement with the client that you'll fix anything that goes wrong. If
 you were to have a falling out with the client over an invoice or
something
 (it happens) then they effectively have a piece of software that only you
 (someone they no longer wish to do business with) can maintain.



 As a client I would consider that an unacceptable risk.



 On Thu, Jun 3, 2010 at 12:48 PM, Dylan Tusler
 dylan.tus...@sunshinecoast.qld.gov.au wrote:

 That is potentially a pretty dangerous risk for a client to accept isn't
 it? Unless it contains some kind of proprietary algorithm or something
I'm
 not sure it's a great idea.



 That's a pretty weird point of view.



 After all, clients have been accepting obfuscated code since time
 immemorial already! (Well, at least since the 1980s.) That's what compiled
 code is! Unless you wanted to reverse engineer to assembly language,
pretty
 much everything was obfuscated.



 Dylan.







-

 To find out more about the Sunshine Coast Council, visit your local
council
 office at Caloundra, Maroochydore, Nambour or Tewantin. Or, if you prefer,
 visit us on line at www.sunshinecoast.qld.gov.au

 This email, together with any attachments, is intended for the named
 recipient(s) only. Any form of review, disclosure, modification,
 distribution and or publication of this email message is prohibited
without
 the express permission of the author. Please notify the sender immediately
 if you have received this email by mistake and delete it from your system.
 Unless otherwise stated, this email represents only the views of the
sender
 and not the views of the Sunshine Coast Regional Council.
 maile 3_1_0


 --
 Michael M. Minutillo
 Indiscriminate Information Sponge
 Blog: http://wolfbyte-net.blogspot.com




Re: .NET Obfuscator Software..free!

2010-06-03 Thread David Burstin
On Fri, Jun 4, 2010 at 1:25 PM, Anthony asale...@tpg.com.au wrote:

 Well i treat software like a car.  When you buy a car they don't give you
 the blueprints...

 That is true for software too - sometimes. A car is one of thousands of
identical vehicles on sale. Each purchaser owns the car but not the
blueprint. This is equivalent to creating a software app and selling it out
of a box to all comers.

BUT, sometimes software is like building a house - it is designed just how
the client wants it and is individual. When I buy a house, I certainly
expect the architect to supply all relevant plans.

So, are you building an application to sell in a box, or are you making
something specifically for one client?


Re: .NET Obfuscator Software..free!

2010-06-03 Thread Michael Minutillo
If I buy a car that was built by a couple of guys at the local garage I'd
like to know I could take it to a different mechanic when they go out of
business or raise their prices.

On Fri, Jun 4, 2010 at 11:25 AM, Anthony asale...@tpg.com.au wrote:

 Well i treat software like a car.  When you buy a car they don't give you
 the blueprints...

 Client always gets what they pay for..which is usually a function piece of
 software(code not always included) that helps them run their business...

 -Original Message-
 From: ozdotnet-boun...@ozdotnet.com [mailto:ozdotnet-boun...@ozdotnet.com]
 On Behalf Of Arjang Assadi
 Sent: Friday, 4 June 2010 8:38 AM
 To: ozDotNet
 Subject: Re: .NET Obfuscator Software..free!

 Hi Anthony,

 Please forgive my ignorance but my question is what is normal
 practice? What is meant by work? When quoting hourly rate, I assume
 that at the end they would get everything and since I have been paid
 for the time to produce it, it belongs to them.

 Kind Regards

 Arjang


 On 3 June 2010 20:11, Anthony asale...@tpg.com.au wrote:
  I assume that if the client doesn’t ask for the code then i don’t give it
  out.  I would increase my fee if they want the code anyway
 
 
 
  From: ozdotnet-boun...@ozdotnet.com [mailto:
 ozdotnet-boun...@ozdotnet.com]
  On Behalf Of Michael Minutillo
  Sent: Thursday, 3 June 2010 3:07 PM
  To: ozDotNet
 
  Subject: Re: .NET Obfuscator Software..free!
 
 
 
  Well most clients I have dealt with in the past end up with the source
 code.
 
 
 
  After all, clients have been accepting obfuscated code since time
  immemorial already! (Well, at least since the 1980s.) That's what
 compiled
  code is! Unless you wanted to reverse engineer to assembly language,
 pretty
  much everything was obfuscated.
 
 
 
  In the form of a product that is true. But if that were the case I would
  expect the OP would have wanted to obfuscate the entire solution. As
 there
  is a single binary to be obfuscated (and it gets used a lot) it sounds
 more
  likely that it is being used in custom software that is developed for a
  single client. For the client:
 
 
 
  If they purchase a library then they get a support contract so if things
 go
  wrong they get fixed
 
  If they use an open source library then they get the code so they can fix
  issues or pass them on to someone to fix.
 
  If the developer hands them a library which is neither they could be in
  trouble.
 
 
 
  If you are selling a product with support then this is OK because you
 have
  an agreement with the client that you'll fix anything that goes wrong. If
  you were to have a falling out with the client over an invoice or
 something
  (it happens) then they effectively have a piece of software that only you
  (someone they no longer wish to do business with) can maintain.
 
 
 
  As a client I would consider that an unacceptable risk.
 
 
 
  On Thu, Jun 3, 2010 at 12:48 PM, Dylan Tusler
  dylan.tus...@sunshinecoast.qld.gov.au wrote:
 
  That is potentially a pretty dangerous risk for a client to accept isn't
  it? Unless it contains some kind of proprietary algorithm or something
 I'm
  not sure it's a great idea.
 
 
 
  That's a pretty weird point of view.
 
 
 
  After all, clients have been accepting obfuscated code since time
  immemorial already! (Well, at least since the 1980s.) That's what
 compiled
  code is! Unless you wanted to reverse engineer to assembly language,
 pretty
  much everything was obfuscated.
 
 
 
  Dylan.
 
 
 
 
 
 

 
 -
 
  To find out more about the Sunshine Coast Council, visit your local
 council
  office at Caloundra, Maroochydore, Nambour or Tewantin. Or, if you
 prefer,
  visit us on line at www.sunshinecoast.qld.gov.au
 
  This email, together with any attachments, is intended for the named
  recipient(s) only. Any form of review, disclosure, modification,
  distribution and or publication of this email message is prohibited
 without
  the express permission of the author. Please notify the sender
 immediately
  if you have received this email by mistake and delete it from your
 system.
  Unless otherwise stated, this email represents only the views of the
 sender
  and not the views of the Sunshine Coast Regional Council.
  maile 3_1_0
 
 
  --
  Michael M. Minutillo
  Indiscriminate Information Sponge
  Blog: http://wolfbyte-net.blogspot.com





-- 
Michael M. Minutillo
Indiscriminate Information Sponge
Blog: http://wolfbyte-net.blogspot.com


Re: .NET Obfuscator Software..free!

2010-06-03 Thread Iain Carlin
Which is where escrow agreements come in in the software world.

In my previous job as a contractor, we had an escrow agreement with our
customers. Source code was held in escrow by a third party. If we went out
of business they handed over the source.

That protected both the customer and the supplier.

On 4 June 2010 13:04, Michael Minutillo michael.minuti...@gmail.com wrote:

 If I buy a car that was built by a couple of guys at the local garage I'd
 like to know I could take it to a different mechanic when they go out of
 business or raise their prices.

 On Fri, Jun 4, 2010 at 11:25 AM, Anthony asale...@tpg.com.au wrote:

 Well i treat software like a car.  When you buy a car they don't give you
 the blueprints...

 Client always gets what they pay for..which is usually a function piece of
 software(code not always included) that helps them run their business...

 -Original Message-
 From: ozdotnet-boun...@ozdotnet.com [mailto:ozdotnet-boun...@ozdotnet.com
 ]
 On Behalf Of Arjang Assadi
 Sent: Friday, 4 June 2010 8:38 AM
 To: ozDotNet
 Subject: Re: .NET Obfuscator Software..free!

 Hi Anthony,

 Please forgive my ignorance but my question is what is normal
 practice? What is meant by work? When quoting hourly rate, I assume
 that at the end they would get everything and since I have been paid
 for the time to produce it, it belongs to them.

 Kind Regards

 Arjang


 On 3 June 2010 20:11, Anthony asale...@tpg.com.au wrote:
  I assume that if the client doesn’t ask for the code then i don’t give
 it
  out.  I would increase my fee if they want the code anyway
 
 
 
  From: ozdotnet-boun...@ozdotnet.com [mailto:
 ozdotnet-boun...@ozdotnet.com]
  On Behalf Of Michael Minutillo
  Sent: Thursday, 3 June 2010 3:07 PM
  To: ozDotNet
 
  Subject: Re: .NET Obfuscator Software..free!
 
 
 
  Well most clients I have dealt with in the past end up with the source
 code.
 
 
 
  After all, clients have been accepting obfuscated code since time
  immemorial already! (Well, at least since the 1980s.) That's what
 compiled
  code is! Unless you wanted to reverse engineer to assembly language,
 pretty
  much everything was obfuscated.
 
 
 
  In the form of a product that is true. But if that were the case I would
  expect the OP would have wanted to obfuscate the entire solution. As
 there
  is a single binary to be obfuscated (and it gets used a lot) it sounds
 more
  likely that it is being used in custom software that is developed for a
  single client. For the client:
 
 
 
  If they purchase a library then they get a support contract so if things
 go
  wrong they get fixed
 
  If they use an open source library then they get the code so they can
 fix
  issues or pass them on to someone to fix.
 
  If the developer hands them a library which is neither they could be in
  trouble.
 
 
 
  If you are selling a product with support then this is OK because you
 have
  an agreement with the client that you'll fix anything that goes wrong.
 If
  you were to have a falling out with the client over an invoice or
 something
  (it happens) then they effectively have a piece of software that only
 you
  (someone they no longer wish to do business with) can maintain.
 
 
 
  As a client I would consider that an unacceptable risk.
 
 
 
  On Thu, Jun 3, 2010 at 12:48 PM, Dylan Tusler
  dylan.tus...@sunshinecoast.qld.gov.au wrote:
 
  That is potentially a pretty dangerous risk for a client to accept
 isn't
  it? Unless it contains some kind of proprietary algorithm or something
 I'm
  not sure it's a great idea.
 
 
 
  That's a pretty weird point of view.
 
 
 
  After all, clients have been accepting obfuscated code since time
  immemorial already! (Well, at least since the 1980s.) That's what
 compiled
  code is! Unless you wanted to reverse engineer to assembly language,
 pretty
  much everything was obfuscated.
 
 
 
  Dylan.
 
 
 
 
 
 

 
 -
 
  To find out more about the Sunshine Coast Council, visit your local
 council
  office at Caloundra, Maroochydore, Nambour or Tewantin. Or, if you
 prefer,
  visit us on line at www.sunshinecoast.qld.gov.au
 
  This email, together with any attachments, is intended for the named
  recipient(s) only. Any form of review, disclosure, modification,
  distribution and or publication of this email message is prohibited
 without
  the express permission of the author. Please notify the sender
 immediately
  if you have received this email by mistake and delete it from your
 system.
  Unless otherwise stated, this email represents only the views of the
 sender
  and not the views of the Sunshine Coast Regional Council.
  maile 3_1_0
 
 
  --
  Michael M. Minutillo
  Indiscriminate Information Sponge
  Blog: http://wolfbyte-net.blogspot.com





 --
 Michael M. Minutillo
 Indiscriminate Information Sponge
 Blog: http://wolfbyte-net.blogspot.com



RE: Visual Studio output window

2010-06-03 Thread Wallace Turner
Thanks. 

 

Dylan, I look at the Error Window to navigate to compile errors (hitherto I
didn't realise you could click on warnings/errors in the output window)

 

From: ozdotnet-boun...@ozdotnet.com [mailto:ozdotnet-boun...@ozdotnet.com]
On Behalf Of David Kean
Sent: Friday, 4 June 2010 11:55 AM
To: ozDotNet
Subject: RE: Visual Studio output window

 

It can parse the output. Put it in the same format as what the compiler
splits out. It won't parse Exception stacks though.

 

From: ozdotnet-boun...@ozdotnet.com [mailto:ozdotnet-boun...@ozdotnet.com]
On Behalf Of Wallace Turner
Sent: Thursday, June 03, 2010 5:16 AM
To: 'ozDotNet'
Subject: Visual Studio output window

 

Can the Output window in Visual Studio (any version) parse the output to
provide quick links to the erroneous class(es) ?

 

Eclipse has had this feature since forever; see screenshot below. I have
only included this to explain what I mean (please no Eclipse vs VS fight!)

 

Resharper has a feature called 'Stack Trace Explorer' however it is a bit
clunky as you need to highlight the bit you want and then open the STE
window.

 

Eclipse:

Description: cid:image001.png@01CB034E.36BAB810

 

 

 

image001.png

Re: .NET Obfuscator Software..free!

2010-06-03 Thread mike smith
On 4 June 2010 13:47, Iain Carlin cut...@gmail.com wrote:
 Which is where escrow agreements come in in the software world.

 In my previous job as a contractor, we had an escrow agreement with our
 customers. Source code was held in escrow by a third party. If we went out
 of business they handed over the source.


Damn, should have read ahead.


 That protected both the customer and the supplier.

 On 4 June 2010 13:04, Michael Minutillo michael.minuti...@gmail.com wrote:

 If I buy a car that was built by a couple of guys at the local garage I'd
 like to know I could take it to a different mechanic when they go out of
 business or raise their prices.

 On Fri, Jun 4, 2010 at 11:25 AM, Anthony asale...@tpg.com.au wrote:

 Well i treat software like a car.  When you buy a car they don't give you
 the blueprints...

 Client always gets what they pay for..which is usually a function piece
 of
 software(code not always included) that helps them run their business...

 -Original Message-
 From: ozdotnet-boun...@ozdotnet.com
 [mailto:ozdotnet-boun...@ozdotnet.com]
 On Behalf Of Arjang Assadi
 Sent: Friday, 4 June 2010 8:38 AM
 To: ozDotNet
 Subject: Re: .NET Obfuscator Software..free!

 Hi Anthony,

 Please forgive my ignorance but my question is what is normal
 practice? What is meant by work? When quoting hourly rate, I assume
 that at the end they would get everything and since I have been paid
 for the time to produce it, it belongs to them.

 Kind Regards

 Arjang


 On 3 June 2010 20:11, Anthony asale...@tpg.com.au wrote:
  I assume that if the client doesn’t ask for the code then i don’t give
  it
  out.  I would increase my fee if they want the code anyway
 
 
 
  From: ozdotnet-boun...@ozdotnet.com
  [mailto:ozdotnet-boun...@ozdotnet.com]
  On Behalf Of Michael Minutillo
  Sent: Thursday, 3 June 2010 3:07 PM
  To: ozDotNet
 
  Subject: Re: .NET Obfuscator Software..free!
 
 
 
  Well most clients I have dealt with in the past end up with the source
 code.
 
 
 
  After all, clients have been accepting obfuscated code since time
  immemorial already! (Well, at least since the 1980s.) That's what
 compiled
  code is! Unless you wanted to reverse engineer to assembly language,
 pretty
  much everything was obfuscated.
 
 
 
  In the form of a product that is true. But if that were the case I
  would
  expect the OP would have wanted to obfuscate the entire solution. As
  there
  is a single binary to be obfuscated (and it gets used a lot) it sounds
 more
  likely that it is being used in custom software that is developed for a
  single client. For the client:
 
 
 
  If they purchase a library then they get a support contract so if
  things
 go
  wrong they get fixed
 
  If they use an open source library then they get the code so they can
  fix
  issues or pass them on to someone to fix.
 
  If the developer hands them a library which is neither they could be in
  trouble.
 
 
 
  If you are selling a product with support then this is OK because you
  have
  an agreement with the client that you'll fix anything that goes wrong.
  If
  you were to have a falling out with the client over an invoice or
 something
  (it happens) then they effectively have a piece of software that only
  you
  (someone they no longer wish to do business with) can maintain.
 
 
 
  As a client I would consider that an unacceptable risk.
 
 
 
  On Thu, Jun 3, 2010 at 12:48 PM, Dylan Tusler
  dylan.tus...@sunshinecoast.qld.gov.au wrote:
 
  That is potentially a pretty dangerous risk for a client to accept
  isn't
  it? Unless it contains some kind of proprietary algorithm or something
 I'm
  not sure it's a great idea.
 
 
 
  That's a pretty weird point of view.
 
 
 
  After all, clients have been accepting obfuscated code since time
  immemorial already! (Well, at least since the 1980s.) That's what
  compiled
  code is! Unless you wanted to reverse engineer to assembly language,
 pretty
  much everything was obfuscated.
 
 
 
  Dylan.
 
 
 
 
 
 

 
 -
 
  To find out more about the Sunshine Coast Council, visit your local
 council
  office at Caloundra, Maroochydore, Nambour or Tewantin. Or, if you
  prefer,
  visit us on line at www.sunshinecoast.qld.gov.au
 
  This email, together with any attachments, is intended for the named
  recipient(s) only. Any form of review, disclosure, modification,
  distribution and or publication of this email message is prohibited
 without
  the express permission of the author. Please notify the sender
  immediately
  if you have received this email by mistake and delete it from your
  system.
  Unless otherwise stated, this email represents only the views of the
 sender
  and not the views of the Sunshine Coast Regional Council.
  maile 3_1_0
 
 
  --
  Michael M. Minutillo
  Indiscriminate Information Sponge
  Blog: http://wolfbyte-net.blogspot.com





 --
 Michael M. Minutillo
 

Re: Visual Studio output window

2010-06-03 Thread mike smith
On 4 June 2010 14:37, Dylan Tusler
dylan.tus...@sunshinecoast.qld.gov.au wrote:
Dylan, I look at the Error Window to navigate to compile errors (hitherto I
 didn’t realise you could click on warnings/errors in the output window)

 Naturally, I don't get any warnings or errors in my output window, so I
 can't verify that either.


Oooo, it's *definitely Friday!  Well played.

-- 
Meski

Going to Starbucks for coffee is like going to prison for sex. Sure,
you'll get it, but it's going to be rough - Adam Hills