• Content count

  • Joined

  • Last visited

Community Reputation

168 Neutral

About Fil

  • Rank
  1. @jbadams: Thank you: your words are very encouraging @Bacterius: I haven't proprietary algorithms but it's a business software with (I think) its unique selling points... so I hate the idea my various classes can be reused by others in their programs (that's the source of my little regret). I know my (unique) features can be redone from scratch by competition, I just don't want to help them too much, something like "hey, that's the source code!". With respect to Minecraft example, I'd say that because it's based on a community its source code is important only to mod developers: I imagined a clone of the game would be easy to spot for everyone... but I understand from Bacterius' reply that my reasonings are wrong Anyway you're right: obfuscation is not so effective... even a friend of mine told me not to spend too much time in obfuscation since it's far more easy to understand a program analysing the data base schema instead of trying to unobfuscate or (in case of native code) to decompile an exe. Thanks for your suggestions
  2. @wack: I hope it will be extremely popular [img][/img] About decompilation I agree with you. I'll try to spend the least time possible doing renaming @antheus:You're right. I regret a little to have used this kind of tecnology to develop my program. I think I'll rewrite it using VC++ to have native code, but at present I need to complete the first release as soon as possible and I'd like to discourage reading of my exe/source code by casual observers. Thanks for sharing your thoughs. [img][/img]
  3. Thank you for your replies. I'm already using an obfuscator (since the exe in .Net is just all the source code without comments) but a lot of classes dealing with WCF services cannot be renamed without compromising communication between clients and server (in fact obfuscator leaves them unchanged). That's why I'd like to change theese names manually. So I can have the class CCustomerInfoService in debug mode and something named C0945 in release mode (the same for model classes, all the methos and members). I know obfuscators are not a (great) protection, but since it's not an open source project I don't want other to see so easily how I wrote my program, neither I want to give them too many insights about the class diagram I implemented. "Replace All" as Bacterius suggests maybe is not a bad idea (or am I desperate? ;-) ): I'm thinking about a String.Replace done on my source code by a little utility as a pre-compilation step. That's will keep in sync release and debug version of source code (so I have no change in how I write programs), and names are changed automagically before compiling release version. If I forgot to rename something it will become a compiler error in release mode, so it should be easy to fix since I'll find a debug name not replaced with its counterpart in release mode. I think to try this way. Thank you again, your comments have been useful
  4. I'm using VB.NET 2008. I'd like to change variable names from debug to release mode. I know I can't use a #define preprocessor directive (like in C++) [CODE] #if DEBUG # define MyVarName myDebugVarName #else # define MyVarName myReleaseVarName #endif [/CODE] and I wonder if there's something I can do to have this kind of result. I know I can write something like: [CODE] #If DEBUG Then Dim myDebugVarName As Integer = 0 #Else Dim myReleaseVarName As Integer = 0 #End If [/CODE] but this is very ugly since now every instruction (or block of instructions) dealing with that var has to be written 2 times, one for debug mode and one for release mode. E.g.: [CODE] #If DEBUG Then myDebugVarName+=1 #Else myReleaseVarName+=1 #End If [/CODE] or [CODE] #If DEBUG Then if myDebugVarName > 2 Then DoSomething(myDebugVarName) Else DoSomethingElse(myDebugVarName) End If #Else If myReleaseVarName > 2 Then DoSomething(myReleaseVarName) Else DoSomethingElse(myReleaseVarName) End If #End If [/CODE] The code becomes soon unreadable and it is easy to forget keep the couple of version in sync (violation of DRY principle). [img][/img] Renaming variables in MSIL might be an option, but I've not found an easy way to do that. For example I imagine having a table with debug names and release names for each var (maybe a Dictionary) and call a translation of all the names in Release version (so I write only myDebugVarName in my source and in MSIL it changes in myReleaseVarName). I think I'll apply your suggested methods to change names to some classes and methods. I hope you see what I mean. Thank you in advance for any help. [img][/img]
  5. Convolution not working

    Quote:Original post by TheMadScientist If one of my coefficients calls for y[n-5] and n=0 I would assume this would be zero I think I've found your problem: your array indexes are negative, so values they are pointing to are meaningless and have random values. When i=0 you are using theese elements: - InputSignal[0] ok - InputSignal[-1] <<-- bad - InputSignal[-2] <<-- bad - OutputSignal[0] ok - OutputSignal[-1] <<-- bad Remember arrays first index is 0 and there is nothing before. You should do something like this. Suppose you need nNeg element before zero index. float *InputSignal=new float[N+nNeg+1]; float *OutputSignal=new float[N+nNeg+1]; InputSignal+=nNeg+1; OutputSignal+=nNeg+1; // now InputSignal[-nNeg] exists because actually it is InputSignal[0] ... NotchBandPass(InputSignal,FC,BW,OutputSignal,N); ... // dispose mem (delete must use original array so I need to change the two pointers) InputSignal-=nNeg+1; OutputSignal-=nNeg+1; delete [] InputSignal; delete [] OutputSignal; Now your NotchBandPass should work... if there are not other mistakes [grin]
  6. Maybe I've not understood your question [grin]. My solution is: system("explorer"); That's will open on IE. I hope it can be helpful. [grin]
  7. I'm trying to open menu of other applications programmatically, sending the messages a window receives when I click the menu items or when I press ALT+F then 'O' to open a file, for example. I've tried with: CWnd * pWnd= the window I want to control (I read the handle with Spy++ then I use CWnd::FromHandle); CMenu * pMenu=pWnd->GetMenu(); CMenu * pSubMenu=pMenu->GetSubMenu(0); // 0 correspond to "File" menu int MenuID=pSubMenu->GetMenuItemID(5); // 5 correspond to "Save as..." item pWnd->SendMessage(WM_COMMAND,MenuID,NULL); While this can work for Notepad, for other application it doesn't work (eg. with an instance of Visual C++). I searched on google and yesterday I found a source in VB that make use of CommandBar objects to invoke menu and I promised myself to give it a try (after installing the .NET 2003 Toolkit I've not downloaded yet [grin]). (I think it is easier to write a program like that with VB instead of VC++.) Can you suggest a link or a tutorial on using CommandBar and/or invoking menu of another application since I cannot find the VB source code I found yesterday? Any other suggestion (ie. open source project, other methods, etc.) will be surely helpful. Thank you very much in advance. :)
  8. I want to write some chinese words here!

    Quote:Original post by SamLowry I once asked some person (which I met during the "Projectwerk verdediging") how Japanese keyboards looked like, because I just couldn't image keyboards with thousands of keys on it. He told me that it worked phonetically. Also chinese works in phonetically way. For example (with right programs) if you type "bak" you'll see the symbol 白 that means "white" and you use normal keyboard :) "bak" is how chinese people read the symbol 白.
  9. delete operator

    You must use "delete []" otherwise you don't deallocate completely the allocated block. The compiler say nothing to you but if you do so many times you can go out of memory :O
  10. The property you are looking for is "file.separator" to be used as String FileSeparator=System.getProperty("file.separator"); See for reference.
  11. You have this cases: trasformed vertex = vertex x Transformation Matrix trasformed vertices (Matrix with 1 vertex per row) = vertices (1 vertex x row) x Transformation Matrix so you use always post-multiplication. P.S.- Remember that the product is always a row x a column. Hope that helps. [Edit: nmi has been faster than me [grin]]
  12. Thread questions...

    You can read my answer on flipcode.
  13. Memory questions...

    You can find other replies here [grin]
  14. line slope formula

    The slope formula is ok. You are reinventing the Bresenham algorithm. [grin]
  15. I know that Fourier transformations have some properties. The one I'm interested in is that of rotation invariant: if I have an image that is rotated, the spectrum will have the same rotation. Now the problem is I've tried this property but it seems not to work properly. (I use capital letters for spectra) I have a simple white square with black background on a 256x256 image. Name it 'f'. I made a copy 'g', which I rotate (with an image editing sw) obtaining 'g(theta)'. Now I apply fft to them both and I obtain F and G(theta). I see the spectrum G(theta) is rotated but it is similar and not equal as if I rotate F spectrum. If I invert the rotation of G(theta) spectrum I don't get the same image how I expected (that is G=F). And applying the inverse fft to G I get an image h that is not g (how it should be), since G and F are different. Where am I wrong? I changed many FFT implementation, switching to the slow transformation but the results are the same but I cannot understand what goes wrong. Thank you very much in advance.