Setup a local SVN repository if this is just personal. Then backup to whatever you backup to now.
If you are going to collaborate then take a look at Mercury (Hg) which is kindof a peer-to-peer SVN.
Setup a local SVN repository if this is just personal. Then backup to whatever you backup to now.
If you are going to collaborate then take a look at Mercury (Hg) which is kindof a peer-to-peer SVN.
Just went on a two-day MOSS course. Following the course guide led to constant crashes and errors in the VM.
Then I get hauled up by my bosses suggesting I might not have "got as much out of it as I could have"..... I think I did: "Avoid MOSS where possible"
My point was that theres more than one way to hide information in images/movies/sounds that will survive conversion. Hell my old Neuros mp3 player could pick an audio fingerprint out of a crappy mic recording - thats around 128 bit of data from audio thats been absolutely fucked over.
@MarcB said:
Steganography in images basically hides your message in the low-order bits of the pixels.
One stenography technique is to do that....
NHibernate is great, and very flexible. To stop running into mapping impedance issues (shit you can do in a database that your language doesnt support) you should look at the ActiveRecord pattern.
Forget about handling the mapping yourself, you'll just introduce bugs. Get a copy of Diamond Binding from http://dunnchurchill.com and then you get all the joy of synchronised definitons and mapping files. Its basically what Microsoft should have done. Theres some examples up there on the site.... theres no way you could implement (and maintain) an API that cool in house. Plus it seems to use NHibernate a bit in the backend - which is probably a good thing.
Yeah I did notice it was nHibernate based. Main value for us was in the VS integration and definition syncing though - theres not much around that does that with a similar quality API. We mainly moved to it from nHibernate mainly because we got sick of mapping files, although the API for queries etc is nice to have too.
I'm very much in favour of the abstraction and agility you get from using an ORM - querying on the domain model for starters. That said theres times (like your system it seems) where the query the ORM layer generates just isn't predictable - and I admit sometimes I've pulled out an object query thats done something unexpected (missed all the indexes or something). Still have great faith in nHibernates (and by extension DBs performance though).
Havent touched SubSonic for a while - it didn't seem to do much more than basic CRUD. Really was irking me too - if I have to use a string identifier for anything - seems to defeat the whole type safety of a 'proper' ORM layer. (Not that DB is a lot better - it just has some const strings in Foo.Columns.Bar - but at least those are typesafe and synchronised to the schema so you get compile errors if the column is dropped or whatever).
The real WTF here is they are creating shitty domain objects by hand / code generation and will be hamstringed later by objects that can only C, R, U, or D themselves ;)
It took me about three months to get my last place off shitty DALs like this (which they did with code-generation) and onto Diamond Binding (Its easy to use, it musn't be enterprisey enough).
In ASP.Net you can use a LinkButton (which looks like a hyperlink, but causes a postback - which posts the form contents back for processing), or you can use a HyperLink which renders like a normal hyperlink tag (and obviously doesnt post form contents). So its really a case of using the wrong tool for the job.
My pet hate is people that use a LinkButton for navigation and then in the OnClick event handler pull a Response.Redirect(...). So it posts the whole form contents and viewstate back to the original page, goes thru all the initialization steps, starts handling postback events, hits the redirect (which they usually cant even be bothered with the force end execution flag - in this case it executes the entire bloody page apart from the render step), sends a redireciotn back to the client, which then asks for the new page.... :P
Crap.
Also build a precompiled regex object before you run the benchmark.
I guess the main difference is Replace looks tardy, but its just a heap allocation for a new string and a scan-and-copy blocks. Regex obviously isnt the tool for something that simple - I guess my point is that you dont need an industrial press to open a can of beans. (Unless you are trying to look cool)
This was a while ago... it was quite simple (obviously simple enough for replace to handle it) and was along the lines of stripping certain control characters out of strings for an absolutely shithouse parser a collegue wrote.
A WTF in itself, it was along the lines of replacing $1, $2 with parameters in a sql query. Kinda like a parameterized query, but difficult to use and buggy. So I had to strip $ signs out of user input, and a few others....
So you compare a regex that does an output = Regex.Replace(input, "[$ etc]", "") with a output = input.Replace("$", "").Replace().Replace().Replace()......;
Iterate thru that 10k times each and time it.
Incidently one thing I remember was using the Milliseconds instead of TotalMilliseconds. That had me really confused for a while.